8be9cf086e
except for node exporter |
||
---|---|---|
.tilt | ||
cluster | ||
cmd | ||
docs | ||
pkg | ||
renovate | ||
scripts | ||
testing | ||
go.mod | ||
go.sum | ||
kind-config.yaml | ||
LICENSE | ||
main.go | ||
README.md | ||
renovate.json5 | ||
shell.nix | ||
Tiltfile |
libre.sh
libre.sh is a platform to manage many instances of different applications at scale.
Use Cases
The use cases directory lists things we try to achieve with libre.sh.
Glossary
Application: an application is a web application that is usable by an end user (For instance: HedgeDoc, Discourse, …). Object Store (S3 API “standard”): An http API to store and retrieve objects. PITR: Point in Time Recovery
Personas
Cluster Operator
A Cluster Operator is a System Administrator, or Site Reliability Engineer that is transforming raw machines (physical, virtual) into a production Kubernetes cluster. This person is typically root on servers and on Kubernetes API.
Application Operator
An Application Operator is a person that is less technical than a Cluster Operator, and doesn’t necessarily understand the command line interface. But this person, through a nice User interface, is able to manipulate high level objects that represent the application.
End User
A user that will interact only with an application.
Architecture decision records
Systems
libre.sh runtime
A collection of controllers and services that are required to deploy applications instances.
libre.sh runtime manager
The controller in charge of installing/configuring/upgrading the runtime.
Development
Requirements
- nix-shell
Enter the shell
nix-shell
Creating the cluster
kind create cluster --config kind-config.yaml
Running tilt
tilt up
With other operators:
tilt up -- import-operator
Changing args without restarting:
tilt args import-operator
Deleting the cluster
kind delete cluster --name libresh-dev