libre.sh/README.md
2023-08-17 17:13:05 +02:00

81 lines
No EOL
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 doesnt 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
```shell
nix-shell
```
### Creating the cluster
```shell
kind create cluster --config kind-config.yaml
```
### Running tilt
```shell
tilt up
```
With other operators:
```shell
tilt up -- import-operator
```
Changing args without restarting:
```shell
tilt args import-operator
```
### Deleting the cluster
```shell
kind delete cluster --name libresh-dev
```