stack_car 0.14.0 → 0.16.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 80132883ba506f9cf4414a46f560a2040e8843596b7a94e3d6f9baab6ae3a4d4
4
- data.tar.gz: bb84c75a79f699e7bb04aa877eaed36f3acb9e8c8d9bf294d9f4fa7bbe579ddc
3
+ metadata.gz: f65e5a4cb61c3b0ae89c7a41866723cfb7caf9e1853a566279eb178181746774
4
+ data.tar.gz: 6624f7b9f2bb1dc6faea803a4d8f19cf97fdc03939a90082c20600c4021066f6
5
5
  SHA512:
6
- metadata.gz: 1e03c8620fcd08038774e75c2cfeefa75a2bae7d42708c0240c774e3584391695a87349c50bba6b0c7b444e46e66d73b2e96b1439bbf09f0104670b83e3fb831
7
- data.tar.gz: 3196614e6fd6ce06b7408aa292e4ae0b19ef57aa9df8643899fcf378ad840a2d4d469695010ca04948676b9a46b7b655947cbaa0bf686c59c27b3b385b73341a
6
+ metadata.gz: ef5bd6bfac0e8c0301778a79bdb17cb7f23d22cdab0e661d951f734b16de61a69288eb4c923aee552de339811f0a45b55a5645e55042b067e86965cb0421ac30
7
+ data.tar.gz: b7fd067e699c6a93f38d4c384de5f7270b6a7fc61b6e28fce4c380bdf77599e278f57d762e825a80f893fe2c435c73679c7542aff9fee32fe37ebb5fa8c7c702
@@ -0,0 +1,35 @@
1
+ name: Test
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ pull_request:
7
+ branches:
8
+ - main
9
+ jobs:
10
+ rspec:
11
+ name: Run rspec with ruby
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - name: Checkout code
15
+ uses: actions/checkout@v3
16
+ - name: Cache
17
+ uses: actions/cache@v2.1.3
18
+ with:
19
+ path: vendor/bundle
20
+ key: '2.3'
21
+ - name: Setup Ruby
22
+ uses: ruby/setup-ruby@v1.59.1
23
+ with:
24
+ ruby-version: '2.3'
25
+ - name: Dependencies
26
+ run: |
27
+ bundle config path vendor/bundle
28
+ bundle install
29
+ - name: Rspec
30
+ run: 'bundle exec rspec'
31
+ - name: Publish Test Report
32
+ uses: mikepenz/action-junit-report@v3
33
+ if: always() # always run even if the previous step fails
34
+ with:
35
+ report_paths: '**/build/test-results/test/TEST-*.xml'
data/README.md CHANGED
@@ -26,14 +26,14 @@ Commands are accesible via the "sc" short cut. Note: this will need to be in you
26
26
 
27
27
  ```ruby
28
28
  Commands:
29
- stack_car bundle_exec ARGS # wraps docker-compose exec web bundle exec unless --service is used to specify (sc be ARGS)
29
+ stack_car bundle_exec ARGS # wraps docker compose exec web bundle exec unless --service is used to specify (sc be ARGS)
30
30
  stack_car console ARGS # shortcut to start rails console
31
31
  stack_car dockerize DIR # Will copy the docker tempates in to your project, see options for supported dependencies
32
- stack_car exec ARGS # wraps docker-compose exec web unless --service is used to specify
32
+ stack_car exec ARGS # wraps docker compose exec web unless --service is used to specify
33
33
  stack_car help [COMMAND] # Describe available commands or one specific command
34
- stack_car stop # starts docker-compose with rebuild and orphan removal, defaults to all
35
- stack_car up # starts docker-compose with rebuild and orphan removal, defaults to web
36
- stack_car walk ARGS # wraps docker-compose run web unless --service is used to specify
34
+ stack_car stop # starts docker compose with rebuild and orphan removal, defaults to all
35
+ stack_car up # starts docker compose with rebuild and orphan removal, defaults to web
36
+ stack_car walk ARGS # wraps docker compose run web unless --service is used to specify
37
37
  ```
38
38
 
39
39
  ## Development
@@ -57,7 +57,10 @@ Developing stack_car often requires a rails application for you to run updated c
57
57
  - Commit your changes
58
58
 
59
59
  ### Releasing a new version
60
- - Update the version number in `version.rb`
60
+ **NOTE:** You will need an account for [rubygems.org](https://rubygems.org) and be made an owner of the [stack_car gem](https://rubygems.org/gems/stack_car) in order to release a new version.
61
+
62
+ - Update the version number in `version.rb`. Please follow [Semantic Versioning](https://semver.org/) guidelines.
63
+ - Commit `version.rb` and create an MR. Once the MR is approved and merged, checkout the `main` branch and do a `git pull`.
61
64
  - Run `bundle exec rake release`
62
65
  - This will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
63
66
 
@@ -67,6 +70,19 @@ Dockerizing your application with stack_car can be thought of in 2 steps:
67
70
  - **Generate the file templates**
68
71
  - **Customize provided templates to the requirements of the application**
69
72
 
73
+ **Set MERGE tool**
74
+ When using stack_car to dockerize an app, it might be necessary to merge templates as opposed to completely overwriting them. To set a tool run:
75
+ ```bash
76
+ export THOR_MERGE=<editor>
77
+ ```
78
+ Alternatively, set it in your shell's `rc` file (`~/.bashrc`, `~/.zshrc`, etc.)
79
+
80
+ With `THOR_MERGE` set, you can enter `m` at the command prompt when there is a conflict between app and `sc` template files.
81
+
82
+ *Note*: For best experience, set `THOR_MERGE` to **GUI text editor** (ie. `code` or `atom`).
83
+
84
+ Initiating a merge pulls 2 versions of the file to the editor. One is what is proposed by stack_car, the other is the original. **Add what you need from the template version to the original file and save the changes**.
85
+
70
86
  ### Generate templates (`sc dockerize`)
71
87
  You can generate requisite files for running your application for local development in Docker with the **dockerize** command.
72
88
 
data/lib/stack_car/cli.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'thor'
2
2
  require 'erb'
3
- require 'dotenv/load'
3
+ require 'dotenv'
4
4
  require 'json'
5
5
  require 'byebug'
6
6
  module StackCar
@@ -18,17 +18,17 @@ module StackCar
18
18
  method_option :service, default: 'web', type: :string, aliases: '-s'
19
19
  method_option :build, default: false, type: :boolean, aliases: '-b'
20
20
  method_option :logs, default: true, type: :boolean
21
- desc "up", "starts docker-compose with rebuild and orphan removal, defaults to web"
21
+ desc "up", "starts docker compose with rebuild and orphan removal, defaults to web"
22
22
  def up
23
23
  setup
24
24
  ensure_development_env
25
25
  args = ['--remove-orphans']
26
26
  args << '--build' if options[:build]
27
27
  if options[:build]
28
- run("#{dotenv} docker-compose pull #{options[:service]}")
28
+ run("#{dotenv} docker compose pull #{options[:service]}")
29
29
  end
30
30
 
31
- run_with_exit("#{dotenv} docker-compose up #{args.join(' ')} #{options[:service]}")
31
+ run_with_exit("#{dotenv} docker compose up #{args.join(' ')} #{options[:service]}")
32
32
  end
33
33
 
34
34
  method_option :service, default: '', type: :string, aliases: '-s'
@@ -36,7 +36,7 @@ module StackCar
36
36
  def stop
37
37
  setup
38
38
  ensure_development_env
39
- run("#{dotenv} docker-compose stop #{options[:service]}")
39
+ run("#{dotenv} docker compose stop #{options[:service]}")
40
40
  run_with_exit("rm -rf tmp/pids/*")
41
41
  end
42
42
 
@@ -53,7 +53,7 @@ module StackCar
53
53
  ensure_development_env
54
54
 
55
55
  if options[:help]
56
- run('docker-compose down --help')
56
+ run('docker compose down --help')
57
57
  say 'Additional stack_car options:'
58
58
  say ' -a, --all Removes all containers, networks, volumes, and'
59
59
  say ' images created by `up`.'
@@ -85,7 +85,7 @@ module StackCar
85
85
  args << '--timeout' if options[:timeout]
86
86
  end
87
87
 
88
- run("#{dotenv} docker-compose down #{args.join(' ')}")
88
+ run("#{dotenv} docker compose down #{args.join(' ')}")
89
89
  run_with_exit('rm -rf tmp/pids/*')
90
90
  end
91
91
 
@@ -94,65 +94,65 @@ module StackCar
94
94
  def build
95
95
  setup
96
96
  ensure_development_env
97
- run_with_exit("#{dotenv} docker-compose build #{options[:service]}")
97
+ run_with_exit("#{dotenv} docker compose build #{options[:service]}")
98
98
  end
99
99
 
100
100
  method_option :service, default: 'web', type: :string, aliases: '-s'
101
- desc "push ARGS", "wraps docker-compose push web unless --service is used to specify"
101
+ desc "push ARGS", "wraps docker compose push web unless --service is used to specify"
102
102
  def push(*args)
103
103
  setup
104
- run_with_exit("#{dotenv} docker-compose push #{options[:service]} #{args.join(' ')}")
104
+ run_with_exit("#{dotenv} docker compose push #{options[:service]} #{args.join(' ')}")
105
105
  end
106
106
 
107
107
  method_option :service, default: 'web', type: :string, aliases: '-s'
108
- desc "pull ARGS", "wraps docker-compose pull web unless --service is used to specify"
108
+ desc "pull ARGS", "wraps docker compose pull web unless --service is used to specify"
109
109
  def pull(*args)
110
110
  setup
111
- run_with_exit("#{dotenv} docker-compose pull #{options[:service]} #{args.join(' ')}")
111
+ run_with_exit("#{dotenv} docker compose pull #{options[:service]} #{args.join(' ')}")
112
112
  end
113
113
 
114
114
  method_option :service, default: '', type: :string, aliases: '-s'
115
- desc "ps ARGS", "wraps docker-compose pull web unless --service is used to specify"
115
+ desc "ps ARGS", "wraps docker compose pull web unless --service is used to specify"
116
116
  def ps(*args)
117
117
  setup
118
- run_with_exit("#{dotenv} docker-compose ps #{options[:service]} #{args.join(' ')}")
118
+ run_with_exit("#{dotenv} docker compose ps #{options[:service]} #{args.join(' ')}")
119
119
  end
120
120
  map status: :ps
121
121
 
122
122
  method_option :service, default: 'web', type: :string, aliases: '-s'
123
- desc "bundle ARGS", "wraps docker-compose run web unless --service is used to specify"
123
+ desc "bundle ARGS", "wraps docker compose run web unless --service is used to specify"
124
124
  def bundle(*args)
125
125
  setup
126
- run_with_exit("#{dotenv} docker-compose exec #{options[:service]} bundle")
126
+ run_with_exit("#{dotenv} docker compose exec #{options[:service]} bundle")
127
127
  end
128
128
 
129
129
  method_option :service, default: 'web', type: :string, aliases: '-s'
130
- desc "walk ARGS", "wraps docker-compose run web unless --service is used to specify"
130
+ desc "walk ARGS", "wraps docker compose run web unless --service is used to specify"
131
131
  def walk(*args)
132
132
  setup
133
- run_with_exit("#{dotenv} docker-compose run #{options[:service]} #{args.join(' ')}")
133
+ run_with_exit("#{dotenv} docker compose run #{options[:service]} #{args.join(' ')}")
134
134
  end
135
135
 
136
136
  method_option :service, default: 'web', type: :string, aliases: '-s'
137
- desc "exec ARGS", "wraps docker-compose exec web unless --service is used to specify"
137
+ desc "exec ARGS", "wraps docker compose exec web unless --service is used to specify"
138
138
  def exec(*args)
139
139
  setup
140
- run_with_exit("#{dotenv} docker-compose exec #{options[:service]} #{args.join(' ')}")
140
+ run_with_exit("#{dotenv} docker compose exec #{options[:service]} #{args.join(' ')}")
141
141
  end
142
142
  map ex: :exec
143
143
 
144
144
  method_option :service, default: 'web', type: :string, aliases: '-s'
145
- desc 'sh ARGS', "launch a shell using docker-compose exec, sets tty properly"
145
+ desc 'sh ARGS', "launch a shell using docker compose exec, sets tty properly"
146
146
  def sh(*args)
147
147
  setup
148
- run_with_exit("#{dotenv} docker-compose exec -e COLUMNS=\"\`tput cols\`\" -e LINES=\"\`tput lines\`\" #{options[:service]} bash #{args.join(' ')}")
148
+ run_with_exit("#{dotenv} docker compose exec -e COLUMNS=\"\`tput cols\`\" -e LINES=\"\`tput lines\`\" #{options[:service]} bash #{args.join(' ')}")
149
149
  end
150
150
 
151
151
  method_option :service, default: 'web', type: :string, aliases: '-s'
152
- desc "bundle_exec ARGS", "wraps docker-compose exec web bundle exec unless --service is used to specify"
152
+ desc "bundle_exec ARGS", "wraps docker compose exec web bundle exec unless --service is used to specify"
153
153
  def bundle_exec(*args)
154
154
  setup
155
- run_with_exit("#{dotenv} docker-compose exec #{options[:service]} bundle exec #{args.join(' ')}")
155
+ run_with_exit("#{dotenv} docker compose exec #{options[:service]} bundle exec #{args.join(' ')}")
156
156
  end
157
157
  map be: :bundle_exec
158
158
 
@@ -160,12 +160,13 @@ module StackCar
160
160
  desc "console ARGS", "shortcut to start rails console"
161
161
  def console(*args)
162
162
  setup
163
- run_with_exit("#{dotenv} docker-compose exec #{options[:service]} bundle exec rails console #{args.join(' ')}")
163
+ run_with_exit("#{dotenv} docker compose exec #{options[:service]} bundle exec rails console #{args.join(' ')}")
164
164
  end
165
165
  map rc: :console
166
166
 
167
167
  desc "release ENVIRONTMENT", "tag and push and image to the registry"
168
168
  def release(environment)
169
+ Dotenv.load(".env.#{environment}", '.env')
169
170
  setup
170
171
  timestamp = Time.now.strftime("%Y%m%d%I%M%S")
171
172
  sha = `git rev-parse HEAD`[0..8]
@@ -193,6 +194,7 @@ module StackCar
193
194
 
194
195
  desc "ssh ENVIRONMENT", "log in to a running instance - requires PRODUCTION_SSH to be set"
195
196
  def ssh(environment)
197
+ Dotenv.load(".env.#{environment}", '.env')
196
198
  setup
197
199
  target = ENV["#{environment.upcase}_SSH"]
198
200
  if target
@@ -239,7 +241,8 @@ module StackCar
239
241
  setup
240
242
  # Commandline overrides config files
241
243
  # options = file_config.merge(options)
242
- @project_name = File.basename(File.expand_path(dir))
244
+ # Sets project name to parent directory name if working with stack_car dir
245
+ @project_name = @sc_dir ? File.basename(File.expand_path('..')) : File.basename(File.expand_path(dir))
243
246
  apt_packages << "libpq-dev postgresql-client" if options[:postgres]
244
247
  apt_packages << "mysql-client" if options[:mysql]
245
248
  apt_packages << "imagemagick" if options[:imagemagick]
@@ -276,6 +279,11 @@ module StackCar
276
279
  template("development.rb.erb", "config/environments/development.rb")
277
280
  template("production.rb.erb", "config/environments/production.rb")
278
281
 
282
+ if options[:solr]
283
+ template("solrcloud-upload-configset.sh", "bin/solrcloud-upload-configset.sh")
284
+ template("solrcloud-assign-configset.sh", "bin/solrcloud-assign-configset.sh")
285
+ end
286
+
279
287
  if File.exists?('README.md')
280
288
  prepend_to_file "README.md" do
281
289
  File.read("#{self.class.source_root}/README.md")
@@ -431,11 +439,11 @@ module StackCar
431
439
  end
432
440
 
433
441
  def find_container_by_service(service_name)
434
- container_id = `docker-compose ps -aq #{service_name}`.strip
442
+ container_id = `docker compose ps -aq #{service_name}`.strip
435
443
 
436
444
  if container_id.empty?
437
445
  say "Unable to locate a container for the service '#{service_name}'"
438
- say "Try running `docker-compose ps #{service_name}` to make sure the container exists"
446
+ say "Try running `docker compose ps #{service_name}` to make sure the container exists"
439
447
  exit(1)
440
448
  end
441
449
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module StackCar
2
- VERSION = "0.14.0"
4
+ VERSION = '0.16.0'
3
5
  end
data/templates/.env.erb CHANGED
@@ -41,3 +41,12 @@ ES_URL=http://elasticsearch:9200
41
41
  SITE_URI=https://CHANGEME.com
42
42
  DEPLOY_HOOK=CHANGEME
43
43
  <% end -%>
44
+ <% if options[:solr] -%>
45
+ SOLR_URL=http://admin:admin@solr:8983/solr/<%= @project_name %>-development
46
+ SOLR_ADMIN_PASSWORD=admin
47
+ SOLR_ADMIN_USER=admin
48
+ SOLR_COLLECTION_NAME=<%= @project_name %>-development
49
+ SOLR_CONFIGSET_NAME=<%= @project_name %>
50
+ SOLR_HOST=solr
51
+ SOLR_PORT=8983
52
+ <% end -%>
@@ -0,0 +1,8 @@
1
+ # Gitlab Original Documentation:
2
+ - https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html#only-allow-merge-requests-to-be-merged-if-the-pipeline-succeeds
3
+
4
+ # Notch8 Playbook Artcile with image:
5
+ - http://playbook-staging.notch8.com/en/gitlab-only-merge-if-pipeline-succeeds
6
+
7
+ # How to Video:
8
+ - https://share.getcloudapp.com/yAuykArv
data/templates/README.md CHANGED
@@ -36,8 +36,11 @@ We recommend committing .env to your repo with good defaults. .env.development,
36
36
 
37
37
  6) Load and seed the database
38
38
  ``` bash
39
- sc be rake db:migrate db: seed
39
+ sc be rake db:migrate db:seed
40
40
  ```
41
+
42
+ 7) Visit the running instance in the browser at `project-name.test`
43
+
41
44
  ### Troubleshooting Docker Development Setup
42
45
  Confirm or configure settings. Sub your information for the examples.
43
46
  ``` bash
@@ -29,7 +29,7 @@
29
29
  - debug: var=authout
30
30
 
31
31
  - name: Restart service
32
- command: "cd {{ compose_dir }} && docker-compose -f {{ project_name }}.yml pull web && docker-compose -f {{ project_name }}.yml up -d web"
32
+ command: "cd {{ compose_dir }} && docker compose -f {{ project_name }}.yml pull web && docker compose -f {{ project_name }}.yml up -d web"
33
33
  environment:
34
34
  TAG: "{{ tag }}"
35
35
  register: output
@@ -62,4 +62,4 @@
62
62
  body_format: json
63
63
  status_code: 200
64
64
 
65
- <% end %>
65
+ <% end %>
@@ -51,7 +51,7 @@ services:
51
51
  - docker-entrypoint.sh
52
52
  - solr-precreate
53
53
  - mycore
54
- # docker-compose exec --user=solr solr bin/solr create_core -c CORENAME
54
+ # docker compose exec --user=solr solr bin/solr create_core -c CORENAME
55
55
  <% end -%>
56
56
  <% if options[:redis] -%>
57
57
  redis:
@@ -129,8 +129,8 @@ services:
129
129
  ports:
130
130
  - "${WEB_PORT}"
131
131
  environment:
132
- - VIRTUAL_HOST=<%= @project_name %>.docker
133
- - VIRTUAL_PORT=80
132
+ - VIRTUAL_HOST=.<%= @project_name %>.test
133
+ - VIRTUAL_PORT=3000
134
134
  depends_on:
135
135
  <%= compose_depends %>
136
136
 
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env sh
2
+ COUNTER=0;
3
+
4
+ if [ "$SOLR_ADMIN_USER" ]; then
5
+ solr_user_settings="--user $SOLR_ADMIN_USER:$SOLR_ADMIN_PASSWORD"
6
+ fi
7
+
8
+ solr_config_name="${SOLR_CONFIGSET_NAME:-solrconfig}"
9
+ solr_collection_name="${SOLR_COLLECTION_NAME:-hyrax}"
10
+
11
+ # Solr Cloud Collection API URLs
12
+ solr_collection_list_url="$SOLR_HOST:$SOLR_PORT/solr/admin/collections?action=LIST"
13
+ solr_collection_modify_url="$SOLR_HOST:$SOLR_PORT/solr/admin/collections?action=MODIFYCOLLECTION&collection=${solr_collection_name}&collection.configName=${solr_config_name}"
14
+
15
+ while [ $COUNTER -lt 30 ]; do
16
+ if nc -z "${SOLR_HOST}" "${SOLR_PORT}"; then
17
+ if curl --silent $solr_user_settings "$solr_collection_list_url" | grep -q "$solr_collection_name"; then
18
+ echo "-- Collection ${solr_collection_name} exists; setting ${solr_config_name} ConfigSet ..."
19
+ echo $solr_collection_modify_url
20
+ curl $solr_user_settings "$solr_collection_modify_url"
21
+ exit
22
+ else
23
+ echo "-- Collection ${solr_collection_name} does not exist; creating and setting ${solr_config_name} ConfigSet ..."
24
+ solr_collection_create_url="$SOLR_HOST:$SOLR_PORT/solr/admin/collections?action=CREATE&name=${solr_collection_name}&collection.configName=${solr_config_name}&numShards=1"
25
+ curl $solr_user_settings "$solr_collection_create_url"
26
+ exit
27
+ fi
28
+ fi
29
+ echo "-- Looking for Solr (${SOLR_HOST}:${SOLR_PORT})..."
30
+ COUNTER=$(( COUNTER+1 ));
31
+ sleep 5s
32
+ done
33
+
34
+ echo "--- ERROR: failed to create/update Solr collection after 5 minutes";
35
+ exit 1
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env sh
2
+
3
+ COUNTER=0;
4
+ # /app/samvera/hyrax-webapp/solr/conf
5
+ CONFDIR="${1}"
6
+
7
+ if [ "$SOLR_ADMIN_USER" ]; then
8
+ solr_user_settings="--user $SOLR_ADMIN_USER:$SOLR_ADMIN_PASSWORD"
9
+ fi
10
+
11
+ solr_config_name="${SOLR_CONFIGSET_NAME:-solrconfig}"
12
+
13
+ # Solr Cloud ConfigSet API URLs
14
+ solr_config_list_url="http://$SOLR_HOST:$SOLR_PORT/api/cluster/configs?omitHeader=true"
15
+ solr_config_upload_url="http://$SOLR_HOST:$SOLR_PORT/solr/admin/configs?action=UPLOAD&name=${solr_config_name}"
16
+
17
+ while [ $COUNTER -lt 30 ]; do
18
+ echo "-- Looking for Solr (${SOLR_HOST}:${SOLR_PORT})..."
19
+ if nc -z "${SOLR_HOST}" "${SOLR_PORT}"; then
20
+ # shellcheck disable=SC2143,SC2086
21
+ if curl --silent --user 'fake:fake' "$solr_config_list_url" | grep -q '401'; then
22
+ # the solr pods come up and report available before they are ready to accept trusted configs
23
+ # only try to upload the config if auth is on.
24
+ if curl --silent $solr_user_settings "$solr_config_list_url" | grep -q "$solr_config_name"; then
25
+ echo "-- ConfigSet already exists; skipping creation ...";
26
+ else
27
+ echo "-- ConfigSet for ${CONFDIR} does not exist; creating ..."
28
+ (cd "$CONFDIR" && zip -r - *) | curl -X POST $solr_user_settings --header "Content-Type:application/octet-stream" --data-binary @- "$solr_config_upload_url"
29
+ fi
30
+ exit
31
+ else
32
+ echo "-- Solr at $solr_config_list_url is accepting unauthorized connections; we can't upload a trusted ConfigSet."
33
+ echo "-- It's possible SolrCloud is bootstrapping its configuration, so this process will retry."
34
+ echo "-- see: https://solr.apache.org/guide/8_6/configsets-api.html#configsets-upload"
35
+ fi
36
+ fi
37
+ COUNTER=$(( COUNTER+1 ));
38
+ sleep 5s
39
+ done
40
+
41
+ echo "--- ERROR: failed to create Solr ConfigSet after 5 minutes";
42
+ exit 1
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.14.0
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Kaufman
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-09-10 00:00:00.000000000 Z
11
+ date: 2023-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -159,6 +159,7 @@ executables:
159
159
  extensions: []
160
160
  extra_rdoc_files: []
161
161
  files:
162
+ - ".github/workflows/rspec-action.yaml"
162
163
  - ".gitignore"
163
164
  - ".gitlab-ci.yml"
164
165
  - ".rspec"
@@ -186,6 +187,7 @@ files:
186
187
  - templates/.gitlab/issue_templates/Bug.md
187
188
  - templates/.gitlab/issue_templates/Feature.md
188
189
  - templates/.gitlab/issue_templates/Question.md
190
+ - templates/.gitlab/issue_templates/enable_pipeline_check_before_merge.md
189
191
  - templates/.gitlab/merge_request_templates/Bug.md
190
192
  - templates/.gitlab/merge_request_templates/Feature.md
191
193
  - templates/.sops.yaml.erb
@@ -243,6 +245,8 @@ files:
243
245
  - templates/ops/roles/docker.ubuntu/vars/main.yml
244
246
  - templates/production.rb.erb
245
247
  - templates/provision.yml.erb
248
+ - templates/solrcloud-assign-configset.sh
249
+ - templates/solrcloud-upload-configset.sh
246
250
  - templates/webapp.conf.erb
247
251
  - templates/worker.sh.erb
248
252
  homepage: https://gitlab.com/notch8/stack_car
@@ -263,7 +267,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
263
267
  - !ruby/object:Gem::Version
264
268
  version: '0'
265
269
  requirements: []
266
- rubygems_version: 3.0.6
270
+ rubygems_version: 3.1.6
267
271
  signing_key:
268
272
  specification_version: 4
269
273
  summary: A tool to make rails + docker easy