stack_car 0.8.0 → 0.14.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 (58) hide show
  1. checksums.yaml +5 -5
  2. data/.gitlab-ci.yml +17 -12
  3. data/README.md +122 -1
  4. data/lib/stack_car/cli.rb +253 -41
  5. data/lib/stack_car/dot_rc.rb +25 -0
  6. data/lib/stack_car/version.rb +1 -1
  7. data/lib/stack_car.rb +1 -0
  8. data/stack_car.gemspec +2 -0
  9. data/templates/.dockerignore.erb +2 -2
  10. data/templates/.env.development.erb +2 -0
  11. data/templates/.env.erb +29 -16
  12. data/templates/.gitlab/issue_templates/Bug.md +46 -0
  13. data/templates/.gitlab/issue_templates/Feature.md +41 -0
  14. data/templates/.gitlab/issue_templates/Question.md +18 -0
  15. data/templates/.gitlab/merge_request_templates/Bug.md +36 -0
  16. data/templates/.gitlab/merge_request_templates/Feature.md +36 -0
  17. data/templates/.gitlab-ci.yml.erb +98 -65
  18. data/templates/.sops.yaml.erb +3 -0
  19. data/templates/Dockerfile.erb +26 -7
  20. data/templates/README.md +81 -7
  21. data/templates/chart/.gitignore +3 -0
  22. data/templates/chart/.helmignore +23 -0
  23. data/templates/chart/Chart.yaml.tt +30 -0
  24. data/templates/chart/README.md +223 -0
  25. data/templates/chart/bin/check_sidekiq.rb +0 -0
  26. data/templates/chart/bin/decrypt +17 -0
  27. data/templates/chart/bin/deploy +14 -0
  28. data/templates/chart/bin/encrypt +15 -0
  29. data/templates/chart/bin/remove +15 -0
  30. data/templates/chart/sample-values.yaml.tt +153 -0
  31. data/templates/chart/templates/_helpers.tpl.tt +85 -0
  32. data/templates/chart/templates/rails-env-cm.yaml.tt +47 -0
  33. data/templates/chart/templates/rails-env-secret.yaml +10 -0
  34. data/templates/chart/templates/rails-pvc-shared.yml +20 -0
  35. data/templates/chart/templates/setup-job.yaml +73 -0
  36. data/templates/chart/templates/web-deploy.yaml +67 -0
  37. data/templates/chart/templates/web-ing-wildcard.yaml +20 -0
  38. data/templates/chart/templates/web-ing.yaml +20 -0
  39. data/templates/chart/templates/web-svc.yaml +20 -0
  40. data/templates/chart-fcrepo/fcrepo-deploy.yaml +63 -0
  41. data/templates/chart-fcrepo/fcrepo-env-cm.yaml +8 -0
  42. data/templates/chart-fcrepo/fcrepo-env-secret.yaml.tt +10 -0
  43. data/templates/chart-fcrepo/fcrepo-pvc.yaml +20 -0
  44. data/templates/chart-fcrepo/fcrepo-svc.yaml +19 -0
  45. data/templates/chart-sidekiq/sidekiq-deploy.yaml +80 -0
  46. data/templates/database.yml.erb +10 -11
  47. data/templates/decrypt-secrets +22 -0
  48. data/templates/development.rb.erb +90 -0
  49. data/templates/docker-compose.yml.erb +52 -18
  50. data/templates/encrypt-secrets +19 -0
  51. data/templates/env.conf.erb +11 -11
  52. data/templates/nginx.sh.erb +17 -0
  53. data/templates/production.rb.erb +117 -0
  54. metadata +71 -12
  55. data/templates/Dockerfile.base.erb +0 -48
  56. data/templates/Dockerfile.builder.erb +0 -13
  57. data/templates/docker-compose.ci.yml.erb +0 -87
  58. data/templates/docker-compose.production.yml.erb +0 -26
@@ -0,0 +1,14 @@
1
+ #!/bin/bash
2
+ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
3
+ cd $DIR/../../chart
4
+
5
+ REPO=$(basename $(git config --get remote.origin.url))
6
+ NAMESPACE=${REPO%.git}
7
+
8
+ if [ -z "$1" ] || [ -z "$2" ]
9
+ then
10
+ echo './chart/bin/deploy ENVIRONMENT TAG'
11
+ exit 1
12
+ fi
13
+
14
+ helm upgrade --install --namespace $NAMESPACE-$1 $1 . -f $1-values.yaml --set rails.image.tag=$2
@@ -0,0 +1,15 @@
1
+ #!/bin/bash
2
+ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
3
+ cd $DIR/../../chart
4
+
5
+ REPO=$(basename $(git config --get remote.origin.url))
6
+ NAMESPACE=${REPO%.git}
7
+
8
+ if [ -z "$1" ] || [ -z "$2" ]
9
+ then
10
+ echo './chart/bin/encrypt ENVIRONMENT TEAM'
11
+ exit 1
12
+ fi
13
+
14
+ keybase encrypt -i $1-values.yaml -o $1-values.yaml.enc --team $2
15
+
@@ -0,0 +1,15 @@
1
+ #!/bin/bash
2
+ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
3
+ cd $DIR/../../chart
4
+
5
+ REPO=$(basename $(git config --get remote.origin.url))
6
+ NAMESPACE=${REPO%.git}
7
+
8
+ if [ -z "$1" ] || [ -z "$2" ]
9
+ then
10
+ echo './chart/bin/remove ENVIRONMENT TAG'
11
+ exit 1
12
+ fi
13
+
14
+ raise 'refusing to remove production' if $1 == 'production'
15
+ helm uninstall --namespace $NAMESPACE-$1 $1 . -f $1-values.yaml --set rails.image.tag=$2
@@ -0,0 +1,153 @@
1
+ # Customize the following values as needed
2
+
3
+ <% if options[:solr] %>
4
+ solr:
5
+ image:
6
+ repository: solr
7
+ tag: 7.4
8
+ replicaCount: 1
9
+ volumeClaimTemplates:
10
+ storageSize: 1Gi
11
+
12
+ zookeeper:
13
+ replicaCount: 1
14
+ persistence:
15
+ enabled: true
16
+ accessMode: ReadWriteOnce
17
+ size: 1Gi
18
+ <% end %>
19
+
20
+ <% if options[:postgres] %>
21
+ postgresql:
22
+ enabled: true
23
+ <% if options[:fedora] %>
24
+ # Use fcrepo; the web app can create it's own db with db:create
25
+ postgresqlDatabase: fcrepo
26
+ <% else %>
27
+ postgresqlDatabase: <%= @project_name %>
28
+ <% end %>
29
+ postgresqlUsername: postgres
30
+ # Only used when internal PG is disabled
31
+ # postgresqlHost: postgres
32
+ postgresqlPassword: passwordabc
33
+ # postgresqlPort: 5432
34
+ persistence:
35
+ enabled: true
36
+ size: 1Gi
37
+ <% end %>
38
+
39
+ <% if options[:mysql] %>
40
+ externalDatabase:
41
+ host: host_name
42
+ user: <%= @project_name %>
43
+ password: 05cb2c6a26ce76
44
+ database: <%= @project_name %>
45
+ port: '3306'
46
+
47
+ mariadb:
48
+ enabled: false
49
+ replication:
50
+ enabled: false
51
+ db:
52
+ name: <%= @project_name %>
53
+ user: <%= @project_name %>
54
+ ## If the password is not specified, mariadb will generates a random password
55
+ # password:
56
+ # rootUser:
57
+ # password:
58
+ master:
59
+ persistence:
60
+ enabled: true
61
+ # storageClass: "-"
62
+ accessMode: ReadWriteOnce
63
+ size: 8Gi
64
+ <% end %>
65
+ <% if options[:redis] %>
66
+ redis:
67
+ enabled: true
68
+ usePassword: false
69
+ # Only used when internal redis is disabled
70
+ # host: redis
71
+ # Just omit the password field if your redis cluster doesn't use password
72
+ # password: redis
73
+ # port: 6379
74
+ master:
75
+ persistence:
76
+ enabled: true
77
+ size: 1Gi
78
+ slave:
79
+ persistence:
80
+ enabled: true
81
+ size: 1Gi
82
+ <% end %>
83
+ <% if options[:fcrepo] %>
84
+ fcrepo:
85
+ image:
86
+ repository: ualbertalib/docker-fcrepo4
87
+ tag: 4.7
88
+ storage:
89
+ size: 1Gi
90
+ <% end %>
91
+ web:
92
+ replicas: 2
93
+ <% if options[:sidekiq] %>
94
+ sidekiq:
95
+ replicas: 1
96
+ timeout: 3600
97
+ <% end %>
98
+ rails:
99
+ image:
100
+ repository: <%= @project_name %>
101
+ tag: latest
102
+ # If using a private registry setup access via secrets
103
+ # imagePullSecrets:
104
+ # - name: gitlab
105
+ shared:
106
+ storage:
107
+ size: 1Gi
108
+ className: nfs
109
+
110
+ ingress:
111
+ tlsSecretName: <%= @project_name %>_tls
112
+ # helm upgrade release-name . --set ingress.localhost
113
+ host: <%= @project_name %>.com
114
+
115
+ env:
116
+ configmap:
117
+ NAME: <%= @project_name %>
118
+ DATABASE_ADAPTER: postgresql
119
+ DATABASE_USER: postgres
120
+ <% if options[:fcrepo] %>
121
+ FC_DATABASE_NAME: fcrepo
122
+ LD_LIBRARY_PATH: /opt/fits-latest/tools/mediainfo/linux
123
+ SETTINGS__CONTACT_EMAIL: admin@example.org
124
+ SETTINGS__DEVISE__INVITATION_FROM_EMAIL: admin@example.org
125
+ SETTINGS__FITS_PATH: /opt/fits/fits.sh
126
+ SETTINGS__MULTITENANCY__ADMIN_HOST: app.docker
127
+ SETTINGS__MULTITENANCY__ADMIN_ONLY_TENANT_CREATION: "true"
128
+ SETTINGS__MULTITENANCY__DEFAULT_HOST: "%{tenant}.app.docker"
129
+ SETTINGS__MULTITENANCY__ENABLED: "true"
130
+ <% end %>
131
+ <% if options[:sidekiq] %>
132
+ SETTINGS__ACTIVE_JOB__QUEUE_ADAPTER: sidekiq
133
+ <% end %>
134
+ DATABASE_NAME: <%= @project_name %>
135
+ IN_DOCKER: "true"
136
+ PASSENGER_APP_ENV: production
137
+ RAILS_ENV: production
138
+ RAILS_LOG_TO_STDOUT: "true"
139
+ RAILS_SERVE_STATIC_FILES: "true"
140
+ # SMTP Mailer vars
141
+ # Uncomment vars and SMTP Mailer in config/environments/<environment>.rb to enable
142
+ # SMTP_USER_NAME: CHANGEME
143
+ # SMTP_ADDRESS: CHANGEME
144
+ # SMTP_DOMAIN: CHANGEME
145
+ # SMTP_PORT: CHANGEME
146
+ # SMTP_TYPE: CHANGEME
147
+
148
+ secret:
149
+ SECRET_KEY_BASE: secretabc
150
+ DATABASE_PASSWORD: passwordabc
151
+ # SMTP Mailer secret
152
+ # Uncomment vars and SMTP Mailer in config/environments/<environment>.rb to enable
153
+ # SMTP_PASSWORD: CHANGEME
@@ -0,0 +1,85 @@
1
+ {{/* vim: set filetype=mustache: */}}
2
+ {{/*
3
+ Expand the name of the chart.
4
+ */}}
5
+ {{- define "app.name" -}}
6
+ {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
7
+ {{- end -}}
8
+
9
+ {{/*
10
+ Create a default fully qualified app name.
11
+ We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
12
+ If release name contains chart name it will be used as a full name.
13
+ */}}
14
+ {{- define "app.fullname" -}}
15
+ {{- if .Values.fullnameOverride -}}
16
+ {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
17
+ {{- else -}}
18
+ {{- $name := default .Chart.Name .Values.nameOverride -}}
19
+ {{- if contains $name .Release.Name -}}
20
+ {{- .Release.Name | trunc 63 | trimSuffix "-" -}}
21
+ {{- else -}}
22
+ {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
23
+ {{- end -}}
24
+ {{- end -}}
25
+ {{- end -}}
26
+
27
+ {{/*
28
+ Create chart name and version as used by the chart label.
29
+ */}}
30
+ {{- define "app.chart" -}}
31
+ {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
32
+ {{- end -}}
33
+
34
+ {{/*
35
+ Shorthand for component names
36
+ */}}
37
+ <%- if options[:postgres] %>
38
+ {{- define "app.postgres.name" -}}
39
+ {{- .Release.Name -}}-postgresql
40
+ {{- end -}}
41
+ {{- define "app.postgres-env.name" -}}
42
+ {{- include "app.fullname" . -}}-postgres-env
43
+ {{- end -}}
44
+ <%- end %>
45
+ <%- if options[:redis] %>
46
+ {{- define "app.redis.name" -}}
47
+ {{- .Release.Name -}}-redis-primary
48
+ {{- end -}}
49
+ <%- end %>
50
+ <%- if options[:sidekiq] %>
51
+ {{- define "app.sidekiq.name" -}}
52
+ {{- include "app.fullname" . -}}-sidekiq
53
+ {{- end -}}
54
+ <%- end %>
55
+ {{- define "app.web.name" -}}
56
+ {{- include "app.fullname" . -}}-web
57
+ {{- end -}}
58
+ {{- define "app.rails-env.name" -}}
59
+ {{- include "app.fullname" . -}}-rails-env
60
+ {{- end -}}
61
+ {{- define "app.setup.name" -}}
62
+ {{- include "app.fullname" . -}}-setup
63
+ {{- end -}}
64
+ <%- if options[:solr] %>
65
+ {{- define "app.zookeeper.name" -}}
66
+ {{- include "solr.zookeeper-service-name" . -}}
67
+ {{- end -}}
68
+ {{- define "app.zookeeper-env.name" -}}
69
+ {{- include "app.fullname" . -}}-zookeeper-env
70
+ {{- end -}}
71
+ {{- define "app.solr.name" -}}
72
+ {{- .Release.Name -}}-solr-svc
73
+ {{- end -}}
74
+ {{- define "app.solr.collection" -}}
75
+ {{- if eq .Values.env.configmap.SETTINGS__MULTITENANCY__ENABLED false }}single{{- end -}}
76
+ {{- end -}}
77
+ <%- end %>
78
+ <%- if options[:fcrepo] %>
79
+ {{- define "app.fcrepo.name" -}}
80
+ {{- include "app.fullname" . -}}-fcrepo
81
+ {{- end -}}
82
+ {{- define "app.fcrepo-env.name" -}}
83
+ {{- include "app.fullname" . -}}-fcrepo-env
84
+ {{- end -}}
85
+ <%- end %>
@@ -0,0 +1,47 @@
1
+ ---
2
+ apiVersion: v1
3
+ kind: ConfigMap
4
+ metadata:
5
+ name: {{ template "app.rails-env.name" . }}
6
+ data:
7
+ <% if options[:postgres] %>
8
+ DATABASE_HOST: {{ template "app.postgres.name" . }}
9
+ <% end %>
10
+ <% if options[:fcrepo] %>
11
+ FEDORA_URL: http://{{ template "app.fcrepo.name" . }}:8080/fcrepo/rest
12
+ <% end %>
13
+ <% if options[:redis] %>
14
+ RAILS_CACHE_STORE_URL: redis://{{ template "app.redis.name" . }}:6379/1
15
+ REDIS_HOST: {{ template "app.redis.name" . }}
16
+ REDIS_URL: redis://{{ template "app.redis.name" . }}:6379/1
17
+ <% end %>
18
+ <% if options[:sidekiq] %>
19
+ SIDEKIQ_TIMEOUT: {{ .Values.sidekiq.timeout | quote }}
20
+ <% end -%>
21
+ <% if options[:solr] %>
22
+ SOLR_URL: http://{{ template "app.solr.name" . }}:8983/solr/
23
+ SETTINGS__SOLR__URL: http://{{ template "app.solr.name" . }}:8983/solr/
24
+ SETTINGS__ZOOKEEPER__CONNECTION_STR: {{ template "app.zookeeper.name" . }}:2181/configs
25
+ <% end %>
26
+ <% if options[:hyku] %>
27
+ {{- if hasKey $.Values.env.configmap "SETTINGS__MULTITENANCY__ENABLED"}}
28
+ {{- if eq $.Values.env.configmap.SETTINGS__MULTITENANCY__ENABLED false }}
29
+ SETTINGS__MULTITENANCY__ROOT_HOST: {{ .Values.ingress.host }}
30
+ {{- end -}}
31
+ {{- end -}}
32
+ <% end %>
33
+ {{- range $key, $value := .Values.env.configmap }}
34
+ <% if options[:hyku] %>
35
+ {{- if hasKey $.Values.env.configmap "SETTINGS__MULTITENANCY__ENABLED"}}
36
+ {{- if eq $.Values.env.configmap.SETTINGS__MULTITENANCY__ENABLED false }}
37
+ {{- if and (ne $key "SETTINGS__MULTITENANCY__ADMIN_HOST") (ne $key "SETTINGS__MULTITENANCY__DEFAULT_HOST") }}
38
+ {{ $key }}: {{ $value | quote }}
39
+ {{- end }}
40
+ {{- else }}
41
+ {{ $key }}: {{ $value | quote }}
42
+ {{- end }}
43
+ {{- end }}
44
+ <% else %>
45
+ {{ $key }}: {{ $value | quote }}
46
+ <% end %>
47
+ {{- end }}
@@ -0,0 +1,10 @@
1
+ ---
2
+ apiVersion: v1
3
+ kind: Secret
4
+ metadata:
5
+ name: {{ template "app.rails-env.name" . }}
6
+ data:
7
+ {{- range $key, $value := .Values.env.secret }}
8
+ {{ $key }}: {{ $value |b64enc }}
9
+ {{- end }}
10
+
@@ -0,0 +1,20 @@
1
+ ---
2
+ kind: PersistentVolumeClaim
3
+ apiVersion: v1
4
+ metadata:
5
+ name: {{ template "app.rails-env.name" . }}-shared
6
+ labels:
7
+ app: {{ template "app.name" . }}
8
+ chart: {{ template "app.chart" . }}
9
+ release: {{ .Release.Name }}
10
+ heritage: {{ .Release.Service }}
11
+ component: rails
12
+ spec:
13
+ accessModes:
14
+ - ReadWriteMany
15
+ resources:
16
+ requests:
17
+ storage: {{ .Values.rails.shared.storage.size }}
18
+ {{- if .Values.rails.shared.storage.className }}
19
+ storageClassName: "{{ .Values.rails.shared.storage.className }}"
20
+ {{- end }}
@@ -0,0 +1,73 @@
1
+ ---
2
+ apiVersion: batch/v1
3
+ kind: Job
4
+ metadata:
5
+ name: {{ template "app.setup.name" . }}
6
+ labels:
7
+ app: {{ template "app.name" . }}
8
+ chart: {{ template "app.chart" . }}
9
+ release: {{ .Release.Name }}
10
+ heritage: {{ .Release.Service }}
11
+ annotations:
12
+ # This is what defines this resource as a hook. Without this line, the
13
+ # job is considered part of the release.
14
+ "helm.sh/hook": post-install,pre-upgrade
15
+ "helm.sh/hook-weight": "-5"
16
+ "helm.sh/hook-delete-policy": before-hook-creation
17
+ spec:
18
+ backoffLimit: 4
19
+ template:
20
+ metadata:
21
+ labels:
22
+ app: {{ template "app.name" . }}
23
+ release: {{ .Release.Name }}
24
+ spec:
25
+ restartPolicy: Never
26
+ {{- if .Values.rails.imagePullSecrets }}
27
+ imagePullSecrets:
28
+ {{ toYaml .Values.rails.imagePullSecrets }}
29
+ {{- end }}
30
+ volumes:
31
+ - name: shared
32
+ persistentVolumeClaim:
33
+ claimName: {{ template "app.rails-env.name" . }}-shared
34
+ <% if options[:solr] %>
35
+ initContainers:
36
+ - name: check-solr-ready
37
+ image: {{ .Values.rails.image.repository }}:{{ .Values.rails.image.tag }}
38
+ command: ["/bin/bash"]
39
+ args:
40
+ - "-l"
41
+ - "-c"
42
+ - "response=0 && until [ $response == 200 ]; do response=$(curl --write-out %{http_code} --silent --output /dev/null $(echo $SETTINGS__SOLR__URL)admin/collections?action=LIST); echo Response is $response; sleep 5; done;"
43
+ envFrom:
44
+ - configMapRef:
45
+ name: {{ template "app.rails-env.name" . }}
46
+ <% end %>
47
+ containers:
48
+ - name: setup
49
+ image: {{ .Values.rails.image.repository }}:{{ .Values.rails.image.tag }}
50
+ volumeMounts:
51
+ - mountPath: /home/app/webapp/public/assets
52
+ name: shared
53
+ subPath: assets
54
+ - mountPath: /home/app/webapp/public/packs
55
+ name: shared
56
+ subPath: packs
57
+ - mountPath: /home/app/webapp/public/system
58
+ name: shared
59
+ subPath: system
60
+ command: ["/bin/bash"]
61
+ args:
62
+ - "-l"
63
+ - "-c"
64
+ <% if options[:solr] %>
65
+ - "(bundle check || bundle install) && bundle exec rails db:create zookeeper:upload db:migrate db:seed && RAILS_ENV=production bundle exec rails assets:precompile DATABASE_ADAPTER=nulldb && echo SETUP COMPLETE"
66
+ <% else %>
67
+ - "(bundle check || bundle install) && bundle exec rails db:create db:migrate db:seed && RAILS_ENV=production bundle exec rails assets:precompile DATABASE_ADAPTER=nulldb && echo SETUP COMPLETE"
68
+ <% end %>
69
+ envFrom:
70
+ - configMapRef:
71
+ name: {{ template "app.rails-env.name" . }}
72
+ - secretRef:
73
+ name: {{ template "app.rails-env.name" . }}
@@ -0,0 +1,67 @@
1
+ ---
2
+ apiVersion: apps/v1
3
+ kind: Deployment
4
+ metadata:
5
+ name: {{ template "app.web.name" . }}
6
+ labels:
7
+ app: {{ template "app.name" . }}
8
+ chart: {{ template "app.chart" . }}
9
+ release: {{ .Release.Name }}
10
+ heritage: {{ .Release.Service }}
11
+ component: web
12
+ spec:
13
+ replicas: {{ .Values.web.replicas }}
14
+ selector:
15
+ matchLabels:
16
+ app: {{ template "app.name" . }}
17
+ release: {{ .Release.Name }}
18
+ component: web
19
+ template:
20
+ metadata:
21
+ labels:
22
+ app: {{ template "app.name" . }}
23
+ release: {{ .Release.Name }}
24
+ component: web
25
+ annotations:
26
+ checksum/rails-env-cm: {{ include (print $.Template.BasePath "/rails-env-cm.yaml") . | sha256sum }}
27
+ checksum/rails-env-secret: {{ include (print $.Template.BasePath "/rails-env-secret.yaml") . | sha256sum }}
28
+ spec:
29
+ restartPolicy: Always
30
+ {{- if .Values.rails.imagePullSecrets }}
31
+ imagePullSecrets:
32
+ {{ toYaml .Values.rails.imagePullSecrets }}
33
+ {{- end }}
34
+ volumes:
35
+ - name: shared
36
+ persistentVolumeClaim:
37
+ claimName: {{ template "app.rails-env.name" . }}-shared
38
+ containers:
39
+ - name: web
40
+ image: {{ .Values.rails.image.repository }}:{{ .Values.rails.image.tag }}
41
+ imagePullPolicy: IfNotPresent
42
+ # Use sub-path for individual folders
43
+ volumeMounts:
44
+ - mountPath: /home/app/webapp/public/assets
45
+ name: shared
46
+ subPath: assets
47
+ - mountPath: /home/app/webapp/public/packs
48
+ name: shared
49
+ subPath: packs
50
+ - mountPath: /home/app/webapp/public/system
51
+ name: shared
52
+ subPath: system
53
+ readinessProbe:
54
+ tcpSocket:
55
+ port: 80
56
+ initialDelaySeconds: 30
57
+ periodSeconds: 10
58
+ livenessProbe:
59
+ tcpSocket:
60
+ port: 80
61
+ initialDelaySeconds: 60
62
+ periodSeconds: 120
63
+ envFrom:
64
+ - configMapRef:
65
+ name: {{ template "app.rails-env.name" . }}
66
+ - secretRef:
67
+ name: {{ template "app.rails-env.name" . }}