Kamaji Versions Save

Kamaji is the Hosted Control Plane Manager for Kubernetes.

v0.3.1

10 months ago

Kamaji v0.3.1 can be installed using its v0.12.2 Helm Chart.

Remember to add the CLASTIX repository and update it:

helm repo add clastix https://clastix.github.io/charts
helm repo update

Images can be pulled from Docker hub:

docker pull clastix/kamaji:v0.3.1

Enhancements

  • Upgrading support to Kubernetes v1.27.3 #317 @prometherion
  • Removing unrequired KubeadmConfig keys #155 @prometherion

Hotfixes

  • Meaningless error message upon TenantControlPlane migration #313 @prometherion
  • Missing metadata upon container images release #190 @prometherion
  • kubeconfig CA data is not updated upon CA rotation #315 @prometherion
  • Konnectivity doesn't work with NodePort #322 @jds9090 @prometherion
  • Versioned Kubelet for k8s < v1.24 #320 @jds9090 @prometherion
  • The TCP name must satisfy the DNS RFC-1035 #326 @prometherion
  • Cannot create PostgreSQL database when the TCP name contains a dash #328 @prometherion

v0.3.0

11 months ago

Kamaji v0.3.0 can be installed using its v0.12.0 Helm Chart.

Remember to add the CLASTIX repository and update it:

helm repo add clastix https://clastix.github.io/charts
helm repo update

Images can be pulled from Docker hub:

docker pull clastix/kamaji:v0.3.0

⚠️ Due to several changes on the TenantControlPlane definition, ensure to update it manually if you've priorly installed Kamaji using Helm.

Enhancements

  • Docs enhancement #298 @bsctl
  • TCP deployment mangling (additional volumes, init containers, containers, and volume mounts) #223 @maruina @prometherion
  • Support for TCP deployment Dynamic Resource Allocation #293 @prometherion
  • Custom container registry #299 @prometherion

Hotfixes

  • Wrong namespace in the Deployment guide #295 @gionn

v0.2.3

1 year ago

Container images are hosted on docker.io and can be pulled with the following command:

docker pull clastix/kamaji:v0.2.3

The current release has been tested over the last Chart release (0.11.5), remember to update your Helm chart as follows:

helm repo add clastix https://clastix.github.io/charts
helm repo update

Hotfixes

  • CrashLoopBackOff when defining ingress in spec.controlPlane #282 @sn4psh0t @prometherion
  • Missing Ingress loadbalancer status #283 @prometherion @sn4psh0t

Enhancements

  • Support up to Kubernetes 1.27 #289 @bsctl @prometherion

v0.2.2

1 year ago

Container images are hosted on docker.io and can be pulled with the following command:

docker pull clastix/kamaji:v0.2.2

The current release has been tested over the last Chart release (0.11.4), remember to update your Helm chart as follows:

helm repo add clastix https://clastix.github.io/charts
helm repo update

Hotfixes

  • Upon restoration of a TCP, Kamaji is not able to reconcile Deployment #279 @prometherion

v0.2.1

1 year ago

Container images are hosted on docker.io and can be pulled with the following command:

docker pull clastix/kamaji:v0.2.1

The current release has been tested over the last Chart release (0.11.3), remember to update your Helm chart as follows:

helm repo add clastix https://clastix.github.io/charts
helm repo update

Enhancements

  • Code optimization for resource checksum #258 @prometherion
  • Resource label consistency #269 @prometherion @bsctl
  • Upgrading to new Kubernetes container registry #262 @ptx96
  • Supporting Kubernetes v1.26.1 #274 @prometherion

Hotfix

  • Support Velero restore #270 @ptx96 @prometherion

v0.2.0

1 year ago

Container images are hosted on docker.io and can be pulled with the following command:

docker pull clastix/kamaji:v0.2.0

The current release has been tested over the last Chart release (0.11.0), remember to update your Helm chart as follows:

helm repo add clastix https://clastix.github.io/charts
helm repo update

⚠️ Due to several changes on the TenantControlPlane definition, ensure to update it manually if you've priorly installed Kamaji.

Enhancements

  • cert-manager support #166 (@prometherion)
  • Preventing TCP downgrading via validating webhook #193 (@prometherion)
  • Upgrade to latest Kubernetes release #196 #225 (@prometherion)
  • Showing used datastore in kubectl get tcp output #183 (@bsctl @prometherion)
  • DataStore migration support when using the same driver #164 (@prometherion)
  • Removing rbac-proxy for metrics scraping #192 (@prometherion)
  • Avoiding switch to a different DataStore driver #194 (@prometherion)
  • Validating selected DataStore on TCP basis #206 (@prometherion)
  • Freezing TCP during migration #208 (@prometherion)
  • Tenant Control Plane addons reactive reconciliation #213 #218 (@prometherion)
  • Updating GH Action base image #227 (@prometherion)
  • Various reorgs #222 (@prometherion)
  • Support installation on AWS EKS #187 (@maruina)
  • Updating default etcd installation preventing segfault #202 (@bsctl @prometherion)
  • Documenting FluxCD integration with Tenant Control Planes #121 (@curx @maxgio92)
  • TCP Deploymentupdate strategy #242 (@bsctl @prometherion)
  • Customizing kubelet preferred address types #245 (@fchiaretta @prometherion)
  • First benchmark results #252 #249 (@prometherion)
  • Documentation alignment #236 (@bsctl)
  • ServiceMonitor support #251 (@prometherion)
  • Performance enhancements #255 (@prometherion)

Hotixes

  • Missing metadata upon container image release #190 (@prometherion)
  • Failing reconciliation due tom missing secret #189 (@prometherion @maxgio92)
  • Corruption of etcd prefix upon deletion of single TCP #201 (@bsctl @prometherion)
  • DataStore certificate change truncate etcd prefix #204 (@prometherion)
  • CA rotation with certs regeneration #240 (@prometherion)
  • Handling etcd Helm chart basic auth values #254 (@bsctl)

Thanks

To all the contributors, issue reporters, or feature requesters, ad maiora! 🥂

v0.2.0-rc0

1 year ago
  • c905e16 chore(docs/guides): fix syntax on flux helmrelease
  • e08792a chore(docs/images): update flux diagram
  • 248b508 docs(docs/content/guides/kamaji-gitops-flux.md): use third person
  • 5cebb05 docs: add guide for managing tenant resources gitops way
  • efbefba docs(api): aligning to latest changes
  • bc19203 chore(gi): checking diff and docs alignement
  • c8b8dcc test(e2e): testing different datastores and migration
  • cf27212 chore: adding samples and automating deployment of datastores
  • 4aa7792 chore(helm): using webhooks for secrets instead of finalizers
  • a3c52e8 chore(kustomize): using webhooks for secrets instead of finalizers
  • 7ed3c44 refactor(datastore): using webhooks for secrets instead of finalizers
  • beebaf0 fix(storage): wrong variable while assigning finalizers
  • b9cda29 fix(migrate): allowing leases updates during migration
  • 7db8a64 fix(etcd): using stored username for cert common name
  • c6abe03 fix(soot): typo on params for service name and namespace
  • 723fa1a chore(helm): upgrading etcd to v3.5.6
  • 7e0ec81 deps: upgrading etcd to v3.5.6
  • 7353bb5 chore(gh): upgrading to go 1.19
  • 96cedad test(e2e): upgrading to ginkgo v2
  • 76b603d chore(helm): upgrade to 1.26
  • 7cff6b5 chore(kustomize): upgrade to 1.26
  • 6e6ea01 refactor(k8s): upgrade to 1.26
  • aefdbc9 deps(k8s): upgrade to 1.26
  • 074279b chore(go): upgrading to 1.19 required for k8s 1.26
  • 09891f4 chore(gh): running workflows on ubuntu-22.04
  • 18c6046 refactor: conforming finalizers management
  • ceab662 feat(soot): using finalizer for clean-up
  • d38098a fix(soot): ensure that manager is stopped upon tcp deletion
  • 017a50b fix(soot): ensuring manager to restart upon tcp pod restart
  • b07062b chore(kustomize): missing datastore finalizer rbac
  • b880cff fix: missing datastore finalizer rbac
  • 3f7fa08 refactor: removing unused scheme
  • 8311f1f fix: ensure default datastore exists before starting manager
  • 77fff03 chore(helm): support for runtime class
  • abada61 chore(kustomize): support for runtime class
  • 1eb1e0f feat: support for runtime class
  • e83c347 refactor(soot): creating channel source during controller setup
  • 3b90294 chore(helm): kubeadm phases are moved to soot manager
  • c5d62f3 chore(kustomize): kubeadm phases are moved to soot manager
  • 938341a refactor(log): uniforming log for soot controllers
  • 3ea721c feat(kubeadm): moving phases to soot manager
  • 5cbd085 chore(helm): addons no more need checksum
  • e358fbe chore(kustomize): addons no more need checksum
  • 9d55e77 refactor(api): no more need of checksum for addons
  • 1e4640e feat(addons): implementation in the soot cluster
  • 1b14922 refactor(kubeadm): preparing migration for addons to soot manager
  • 11f8000 fix(konnectivity): typo in ca-cert cli flag
  • e11b459 fix(konnectivity): reconciliation failed and in loop
  • 9c8de78 docs: datastore migration support
  • 4c51eaf feat(konnectivity): reconciliation performed by soot manager
  • 1a80fc5 fix(api): wrong konnectivity defaults
  • 02052d5 fix(helm): wrong konnectivity defaults
  • 7e47e33 fix(kustomize): wrong konnectivity defaults
  • 28c47d9 refactor: moving migrate webhook handling from tcp to soot manager
  • 1ec257a feat: introducing soot controllers manager
  • 68006b1 fix(datastore): coalesce for storage configuration
  • cd109dc fix: using slash prefix for etcd datastore
  • 1138eb1 fix: using the status storage schema for the etcd prefix
  • f4f9140 feat(migrate): enhancing job metadata
  • 5e78b63 feat(migrate): making timeout configurable
  • e25f95d feat(migrate): making image configurable
  • 7f49fc6 refactor(konnectivity): removing default logging options
  • 8b96838 fix: support for arguments without a value
  • cb5e356 docs: support for konnectivity extra args
  • 0d6246c chore(helm): support for konnectivity extra args
  • d8760fd chore(kustomize): support for konnectivity extra args
  • c00df62 feat(konnectivity)!: support for extra args
  • 653a393 chore(helm): decoupling agent and server struct
  • 6775b2a chore(kustomize): decoupling agent and server struct
  • 5241fa6 refactor(konnectivity)!: decoupling agent and server structs
  • 723fef5 feat(migrate): injecting webhook into tcp
  • 8d1d859 refactor: moving datastore migrate resource to its module
  • c96f589 fix(helm): installing datastore upon completion
  • 2d1daa8 feat(datastore): validation webhook
  • fe94829 chore(helm): wrong crd validation markers
  • 79942dd chore(kustomize): wrong crd validation markers
  • 4491959 fix(kubebuilder): wrong crd validation markers
  • 2336d40 refactor: using custom validator and custom defaulter
  • 79c59e5 feat: validation webhook to prevent DataStore migration to a different driver
  • 95d0983 chore(dockerfile): optimizing build
  • 7e276e5 chore(helm): support to datastore migration w/ the same driver
  • b2e6460 fix(helm): switching over webhook server service
  • 3850ad9 chore(kustomize): support to datastore migration w/ the same driver
  • 9e89937 feat: support to datastore migration w/ the same driver
  • a260a92 fix(psql): checking db and table ownership
  • cc4864c feat: datastore migration drivers
  • ece1a4e fix: avoiding inconsistency upon tcp retrieval and status update
  • eb2440a refactor: abstracting datastore configuration retrieval
  • 0c41570 fix(datastore): not deleting database content upon certificates change
  • 7a6b0a8 fix(datastore): ensuring to update status upon any change
  • a31fbdc chore(makefile): allowing creation of multiple datastore instances
  • 4ff0cdf docs: configuration for the manager command
  • ae573b1 chore(kustomize): removing rbac proxy and support for manager command
  • e81b322 chore(helm): removing rbac proxy and support for manager command
  • 4298bdd chore(dockerfile): manager command
  • 15d0d57 feat: refactoring for commands
  • c17a31e fix: avoiding collision of datastore schemes
  • f0df1cf fix: removing tcp data using prefix, and not range
  • 1bcff90 chore(kustomize): show datastore for each tcp
  • 6c817a9 chore(helm): show datastore for each tcp
  • 5b9311f feat: show datastore for each tcp
  • 0d607df refactor: adding finalizer upon datastore setu
  • 11502bf refactor: retry on conflict for the status update
  • ff1c9fc chore(samples): updating to latest kubeadm supported version
  • adc4b7d chore(test): updating to latest kindest/node version
  • a96133f deps: upgrade to k8s 1.25.4
  • 81fb429 test(e2e): validating tcp kubernetes version
  • 190acc9 feat: tcp version validation upon create and update
  • b0a059d docs: cert-manager dependency
  • bcc7d0e chore(makefile): installing cert-manager for e2e
  • 9dc0a9a chore(makefile): crds diverged between kustomize and helm
  • d312738 chore(helm): support for cert-manager and webhooks
  • 30bc8cc feat!: support for cert-manager and webhooks
  • 55d7f09 chore(kustomize): support for cert-manager and webhooks
  • 2c892d7 fix(ci): missing metadata upon container images release
  • 43f1a6b chore(makefile): installing required dependencies
  • 78ef34c fix(docs): aligning to latest changes for the chart documentation
  • 16d8b2d fix(helm): support installation on EKS
  • 68764be chore(helm): support installation using --wait option

v0.1.1

1 year ago

Container images are hosted on docker.io and can be pulled with the following command:

docker pull clastix/kamaji:v0.1.1

The current release has been tested over the last Chart release (0.10.0), remember to update your Helm chart as follows:

helm repo add clastix https://clastix.github.io/charts
helm repo update

⚠️ Due to an update on the TenantControlPlane definition, ensure to update it manually if you've prior installed Kamaji.

Features

  • Specify scheduling constraints for TenantControlPlane pods #179

Enhancements

  • Kamaji listing on Rancher application catalog #170
  • CNCF compliance support #169
  • Docs link to nodes joining process #175
  • Link to deploy guide #176

v0.1.0

1 year ago

Container images are hosted on docker.io and can be pulled with the following command:

docker pull clastix/kamaji:v0.1.0

Enhancements

  • Reflecting current version of the deployed Tenant Control Plane version rather then the specified one in the spec [#5]
  • Moving to Docker Hub as main container registry [#8] and GH Actions workflow [#16]
  • Support for Go 1.18 [#12]
  • Dynamic management of Addons (kube-proxy, core-dns) [#7, #107]
  • Helm Chart automatic release [#50]
  • Using default values for the network profile section of Tenant Control Plane [#58]
  • Remove API Machinery NewYAMLSerializer() deprecated function [#60
  • Report Kamaji version and info at startup [#62]
  • Adding konnectivity as Addons [#25, #93, #100, #140]
  • Missing or wrong header in source files [#71]
  • Utils for tenant kubernetes client [#72]
  • Making optional spec.networkProfile.domain and renaming it to certSANs [#75]
  • Missing handling of conflicts during reconciliation [#54]
  • Set image pull policy to Always [#82]
  • Provide logs for deletion of Tenant Control Planes [#83]
  • Make container resources allocation configurable in Tenant Control Plane pods [#99]
  • Support for additional extra arguments in TCP components [#103]
  • Support for etcd storage class and size in Helm chart [#112, #114]
  • Introduce support for MySQL and PostgreSQL as datastore [#22]
  • DataStore API [#67, #133]
  • Upgrade dependencies to Kuberentes 1.25 [#136]
  • Dynamic kube-proxy addon version [#137]
  • DataStore selection at the Tenant Control Plane level [#138]
  • Enable topology spread constraints on tcp deployment [#142]
  • Add the scale subresource in TenantControlPlane custom resource definition [#144]

Bug fix

  • Tenant Control Plane kubelet configuration is not updated upon cgroup driver change [#79]
  • Reconciliation of Kubeconfig upon TCP address change [#90]
  • kube-proxy kubeconfig is missing address when dynamically allocation [#97]
  • Update link to Capsule in README [#120]
  • Wrong ServiceAccountIssuer string in kube-apiserver [#149]
  • Documentation alignements [#162]

What's next

Check the just opened milestone and feel free to open a feature request!

Thanks

As the first minor release of Kamaji we're really emotional and we would like to thank all the contributors and early adopters: @bsctl, @ptx96 , @stek29, @davideimola, @alegrey91, @maxgio92, @mendrugory, @prometherion.

v0.1.0-rc0

1 year ago