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.
- [#101] Fix CVE-2024-45337
- [#79] Missing post-renderer for installing Helm charts caused restart and unhealthiness in component operator
- [#122] Add a
deny-all
network-policy for the setup deployment to block all incoming traffic
- [#120] Deactivate service account token automount for default SA
- [#180] Split rbac permissions into separate files
- [#117] Increase wait limit to prevent problems with slow internet connection
- [#180] Remove unused metrics permission
- [#113] Use retry watchers for wait steps and thus fix a bug where wait steps for component installations got canceled.
- [#115] Update remote dogu descriptor lib to avoid a nil pointer when recoverable errors occur.
- [#107] Use new library for getting dogu descriptors and implement a retry mechanism to stabilize the setup process.
- [#111] Use newest cesapp-lib version (v0.14.4) to fix dogu sorting bug
- [#108] Use newest cesapp-lib version (v0.14.3) to fix dogu sorting bug
- [#105] Breaking: The name of the Secret for container credentials was renamed from
k8s-dogu-operator-docker-registry
toces-container-registries
. According to this the yaml key of thevalues.yaml
changed too fromdocker_registry_secret
(Object withurl
,username
andpassword
as attributes) tocontainer_registry_secrets
(List of Object withurl
,username
andpassword
as attributes). This is necessary because the container images of dogus and components may be stored in different registries and not only one likeregistry.cloudogu.com
.
- [#103] upgrade dogu-operator to v2
- [#103] upgrade go to 1.23.2
- [#101] Generation of wait steps for dogus which have optional component dependencies.
- [#99] Relicense to AGPL-3.0-only
- [#97] create config before components
Breaking Change ahead
- [#94] Remove internal ETCD
- [#94] Add k8s-registry lib in version 0.2.0 to use config maps for configuration instead of the etcd.
- This change requires all other installed components to use the configmaps or otherwise the setup won't succeed
- [#92] The setup doesn't delete its own helm secret anymore. With this behaviour terraform state mechanism is able to recognize if a setup was already applied in a cluster.
- [#90] Add blueprint-operator to default helm values.
- [#88] Improve clarity of Base64 encoding documentation
- Breaking: [#86] Passwords (Docker-, Dogu- & Helmregistry) have to be encoded in Base64 (see here or here)
- [#84] Use default value for the urlschema in the dogu registry secret.
- [#82] Update component-operator dependency to 0.7.0.
- [#82] Fix issues with helm template.
- [#80] Add component patch template file for mirroring this chart in offline environments.
- [#78] Remove timeout and wait indefinitely for components to get "ready".
- [#76] components can overwrite their values.yaml-default values
- [#74] Add functionality to install the component
k8s-cert-manager
before all other operators.
- [#72] Update component-operator
- Update other dependencies
- Replace go-yaml with sigs.k8s.io/yaml
- [#70] Add struct for the components to specify attributes like the deployNamespace.
- With this change it is possible to install longhorn as a component.
- [#68] Change component setup to install CRDs separately
- [#66] Use new helm registry config from the component-operator where the url is divided in host and schema.
- [#62] Use
Info
as default log level. - [#64] Match Makefile helm variable with those from a newer Makefile version
- [#59] Add helm chart as release artifact.
- [#56] Allow to configure resource patches, a powerful way to modify Kubernetes resources during the setup process
- please see the docs for more information
- Allows to configure the IP address placeholder
<<ip>>
in thesetup.json
sectionnaming/fqdn
as described in the official setup docs - [#52] Use latest etcd release from dogu registry.
- Uses now singular context object for all Kubernetes requests
- [#54] Use IP address as FQDN from load-balancer if it is missing
- With this change, we are improving the development on external cloud providers by identifying the FQDN early on.
- [#50] Reduce technical debt
- [#48] Deploy the etcd client as deployment instead of stateful set.
- [#46] Trim "dogus/" suffix only on URL "default" schema
- this change avoids removing the endpoint suffix for the "index" schema
- [#44] Improve logging in wait for pod step. API error doesn't throw an error now so that the wait functionality will be canceled by the timeout.
- [#41] Remove SSL API which generated selfsigned certificates. The API is made available in
k8s-service-discovery
.
- Add optional volume mount for selfsigned cert of the dogu registry; #38
- [#36] Fixed an issue where the finisher cronjob starts infinite jobs if the pod e.g. can't pull an image.
- Update makefiles to version 7.2.0
- Update
ces-build-lib
to 1.62.0
- [#34] Add/Update label for consistent mass deletion of CES K8s resources
- Select any k8s-ces-setup related resources like this:
kubectl get deploy,pod,... -l app=ces,app.kubernetes.io/name=k8s-ces-setup
- Select all CES components like this:
kubectl get deploy,pod,... -l app=ces
- Update
ces-build-lib
to 1.61.0
- Select any k8s-ces-setup related resources like this:
- [#32] Fixed a permission issue where the setup finisher cronjob was not allowed to execute his finisher script.
- [#30] The
ecosystem-certificate
TLS secret will now be created during setup.
- [#28] Setup wrongly assumed that all service accounts are of type dogu when creating step to wait for them. Now only steps for dogu service accounts are created.
- [#26] Use correct label for dogu resources
dogu.name=name
is now valid
- [#24] Read dogu registry URL schema from cluster secret instead of config.
- [#22] If the resource urls from the k8s-components e.g.
dogu-operator
have the same host as the configured dogu registry, basic auth will be used for those components. - [#22] Update
makefiles
to version 7.0.1 - [#22] Update
ces-build-lib
to version 1.56.0
- Internal release bugfix
- [#20] Update internally used dependency versions
- Update
cesapp-lib
to version v0.4.0 - Update
k8s-apply-lib
to version v0.4.0 - Update
k8s-dogu-operator
to version v0.11.0
- Update
- [#17] Update makefiles to version 6.0.3
- [#17] Change order of certificate chain und use unique serial number in generation.
- Extract client to apply k8s resources into own repository (https://github.com/cloudogu/k8s-apply-lib)
- [#12] Implement the registryConfigEncrypted section from the
setup.json
. Setup creates secrets for these values which - can be processed by the
k8s-dogu-operator
.
- [#10] Automatic setup process with
setup.json
. See custom setup configuration for more information.
- [#8] Setup installs
k8s-service-discovery
when performing a setup. Please see the Configuration for more information
- Update makefiles to version 5.1.0
- Setup installs vital Cloudogu EcoSystem (CES) K8s components to prepare namespace for setup and regular operation:
etcd
(along with a development client)- the most important
k8s-dogu-operator
along with its own resources - Please see the Configuration and Installation Guides for more information
- Harmonize names of CES instance credential secrets with those of the consuming Dogu Operator
- Development goodies
- Make target for deployment to local cluster are more convienient
- serve local resources with a simple HTTP server
- initial release of the basic setup skeleton