roro 0.3.28 → 0.3.30
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 +24 -8
- data/.idea/.gitignore +8 -0
- data/.idea/inspectionProfiles/Project_Default.xml +6 -0
- data/.idea/misc.xml +4 -0
- data/.idea/modules.xml +8 -0
- data/.idea/roro.iml +116 -0
- data/.idea/vcs.xml +6 -0
- data/CODE_OF_CONDUCT.md +31 -77
- data/lib/roro/cli/generate/generate_containers.rb +0 -5
- data/lib/roro/cli.rb +8 -8
- data/lib/roro/configurators/adventure_chooser.rb +1 -0
- data/lib/roro/configurators/adventure_picker.rb +1 -0
- data/lib/roro/configurators/adventure_writer.rb +4 -1
- data/lib/roro/configurators/configurator.rb +15 -8
- data/lib/roro/configurators/dependency_satisfier.rb +136 -0
- data/lib/roro/configurators/question_asker.rb +3 -3
- data/lib/roro/configurators/structure_builder.rb +2 -0
- data/lib/roro/configurators/validator.rb +2 -0
- data/lib/roro/dependencies/base.yml +90 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/_django.yml +7 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/django.yml +2 -8
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/test/stage_one/stage_one_test.rb +1 -1
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/{stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/%interpolated_story_name%.yml.tt → languages/python/python.yml} +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/{stories/roll_your_own/templates/stage_one/%interpolated_stack_path% → languages/python}/templates/stage_one/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/{stories/roll_your_own/templates/stage_one/%interpolated_stack_path% → languages/python}/test/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/{stories/roll_your_own/templates/stage_one/%interpolated_stack_path% → languages/python}/test/stage_one/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/{stories/roll_your_own/templates/stage_one/%interpolated_stack_path% → languages/python}/test/stage_one/stage_dummy/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/python/test/stage_one/stage_test.rb +42 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/ruby.yml +10 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/rails.yml +36 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/{stories/roll_your_own/test/stage_one/dummy → languages/ruby/stories/rails/templates/stage_one}/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/templates/stage_one/Dockerfile.tt +26 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/6_1.yml +44 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/.env +6 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/Dockerfile.tt +28 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/config/database.yml +19 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/config/initializers/sidekiq.rb +13 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/docker-compose.yml.tt +57 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/{sashimi/stories/django/test/stage_one/dummy → okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/entrypoints}/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/entrypoints/docker-entrypoint.sh +9 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/entrypoints/sidekiq-entrypoint.sh +9 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/{sashimi/stories/django/test/stage_two/dummy → okonomi/languages/ruby/stories/rails/versions/6_1/test}/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/{sashimi/stories/rails/templates/stage_one/Gemfile.lock.tt → okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/.keep} +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/stage_dummy/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/stage_dummy/Gemfile +66 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/stage_test.rb +38 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/7_0.yml +38 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/.env +6 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/Dockerfile.tt +28 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/config/database.yml +19 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/config/initializers/sidekiq.rb +13 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/docker-compose.yml.tt +57 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/entrypoints/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/entrypoints/docker-entrypoint.sh +9 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/entrypoints/sidekiq-entrypoint.sh +9 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/stage_dummy/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/stage_dummy/Gemfile +66 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/stage_test.rb +37 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/okonomi.yml +4 -1
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/templates/stage_one/.dockerignore +18 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/.env +1 -1
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/test/stage_one/stage_test.rb +2 -10
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/sashimi.yml +1 -1
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/cert-manager.yml +32 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/echo1.yaml +32 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/echo2.yaml +32 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/echo_ingress.yaml.tt +18 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/prod_issuer.yaml.tt +19 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/staging_issuer.yaml.tt +19 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_2/echo_ingress.yaml.tt +25 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_3/echo_ingress.yaml.tt +25 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_3/ingress_nginx_svc.yaml.tt +31 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/test/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/test/stage_one/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/test/stage_one/stage_dummy/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/test/stage_one/stage_test.rb +32 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/rails.yml +48 -9
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/.env +4 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/.gitignore +55 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/docker-compose.yml.tt +36 -12
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/app-deployment.yaml.tt +72 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/app-service.yaml.tt +20 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/database-deployment.yaml.tt +59 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/database-service.yaml.tt +19 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/db-data-persistentvolumeclaim.yaml.tt +14 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/env-configmap.yaml.tt +12 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/redis-deployment.yaml.tt +33 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/redis-service.yaml.tt +19 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/secret.yaml.tt +11 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/sidekiq-deployment.yaml.tt +56 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/stage_one/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/stage_one/stage_dummy/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/stage_one/stage_test.rb +33 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/{okonomi → sashimi}/stories/roll_your_own/roll_your_own.yml +1 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/%interpolated_story_name%.yml.tt +10 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/templates/stage_one/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/stage_one/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/stage_one/stage_dummy/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/stage_one/stage_test.rb.tt +41 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/.gitignore.tt +55 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/test/stage_one/dummy/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/{okonomi → sashimi}/stories/roll_your_own/test/stage_one/stage_one_test.rb +2 -1
- data/lib/roro/version.rb +1 -1
- data/lib/roro.rb +4 -10
- data/mise/containers/backend/env/.keep +0 -0
- data/mise/containers/backend/scripts/.keep +0 -0
- data/mise/containers/database/env/.keep +0 -0
- data/mise/containers/database/scripts/.keep +0 -0
- data/mise/containers/frontend/env/.keep +0 -0
- data/mise/containers/frontend/scripts/.keep +0 -0
- data/mise/scripts/.keep +0 -0
- data/roro.gemspec +3 -3
- metadata +115 -72
- data/.ruby-version +0 -1
- data/lib/roro/cli/roll_your_own.rb +0 -12
- data/lib/roro/configurator.rb +0 -15
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/stage_one/stage_test.rb.tt +0 -37
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/django.yml +0 -36
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/Dockerfile.tt +0 -7
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/docker-compose.yml.tt +0 -20
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/requirements.txt.tt +0 -2
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_two/settings.py +0 -130
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/test/stage_one/stage_one_test.rb +0 -37
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/expressjs.yml +0 -7
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/templates/stage_one/Dockerfile.tt +0 -14
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/templates/stage_one/docker-compose.yml.tt +0 -21
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/Dockerfile.tt +0 -16
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/Gemfile.tt +0 -2
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/entrypoint.sh +0 -8
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_two/database.yml.tt +0 -16
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/__MACOSX/scripts/._.DS_Store +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/.DS_Store +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/bundler.sh +0 -22
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/git.sh +0 -21
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/rvm.sh +0 -38
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/utilities.sh +0 -53
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base.sh +0 -6
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/clone_idea.sh +0 -14
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/clone_repos.sh +0 -33
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/install_correct_bundler.sh +0 -21
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/install_rubies.sh +0 -6
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize.sh +0 -18
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/roro.sh +0 -15
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/source.sh +0 -28
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/bundle_all.sh +0 -12
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/git_pull_all.sh +0 -15
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/rvm_install_all.sh +0 -12
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/yarn_install_all.sh +0 -10
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/wordpress/templates/stage_one/docker-compose.yml.tt +0 -31
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/wordpress/wordpress.yml +0 -16
@@ -0,0 +1,25 @@
|
|
1
|
+
apiVersion: networking.k8s.io/v1beta1
|
2
|
+
kind: Ingress
|
3
|
+
metadata:
|
4
|
+
name: echo-ingress
|
5
|
+
annotations:
|
6
|
+
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
7
|
+
spec:
|
8
|
+
tls:
|
9
|
+
- hosts:
|
10
|
+
- echo1.<%= @env[:base][:domain_name][:value] %>
|
11
|
+
- echo2.<%= @env[:base][:domain_name][:value] %>
|
12
|
+
secretName: echo-tls
|
13
|
+
rules:
|
14
|
+
- host: echo1.<%= @env[:base][:domain_name][:value] %>
|
15
|
+
http:
|
16
|
+
paths:
|
17
|
+
- backend:
|
18
|
+
serviceName: echo1
|
19
|
+
servicePort: 80
|
20
|
+
- host: echo2.example.com
|
21
|
+
http:
|
22
|
+
paths:
|
23
|
+
- backend:
|
24
|
+
serviceName: echo2
|
25
|
+
servicePort: 80
|
@@ -0,0 +1,31 @@
|
|
1
|
+
apiVersion: v1
|
2
|
+
kind: Service
|
3
|
+
metadata:
|
4
|
+
annotations:
|
5
|
+
service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: 'true'
|
6
|
+
service.beta.kubernetes.io/do-loadbalancer-hostname: "workaround.bierstiefel.com"
|
7
|
+
labels:
|
8
|
+
helm.sh/chart: ingress-nginx-2.11.1
|
9
|
+
app.kubernetes.io/name: ingress-nginx
|
10
|
+
app.kubernetes.io/instance: ingress-nginx
|
11
|
+
app.kubernetes.io/version: 0.34.1
|
12
|
+
app.kubernetes.io/managed-by: Helm
|
13
|
+
app.kubernetes.io/component: controller
|
14
|
+
name: ingress-nginx-controller
|
15
|
+
namespace: ingress-nginx
|
16
|
+
spec:
|
17
|
+
type: LoadBalancer
|
18
|
+
externalTrafficPolicy: Local
|
19
|
+
ports:
|
20
|
+
- name: http
|
21
|
+
port: 80
|
22
|
+
protocol: TCP
|
23
|
+
targetPort: http
|
24
|
+
- name: https
|
25
|
+
port: 443
|
26
|
+
protocol: TCP
|
27
|
+
targetPort: https
|
28
|
+
selector:
|
29
|
+
app.kubernetes.io/name: ingress-nginx
|
30
|
+
app.kubernetes.io/instance: ingress-nginx
|
31
|
+
app.kubernetes.io/component: controller
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,32 @@
|
|
1
|
+
|
2
|
+
require 'test_helper'
|
3
|
+
|
4
|
+
describe 'kubernetes ingress nginx cert-manager' do
|
5
|
+
Given { skip }
|
6
|
+
Given(:workbench) { 'empty' }
|
7
|
+
Given(:cli) { Roro::CLI.new }
|
8
|
+
Given(:adventures) { %w[4] }
|
9
|
+
Given(:overrides) { %w[4 1] }
|
10
|
+
|
11
|
+
Given(:rollon) {
|
12
|
+
stub_adventure
|
13
|
+
stub_overrides
|
14
|
+
stub_run_actions
|
15
|
+
cli.rollon
|
16
|
+
}
|
17
|
+
|
18
|
+
Given { rollon unless adventures.empty?}
|
19
|
+
|
20
|
+
context 'when default variables interpolated' do
|
21
|
+
Then { assert_file "lib/roro" }
|
22
|
+
end
|
23
|
+
|
24
|
+
context 'when many items interpolated' do
|
25
|
+
Given(:contents) { [:env, :preface, :actions] }
|
26
|
+
Then {
|
27
|
+
contents.each { |c|
|
28
|
+
assert_file "lib/roro/stacks", c
|
29
|
+
}
|
30
|
+
}
|
31
|
+
end
|
32
|
+
end
|
@@ -1,12 +1,51 @@
|
|
1
|
-
preface:
|
2
|
-
|
1
|
+
preface: some string
|
2
|
+
|
3
|
+
depends_on:
|
4
|
+
- doctl
|
5
|
+
|
6
|
+
env:
|
7
|
+
base:
|
8
|
+
do_cluster_id:
|
9
|
+
name: Digital Ocean Kubernetes cluster id
|
10
|
+
value: 0e23750a-05a4-49f0-8fad-42a201995afc
|
11
|
+
help: https://docs.digitalocean.com/reference/doctl/reference/kubernetes/cluster/get/
|
12
|
+
do_cluster_name:
|
13
|
+
name: Digital Ocean Kubernetes cluster name
|
14
|
+
value: k8s-1-21-5-do-0-sfo3-1635359659910
|
15
|
+
help: https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/
|
16
|
+
domain_name:
|
17
|
+
name: Domain name people will use to find your app
|
18
|
+
value: bierstiefel.com
|
19
|
+
docker_hub_username:
|
20
|
+
name: The username you log into hub.docker.com with
|
21
|
+
value: dhusername
|
22
|
+
required: true
|
23
|
+
docker_hub_password:
|
24
|
+
name: The password you log into hub.docker.com with
|
25
|
+
value: dhpassword
|
26
|
+
required: true
|
27
|
+
docker_hub_organization:
|
28
|
+
name: The hub.docker.com organization for your image is often but not always the same as your username.
|
29
|
+
value: handsomefencer
|
30
|
+
app_name:
|
31
|
+
name: Name for your app
|
32
|
+
value: rails-kubernetes
|
33
|
+
DATABASE_NAME:
|
34
|
+
name: Database name
|
35
|
+
value: postgres
|
36
|
+
DATABASE_PASSWORD:
|
37
|
+
name: Database password
|
38
|
+
value: postgres
|
39
|
+
DATABASE_USER:
|
40
|
+
name: Database username
|
41
|
+
value: postgres
|
3
42
|
|
4
43
|
actions:
|
5
44
|
- directory 'stage_one', '.', @env
|
6
|
-
-
|
7
|
-
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
-
|
45
|
+
- run "doctl kubernetes cluster kubeconfig save \"#{@env[:base][:do_cluster_id][:value]}\""
|
46
|
+
- |
|
47
|
+
inside('k8s') do
|
48
|
+
run "kubectl create -f ./ --validate=true"
|
49
|
+
run "kubectl get pods -l io.kompose.service=app"
|
50
|
+
end
|
51
|
+
- run "kubectl exec $(kubectl get pods -o=name -l io.kompose.service=app) -- rake db:migrate"
|
@@ -0,0 +1,55 @@
|
|
1
|
+
/.bundle/
|
2
|
+
/.yardoc
|
3
|
+
/_yardoc/
|
4
|
+
/coverage/
|
5
|
+
/doc/
|
6
|
+
/pkg/
|
7
|
+
/spec/reports/
|
8
|
+
Gemfile.lock
|
9
|
+
.byebug_history
|
10
|
+
|
11
|
+
## circleci
|
12
|
+
process.yml
|
13
|
+
|
14
|
+
## roro
|
15
|
+
roro/**/*.env
|
16
|
+
roro/**/*.key
|
17
|
+
*.key
|
18
|
+
*.env
|
19
|
+
!/lib/roro/stacks/**/*.key
|
20
|
+
!/lib/roro/stacks/**/*.env
|
21
|
+
!test/**/*.key
|
22
|
+
!test/**/*.env
|
23
|
+
!/.gitignore
|
24
|
+
*.gem
|
25
|
+
tmp/*
|
26
|
+
!tmp/.keep
|
27
|
+
TUTORIAL.md
|
28
|
+
|
29
|
+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
30
|
+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
31
|
+
|
32
|
+
# User-specific stuff
|
33
|
+
.idea/**/workspace.xml
|
34
|
+
.idea/**/tasks.xml
|
35
|
+
.idea/**/usage.statistics.xml
|
36
|
+
.idea/**/dictionaries
|
37
|
+
.idea/**/shelf
|
38
|
+
|
39
|
+
# Generated files
|
40
|
+
.idea/**/contentModel.xml
|
41
|
+
|
42
|
+
# Sensitive or high-churn files
|
43
|
+
.idea/**/dataSources/
|
44
|
+
.idea/**/dataSources.ids
|
45
|
+
.idea/**/dataSources.local.xml
|
46
|
+
.idea/**/sqlDataSources.xml
|
47
|
+
.idea/**/dynamic.xml
|
48
|
+
.idea/**/uiDesigner.xml
|
49
|
+
.idea/**/dbnavigator.xml
|
50
|
+
|
51
|
+
# File-based project format
|
52
|
+
*.iws
|
53
|
+
|
54
|
+
# IntelliJ
|
55
|
+
out/
|
File without changes
|
@@ -1,17 +1,41 @@
|
|
1
|
-
version:
|
1
|
+
version: '3'
|
2
|
+
|
2
3
|
services:
|
3
|
-
|
4
|
-
image:
|
5
|
-
|
6
|
-
|
4
|
+
app:
|
5
|
+
image: <%= @env[:base][:docker_hub_organization][:value] %>/<%= @env[:base][:app_name][:value] %>
|
6
|
+
depends_on:
|
7
|
+
- database
|
8
|
+
- redis
|
9
|
+
ports:
|
10
|
+
- "3000:3000"
|
11
|
+
env_file: .env
|
7
12
|
environment:
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
13
|
+
RAILS_ENV: development
|
14
|
+
|
15
|
+
database:
|
16
|
+
image: postgres:12.1
|
12
17
|
volumes:
|
13
|
-
|
18
|
+
- db_data:/var/lib/postgresql/data
|
14
19
|
ports:
|
15
|
-
|
20
|
+
- "5432:5432"
|
21
|
+
environment:
|
22
|
+
PGDATA: /var/lib/postgresql/data/pgdata
|
23
|
+
|
24
|
+
redis:
|
25
|
+
image: redis:5.0.7
|
26
|
+
ports:
|
27
|
+
- "6379:6379"
|
28
|
+
|
29
|
+
sidekiq:
|
30
|
+
image: <%= @env[:base][:docker_hub_organization][:value] %>/<%= @env[:base][:app_name][:value] %>
|
16
31
|
depends_on:
|
17
|
-
|
32
|
+
- app
|
33
|
+
- database
|
34
|
+
- redis
|
35
|
+
env_file: .env
|
36
|
+
environment:
|
37
|
+
RAILS_ENV: development
|
38
|
+
entrypoint: ./entrypoints/sidekiq-entrypoint.sh
|
39
|
+
|
40
|
+
volumes:
|
41
|
+
db_data:
|
File without changes
|
@@ -0,0 +1,72 @@
|
|
1
|
+
apiVersion: apps/v1
|
2
|
+
kind: Deployment
|
3
|
+
metadata:
|
4
|
+
annotations:
|
5
|
+
kompose.cmd: kompose convert --out ./k8s
|
6
|
+
kompose.version: 1.22.0 (955b78124)
|
7
|
+
creationTimestamp: null
|
8
|
+
labels:
|
9
|
+
io.kompose.service: app
|
10
|
+
name: app
|
11
|
+
spec:
|
12
|
+
replicas: 1
|
13
|
+
selector:
|
14
|
+
matchLabels:
|
15
|
+
io.kompose.service: app
|
16
|
+
strategy: {}
|
17
|
+
template:
|
18
|
+
metadata:
|
19
|
+
annotations:
|
20
|
+
kompose.cmd: kompose convert --out ./k8s
|
21
|
+
kompose.version: 1.22.0 (955b78124)
|
22
|
+
creationTimestamp: null
|
23
|
+
labels:
|
24
|
+
io.kompose.service: app
|
25
|
+
spec:
|
26
|
+
containers:
|
27
|
+
- env:
|
28
|
+
- name: DATABASE_HOST
|
29
|
+
valueFrom:
|
30
|
+
configMapKeyRef:
|
31
|
+
key: DATABASE_HOST
|
32
|
+
name: env
|
33
|
+
- name: DATABASE_PORT
|
34
|
+
valueFrom:
|
35
|
+
configMapKeyRef:
|
36
|
+
key: DATABASE_PORT
|
37
|
+
name: env
|
38
|
+
- name: RAILS_ENV
|
39
|
+
value: development
|
40
|
+
- name: REDIS_HOST
|
41
|
+
valueFrom:
|
42
|
+
configMapKeyRef:
|
43
|
+
key: REDIS_HOST
|
44
|
+
name: env
|
45
|
+
- name: REDIS_PORT
|
46
|
+
valueFrom:
|
47
|
+
configMapKeyRef:
|
48
|
+
key: REDIS_PORT
|
49
|
+
name: env
|
50
|
+
- name: DATABASE_NAME
|
51
|
+
valueFrom:
|
52
|
+
secretKeyRef:
|
53
|
+
name: database-secret
|
54
|
+
key: DATABASE_NAME
|
55
|
+
- name: DATABASE_PASSWORD
|
56
|
+
valueFrom:
|
57
|
+
secretKeyRef:
|
58
|
+
name: database-secret
|
59
|
+
key: DATABASE_PASSWORD
|
60
|
+
- name: DATABASE_USER
|
61
|
+
valueFrom:
|
62
|
+
secretKeyRef:
|
63
|
+
name: database-secret
|
64
|
+
key: DATABASE_USER
|
65
|
+
|
66
|
+
image: handsomefencer/rails-kubernetes
|
67
|
+
name: app
|
68
|
+
ports:
|
69
|
+
- containerPort: 3000
|
70
|
+
resources: {}
|
71
|
+
restartPolicy: Always
|
72
|
+
status: {}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
apiVersion: v1
|
2
|
+
kind: Service
|
3
|
+
metadata:
|
4
|
+
annotations:
|
5
|
+
kompose.cmd: kompose convert --out ./k8s
|
6
|
+
kompose.version: 1.22.0 (955b78124)
|
7
|
+
creationTimestamp: null
|
8
|
+
labels:
|
9
|
+
io.kompose.service: app
|
10
|
+
name: app
|
11
|
+
spec:
|
12
|
+
type: LoadBalancer
|
13
|
+
ports:
|
14
|
+
- name: "3000"
|
15
|
+
port: 3000
|
16
|
+
targetPort: 3000
|
17
|
+
selector:
|
18
|
+
io.kompose.service: app
|
19
|
+
status:
|
20
|
+
loadBalancer: {}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
apiVersion: apps/v1
|
2
|
+
kind: Deployment
|
3
|
+
metadata:
|
4
|
+
annotations:
|
5
|
+
kompose.cmd: kompose convert --out ./k8s
|
6
|
+
kompose.version: 1.22.0 (955b78124)
|
7
|
+
creationTimestamp: null
|
8
|
+
labels:
|
9
|
+
io.kompose.service: database
|
10
|
+
name: database
|
11
|
+
spec:
|
12
|
+
replicas: 1
|
13
|
+
selector:
|
14
|
+
matchLabels:
|
15
|
+
io.kompose.service: database
|
16
|
+
strategy:
|
17
|
+
type: Recreate
|
18
|
+
template:
|
19
|
+
metadata:
|
20
|
+
annotations:
|
21
|
+
kompose.cmd: kompose convert --out ./k8s
|
22
|
+
kompose.version: 1.22.0 (955b78124)
|
23
|
+
creationTimestamp: null
|
24
|
+
labels:
|
25
|
+
io.kompose.service: database
|
26
|
+
spec:
|
27
|
+
containers:
|
28
|
+
- env:
|
29
|
+
- name: PGDATA
|
30
|
+
value: /var/lib/postgresql/data/pgdata
|
31
|
+
- name: POSTGRES_DB
|
32
|
+
valueFrom:
|
33
|
+
secretKeyRef:
|
34
|
+
name: database-secret
|
35
|
+
key: POSTGRES_DB
|
36
|
+
- name: POSTGRES_PASSWORD
|
37
|
+
valueFrom:
|
38
|
+
secretKeyRef:
|
39
|
+
name: database-secret
|
40
|
+
key: POSTGRES_PASSWORD
|
41
|
+
- name: POSTGRES_USER
|
42
|
+
valueFrom:
|
43
|
+
secretKeyRef:
|
44
|
+
name: database-secret
|
45
|
+
key: POSTGRES_USER
|
46
|
+
image: postgres:12.1
|
47
|
+
name: database
|
48
|
+
ports:
|
49
|
+
- containerPort: 5432
|
50
|
+
resources: {}
|
51
|
+
volumeMounts:
|
52
|
+
- mountPath: /var/lib/postgresql/data
|
53
|
+
name: db-data
|
54
|
+
restartPolicy: Always
|
55
|
+
volumes:
|
56
|
+
- name: db-data
|
57
|
+
persistentVolumeClaim:
|
58
|
+
claimName: db-data
|
59
|
+
status: {}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
apiVersion: v1
|
2
|
+
kind: Service
|
3
|
+
metadata:
|
4
|
+
annotations:
|
5
|
+
kompose.cmd: kompose convert --out ./k8s
|
6
|
+
kompose.version: 1.22.0 (955b78124)
|
7
|
+
creationTimestamp: null
|
8
|
+
labels:
|
9
|
+
io.kompose.service: database
|
10
|
+
name: database
|
11
|
+
spec:
|
12
|
+
ports:
|
13
|
+
- name: "5432"
|
14
|
+
port: 5432
|
15
|
+
targetPort: 5432
|
16
|
+
selector:
|
17
|
+
io.kompose.service: database
|
18
|
+
status:
|
19
|
+
loadBalancer: {}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
apiVersion: apps/v1
|
2
|
+
kind: Deployment
|
3
|
+
metadata:
|
4
|
+
annotations:
|
5
|
+
kompose.cmd: kompose convert --out ./k8s
|
6
|
+
kompose.version: 1.22.0 (955b78124)
|
7
|
+
creationTimestamp: null
|
8
|
+
labels:
|
9
|
+
io.kompose.service: redis
|
10
|
+
name: redis
|
11
|
+
spec:
|
12
|
+
replicas: 1
|
13
|
+
selector:
|
14
|
+
matchLabels:
|
15
|
+
io.kompose.service: redis
|
16
|
+
strategy: {}
|
17
|
+
template:
|
18
|
+
metadata:
|
19
|
+
annotations:
|
20
|
+
kompose.cmd: kompose convert --out ./k8s
|
21
|
+
kompose.version: 1.22.0 (955b78124)
|
22
|
+
creationTimestamp: null
|
23
|
+
labels:
|
24
|
+
io.kompose.service: redis
|
25
|
+
spec:
|
26
|
+
containers:
|
27
|
+
- image: redis:5.0.7
|
28
|
+
name: redis
|
29
|
+
ports:
|
30
|
+
- containerPort: 6379
|
31
|
+
resources: {}
|
32
|
+
restartPolicy: Always
|
33
|
+
status: {}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
apiVersion: v1
|
2
|
+
kind: Service
|
3
|
+
metadata:
|
4
|
+
annotations:
|
5
|
+
kompose.cmd: kompose convert --out ./k8s
|
6
|
+
kompose.version: 1.22.0 (955b78124)
|
7
|
+
creationTimestamp: null
|
8
|
+
labels:
|
9
|
+
io.kompose.service: redis
|
10
|
+
name: redis
|
11
|
+
spec:
|
12
|
+
ports:
|
13
|
+
- name: "6379"
|
14
|
+
port: 6379
|
15
|
+
targetPort: 6379
|
16
|
+
selector:
|
17
|
+
io.kompose.service: redis
|
18
|
+
status:
|
19
|
+
loadBalancer: {}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
apiVersion: v1
|
2
|
+
kind: Secret
|
3
|
+
metadata:
|
4
|
+
name: database-secret
|
5
|
+
data:
|
6
|
+
DATABASE_NAME: <%= Base64.encode64(@env[:base][:DATABASE_NAME][:value]) %>
|
7
|
+
DATABASE_PASSWORD: <%= Base64.encode64(@env[:base][:DATABASE_PASSWORD][:value]) %>
|
8
|
+
DATABASE_USER: <%= Base64.encode64(@env[:base][:DATABASE_USER][:value]) %>
|
9
|
+
POSTGRES_DB: <%= Base64.encode64(@env[:base][:DATABASE_NAME][:value]) %>
|
10
|
+
POSTGRES_PASSWORD: <%= Base64.encode64(@env[:base][:DATABASE_PASSWORD][:value]) %>
|
11
|
+
POSTGRES_USER: <%= Base64.encode64(@env[:base][:DATABASE_USER][:value]) %>
|
@@ -0,0 +1,56 @@
|
|
1
|
+
apiVersion: apps/v1
|
2
|
+
kind: Deployment
|
3
|
+
metadata:
|
4
|
+
annotations:
|
5
|
+
kompose.cmd: kompose convert --out ./k8s
|
6
|
+
kompose.version: 1.22.0 (955b78124)
|
7
|
+
creationTimestamp: null
|
8
|
+
labels:
|
9
|
+
io.kompose.service: sidekiq
|
10
|
+
name: sidekiq
|
11
|
+
spec:
|
12
|
+
replicas: 1
|
13
|
+
selector:
|
14
|
+
matchLabels:
|
15
|
+
io.kompose.service: sidekiq
|
16
|
+
strategy: {}
|
17
|
+
template:
|
18
|
+
metadata:
|
19
|
+
annotations:
|
20
|
+
kompose.cmd: kompose convert --out ./k8s
|
21
|
+
kompose.version: 1.22.0 (955b78124)
|
22
|
+
creationTimestamp: null
|
23
|
+
labels:
|
24
|
+
io.kompose.service: sidekiq
|
25
|
+
spec:
|
26
|
+
containers:
|
27
|
+
- command:
|
28
|
+
- ./entrypoints/sidekiq-entrypoint.sh
|
29
|
+
env:
|
30
|
+
- name: DATABASE_HOST
|
31
|
+
valueFrom:
|
32
|
+
configMapKeyRef:
|
33
|
+
key: DATABASE_HOST
|
34
|
+
name: env
|
35
|
+
- name: DATABASE_PORT
|
36
|
+
valueFrom:
|
37
|
+
configMapKeyRef:
|
38
|
+
key: DATABASE_PORT
|
39
|
+
name: env
|
40
|
+
- name: RAILS_ENV
|
41
|
+
value: development
|
42
|
+
- name: REDIS_HOST
|
43
|
+
valueFrom:
|
44
|
+
configMapKeyRef:
|
45
|
+
key: REDIS_HOST
|
46
|
+
name: env
|
47
|
+
- name: REDIS_PORT
|
48
|
+
valueFrom:
|
49
|
+
configMapKeyRef:
|
50
|
+
key: REDIS_PORT
|
51
|
+
name: env
|
52
|
+
image: handsomefencer/rails-kubernetes
|
53
|
+
name: sidekiq
|
54
|
+
resources: {}
|
55
|
+
restartPolicy: Always
|
56
|
+
status: {}
|
File without changes
|
data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/stage_one/.keep
ADDED
File without changes
|
File without changes
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
describe 'lib roro stacks catalog unstoppable developer_styles sashimi stories rails' do
|
4
|
+
Given(:workbench) { 'empty' }
|
5
|
+
Given(:cli) { Roro::CLI.new }
|
6
|
+
Given(:adventures) { %w[4 2] }
|
7
|
+
Given(:overrides) { %w[] }
|
8
|
+
|
9
|
+
Given(:rollon) {
|
10
|
+
stub_adventure
|
11
|
+
stub_overrides
|
12
|
+
stub_run_actions
|
13
|
+
stub_dependencies_installed
|
14
|
+
quiet { cli.rollon }
|
15
|
+
# cli.rollon
|
16
|
+
}
|
17
|
+
|
18
|
+
|
19
|
+
Given { rollon unless adventures.empty?}
|
20
|
+
|
21
|
+
Given(:contents) { [ /version: '3'/, /entrypoints\/sidekiq-entrypoint\.sh/] }
|
22
|
+
|
23
|
+
describe 'docker-compose.yml' do
|
24
|
+
When(:installed) { false }
|
25
|
+
# Then { contents.each { |c| assert_file "docker-compose.yml", c } }
|
26
|
+
end
|
27
|
+
|
28
|
+
describe 'k8s manifests' do
|
29
|
+
# Then { assert_file "k8s/app-deployment.yaml", /image: handsomefencer\/rails-kubernetes/ }
|
30
|
+
# And { assert_file "k8s/database-deployment.yaml", /name: database-secret/ }
|
31
|
+
# And { assert_file "k8s/secret.yaml", /DATABASE_NAME: cG9zdGdyZXM=/ }
|
32
|
+
end
|
33
|
+
end
|
File without changes
|
File without changes
|