5.6 KiB
convention 4 kubernetes: c4k-common
chat over e-mail | team@social.meissa-gmbh.de | Website & Blog
Purpose
c4k-common provides the foundation for all our c4k modules.
It is now possible to generate a working prometheus monitoring file in yaml format. Your config.edn and your auth.edn should at least contain the following fields:
config.edn - minimal example
{:k3s-cluster-name "your-cluster-name"
:k3s-cluster-stage :prod
:grafana-cloud-url "your-url"}
auth.edn - minimal example
{:grafana-cloud-user "user"
:grafana-cloud-password "password"}
call (with jarwrapper installed):
c4k-common-standalone.jar config.edn auth.edn > monitoring.yaml
Rationale
There are many comparable solutions for creating c4k deployments like helm or kustomize. Why do we need another one?
- We like the simplicity of kustomize. Yaml in, yaml out, the ability to lint the result and the option to split large yaml files into objects. But a simple overwriting per environment may not be enough ...
- We like helm packages. A package encapsulates the setup for an application. On the one hand, but on the other hand we don't like the idea of having to program and debug in a template language. We can program much better in real programming languages.
Our convention 4 kubernetes c4k-* tools combine the advantages of both approaches:
- Packages for one application
- Programming in clojure
- yaml / edn as input and output, no more magic
- good validation, integration as api, cli or in the browser
Usage
c4k-common provides the basic functionality for our c4k-modules.
Refactoring & Module Overview
Module | Version | common load-as-edn | groups for webview | use common ingress | use common monitoring | validate examples | ci with pyb |
---|---|---|---|---|---|---|---|
c4k-keycloak | 0.2 | x | x | x | x | x | |
c4k-taiga | 0.1 | ||||||
c4k-nextcloud | 4.0 | x | x | x | x | x | |
c4k-jitsi | 1.3 | x | x | x | x | x | x |
c4k-forgejo | 2.0 | x | x | x | x | x | |
c4k-shynet | 1.0 | ||||||
c4k-website | 1.1 | x | x | x | x | x |
Development & mirrors
Development happens at: https://repo.prod.meissa.de/meissa/c4k-common
Mirrors are:
- https://gitlab.com/domaindrivenarchitecture/c4k-common (issues and PR)
- https://github.com/DomainDrivenArchitecture/c4k-common
For more details about our repository model see: https://repo.prod.meissa.de/meissa/federate-your-repos
License
Copyright © 2022 meissa GmbH Licensed under the Apache License, Version 2.0 (the "License") Pls. find licenses of our subcomponents here