Upgrade internal runit cookbook to latest upstream version
Depends on gitlab-org/build/omnibus-mirror/runit-cookbook!1 (merged)
Closes: #2166 (closed)
The changes to upstream runit cookbook
-
Code level changes for upstream cookbook to behave like we want are made as a separate branch in our mirror - gitlab-org/build/omnibus-mirror/runit-cookbook!1 (merged) . Other changes made in omnibus-gitlab for integrating runit cookbook are listed below.
-
Removed all files except the custom resource definition, metadata and LICENSE. This means, only the
libraries
folder from upstream is used by us. -
Added recipes for different init systems we support. The recipes (
runit_*.rb
files) and conf files for them (gitlab-runsvdir.*
files) are available as part of ourpackage
cookbook. This was earlier added as a patch on top of runit cookbook, and now moved topackage
cookbook. -
The
gitlab::runit
recipe does the init detection, and calls init system specific recipes as needed. This was earlier added as a patch on top of runit cookbook's default recipe, and now moved to separate recipe inpackage
cookbook. -
Default values for runit cookbook specifying the location of service related files are overriden. This is done in attribute files of package cookbook.
package
cookbook is made a dependency of all other cookbooks that need runit, so the default attributes are propogated to them automatically. This was earlier done as a patch on top of runit cookbook's default attributes file.
Other miscellaneous changes
-
Rename few attributes to match new runit cookbook code
-
run_restart
=>restart_on_update
-
finish_script
=>finish
-
-
Add a metadata.rb file to
consul
cookbook to make it depend onpackage
cookbook. -
Rubocop no longer runs on Runit cookbook - This can be changed, but let's do it in a followup MR and not add more clutter to this MR.