kite 0.1.0 → 0.2.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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/CHANGELOG.md +18 -1
  4. data/Dockerfile +30 -9
  5. data/Makefile +21 -9
  6. data/README.md +9 -0
  7. data/bin/concourse/check +12 -0
  8. data/bin/concourse/in +12 -0
  9. data/bin/concourse/out +46 -0
  10. data/config/pipelines/review.yml +158 -0
  11. data/config/pipelines/tasks/create-pull-requests-tag.yml +13 -0
  12. data/config/pipelines/tasks/create-repository-tag.yml +13 -0
  13. data/config/pipelines/tasks/run-master-tests.yml +12 -0
  14. data/config/pipelines/tasks/run-pr-tests.yml +12 -0
  15. data/kite.gemspec +1 -1
  16. data/lib/kite/generate.rb +39 -0
  17. data/lib/kite/helpers/concourse.rb +36 -0
  18. data/lib/kite/render.rb +68 -2
  19. data/lib/kite/version.rb +1 -1
  20. data/tpl/aws/README.md +20 -0
  21. data/tpl/aws/bin/concourse-deploy.sh.tt +4 -1
  22. data/tpl/aws/bin/ingress-deploy.sh.tt +7 -0
  23. data/tpl/aws/bin/ingress-update.sh.tt +7 -0
  24. data/tpl/aws/bin/kops-delete.sh.erb +5 -0
  25. data/tpl/aws/bin/kops-deploy.sh.erb +11 -0
  26. data/tpl/aws/bin/oauth-deploy.sh.tt +17 -0
  27. data/tpl/aws/bin/prometheus-deploy.sh.tt +23 -0
  28. data/tpl/aws/bosh-vars.yml.erb +1 -0
  29. data/tpl/aws/config/oauth.yml +59 -0
  30. data/tpl/aws/deployments/bosh/cloud-config.yml.tt +17 -1
  31. data/tpl/aws/deployments/concourse/concourse.yml.tt +6 -0
  32. data/tpl/aws/deployments/ingress/ingress.yml.erb +78 -0
  33. data/tpl/aws/deployments/oauth/oauth.yml.tt +95 -0
  34. data/tpl/aws/deployments/prometheus/monitor-bosh.yml +518 -0
  35. data/tpl/aws/deployments/prometheus/monitor-kubernetes.yml +30 -0
  36. data/tpl/aws/deployments/prometheus/prometheus.yml.tt +184 -0
  37. data/tpl/aws/docs/concourse.md +2 -2
  38. data/tpl/aws/docs/ingress.md +14 -0
  39. data/tpl/aws/docs/kops.md +5 -8
  40. data/tpl/aws/docs/oauth.md +24 -0
  41. data/tpl/aws/docs/prometheus.md +31 -0
  42. data/tpl/aws/terraform/kite_bucket.tf +8 -0
  43. data/tpl/aws/terraform/network.tf.tt +27 -0
  44. data/tpl/aws/terraform/outputs.tf +4 -0
  45. data/tpl/aws/terraform/terraform.tfvars.tt +1 -0
  46. data/tpl/aws/terraform/variables.tf +4 -0
  47. data/tpl/gcp/README.md +19 -3
  48. data/tpl/gcp/bin/base/setup-tunnel.sh.tt +8 -3
  49. data/tpl/gcp/bin/bosh-install.sh.tt +4 -0
  50. data/tpl/gcp/bin/concourse-deploy.sh.tt +4 -1
  51. data/tpl/gcp/bin/ingress-deploy.sh.tt +7 -0
  52. data/tpl/gcp/bin/ingress-update.sh.tt +7 -0
  53. data/tpl/gcp/bin/oauth-deploy.sh.tt +19 -0
  54. data/tpl/gcp/bin/prometheus-deploy.sh.tt +23 -0
  55. data/tpl/gcp/bin/vault-deploy.sh.tt +1 -1
  56. data/tpl/gcp/bosh-vars.yml.erb +1 -0
  57. data/tpl/gcp/config/oauth.yml +59 -0
  58. data/tpl/gcp/deployments/bosh/cloud-config.yml.tt +17 -3
  59. data/tpl/gcp/deployments/concourse/concourse.yml.tt +15 -5
  60. data/tpl/gcp/deployments/ingress/ingress.yml.erb +111 -0
  61. data/tpl/gcp/deployments/oauth/oauth.yml.tt +95 -0
  62. data/tpl/gcp/deployments/prometheus/monitor-bosh.yml +518 -0
  63. data/tpl/gcp/deployments/prometheus/monitor-kubernetes.yml +30 -0
  64. data/tpl/gcp/deployments/prometheus/prometheus.yml +183 -0
  65. data/tpl/gcp/docs/bosh.md +5 -0
  66. data/tpl/gcp/docs/concourse.md +3 -3
  67. data/tpl/gcp/docs/ingress.md +12 -0
  68. data/tpl/gcp/docs/oauth.md +24 -0
  69. data/tpl/gcp/docs/prometheus.md +27 -0
  70. data/tpl/gcp/docs/vault.md +2 -1
  71. data/tpl/gcp/terraform/main.tf +6 -1
  72. data/tpl/gcp/terraform/outputs.tf +4 -0
  73. data/tpl/service/%output_path%/charts/%app_name%/Chart.yaml.tt +4 -0
  74. data/tpl/service/%output_path%/charts/%app_name%/templates/NOTES.txt.tt +19 -0
  75. data/tpl/service/%output_path%/charts/%app_name%/templates/_helpers.tpl +16 -0
  76. data/tpl/service/%output_path%/charts/%app_name%/templates/deployment.yaml +37 -0
  77. data/tpl/service/%output_path%/charts/%app_name%/templates/ingress.yaml +32 -0
  78. data/tpl/service/%output_path%/charts/%app_name%/templates/service.yaml +19 -0
  79. data/tpl/service/%output_path%/charts/%app_name%/values.yaml.tt +37 -0
  80. data/tpl/service/%output_path%/environments/.keep +0 -0
  81. data/tpl/service/%output_path%/pipelines/review.yml.tt +189 -0
  82. data/tpl/service/%output_path%/pipelines/tasks/create-pull-requests-tag.yml.tt +13 -0
  83. data/tpl/service/%output_path%/pipelines/tasks/create-repository-tag.yml.tt +13 -0
  84. data/tpl/service/%output_path%/pipelines/tasks/helm-deploy.yml.tt +22 -0
  85. data/tpl/service/%output_path%/pipelines/tasks/run-master-tests.yml.tt +12 -0
  86. data/tpl/service/%output_path%/pipelines/tasks/run-pr-tests.yml.tt +12 -0
  87. data/tpl/service/Dockerfile.tt +4 -0
  88. data/tpl/service/Makefile.tt +28 -0
  89. data/tpl/service/VERSION.tt +1 -0
  90. data/tpl/service/docs/pipeline.md.tt +58 -0
  91. data/tpl/skel/config/cloud.yml +30 -5
  92. metadata +58 -5
  93. data/tpl/gcp/deployments/nginx/nginx.yml.erb +0 -62
@@ -0,0 +1,19 @@
1
+ apiVersion: v1
2
+ kind: Service
3
+ metadata:
4
+ name: {{ template "fullname" . }}
5
+ labels:
6
+ app: {{ template "name" . }}
7
+ chart: {{ .Chart.Name }}-{{ .Chart.Version }}
8
+ release: {{ .Release.Name }}
9
+ heritage: {{ .Release.Service }}
10
+ spec:
11
+ type: {{ .Values.service.type }}
12
+ ports:
13
+ - port: {{ .Values.service.externalPort }}
14
+ targetPort: {{ .Values.service.internalPort }}
15
+ protocol: TCP
16
+ name: {{ .Values.service.name }}
17
+ selector:
18
+ app: {{ template "name" . }}
19
+ release: {{ .Release.Name }}
@@ -0,0 +1,37 @@
1
+ # Default values for <%= @name %>.
2
+ # This is a YAML-formatted file.
3
+ # Declare variables to be passed into your templates.
4
+ replicaCount: 1
5
+ image:
6
+ repository: <%= @image %>
7
+ tag: <%= @image_version %>
8
+ pullPolicy: IfNotPresent
9
+ service:
10
+ name: <%= @name %>
11
+ type: ClusterIP
12
+ externalPort: 8080
13
+ internalPort: 8080
14
+ ingress:
15
+ enabled: false
16
+ # Used to create Ingress record (should used with service.type: ClusterIP).
17
+ hosts:
18
+ - <%= @name %>.local
19
+ annotations:
20
+ # kubernetes.io/ingress.class: nginx
21
+ # kubernetes.io/tls-acme: "true"
22
+ tls:
23
+ # Secrets must be manually created in the namespace.
24
+ # - secretName: <%= @name %>-tls
25
+ # hosts:
26
+ # - <%= @name %>.local
27
+ resources: {}
28
+ # We usually recommend not to specify default resources and to leave this as a conscious
29
+ # choice for the user. This also increases chances charts run on environments with little
30
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
31
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
32
+ # limits:
33
+ # cpu: 100m
34
+ # memory: 128Mi
35
+ #requests:
36
+ # cpu: 100m
37
+ # memory: 128Mi
File without changes
@@ -0,0 +1,189 @@
1
+ # Check `docs/pipeline.md` to get info about this file
2
+ resource_types:
3
+ <% unless @slack.nil? or @slack.empty? -%>
4
+ - name: slack-notification
5
+ type: docker-image
6
+ source:
7
+ repository: cfcommunity/slack-notification-resource
8
+ tag: latest
9
+ <% end -%>
10
+ - name: pull-request
11
+ type: docker-image
12
+ source:
13
+ repository: jtarchie/pr
14
+
15
+ resources:
16
+ - name: <%= @name %>-repository
17
+ type: git
18
+ source:
19
+ uri: <%= @git %>
20
+ branch: master
21
+ private_key: ((git_private_key))
22
+
23
+ - name: pull-requests
24
+ type: pull-request
25
+ source:
26
+ access_token: ((github_token))
27
+ base: master
28
+ private_key: ((git_private_key))
29
+ repo: <%= @git.gsub(/(.*:|.git)/, '').split('/').last(2).join('/') %>
30
+ uri: <%= @git %>
31
+
32
+ - name: <%= @name %>-image
33
+ type: docker-image
34
+ source:
35
+ repository: <%= @image %>
36
+ username: _json_key
37
+ password: ((gcr_password))
38
+ <% unless @slack.nil? or @slack.empty? -%>
39
+ - name: slack-alert
40
+ type: slack-notification
41
+ source:
42
+ url: https://hooks.slack.com/services/((slack_webhook))
43
+ <% end -%>
44
+
45
+ jobs:
46
+ - name: pr-build
47
+ plan:
48
+ - get: pull-requests
49
+ trigger: true
50
+ - task: tag
51
+ file: pull-requests/<%= @output %>/pipelines/tasks/create-pull-requests-tag.yml
52
+ - put: <%= @name %>-image
53
+ params:
54
+ build: pull-requests
55
+ tag: tag/name
56
+
57
+ - name: pr-unit
58
+ serial: true
59
+ plan:
60
+ - get: pull-requests
61
+ passed: [pr-build]
62
+ trigger: true
63
+ - get: <%= @name %>-image
64
+ passed: [pr-build]
65
+ trigger: true
66
+ - put: pull-requests
67
+ params:
68
+ path: pull-requests
69
+ status: pending
70
+ - task: run-tests
71
+ file: pull-requests/<%= @output %>/pipelines/tasks/run-pr-tests.yml
72
+ on_success:
73
+ do:
74
+ - put: pull-requests
75
+ params:
76
+ path: pull-requests
77
+ status: success
78
+ <% unless @slack.nil? or @slack.empty? -%>
79
+ - put: slack-alert
80
+ params:
81
+ channel: '#<%= @slack %>'
82
+ text: |
83
+ <%= @name %> PR tests have passed! :thumbsup_all:
84
+ Check it out at:
85
+ $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
86
+ or at:
87
+ $ATC_EXTERNAL_URL/builds/$BUILD_ID
88
+ see on github:
89
+ `cat pull-requests/.git/url`
90
+ <% end -%>
91
+ on_failure:
92
+ do:
93
+ - put: pull-requests
94
+ params:
95
+ path: pull-requests
96
+ status: failure
97
+ <% unless @slack.nil? or @slack.empty? -%>
98
+ - put: slack-alert
99
+ params:
100
+ channel: '#<%= @slack %>'
101
+ text: |
102
+ <%= @name %> PR tests have failed! :thumbsdown_all:
103
+ Check it out at:
104
+ $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
105
+ or at:
106
+ $ATC_EXTERNAL_URL/builds/$BUILD_ID
107
+ see on github:
108
+ `cat pull-requests/.git/url`
109
+ <% end -%>
110
+
111
+ - name: master-build
112
+ serial: true
113
+ plan:
114
+ - get: <%= @name %>-repository
115
+ trigger: true
116
+ - task: tag
117
+ file: <%= @name %>-repository/<%= @output %>/pipelines/tasks/create-repository-tag.yml
118
+ - put: <%= @name %>-image
119
+ params:
120
+ build: <%= @name %>-repository
121
+ tag: tag/name
122
+ <% unless @slack.nil? or @slack.empty? -%>
123
+ - put: slack-alert
124
+ params:
125
+ channel: '#<%= @slack %>'
126
+ text: |
127
+ <%= @name %> master branch was built and pushed!
128
+ Check it out at:
129
+ $ATC_EXTERNAL_URL/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
130
+ or at:
131
+ $ATC_EXTERNAL_URL/builds/$BUILD_ID
132
+ <% end -%>
133
+
134
+ - name: master-unit
135
+ serial: true
136
+ plan:
137
+ - get: <%= @name %>-repository
138
+ passed: [master-build]
139
+ trigger: true
140
+ - get: <%= @name %>-image
141
+ passed: [master-build]
142
+ trigger: true
143
+ - task: run-tests
144
+ file: <%= @name %>-repository/<%= @output %>/pipelines/tasks/run-master-tests.yml
145
+ <% unless @slack.nil? or @slack.empty? -%>
146
+ on_success:
147
+ put: slack-alert
148
+ params:
149
+ channel: '#<%= @slack %>'
150
+ text: |
151
+ <%= @name %> master tests have passed! :thumbsup_all:
152
+ Check it out at:
153
+ $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
154
+ or at:
155
+ $ATC_EXTERNAL_URL/builds/$BUILD_ID
156
+
157
+ on_failure:
158
+ put: slack-alert
159
+ params:
160
+ channel: '#<%= @slack %>'
161
+ text: |
162
+ <%= @name %> master tests have failed! :thumbsdown_all:
163
+ Check it out at:
164
+ $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
165
+ or at:
166
+ $ATC_EXTERNAL_URL/builds/$BUILD_ID
167
+ <% end -%>
168
+
169
+ - name: helm-deploy
170
+ serial: true
171
+ plan:
172
+ - get: <%= @name %>-repository
173
+ - task: helm-deploy
174
+ file: <%= @name %>-repository/<%= @output %>/pipelines/tasks/helm-deploy.yml
175
+ params:
176
+ GOOGLE_APPLICATION_JSON: ((gcr_password))
177
+ KUBECONFIG_FILE: ((kubeconfig))
178
+ <% unless @slack.nil? or @slack.empty? -%>
179
+ on_success:
180
+ put: slack-alert
181
+ params:
182
+ channel: '#<%= @slack %>'
183
+ text: |
184
+ <%= @name %> deployment has succeeded! :thumbsup_all:
185
+ Check it out at:
186
+ $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
187
+ or at:
188
+ $ATC_EXTERNAL_URL/builds/$BUILD_ID
189
+ <% end -%>
@@ -0,0 +1,13 @@
1
+ ---
2
+ platform: linux
3
+ image_resource:
4
+ type: docker-image
5
+ source:
6
+ repository: alpine/git
7
+ run:
8
+ path: sh
9
+ args: ['-xc', 'cd pull-requests && git rev-parse --short=8 HEAD > ../tag/name']
10
+ inputs:
11
+ - name: pull-requests
12
+ outputs:
13
+ - name: tag
@@ -0,0 +1,13 @@
1
+ ---
2
+ platform: linux
3
+ image_resource:
4
+ type: docker-image
5
+ source:
6
+ repository: alpine/git
7
+ run:
8
+ path: sh
9
+ args: ['-xc', 'cd <%= @name %>-repository && git rev-parse --short=8 HEAD > ../tag/name']
10
+ inputs:
11
+ - name: <%= @name %>-repository
12
+ outputs:
13
+ - name: tag
@@ -0,0 +1,22 @@
1
+ ---
2
+ platform: linux
3
+
4
+ image_resource:
5
+ type: docker-image
6
+ source:
7
+ repository: heliostech/kite
8
+
9
+ inputs:
10
+ - name: <%= @name %>-repository
11
+
12
+ run:
13
+ path: "sh"
14
+ args:
15
+ - "-exc"
16
+ - |
17
+ helm init --client-only
18
+ echo ${GOOGLE_APPLICATION_JSON} > gcr_credentials.json
19
+ export GOOGLE_APPLICATION_CREDENTIALS="${PWD}/gcr_credentials.json"
20
+ echo ${KUBECONFIG_FILE} | tr -d ' ' | base64 -d > kubeconfig
21
+ export KUBECONFIG="${PWD}/kubeconfig"
22
+ helm install <%= @name %>-repository/.kite/charts/<%= @name %>
@@ -0,0 +1,12 @@
1
+ ---
2
+ platform: linux
3
+ image_resource:
4
+ type: docker-image
5
+ source:
6
+ repository: <%= @image %>
7
+ username: _json_key
8
+ password: ((gcr_password))
9
+
10
+ run:
11
+ path: sh
12
+ args: ["-exc", "echo Success"]
@@ -0,0 +1,12 @@
1
+ ---
2
+ platform: linux
3
+ image_resource:
4
+ type: docker-image
5
+ source:
6
+ repository: <%= @image %>
7
+ username: _json_key
8
+ password: ((gcr_password))
9
+
10
+ run:
11
+ path: sh
12
+ args: ["-exc", "echo Success"]
@@ -0,0 +1,4 @@
1
+ FROM nginx:1.13
2
+ # MAINTAINER Some Name <email@<%= @name %>.com>
3
+
4
+ RUN echo "Hello, <%= @title %>!" > /usr/share/nginx/html/index.html
@@ -0,0 +1,28 @@
1
+ VERSION := $(shell cat VERSION)
2
+ IMAGE := <%= @image %>:$(VERSION)
3
+
4
+ .PHONY: default build push run ci deploy
5
+
6
+ default: build run
7
+
8
+ build:
9
+ @echo '> Building "<%= @name %>" docker image...'
10
+ @docker build -t $(IMAGE) .
11
+
12
+ push: build
13
+ <% if @provider == 'gcp' -%>
14
+ gcloud docker -- push $(IMAGE)
15
+ <% else -%>
16
+ docker push $(IMAGE)
17
+ <% end -%>
18
+
19
+ run:
20
+ @echo '> Starting "<%= @name %>" container...'
21
+ @docker run -d $(IMAGE)
22
+
23
+ ci:
24
+ @fly -t ci set-pipeline -p <%= @name %> -c <%= @output %>/pipelines/review.yml -n
25
+ @fly -t ci unpause-pipeline -p <%= @name %>
26
+
27
+ deploy: push
28
+ @helm install ./<%= @output %>/charts/<%= @name %> --set "image.tag=$(VERSION)"
@@ -0,0 +1 @@
1
+ <%= @image_version %>
@@ -0,0 +1,58 @@
1
+ # <%= @title %> CI Documentation
2
+
3
+ # About
4
+ __Pipeline__ described in `<%= output_path %>/pipelines/review.yml`
5
+
6
+ ## Credentials overview
7
+
8
+ - git_private_key - RSA key with access to your repository
9
+ - github_token - [Github token](https://github.com/settings/tokens) with access to web hooks
10
+ - gcr_password - JSON containing your [GCP credentials](https://developers.google.com/identity/protocols/application-default-credentials)
11
+ - slack_webhook - address of your [Slack Incoming Webhook](https://api.slack.com/incoming-webhooks)
12
+ - kubeconfig - your Kubernetes config encoded in base64
13
+
14
+ ## Configurations overview
15
+
16
+ A pipeline is configured with __three sections__:
17
+
18
+ - `resource_types`
19
+ - `resources`
20
+ - `jobs`
21
+
22
+ In `resource_types` added additional resource types used by pipeline.
23
+ Each resource in a pipeline has a type. The resource's type determines what versions are detected, the bits that are fetched when used for a get step, and the side effect that occurs when used for a put step.
24
+ Out of the box, Concourse comes with a few resource types to cover common CI use cases like dealing with Git repositories and S3 buckets.
25
+ Here is `pull-request` type.
26
+
27
+ In `resources` described objects that are going to be used for jobs in the pipeline. They are listed under the resources key in the pipeline configuration.
28
+
29
+ In `jobs` described actions of pipeline, how resources progress through it, and how everything is visualized.
30
+
31
+ ## Configure jobs
32
+
33
+ - `build-pull-request`
34
+ - set `trigger: true` to make a new build of the job when new pull request available
35
+ - configure `base: <branch_name>` to change which branch should be watched
36
+
37
+ - `build-master`
38
+ - set `serial: true` to build and execute one-by-one, rather than executing in parallel
39
+ - set `trigger: true` to make a new build of the job when new version available on git.
40
+ - configure <%= @name %>-repository `uri` to change ssh link to your respository.
41
+ - configure <%= @name %>-repository `branch` to change building branch of your respository.
42
+
43
+ # Getting stated
44
+
45
+ ## Login to concourse
46
+ ```shell
47
+ fly -t ci login -n TEAM_NAME -c CONCOURSE_URL
48
+ ```
49
+
50
+ ## Create or update the pipeline
51
+ ```shell
52
+ fly -t ci set-pipeline -p <%= @name %> -c <%= output_path %>/pipelines/review.yml -n
53
+ ```
54
+
55
+ ## Un-pause the pipeline
56
+ ```shell
57
+ fly -t ci unpause-pipeline -p <%= @name %>
58
+ ```
@@ -2,7 +2,7 @@ kite:
2
2
  keypair_name: "kitekey"
3
3
  public_key_path: "~/.ssh/kite.key.pub"
4
4
  private_key_path: "~/.ssh/kite.key"
5
- bucket_name: "kite-state"
5
+ bucket_name: "kite-state-project-example"
6
6
 
7
7
  aws:
8
8
  access_key: "enter your amazon key"
@@ -14,6 +14,7 @@ aws:
14
14
  vpc_id: "" # submit vpc id if you want to use an existing vpc
15
15
  public_subnet:
16
16
  name: "platform-dmz"
17
+ gateway: "10.0.10.1"
17
18
  network: "10.0.10.0/26"
18
19
  id: "" # submit id if you want to use an existing public subnet
19
20
  private_subnet:
@@ -24,18 +25,42 @@ aws:
24
25
  gcp:
25
26
  project: "gcp-project"
26
27
  region: "europe-west1"
27
- zone: "europe-west1-b"
28
+ zone: "europe-west1-c"
28
29
  service_account: "~/safe/terraform.json"
29
30
  vpc_name: "platform-tools"
30
31
  subnet_name: "platform-net"
31
- subnet_cidr: "10.0.0.0/24"
32
- internal_gw: "10.0.0.2"
32
+ subnet_cidr: "10.0.20.0/24"
33
+ internal_gw: "10.0.20.2"
33
34
 
34
35
  bosh:
35
36
  name: "bosh-director"
36
37
  static_ip: "10.0.20.10"
37
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
+
38
59
  concourse:
39
60
  hostname: "concourse.example.com"
40
- url: "http://concourse.example.com"
61
+ url: "https://concourse.example.com"
41
62
  auth_username: "concourse"
63
+
64
+ oauth:
65
+ hostname: "oauth.example.com"
66
+ url: "https://oauth.example.com"