Jacamar CI v0.9.0
Release: v0.9.0
Date: 10/22/2021
Note
There are several key changes to highlight in this release, depending on your deployment you may be affected:
All RPM files will install binaries and any future files exclusively to the
/opt/jacamar
folder as opposed to multiple locations.Support for the
variable_data_dir
option has been deprecated in favor of improvements made to standarddata_dir
behaviors and the optional RunAs validation script override.The
downscope = "sudo"
option is fully supported and associated documentation has been added (Thanks @joe-snyder).
Further details along with the remainder of the improvements can be found below.
Admin Changes
Incorporated better RPM procedures into updated spec file (!256)
To better align with best practices we’ve focused the installation of all Jacamar CI elements into the
/opt/jacamar
directory. Any future additions will correctly remain within this structure.$ rpm -qlp jacamar-ci-0.9.0.el7.x86_64.rpm /opt/jacamar /opt/jacamar/bin /opt/jacamar/bin/jacamar /opt/jacamar/bin/jacamar-auth
Expand trusted variables (
$HOME
and$USER
) indata_dir
(!272)Select variables can be referenced by the
data_dir
, these are resolved through information obtained during user-lookup.[general] data_dir = "/gpfs/ci/$USER"
Removed support for
variable_data_dir
configuration (!268)Ideally this does not inconvenience any deployments, we believe that the changes to
data_dir
coupled with the potential use of the RunAs validation script offer a stronger solution.
Properly handle resolution of symlinks in
data_dir
- @tgmachina (!269)All symlinks resoled during user scoped directory creation process, ensuring enforcement of permissions.
Bot accounts blocked from runner by default with error message (!266)
Default behaviors can be overridden via configuration if use of GitLab bot accounts desired and does not conflict with local user authorization processes.
[auth] allow_bot_accounts = true
Support added for
tls-ca-file
configuration for GitLab HTML requests (!265)Any configured file will be used in constructing HTML requests to the associated GitLab instance. Format and behavior mirrors that of the GitLab configuration.
[general] tls-ca-file = "/some/file.crt"
Added
JWT_ISS
(issuer) to RunAs validation environment (!276)Batch submission can be affected by
env_keys
config (!278)[batch] env_keys = ["JOB_CONFIG=/example/test.file"]
Equivalent of
export JOB_CONFIG=/example/test.file && qsub ...
Unrecognized configuration keys logged as warnings (!267)
If an unrecognized key is detected in the
---configuration
file this will be logged; however, jobs will be allowed to run.
User Changes
Correct directory permission provided in related error message - @tgmachina (!274)
Error encountered during job: invalid permissions for directory /ecp/<USER> (currently drwxr-xr-x, need to be 700), this must be manually addressed Error encountered during job: Error executing prepare_exec: exit status 2
Expand trusted variables (
$HOME
and$USER
) inCUSTOM_CI_BUILDS_DIR
(!271)If enabled through administration select variables will be resolved based, any other variables or non-absolute paths will still result in errors.
variables: # Use double $$ to avoid GitLab server resolving variable. CUSTOM_CI_BUILDS_DIR: $$HOME/.ci
Invalid pipeline source error conveyed in job output (!245)
Bug & Development Fixes
Upgraded to Go version 1.17.2 (!273)
Sudo args handled as slice for use by
execve(2)
(!249)Removed all CI Token Broker support (!242)
Support discontinued in favor of the official GitLab functionality for limiting job token access.
Introduced
ff_custom_data_dir
configuration (!271)This feature flag signals that the entirety of the
data_dir
should observe a user configuredCUSTOM_CI_BUILDS_DIR
variable as opposed to just thebuilds_dir
. Behaviors associated with the flag are subject to change based upon testing/feedback.[general] ff_custom_data_dir = true
Reviewed and updated multiple third-party dependencies (!246)
Improved flexibility of validation
rules
package while still enforcing security requirements (!263)Added OpenSUSE test package during CI (!275)
Correctly allow 500 permissions with capabilities (!280)
Added Podman support for local container testing (!255, !254)
Container command initiated through the
Makefile
(e.g.,make test-container
) will default to Podman if found installed. Else, or via aCONTAINER=docker
variable, Docker will still be utilized.
JobID logged as integer value (!237)
Corrected handling of
jacamar_path
config with binary paths (!257)[auth] jacamar_path = "/example/jacamar-test-binary"