stack_car 0.8.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
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" . }}