stack_car 0.8.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.gitlab-ci.yml +17 -12
- data/README.md +122 -1
- data/lib/stack_car/cli.rb +253 -41
- data/lib/stack_car/dot_rc.rb +25 -0
- data/lib/stack_car/version.rb +1 -1
- data/lib/stack_car.rb +1 -0
- data/stack_car.gemspec +2 -0
- data/templates/.dockerignore.erb +2 -2
- data/templates/.env.development.erb +2 -0
- data/templates/.env.erb +29 -16
- data/templates/.gitlab/issue_templates/Bug.md +46 -0
- data/templates/.gitlab/issue_templates/Feature.md +41 -0
- data/templates/.gitlab/issue_templates/Question.md +18 -0
- data/templates/.gitlab/merge_request_templates/Bug.md +36 -0
- data/templates/.gitlab/merge_request_templates/Feature.md +36 -0
- data/templates/.gitlab-ci.yml.erb +98 -65
- data/templates/.sops.yaml.erb +3 -0
- data/templates/Dockerfile.erb +26 -7
- data/templates/README.md +81 -7
- data/templates/chart/.gitignore +3 -0
- data/templates/chart/.helmignore +23 -0
- data/templates/chart/Chart.yaml.tt +30 -0
- data/templates/chart/README.md +223 -0
- data/templates/chart/bin/check_sidekiq.rb +0 -0
- data/templates/chart/bin/decrypt +17 -0
- data/templates/chart/bin/deploy +14 -0
- data/templates/chart/bin/encrypt +15 -0
- data/templates/chart/bin/remove +15 -0
- data/templates/chart/sample-values.yaml.tt +153 -0
- data/templates/chart/templates/_helpers.tpl.tt +85 -0
- data/templates/chart/templates/rails-env-cm.yaml.tt +47 -0
- data/templates/chart/templates/rails-env-secret.yaml +10 -0
- data/templates/chart/templates/rails-pvc-shared.yml +20 -0
- data/templates/chart/templates/setup-job.yaml +73 -0
- data/templates/chart/templates/web-deploy.yaml +67 -0
- data/templates/chart/templates/web-ing-wildcard.yaml +20 -0
- data/templates/chart/templates/web-ing.yaml +20 -0
- data/templates/chart/templates/web-svc.yaml +20 -0
- data/templates/chart-fcrepo/fcrepo-deploy.yaml +63 -0
- data/templates/chart-fcrepo/fcrepo-env-cm.yaml +8 -0
- data/templates/chart-fcrepo/fcrepo-env-secret.yaml.tt +10 -0
- data/templates/chart-fcrepo/fcrepo-pvc.yaml +20 -0
- data/templates/chart-fcrepo/fcrepo-svc.yaml +19 -0
- data/templates/chart-sidekiq/sidekiq-deploy.yaml +80 -0
- data/templates/database.yml.erb +10 -11
- data/templates/decrypt-secrets +22 -0
- data/templates/development.rb.erb +90 -0
- data/templates/docker-compose.yml.erb +52 -18
- data/templates/encrypt-secrets +19 -0
- data/templates/env.conf.erb +11 -11
- data/templates/nginx.sh.erb +17 -0
- data/templates/production.rb.erb +117 -0
- metadata +71 -12
- data/templates/Dockerfile.base.erb +0 -48
- data/templates/Dockerfile.builder.erb +0 -13
- data/templates/docker-compose.ci.yml.erb +0 -87
- data/templates/docker-compose.production.yml.erb +0 -26
| @@ -0,0 +1,19 @@ | |
| 1 | 
            +
            #!/usr/bin/env ruby
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # require 'byebug'
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            parent_dir = File.dirname(__dir__)
         | 
| 6 | 
            +
            [
         | 
| 7 | 
            +
              ".env.*",
         | 
| 8 | 
            +
              "chart/*-values.yaml",
         | 
| 9 | 
            +
              "ops/kube_config.yml",
         | 
| 10 | 
            +
              "ops/.backend",
         | 
| 11 | 
            +
              "ops/k8s/*-values.yaml"
         | 
| 12 | 
            +
            ].each do |files|
         | 
| 13 | 
            +
              Dir.glob(files).each do |file|
         | 
| 14 | 
            +
                next if /enc/.match?(file)
         | 
| 15 | 
            +
                cmd = "sops --encrypt #{file} > #{file}.enc"
         | 
| 16 | 
            +
                puts cmd
         | 
| 17 | 
            +
                `#{cmd}`
         | 
| 18 | 
            +
              end
         | 
| 19 | 
            +
            end
         | 
    
        data/templates/env.conf.erb
    CHANGED
    
    | @@ -1,18 +1,18 @@ | |
| 1 1 | 
             
            <% if options[:postgres] -%>
         | 
| 2 | 
            -
            env  | 
| 3 | 
            -
            env  | 
| 4 | 
            -
            env  | 
| 5 | 
            -
            env  | 
| 6 | 
            -
            env  | 
| 2 | 
            +
            env DATABASE_ADAPTER;
         | 
| 3 | 
            +
            env DATABASE_NAME;
         | 
| 4 | 
            +
            env DATABASE_USER;
         | 
| 5 | 
            +
            env DATABASE_PASSWORD;
         | 
| 6 | 
            +
            env DATABASE_HOST;
         | 
| 7 7 | 
             
            env TEST_DB;
         | 
| 8 8 | 
             
            <% end -%>
         | 
| 9 9 | 
             
            <% if options[:mysql] -%>
         | 
| 10 | 
            -
            env  | 
| 11 | 
            -
            env  | 
| 12 | 
            -
            env  | 
| 13 | 
            -
            env  | 
| 14 | 
            -
            env  | 
| 15 | 
            -
            env  | 
| 10 | 
            +
            env DATABASE_ADAPTER;
         | 
| 11 | 
            +
            env DATABASE_NAME;
         | 
| 12 | 
            +
            env DATABASE_USER;
         | 
| 13 | 
            +
            env DATABASE_PASSWORD;
         | 
| 14 | 
            +
            env DATABASE_ROOT_PASSWORD;
         | 
| 15 | 
            +
            env DATABASE_HOST;
         | 
| 16 16 | 
             
            env TEST_DB;
         | 
| 17 17 | 
             
            <% end -%>
         | 
| 18 18 | 
             
            <% if options[:deploy] || options[:rancher] -%>
         | 
    
        data/templates/nginx.sh.erb
    CHANGED
    
    | @@ -12,9 +12,26 @@ then | |
| 12 12 | 
             
                export PASSENGER_APP_ENV=development
         | 
| 13 13 | 
             
            fi
         | 
| 14 14 |  | 
| 15 | 
            +
            rm -rf /home/app/webapp/.ruby*
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            declare -p | grep -Ev 'BASHOPTS|PWD|BASH_VERSINFO|EUID|PPID|SHELLOPTS|UID' > /container.env
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            if [[ $PASSENGER_APP_ENV == "development" ]] || [[ $PASSENGER_APP_ENV == "test" ]]
         | 
| 20 | 
            +
            then
         | 
| 21 | 
            +
                /sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && bundle exec rails db:create db:migrate db:test:prepare'
         | 
| 22 | 
            +
            fi
         | 
| 23 | 
            +
             | 
| 15 24 | 
             
            if [[ $PASSENGER_APP_ENV == "production" ]] || [[ $PASSENGER_APP_ENV == "staging" ]]
         | 
| 16 25 | 
             
            then
         | 
| 26 | 
            +
                /bin/bash -l -c 'chown -R app:app /home/app/webapp/tmp' # mounted volume may have wrong permissions
         | 
| 27 | 
            +
                /bin/bash -l -c 'chown -R app:app /home/app/webapp/public' # mounted volume may have wrong permissions
         | 
| 17 28 | 
             
                /sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && bundle exec rake db:migrate'
         | 
| 29 | 
            +
                if [ -d /home/app/webapp/public/assets-new ]; then
         | 
| 30 | 
            +
                    /sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && rsync -a public/assets-new/ public/assets/'
         | 
| 31 | 
            +
                fi
         | 
| 32 | 
            +
                if [ -d /home/app/webapp/public/packs-new ]; then
         | 
| 33 | 
            +
                    /sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && rsync -a public/packs-new/ public/packs/'
         | 
| 34 | 
            +
                fi
         | 
| 18 35 | 
             
            fi
         | 
| 19 36 |  | 
| 20 37 | 
             
            exec /usr/sbin/nginx
         | 
| @@ -0,0 +1,117 @@ | |
| 1 | 
            +
            Rails.application.configure do
         | 
| 2 | 
            +
                # Settings specified here will take precedence over those in config/application.rb.
         | 
| 3 | 
            +
              
         | 
| 4 | 
            +
                # Code is not reloaded between requests.
         | 
| 5 | 
            +
                config.cache_classes = true
         | 
| 6 | 
            +
              
         | 
| 7 | 
            +
                # Eager load code on boot. This eager loads most of Rails and
         | 
| 8 | 
            +
                # your application in memory, allowing both threaded web servers
         | 
| 9 | 
            +
                # and those relying on copy on write to perform better.
         | 
| 10 | 
            +
                # Rake tasks automatically ignore this option for performance.
         | 
| 11 | 
            +
                config.eager_load = true
         | 
| 12 | 
            +
              
         | 
| 13 | 
            +
                # Full error reports are disabled and caching is turned on.
         | 
| 14 | 
            +
                config.consider_all_requests_local       = false
         | 
| 15 | 
            +
                config.action_controller.perform_caching = true
         | 
| 16 | 
            +
              
         | 
| 17 | 
            +
                # Disable serving static files from the `/public` folder by default since
         | 
| 18 | 
            +
                # Apache or NGINX already handles this.
         | 
| 19 | 
            +
                config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
         | 
| 20 | 
            +
                config.public_file_server.headers = {
         | 
| 21 | 
            +
                  'Cache-Control' => 'public, s-maxage=31536000, maxage=15552000',
         | 
| 22 | 
            +
                  'Expires' => "#{1.year.from_now.to_formatted_s(:rfc822)}"
         | 
| 23 | 
            +
                }
         | 
| 24 | 
            +
                # Compress JavaScripts and CSS.
         | 
| 25 | 
            +
                config.assets.js_compressor = Uglifier.new(harmony: true)
         | 
| 26 | 
            +
                # config.assets.css_compressor = :sass
         | 
| 27 | 
            +
              
         | 
| 28 | 
            +
                # Do not fallback to assets pipeline if a precompiled asset is missed.
         | 
| 29 | 
            +
                config.assets.compile = false
         | 
| 30 | 
            +
              
         | 
| 31 | 
            +
                # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
         | 
| 32 | 
            +
              
         | 
| 33 | 
            +
                # Enable serving of images, stylesheets, and JavaScripts from an asset server.
         | 
| 34 | 
            +
                config.action_controller.asset_host = Settings.action_controller.asset_host if Settings.action_controller.asset_host
         | 
| 35 | 
            +
              
         | 
| 36 | 
            +
                # Specifies the header that your server uses for sending files.
         | 
| 37 | 
            +
                # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
         | 
| 38 | 
            +
                # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
         | 
| 39 | 
            +
              
         | 
| 40 | 
            +
                # Mount Action Cable outside main process or domain
         | 
| 41 | 
            +
                # config.action_cable.mount_path = nil
         | 
| 42 | 
            +
                # config.action_cable.url = 'wss://example.com/cable'
         | 
| 43 | 
            +
                # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
         | 
| 44 | 
            +
              
         | 
| 45 | 
            +
                # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
         | 
| 46 | 
            +
                # config.force_ssl = true
         | 
| 47 | 
            +
              
         | 
| 48 | 
            +
                # Use the lowest log level to ensure availability of diagnostic information
         | 
| 49 | 
            +
                # when problems arise.
         | 
| 50 | 
            +
                config.log_level = :debug
         | 
| 51 | 
            +
              
         | 
| 52 | 
            +
                # Prepend all log lines with the following tags.
         | 
| 53 | 
            +
                config.log_tags = [ :request_id ]
         | 
| 54 | 
            +
              
         | 
| 55 | 
            +
                # Use a different cache store in production.
         | 
| 56 | 
            +
                # config.cache_store = :mem_cache_store
         | 
| 57 | 
            +
              
         | 
| 58 | 
            +
                # Use a real queuing backend for Active Job (and separate queues per environment)
         | 
| 59 | 
            +
                require 'active_job/queue_adapters/better_active_elastic_job_adapter'
         | 
| 60 | 
            +
                config.active_job.queue_adapter     = Settings.active_job.queue_adapter
         | 
| 61 | 
            +
                # config.active_job.queue_name_prefix = "hyku_#{Rails.env}"
         | 
| 62 | 
            +
              
         | 
| 63 | 
            +
                # SMTP Mailer configuration
         | 
| 64 | 
            +
                # Add SMTP settings to your environment and uncomment the following section to enable mailer
         | 
| 65 | 
            +
                # if ENV['SMTP_ENABLED'].present? && ENV['SMTP_ENABLED'].to_s == 'true'
         | 
| 66 | 
            +
                #   config.action_mailer.smtp_settings = {
         | 
| 67 | 
            +
                #     user_name: ENV['SMTP_USER_NAME'],
         | 
| 68 | 
            +
                #     password: ENV['SMTP_PASSWORD'],
         | 
| 69 | 
            +
                #     address: ENV['SMTP_ADDRESS'],
         | 
| 70 | 
            +
                #     domain: ENV['SMTP_DOMAIN'],
         | 
| 71 | 
            +
                #     port: ENV['SMTP_PORT'],
         | 
| 72 | 
            +
                #     enable_starttls_auto: true,
         | 
| 73 | 
            +
                #     authentication: ENV['SMTP_TYPE']
         | 
| 74 | 
            +
                #   }
         | 
| 75 | 
            +
                #  # ActionMailer Config
         | 
| 76 | 
            +
                #   config.action_mailer.delivery_method = :smtp
         | 
| 77 | 
            +
                #   config.action_mailer.perform_deliveries = true
         | 
| 78 | 
            +
                #   config.action_mailer.raise_delivery_errors = false
         | 
| 79 | 
            +
                <% if options[:hyku] %>
         | 
| 80 | 
            +
                #   config.action_mailer.asset_host = ENV['SETTINGS__MULTITENANCY__ADMIN_HOST']
         | 
| 81 | 
            +
                <% end %>
         | 
| 82 | 
            +
                # else
         | 
| 83 | 
            +
                #   config.action_mailer.delivery_method = :test
         | 
| 84 | 
            +
                # end
         | 
| 85 | 
            +
              
         | 
| 86 | 
            +
                config.action_mailer.perform_caching = false
         | 
| 87 | 
            +
              
         | 
| 88 | 
            +
                # Ignore bad email addresses and do not raise email delivery errors.
         | 
| 89 | 
            +
                # Set this to true and configure the email server for immediate delivery to raise delivery errors.
         | 
| 90 | 
            +
                # config.action_mailer.raise_delivery_errors = false
         | 
| 91 | 
            +
                #
         | 
| 92 | 
            +
                config.action_mailer.default_url_options = { protocol: Settings.ssl_configured ? 'https' : 'http' }
         | 
| 93 | 
            +
              
         | 
| 94 | 
            +
                # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
         | 
| 95 | 
            +
                # the I18n.default_locale when a translation cannot be found).
         | 
| 96 | 
            +
                config.i18n.fallbacks = true
         | 
| 97 | 
            +
              
         | 
| 98 | 
            +
                # Send deprecation notices to registered listeners.
         | 
| 99 | 
            +
                config.active_support.deprecation = :notify
         | 
| 100 | 
            +
              
         | 
| 101 | 
            +
                # Use default logging formatter so that PID and timestamp are not suppressed.
         | 
| 102 | 
            +
                config.log_formatter = ::Logger::Formatter.new
         | 
| 103 | 
            +
              
         | 
| 104 | 
            +
                # Use a different logger for distributed setups.
         | 
| 105 | 
            +
                # require 'syslog/logger'
         | 
| 106 | 
            +
                # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
         | 
| 107 | 
            +
              
         | 
| 108 | 
            +
                if ENV["RAILS_LOG_TO_STDOUT"].present?
         | 
| 109 | 
            +
                  logger           = ActiveSupport::Logger.new(STDOUT)
         | 
| 110 | 
            +
                  logger.formatter = config.log_formatter
         | 
| 111 | 
            +
                  config.logger = ActiveSupport::TaggedLogging.new(logger)
         | 
| 112 | 
            +
                end
         | 
| 113 | 
            +
              
         | 
| 114 | 
            +
                # Do not dump schema after migrations.
         | 
| 115 | 
            +
                config.active_record.dump_schema_after_migration = false
         | 
| 116 | 
            +
              end
         | 
| 117 | 
            +
              
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: stack_car
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.14.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Rob Kaufman
         | 
| 8 | 
            -
            autorequire: | 
| 8 | 
            +
            autorequire:
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2021-09-10 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -24,6 +24,20 @@ dependencies: | |
| 24 24 | 
             
                - - "~>"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 26 | 
             
                    version: '1.13'
         | 
| 27 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            +
              name: byebug
         | 
| 29 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 | 
            +
                requirements:
         | 
| 31 | 
            +
                - - ">="
         | 
| 32 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            +
                    version: '0'
         | 
| 34 | 
            +
              type: :development
         | 
| 35 | 
            +
              prerelease: false
         | 
| 36 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 | 
            +
                requirements:
         | 
| 38 | 
            +
                - - ">="
         | 
| 39 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            +
                    version: '0'
         | 
| 27 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 42 | 
             
              name: rake
         | 
| 29 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -108,6 +122,20 @@ dependencies: | |
| 108 122 | 
             
                - - "~>"
         | 
| 109 123 | 
             
                  - !ruby/object:Gem::Version
         | 
| 110 124 | 
             
                    version: '2.2'
         | 
| 125 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 126 | 
            +
              name: json
         | 
| 127 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 128 | 
            +
                requirements:
         | 
| 129 | 
            +
                - - "~>"
         | 
| 130 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 131 | 
            +
                    version: '2.3'
         | 
| 132 | 
            +
              type: :runtime
         | 
| 133 | 
            +
              prerelease: false
         | 
| 134 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 135 | 
            +
                requirements:
         | 
| 136 | 
            +
                - - "~>"
         | 
| 137 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 138 | 
            +
                    version: '2.3'
         | 
| 111 139 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 112 140 | 
             
              name: thor
         | 
| 113 141 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -122,7 +150,7 @@ dependencies: | |
| 122 150 | 
             
                - - "~>"
         | 
| 123 151 | 
             
                  - !ruby/object:Gem::Version
         | 
| 124 152 | 
             
                    version: '0.19'
         | 
| 125 | 
            -
            description: | 
| 153 | 
            +
            description:
         | 
| 126 154 | 
             
            email:
         | 
| 127 155 | 
             
            - rob@notch8.com
         | 
| 128 156 | 
             
            executables:
         | 
| @@ -144,6 +172,7 @@ files: | |
| 144 172 | 
             
            - exe/stack_car
         | 
| 145 173 | 
             
            - lib/stack_car.rb
         | 
| 146 174 | 
             
            - lib/stack_car/cli.rb
         | 
| 175 | 
            +
            - lib/stack_car/dot_rc.rb
         | 
| 147 176 | 
             
            - lib/stack_car/version.rb
         | 
| 148 177 | 
             
            - logo.jpg
         | 
| 149 178 | 
             
            - public/.gitkeep
         | 
| @@ -154,15 +183,45 @@ files: | |
| 154 183 | 
             
            - templates/.env.development.erb
         | 
| 155 184 | 
             
            - templates/.env.erb
         | 
| 156 185 | 
             
            - templates/.gitlab-ci.yml.erb
         | 
| 157 | 
            -
            - templates/ | 
| 158 | 
            -
            - templates/ | 
| 186 | 
            +
            - templates/.gitlab/issue_templates/Bug.md
         | 
| 187 | 
            +
            - templates/.gitlab/issue_templates/Feature.md
         | 
| 188 | 
            +
            - templates/.gitlab/issue_templates/Question.md
         | 
| 189 | 
            +
            - templates/.gitlab/merge_request_templates/Bug.md
         | 
| 190 | 
            +
            - templates/.gitlab/merge_request_templates/Feature.md
         | 
| 191 | 
            +
            - templates/.sops.yaml.erb
         | 
| 159 192 | 
             
            - templates/Dockerfile.erb
         | 
| 160 193 | 
             
            - templates/README.md
         | 
| 194 | 
            +
            - templates/chart-fcrepo/fcrepo-deploy.yaml
         | 
| 195 | 
            +
            - templates/chart-fcrepo/fcrepo-env-cm.yaml
         | 
| 196 | 
            +
            - templates/chart-fcrepo/fcrepo-env-secret.yaml.tt
         | 
| 197 | 
            +
            - templates/chart-fcrepo/fcrepo-pvc.yaml
         | 
| 198 | 
            +
            - templates/chart-fcrepo/fcrepo-svc.yaml
         | 
| 199 | 
            +
            - templates/chart-sidekiq/sidekiq-deploy.yaml
         | 
| 200 | 
            +
            - templates/chart/.gitignore
         | 
| 201 | 
            +
            - templates/chart/.helmignore
         | 
| 202 | 
            +
            - templates/chart/Chart.yaml.tt
         | 
| 203 | 
            +
            - templates/chart/README.md
         | 
| 204 | 
            +
            - templates/chart/bin/check_sidekiq.rb
         | 
| 205 | 
            +
            - templates/chart/bin/decrypt
         | 
| 206 | 
            +
            - templates/chart/bin/deploy
         | 
| 207 | 
            +
            - templates/chart/bin/encrypt
         | 
| 208 | 
            +
            - templates/chart/bin/remove
         | 
| 209 | 
            +
            - templates/chart/sample-values.yaml.tt
         | 
| 210 | 
            +
            - templates/chart/templates/_helpers.tpl.tt
         | 
| 211 | 
            +
            - templates/chart/templates/rails-env-cm.yaml.tt
         | 
| 212 | 
            +
            - templates/chart/templates/rails-env-secret.yaml
         | 
| 213 | 
            +
            - templates/chart/templates/rails-pvc-shared.yml
         | 
| 214 | 
            +
            - templates/chart/templates/setup-job.yaml
         | 
| 215 | 
            +
            - templates/chart/templates/web-deploy.yaml
         | 
| 216 | 
            +
            - templates/chart/templates/web-ing-wildcard.yaml
         | 
| 217 | 
            +
            - templates/chart/templates/web-ing.yaml
         | 
| 218 | 
            +
            - templates/chart/templates/web-svc.yaml
         | 
| 161 219 | 
             
            - templates/database.yml.erb
         | 
| 220 | 
            +
            - templates/decrypt-secrets
         | 
| 162 221 | 
             
            - templates/deploy.yml.erb
         | 
| 163 | 
            -
            - templates/ | 
| 164 | 
            -
            - templates/docker-compose.production.yml.erb
         | 
| 222 | 
            +
            - templates/development.rb.erb
         | 
| 165 223 | 
             
            - templates/docker-compose.yml.erb
         | 
| 224 | 
            +
            - templates/encrypt-secrets
         | 
| 166 225 | 
             
            - templates/env.conf.erb
         | 
| 167 226 | 
             
            - templates/hosts.erb
         | 
| 168 227 | 
             
            - templates/nginx.sh.erb
         | 
| @@ -182,13 +241,14 @@ files: | |
| 182 241 | 
             
            - templates/ops/roles/docker.ubuntu/templates/docker.conf
         | 
| 183 242 | 
             
            - templates/ops/roles/docker.ubuntu/tests/vagrant.yml
         | 
| 184 243 | 
             
            - templates/ops/roles/docker.ubuntu/vars/main.yml
         | 
| 244 | 
            +
            - templates/production.rb.erb
         | 
| 185 245 | 
             
            - templates/provision.yml.erb
         | 
| 186 246 | 
             
            - templates/webapp.conf.erb
         | 
| 187 247 | 
             
            - templates/worker.sh.erb
         | 
| 188 248 | 
             
            homepage: https://gitlab.com/notch8/stack_car
         | 
| 189 249 | 
             
            licenses: []
         | 
| 190 250 | 
             
            metadata: {}
         | 
| 191 | 
            -
            post_install_message: | 
| 251 | 
            +
            post_install_message:
         | 
| 192 252 | 
             
            rdoc_options: []
         | 
| 193 253 | 
             
            require_paths:
         | 
| 194 254 | 
             
            - lib
         | 
| @@ -203,9 +263,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 203 263 | 
             
                - !ruby/object:Gem::Version
         | 
| 204 264 | 
             
                  version: '0'
         | 
| 205 265 | 
             
            requirements: []
         | 
| 206 | 
            -
             | 
| 207 | 
            -
             | 
| 208 | 
            -
            signing_key: 
         | 
| 266 | 
            +
            rubygems_version: 3.0.6
         | 
| 267 | 
            +
            signing_key:
         | 
| 209 268 | 
             
            specification_version: 4
         | 
| 210 269 | 
             
            summary: A tool to make rails + docker easy
         | 
| 211 270 | 
             
            test_files: []
         | 
| @@ -1,48 +0,0 @@ | |
| 1 | 
            -
            FROM phusion/passenger-ruby23:0.9.28
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            RUN <%= pre_apt_string %> && \
         | 
| 4 | 
            -
                curl -sL https://deb.nodesource.com/setup_8.x | bash - && \
         | 
| 5 | 
            -
                apt-get update -qq && \
         | 
| 6 | 
            -
                apt-get install -y build-essential nodejs pv tzdata libsasl2-dev <%= apt_packages_string %> && \
         | 
| 7 | 
            -
                apt-get clean && \
         | 
| 8 | 
            -
                rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
         | 
| 9 | 
            -
                <%= post_apt_string %>
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            <% if options[:fcrepo] %>
         | 
| 12 | 
            -
            RUN mkdir -p /opt/fits && \
         | 
| 13 | 
            -
                curl -fSL -o /opt/fits-0.8.5.zip http://projects.iq.harvard.edu/files/fits/files/fits-0.8.5.zip && \
         | 
| 14 | 
            -
                cd /opt && \
         | 
| 15 | 
            -
                unzip fits-0.8.5.zip && \
         | 
| 16 | 
            -
                chmod +x fits-0.8.5/fits.sh
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            <% end -%>
         | 
| 19 | 
            -
             | 
| 20 | 
            -
            RUN rm /etc/nginx/sites-enabled/default
         | 
| 21 | 
            -
             | 
| 22 | 
            -
            ENV APP_HOME /home/app/webapp
         | 
| 23 | 
            -
            RUN mkdir $APP_HOME
         | 
| 24 | 
            -
            WORKDIR $APP_HOME
         | 
| 25 | 
            -
             | 
| 26 | 
            -
            ENV BUNDLE_GEMFILE=$APP_HOME/Gemfile \
         | 
| 27 | 
            -
              BUNDLE_JOBS=4
         | 
| 28 | 
            -
             | 
| 29 | 
            -
            ADD Gemfile* $APP_HOME/
         | 
| 30 | 
            -
            RUN bundle check || bundle install
         | 
| 31 | 
            -
             | 
| 32 | 
            -
            <% if options[:delayed_job] || options[:sidekiq] %>
         | 
| 33 | 
            -
            RUN touch /var/log/worker.log && chmod 666 /var/log/worker.log
         | 
| 34 | 
            -
            RUN mkdir /etc/service/worker
         | 
| 35 | 
            -
            ADD ops/worker.sh /etc/service/worker/run
         | 
| 36 | 
            -
            RUN chmod +x /etc/service/worker/run
         | 
| 37 | 
            -
            <% end %>
         | 
| 38 | 
            -
             | 
| 39 | 
            -
            ADD . $APP_HOME
         | 
| 40 | 
            -
            RUN chown -R app $APP_HOME
         | 
| 41 | 
            -
             | 
| 42 | 
            -
            # this is so that these items are cached and only have to be updated
         | 
| 43 | 
            -
            RUN  /sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && DB_ADAPTER=nulldb bundle exec rake assets:precompile'
         | 
| 44 | 
            -
            # Asset complie and migrate if prod, otherwise just start nginx
         | 
| 45 | 
            -
            ADD ops/nginx.sh /etc/service/nginx/run
         | 
| 46 | 
            -
            RUN chmod +x /etc/service/nginx/run
         | 
| 47 | 
            -
            RUN rm -f /etc/service/nginx/down
         | 
| 48 | 
            -
             | 
| @@ -1,13 +0,0 @@ | |
| 1 | 
            -
            FROM docker:latest
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            RUN apk update && \
         | 
| 4 | 
            -
                apk add bash git ruby-json ansible openssh && \
         | 
| 5 | 
            -
                gem install stack_car --no-ri --no-rdoc && \
         | 
| 6 | 
            -
            <% if options[:rancher] %>
         | 
| 7 | 
            -
                wget https://github.com/rancher/cli/releases/download/v0.4.1/rancher-linux-amd64-v0.4.1.tar.gz && \
         | 
| 8 | 
            -
                tar zxfv rancher-linux-amd64-v0.4.1.tar.gz && \
         | 
| 9 | 
            -
                mv rancher-v0.4.1/rancher /bin/rancher
         | 
| 10 | 
            -
            <% end %>
         | 
| 11 | 
            -
            <% if options[:heroku] %>
         | 
| 12 | 
            -
                gem install dpl multi_json --no-ri --no-rdoc
         | 
| 13 | 
            -
            <% end %>
         | 
| @@ -1,87 +0,0 @@ | |
| 1 | 
            -
            version: '2.1'
         | 
| 2 | 
            -
            services:
         | 
| 3 | 
            -
            <% if options[:postgres] -%>
         | 
| 4 | 
            -
              postgres:
         | 
| 5 | 
            -
                image: postgres
         | 
| 6 | 
            -
                env_file:
         | 
| 7 | 
            -
                  - .env
         | 
| 8 | 
            -
                ports:
         | 
| 9 | 
            -
                  - "5432"
         | 
| 10 | 
            -
            <% end -%>
         | 
| 11 | 
            -
            <% if options[:mysql] -%>
         | 
| 12 | 
            -
              mysql:
         | 
| 13 | 
            -
                image: mysql
         | 
| 14 | 
            -
                env_file:
         | 
| 15 | 
            -
                  - .env
         | 
| 16 | 
            -
                ports:
         | 
| 17 | 
            -
                  - '3306'
         | 
| 18 | 
            -
            <% end -%>
         | 
| 19 | 
            -
            <% if options[:elasticsearch] -%>
         | 
| 20 | 
            -
              elasticsearch:
         | 
| 21 | 
            -
                image: elasticsearch:1.7.1
         | 
| 22 | 
            -
                env_file:
         | 
| 23 | 
            -
                  - .env
         | 
| 24 | 
            -
                ports:
         | 
| 25 | 
            -
                  - "9200"
         | 
| 26 | 
            -
                  - "9300"
         | 
| 27 | 
            -
            <% end -%>
         | 
| 28 | 
            -
            <% if options[:solr] %>
         | 
| 29 | 
            -
              solr:
         | 
| 30 | 
            -
                image: solr:latest
         | 
| 31 | 
            -
                env_file:
         | 
| 32 | 
            -
                  - .env
         | 
| 33 | 
            -
                ports:
         | 
| 34 | 
            -
                  - "8983"
         | 
| 35 | 
            -
                entrypoint:
         | 
| 36 | 
            -
                  - docker-entrypoint.sh
         | 
| 37 | 
            -
                  - solr-precreate
         | 
| 38 | 
            -
                  - mycore
         | 
| 39 | 
            -
                # docker-compose exec --user=solr solr bin/solr create_core -c CORENAME
         | 
| 40 | 
            -
            <% end -%>
         | 
| 41 | 
            -
            <% if options[:redis] -%>
         | 
| 42 | 
            -
              redis:
         | 
| 43 | 
            -
                image: 'redis:3.2-alpine'
         | 
| 44 | 
            -
                env_file:
         | 
| 45 | 
            -
                  - .env
         | 
| 46 | 
            -
                command: redis-server
         | 
| 47 | 
            -
                ports:
         | 
| 48 | 
            -
                  - '6379'
         | 
| 49 | 
            -
            <% end -%>
         | 
| 50 | 
            -
            <% if options[:mongodb] -%>
         | 
| 51 | 
            -
              mongodb:
         | 
| 52 | 
            -
                image: mongo:2.6.12
         | 
| 53 | 
            -
                env_file:
         | 
| 54 | 
            -
                  - .env
         | 
| 55 | 
            -
                ports:
         | 
| 56 | 
            -
                  - "27017"
         | 
| 57 | 
            -
            <% end -%>
         | 
| 58 | 
            -
            <% if options[:memcached] -%>
         | 
| 59 | 
            -
              memcached:
         | 
| 60 | 
            -
                image: memcached
         | 
| 61 | 
            -
                env_file:
         | 
| 62 | 
            -
                  - .env
         | 
| 63 | 
            -
                ports:
         | 
| 64 | 
            -
                  - "11211"
         | 
| 65 | 
            -
            <% end -%>
         | 
| 66 | 
            -
            <% if options[:fcrepo] -%>
         | 
| 67 | 
            -
              fcrepo:
         | 
| 68 | 
            -
                image: botimer/fcrepo:4.5.1
         | 
| 69 | 
            -
                env_file:
         | 
| 70 | 
            -
                  - .env
         | 
| 71 | 
            -
                volumes:
         | 
| 72 | 
            -
                  - 'fcrepo:/opt/data'
         | 
| 73 | 
            -
                ports:
         | 
| 74 | 
            -
                  - "8080"
         | 
| 75 | 
            -
            <% end -%>
         | 
| 76 | 
            -
              web:
         | 
| 77 | 
            -
                image: "${REGISTRY_HOST}${REGISTRY_URI}:${TAG:-master}"
         | 
| 78 | 
            -
                env_file:
         | 
| 79 | 
            -
                  - .env
         | 
| 80 | 
            -
                  rap.host: ${SITE_URI}
         | 
| 81 | 
            -
                  rap.le_host: ${SITE_URI}
         | 
| 82 | 
            -
                  rap.le_test: true
         | 
| 83 | 
            -
                  io.rancher.container.pull_image: always
         | 
| 84 | 
            -
                ports:
         | 
| 85 | 
            -
                  - "80"
         | 
| 86 | 
            -
                depends_on:
         | 
| 87 | 
            -
            <%= compose_depends %>
         |