- Nothing changed yet.
- Allow to configure the name of the
.nix
file created bybatou_ext.file.DeploymentTrash
.
-
Fix interactive version select.
-
Change the releaser defaults to actually release
-
Correctness fix for
jenkins set-version
: if a tag is resolved, make sure it's always resolved to the rev of the tagged commit (instead of the tag's rev) or fail hard to avoid incorrect revs. -
Improve documentation of
batou_ext.file.DeploymentTrash
- make the DeploymentTrash's trash directory configurable and output a potentially helpful message on OSErrors which could indicate that the trash directory and the directory that is being trashed are on different devices
-
nixos.NixOSModule: Mark generated context file as sensitive (Fixes #167)
-
add an env argument for the
Run
component to support running commands with specific environment variables -
The component
batou_ext.python.FixELFRunPath
now uses a patched version of patchelf to make sure that the dynamic libraries don't get larger per deploy.When a certain threshold is exceeded, Python will fail to import these.
If the component got regularly executed in deployments, you may want to consider recreating the virtualenv once.
- A new component
batou_ext.systemd.ScalableService
has been added. This provides configurations for a service that can exist multiple times (e.g. queue consumers). Detailed usage instructions and further information can be found in the component's docstring.
-
A new component
batou_ext.mail.Mailpit
has been added. Mailpit is an alternative for Mailhog which is not maintained anymore. -
fix a mysterious regression that cause a test to fail
-
redis.Redis: Allow to set provide name
-
The
SymlinkAndCleanup
internally uses theDeploymentTrash
component internally which deletes old code usingsystemd-tmpfiles
and throttles the operation withIOReadIOPSMax
andIOWriteIOPSMax
.This didn't have any effect before because these settings were wrongly placed in
[Unit]
instead of[Service]
.
- fix a regression in the versions update script where the environment was not loaded correctly
ssl.Certificate
: Set proper ACL for non-let's encrypt certificates.
- Fix setting acl for
ssl.Certificate
during ceritificate renewal.
- Set correct acl for
ssl.Certificates
on certificate renew.
-
oci.Container
: Add option to disable OCI container monitoring.This is mainly useful for containers which are not running all the time.
-
oci.Container
: make rebuild optionalThis is useful, when there are multiple container deployed which should be activated at once.
-
Fix a bug in the version update script where multiple environments sharing the same branch would not be updated correctly
-
the
SymlinkAndCleanup
component was adjusted to clean up asynchronously using systemd's tmpfiles instead of deleting all candidates immediately
-
oci.Container: Fix a bug where containers were not restarted properly even though their image digest was out of sync after the remote tag has been updated
-
oci.Container: Fix a typo in the oci container component's verify method
-
batou_ext.python.FixELFRunPath
: search not onlyenv_directory
, but also its subdirs for C libraries needed by the libraries to patch. -
Fix
PurgePackage
raising error when package is not found. -
The attribute
public_smtp_name
ofbatou_ext.mail.Mailhog
now has a default value. It points toself.host.fqdn
. -
adjust the certificate expiry check output to be more easily parseable
- systemd timers: add an option to enable persistence breaking change: systemd timers are now non-persistent by default. The previous default behaviour was a problem for cronjobs that should not be started immediately following a reboot / downtime
- Added a component
batou_ext.python.FixELFRunPath
which modifiesDT_RUNPATH
&DT_RPATH
of.so
-files in a venv to load the correct libraries (from either a Nix env or other Python libraries). Please read the docstring carefully before using it.
-
OCI: cache validation result during deployment.
Caching results speeds up deployments where multiple containers with the same image are deployed.
- Added component
batou_ext.http.HTTPServiceWatchdog
that adds a check to a systemd unit whether a given URL is reachable (e.g. a/health
endpoint). If the URL cannot be reached within a certain interval, the service will be restarted. Further details are documented in the docstring.
- Fix
SymlinkAndCleanup
async delete and allow custom extra arguments tosystemd run
.
-
OCI: Support registries where the docker login is different than the registry used in referencing containers.
-
OCI: Improve change detection of remote images (required for docker.io)
-
OCI: The nix file does not contain sensitive data, so don’t mark it as such.
-
OCI: add support for extraOptions
- Added a script
s3_bootstrap
that interactively creates an S3 bucket (including a radosgw account & keys if needed). Will be installed withbatou_ext
if thes3-bootstrap
extra is requested.
-
add an option to move mailhog log output (
stdout
+stderr
) to a different namespace, e.g. "mailhog". see systemd.exec(5) for more information -
add an option to disable
stdout
logging for the mailhog service -
improve dectection of a versions file for versions updates
-
fix the oci.Container verify method not throwing an updaterequired on changes to the docker container's environment file
-
Add systemd-run async cleanup option for SymlinkAndCleanup removals
- Change the behaviour of the batou_ext.versions updater to allow environments to share a branch
- Added a component
batou_ext.git.Remote
which allows to manipulate remotes of a git repository.
- Improve output handling for the
PurgePackage
component. Will not appear like a fatal error in logs anymore when the package has been purged already or is not installed for another reason
-
Make it possible to add arbitrary additional configuration to a service created by a
SystemdTimer()
. -
Add
nixos.NixOSModule
to inject component attributes into .nix files.
- Add
*.md
to the release, so it can actually be used.
- Add release process with changelog (FC-33250).