c4k-common/README.md

6.3 KiB

convention 4 kubernetes: c4k-common

Clojars Project Clojars Project pipeline status

DeltaChat chat over e-mail | team@social.meissa-gmbh.de 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 postgres frontend script backup as deployment use common pred. renamed test-helper common load-as-edn standardized uberjar groups for webview use common ingress use common monitoring
c4k-mastodon-bot 0.0 - -
c4k-keycloak 0.2
c4k-jira 1.1 x x x x -
c4k-nextcloud 4.0 x x x x -
c4k-jitsi 1.2 - x - x - x
c4k-gittea 1.0 x x x x x x x
c4k-shynet 1.0 x x - x - x
c4k-website 0.2 x x x x x x x x x

License

Copyright © 2022 meissa GmbH Licensed under the Apache License, Version 2.0 (the "License") Pls. find licenses of our subcomponents here