kamaji

Kamaji is the Hosted Control Plane Manager for Kubernetes.

APACHE-2.0 License

Stars
1.1K

Bot releases are hidden (Show)

kamaji - v0.2.2

Published by prometherion over 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
kamaji - v0.2.1

Published by prometherion over 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
kamaji - v0.2.0

Published by prometherion over 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! 🥂

kamaji - v0.2.0-rc0

Published by prometherion almost 2 years 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
kamaji - v0.1.1

Published by prometherion almost 2 years 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
kamaji - v0.1.0

Published by prometherion about 2 years 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.

kamaji - v0.1.0-rc0

Published by maxgio92 about 2 years ago

kamaji - v0.0.1

Published by prometherion over 2 years ago

Container images are available in the following container registries.

docker pull clastix/kamaji:v0.0.1
docker pull quay.io/clastix/kamaji:v0.0.1

Features

  • Support for dynamic address allocation on native Load Balancer
  • Zero Downtime Tenant Control Plane upgrade
  • Helm Chart to install Kamaji on any Kubernetes cluster

Thanks to all the contributors involved in the development, such as @mendrugory, @bsctl, @maxgio92, and @alegrey91, @ptx96 although not directly involved in the Go code development! 🚀

Package Rankings
Top 3.45% on Proxy.golang.org
Related Projects