- Cleanup stage added where systemd units without corresponding pods are removed on startup (#312).
- Changed the version reported by the Stackable Agent in
nodeInfo.kubeletVersion
of theNode
object in Kubernetes from the version of the Krustlet library to the Stackable Agent version (#315). - Restart agent on all crashes (#318).
- Agent will now request content type "application/gzip" in package downloads and reject responses with content type that is not one of either "application/gzip", "application/tgz" or "application/x-gzip" (#326)
- Agent now also accepts "application/x-tgz" as content_type when downloading packages (#337)
- Agent deletes directories from failed install attempts (#326)
- Changed the binary location for APT packages from
/opt/stackable-agent/stackable-agent
to/opt/stackable/stackable-agent/stackable-agent
(#304).
- Prints self-diagnostic information on startup (#270).
- Check added on startup if the configured directories exist and are writable by the Stackable agent (#273).
- Missing directories are created (#274).
- Annotation
featureRestartCount
added to the pods to indicate if the restart count is set properly (#289).
- Lazy validation of repository URLs changed to eager validation (#262).
certificates.k8s.io/v1
used instead ofcertificates.k8s.io/v1beta1
so that the Stackable Agent is now compatible with Kubernetes v1.22 but not any longer with versions prior to v1.19 (#267).- Error message improved which is logged if a systemd unit file cannot be created (#276).
- Handling of service restarts moved from the Stackable agent to systemd (#263).
- Check removed if a service starts up correctly within 10 seconds. systemd manages restarts now and the Stackable agent cannot detect if a service is in a restart loop (#263).
- Systemd services in session mode are restarted after a reboot (#263).
hostIP
andpodIP
added to the pod status (#224).- Environment variable
KUBECONFIG
set in systemd services (#234).
- Invalid or unreachable repositories are skipped when searching for packages (#229).
- Access rights of the private key file restricted to the owner
(#235). The permissions are set when the file is created. On
existing installations the permissions must be set manually, e.g. with
chmod 600 /etc/stackable/stackable-agent/secret/agent.key
.
- Annotation
featureLogs
added to the pods to indicate if logs can be retrieved withkubectl logs
(#188).
- Restart setting in systemd units removed because the agent already monitors the units and restarts them according to the restart policy in the pod spec (#205).
- Pods with restart policy
Never
handled correctly (#205).
- Structure of the documentation changed so that it can be incorporated into the overall Stackable documentation (#165).
- Deadlock fixed which occurred when multiple pods were started or stopped simultaneously (#176).
- Templating facility added to the
config-directory
parameter (#159).
- Pod state synchronized with systemd service state (#164).
- Apache license v2.0 set (#23).
- Krustlet based agent implementation created (#1, #18, #26, #35, #40).
- Functionality to stop and restart processes added (#25).
- Agent restart without impacting running services enabled (#63).
- Rendering of template variables to environment variables added (#30).
- Setting of pod condition "ready" for state "running" added (#32).
- Support for command line parameters added (#36, #50, #72, #109).
- Integration with systemd implemented (#43, #53, #100, #152).
- Dependabot and security audit enabled (#56, #57).
- Building and publishing of nightly deb and rpm packages added (#73, #78, #94, #110, #144).
- Bootstrapping of certificates and kubeconfig added (#77).
- Support for running of services as application users added (#79).
- Retrieval of container logs with kubectl logs implemented (#135).
- Configuration of terminationGracePeriodSeconds considered in systemd units (#138).
- Systemd dependency adapted so that it is compatible with systemd version 241 (#145).