-
Sami Hiltunen authored
The configuration formats of Praefect and Omnibus deviate from each other creating a few problems: 1. Configuration keys for the same option differ between the context of Omnibus and Praefect creating confusion for the user. 2. Each new key added requires duplicate work to map the different keys into Omnibus. This change introduces praefect['configuration'] matching configuration in Omnibus with Praefect's own format. The previous configuration keys are remapped into this new format to assist administrators during the transition period. The tomlrb gem does not supporting encoding TOML, so the tomlib gem has been added as a dependency. The configuration values are now serialized directly into TOML instead of using a template. Removes unneeded values allowing Praefect's own source to be the single source of truth for configuration. Updates tests because the new serialization method does not output empty config sections. Guards are included to prevent errors with latency configurations that must be arrays where the previous configuration expected a string until such time as Praefect's own validation subroutines are implemented. Closes https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/7422 Changelog: changed
Sami Hiltunen authoredThe configuration formats of Praefect and Omnibus deviate from each other creating a few problems: 1. Configuration keys for the same option differ between the context of Omnibus and Praefect creating confusion for the user. 2. Each new key added requires duplicate work to map the different keys into Omnibus. This change introduces praefect['configuration'] matching configuration in Omnibus with Praefect's own format. The previous configuration keys are remapped into this new format to assist administrators during the transition period. The tomlrb gem does not supporting encoding TOML, so the tomlib gem has been added as a dependency. The configuration values are now serialized directly into TOML instead of using a template. Removes unneeded values allowing Praefect's own source to be the single source of truth for configuration. Updates tests because the new serialization method does not output empty config sections. Guards are included to prevent errors with latency configurations that must be arrays where the previous configuration expected a string until such time as Praefect's own validation subroutines are implemented. Closes https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/7422 Changelog: changed
This project manages its dependencies using Bundler.
Learn more
Gemfile.lock 14.38 KiB
GIT
remote: https://gitlab.com/gitlab-org/omnibus.git
revision: 0451fe3967044496e8b0fc47b0f5d64fa1832ffc
tag: 8.2.1.10
specs:
omnibus (8.2.1)
aws-sdk-s3 (~> 1)
chef-cleanroom (~> 1.0)
chef-utils (>= 15.4)
contracts (>= 0.16.0, < 0.17.0)
ffi-yajl (~> 2.2)
mixlib-shellout (>= 2.0, < 4.0)
mixlib-versioning
ohai (>= 15, < 18)
pedump
ruby-progressbar (~> 1.7)
thor (>= 0.18, < 2.0)
GEM
remote: https://packagecloud.io/cinc-project/stable/
specs:
chef (17.10.0)
addressable
aws-sdk-s3 (~> 1.91)
aws-sdk-secretsmanager (~> 1.46)
chef-config (= 17.10.0)
chef-utils (= 17.10.0)
chef-vault
chef-zero (>= 14.0.11)
corefoundation (~> 0.3.4)
diff-lcs (>= 1.2.4, < 1.6.0, != 1.4.0)
erubis (~> 2.7)
ffi (>= 1.5.0)
ffi-libarchive (~> 1.0, >= 1.0.3)
ffi-yajl (~> 2.2)
iniparse (~> 1.4)
inspec-core (~> 4.23)
license-acceptance (>= 1.0.5, < 3)
mixlib-archive (>= 0.4, < 2.0)
mixlib-authentication (>= 2.1, < 4)
mixlib-cli (>= 2.1.1, < 3.0)
mixlib-log (>= 2.0.3, < 4.0)
mixlib-shellout (>= 3.1.1, < 4.0)
net-sftp (>= 2.1.2, < 4.0)
ohai (~> 17.0)
plist (~> 3.2)
proxifier (~> 1.0)
syslog-logger (~> 1.6)
train-core (~> 3.2, >= 3.2.28)
train-winrm (>= 0.2.5)
uuidtools (>= 2.1.5, < 3.0)
vault (~> 0.16)
chef-cli (5.6.1)
addressable (>= 2.3.5, < 2.9)
chef (>= 16.0)
cookbook-omnifetch (~> 0.5)
diff-lcs (>= 1.0, < 1.4)
ffi-yajl (>= 1.0, < 3.0)
license-acceptance (>= 1.0.11, < 3)
minitar (~> 0.6)
mixlib-cli (>= 1.7, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
pastel (~> 0.7)
solve (> 2.0, < 5.0)
chef-config (17.10.0)
addressable
chef-utils (= 17.10.0)
fuzzyurl
mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2)
chef-utils (17.10.0)
concurrent-ruby
chef-zero (15.0.11)
ffi-yajl (~> 2.2)
hashie (>= 2.0, < 5.0)
mixlib-log (>= 2.0, < 4.0)
rack (~> 2.0, >= 2.0.6)
uuidtools (~> 2.1)
webrick
inspec-core (4.56.20)
addressable (~> 2.4)
chef-telemetry (~> 1.0, >= 1.0.8)
faraday (>= 0.9.0, < 1.5)
faraday_middleware (~> 1.0)
hashie (>= 3.4, < 5.0)
license-acceptance (>= 0.2.13, < 3.0)
method_source (>= 0.8, < 2.0)
mixlib-log (~> 3.0)
multipart-post (~> 2.0)
parallel (~> 1.9)
parslet (>= 1.5, < 2.0)
pry (~> 0.13)
rspec (>= 3.9, <= 3.11)
rspec-its (~> 1.2)
rubyzip (>= 1.2.2, < 3.0)
semverse (~> 3.0)
sslshake (~> 1.2)
thor (>= 0.20, < 2.0)
tomlrb (>= 1.2, < 2.1)
train-core (~> 3.0)
tty-prompt (~> 0.17)
tty-table (~> 0.10)
mixlib-versioning (1.2.12)
unf_ext (0.0.7.2)
GEM
remote: https://rubygems.org/
specs:
abstract_type (0.0.7)
activesupport (6.1.3.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
adamantium (0.2.0)
ice_nine (~> 0.11.0)
memoizable (~> 0.4.0)
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
ast (2.4.2)
awesome_print (1.9.2)
aws-eventstream (1.2.0)
aws-partitions (1.584.0)
aws-sdk-core (3.130.2)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-ec2 (1.327.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-kms (1.48.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-marketplacecatalog (1.22.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.103.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sdk-secretsmanager (1.60.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.5.0)
aws-eventstream (~> 1, >= 1.0.2)
binding_ninja (0.2.3)
builder (3.2.4)
chef-cleanroom (1.0.5)
chef-telemetry (1.1.1)
chef-config
concurrent-ruby (~> 1.0)
chef-vault (4.1.10)
chefspec (9.3.3)
chef (>= 15)
chef-cli
fauxhai-ng (>= 7.5)
rspec (~> 3.0)
citrus (3.0.2)
claide (1.1.0)
claide-plugins (0.9.2)
cork
nap
open4 (~> 1.3)
coderay (1.1.3)
colored2 (3.1.2)
concord (0.1.5)
adamantium (~> 0.2.0)
equalizer (~> 0.0.9)
concurrent-ruby (1.1.8)
contracts (0.16.1)
cookbook-omnifetch (0.11.1)
mixlib-archive (>= 0.4, < 2.0)
corefoundation (0.3.13)
ffi (>= 1.15.0)
cork (0.3.0)
colored2 (~> 3.1)
danger (8.6.1)
claide (~> 1.0)
claide-plugins (>= 0.9.2)
colored2 (~> 3.1)
cork (~> 0.1)
faraday (>= 0.9.0, < 2.0)
faraday-http-cache (~> 2.0)
git (~> 1.7)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.0)
no_proxy_fix
octokit (~> 4.7)
terminal-table (>= 1, < 4)
danger-gitlab (8.0.0)
danger
gitlab (~> 4.2, >= 4.2.0)
debug (1.6.1)
irb (>= 1.3.6)
reline (>= 0.3.1)
diff-lcs (1.3)
docile (1.4.0)
docker-api (2.0.0)
excon (>= 0.47.0)
multi_json
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
equalizer (0.0.11)
erubi (1.11.0)
erubis (2.7.0)
excon (0.76.0)
fantaskspec (1.2.0)
rake (>= 10.0)
rspec (~> 3.4)
faraday (1.4.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.1)
multipart-post (>= 1.2, < 3)
ruby2_keywords (>= 0.0.4)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-http-cache (2.4.1)
faraday (>= 0.8)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday_middleware (1.2.0)
faraday (~> 1.0)
fauxhai-ng (8.7.0)
net-ssh
ffi (1.15.5)
ffi-compiler (1.0.1)
ffi (>= 1.0.0)
rake
ffi-libarchive (1.1.3)
ffi (~> 1.0)
ffi-yajl (2.4.0)
libyajl2 (>= 1.2)
fuzzyurl (0.9.0)
git (1.11.0)
rchardet (~> 1.8)
gitlab (4.19.0)
httparty (~> 0.20)
terminal-table (>= 1.5.1)
gitlab-dangerfiles (3.5.0)
danger (>= 8.4.5)
danger-gitlab (>= 8.0.0)
rake
gitlab-styles (9.0.0)
rubocop (~> 1.36.0)
rubocop-gitlab-security (~> 0.1.1)
rubocop-graphql (~> 0.14)
rubocop-performance (~> 1.14)
rubocop-rails (~> 2.15)
rubocop-rspec (~> 2.12)
gssapi (1.3.1)
ffi (>= 1.0.1)
gyoku (1.4.0)
builder (>= 2.1.2)
rexml (~> 3.0)
hashie (4.1.0)
highline (2.0.3)
http (5.1.0)
addressable (~> 2.8)
http-cookie (~> 1.0)
http-form_data (~> 2.2)
llhttp-ffi (~> 0.4.0)
http-accept (1.7.0)
http-cookie (1.0.5)
domain_name (~> 0.5)
http-form_data (2.3.0)
httparty (0.20.0)
mime-types (~> 3.0)
multi_xml (>= 0.5.2)
httpclient (2.8.3)
i18n (1.8.10)
concurrent-ruby (~> 1.0)
ice_nine (0.11.2)
iniparse (1.5.0)
io-console (0.5.11)
iostruct (0.0.4)
ipaddress (0.8.3)
irb (1.4.1)
reline (>= 0.3.0)
jmespath (1.6.1)
json (2.6.1)
json_pure (2.3.1)
knapsack (1.17.1)
rake
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
libyajl2 (2.1.0)
license-acceptance (2.1.13)
pastel (~> 0.7)
tomlrb (>= 1.2, < 3.0)
tty-box (~> 0.6)
tty-prompt (~> 0.20)
little-plugger (1.1.4)
llhttp-ffi (0.4.0)
ffi-compiler (~> 1.0)
rake (~> 13.0)
logging (2.3.0)
little-plugger (~> 1.1)
multi_json (~> 1.14)
memoizable (0.4.2)
thread_safe (~> 0.3, >= 0.3.1)
method_source (1.0.0)
mime-types (3.3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2020.0512)
minitar (0.9)
minitest (5.14.4)
mixlib-archive (1.1.7)
mixlib-log
mixlib-authentication (3.0.10)
mixlib-cli (2.1.8)
mixlib-config (3.0.9)
tomlrb
mixlib-log (3.0.9)
mixlib-shellout (3.2.7)
chef-utils
molinillo (0.8.0)
multi_json (1.15.0)
multi_xml (0.6.0)
multipart-post (2.1.1)
nap (1.1.0)
net-scp (3.0.0)
net-ssh (>= 2.6.5, < 7.0.0)
net-sftp (3.0.0)
net-ssh (>= 5.0.0, < 7.0.0)
net-ssh (6.1.0)
netrc (0.11.0)
no_proxy_fix (0.1.2)
nori (2.6.0)
octokit (4.25.1)
faraday (>= 1, < 3)
sawyer (~> 0.9)
ohai (17.9.0)
chef-config (>= 14.12, < 18)
chef-utils (>= 16.0, < 18)
ffi (~> 1.9)
ffi-yajl (~> 2.2)
ipaddress
mixlib-cli (>= 1.7.0)
mixlib-config (>= 2.0, < 4.0)
mixlib-log (>= 2.0.1, < 4.0)
mixlib-shellout (~> 3.2, >= 3.2.5)
plist (~> 3.1)
train-core
wmi-lite (~> 1.0)
omnibus-ctl (0.3.6)
open4 (1.3.4)
package_cloud (0.3.09)
highline (~> 2.0.0)
json_pure (~> 2.3.0)
rainbow (= 2.2.2)
rest-client (~> 2.0)
thor (~> 1.2)
parallel (1.19.2)
parser (3.1.2.1)
ast (~> 2.4.1)
parslet (1.8.2)
pastel (0.8.0)
tty-color (~> 0.5)
pedump (0.6.5)
awesome_print
iostruct (>= 0.0.4)
multipart-post (>= 2.0.0)
rainbow
zhexdump (>= 0.0.2)
plist (3.6.0)
proc_to_ast (0.1.0)
coderay
parser
unparser
procto (0.0.3)
proxifier (1.0.3)
pry (0.14.1)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (5.0.0)
rack (2.2.4)
rainbow (2.2.2)
rake
rake (13.0.6)
rchardet (1.8.0)
regexp_parser (2.1.1)
reline (0.3.1)
io-console (~> 0.5)
rest-client (2.1.0)
http-accept (>= 1.7.0, < 2.0)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
retriable (3.1.2)
rexml (3.2.5)
rspec (3.11.0)
rspec-core (~> 3.11.0)
rspec-expectations (~> 3.11.0)
rspec-mocks (~> 3.11.0)
rspec-core (3.11.0)
rspec-support (~> 3.11.0)
rspec-expectations (3.11.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-its (1.3.0)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
rspec-mocks (3.11.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-parameterized (0.4.2)
binding_ninja (>= 0.2.3)
parser
proc_to_ast
rspec (>= 2.13, < 4)
unparser
rspec-support (3.11.1)
rspec_junit_formatter (0.4.1)
rspec-core (>= 2, < 4, != 2.12.0)
rubocop (1.36.0)
json (~> 2.3)
parallel (~> 1.10)
parser (>= 3.1.2.1)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.20.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.21.0)
parser (>= 3.1.1.0)
rubocop-gitlab-security (0.1.1)
rubocop (>= 0.51)
rubocop-graphql (0.14.5)
rubocop (>= 0.87, < 2)
rubocop-performance (1.15.0)
rubocop (>= 1.7.0, < 2.0)
rubocop-ast (>= 0.4.0)
rubocop-rails (2.16.0)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
rubocop-rspec (2.13.1)
rubocop (~> 1.33)
ruby-progressbar (1.11.0)
ruby2_keywords (0.0.5)
rubyntlm (0.6.3)
rubyzip (2.3.2)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
semverse (3.0.0)
simplecov (0.21.2)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
simplecov-cobertura (2.1.0)
rexml
simplecov (~> 0.19)
simplecov-html (0.12.3)
simplecov_json_formatter (0.1.4)
solve (4.0.4)
molinillo (~> 0.6)
semverse (>= 1.1, < 4.0)
sslshake (1.3.1)
strings (0.2.1)
strings-ansi (~> 0.2)
unicode-display_width (>= 1.5, < 3.0)
unicode_utils (~> 1.4)
strings-ansi (0.2.0)
syslog-logger (1.6.8)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thor (1.2.1)
thread_safe (0.3.6)
toml-rb (2.2.0)
citrus (~> 3.0, > 3.0)
tomlib (0.5.0)
tomlrb (1.3.0)
train-core (3.9.2)
addressable (~> 2.5)
ffi (!= 1.13.0)
json (>= 1.8, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
net-scp (>= 1.2, < 4.0)
net-ssh (>= 2.9, < 7.0)
train-winrm (0.2.13)
winrm (>= 2.3.6, < 3.0)
winrm-elevated (~> 1.2.2)
winrm-fs (~> 1.0)
tty-box (0.7.0)
pastel (~> 0.8)
strings (~> 0.2.0)
tty-cursor (~> 0.7)
tty-color (0.6.0)
tty-cursor (0.7.1)
tty-prompt (0.23.1)
pastel (~> 0.8)
tty-reader (~> 0.8)
tty-reader (0.9.0)
tty-cursor (~> 0.7)
tty-screen (~> 0.8)
wisper (~> 2.0)
tty-screen (0.8.1)
tty-table (0.12.0)
pastel (~> 0.8)
strings (~> 0.2.0)
tty-screen (~> 0.8)
tzinfo (2.0.4)
concurrent-ruby (~> 1.0)
unf (0.1.4)
unf_ext
unicode-display_width (1.8.0)
unicode_utils (1.4.0)
unparser (0.4.7)
abstract_type (~> 0.0.7)
adamantium (~> 0.2.0)
concord (~> 0.1.5)
diff-lcs (~> 1.3)
equalizer (~> 0.0.9)
parser (>= 2.6.5)
procto (~> 0.0.2)
uuidtools (2.2.0)
vault (0.16.0)
aws-sigv4
webrick (1.7.0)
winrm (2.3.6)
builder (>= 2.1.2)
erubi (~> 1.8)
gssapi (~> 1.2)
gyoku (~> 1.0)
httpclient (~> 2.2, >= 2.2.0.2)
logging (>= 1.6.1, < 3.0)
nori (~> 2.0)
rubyntlm (~> 0.6.0, >= 0.6.3)
winrm-elevated (1.2.3)
erubi (~> 1.8)
winrm (~> 2.0)
winrm-fs (~> 1.0)
winrm-fs (1.3.5)
erubi (~> 1.8)
logging (>= 1.6.1, < 3.0)
rubyzip (~> 2.0)
winrm (~> 2.0)
wisper (2.0.1)
wmi-lite (1.0.7)
yard (0.9.26)
zeitwerk (2.4.2)
zhexdump (0.0.2)
PLATFORMS
ruby
DEPENDENCIES
aws-sdk-ec2
aws-sdk-marketplacecatalog
chef (~> 17.10.0)!
chef-cli (~> 5.6.1)!
chef-utils!
chefspec
debug
docker-api
fantaskspec
gitlab
gitlab-dangerfiles (~> 3.0)
gitlab-styles (~> 9.0)
http
json
knapsack
mixlib-versioning!
ohai (~> 17.0)
omnibus!
omnibus-ctl (= 0.3.6)
package_cloud
rainbow (~> 2.2)
rake
retriable
rspec
rspec-parameterized
rspec_junit_formatter
simplecov-cobertura
thor (~> 1.2)
toml-rb
tomlib (~> 0.5.0)
yard
BUNDLED WITH
2.3.22