kite 0.0.9 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +2 -5
- data/README.md +2 -2
- data/lib/kite/generate.rb +3 -0
- data/lib/kite/version.rb +1 -1
- data/tpl/aws/README.md +3 -0
- data/tpl/aws/bin/base/cleanup.sh.tt +1 -1
- data/tpl/aws/bin/concourse-deploy.sh.tt +1 -4
- data/tpl/aws/deployments/concourse/concourse.yml.tt +3 -3
- data/tpl/aws/docs/bosh.md +1 -1
- data/tpl/aws/docs/concourse.md +13 -2
- data/tpl/aws/docs/kops.md +38 -0
- data/tpl/aws/docs/vault.md +3 -1
- data/tpl/gcp/README.md +4 -0
- data/tpl/gcp/bin/base/cleanup.sh.tt +1 -1
- data/tpl/gcp/bin/concourse-deploy.sh.tt +1 -1
- data/tpl/gcp/bin/vault-deploy.sh.tt +0 -3
- data/tpl/gcp/deployments/bosh/cloud-config.yml.tt +2 -0
- data/tpl/gcp/deployments/concourse/concourse.yml.tt +3 -3
- data/tpl/gcp/docs/concourse.md +13 -2
- data/tpl/gcp/docs/vault.md +3 -1
- data/tpl/gcp/terraform/main.tf +1 -0
- data/tpl/skel/README.md.tt +1 -1
- data/tpl/skel/config/cloud.yml +0 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e147a21c1ce86a6b496f71c358b65d0f135fd150
|
4
|
+
data.tar.gz: 9778352a81fd5503e02d63cccd30258259ecfb9e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b73426bd0445b7d1cc51962ec5b6b0f56d801d0172d8802171638c1481c6e11cb9aaeaaa2c2ad0684a211a8b0fac6c7808920d3e306a6b4df16e28a94e2e769
|
7
|
+
data.tar.gz: b57f47dd619107714edae4673659520eb128e185c8c29ce5aee3b5a231005133b61569615a57e08d76ef7023526020fb5cb3b8f9e638e4403c98caa73e2b14ef
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
## [
|
4
|
-
|
5
|
-
[Full Changelog](https://github.com/helios-technologies/kite/compare/v0.0.8...HEAD)
|
3
|
+
## [v0.0.9](https://github.com/helios-technologies/kite/tree/v0.0.9) (2017-09-29)
|
4
|
+
[Full Changelog](https://github.com/helios-technologies/kite/compare/v0.0.8...v0.0.9)
|
6
5
|
|
7
6
|
**Closed issues:**
|
8
7
|
|
@@ -84,5 +83,3 @@
|
|
84
83
|
|
85
84
|
## [v0.0.2](https://github.com/helios-technologies/kite/tree/v0.0.2) (2017-08-24)
|
86
85
|
|
87
|
-
|
88
|
-
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
data/README.md
CHANGED
@@ -46,10 +46,10 @@ $ kite new PROJECT_NAME
|
|
46
46
|
|
47
47
|
### Generate your infrastructure using terraform
|
48
48
|
|
49
|
-
Generate the cloud IaC needed with
|
49
|
+
Generate the cloud IaC needed with
|
50
50
|
|
51
51
|
```
|
52
|
-
$ kite generate --
|
52
|
+
$ kite generate cloud --provider=aws|gcp
|
53
53
|
```
|
54
54
|
|
55
55
|
you can now review and apply your terraform files.
|
data/lib/kite/generate.rb
CHANGED
@@ -14,10 +14,12 @@ module Kite
|
|
14
14
|
when 'aws'
|
15
15
|
directory('aws/terraform', 'terraform')
|
16
16
|
copy_file('aws/README.md', 'README.md', force: true)
|
17
|
+
copy_file('aws/docs/kops.md', 'docs/kops.md')
|
17
18
|
|
18
19
|
directory('aws/bin/base', 'bin')
|
19
20
|
chmod('bin/bootstrap.sh', 0755)
|
20
21
|
chmod('bin/cleanup.sh', 0755)
|
22
|
+
chmod('bin/setup-tunnel.sh', 0755)
|
21
23
|
|
22
24
|
when 'gcp'
|
23
25
|
directory('gcp/terraform', 'terraform')
|
@@ -27,6 +29,7 @@ module Kite
|
|
27
29
|
directory('gcp/bin/base', 'bin')
|
28
30
|
chmod('bin/bootstrap.sh', 0755)
|
29
31
|
chmod('bin/cleanup.sh', 0755)
|
32
|
+
chmod('bin/setup-tunnel.sh', 0755)
|
30
33
|
|
31
34
|
else
|
32
35
|
say 'Cloud provider not specified'
|
data/lib/kite/version.rb
CHANGED
data/tpl/aws/README.md
CHANGED
@@ -7,6 +7,9 @@ Apply terraform code
|
|
7
7
|
pushd terraform && terraform init && terraform apply && popd
|
8
8
|
```
|
9
9
|
|
10
|
+
[Note]
|
11
|
+
To destroy Bastion later, use `terraform destroy -target aws_instance.bastion`
|
12
|
+
|
10
13
|
Render BOSH manifest and related files
|
11
14
|
```
|
12
15
|
kite render manifest bosh --cloud aws
|
@@ -16,4 +16,4 @@ bosh delete-env deployments/bosh/bosh.yml \
|
|
16
16
|
pushd terraform && terraform destroy && popd
|
17
17
|
|
18
18
|
# Remove files generated by kite
|
19
|
-
rm -rf terraform deployments config/{creds.yml,
|
19
|
+
rm -rf terraform deployments docs config/{creds.yml,bosh-vars.yml,jumpbox.key} bin/*.sh
|
@@ -2,13 +2,10 @@
|
|
2
2
|
|
3
3
|
set -xe
|
4
4
|
|
5
|
-
# Render Concourse-related files
|
6
|
-
kite render manifest concourse --cloud aws
|
7
|
-
|
8
5
|
# Upload necessary stemcells and releases
|
9
6
|
bosh -e <%= @values['bosh']['name'] %> upload-stemcell https://bosh.io/d/stemcells/bosh-aws-xen-hvm-ubuntu-trusty-go_agent
|
10
7
|
bosh -e <%= @values['bosh']['name'] %> upload-release https://bosh.io/d/github.com/concourse/concourse
|
11
8
|
bosh -e <%= @values['bosh']['name'] %> upload-release https://bosh.io/d/github.com/cloudfoundry-incubator/garden-runc-release
|
12
9
|
|
13
10
|
# Deploy Concourse
|
14
|
-
bosh -e <%= @values['bosh']['name'] %> -d concourse deploy deployments/concourse/concourse.yml
|
11
|
+
bosh -e <%= @values['bosh']['name'] %> -d concourse deploy deployments/concourse/concourse.yml -v vault_token=$1
|
@@ -23,13 +23,13 @@ instance_groups:
|
|
23
23
|
bind_port: 80
|
24
24
|
external_url: <%= @values['concourse']['url'] %>
|
25
25
|
basic_auth_username: <%= @values['concourse']['auth_username'] %>
|
26
|
-
basic_auth_password:
|
26
|
+
basic_auth_password: ((auth_password))
|
27
27
|
publicly_viewable: true
|
28
28
|
|
29
29
|
vault:
|
30
30
|
auth:
|
31
31
|
backend: token
|
32
|
-
client_token:
|
32
|
+
client_token: ((vault_token))
|
33
33
|
path_prefix: /concourse
|
34
34
|
url: "http://<%= @private_subnet[11] %>:8200" # assuming Vault is deployed first
|
35
35
|
|
@@ -53,7 +53,7 @@ instance_groups:
|
|
53
53
|
databases:
|
54
54
|
- name: *atc_db
|
55
55
|
role: admin
|
56
|
-
password:
|
56
|
+
password: ((db_password))
|
57
57
|
|
58
58
|
- name: worker
|
59
59
|
instances: 1
|
data/tpl/aws/docs/bosh.md
CHANGED
data/tpl/aws/docs/concourse.md
CHANGED
@@ -10,9 +10,20 @@
|
|
10
10
|
|
11
11
|
Fill out the "token" field in `deployments/concourse/concourse.yml` with root token received from `vault init`.
|
12
12
|
|
13
|
-
Deploy Concourse
|
13
|
+
Deploy Concourse by running the script with the required arguments
|
14
14
|
```
|
15
|
-
./bin/concourse-deploy.sh
|
15
|
+
./bin/concourse-deploy.sh *concourse_auth_password* *concourse_db_password* *vault_token*
|
16
|
+
```
|
17
|
+
|
18
|
+
### Connect GitHub oAuth
|
19
|
+
|
20
|
+
To configure GitHub oAuth, you'll first need to [create](https://developer.github.com/apps/building-integrations/setting-up-and-registering-oauth-apps/registering-oauth-apps) a GitHub oAuth app.
|
21
|
+
|
22
|
+
```
|
23
|
+
fly set-team -n concourse \
|
24
|
+
--github-auth-client-id D \
|
25
|
+
--github-auth-client-secret $CLIENT_SECRET \
|
26
|
+
--github-auth-team concourse/Pivotal
|
16
27
|
```
|
17
28
|
|
18
29
|
### Test
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#### KOPS
|
2
|
+
|
3
|
+
### Prerequisites
|
4
|
+
|
5
|
+
- [kubectl](https://github.com/kubernetes/kops/blob/master/docs/install.md#kubectl) installed
|
6
|
+
- [kops](https://github.com/kubernetes/kops/blob/master/docs/install.md) client installed
|
7
|
+
- SSH key generated(needed for accessing cluster's master)
|
8
|
+
- Amazon S3 bucket for storing cluster's state created
|
9
|
+
- Route 53 domain for cluster access
|
10
|
+
- IAM user with correct policies:
|
11
|
+
- AmazonEC2FullAccess
|
12
|
+
- AmazonRoute53FullAccess
|
13
|
+
- AmazonS3FullAccess
|
14
|
+
- IAMFullAccess
|
15
|
+
- AmazonVPCFullAccess
|
16
|
+
|
17
|
+
### Setup
|
18
|
+
|
19
|
+
Export AWS access keys and ID if you didn't before
|
20
|
+
```
|
21
|
+
export AWS_ACCESS_KEY_ID=<access key>
|
22
|
+
export AWS_SECRET_ACCESS_KEY=<secret key>
|
23
|
+
```
|
24
|
+
|
25
|
+
Create cluster configuration
|
26
|
+
```
|
27
|
+
kops create cluster --name *kops.example.com* --state "s3://kops-example-state-store" --zones *eu-central-1b* --ssh-public-key *path to SSH key*
|
28
|
+
```
|
29
|
+
|
30
|
+
Review and edit cluster configuration if needed
|
31
|
+
```
|
32
|
+
kops edit cluster --name *kops.example.com* --state "s3://kops-example-state-store"
|
33
|
+
```
|
34
|
+
|
35
|
+
Build the cluster
|
36
|
+
```
|
37
|
+
kops update cluster --name *kops.example.com* --state "s3://kops-example-state-store" --yes
|
38
|
+
```
|
data/tpl/aws/docs/vault.md
CHANGED
@@ -16,7 +16,7 @@ To deploy Vault, use `./bin/vault-deploy.sh`
|
|
16
16
|
|
17
17
|
### Connection
|
18
18
|
|
19
|
-
- Export your Vault's IP using `export VAULT_ADDR
|
19
|
+
- Export your Vault's IP using `export VAULT_ADDR=http://*vault_ip*:8200`
|
20
20
|
- Run `vault init` to initialize the vault
|
21
21
|
- Store the keys displayed after init
|
22
22
|
- Unseal the vault by running `vault unseal` three times using three keys from the previous step
|
@@ -31,3 +31,5 @@ To deploy Vault, use `./bin/vault-deploy.sh`
|
|
31
31
|
Before using Vault with Concourse you should mount a secrets backend with `vault mount -path=concourse kv`
|
32
32
|
|
33
33
|
To add new secrets accessible for Concourse use `vault write concourse/main/*secret_name* value="*secret_value*"`
|
34
|
+
|
35
|
+
#### It's recommended to create a separate token for Concourse by using `vault token-create`
|
data/tpl/gcp/README.md
CHANGED
@@ -7,11 +7,15 @@ Set path to your service account credentials:
|
|
7
7
|
export GOOGLE_CREDENTIALS=*~/credentials/service-account.json*
|
8
8
|
```
|
9
9
|
|
10
|
+
|
10
11
|
Apply terraform code
|
11
12
|
```
|
12
13
|
pushd terraform && terraform init && terraform apply && popd
|
13
14
|
```
|
14
15
|
|
16
|
+
[Note]
|
17
|
+
To destroy Bastion later, use `terraform destroy -target google_compute_instance.bastion`
|
18
|
+
|
15
19
|
Render BOSH manifest and related files
|
16
20
|
```
|
17
21
|
kite render manifest bosh --cloud gcp
|
@@ -17,4 +17,4 @@ bosh delete-env deployments/bosh/bosh.yml \
|
|
17
17
|
pushd terraform && terraform destroy && popd
|
18
18
|
|
19
19
|
# Remove files generated by kite
|
20
|
-
rm -rf terraform deployments config/{creds.yml,bosh_vars.yml,jumpbox.key} bin/*.sh
|
20
|
+
rm -rf terraform deployments docs config/{creds.yml,bosh_vars.yml,jumpbox.key} bin/*.sh
|
@@ -8,4 +8,4 @@ bosh -e <%= @values['bosh']['name'] %> upload-release https://github.com/concour
|
|
8
8
|
bosh -e <%= @values['bosh']['name'] %> upload-release https://github.com/concourse/concourse/releases/download/v3.4.1/garden-runc-1.6.0.tgz
|
9
9
|
|
10
10
|
# Deploy Concourse
|
11
|
-
bosh -e <%= @values['bosh']['name'] %> -d concourse deploy deployments/concourse/concourse.yml
|
11
|
+
bosh -e <%= @values['bosh']['name'] %> -d concourse deploy deployments/concourse/concourse.yml -v auth_password=$1 -v db_password=$2 -v vault_token=$3
|
@@ -2,9 +2,6 @@
|
|
2
2
|
|
3
3
|
set -xe
|
4
4
|
|
5
|
-
# Render Concourse-related files
|
6
|
-
kite render manifest vault --cloud gcp
|
7
|
-
|
8
5
|
# Upload necessary stemcells and releases
|
9
6
|
bosh -e <%= @values['bosh']['name'] %> upload-stemcell https://s3.amazonaws.com/bosh-core-stemcells/google/bosh-stemcell-3445.7-google-kvm-ubuntu-trusty-go_agent.tgz
|
10
7
|
bosh -e <%= @values['bosh']['name'] %> upload-release https://bosh.io/d/github.com/cloudfoundry-community/vault-boshrelease
|
@@ -25,13 +25,13 @@ instance_groups:
|
|
25
25
|
bind_port: 80
|
26
26
|
external_url: <%= @values['concourse']['url'] %>
|
27
27
|
basic_auth_username: <%= @values['concourse']['auth_username'] %>
|
28
|
-
basic_auth_password:
|
28
|
+
basic_auth_password: ((auth_password))
|
29
29
|
publicly_viewable: true
|
30
30
|
|
31
31
|
vault:
|
32
32
|
auth:
|
33
33
|
backend: token
|
34
|
-
client_token:
|
34
|
+
client_token: ((vault_token))
|
35
35
|
path_prefix: /concourse
|
36
36
|
url: "http://<%= @private_subnet[11] %>:8200" # expecting Vault to be deployed first
|
37
37
|
|
@@ -55,7 +55,7 @@ instance_groups:
|
|
55
55
|
databases:
|
56
56
|
- name: *atc_db
|
57
57
|
role: admin
|
58
|
-
password:
|
58
|
+
password: ((db_password))
|
59
59
|
|
60
60
|
- name: worker
|
61
61
|
instances: 1
|
data/tpl/gcp/docs/concourse.md
CHANGED
@@ -10,9 +10,20 @@
|
|
10
10
|
|
11
11
|
Fill out the "token" field in `deployments/concourse/concourse.yml` with root token received from `vault init`.
|
12
12
|
|
13
|
-
Deploy Concourse
|
13
|
+
Deploy Concourse by running the script with the required arguments
|
14
14
|
```
|
15
|
-
./bin/concourse-deploy.sh
|
15
|
+
./bin/concourse-deploy.sh *concourse_auth_password* *concourse_db_password* *vault_token*
|
16
|
+
```
|
17
|
+
|
18
|
+
### Connect GitHub oAuth
|
19
|
+
|
20
|
+
To configure GitHub oAuth, you'll first need to [create](https://developer.github.com/apps/building-integrations/setting-up-and-registering-oauth-apps/registering-oauth-apps) a GitHub oAuth app.
|
21
|
+
|
22
|
+
```
|
23
|
+
fly set-team -n concourse \
|
24
|
+
--github-auth-client-id D \
|
25
|
+
--github-auth-client-secret $CLIENT_SECRET \
|
26
|
+
--github-auth-team concourse/Pivotal
|
16
27
|
```
|
17
28
|
|
18
29
|
### Test
|
data/tpl/gcp/docs/vault.md
CHANGED
@@ -16,7 +16,7 @@ To deploy Vault, use `./bin/vault-deploy.sh`
|
|
16
16
|
|
17
17
|
### Connection
|
18
18
|
|
19
|
-
- Export your Vault's IP using `export VAULT_ADDR
|
19
|
+
- Export your Vault's IP using `export VAULT_ADDR=http://*vault_ip*:8200`
|
20
20
|
- Run `vault init` to initialize the vault
|
21
21
|
- Store the keys displayed after init
|
22
22
|
- Unseal the vault by running `vault unseal` three times using three keys from the previous step
|
@@ -31,3 +31,5 @@ To deploy Vault, use `./bin/vault-deploy.sh`
|
|
31
31
|
Before using Vault with Concourse you should mount a secrets backend with `vault mount -path=concourse kv`
|
32
32
|
|
33
33
|
To add new secrets accessible for Concourse use `vault write concourse/main/*secret_name* value="*secret_value*"`
|
34
|
+
|
35
|
+
#### It's recommended to create a separate token for Concourse by using `vault token-create`
|
data/tpl/gcp/terraform/main.tf
CHANGED
data/tpl/skel/README.md.tt
CHANGED
data/tpl/skel/config/cloud.yml
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Louis Bellet
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09
|
11
|
+
date: 2017-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -143,6 +143,7 @@ files:
|
|
143
143
|
- tpl/aws/deployments/vault/vault.yml.erb
|
144
144
|
- tpl/aws/docs/bosh.md
|
145
145
|
- tpl/aws/docs/concourse.md
|
146
|
+
- tpl/aws/docs/kops.md
|
146
147
|
- tpl/aws/docs/vault.md
|
147
148
|
- tpl/aws/terraform/main.tf.tt
|
148
149
|
- tpl/aws/terraform/network.tf.tt
|