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.
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