roro 0.3.17 → 0.3.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +11 -10
- data/.gitignore +3 -2
- data/Guardfile +8 -10
- data/README.md +2 -1
- data/lib/roro.rb +1 -0
- data/lib/roro/cli.rb +13 -7
- data/lib/roro/cli/generate/story.rb +18 -0
- data/lib/roro/cli/greenfield/rails.rb +2 -24
- data/lib/roro/cli/rollon.rb +135 -8
- data/lib/roro/cli/rollon/rails/base/base.rb +4 -0
- data/lib/roro/cli/{base → rollon/rails/base}/insert_gems.rb +2 -10
- data/lib/roro/cli/{base → rollon/rails/base}/insertions.rb +8 -0
- data/lib/roro/cli/rollon/rails/database.rb +4 -8
- data/lib/roro/cli/rollon/rails/database/with_mysql.rb +2 -2
- data/lib/roro/cli/rollon/rails/database/with_postgresql.rb +3 -4
- data/lib/roro/cli/rollon/ruby_gem/with_ci_cd.rb +7 -7
- data/lib/roro/configurator.rb +15 -0
- data/lib/roro/configurator/eligibility.rb +137 -0
- data/lib/roro/configurator/okonomi.rb +28 -0
- data/lib/roro/configurator/omakase.rb +170 -0
- data/lib/roro/stories/greenfield.yml +1 -0
- data/lib/roro/stories/greenfield/rails.yml +9 -0
- data/lib/roro/stories/rollon.yml +42 -0
- data/lib/roro/stories/rollon/rails.yml +76 -0
- data/lib/roro/stories/rollon/rails/ci_cd.yml +1 -0
- data/lib/roro/stories/rollon/rails/ci_cd/circleci.yml +2 -0
- data/lib/roro/stories/rollon/rails/database.yml +9 -0
- data/lib/roro/stories/rollon/rails/database/mysql.yml +17 -0
- data/lib/roro/stories/rollon/rails/database/postgresql.yml +15 -0
- data/lib/roro/stories/rollon/rails/kubernetes.yml +1 -0
- data/lib/roro/stories/rollon/rails/kubernetes/postgresql.yml +10 -0
- data/lib/roro/stories/rollon/rails/kubernetes/postgresql/default.yml +1 -0
- data/lib/roro/stories/rollon/rails/kubernetes/postgresql/edge.yml +1 -0
- data/lib/roro/stories/rollon/ruby_gem.yml +5 -0
- data/lib/roro/{cli/templates/rails → templates/base}/.circleci/_aliases.yml +0 -0
- data/lib/roro/templates/base/.circleci/_commands.yml +31 -0
- data/lib/roro/templates/base/.circleci/_defaults.yml +5 -0
- data/lib/roro/templates/base/.circleci/_executors.yml +11 -0
- data/lib/roro/templates/base/.circleci/_major_only.yml +4 -0
- data/lib/roro/templates/base/.circleci/_version.yml +1 -0
- data/lib/roro/{cli/templates → templates}/base/.circleci/_workflow.yml +0 -0
- data/lib/roro/{cli/templates → templates}/base/.circleci/config.job-example.yml +5 -5
- data/lib/roro/{cli/templates → templates}/base/.circleci/jobs/_build.yml +0 -0
- data/lib/roro/{cli/templates → templates}/base/.circleci/jobs/_release.yml +0 -0
- data/lib/roro/{cli/templates → templates}/base/.circleci/workflows/_build_release.yml +0 -0
- data/lib/roro/{cli/templates → templates}/base/.dockerignore +0 -0
- data/lib/roro/{cli/templates → templates}/base/dotenv +0 -0
- data/lib/roro/{cli/templates → templates}/base/jumpstart/.keep +0 -0
- data/lib/roro/{cli/templates → templates}/base/jumpstart/Dockerfile.tt +0 -0
- data/lib/roro/{cli/templates → templates}/base/jumpstart/docker-compose.yml +0 -0
- data/lib/roro/{cli/templates → templates}/base/jumpstart/docker-entrypoint.sh +0 -0
- data/lib/roro/{cli/templates → templates}/base/livereload/hosts.example +0 -0
- data/lib/roro/{cli/templates → templates}/base/roro/.keep +0 -0
- data/lib/roro/{cli/templates → templates}/base/roro/roro/.keep +0 -0
- data/lib/roro/{cli/templates → templates}/base/roro/roro/containers/.keep +0 -0
- data/lib/roro/{cli/templates → templates}/base/roro/roro/containers/app/.keep +0 -0
- data/lib/roro/{cli/templates → templates}/base/roro/roro/containers/frontend/.keep +0 -0
- data/lib/roro/{cli/templates → templates}/base/roro/roro/docker-entrypoint.sh.tt +0 -0
- data/lib/roro/{cli/templates → templates}/rails/.circleci/.keep +0 -0
- data/lib/roro/{cli/templates → templates}/rails/.circleci/config.yml.tt +4 -6
- data/lib/roro/{cli/templates → templates}/rails/.circleci/jobs/_build.yml +4 -6
- data/lib/roro/templates/rails/.circleci/jobs/_push.yml +11 -0
- data/lib/roro/templates/rails/.circleci/jobs/_test.yml +12 -0
- data/lib/roro/{cli/templates → templates}/rails/.circleci/setup-gem-credentials.sh +0 -0
- data/lib/roro/templates/rails/.circleci/workflows/_build_test_push.yml +12 -0
- data/lib/roro/{cli/templates → templates}/rails/.keep +0 -0
- data/lib/roro/templates/rails/Dockerfile.greenfield.tt +51 -0
- data/lib/roro/{cli/templates → templates}/rails/config/database.mysql.yml +0 -0
- data/lib/roro/{cli/templates → templates}/rails/config/database.pg.yml +2 -3
- data/lib/roro/{cli/templates/stories → templates/rails/database}/with_mysql/_service.yml +0 -0
- data/lib/roro/{cli/templates → templates}/rails/database/with_postgresql/.keep +0 -0
- data/lib/roro/{cli/templates/stories → templates/rails/database}/with_postgresql/_service.yml +0 -0
- data/lib/roro/{cli/templates → templates}/rails/docker-compose.yml.tt +3 -3
- data/lib/roro/{cli/templates → templates}/rails/dotenv/.keep +0 -0
- data/lib/roro/templates/rails/dotenv/database.mysql.env.tt +6 -0
- data/lib/roro/templates/rails/dotenv/database.pg.env.tt +4 -0
- data/lib/roro/{cli/templates → templates}/rails/dotenv/web.env.tt +0 -0
- data/lib/roro/templates/rails/kube.rake.tt +114 -0
- data/lib/roro/{cli/templates → templates}/rails/roro/.keep +0 -0
- data/lib/roro/{cli/templates → templates}/rails/roro/containers/.keep +0 -0
- data/lib/roro/{cli/templates → templates}/rails/roro/containers/app/.keep +0 -0
- data/lib/roro/templates/rails/roro/containers/app/Dockerfile.tt +34 -0
- data/lib/roro/{cli/templates → templates}/rails/roro/containers/frontend/.keep +0 -0
- data/lib/roro/{cli/templates/rails/roro/docker-entrypoint.sh.tt → templates/rails/roro/docker-entrypoint.sh} +0 -0
- data/lib/roro/{cli/templates/rails/roro/roro → templates/rails/roro/kube}/.keep +0 -0
- data/lib/roro/{cli/templates/rails/roro/roro/containers/.keep → templates/rails/roro/kube/certificate.yml.tt} +0 -0
- data/lib/roro/{cli/templates/rails/roro/roro/containers/app/.keep → templates/rails/roro/kube/cluster-issuer.yml.tt} +0 -0
- data/lib/roro/templates/rails/roro/kube/deployment.yml.tt +50 -0
- data/lib/roro/templates/rails/roro/kube/deployments/postgres_deploy.yaml +47 -0
- data/lib/roro/templates/rails/roro/kube/deployments/rails_deploy.yaml +62 -0
- data/lib/roro/templates/rails/roro/kube/deployments/redis_deploy.yaml +23 -0
- data/lib/roro/templates/rails/roro/kube/deployments/sidekiq_deploy.yaml +56 -0
- data/lib/roro/{cli/templates/rails/roro/roro/containers/frontend/.keep → templates/rails/roro/kube/ingress.yml.tt} +0 -0
- data/lib/roro/templates/rails/roro/kube/ingresses/ingress.yaml +13 -0
- data/lib/roro/{cli/templates/ruby_gem/.circleci/.keep → templates/rails/roro/kube/job-migrate.yml.tt} +0 -0
- data/lib/roro/templates/rails/roro/kube/jobs/setup.yaml +42 -0
- data/lib/roro/templates/rails/roro/kube/secret-digital-ocean.yml.tt +4 -0
- data/lib/roro/templates/rails/roro/kube/service.yml.tt +10 -0
- data/lib/roro/templates/rails/roro/kube/services/postgres_svc.yaml +13 -0
- data/lib/roro/templates/rails/roro/kube/services/rails_svc.yaml +13 -0
- data/lib/roro/templates/rails/roro/kube/services/redis_svc.yaml +13 -0
- data/lib/roro/templates/rails/roro/kube/volumes/postgres_volumes.yaml +25 -0
- data/lib/roro/{cli/templates/ruby_gem/roro/containers → templates/ruby_gem/.circleci}/.keep +0 -0
- data/lib/roro/{cli/templates → templates}/ruby_gem/.circleci/config.yml.tt +4 -4
- data/lib/roro/templates/ruby_gem/.circleci/jobs/_test.yml +4 -0
- data/lib/roro/{cli/templates → templates}/ruby_gem/.circleci/setup-gem-credentials.sh +0 -0
- data/lib/roro/{cli/templates → templates}/ruby_gem/docker-compose.yml +0 -0
- data/lib/roro/{cli/templates/ruby_gem/roro/keys → templates/ruby_gem/roro/containers}/.keep +0 -0
- data/lib/roro/{cli/templates → templates}/ruby_gem/roro/containers/ruby_image/Dockerfile.tt +1 -1
- data/lib/roro/templates/ruby_gem/roro/containers/ruby_image/ci.env.tt +1 -0
- data/lib/roro/{cli/templates/stories → templates/ruby_gem/roro/keys}/.keep +0 -0
- data/lib/roro/version.rb +1 -1
- metadata +101 -80
- data/lib/roro/cli/base/base.rb +0 -8
- data/lib/roro/cli/base/base_files.rb +0 -24
- data/lib/roro/cli/base/check_dependencies.rb +0 -97
- data/lib/roro/cli/base/continuous_integration.rb +0 -13
- data/lib/roro/cli/base/utilities.rb +0 -38
- data/lib/roro/cli/configuration.rb +0 -69
- data/lib/roro/cli/generate/config.rb +0 -11
- data/lib/roro/cli/generate/config/rails.rb +0 -17
- data/lib/roro/cli/rollon/rails.rb +0 -47
- data/lib/roro/cli/rollon/stories/stories.rb +0 -3
- data/lib/roro/cli/roro_configurator.yml +0 -157
- data/lib/roro/cli/templates/base/.circleci/_defaults.yml +0 -17
- data/lib/roro/cli/templates/base/.roro_config.yml +0 -15
- data/lib/roro/cli/templates/rails/.circleci/jobs/_push.yml +0 -23
- data/lib/roro/cli/templates/rails/.circleci/jobs/_test.yml +0 -13
- data/lib/roro/cli/templates/rails/.circleci/workflows/_build_test_push.yml +0 -9
- data/lib/roro/cli/templates/rails/Dockerfile.greenfield.tt +0 -47
- data/lib/roro/cli/templates/rails/database/with_mysql/_service.yml +0 -10
- data/lib/roro/cli/templates/rails/database/with_postgresql/_service.yml +0 -7
- data/lib/roro/cli/templates/rails/dotenv/database.mysql.env.tt +0 -3
- data/lib/roro/cli/templates/rails/dotenv/database.pg.env.tt +0 -4
- data/lib/roro/cli/templates/rails/roro/containers/app/Dockerfile.tt +0 -88
- data/lib/roro/cli/templates/rails/roro/roro/docker-entrypoint.sh.tt +0 -8
- data/lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/ci.env.tt +0 -1
- data/lib/roro/cli/templates/stories/ruby_gem/with_ci_cd/_build.yml +0 -11
- data/lib/roro/cli/templates/stories/with_postgresql/.keep +0 -0
- data/lib/tasks/deploy.rake +0 -126
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,34 @@
|
|
1
|
+
## The FROM instruction below builds our first layer using an official image:
|
2
|
+
FROM ruby:<%= config[:ruby_version] %>-alpine
|
3
|
+
|
4
|
+
LABEL maintainer="<%= config[:docker_email] %> using RoRo"
|
5
|
+
|
6
|
+
# Add basic packages
|
7
|
+
RUN apk add --no-cache \
|
8
|
+
build-base \
|
9
|
+
postgresql-dev \
|
10
|
+
nodejs \
|
11
|
+
yarn \
|
12
|
+
tzdata \
|
13
|
+
file
|
14
|
+
|
15
|
+
## Set APP_HOME and BUNDLE_PATH as using ENV instructions:
|
16
|
+
ENV APP_HOME /usr/src/app/
|
17
|
+
ENV BUNDLE_PATH /gems
|
18
|
+
|
19
|
+
## Create both as directories to make sure they exist:
|
20
|
+
RUN mkdir -p ${APP_HOME}
|
21
|
+
RUN mkdir ${BUNDLE_PATH}
|
22
|
+
|
23
|
+
## Tell Docker to create volumes for our workspace and gems
|
24
|
+
## so other containers can access them.
|
25
|
+
|
26
|
+
RUN gem install bundler:2.1.4
|
27
|
+
|
28
|
+
WORKDIR ${APP_HOME}
|
29
|
+
|
30
|
+
COPY Gemfile* ./
|
31
|
+
|
32
|
+
RUN bundle --jobs 4
|
33
|
+
COPY . ${APP_HOME}
|
34
|
+
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# ./kube/deployment.yml
|
2
|
+
|
3
|
+
apiVersion: apps/v1
|
4
|
+
kind: Deployment
|
5
|
+
metadata:
|
6
|
+
name: <%= config[:main_app_name] %>-app-deployment
|
7
|
+
labels:
|
8
|
+
app: <%= config[:main_app_name] %>-app
|
9
|
+
tier: app
|
10
|
+
spec:
|
11
|
+
replicas: 2
|
12
|
+
minReadySeconds: 5
|
13
|
+
strategy:
|
14
|
+
type: RollingUpdate
|
15
|
+
rollingUpdate:
|
16
|
+
maxSurge: 1
|
17
|
+
maxUnavailable: 1
|
18
|
+
selector:
|
19
|
+
matchLabels:
|
20
|
+
app: <%= config[:main_app_name] %>-app
|
21
|
+
tier: app
|
22
|
+
template:
|
23
|
+
metadata:
|
24
|
+
labels:
|
25
|
+
app: rubytags
|
26
|
+
tier: app
|
27
|
+
spec:
|
28
|
+
imagePullSecrets:
|
29
|
+
- name: docker-registry
|
30
|
+
containers:
|
31
|
+
- name: <%= config[:main_app_name] %>-app
|
32
|
+
image: <%= config[:docker_org] %>/<%= config[:main_app_name] %>-app
|
33
|
+
imagePullPolicy: Always
|
34
|
+
ports:
|
35
|
+
- containerPort: 3000
|
36
|
+
env:
|
37
|
+
- name: RAILS_LOG_TO_STDOUT
|
38
|
+
value: 'true'
|
39
|
+
- name: SECRET_KEY_BASE
|
40
|
+
value: '$SECRET_KEY_BASE'
|
41
|
+
- name: RAILS_ENV
|
42
|
+
value: '$RAILS_ENV'
|
43
|
+
- name: DATABASE_USERNAME
|
44
|
+
value: '$DATABASE_USERNAME'
|
45
|
+
- name: DATABASE_PASSWORD
|
46
|
+
value: '$DATABASE_PASSWORD'
|
47
|
+
- name: DATABASE_HOST
|
48
|
+
value: '$DATABASE_HOST'
|
49
|
+
- name: DATABASE_PORT
|
50
|
+
value: '$DATABASE_PORT'
|
@@ -0,0 +1,47 @@
|
|
1
|
+
---
|
2
|
+
apiVersion: apps/v1beta2
|
3
|
+
kind: Deployment
|
4
|
+
metadata:
|
5
|
+
name: postgres
|
6
|
+
labels:
|
7
|
+
app: rails-kube-app
|
8
|
+
spec:
|
9
|
+
replicas: 1
|
10
|
+
selector:
|
11
|
+
matchLabels:
|
12
|
+
app: rails-kube-app
|
13
|
+
tier: database
|
14
|
+
template:
|
15
|
+
metadata:
|
16
|
+
name: postgres
|
17
|
+
labels:
|
18
|
+
app: rails-kube-app
|
19
|
+
tier: database
|
20
|
+
spec:
|
21
|
+
volumes:
|
22
|
+
- name: postgres-pv
|
23
|
+
persistentVolumeClaim:
|
24
|
+
claimName: postgres-pvc
|
25
|
+
containers:
|
26
|
+
- name: postgres
|
27
|
+
image: postgres:9.6-alpine
|
28
|
+
env:
|
29
|
+
- name: POSTGRES_USER
|
30
|
+
valueFrom:
|
31
|
+
secretKeyRef:
|
32
|
+
name: "db-user"
|
33
|
+
key: "username"
|
34
|
+
- name: POSTGRES_PASSWORD
|
35
|
+
valueFrom:
|
36
|
+
secretKeyRef:
|
37
|
+
name: "db-user-pass"
|
38
|
+
key: "password"
|
39
|
+
- name: POSTGRES_DB
|
40
|
+
value: "rails-kube-demo_production"
|
41
|
+
- name: PGDATA
|
42
|
+
value: "/var/lib/postgresql/data/pgdata"
|
43
|
+
ports:
|
44
|
+
- containerPort: 5432
|
45
|
+
volumeMounts:
|
46
|
+
- mountPath: "/var/lib/postgresql/data"
|
47
|
+
name: postgres-pv
|
@@ -0,0 +1,62 @@
|
|
1
|
+
---
|
2
|
+
apiVersion: apps/v1beta2
|
3
|
+
kind: Deployment
|
4
|
+
metadata:
|
5
|
+
name: rails-deployment
|
6
|
+
spec:
|
7
|
+
replicas: 1
|
8
|
+
minReadySeconds: 5
|
9
|
+
strategy:
|
10
|
+
type: RollingUpdate
|
11
|
+
rollingUpdate:
|
12
|
+
maxSurge: 1
|
13
|
+
maxUnavailable: 1
|
14
|
+
selector:
|
15
|
+
matchLabels:
|
16
|
+
app: rails-kube-app
|
17
|
+
tier: app
|
18
|
+
template:
|
19
|
+
metadata:
|
20
|
+
name: rails
|
21
|
+
labels:
|
22
|
+
app: rails-kube-app
|
23
|
+
tier: app
|
24
|
+
spec:
|
25
|
+
containers:
|
26
|
+
- name: rails
|
27
|
+
image: tzumby/rails-app-alpine:latest
|
28
|
+
args: ["rake assets:precompile && rails s -p 3000 -b 0.0.0.0"]
|
29
|
+
env:
|
30
|
+
- name: RAILS_LOG_TO_STDOUT
|
31
|
+
value: "true"
|
32
|
+
- name: RAILS_SERVE_STATIC_FILES
|
33
|
+
value: "true"
|
34
|
+
- name: DATABASE_NAME
|
35
|
+
value: "rails-kube-demo_production"
|
36
|
+
- name: DATABASE_PORT
|
37
|
+
value: "5432"
|
38
|
+
- name: DATABASE_URL
|
39
|
+
value: "postgres"
|
40
|
+
- name: DATABASE_USER
|
41
|
+
valueFrom:
|
42
|
+
secretKeyRef:
|
43
|
+
name: "db-user"
|
44
|
+
key: "username"
|
45
|
+
- name: DATABASE_PASSWORD
|
46
|
+
valueFrom:
|
47
|
+
secretKeyRef:
|
48
|
+
name: "db-user-pass"
|
49
|
+
key: "password"
|
50
|
+
- name: REDIS_URL
|
51
|
+
value: "redis"
|
52
|
+
- name: REDIS_PORT
|
53
|
+
value: "6379"
|
54
|
+
- name: RAILS_ENV
|
55
|
+
value: "production"
|
56
|
+
- name: SECRET_KEY_BASE
|
57
|
+
valueFrom:
|
58
|
+
secretKeyRef:
|
59
|
+
name: "secret-key-base"
|
60
|
+
key: "secret-key-base"
|
61
|
+
ports:
|
62
|
+
- containerPort: 3000
|
@@ -0,0 +1,23 @@
|
|
1
|
+
---
|
2
|
+
apiVersion: apps/v1beta2
|
3
|
+
kind: Deployment
|
4
|
+
metadata:
|
5
|
+
name: redis-deployment
|
6
|
+
spec:
|
7
|
+
replicas: 1
|
8
|
+
selector:
|
9
|
+
matchLabels:
|
10
|
+
app: rails-kube-app
|
11
|
+
tier: cache
|
12
|
+
template:
|
13
|
+
metadata:
|
14
|
+
name: redis
|
15
|
+
labels:
|
16
|
+
app: rails-kube-app
|
17
|
+
tier: cache
|
18
|
+
spec:
|
19
|
+
containers:
|
20
|
+
- name: redis
|
21
|
+
image: redis:3.2-alpine
|
22
|
+
ports:
|
23
|
+
- containerPort: 6379
|
@@ -0,0 +1,56 @@
|
|
1
|
+
---
|
2
|
+
apiVersion: apps/v1beta2
|
3
|
+
kind: Deployment
|
4
|
+
metadata:
|
5
|
+
name: sidekiq-deployment
|
6
|
+
spec:
|
7
|
+
replicas: 1
|
8
|
+
minReadySeconds: 5
|
9
|
+
strategy:
|
10
|
+
type: RollingUpdate
|
11
|
+
rollingUpdate:
|
12
|
+
maxSurge: 1
|
13
|
+
maxUnavailable: 1
|
14
|
+
selector:
|
15
|
+
matchLabels:
|
16
|
+
app: rails-kube-app
|
17
|
+
tier: queue
|
18
|
+
template:
|
19
|
+
metadata:
|
20
|
+
name: sidekiq
|
21
|
+
labels:
|
22
|
+
app: rails-kube-app
|
23
|
+
tier: queue
|
24
|
+
spec:
|
25
|
+
containers:
|
26
|
+
- name: sidekiq
|
27
|
+
image: tzumby/rails-app-alpine:latest
|
28
|
+
args: ["sidekiq -C config/sidekiq.yml"]
|
29
|
+
env:
|
30
|
+
- name: DATABASE_NAME
|
31
|
+
value: "rails-kube-demo_production"
|
32
|
+
- name: DATABASE_PORT
|
33
|
+
value: "5432"
|
34
|
+
- name: DATABASE_URL
|
35
|
+
value: "postgres"
|
36
|
+
- name: DATABASE_USER
|
37
|
+
valueFrom:
|
38
|
+
secretKeyRef:
|
39
|
+
name: "db-user"
|
40
|
+
key: "username"
|
41
|
+
- name: DATABASE_PASSWORD
|
42
|
+
valueFrom:
|
43
|
+
secretKeyRef:
|
44
|
+
name: "db-user-pass"
|
45
|
+
key: "password"
|
46
|
+
- name: REDIS_URL
|
47
|
+
value: "redis"
|
48
|
+
- name: REDIS_PORT
|
49
|
+
value: "6379"
|
50
|
+
- name: RAILS_ENV
|
51
|
+
value: "production"
|
52
|
+
- name: SECRET_KEY_BASE
|
53
|
+
valueFrom:
|
54
|
+
secretKeyRef:
|
55
|
+
name: "secret-key-base"
|
56
|
+
key: "secret-key-base"
|
File without changes
|
File without changes
|
@@ -0,0 +1,42 @@
|
|
1
|
+
apiVersion: batch/v1
|
2
|
+
kind: Job
|
3
|
+
metadata:
|
4
|
+
name: setup
|
5
|
+
spec:
|
6
|
+
template:
|
7
|
+
metadata:
|
8
|
+
name: setup
|
9
|
+
spec:
|
10
|
+
containers:
|
11
|
+
- name: setup
|
12
|
+
image: tzumby/rails-app-alpine:latest
|
13
|
+
args: ["rake db:create && rake db:migrate"]
|
14
|
+
env:
|
15
|
+
- name: DATABASE_NAME
|
16
|
+
value: "rails-kube-demo_production"
|
17
|
+
- name: DATABASE_PORT
|
18
|
+
value: "5432"
|
19
|
+
- name: DATABASE_URL
|
20
|
+
value: "postgres"
|
21
|
+
- name: DATABASE_USER
|
22
|
+
valueFrom:
|
23
|
+
secretKeyRef:
|
24
|
+
name: "db-user"
|
25
|
+
key: "username"
|
26
|
+
- name: DATABASE_PASSWORD
|
27
|
+
valueFrom:
|
28
|
+
secretKeyRef:
|
29
|
+
name: "db-user-pass"
|
30
|
+
key: "password"
|
31
|
+
- name: REDIS_URL
|
32
|
+
value: "redis"
|
33
|
+
- name: REDIS_PORT
|
34
|
+
value: "6379"
|
35
|
+
- name: RAILS_ENV
|
36
|
+
value: "production"
|
37
|
+
- name: SECRET_KEY_BASE
|
38
|
+
valueFrom:
|
39
|
+
secretKeyRef:
|
40
|
+
name: "secret-key-base"
|
41
|
+
key: "secret-key-base"
|
42
|
+
restartPolicy: Never
|
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
kind: PersistentVolume
|
3
|
+
apiVersion: v1
|
4
|
+
metadata:
|
5
|
+
name: postgres-pv
|
6
|
+
labels:
|
7
|
+
type: local
|
8
|
+
spec:
|
9
|
+
capacity:
|
10
|
+
storage: 4Gi
|
11
|
+
accessModes:
|
12
|
+
- ReadWriteOnce
|
13
|
+
hostPath:
|
14
|
+
path: "/tmp/data"
|
15
|
+
---
|
16
|
+
kind: PersistentVolumeClaim
|
17
|
+
apiVersion: v1
|
18
|
+
metadata:
|
19
|
+
name: postgres-pvc
|
20
|
+
spec:
|
21
|
+
accessModes:
|
22
|
+
- ReadWriteOnce
|
23
|
+
resources:
|
24
|
+
requests:
|
25
|
+
storage: 4Gi
|