roro 0.3.28 → 0.3.30
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.
- 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,66 @@
|
|
|
1
|
+
source "https://rubygems.org"
|
|
2
|
+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
|
3
|
+
|
|
4
|
+
ruby "3.0.2"
|
|
5
|
+
|
|
6
|
+
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
|
|
7
|
+
gem "rails", "~> 7.0.0.alpha2"
|
|
8
|
+
|
|
9
|
+
# Use postgresql as the database for Active Record
|
|
10
|
+
gem "pg", "~> 1.1"
|
|
11
|
+
|
|
12
|
+
# Use the Puma web server [https://github.com/puma/puma]
|
|
13
|
+
gem "puma", "~> 5.0"
|
|
14
|
+
|
|
15
|
+
# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
|
|
16
|
+
gem "importmap-rails", ">= 0.3.4"
|
|
17
|
+
|
|
18
|
+
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
|
|
19
|
+
gem "turbo-rails", ">= 0.7.11"
|
|
20
|
+
|
|
21
|
+
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
|
|
22
|
+
gem "stimulus-rails", ">= 0.4.0"
|
|
23
|
+
|
|
24
|
+
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
|
|
25
|
+
gem "jbuilder", "~> 2.7"
|
|
26
|
+
|
|
27
|
+
# Use Redis adapter to run Action Cable in production
|
|
28
|
+
# gem "redis", "~> 4.0"
|
|
29
|
+
|
|
30
|
+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
|
31
|
+
gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ]
|
|
32
|
+
|
|
33
|
+
# Reduces boot times through caching; required in config/boot.rb
|
|
34
|
+
gem "bootsnap", ">= 1.4.4", require: false
|
|
35
|
+
|
|
36
|
+
# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
|
|
37
|
+
# gem "bcrypt", "~> 3.1.7"
|
|
38
|
+
|
|
39
|
+
# Use Sass to process CSS
|
|
40
|
+
# gem "sassc-rails", "~> 2.1"
|
|
41
|
+
|
|
42
|
+
# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
|
|
43
|
+
# gem "image_processing", "~> 1.2"
|
|
44
|
+
|
|
45
|
+
group :development, :test do
|
|
46
|
+
# Start debugger with binding.b [https://github.com/ruby/debug]
|
|
47
|
+
gem "debug", ">= 1.0.0", platforms: %i[ mri mingw x64_mingw ]
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
group :development do
|
|
51
|
+
# Use console on exceptions pages [https://github.com/rails/web-console]
|
|
52
|
+
gem "web-console", ">= 4.1.0"
|
|
53
|
+
|
|
54
|
+
# Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
|
|
55
|
+
# gem "rack-mini-profiler", ">= 2.3.3"
|
|
56
|
+
|
|
57
|
+
# Speed up commands on slow machines / big apps [https://github.com/rails/spring]
|
|
58
|
+
# gem "spring"
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
group :test do
|
|
62
|
+
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
|
|
63
|
+
gem "capybara", ">= 3.26"
|
|
64
|
+
gem "selenium-webdriver"
|
|
65
|
+
gem "webdrivers"
|
|
66
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
describe 'lib roro stacks catalog unstoppable developer_styles okonomi languages ruby stories rails versions 7_0' do
|
|
4
|
+
Given(:workbench) { 'empty' }
|
|
5
|
+
Given(:cli) { Roro::CLI.new }
|
|
6
|
+
Given(:adventures) { %w[ 2 2 1 1 ] }
|
|
7
|
+
Given(:overrides) { %w[] }
|
|
8
|
+
|
|
9
|
+
Given(:rollon) {
|
|
10
|
+
# copy_stage_dummy(__dir__)
|
|
11
|
+
stubs_dependencies_met?
|
|
12
|
+
stubs_yes?
|
|
13
|
+
stub_adventure
|
|
14
|
+
stub_overrides
|
|
15
|
+
stub_run_actions
|
|
16
|
+
# quiet { cli.rollon }
|
|
17
|
+
cli.rollon
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
Given { rollon unless adventures.empty?}
|
|
21
|
+
|
|
22
|
+
describe 'must generate a' do
|
|
23
|
+
describe 'Gemfile with the correct rails version' do
|
|
24
|
+
focus
|
|
25
|
+
Then { assert_file 'Gemfile', /gem \"rails\", \"~> 6.1/ }
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
describe 'Dockerfile' do
|
|
29
|
+
describe 'ruby version' do
|
|
30
|
+
Then { assert_file 'Dockerfile', /FROM ruby:3.0/ }
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
describe 'yarn install command' do
|
|
34
|
+
Then { assert_file 'Dockerfile', /RUN yarn install/ }
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
preface: some string
|
|
2
|
+
|
|
3
|
+
#depends_on:
|
|
4
|
+
# - git
|
|
5
|
+
# - docker
|
|
6
|
+
env:
|
|
7
|
+
base:
|
|
8
|
+
git_config_user_name:
|
|
9
|
+
name: The name you'd like associated with git activities
|
|
10
|
+
value: Jane Doe
|
|
11
|
+
git_config_user_email:
|
|
12
|
+
name: The email address you'd like associated with git activities
|
|
13
|
+
value: jane.doe@example.com
|
|
14
|
+
rails_version:
|
|
15
|
+
name: Ruby on Rails minor version
|
|
16
|
+
value: 7.0.0.alpha2
|
|
17
|
+
JOB_WORKER_URL:
|
|
18
|
+
name: Reids job worker url
|
|
19
|
+
value: redis://redis:6379/0
|
|
20
|
+
REDIS_URL:
|
|
21
|
+
name: Reids url
|
|
22
|
+
value: redis://redis:6379/0
|
|
23
|
+
|
|
24
|
+
actions:
|
|
25
|
+
- run 'sudo chown -R $USER:$USER .'
|
|
26
|
+
- directory "stage_one", '.', @env
|
|
27
|
+
- |
|
|
28
|
+
generator = Roro::CLI.new
|
|
29
|
+
generator.generate_mise
|
|
30
|
+
generator.generate_containers 'app', 'database', 'redis', 'sidekiq'
|
|
31
|
+
generator.generate_environments @env
|
|
32
|
+
generator.generate_keys
|
|
33
|
+
- chmod 'entrypoints/docker-entrypoint.sh', 0755
|
|
34
|
+
- chmod 'entrypoints/sidekiq-entrypoint.sh', 0755
|
|
35
|
+
- insert_into_file 'Gemfile', "gem 'sidekiq', '~>6.0.0'", :before => "\ngroup :development, :test do"
|
|
36
|
+
- run "sudo docker-compose build"
|
|
37
|
+
- run "sudo docker-compose run app rake db:create"
|
|
38
|
+
- run "sudo docker-compose up"
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
FROM ruby:<%= @env[:base][:ruby_version][:value] %>-alpine AS builder
|
|
2
|
+
|
|
3
|
+
RUN apk add \
|
|
4
|
+
build-base \
|
|
5
|
+
postgresql-dev
|
|
6
|
+
|
|
7
|
+
RUN apk add --update\
|
|
8
|
+
file \
|
|
9
|
+
git \
|
|
10
|
+
nodejs \
|
|
11
|
+
tzdata \
|
|
12
|
+
yarn
|
|
13
|
+
|
|
14
|
+
RUN gem install bundler:<%= @env[:base][:bundler_version][:value] %>
|
|
15
|
+
|
|
16
|
+
WORKDIR /app
|
|
17
|
+
|
|
18
|
+
## Install standard gems
|
|
19
|
+
COPY Gemfile Gemfile.lock ./
|
|
20
|
+
RUN bundle install -j4 --retry 3
|
|
21
|
+
|
|
22
|
+
RUN yarn install
|
|
23
|
+
|
|
24
|
+
COPY . ./
|
|
25
|
+
|
|
26
|
+
RUN bundle install
|
|
27
|
+
|
|
28
|
+
CMD ["./entrypoints/docker-entrypoint.sh"]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
default: &default
|
|
2
|
+
adapter: postgresql
|
|
3
|
+
encoding: unicode
|
|
4
|
+
host: <%= ENV.fetch('DATABASE_HOST') %>
|
|
5
|
+
username: <%= ENV.fetch('POSTGRES_USERNAME') %>
|
|
6
|
+
password: <%= ENV.fetch('DATABASE_PASSWORD') %>
|
|
7
|
+
database: <%= ENV.fetch('DATABASE_NAME') %>
|
|
8
|
+
pool: 5
|
|
9
|
+
variables:
|
|
10
|
+
statement_timeout: 5000
|
|
11
|
+
|
|
12
|
+
development:
|
|
13
|
+
<<: *default
|
|
14
|
+
|
|
15
|
+
test:
|
|
16
|
+
<<: *default
|
|
17
|
+
|
|
18
|
+
production:
|
|
19
|
+
<<: *default
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Sidekiq.configure_server do |config|
|
|
2
|
+
config.redis = {
|
|
3
|
+
host: ENV['REDIS_HOST'],
|
|
4
|
+
port: ENV['REDIS_PORT'] || '6379'
|
|
5
|
+
}
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
Sidekiq.configure_client do |config|
|
|
9
|
+
config.redis = {
|
|
10
|
+
host: ENV['REDIS_HOST'],
|
|
11
|
+
port: ENV['REDIS_PORT'] || '6379'
|
|
12
|
+
}
|
|
13
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
version: '3.4'
|
|
2
|
+
|
|
3
|
+
services:
|
|
4
|
+
app:
|
|
5
|
+
build:
|
|
6
|
+
context: .
|
|
7
|
+
dockerfile: Dockerfile
|
|
8
|
+
depends_on:
|
|
9
|
+
- database
|
|
10
|
+
- redis
|
|
11
|
+
ports:
|
|
12
|
+
- "3000:3000"
|
|
13
|
+
volumes:
|
|
14
|
+
- .:/app
|
|
15
|
+
- gem_cache:/usr/local/bundle/gems
|
|
16
|
+
- node_modules:/app/node_modules
|
|
17
|
+
env_file:
|
|
18
|
+
- ./mise/env/base.env
|
|
19
|
+
- ./mise/env/development.env
|
|
20
|
+
environment:
|
|
21
|
+
RAILS_ENV: development
|
|
22
|
+
|
|
23
|
+
database:
|
|
24
|
+
image: postgres:12.1
|
|
25
|
+
volumes:
|
|
26
|
+
- db_data:/var/lib/postgresql/data
|
|
27
|
+
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
|
|
28
|
+
|
|
29
|
+
redis:
|
|
30
|
+
image: redis
|
|
31
|
+
env_file:
|
|
32
|
+
- ./mise/env/base.env
|
|
33
|
+
- ./mise/env/development.env
|
|
34
|
+
|
|
35
|
+
sidekiq:
|
|
36
|
+
build:
|
|
37
|
+
context: .
|
|
38
|
+
dockerfile: Dockerfile
|
|
39
|
+
depends_on:
|
|
40
|
+
- app
|
|
41
|
+
- database
|
|
42
|
+
- redis
|
|
43
|
+
volumes:
|
|
44
|
+
- .:/app
|
|
45
|
+
- gem_cache:/usr/local/bundle/gems
|
|
46
|
+
- node_modules:/app/node_modules
|
|
47
|
+
env_file:
|
|
48
|
+
- ./mise/env/base.env
|
|
49
|
+
- ./mise/env/development.env
|
|
50
|
+
environment:
|
|
51
|
+
RAILS_ENV: development
|
|
52
|
+
entrypoint: ./entrypoints/sidekiq-entrypoint.sh
|
|
53
|
+
|
|
54
|
+
volumes:
|
|
55
|
+
gem_cache:
|
|
56
|
+
db_data:
|
|
57
|
+
node_modules:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
source "https://rubygems.org"
|
|
2
|
+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
|
3
|
+
|
|
4
|
+
ruby "3.0.2"
|
|
5
|
+
|
|
6
|
+
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
|
|
7
|
+
gem "rails", "~> 7.0.0.alpha2"
|
|
8
|
+
|
|
9
|
+
# Use postgresql as the database for Active Record
|
|
10
|
+
gem "pg", "~> 1.1"
|
|
11
|
+
|
|
12
|
+
# Use the Puma web server [https://github.com/puma/puma]
|
|
13
|
+
gem "puma", "~> 5.0"
|
|
14
|
+
|
|
15
|
+
# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
|
|
16
|
+
gem "importmap-rails", ">= 0.3.4"
|
|
17
|
+
|
|
18
|
+
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
|
|
19
|
+
gem "turbo-rails", ">= 0.7.11"
|
|
20
|
+
|
|
21
|
+
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
|
|
22
|
+
gem "stimulus-rails", ">= 0.4.0"
|
|
23
|
+
|
|
24
|
+
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
|
|
25
|
+
gem "jbuilder", "~> 2.7"
|
|
26
|
+
|
|
27
|
+
# Use Redis adapter to run Action Cable in production
|
|
28
|
+
# gem "redis", "~> 4.0"
|
|
29
|
+
|
|
30
|
+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
|
31
|
+
gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ]
|
|
32
|
+
|
|
33
|
+
# Reduces boot times through caching; required in config/boot.rb
|
|
34
|
+
gem "bootsnap", ">= 1.4.4", require: false
|
|
35
|
+
|
|
36
|
+
# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
|
|
37
|
+
# gem "bcrypt", "~> 3.1.7"
|
|
38
|
+
|
|
39
|
+
# Use Sass to process CSS
|
|
40
|
+
# gem "sassc-rails", "~> 2.1"
|
|
41
|
+
|
|
42
|
+
# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
|
|
43
|
+
# gem "image_processing", "~> 1.2"
|
|
44
|
+
|
|
45
|
+
group :development, :test do
|
|
46
|
+
# Start debugger with binding.b [https://github.com/ruby/debug]
|
|
47
|
+
gem "debug", ">= 1.0.0", platforms: %i[ mri mingw x64_mingw ]
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
group :development do
|
|
51
|
+
# Use console on exceptions pages [https://github.com/rails/web-console]
|
|
52
|
+
gem "web-console", ">= 4.1.0"
|
|
53
|
+
|
|
54
|
+
# Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
|
|
55
|
+
# gem "rack-mini-profiler", ">= 2.3.3"
|
|
56
|
+
|
|
57
|
+
# Speed up commands on slow machines / big apps [https://github.com/rails/spring]
|
|
58
|
+
# gem "spring"
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
group :test do
|
|
62
|
+
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
|
|
63
|
+
gem "capybara", ">= 3.26"
|
|
64
|
+
gem "selenium-webdriver"
|
|
65
|
+
gem "webdrivers"
|
|
66
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
describe 'lib roro stacks catalog unstoppable developer_styles okonomi languages ruby stories rails versions 7_0' do
|
|
4
|
+
Given(:workbench) { 'empty' }
|
|
5
|
+
Given(:cli) { Roro::CLI.new }
|
|
6
|
+
Given(:adventures) { %w[ 2 2 1 1 ] }
|
|
7
|
+
Given(:overrides) { %w[] }
|
|
8
|
+
|
|
9
|
+
Given(:rollon) {
|
|
10
|
+
copy_stage_dummy(__dir__)
|
|
11
|
+
stubs_dependencies_met?
|
|
12
|
+
stubs_yes?
|
|
13
|
+
stub_adventure
|
|
14
|
+
stub_overrides
|
|
15
|
+
stub_run_actions
|
|
16
|
+
# quiet { cli.rollon }
|
|
17
|
+
cli.rollon
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
Given { rollon unless adventures.empty?}
|
|
21
|
+
|
|
22
|
+
describe 'must generate a' do
|
|
23
|
+
describe 'Gemfile with the correct rails version' do
|
|
24
|
+
Then { assert_file 'Gemfile', /gem \"rails\", \"~> 7.0.0.alpha2/ }
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
describe 'Dockerfile' do
|
|
28
|
+
describe 'ruby version' do
|
|
29
|
+
Then { assert_file 'Dockerfile', /FROM ruby:3.0/ }
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
describe 'yarn install command' do
|
|
33
|
+
Then { assert_file 'Dockerfile', /RUN yarn install/ }
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -4,23 +4,15 @@ describe 'lib roro stacks catalog unstoppable developer_styles omakase stories w
|
|
|
4
4
|
Given(:workbench) { 'empty' }
|
|
5
5
|
Given(:cli) { Roro::CLI.new }
|
|
6
6
|
Given(:adventures) { %w[3 2] }
|
|
7
|
-
Given(:overrides) {
|
|
8
|
-
|
|
7
|
+
Given(:overrides) { [''] }
|
|
9
8
|
Given(:rollon) {
|
|
10
|
-
## Answers adventure questions according to values set in the :adventures array.
|
|
11
9
|
stub_adventure
|
|
12
|
-
## Answers environment variable questions according to values set in
|
|
13
|
-
# the overrides array. Defaults to 'y'.
|
|
14
10
|
stub_overrides
|
|
15
|
-
## Ensures Thor run commands are stubbed.
|
|
16
11
|
stub_run_actions
|
|
17
12
|
cli.rollon
|
|
18
|
-
## To quiet the test output do:
|
|
19
|
-
# quiet { cli.rollon }
|
|
20
13
|
}
|
|
21
14
|
|
|
22
|
-
|
|
23
|
-
Given { rollon unless adventures.empty?}
|
|
15
|
+
Given { quiet { rollon } unless adventures.empty?}
|
|
24
16
|
|
|
25
17
|
describe 'must have docker-compose.yml file' do
|
|
26
18
|
Then { assert_file 'docker-compose.yml' }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
preface:
|
|
1
|
+
preface: Raw fish.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
preface: some string
|
|
2
|
+
|
|
3
|
+
env:
|
|
4
|
+
base:
|
|
5
|
+
do_cluster_name:
|
|
6
|
+
name: Digital Ocean Kubernetes cluster name
|
|
7
|
+
value: k8s-1-21-5-do-0-nyc1-1635194329871
|
|
8
|
+
help: https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/
|
|
9
|
+
domain_name:
|
|
10
|
+
name: Domain name people will use to find your app
|
|
11
|
+
value: bierstiefel.com
|
|
12
|
+
do_cluster_id:
|
|
13
|
+
name:
|
|
14
|
+
Digital Ocean Kubernetes cluster id
|
|
15
|
+
value: df160ada-6534-44db-bb77-282dd7b812ad
|
|
16
|
+
help: https://docs.digitalocean.com/reference/doctl/reference/kubernetes/cluster/get/
|
|
17
|
+
cert_email:
|
|
18
|
+
name: Email address to put on your Let's Encrypt certificate
|
|
19
|
+
value: localpart@domain.tld
|
|
20
|
+
required: true
|
|
21
|
+
actions:
|
|
22
|
+
- directory 'stage_one', '.', @env
|
|
23
|
+
- run "doctl kubernetes cluster kubeconfig save \"#{@env[:base][:do_cluster_name][:value]}\""
|
|
24
|
+
- run "kubectl config current-context"
|
|
25
|
+
- run "kubectl config get-contexts"
|
|
26
|
+
- run "kubectl apply -f echo1.yaml"
|
|
27
|
+
- run "kubectl apply -f echo2.yaml"
|
|
28
|
+
- run "kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.34.1/deploy/static/provider/do/deploy.yaml"
|
|
29
|
+
- run "kubectl get svc"
|
|
30
|
+
# - run "kubectl get pods -n ingress-nginx -l app.kubernetes.io/name=ingress-nginx"
|
|
31
|
+
# - run "doctl compute domain records list \"#{@env[:base][:do_cluster_name][:value]}\""
|
|
32
|
+
# - run "kubectl apply -f echo_ingress.yaml"
|
|
File without changes
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
apiVersion: v1
|
|
2
|
+
kind: Service
|
|
3
|
+
metadata:
|
|
4
|
+
name: echo1
|
|
5
|
+
spec:
|
|
6
|
+
ports:
|
|
7
|
+
- port: 80
|
|
8
|
+
targetPort: 5678
|
|
9
|
+
selector:
|
|
10
|
+
app: echo1
|
|
11
|
+
---
|
|
12
|
+
apiVersion: apps/v1
|
|
13
|
+
kind: Deployment
|
|
14
|
+
metadata:
|
|
15
|
+
name: echo1
|
|
16
|
+
spec:
|
|
17
|
+
selector:
|
|
18
|
+
matchLabels:
|
|
19
|
+
app: echo1
|
|
20
|
+
replicas: 2
|
|
21
|
+
template:
|
|
22
|
+
metadata:
|
|
23
|
+
labels:
|
|
24
|
+
app: echo1
|
|
25
|
+
spec:
|
|
26
|
+
containers:
|
|
27
|
+
- name: echo1
|
|
28
|
+
image: hashicorp/http-echo
|
|
29
|
+
args:
|
|
30
|
+
- "-text=echo1"
|
|
31
|
+
ports:
|
|
32
|
+
- containerPort: 5678
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
apiVersion: v1
|
|
2
|
+
kind: Service
|
|
3
|
+
metadata:
|
|
4
|
+
name: echo2
|
|
5
|
+
spec:
|
|
6
|
+
ports:
|
|
7
|
+
- port: 80
|
|
8
|
+
targetPort: 5678
|
|
9
|
+
selector:
|
|
10
|
+
app: echo2
|
|
11
|
+
---
|
|
12
|
+
apiVersion: apps/v1
|
|
13
|
+
kind: Deployment
|
|
14
|
+
metadata:
|
|
15
|
+
name: echo2
|
|
16
|
+
spec:
|
|
17
|
+
selector:
|
|
18
|
+
matchLabels:
|
|
19
|
+
app: echo2
|
|
20
|
+
replicas: 1
|
|
21
|
+
template:
|
|
22
|
+
metadata:
|
|
23
|
+
labels:
|
|
24
|
+
app: echo2
|
|
25
|
+
spec:
|
|
26
|
+
containers:
|
|
27
|
+
- name: echo2
|
|
28
|
+
image: hashicorp/http-echo
|
|
29
|
+
args:
|
|
30
|
+
- "-text=echo2"
|
|
31
|
+
ports:
|
|
32
|
+
- containerPort: 5678
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
apiVersion: networking.k8s.io/v1
|
|
2
|
+
kind: Ingress
|
|
3
|
+
metadata:
|
|
4
|
+
name: echo-ingress
|
|
5
|
+
spec:
|
|
6
|
+
rules:
|
|
7
|
+
- host: echo1.<%= @env[:base][:domain_name][:value] %>
|
|
8
|
+
http:
|
|
9
|
+
paths:
|
|
10
|
+
- backend:
|
|
11
|
+
serviceName: echo1
|
|
12
|
+
servicePort: 80
|
|
13
|
+
- host: echo2.<%= @env[:base][:domain_name][:value] %>
|
|
14
|
+
http:
|
|
15
|
+
paths:
|
|
16
|
+
- backend:
|
|
17
|
+
serviceName: echo2
|
|
18
|
+
servicePort: 80
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
apiVersion: cert-manager.io/v1alpha2
|
|
2
|
+
kind: ClusterIssuer
|
|
3
|
+
metadata:
|
|
4
|
+
name: letsencrypt-prod
|
|
5
|
+
namespace: cert-manager
|
|
6
|
+
spec:
|
|
7
|
+
acme:
|
|
8
|
+
# The ACME server URL
|
|
9
|
+
server: https://acme-v02.api.letsencrypt.org/directory
|
|
10
|
+
# Email address used for ACME registration
|
|
11
|
+
email: <%= @env[:base][:cert_email][:value] %>
|
|
12
|
+
# Name of a secret used to store the ACME account private key
|
|
13
|
+
privateKeySecretRef:
|
|
14
|
+
name: letsencrypt-prod
|
|
15
|
+
# Enable the HTTP-01 challenge provider
|
|
16
|
+
solvers:
|
|
17
|
+
- http01:
|
|
18
|
+
ingress:
|
|
19
|
+
class: nginx
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
apiVersion: cert-manager.io/v1alpha2
|
|
2
|
+
kind: ClusterIssuer
|
|
3
|
+
metadata:
|
|
4
|
+
name: letsencrypt-staging
|
|
5
|
+
namespace: cert-manager
|
|
6
|
+
spec:
|
|
7
|
+
acme:
|
|
8
|
+
# The ACME server URL
|
|
9
|
+
server: https://acme-staging-v02.api.letsencrypt.org/directory
|
|
10
|
+
# Email address used for ACME registration
|
|
11
|
+
email: <%= @env[:base][:cert_email][:value] %>
|
|
12
|
+
# Name of a secret used to store the ACME account private key
|
|
13
|
+
privateKeySecretRef:
|
|
14
|
+
name: letsencrypt-staging
|
|
15
|
+
# Enable the HTTP-01 challenge provider
|
|
16
|
+
solvers:
|
|
17
|
+
- http01:
|
|
18
|
+
ingress:
|
|
19
|
+
class: nginx
|
|
@@ -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-staging"
|
|
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
|