kite 0.2.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +130 -66
  3. data/LICENSE.md +202 -0
  4. data/README.md +35 -11
  5. data/bin/concourse/out +16 -20
  6. data/docs/kite-concourse-resource.md +45 -0
  7. data/kite.gemspec +1 -0
  8. data/lib/kite.rb +3 -1
  9. data/lib/kite/cloud.rb +1 -0
  10. data/lib/kite/core.rb +8 -2
  11. data/lib/kite/generate.rb +12 -46
  12. data/lib/kite/helpers.rb +0 -72
  13. data/lib/kite/helpers/concourse.rb +3 -2
  14. data/lib/kite/module.rb +76 -0
  15. data/lib/kite/terraform.rb +45 -0
  16. data/lib/kite/version.rb +1 -1
  17. data/tpl/aws/environment/main.tf.tt +5 -0
  18. data/tpl/aws/environment/s3.tf.tt +13 -0
  19. data/tpl/gcp/environment/gcs.tf.tt +18 -0
  20. data/tpl/gcp/environment/main.tf.tt +5 -0
  21. data/tpl/gcp/environment/outputs.tf.tt +5 -0
  22. data/tpl/service/%output_path%/pipelines/review.yml.tt +55 -37
  23. data/tpl/service/%output_path%/pipelines/tasks/create-pull-requests-tag.yml.tt +1 -1
  24. data/tpl/service/%output_path%/pipelines/tasks/create-repository-tag.yml.tt +1 -1
  25. data/tpl/service/%output_path%/pipelines/tasks/run-unit.yml.tt +7 -0
  26. data/tpl/service/Makefile.tt +11 -7
  27. data/tpl/service/docs/getting-started.md +73 -0
  28. data/tpl/service/docs/service.md +101 -0
  29. data/tpl/skel/Gemfile.tt +0 -9
  30. data/tpl/skel/config/cloud.yml +11 -66
  31. metadata +29 -88
  32. data/lib/kite/render.rb +0 -116
  33. data/tpl/aws/README.md +0 -52
  34. data/tpl/aws/bin/base/bootstrap.sh +0 -35
  35. data/tpl/aws/bin/base/cleanup.sh.tt +0 -19
  36. data/tpl/aws/bin/base/set-env.sh.tt +0 -7
  37. data/tpl/aws/bin/base/setup-tunnel.sh.tt +0 -4
  38. data/tpl/aws/bin/bosh-install.sh.tt +0 -23
  39. data/tpl/aws/bin/concourse-deploy.sh.tt +0 -14
  40. data/tpl/aws/bin/ingress-deploy.sh.tt +0 -7
  41. data/tpl/aws/bin/ingress-update.sh.tt +0 -7
  42. data/tpl/aws/bin/kops-delete.sh.erb +0 -5
  43. data/tpl/aws/bin/kops-deploy.sh.erb +0 -11
  44. data/tpl/aws/bin/oauth-deploy.sh.tt +0 -17
  45. data/tpl/aws/bin/prometheus-deploy.sh.tt +0 -23
  46. data/tpl/aws/bin/vault-deploy.sh.tt +0 -10
  47. data/tpl/aws/bosh-vars.yml.erb +0 -12
  48. data/tpl/aws/config/oauth.yml +0 -59
  49. data/tpl/aws/deployments/bosh/bosh.yml +0 -144
  50. data/tpl/aws/deployments/bosh/cloud-config.yml.tt +0 -86
  51. data/tpl/aws/deployments/bosh/cpi.yml +0 -98
  52. data/tpl/aws/deployments/bosh/jumpbox-user.yml +0 -27
  53. data/tpl/aws/deployments/concourse/concourse.yml.tt +0 -98
  54. data/tpl/aws/deployments/ingress/ingress.yml.erb +0 -78
  55. data/tpl/aws/deployments/oauth/oauth.yml.tt +0 -95
  56. data/tpl/aws/deployments/prometheus/monitor-bosh.yml +0 -518
  57. data/tpl/aws/deployments/prometheus/monitor-kubernetes.yml +0 -30
  58. data/tpl/aws/deployments/prometheus/prometheus.yml.tt +0 -184
  59. data/tpl/aws/deployments/vault/vault.yml.erb +0 -38
  60. data/tpl/aws/docs/bosh.md +0 -31
  61. data/tpl/aws/docs/concourse.md +0 -41
  62. data/tpl/aws/docs/ingress.md +0 -14
  63. data/tpl/aws/docs/kops.md +0 -35
  64. data/tpl/aws/docs/oauth.md +0 -24
  65. data/tpl/aws/docs/prometheus.md +0 -31
  66. data/tpl/aws/docs/vault.md +0 -35
  67. data/tpl/aws/terraform/kite_bucket.tf +0 -8
  68. data/tpl/aws/terraform/main.tf.tt +0 -36
  69. data/tpl/aws/terraform/network.tf.tt +0 -252
  70. data/tpl/aws/terraform/outputs.tf +0 -19
  71. data/tpl/aws/terraform/terraform.tfvars.tt +0 -21
  72. data/tpl/aws/terraform/variables.tf +0 -73
  73. data/tpl/gcp/README.md +0 -54
  74. data/tpl/gcp/bin/base/bootstrap.sh +0 -35
  75. data/tpl/gcp/bin/base/cleanup.sh.tt +0 -20
  76. data/tpl/gcp/bin/base/set-env.sh.tt +0 -10
  77. data/tpl/gcp/bin/base/setup-tunnel.sh.tt +0 -13
  78. data/tpl/gcp/bin/bosh-install.sh.tt +0 -22
  79. data/tpl/gcp/bin/concourse-deploy.sh.tt +0 -14
  80. data/tpl/gcp/bin/ingress-deploy.sh.tt +0 -7
  81. data/tpl/gcp/bin/ingress-update.sh.tt +0 -7
  82. data/tpl/gcp/bin/oauth-deploy.sh.tt +0 -19
  83. data/tpl/gcp/bin/prometheus-deploy.sh.tt +0 -23
  84. data/tpl/gcp/bin/vault-deploy.sh.tt +0 -10
  85. data/tpl/gcp/bosh-vars.yml.erb +0 -9
  86. data/tpl/gcp/config/oauth.yml +0 -59
  87. data/tpl/gcp/deployments/bosh/bosh.yml +0 -144
  88. data/tpl/gcp/deployments/bosh/cloud-config.yml.tt +0 -73
  89. data/tpl/gcp/deployments/bosh/cpi.yml +0 -69
  90. data/tpl/gcp/deployments/bosh/jumpbox-user.yml +0 -27
  91. data/tpl/gcp/deployments/concourse/concourse.yml.tt +0 -104
  92. data/tpl/gcp/deployments/concourse/test/test-credentials.yml +0 -3
  93. data/tpl/gcp/deployments/concourse/test/test-pipeline.yml +0 -24
  94. data/tpl/gcp/deployments/ingress/ingress.yml.erb +0 -111
  95. data/tpl/gcp/deployments/oauth/oauth.yml.tt +0 -95
  96. data/tpl/gcp/deployments/prometheus/monitor-bosh.yml +0 -518
  97. data/tpl/gcp/deployments/prometheus/monitor-kubernetes.yml +0 -30
  98. data/tpl/gcp/deployments/prometheus/prometheus.yml +0 -183
  99. data/tpl/gcp/deployments/vault/vault.yml.erb +0 -37
  100. data/tpl/gcp/docs/bosh.md +0 -36
  101. data/tpl/gcp/docs/concourse.md +0 -41
  102. data/tpl/gcp/docs/ingress.md +0 -12
  103. data/tpl/gcp/docs/oauth.md +0 -24
  104. data/tpl/gcp/docs/prometheus.md +0 -27
  105. data/tpl/gcp/docs/vault.md +0 -36
  106. data/tpl/gcp/terraform/gcs.tf.tt +0 -18
  107. data/tpl/gcp/terraform/main.tf +0 -70
  108. data/tpl/gcp/terraform/network.tf +0 -52
  109. data/tpl/gcp/terraform/outputs.tf +0 -7
  110. data/tpl/gcp/terraform/terraform.tfvars.tt +0 -15
  111. data/tpl/gcp/terraform/variables.tf +0 -37
  112. data/tpl/service/%output_path%/pipelines/tasks/helm-deploy.yml.tt +0 -22
  113. data/tpl/service/%output_path%/pipelines/tasks/run-master-tests.yml.tt +0 -12
  114. data/tpl/service/%output_path%/pipelines/tasks/run-pr-tests.yml.tt +0 -12
  115. data/tpl/skel/docs/index.md.tt +0 -0
  116. data/tpl/skel/docs/quickstart.md.tt +0 -0
@@ -1,66 +1,11 @@
1
- kite:
2
- keypair_name: "kitekey"
3
- public_key_path: "~/.ssh/kite.key.pub"
4
- private_key_path: "~/.ssh/kite.key"
5
- bucket_name: "kite-state-project-example"
6
-
7
- aws:
8
- access_key: "enter your amazon key"
9
- secret_key: "enter your secret key"
10
- region: "eu-central-1"
11
- zone: "eu-central-1a"
12
- vpc_name: "platform-tools"
13
- vpc_cidr_block: "10.0.0.0/16"
14
- vpc_id: "" # submit vpc id if you want to use an existing vpc
15
- public_subnet:
16
- name: "platform-dmz"
17
- gateway: "10.0.10.1"
18
- network: "10.0.10.0/26"
19
- id: "" # submit id if you want to use an existing public subnet
20
- private_subnet:
21
- name: "platform-net"
22
- gateway: "10.0.20.1"
23
- network: "10.0.20.0/26"
24
-
25
- gcp:
26
- project: "gcp-project"
27
- region: "europe-west1"
28
- zone: "europe-west1-c"
29
- service_account: "~/safe/terraform.json"
30
- vpc_name: "platform-tools"
31
- subnet_name: "platform-net"
32
- subnet_cidr: "10.0.20.0/24"
33
- internal_gw: "10.0.20.2"
34
-
35
- bosh:
36
- name: "bosh-director"
37
- static_ip: "10.0.20.10"
38
-
39
- k8s:
40
- config_path: "~/.kube/config"
41
- cluster_address: "k8s.example.com"
42
- api_server_address: "https://api.k8s.example.com"
43
-
44
- ingress:
45
- vip: "42.42.42.42"
46
-
47
- vault:
48
- hostname: "vault.example.com"
49
-
50
- prometheus:
51
- hostname: "prometheus.example.com"
52
-
53
- grafana:
54
- hostname: "grafana.example.com"
55
-
56
- alertmanager:
57
- hostname: "alertmanager.example.com"
58
-
59
- concourse:
60
- hostname: "concourse.example.com"
61
- url: "https://concourse.example.com"
62
- auth_username: "concourse"
63
-
64
- oauth:
65
- hostname: "oauth.example.com"
66
- url: "https://oauth.example.com"
1
+ default: &default
2
+ region: "us-east1" # Note that region formats differ between AWS and GCP
3
+ zone: "us-east1-a"
4
+ gcp:
5
+ project: "hc-public"
6
+ service_account: "~/safe/hc-public/terraform.json"
7
+ bucket_name: "kite-state-helios-devel"
8
+ aws:
9
+ access_key: "********************"
10
+ secret_key: "****************************************"
11
+ bucket_name: "kite-state-helios-devel"
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.2.0
4
+ version: 1.0.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-11-07 00:00:00.000000000 Z
11
+ date: 2018-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: git
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: simplecov
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +122,7 @@ files:
108
122
  - CHANGELOG.md
109
123
  - Dockerfile
110
124
  - Gemfile
125
+ - LICENSE.md
111
126
  - Makefile
112
127
  - README.md
113
128
  - Rakefile
@@ -122,6 +137,7 @@ files:
122
137
  - config/pipelines/tasks/create-repository-tag.yml
123
138
  - config/pipelines/tasks/run-master-tests.yml
124
139
  - config/pipelines/tasks/run-pr-tests.yml
140
+ - docs/kite-concourse-resource.md
125
141
  - kite.gemspec
126
142
  - lib/kite.rb
127
143
  - lib/kite/base.rb
@@ -131,87 +147,14 @@ files:
131
147
  - lib/kite/generate.rb
132
148
  - lib/kite/helpers.rb
133
149
  - lib/kite/helpers/concourse.rb
134
- - lib/kite/render.rb
150
+ - lib/kite/module.rb
151
+ - lib/kite/terraform.rb
135
152
  - lib/kite/version.rb
136
- - tpl/aws/README.md
137
- - tpl/aws/bin/base/bootstrap.sh
138
- - tpl/aws/bin/base/cleanup.sh.tt
139
- - tpl/aws/bin/base/set-env.sh.tt
140
- - tpl/aws/bin/base/setup-tunnel.sh.tt
141
- - tpl/aws/bin/bosh-install.sh.tt
142
- - tpl/aws/bin/concourse-deploy.sh.tt
143
- - tpl/aws/bin/ingress-deploy.sh.tt
144
- - tpl/aws/bin/ingress-update.sh.tt
145
- - tpl/aws/bin/kops-delete.sh.erb
146
- - tpl/aws/bin/kops-deploy.sh.erb
147
- - tpl/aws/bin/oauth-deploy.sh.tt
148
- - tpl/aws/bin/prometheus-deploy.sh.tt
149
- - tpl/aws/bin/vault-deploy.sh.tt
150
- - tpl/aws/bosh-vars.yml.erb
151
- - tpl/aws/config/oauth.yml
152
- - tpl/aws/deployments/bosh/bosh.yml
153
- - tpl/aws/deployments/bosh/cloud-config.yml.tt
154
- - tpl/aws/deployments/bosh/cpi.yml
155
- - tpl/aws/deployments/bosh/jumpbox-user.yml
156
- - tpl/aws/deployments/concourse/concourse.yml.tt
157
- - tpl/aws/deployments/ingress/ingress.yml.erb
158
- - tpl/aws/deployments/oauth/oauth.yml.tt
159
- - tpl/aws/deployments/prometheus/monitor-bosh.yml
160
- - tpl/aws/deployments/prometheus/monitor-kubernetes.yml
161
- - tpl/aws/deployments/prometheus/prometheus.yml.tt
162
- - tpl/aws/deployments/vault/vault.yml.erb
163
- - tpl/aws/docs/bosh.md
164
- - tpl/aws/docs/concourse.md
165
- - tpl/aws/docs/ingress.md
166
- - tpl/aws/docs/kops.md
167
- - tpl/aws/docs/oauth.md
168
- - tpl/aws/docs/prometheus.md
169
- - tpl/aws/docs/vault.md
170
- - tpl/aws/terraform/kite_bucket.tf
171
- - tpl/aws/terraform/main.tf.tt
172
- - tpl/aws/terraform/network.tf.tt
173
- - tpl/aws/terraform/outputs.tf
174
- - tpl/aws/terraform/terraform.tfvars.tt
175
- - tpl/aws/terraform/variables.tf
176
- - tpl/gcp/README.md
177
- - tpl/gcp/bin/base/bootstrap.sh
178
- - tpl/gcp/bin/base/cleanup.sh.tt
179
- - tpl/gcp/bin/base/set-env.sh.tt
180
- - tpl/gcp/bin/base/setup-tunnel.sh.tt
181
- - tpl/gcp/bin/bosh-install.sh.tt
182
- - tpl/gcp/bin/concourse-deploy.sh.tt
183
- - tpl/gcp/bin/ingress-deploy.sh.tt
184
- - tpl/gcp/bin/ingress-update.sh.tt
185
- - tpl/gcp/bin/oauth-deploy.sh.tt
186
- - tpl/gcp/bin/prometheus-deploy.sh.tt
187
- - tpl/gcp/bin/vault-deploy.sh.tt
188
- - tpl/gcp/bosh-vars.yml.erb
189
- - tpl/gcp/config/oauth.yml
190
- - tpl/gcp/deployments/bosh/bosh.yml
191
- - tpl/gcp/deployments/bosh/cloud-config.yml.tt
192
- - tpl/gcp/deployments/bosh/cpi.yml
193
- - tpl/gcp/deployments/bosh/jumpbox-user.yml
194
- - tpl/gcp/deployments/concourse/concourse.yml.tt
195
- - tpl/gcp/deployments/concourse/test/test-credentials.yml
196
- - tpl/gcp/deployments/concourse/test/test-pipeline.yml
197
- - tpl/gcp/deployments/ingress/ingress.yml.erb
198
- - tpl/gcp/deployments/oauth/oauth.yml.tt
199
- - tpl/gcp/deployments/prometheus/monitor-bosh.yml
200
- - tpl/gcp/deployments/prometheus/monitor-kubernetes.yml
201
- - tpl/gcp/deployments/prometheus/prometheus.yml
202
- - tpl/gcp/deployments/vault/vault.yml.erb
203
- - tpl/gcp/docs/bosh.md
204
- - tpl/gcp/docs/concourse.md
205
- - tpl/gcp/docs/ingress.md
206
- - tpl/gcp/docs/oauth.md
207
- - tpl/gcp/docs/prometheus.md
208
- - tpl/gcp/docs/vault.md
209
- - tpl/gcp/terraform/gcs.tf.tt
210
- - tpl/gcp/terraform/main.tf
211
- - tpl/gcp/terraform/network.tf
212
- - tpl/gcp/terraform/outputs.tf
213
- - tpl/gcp/terraform/terraform.tfvars.tt
214
- - tpl/gcp/terraform/variables.tf
153
+ - tpl/aws/environment/main.tf.tt
154
+ - tpl/aws/environment/s3.tf.tt
155
+ - tpl/gcp/environment/gcs.tf.tt
156
+ - tpl/gcp/environment/main.tf.tt
157
+ - tpl/gcp/environment/outputs.tf.tt
215
158
  - tpl/service/%output_path%/charts/%app_name%/Chart.yaml.tt
216
159
  - tpl/service/%output_path%/charts/%app_name%/templates/NOTES.txt.tt
217
160
  - tpl/service/%output_path%/charts/%app_name%/templates/_helpers.tpl
@@ -223,19 +166,17 @@ files:
223
166
  - tpl/service/%output_path%/pipelines/review.yml.tt
224
167
  - tpl/service/%output_path%/pipelines/tasks/create-pull-requests-tag.yml.tt
225
168
  - tpl/service/%output_path%/pipelines/tasks/create-repository-tag.yml.tt
226
- - tpl/service/%output_path%/pipelines/tasks/helm-deploy.yml.tt
227
- - tpl/service/%output_path%/pipelines/tasks/run-master-tests.yml.tt
228
- - tpl/service/%output_path%/pipelines/tasks/run-pr-tests.yml.tt
169
+ - tpl/service/%output_path%/pipelines/tasks/run-unit.yml.tt
229
170
  - tpl/service/Dockerfile.tt
230
171
  - tpl/service/Makefile.tt
231
172
  - tpl/service/VERSION.tt
173
+ - tpl/service/docs/getting-started.md
232
174
  - tpl/service/docs/pipeline.md.tt
175
+ - tpl/service/docs/service.md
233
176
  - tpl/skel/Gemfile.tt
234
177
  - tpl/skel/README.md.tt
235
178
  - tpl/skel/bin/kite
236
179
  - tpl/skel/config/cloud.yml
237
- - tpl/skel/docs/index.md.tt
238
- - tpl/skel/docs/quickstart.md.tt
239
180
  - tpl/skel/lib/tasks/.keep
240
181
  - tpl/skel/log/.keep
241
182
  - tpl/skel/tmp/.keep
@@ -258,7 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
258
199
  version: '0'
259
200
  requirements: []
260
201
  rubyforge_project:
261
- rubygems_version: 2.6.11
202
+ rubygems_version: 2.7.3
262
203
  signing_key:
263
204
  specification_version: 4
264
205
  summary: Command line tool for devops scaffolding.
data/lib/kite/render.rb DELETED
@@ -1,116 +0,0 @@
1
- module Kite
2
- # Subcommand for rendering manifests, deployments etc.
3
- class Render < Base
4
-
5
- include Kite::Helpers
6
-
7
- no_commands do
8
- def ingress_db_file
9
- "config/ingress.yml"
10
- end
11
-
12
- def ingress_db
13
- @db ||= YAML.load(File.read(ingress_db_file)) rescue {}
14
- end
15
-
16
- def ingress_db_save!
17
- create_file ingress_db_file, YAML.dump(ingress_db), force: true
18
- end
19
-
20
- def ingress_add_entry(hostname, upstreams, args = {})
21
- raise "upstreams argument should be an array" unless upstreams.is_a?(Array)
22
- args[:port] ||= 80
23
- args[:protocol] ||= "http"
24
- ingress_db[hostname] = {
25
- upstreams: upstreams,
26
- port: args[:port],
27
- protocol: args[:protocol],
28
- }
29
- ingress_db_save!
30
- end
31
- end
32
-
33
- desc "manifest <type>", "Renders a manifest of selected type"
34
- long_desc <<-LONGDESC
35
- Available types:
36
- \x5 BOSH Render Bosh environement
37
- \x5 CONCOURSE Render Concourse deployment
38
- \x5 VAULT Render Vault deployment
39
- \x5 INGRESS Render Ingress deployment
40
- \x5 PROMETHEUS Render Prometheus deployment
41
- \x5 OAUTH Render OAuth (UAA) deployment
42
- LONGDESC
43
- method_option :cloud, type: :string, desc: "Cloud provider", enum: %w{aws gcp}, required: true
44
- # Render a manifest of selected type based on <b>config/cloud.yml</b> and <b>terraform apply</b> results
45
- def manifest(type)
46
- type = type.downcase
47
- say "Rendering #{type} manifest", :green
48
- @values = parse_cloud_config
49
- @tf_output = parse_tf_state('terraform/terraform.tfstate') if options[:cloud] == 'aws'
50
-
51
- if options[:cloud] == 'aws'
52
- @private_subnet = IPAddr.new(@values['aws']['private_subnet']['network']).to_range.to_a
53
- @public_subnet = IPAddr.new(@values['aws']['public_subnet']['network']).to_range.to_a
54
- else
55
- @private_subnet = IPAddr.new(@values['gcp']['subnet_cidr']).to_range.to_a
56
- end
57
-
58
- @static_ip_vault = @private_subnet[11].to_s
59
- @static_ips_concourse = [@private_subnet[12]].map(&:to_s)
60
- @static_ip_prometheus_stack = @private_subnet[18].to_s
61
- @static_ip_oauth = @private_subnet[23].to_s
62
-
63
- case type
64
- when "bosh"
65
- directory("#{options[:cloud]}/deployments/bosh", 'deployments/bosh')
66
- template("#{options[:cloud]}/bosh-vars.yml.erb", 'config/bosh-vars.yml')
67
- copy_file("#{options[:cloud]}/docs/bosh.md", "docs/bosh.md")
68
- template("#{options[:cloud]}/bin/bosh-install.sh.tt", "bin/bosh-install.sh")
69
- chmod('bin/bosh-install.sh', 0755)
70
-
71
- when "concourse"
72
- directory("#{options[:cloud]}/deployments/concourse", "deployments/concourse")
73
- copy_file("#{options[:cloud]}/docs/concourse.md", "docs/concourse.md")
74
- template("#{options[:cloud]}/bin/concourse-deploy.sh.tt", "bin/concourse-deploy.sh")
75
- chmod('bin/concourse-deploy.sh', 0755)
76
- ingress_add_entry(@values['concourse']['hostname'], @static_ips_concourse, port: 8080)
77
-
78
- when "vault"
79
- template("#{options[:cloud]}/deployments/vault/vault.yml.erb", "deployments/vault/vault.yml")
80
- copy_file("#{options[:cloud]}/docs/vault.md", "docs/vault.md")
81
- template("#{options[:cloud]}/bin/vault-deploy.sh.tt", "bin/vault-deploy.sh")
82
- chmod('bin/vault-deploy.sh', 0755)
83
- ingress_add_entry(@values['vault']['hostname'], [@static_ip_vault], port: 8200)
84
-
85
- when "ingress"
86
- template("#{options[:cloud]}/deployments/ingress/ingress.yml.erb", "deployments/ingress/ingress.yml")
87
- copy_file("#{options[:cloud]}/docs/ingress.md", "docs/ingress.md")
88
- template("#{options[:cloud]}/bin/ingress-deploy.sh.tt", "bin/ingress-deploy.sh")
89
- template("#{options[:cloud]}/bin/ingress-update.sh.tt", "bin/ingress-update.sh")
90
- chmod('bin/ingress-deploy.sh', 0755)
91
- chmod('bin/ingress-update.sh', 0755)
92
-
93
- when "prometheus"
94
- directory("#{options[:cloud]}/deployments/prometheus", "deployments/prometheus")
95
- copy_file("#{options[:cloud]}/docs/prometheus.md", "docs/prometheus.md")
96
- template("#{options[:cloud]}/bin/prometheus-deploy.sh.tt", "bin/prometheus-deploy.sh")
97
- chmod('bin/prometheus-deploy.sh', 0755)
98
- ingress_add_entry(@values['alertmanager']['hostname'], [@static_ip_prometheus_stack], port: 9093)
99
- ingress_add_entry(@values['grafana']['hostname'], [@static_ip_prometheus_stack], port: 3000)
100
- ingress_add_entry(@values['prometheus']['hostname'], [@static_ip_prometheus_stack], port: 9090)
101
-
102
- when "oauth"
103
- directory("#{options[:cloud]}/deployments/oauth", "deployments/oauth")
104
- copy_file("#{options[:cloud]}/config/oauth.yml", "config/oauth.yml")
105
- template("#{options[:cloud]}/docs/oauth.md", "docs/oauth.md")
106
- template("#{options[:cloud]}/bin/oauth-deploy.sh.tt", "bin/oauth-deploy.sh")
107
- chmod('bin/oauth-deploy.sh', 0755)
108
- ingress_add_entry(@values['oauth']['hostname'], [@static_ip_oauth], port: 8080)
109
-
110
- else
111
- say "Manifest type not specified"
112
-
113
- end
114
- end
115
- end
116
- end
data/tpl/aws/README.md DELETED
@@ -1,52 +0,0 @@
1
- ## AWS Cloud
2
-
3
- ### Setup
4
-
5
- Apply terraform code
6
- ```
7
- pushd terraform && terraform init && terraform apply && popd
8
- ```
9
-
10
- [Note]
11
- To destroy Bastion later, use `terraform destroy -target aws_instance.bastion`
12
-
13
- Render BOSH manifest and related files
14
- ```
15
- kite render manifest bosh --cloud aws
16
- ```
17
-
18
- Prepare BOSH environment using instructions from [docs/bosh.md](docs/bosh.md)
19
-
20
- [Optional]
21
- If you want to access components outside of your VPC, use the Ingress deployment:
22
-
23
- Render Ingress deployment files
24
- ```
25
- kite render manifest prometheus --cloud aws
26
- ```
27
-
28
- Follow instructions from [docs/prometheus.md](docs/prometheus.md) to deploy Prometheus
29
-
30
- [Note]
31
- If you're using Ingress, create CNAME DNS records for each deployment as listed in `config/cloud.yml`(e.g. vault.example.com pointing to ingress.example.com)
32
-
33
- Render Prometheus deployment files
34
- ```
35
- kite render manifest prometheus --cloud aws
36
- ```
37
-
38
- Follow instructions from [docs/prometheus.md](docs/prometheus.md) to deploy Prometheus
39
-
40
- Render Vault deployment
41
- ```
42
- kite render manifest vault --cloud aws
43
- ```
44
-
45
- Follow instructions from [docs/vault.md](docs/vault.md) to deploy Vault
46
-
47
- Render Concourse manifest
48
- ```
49
- kite render manifest concourse --cloud aws
50
- ```
51
-
52
- Follow instructions from [docs/concourse.md](docs/concourse.md) to deploy Concourse
@@ -1,35 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -xe
4
-
5
- # Apply Terraform IaC
6
- pushd terraform
7
-
8
- terraform init
9
- terraform apply
10
-
11
- popd
12
-
13
- # Set up an SSH tunnel to Bastion
14
- . bin/setup-tunnel.sh
15
-
16
- # Render BOSH manifest and related files
17
- kite render manifest bosh --cloud aws
18
-
19
- # Deploy BOSH Director
20
- ./bin/bosh-install.sh
21
-
22
- # Set the needed environment variables
23
- . bin/set-env.sh
24
-
25
- # Render Vault manifest
26
- kite render manifest vault --cloud aws
27
-
28
- # Deploy Vault
29
- ./bin/vault-deploy.sh
30
-
31
- # Render Concourse manifest and related files
32
- kite render manifest concourse --cloud aws
33
-
34
- # Deploy Concourse
35
- ./bin/concourse-deploy.sh