kite 0.2.0 → 1.0.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 +5 -5
- data/CHANGELOG.md +130 -66
- data/LICENSE.md +202 -0
- data/README.md +35 -11
- data/bin/concourse/out +16 -20
- data/docs/kite-concourse-resource.md +45 -0
- data/kite.gemspec +1 -0
- data/lib/kite.rb +3 -1
- data/lib/kite/cloud.rb +1 -0
- data/lib/kite/core.rb +8 -2
- data/lib/kite/generate.rb +12 -46
- data/lib/kite/helpers.rb +0 -72
- data/lib/kite/helpers/concourse.rb +3 -2
- data/lib/kite/module.rb +76 -0
- data/lib/kite/terraform.rb +45 -0
- data/lib/kite/version.rb +1 -1
- data/tpl/aws/environment/main.tf.tt +5 -0
- data/tpl/aws/environment/s3.tf.tt +13 -0
- data/tpl/gcp/environment/gcs.tf.tt +18 -0
- data/tpl/gcp/environment/main.tf.tt +5 -0
- data/tpl/gcp/environment/outputs.tf.tt +5 -0
- data/tpl/service/%output_path%/pipelines/review.yml.tt +55 -37
- data/tpl/service/%output_path%/pipelines/tasks/create-pull-requests-tag.yml.tt +1 -1
- data/tpl/service/%output_path%/pipelines/tasks/create-repository-tag.yml.tt +1 -1
- data/tpl/service/%output_path%/pipelines/tasks/run-unit.yml.tt +7 -0
- data/tpl/service/Makefile.tt +11 -7
- data/tpl/service/docs/getting-started.md +73 -0
- data/tpl/service/docs/service.md +101 -0
- data/tpl/skel/Gemfile.tt +0 -9
- data/tpl/skel/config/cloud.yml +11 -66
- metadata +29 -88
- data/lib/kite/render.rb +0 -116
- data/tpl/aws/README.md +0 -52
- data/tpl/aws/bin/base/bootstrap.sh +0 -35
- data/tpl/aws/bin/base/cleanup.sh.tt +0 -19
- data/tpl/aws/bin/base/set-env.sh.tt +0 -7
- data/tpl/aws/bin/base/setup-tunnel.sh.tt +0 -4
- data/tpl/aws/bin/bosh-install.sh.tt +0 -23
- data/tpl/aws/bin/concourse-deploy.sh.tt +0 -14
- data/tpl/aws/bin/ingress-deploy.sh.tt +0 -7
- data/tpl/aws/bin/ingress-update.sh.tt +0 -7
- data/tpl/aws/bin/kops-delete.sh.erb +0 -5
- data/tpl/aws/bin/kops-deploy.sh.erb +0 -11
- data/tpl/aws/bin/oauth-deploy.sh.tt +0 -17
- data/tpl/aws/bin/prometheus-deploy.sh.tt +0 -23
- data/tpl/aws/bin/vault-deploy.sh.tt +0 -10
- data/tpl/aws/bosh-vars.yml.erb +0 -12
- data/tpl/aws/config/oauth.yml +0 -59
- data/tpl/aws/deployments/bosh/bosh.yml +0 -144
- data/tpl/aws/deployments/bosh/cloud-config.yml.tt +0 -86
- data/tpl/aws/deployments/bosh/cpi.yml +0 -98
- data/tpl/aws/deployments/bosh/jumpbox-user.yml +0 -27
- data/tpl/aws/deployments/concourse/concourse.yml.tt +0 -98
- data/tpl/aws/deployments/ingress/ingress.yml.erb +0 -78
- data/tpl/aws/deployments/oauth/oauth.yml.tt +0 -95
- data/tpl/aws/deployments/prometheus/monitor-bosh.yml +0 -518
- data/tpl/aws/deployments/prometheus/monitor-kubernetes.yml +0 -30
- data/tpl/aws/deployments/prometheus/prometheus.yml.tt +0 -184
- data/tpl/aws/deployments/vault/vault.yml.erb +0 -38
- data/tpl/aws/docs/bosh.md +0 -31
- data/tpl/aws/docs/concourse.md +0 -41
- data/tpl/aws/docs/ingress.md +0 -14
- data/tpl/aws/docs/kops.md +0 -35
- data/tpl/aws/docs/oauth.md +0 -24
- data/tpl/aws/docs/prometheus.md +0 -31
- data/tpl/aws/docs/vault.md +0 -35
- data/tpl/aws/terraform/kite_bucket.tf +0 -8
- data/tpl/aws/terraform/main.tf.tt +0 -36
- data/tpl/aws/terraform/network.tf.tt +0 -252
- data/tpl/aws/terraform/outputs.tf +0 -19
- data/tpl/aws/terraform/terraform.tfvars.tt +0 -21
- data/tpl/aws/terraform/variables.tf +0 -73
- data/tpl/gcp/README.md +0 -54
- data/tpl/gcp/bin/base/bootstrap.sh +0 -35
- data/tpl/gcp/bin/base/cleanup.sh.tt +0 -20
- data/tpl/gcp/bin/base/set-env.sh.tt +0 -10
- data/tpl/gcp/bin/base/setup-tunnel.sh.tt +0 -13
- data/tpl/gcp/bin/bosh-install.sh.tt +0 -22
- data/tpl/gcp/bin/concourse-deploy.sh.tt +0 -14
- data/tpl/gcp/bin/ingress-deploy.sh.tt +0 -7
- data/tpl/gcp/bin/ingress-update.sh.tt +0 -7
- data/tpl/gcp/bin/oauth-deploy.sh.tt +0 -19
- data/tpl/gcp/bin/prometheus-deploy.sh.tt +0 -23
- data/tpl/gcp/bin/vault-deploy.sh.tt +0 -10
- data/tpl/gcp/bosh-vars.yml.erb +0 -9
- data/tpl/gcp/config/oauth.yml +0 -59
- data/tpl/gcp/deployments/bosh/bosh.yml +0 -144
- data/tpl/gcp/deployments/bosh/cloud-config.yml.tt +0 -73
- data/tpl/gcp/deployments/bosh/cpi.yml +0 -69
- data/tpl/gcp/deployments/bosh/jumpbox-user.yml +0 -27
- data/tpl/gcp/deployments/concourse/concourse.yml.tt +0 -104
- data/tpl/gcp/deployments/concourse/test/test-credentials.yml +0 -3
- data/tpl/gcp/deployments/concourse/test/test-pipeline.yml +0 -24
- data/tpl/gcp/deployments/ingress/ingress.yml.erb +0 -111
- data/tpl/gcp/deployments/oauth/oauth.yml.tt +0 -95
- data/tpl/gcp/deployments/prometheus/monitor-bosh.yml +0 -518
- data/tpl/gcp/deployments/prometheus/monitor-kubernetes.yml +0 -30
- data/tpl/gcp/deployments/prometheus/prometheus.yml +0 -183
- data/tpl/gcp/deployments/vault/vault.yml.erb +0 -37
- data/tpl/gcp/docs/bosh.md +0 -36
- data/tpl/gcp/docs/concourse.md +0 -41
- data/tpl/gcp/docs/ingress.md +0 -12
- data/tpl/gcp/docs/oauth.md +0 -24
- data/tpl/gcp/docs/prometheus.md +0 -27
- data/tpl/gcp/docs/vault.md +0 -36
- data/tpl/gcp/terraform/gcs.tf.tt +0 -18
- data/tpl/gcp/terraform/main.tf +0 -70
- data/tpl/gcp/terraform/network.tf +0 -52
- data/tpl/gcp/terraform/outputs.tf +0 -7
- data/tpl/gcp/terraform/terraform.tfvars.tt +0 -15
- data/tpl/gcp/terraform/variables.tf +0 -37
- data/tpl/service/%output_path%/pipelines/tasks/helm-deploy.yml.tt +0 -22
- data/tpl/service/%output_path%/pipelines/tasks/run-master-tests.yml.tt +0 -12
- data/tpl/service/%output_path%/pipelines/tasks/run-pr-tests.yml.tt +0 -12
- data/tpl/skel/docs/index.md.tt +0 -0
- data/tpl/skel/docs/quickstart.md.tt +0 -0
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# This file assumes bosh_exporter based Service Discovery is being used: ./monitor-bosh.yml
|
|
2
|
-
|
|
3
|
-
# Exporter jobs
|
|
4
|
-
- type: replace
|
|
5
|
-
path: /instance_groups/name=prometheus/jobs/-
|
|
6
|
-
value:
|
|
7
|
-
name: kube_state_metrics_exporter
|
|
8
|
-
release: prometheus
|
|
9
|
-
properties:
|
|
10
|
-
kube_state_metrics_exporter:
|
|
11
|
-
apiserver: "((kubernetes_apiserver))"
|
|
12
|
-
kubeconfig: ((kubernetes_kubeconfig))
|
|
13
|
-
|
|
14
|
-
# Prometheus Alerts
|
|
15
|
-
- type: replace
|
|
16
|
-
path: /instance_groups/name=prometheus/jobs/name=kubernetes_alerts?/release
|
|
17
|
-
value: prometheus
|
|
18
|
-
|
|
19
|
-
- type: replace
|
|
20
|
-
path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/rule_files/-
|
|
21
|
-
value: /var/vcap/jobs/kubernetes_alerts/*.alerts
|
|
22
|
-
|
|
23
|
-
# Grafana Dashboards
|
|
24
|
-
- type: replace
|
|
25
|
-
path: /instance_groups/name=grafana/jobs/name=kubernetes_dashboards?/release
|
|
26
|
-
value: prometheus
|
|
27
|
-
|
|
28
|
-
- type: replace
|
|
29
|
-
path: /instance_groups/name=grafana/jobs/name=grafana/properties/grafana/prometheus/dashboard_files/-
|
|
30
|
-
value: /var/vcap/jobs/kubernetes_dashboards/*.json
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
name: prometheus
|
|
2
|
-
|
|
3
|
-
instance_groups:
|
|
4
|
-
- name: alertmanager
|
|
5
|
-
azs:
|
|
6
|
-
- z1
|
|
7
|
-
instances: 1
|
|
8
|
-
vm_type: default
|
|
9
|
-
persistent_disk_type: default
|
|
10
|
-
stemcell: default
|
|
11
|
-
networks:
|
|
12
|
-
- name: platform_net
|
|
13
|
-
static_ips: [<%= @private_subnet[15] %>]
|
|
14
|
-
jobs:
|
|
15
|
-
- name: alertmanager
|
|
16
|
-
release: prometheus
|
|
17
|
-
properties:
|
|
18
|
-
alertmanager:
|
|
19
|
-
mesh:
|
|
20
|
-
password: ((alertmanager_mesh_password))
|
|
21
|
-
route:
|
|
22
|
-
receiver: default
|
|
23
|
-
receivers:
|
|
24
|
-
- name: default
|
|
25
|
-
test_alert:
|
|
26
|
-
daily: true
|
|
27
|
-
|
|
28
|
-
- name: prometheus
|
|
29
|
-
azs:
|
|
30
|
-
- z1
|
|
31
|
-
instances: 1
|
|
32
|
-
vm_type: default
|
|
33
|
-
persistent_disk_type: default
|
|
34
|
-
stemcell: default
|
|
35
|
-
networks:
|
|
36
|
-
- name: platform_net
|
|
37
|
-
static_ips: [<%= @private_subnet[16] %>]
|
|
38
|
-
jobs:
|
|
39
|
-
- name: prometheus
|
|
40
|
-
release: prometheus
|
|
41
|
-
properties:
|
|
42
|
-
prometheus:
|
|
43
|
-
rule_files:
|
|
44
|
-
- /var/vcap/jobs/postgres_alerts/*.alerts
|
|
45
|
-
- /var/vcap/jobs/prometheus_alerts/*.alerts
|
|
46
|
-
scrape_configs:
|
|
47
|
-
- job_name: prometheus
|
|
48
|
-
static_configs:
|
|
49
|
-
- targets:
|
|
50
|
-
- localhost:9090
|
|
51
|
-
- name: postgres_alerts
|
|
52
|
-
release: prometheus
|
|
53
|
-
- name: prometheus_alerts
|
|
54
|
-
release: prometheus
|
|
55
|
-
|
|
56
|
-
- name: database
|
|
57
|
-
azs:
|
|
58
|
-
- z1
|
|
59
|
-
instances: 1
|
|
60
|
-
vm_type: default
|
|
61
|
-
persistent_disk_type: default
|
|
62
|
-
stemcell: default
|
|
63
|
-
networks:
|
|
64
|
-
- name: platform_net
|
|
65
|
-
jobs:
|
|
66
|
-
- name: postgres
|
|
67
|
-
release: postgres
|
|
68
|
-
properties:
|
|
69
|
-
databases:
|
|
70
|
-
port: 5432
|
|
71
|
-
databases:
|
|
72
|
-
- name: grafana
|
|
73
|
-
citext: true
|
|
74
|
-
roles:
|
|
75
|
-
- name: grafana
|
|
76
|
-
password: ((postgres_grafana_password))
|
|
77
|
-
- name: postgres_exporter
|
|
78
|
-
release: prometheus
|
|
79
|
-
properties:
|
|
80
|
-
postgres_exporter:
|
|
81
|
-
datasource_name: postgresql://grafana:((postgres_grafana_password))@127.0.0.1:5432/?sslmode=disable
|
|
82
|
-
|
|
83
|
-
- name: grafana
|
|
84
|
-
azs:
|
|
85
|
-
- z1
|
|
86
|
-
instances: 1
|
|
87
|
-
vm_type: default
|
|
88
|
-
persistent_disk_type: default
|
|
89
|
-
stemcell: default
|
|
90
|
-
networks:
|
|
91
|
-
- name: platform_net
|
|
92
|
-
static_ips: [<%= @private_subnet[17] %>]
|
|
93
|
-
jobs:
|
|
94
|
-
- name: grafana
|
|
95
|
-
release: prometheus
|
|
96
|
-
properties:
|
|
97
|
-
grafana:
|
|
98
|
-
database:
|
|
99
|
-
type: postgres
|
|
100
|
-
port: 5432
|
|
101
|
-
name: grafana
|
|
102
|
-
user: grafana
|
|
103
|
-
password: ((postgres_grafana_password))
|
|
104
|
-
session:
|
|
105
|
-
provider: postgres
|
|
106
|
-
provider_port: 5432
|
|
107
|
-
provider_name: grafana
|
|
108
|
-
provider_user: grafana
|
|
109
|
-
provider_password: ((postgres_grafana_password))
|
|
110
|
-
security:
|
|
111
|
-
admin_user: admin
|
|
112
|
-
admin_password: ((grafana_password))
|
|
113
|
-
secret_key: ((grafana_secret_key))
|
|
114
|
-
dashboards:
|
|
115
|
-
json:
|
|
116
|
-
enabled: true
|
|
117
|
-
prometheus:
|
|
118
|
-
dashboard_files:
|
|
119
|
-
- /var/vcap/jobs/grafana_dashboards/*.json
|
|
120
|
-
- /var/vcap/jobs/postgres_dashboards/*.json
|
|
121
|
-
- /var/vcap/jobs/prometheus_dashboards/*.json
|
|
122
|
-
- name: grafana_dashboards
|
|
123
|
-
release: prometheus
|
|
124
|
-
- name: postgres_dashboards
|
|
125
|
-
release: prometheus
|
|
126
|
-
- name: prometheus_dashboards
|
|
127
|
-
release: prometheus
|
|
128
|
-
|
|
129
|
-
- name: nginx
|
|
130
|
-
azs:
|
|
131
|
-
- z1
|
|
132
|
-
instances: 1
|
|
133
|
-
vm_type: default
|
|
134
|
-
stemcell: default
|
|
135
|
-
networks:
|
|
136
|
-
- name: platform_net
|
|
137
|
-
static_ips: [<%= @private_subnet[18] %>]
|
|
138
|
-
jobs:
|
|
139
|
-
- name: nginx
|
|
140
|
-
release: prometheus
|
|
141
|
-
properties:
|
|
142
|
-
nginx:
|
|
143
|
-
alertmanager:
|
|
144
|
-
auth_username: admin
|
|
145
|
-
auth_password: ((alertmanager_password))
|
|
146
|
-
prometheus:
|
|
147
|
-
auth_username: admin
|
|
148
|
-
auth_password: ((prometheus_password))
|
|
149
|
-
|
|
150
|
-
variables:
|
|
151
|
-
- name: alertmanager_password
|
|
152
|
-
type: password
|
|
153
|
-
- name: alertmanager_mesh_password
|
|
154
|
-
type: password
|
|
155
|
-
- name: prometheus_password
|
|
156
|
-
type: password
|
|
157
|
-
- name: postgres_grafana_password
|
|
158
|
-
type: password
|
|
159
|
-
- name: grafana_password
|
|
160
|
-
type: password
|
|
161
|
-
- name: grafana_secret_key
|
|
162
|
-
type: password
|
|
163
|
-
|
|
164
|
-
update:
|
|
165
|
-
canaries: 1
|
|
166
|
-
max_in_flight: 32
|
|
167
|
-
canary_watch_time: 1000-100000
|
|
168
|
-
update_watch_time: 1000-100000
|
|
169
|
-
serial: false
|
|
170
|
-
|
|
171
|
-
stemcells:
|
|
172
|
-
- alias: default
|
|
173
|
-
os: ubuntu-trusty
|
|
174
|
-
version: latest
|
|
175
|
-
|
|
176
|
-
releases:
|
|
177
|
-
- name: postgres
|
|
178
|
-
version: "20"
|
|
179
|
-
url: https://bosh.io/d/github.com/cloudfoundry/postgres-release?v=20
|
|
180
|
-
sha1: 3f378bcab294e20316171d4e656636df88763664
|
|
181
|
-
- name: prometheus
|
|
182
|
-
version: 18.6.2
|
|
183
|
-
url: https://github.com/cloudfoundry-community/prometheus-boshrelease/releases/download/v18.6.2/prometheus-18.6.2.tgz
|
|
184
|
-
sha1: f6b7ed381a28ce8fef99017a89e1122b718d5556
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: vault
|
|
3
|
-
|
|
4
|
-
releases:
|
|
5
|
-
- name: vault
|
|
6
|
-
version: latest
|
|
7
|
-
|
|
8
|
-
instance_groups:
|
|
9
|
-
- name: vault
|
|
10
|
-
instances: 1
|
|
11
|
-
vm_type: default
|
|
12
|
-
azs: [z1]
|
|
13
|
-
stemcell: trusty
|
|
14
|
-
networks:
|
|
15
|
-
- name: platform_net
|
|
16
|
-
static_ips: [<%= @private_subnet[11] %>]
|
|
17
|
-
|
|
18
|
-
jobs:
|
|
19
|
-
- name: vault
|
|
20
|
-
release: vault
|
|
21
|
-
properties:
|
|
22
|
-
vault:
|
|
23
|
-
ha:
|
|
24
|
-
redirect: ~
|
|
25
|
-
storage:
|
|
26
|
-
use_file: true
|
|
27
|
-
|
|
28
|
-
update:
|
|
29
|
-
canaries: 1
|
|
30
|
-
max_in_flight: 1
|
|
31
|
-
serial: false
|
|
32
|
-
canary_watch_time: 1000-60000
|
|
33
|
-
update_watch_time: 1000-60000
|
|
34
|
-
|
|
35
|
-
stemcells:
|
|
36
|
-
- alias: trusty
|
|
37
|
-
name: bosh-aws-xen-hvm-ubuntu-trusty-go_agent
|
|
38
|
-
version: latest
|
data/tpl/aws/docs/bosh.md
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
#### [Back](../README.md)
|
|
2
|
-
|
|
3
|
-
## BOSH
|
|
4
|
-
|
|
5
|
-
### Prerequisites
|
|
6
|
-
|
|
7
|
-
- Terraform IaC applied
|
|
8
|
-
- [BOSH CLI v2](https://bosh.io/docs/cli-v2.html#install) installed
|
|
9
|
-
|
|
10
|
-
### Setup
|
|
11
|
-
|
|
12
|
-
Render bosh deployment
|
|
13
|
-
```
|
|
14
|
-
kite render manifest bosh --cloud=aws
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
Setup tunnel
|
|
18
|
-
```
|
|
19
|
-
. bin/setup-tunnel.sh
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Install BOSH
|
|
23
|
-
```
|
|
24
|
-
./bin/bosh-install.sh
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Connect to the Director
|
|
28
|
-
```
|
|
29
|
-
. bin/set-env.sh
|
|
30
|
-
|
|
31
|
-
```
|
data/tpl/aws/docs/concourse.md
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
#### [Back](../README.md)
|
|
2
|
-
|
|
3
|
-
## Concourse
|
|
4
|
-
|
|
5
|
-
### Prerequisites
|
|
6
|
-
|
|
7
|
-
- Vault [deployed and initialized](vault.md)
|
|
8
|
-
|
|
9
|
-
### Setup
|
|
10
|
-
|
|
11
|
-
Fill out the "token" field in `deployments/concourse/concourse.yml` with root token received from `vault init`.
|
|
12
|
-
|
|
13
|
-
Deploy Concourse by running the script with the Vault token as argument(strong passwords for Concourse auth and db will be generated automatically)
|
|
14
|
-
```
|
|
15
|
-
./bin/concourse-deploy.sh *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
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Test
|
|
30
|
-
|
|
31
|
-
To run a test Concourse job:
|
|
32
|
-
|
|
33
|
-
- Go to test folder: `cd deployments/concourse/test`
|
|
34
|
-
- Fill out `test-credentials.yml`
|
|
35
|
-
- Add necessary secrets to your Vault(see [docs/vault.md](docs/vault.md))
|
|
36
|
-
- Download the `fly` client from Concourse web panel and add it to your PATH: `mv *path_to_fly* /usr/local/bin`
|
|
37
|
-
- Login to Concourse using the `fly` client: `fly -t ci --concourse-url *concourse-url*`
|
|
38
|
-
- Create a test pipeline with `fly set-pipeline -t ci -c test-pipeline.yml -p test --load-vars-from test-credentials.yml -n`
|
|
39
|
-
- Unpause pipeline: `fly unpause-pipeline -t ci -p test`
|
|
40
|
-
- Trigger and unpause the test job: `fly trigger-job -t ci -j test/test-publish`
|
|
41
|
-
- See the results on Concourse web panel or use: `fly watch -p test -j test/test-publish`
|
data/tpl/aws/docs/ingress.md
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
#### [Back](../README.md)
|
|
2
|
-
|
|
3
|
-
## Ingress
|
|
4
|
-
|
|
5
|
-
### Prerequisites
|
|
6
|
-
|
|
7
|
-
- BOSH environment [ready](bosh.md)
|
|
8
|
-
- All hostnames resolve to the VIP configured in cloud.yml (this is mandatory to issue SSL certificates)
|
|
9
|
-
|
|
10
|
-
### Deployment
|
|
11
|
-
|
|
12
|
-
To deploy Ingress, use `./bin/ingress-deploy.sh`
|
|
13
|
-
|
|
14
|
-
After each new component deployed, run `./bin/ingress-update`
|
data/tpl/aws/docs/kops.md
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
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
|
-
Deploy the `kops` cluster
|
|
26
|
-
```
|
|
27
|
-
./bin/kops-deploy.sh
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Teardown
|
|
31
|
-
|
|
32
|
-
To tear down the kops cluster you've created, just run
|
|
33
|
-
```
|
|
34
|
-
./bin/kops-delete.sh
|
|
35
|
-
```
|
data/tpl/aws/docs/oauth.md
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
#### [Back](../README.md)
|
|
2
|
-
|
|
3
|
-
## OAuth (UAA)
|
|
4
|
-
|
|
5
|
-
### Configuration
|
|
6
|
-
|
|
7
|
-
If you want to add initial groups and users, change oauth look,
|
|
8
|
-
configure mail, etc. - you should edit `config/oauth.yml`.
|
|
9
|
-
|
|
10
|
-
Here are links to uaa config documentation:
|
|
11
|
-
|
|
12
|
-
* __users:__ [uaa.scim.users](https://bosh.io/jobs/uaa?source=github.com/cloudfoundry/uaa-release&version=52#p=uaa.scim.users)
|
|
13
|
-
* __groups:__ [uaa.scim.groups](https://bosh.io/jobs/uaa?source=github.com/cloudfoundry/uaa-release&version=52#p=uaa.scim.groups)
|
|
14
|
-
* __oauth clients:__ [uaa.clients](https://bosh.io/jobs/uaa?source=github.com/cloudfoundry/uaa-release&version=52#p=uaa.clients)
|
|
15
|
-
* __theming:__ [login.branding](https://bosh.io/jobs/uaa?source=github.com/cloudfoundry/uaa-release&version=52#p=login.branding)
|
|
16
|
-
* __email notifications:__ [login.smtp](https://bosh.io/jobs/uaa?source=github.com/cloudfoundry/uaa-release&version=52#p=login.smtp)
|
|
17
|
-
|
|
18
|
-
### Deployment
|
|
19
|
-
|
|
20
|
-
After editing config, run `./bin/oauth-deploy.sh`
|
|
21
|
-
|
|
22
|
-
### Usage
|
|
23
|
-
|
|
24
|
-
To check if OAuth works, visit [<%= @values['oauth']['hostname'] %>](<%= @values['oauth']['url'] %>).
|
data/tpl/aws/docs/prometheus.md
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
#### [Back](../README.md)
|
|
2
|
-
|
|
3
|
-
## Prometheus
|
|
4
|
-
|
|
5
|
-
### Prerequisites
|
|
6
|
-
|
|
7
|
-
- BOSH environment [ready](bosh.md)
|
|
8
|
-
- Kops cluster [deployed](kops.md)
|
|
9
|
-
|
|
10
|
-
### Setup
|
|
11
|
-
|
|
12
|
-
Enter path to your Kubernetes config in `config/cloud.yml` and add the Kubernetes API server address to `config/bosh_vars.yml`.
|
|
13
|
-
|
|
14
|
-
Afterwards, deploy Prometheus
|
|
15
|
-
```
|
|
16
|
-
./bin/prometheus-deploy.sh
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
### Access
|
|
20
|
-
|
|
21
|
-
After the deployment process is done, you can reach each Prometheus' component's web UI at:
|
|
22
|
-
|
|
23
|
-
If you have [Ingress](ingress.md) deployed and DNS record created, each Prometheus stack component should be accessible by its respective address.
|
|
24
|
-
|
|
25
|
-
Without Ingress:
|
|
26
|
-
|
|
27
|
-
- AlertManager: http://10.0.0.18:9093
|
|
28
|
-
- Grafana: http://10.0.0.18:3000
|
|
29
|
-
- Prometheus: http://10.0.0.18:9090
|
|
30
|
-
|
|
31
|
-
You can find related credentials in `config/creds.yml`
|
data/tpl/aws/docs/vault.md
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
#### [Back](../README.md)
|
|
2
|
-
|
|
3
|
-
## Vault
|
|
4
|
-
|
|
5
|
-
### Prerequisites
|
|
6
|
-
|
|
7
|
-
Before using Vault, you should have the client installed:
|
|
8
|
-
|
|
9
|
-
- Download the binary for your OS
|
|
10
|
-
- Unzip it and run `chmod +x vault && sudo mv vault /usr/local/bin/vault`
|
|
11
|
-
- Check if the Vault is installed by running `vault -v`
|
|
12
|
-
|
|
13
|
-
### Deployment
|
|
14
|
-
|
|
15
|
-
To deploy Vault, use `./bin/vault-deploy.sh`
|
|
16
|
-
|
|
17
|
-
### Connection
|
|
18
|
-
|
|
19
|
-
- Export your Vault's IP using `export VAULT_ADDR=http://*vault_ip*:8200`
|
|
20
|
-
- Run `vault init` to initialize the vault
|
|
21
|
-
- Store the keys displayed after init
|
|
22
|
-
- Unseal the vault by running `vault unseal` three times using three keys from the previous step
|
|
23
|
-
- Authenticate to the vault with `vault auth` using the root token you got from `vault init`
|
|
24
|
-
|
|
25
|
-
[Optional]
|
|
26
|
-
- Try to store a dummy secret: `vault write secret/handshake knock=knock`
|
|
27
|
-
- Read it: `vault read secret/handshake`
|
|
28
|
-
|
|
29
|
-
### Usage with Concourse
|
|
30
|
-
|
|
31
|
-
Before using Vault with Concourse you should mount a secrets backend with `vault mount -path=concourse kv`
|
|
32
|
-
|
|
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`
|