DE 

//Cloudogu EcoSystem Docs

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[v7.3.2] - 2024-03-09

Fixed

  • Fix Crashloop after cesapp verify by creating service accounts during test container creation (#493)

[v7.3.1] - 2024-02-15

Changed

  • Upgrade docker build-kit and golang (#490)

    • To fix CVE-2024-23652 and CVE-2024-23653 the docker build-kit library has to be updated to v0.12.5
    • This entails a list of other upgrades; notably "docker/docker" and "docker/cli" to v24.0.8
    • Upgrade to go v1.22.0
    • Using the "1.22.-bullseye" image, because cesapp uses CGO and the current Ubuntu 20.04 environment uses GLIBC 2.31 Newer Debian versions have a newer GLIBC version which will not run on Ubuntu 20.04

[v7.3.0] - 2024-01-25

Changed

  • Last Restore written to Registry for Backup History Purposes

[v7.2.1] - 2023-10-25

Fixed

  • downgrade Docker library from v24.0.6 to v23.0.7 (#481)

    • This updates some .dockerignore-specific logic.
    • this change was not really necessary but rather a precautionary measure against a category of Dogu image build problems
    • As it turns out, this category of problems was introduced by a faulty .dockerignore pattern */** as deny-all clause. Use * instead as deny-all clause.

[v7.2.0] - 2023-10-18

Changed

  • internal module version adheres now to v7 instead of v6, so it can be properly imported and used with go mod (#477)
  • updates Docker library from v20.10.24 to v24.0.6 (#478)

Fixes

  • Bump golang.org/x/net from 0.7.0 to 0.17.0 (#476)

[v7.1.0] - 2023-09-22

This version cannot be used by go mod as v7. Please use v7.2.0 instead.

Changed

  • Bump github.com/docker/distribution from v2.8.1+incompatible to v2.8.2+incompatible
  • Bump github.com/docker/cli v20.10.18+incompatible to v20.10.24+incompatible
  • Bump github.com/docker/docker v20.10.18+incompatible to v20.10.24+incompatible
  • Bump github.com/opencontainers/runc from v1.1.4 to v1.1.5

Fixed

  • Unhealthy message will be printed for healthy Dogus before the service account creation (#469)
  • Avoid log file creation with root ownership after cesapp purge call (#472)
  • Resources like file handles are not released after interacting with the docker api (#474)

[v7.0.2] - 2023-09-04

This version cannot be used by go mod as v7. Please use v7.2.0 instead.

Changed

  • Wait for the Dogu to get healthy before trying to create a service account (#467)

[v7.0.1] - 2023-05-26

This version cannot be used by go mod as v7. Please use v7.2.0 instead.

Changed

  • Update and install packages before the Dogu changes will be applied (#465)

[v7.0.0] - 2023-03-03

This version cannot be used by go mod as v7. Please use v7.2.0 instead.

Breaking Change ahead

Changed

  • extracted the underlying configuration editor from edit-config into the cesapp-lib; #457

    • this is an internal change, so the functionality works as before

Fixed

  • Bump golang.org/x/net from 0.0.0-20220927171203-f486391704dc to 0.7.0
  • Bump golang.org/x/text from 0.3.7 to 0.3.8
  • Bump github.com/containerd/containerd from 1.6.8 to 1.6.18

[v6.2.2] - 2023-01-06

Changed

  • The service account kind for a cesappd account is set to ces; #454

[v6.2.1] - 2022-12-05

Fixed

  • Fail blueprint upgrade if package version in blueprint is older than the one already installed; #452

[v6.2.0] - 2022-11-23

Changed

  • check client dependency and service accounts before starting any steps when installing or upgrading a dogu

[v6.1.0] - 2022-11-22

Added

  • throw error when newly introduced service account kind occurs which is neither empty nor of kind dogu (#449)

    • this change allows for developing service accounts that are of different purposes
    • if a dogu installation with cesapp as client is undesirable, it is a good idea to set a client dependency to cesapp with a version constraint <0.0.0

Changed

  • replaced internal code against code that was moved to the shared cesapp-lib (#449)

[v6.0.0] - 2022-11-07

Breaking Change ahead Projects that consume cesapp as a library will most likely break when updating to this (or a later) version (#446).

Changed

  • Upgrade go module major version to 6.x.x.

Removed

  • Removed the packages auth, credentials, keys, doguConf from the cesapp
  • Remove doguDependencyChecker.go, tasks for maintenance, critical system state and proxy, and the registryKeyConfigValidator

    • The functionality of these packages is not deleted but exported into cesapp-lib. When upper named functionalities are used they need to be replaced with the new library.

[v5.6.0] - 2022-11-04

Changed

  • Update cesapp-lib-version to v0.7.0. This will allow a configurable retry policy for registry and http access (#445)

[v5.5.1] - 2022-09-29

Added

  • Missing documentation for commands

Changed

  • Improved help messages for commands

[v5.5.0] - 2022-09-28

Added

  • Dogu health check before each backup (#441)

[v5.4.1] - 2022-09-20

Fixed

  • fixed error where support archive skipped some dogu logs

[v5.4.0] - 2022-09-16

Changed

  • Refactor api for enable/disable debug mode to make it better usable as lib (#433)
  • Activate maintenance mode on debug mode enable/disable start, disable it after debug mode is enabled/disabled (#433)
  • Changed etcd-skip-key for debug archive from config/_global/debug_mode_etcd_exclude to config/_global/debug/excluded_etcd_keys
  • Rename support-mode to debug-mode (#433)
  • Update cesapp-lib to version 0.6.0 (#433)
  • Update makefiles to version 7.0.1 (#436)
  • Refactor support archive creation (#436, #438)

Fixed

  • Fixed default value for etcd keys to skip when collecting support-archive (the key was ignored before)

[v5.3.0] - 2022-08-30

Added

  • Add 'collect-etcd-data' to cesapp debug mode (#427)
  • Add feature to collect logs into a debug archive to debug mode (#424)
  • Moved dogu printing facilities back from cesapp-lip (#432)

Changed

  • Updated cesapp-lib to version 0.4.0 and implement cesapp-lib/core/Logger (#429)

[v5.2.0] - 2022-08-18

Added

  • Add 'collect-system-data' to cesapp support mode (#425)

Changed

  • Update go version from 1.13 to 1.18.3 (#422)
  • Add more output to support-mode enable/disable
  • Add cesapp support-mode status command to check if support mode is enabled or not

Fixed

  • log outputs that were made before the logger initializes and had the wrong format

[v5.1.0] - 2022-07-20

Added

  • Add cesapp support mode (#419)
  • Add cesapp restart command (#420)

[v5.0.4] - 2022-07-12

Changed

  • Remove cesappd-dependency (#418)

[v5.0.3] - 2022-07-05

Fixed

  • Fix logrotate by setting correct file permissions

[v5.0.2] - 2022-06-24

Fixed

  • Check dogu requirements during upgrade process with correct target version (#414)

[v5.0.1] - 2022-05-13

Changed

  • Help texts are more detailed and have been improved (#409)

[v5.0.0] - 2022-05-11

Breaking Change ahead Projects that consume cesapp as a library will most likely break when updating to this (or a later) version.

Removed

  • Removed the packages core, registry, util, remote from the cesapp

    • The functionality of these packages is not deleted but exported into a new golang library named cesapp-lib. When core, registry, util, remote functionalities are used the need to be replaced with the new library.
    • Note: Some core functionality (context, configuration) were not exported but moved into a new cesapp package named config.

Added

  • The core, registry, util, remote functionalities from the cesapp-lib

Changed

  • Updated dogu-upgrade-documentation

[v4.3.0] - 2022-04-08

Added

  • Create host service account for cesappd on Dogu installation (#405)

    {
    "ServiceAccounts": [
    {
      "Type": "cesappd"
    }
    ]
    }
  • Dependency to cesappd in version 1.0.0 or greater

[v4.2.4] - 2022-04-07

Changed

  • Allow dogus without namespace in blueprint mask (#404)

[v4.2.3] - 2022-02-21

Changed

  • Improve the backup process (#402)

[v4.2.2] - 2022-02-01

Fixed

  • push checksum and signature by release (#400)

[v4.2.1] - 2022-01-03

Fixed

  • Allow package dependencies without version (#395)

[v4.2.0] - 2021-12-10

Changed

  • Cesapp validates the used key provider used both in cesapp's configuration.json and the registry (#392)

    • Cesapp returns an error if both values differ from each other
    • in order to avoid a breaking change, a warning will be logged if the registry value is missing

[v4.1.0] - 2021-12-01

Added

  • Cesapp can recognize service account request for host services (#384)

Changed

  • handle errors on dogu push so no artifacts remain in the docker registry or dogu registry (#390)

Fixed

  • Cesapp can now handle transitive dogu dependencies (#381)
  • Check client dependency correctly (#385)
  • Error message on invalid client-dependency is now printed only once (#385)

[v4.0.1] - 2021-11-03

Upgrading to this or any later version may lead to merge conflicts in /etc/cesapp/configuration.json. You can find documentation on how to resolve them here.

Changed

  • allow backward compatibility with older doguctl versions:

    • the local dogu registry is now saved under the old path (/dogu) aswell as in a new path (/dogu_v2)
    • the registry saves dogus in v1 format under /dogu
    • the registry saves dogus in v2 format under /dogu_v2
    • any registry command tries to read in v2 registry
    • if a dogu key is not found in v2 registry, the v1 registry is used
  • use v4 instead of v3 for all imports

Fixed

  • fixed bug in ci-release where releaseId was not set correctly

[v4.0.0] - 2021-10-11

Attention: This version has been revoked from github releases as well as the apt repository due to incompatibilities with all dogus. This version should not be used!

Added

  • Based on the new Dogu V2 version and the associated endpoint, a version operator such as >= or < can now be specified in the dogu.json of a Dogu to express that only specific versions are to be used during an installation or upgrade.
  • Added a warning if an dogu uses the old V1 Endpoint. This should be the case with almost all dogus at the beginning and only gradually disappear as more and more dogus use the new endpoint.

    Changed

  • Restructuring the code in the task package that handles packages and interaction with the OS into its own package (osInteraction).
  • Configured the endpoint of the dogu registry to V2 which allows us to use new dogu.json features.

[v3.2.0] - 2021-09-17

Added

  • Mechanism for automated release (#378)

v3.1.0 - 2021-08-17

Added

  • logging initializer which does not use the syslog hook, so it can be used in environments where syslogd is not present

v3.0.0 - 2021-07-20

Breaking Change Ahead!

A breaking change occurred, as we changed the handling of the internal dogu format.

Changed

  • Export createV2Copy function; #369
  • Add exported function to get v1 dogu copy from v2; #371

v2.32.0 - 2021-06-29

Changed

  • Changed the dogu.json format for expressing more complex dependencies. The old format is still accepted by the cesapp. However, this may change in the future #367

v2.31.3 - 2021-06-17

Fixed

  • Handling of docker errors #365

v2.31.2 - 2021-05-26

Fixed

  • Missing log information if the cesapp is used as module (#360)

v2.31.1 - 2021-05-17

Fixed

  • Docker log output: improved readability and avoidance of duplicate output (#362)

v2.31.0 - 2021-04-08

Added

  • A new sub-command to list all defined retention policies and their description (#357)

    • cesapp remove-backup list-policies
    • For more information see list-policies

v2.30.0 - 2021-03-25

Added

  • Stream console output and log lines up to log level "debug" into /var/log/cesapp (#355)

Changed

  • Log lines in /var/log/cesapp receive now also the cesapp's process ID in order to distinguish different cesapp calls (#355)
  • Replace deprecated Docker term library with encouraged Moby library

Fixed

  • These configuration files receive now proper file permissions 0644

    • /etc/rsyslogd/10-cesapp.conf
    • /etc/logrotate.d/cesapp

v2.29.1 - 2021-03-16

Fixed

  • An upgrade via cesapp upgrade <dogu> has been continued, even if the version to be installed has already been installed. The upgrade is now finished directly if the version to be installed is already installed. (#351)
  • During the recursive installation of a dogu (cesapp install --recursive <dogu>), no service accounts could be created because the dependent dogus were only installed but not started. If a service account is to be created, the corresponding dogu is started from now on and waited until it is healthy. After the service account has been created, the started dogu is stopped again. (#353)

v2.29.0 - 2021-03-08

Changed

  • Switch from go-logging to logrus logging framework (#307)

    • Logging to stdout (with specified log level; default: INFO)
    • Logging to /var/log/cesapp.log via syslog(always DEBUG)
  • Update the dependency of restic to version 0.12.0 to fix S3 incompatibilities(with unsupported restic 0.11.0) (#348)

v2.28.0 - 2021-02-11

Changed

  • Upgrade docker lib (to v20.10.2) and everything depending on it
  • If a dogu which is listed in the dogus section of a blueprint is already installed in another namespace, the namespace will not be switched automatically in blueprint-upgrade. (#343) This feature is blocked unless the user provides the --allow-namespace-switch-flag. Example: cesapp upgrade blueprint --allow-namespace-switch blueprint.json
  • Improved the manpage output of the cesapp upgrade command.
  • Refactored the switch-namespace command to use the upgrade functionality (#346)

Added

  • doc files for upgrade functionallity

Fixed

  • Fixed bug where purge was not possible when two equal docker images with different tag exists

v2.27.0 - 2021-01-29

Changed

  • Added the version from which a dogu or package is being upgraded to blueprint output (#340)

Fixed

  • Fix blueprint defect where packages are never upgraded, only installed (#342)

v2.26.0 - 2021-01-27

Added

  • Added command to switch the namespace of a dogu (see docs/switchnamespaceen.md) (#336)
  • Documentation for the cesapp purge command (#339)
  • Documentation for the cesapp switch-namespace command (#336)

Changed

  • Moved DoguNamespaceSwitcher from package cli to package remote to expose it (#338)
  • Updated documentation for the cesapp list-remote command

v2.25.0 - 2021-01-19

Fixed

  • remove accidentally introduced mandatory argument for cesapp list-remote (#344)

Changed

  • the dogu list produced by cesapp list is now sorted alphabetically
  • cesapp list-remote prints now a syntax help if used with wrong parameters (#344)

Removed

  • remove the cesapp list-remote switches --table and --latest, introduced by v2.24.3

v2.24.3 - 2021-01-12

Heads-up:

This released accidentally introduced a mandatory argument for cesapp list-remote which leads to an error when called without this argument. Instead, you may want to install cesapp v2.24.4 (or later) which removes this issue (#344).

Changed

  • Make the print limit output, which added to cesapp for issue #329, optional. This resolves a bug, where it was not possible to update the cesapp when the configuration.json was modified (332)

v2.24.2 - 2021-01-11

Added

  • cesapp listremote as an alias for cesapp list-remote (#329)
  • Configuration option to enable insecure connections to TLS servers. Can be set via the configuration.json of the cesapp (#331):

    "remote": {
    "endpoint": "https://dogu.cloudogu.com/api/v1/",
    "authenticationEndpoint": "https://instance.cloudogu.com",
    "cacheDir": "/tmp/ces/cache/remote",
    "insecure": true
    },

Changed

  • Reworked cesapp list-remote/listremote to show the latest versions for all or a specific dogu (#329)

Specification for cesapp list-remote/listremote:

NAME:
   cesapp listremote - list all available dogu versions for a dogu from remote server

USAGE:
   cesapp listremote [command options] [arguments...]

OPTIONS:
   --available, --all  prints available versions for all dogus (default: false)
   --latest, --table   prints only the latest version. Formatted as table (default: false)
   --limit value       only print out the last x versions. -1 = default limit | 0 = infinite versions (default: -1)
   --help, -h          show help (default: false)

The default limit of versions to show can be configured in the configuration.json:

 "output": {
     "listremote":{
       "defaultVersionPrintLimit": 3
     }
   }

v2.24.1 - 2020-12-18

Fixed

  • Fixes backup errors in conjunction with Google S3 buckets via restic's S3 backend (#327)
  • Downgrade debian dependency to restic 0.10.0

    • if Debian denies a restic downgrade the package downgrade must be done manually: sudo apt-get install restic=0.10.0

v2.24.0 - 2020-12-17

Fixed

  • Useful error message is shown if wrong backup encryption key is provided; #323
  • Detection of uninitialized backup repository improved
  • integration tests use mock command executor now

Changed

  • Upgrade to makefiles 4.3.0

v2.23.0 - 2020-12-16

Changed

  • service accounts are now deleted on dogu purge (#319)
  • logs are now deleted on dogu purge (#319)

Added

  • flag '--keep-service-accounts' which will prevent that service accounts are removed on purge (#319)
  • flag '--keep-logs' which will prevent that logs are removed on purge (#319)

v2.22.0 - 2020-12-15

Added

  • Validator to verify float-based values between 0 - 100%. Validator Descriptor ID: FLOAT_PERCENTAGE_HUNDRED (#321)

v2.21.0 - 2020-11-20

Added

:warning: Possible performance decrease when kernel capabilities are changed! More see below.

This release adds container memory and swap limitation support (#317) by leveraging Docker's resource limitations. If fully configured (see below), Docker will kill containers that require more memory and swap than configured. The respective dogu will then be restarted automatically.

Dogu containers can be restricted in their memory usage by setting dogu configuration keys either by

  • using the edit-config command (only dogus that already implement the respective keys)
  • setting a dogu's registry keys:

    • /config/mydogu/container_config/memory_limit
    • /config/mydogu/container_config/swap_limit
Configuring memory and swap limits

Memory values must be suffixed with the units b (bytes), k (kibibytes), m (mebibytes), or g (gibibytes).

# limit memory to 5,242,880 bytes
etcdctl set /config/mydogu/container_config/memory_limit 5242880b
# limit memory to 5,242,880 bytes but less verbosely
etcdctl set /config/mydogu/container_config/memory_limit 5120k
# limit memory to 5,242,880 bytes but less verbosely
etcdctl set /config/mydogu/container_config/memory_limit 5m
# limit memory to 2,147,483,648 bytes
etcdctl set /config/mydogu/container_config/memory_limit 2g  

Setting a desired swap memory value works like setting the memory limit:

# limit container to swap up to 5,242,880 bytes to the host machine
etcdctl set /config/mydogu/container_config/swap_limit 5m  
The host's swap limit capability

The memory swap limitation strongly depends on the host's kernel capabilities. By default, Ubuntu machines have no memory swap limit capabilities enabled. Disabled swap limiting will allow a container to unlimitedly swap memory pages to the host machine. This might render the desired memory limit as useless because the container will swap memory pages until the swap storage is exhausted.

The host's swap limit capability can be enabled like this:

  1. modify /etc/default/grub as root with an editor of your choice

    1. add to the line GRUB_CMDLINE_LINUX_DEFAULT the following values: cgroup_enable=memory swapaccount=1
  2. apply the changes with sudo update-bootloader –refresh
  3. restart the CES host

Enabling swap limit capabilities will impact the host machines performance, namely:

  • 1 % of memory overhead and
  • 10 % of overall performance degradation Additional information about this behaviour can be found in Docker's documentation.

Changed

  • Refactor container provider creation for better testability

v2.20.0 - 2020-10-05

Changed

  • The original blueprint and the blueprint mask are now also historized (#315)

Fixed

  • Fixed error where the error message was not shown when pull from dogu registry failed

v2.19.0 - 2020-09-23

Added

  • Add blueprint mask capability for cesapp upgrade blueprint command; #312
  • Add end-to-end test capability in Jenkinsfile

v2.18.0 - 2020-09-21

Changed

  • The command cesapp login now also executes a login to docker-registry

v2.17.0 - 2020-09-09

Added

  • Add functionality to remove etcd keys via blueprint upgrade (#306) You can do this by adding the keys to the "registryConfigAbsent"-Array. Top-level entries like "_global" will be skipped for deletion. Example:

    "registryConfigAbsent": [
      "_global/key1",
      "dogu/key2"
    ]

Fixed

  • When using cesapp recreate for a single dogu, the container is now stopped properly (#309)

v2.16.0 - 2020-09-01

Added

  • add a new cesapp command for re-creating dogu containers (#304)

Recreating dogu containers comes in handy when the system entered a defective state (f. ex. due to manual container removal or resource exhaustion). Another benefit is that containers receive fresh container settings. You can create a new container for a single dogu container or for all installed dogus, just like so:

cesapp recreate jenkins
cesapp recreate --all

Changed

  • supply another way to provide extra Docker hosts (#304)
  • always recreate dogu container during Blueprint Upgrade (#304)

The new recreate command leverages a slightly changed functionality: supplying a container with extra hosts (which corresponds with Docker --add-host option).

Please note that there is already a way of providing extra hosts, namely by adding entries cesapp's configuration.json. Anyhow, for restricted systems it is now possible to add extra hosts by assigning an IP address to a hostname within the registry. The following example would add an extra host once a container is recreated:

etcdctl set /config/_global/containers/additional_hosts/myhostname 172.123.45.87

The two sources (via configuration.json and registry) are joined into a single list. Please note that "overwriting" hosts from one source with a host from another source is not possible and will lead to an error.

This comes also into account when the administrator executes a Blueprint Upgrade. The Blueprint mechanism now automatically recreates containers of already installed dogus. Any additional extra hosts (even if supplied with a blueprint JSON) are automatically supplied to the new container instance.

v2.15.0 - 2020-08-21

Changed

  • Reworked mechanism to set and remove the critical process key (#222, #299)
  • The critical process key is now removed by the etcd after a timeout
  • Updated cli-library
  • Updated etcd-version used in jenkinsfile
  • increase timeout for backend requests (5s -> 10s)

v2.14.1 - 2020-08-19

Fixed

  • remove dogus from versions file format string for index url schema (#300)
  • this fix corresponds with ces-mirror > 1.5.1

v2.14.0 - 2020-07-14

Fixed

  • Integration tests
  • allow skipping optional values when using the edit-config command (#297)

Changed

  • Prevent building of dogus with invalid version #293
  • Prevent pushing of dogus with different image #295

v2.13.0 - 2020-07-01

Added

  • Resolved Issue 291 which adds the fields default and validation to configuration fields inside dogu.json

Changed

  • Use sonar branch plugin in sonarQube analysis

v2.12.0 - 2020-05-12

Attention! To use cesapp as a dependency in other projects, use github/cloudogu/cesapp/v2!

Changed

  • Switch cesapp go module to v2 to make it compatible to go modules standard

v2.11.0 - 2020-04-22

Added

  • Support for local backup-type
  • New CLI switch for restore --keep-existing-backup-config

When restoring a previously made backup it is now possible to keep the CES instance's existing backup configuration. This is esp. interesting when the backup configuration has changed between the time when the backup was created and the current configuration. With cesapp restore --id <your backup id> --all --keep-existing-backup-config, the restore process saves the existing backup configuration, and proceeds to restore the backup as usual. After all subsystems are restored, the previous configuration from the CES host overwrites the one from the backup. After all is done, the system is ready to backup out-of-the-box. (#283)

Fixed

This version fixes a defect in which interaction with the backup repository may lead to a state of being indefinitely unresponsive. This can only happen with the backup type SFTP under the premise that no key was given. This release configures the SFTP connection in a way that the SFTP host rather fails with an error message instead of a password prompt. (#279)

Changed

  • When applying a minimal blueprint file (consisting only of ID and cesapp properties) dogus are no longer stopped and restarted in order to reduce downtime. (#285)

v2.10.0 - 2020-04-15

Added

  • Recursive dependency check before dogu upgrade
  • --all flag for healthy command

v2.9.0 - 2020-04-03

Added

  • add information about last cesapp version during an upgrade process

v2.8.0 - 2020-04-02

Added

  • Pre-Backup step: A bash script that will be automatically executed before each backup. To use, set the registry key config/backup/pre_backup_script to value /path/to/script.sh.
  • Post-Backup step: A bash script that will be automatically executed after each successful backup. To use, set the registry key config/backup/post_backup_script to value /path/to/script.sh.

v2.7.0 - 2020-03-23

Added

  • Pre-Restore step: A bash script that will be automatically executed before each restore. To use, set the registry key config/backup/pre_restore_script to value /path/to/script.sh.
  • Post-Restore step: A bash script that will be automatically executed after each successful restore. To use, set the registry key config/backup/post_restore_script to value /path/to/script.sh.

v2.6.0 - 2020-03-12

Added

  • Health checks before dogu and blueprint upgrade

v2.5.1 - 2020-03-06

Fixed

  • Fix sending of previous id during re-register of an instance

v2.5.0 - 2020-03-04

Added

  • instance register command: Allows to (re-) register a ces instance

    • AuthenticationEndpoint config value

v2.4.2 - 2020-02-24

Fixed

  • Blueprint upgrading: When during a Blueprint upgrade the cesapp is about to be updated the maintenance mode was not deactivated. This release fixes this behaviour and deactivates the maintenance mode during the (implicit) second cesapp call.## v2.4.1 - 2020-02-13
  • Please note that the maintenance mode will not be deactivated if you have set a custom maintenance mode message. (#260)
  • In the same scope the error handling was made more robust.

v2.4.1 - 2020-02-13

Fixed

  • Etcd permission issue after restore (#256)
  • Swallowing of errors messages during backup & restore

v2.4.0 - 2020-01-21

Added

  • The configuration.json is now validated at program start

Removed

  • Broken bash autocomplete

Changed

  • Use go modules instead of glide
  • Updated makefiles
  • Fix static-analysis and SonarQube integration

Fixed

  • Blueprint log output for package actions are less misleading (#250)
  • Tolerate restarting dogus during health check (#252)
  • Detect critical health check results without errors

v2.3.0 - 2020-01-16

Changed

  • Docker-Registry can be accessed anonymous
  • Dogu-Registry can be accessed anonymous

v2.2.0 - 2020-01-09

Changed

  • Forward Standard Out/Err streams of restic commands to simplify debugging (#242)

Removed

  • Omit some steps of the complete backup. The steps included dogu specific data which is not required at the moment and were error prone.

v2.1.0 - 2019-12-10

Added

  • Upgrading a Dogu via Blueprint should clean up the cache and remove the unused Docker image; #215

Fixed

  • More places that regex on dogu names match only on parts of dogu names; #232
  • Fix CI pipeline to properly attach unit test results; #234

v2.0.1 - 2019-12-04

Fixed

  • Fixes a defective self-update behaviour during cesapp upgrade blueprint in which the cesapp upgrades to a newer version (#229)

    • This defect affects versions from v1.4.0 up to v2.0.0. You have to manually upgrade the cesapp version.

v2.0.0 - 2019-11-28

Breaking change ahead. Please see the 'removed' section of this release.

Changed

  • Behaviour of cesapp blueprint upgrade

    • It is ensured that registry config changes take place before the dogu is installed or upgraded. To prevent unintended side effects the changes happen after stopping the dogus.
    • The new coordinated way of stopping and starting of dogus should result in a faster blueprint upgrade process since far less stops and starts are needed.
    • The installation of dogus is now more reliable since the process waits for service account providers.
    • Due to the nature of pulling Docker images first and purging some afterwards a slightly higher disk usage has to be accounted for during the time of the blueprint upgrade. In turn the number of Docker image layers that need to be transferred are averagely reduced.

Removed

  • The change above made checking the Dogu registry for availability during cesapp upgrade (both versions dogu and blueprint obsolete.

    • command switch --registryCheckTimeout is removed in favor of pulling dogu images to the host up front
    • Please note that calling cesapp upgrade with this switch will now no longer be accepted.

v1.8.1 - 2019-11-27

Fixed

  • Fix regex to match the dogu name, including a leading "/"; #227

v1.8.0 - 2019-11-27

Added

  • criticalprocessrunning key added to global registry; #222

    • used to ensure that only one critical process can run at a time
    • registry key has json value with a process name
    • the key is added whenever a critical process is started
    • the key is removed after the process finished regardless of potential errors

Changed

  • the backup and restore process now use criticalprocessrunning key

v1.7.1 - 2019-11-25

Fixed

  • Fix regex to match the complete dogu name; #225

v1.7.0 - 2019-11-22

Added

  • default sorting of newest backup start time first
  • export check whether a backup was successful
  • new field for BlueprintID in Backup struct
  • basic backup id validation
  • export time parsing helpers which parse a time in RFC3339 format

v1.6.1 - 2019-11-13

Added

  • New command parameter cesapp login --password-file allows to supply the instance token as file instead of a parameter #188

Changed

  • cesapp login #188

    • Fixes a defect where cesapp login shows now a proper error message if the login was not successfully instead of mistakenly using the cache.
    • As a security measure, cesapp login allows to leave away one or both credential parameter. The credentials are prompted on the CLI then .
  • cesapp restore #219

    • Fixes a rare defect where restoring backups no longer stops the restore process when mistakenly a cross-blueprint upgrade was detected

v0.0.1 - v1.6.0 / previous versions

Up till version v1.6.0 there was no change log. Please see the release page