libre.sh

module
v0.7.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2024 License: EUPL-1.2

README

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

Directories

Path Synopsis
api module
apps/v1alpha1
Package v1alpha1 contains API Schema definitions for the apps v1alpha1 API group +kubebuilder:object:generate=true +groupName=apps.libre.sh
Package v1alpha1 contains API Schema definitions for the apps v1alpha1 API group +kubebuilder:object:generate=true +groupName=apps.libre.sh
config/v1alpha1
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=libre.sh
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=libre.sh
core/v1alpha1
Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group +kubebuilder:object:generate=true +groupName=core.libre.sh
Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group +kubebuilder:object:generate=true +groupName=core.libre.sh
keycloak/v1alpha1
Package v1alpha1 contains API Schema definitions for the keycloak v1alpha1 API group +kubebuilder:object:generate=true +groupName=keycloak.libre.sh
Package v1alpha1 contains API Schema definitions for the keycloak v1alpha1 API group +kubebuilder:object:generate=true +groupName=keycloak.libre.sh
lifecycle/v1alpha1
Package v1alpha1 contains API Schema definitions for the lifecycle v1alpha1 API group +kubebuilder:object:generate=true +groupName=lifecycle.libre.sh
Package v1alpha1 contains API Schema definitions for the lifecycle v1alpha1 API group +kubebuilder:object:generate=true +groupName=lifecycle.libre.sh
meta/v1alpha1
Package v1alpha1 contains API Schema definitions for the meta v1alpha1 API group +kubebuilder:object:generate=true +groupName=meta.libre.sh
Package v1alpha1 contains API Schema definitions for the meta v1alpha1 API group +kubebuilder:object:generate=true +groupName=meta.libre.sh
portability/v1alpha1
Package v1alpha1 contains API Schema definitions for the portability v1alpha1 API group +kubebuilder:object:generate=true +groupName=portability.libre.sh
Package v1alpha1 contains API Schema definitions for the portability v1alpha1 API group +kubebuilder:object:generate=true +groupName=portability.libre.sh
postgres/v1alpha1
Package v1alpha1 contains API Schema definitions for the postgres v1alpha1 API group +kubebuilder:object:generate=true +groupName=postgres.libre.sh
Package v1alpha1 contains API Schema definitions for the postgres v1alpha1 API group +kubebuilder:object:generate=true +groupName=postgres.libre.sh
cli module
cmd
controller module
gen
internal
pkg module
scim module
tools module
wader module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL