Open Source Tools on autopilot
Explore our website »
GitHub
.
Docker Hub
.
LinkedIn
Glasskube-Matomo-screencast.mp4
To deploy the operator and related RBAC resources, you can use the resources in deploy/
.
The easiest method of installation is the deploy.sh
script.
It will automatically install dependencies, CRDs and the Glasskube operator into your current kubectl
context.
You can choose to let the operator manage custom resources in the entire cluster or just a single namespace.
The deploy.sh
script will automatically install following dependencies:
- cert-manager
cert-manager/cert-manager
- Prometheus, Grafana & Alert
Manager
prometheus-community/kube-prometheus-stack
- mariadb-operator
mariadb-operator/mariadb-operator
- CloudNativePG
cloudnative-pg/cloudnative-pg
- MinIO
minio/minio
Note Installing CRDs still requires cluster-wide permissions. Currently it is not possible to exclude certain dependencies.
All configuration parameters can be printed with the -h
command.
$ ./deploy/deploy.sh -h
Usage: deploy.sh [options]
Options:
-v VERSION
Check https://hub.docker.com/r/glasskube/operator/tags for available versions.
If no version is provided, only dependencies are installed.
-n NAMESPACE
Specifies the namespace where all operators will be installed. If NAMESPACE is
missing or empty, a cluster-wide installation will be performed.
-g HOST_NAME
Specifies the host name that should be used for the Grafana ingress. If no host
name is provided, the Grafana ingress will not be enabled.
-p AMOUNT
Specifies the size of the prometheus storage claim(e.g. "10Gi"). If no value is
set, prometheus persistence will not be enabled.
-i INGRESS_CLASS
Specifies the ingress class name to be used
-c CLUSTER_ISSUER
Specifies the cluster issuer to be used
-d CLUSTER_DNS_NAME
Specifies the cluster name to resolve dns queries
-h
Show this help.
Run the script for example like this:
deploy/deploy.sh -v $VERSION -g grafana.minikube -p 10Gi -i nginx
You can find the latest $VERSION
on GitHub
or Docker Hub.
The operator currently supports following custom resources:
HttpEcho.yaml
apiVersion: "glasskube.eu/v1alpha1"
kind: HttpEcho
metadata:
name: echo
namespace: default
spec:
text: MTL Demo 🧊
http-echo
is a simple go web server that returns preconfigured text.
The Glasskube operator will create a deployment, service and ingress based on the applied custom resource.
The Webserver is reachable via http://echo.minikube
.
Matomo.yaml
apiVersion: "glasskube.eu/v1alpha1"
kind: Matomo
metadata:
name: matomo
namespace: matomo
spec:
host: matomo.minikube
Matomo
is an Open-Source Web Analytics Tool written in PHP
and stores data
in MySQL
database. The Glasskube Operator will automatically perform Upgrades and manages the database.
Make sure you also have the mariadb-operator
installed.
After applying the custom resource Matomo will be reachable via an ingress at the configured host.
Odoo.yaml
apiVersion: "glasskube.eu/v1alpha1"
kind: Odoo
metadata:
name: odoo
namespace: odoo
spec:
host: odoo.minikube
Odoo
is an Open-Source suite of web based business apps written in Python
and stores
data in a PostgreSQL
database. The Glasskube Operator will automatically perform Upgrades and manages the database.
Make sure you also have the cnpg-operator
installed.
After applying the custom resource Odoo will be reachable via an ingress at the configured host.
Daily database backups are stored in an integrated S3 compatible MinIO bucket inside the glasskube-system namespace.
- Java client for Kubernetes
fabric8io/kubernetes-client
- Java Operator SDK
java-operator-sdk/java-operator-sdk
See the contributing guide for detailed instructions.
Also join our architecture discussion
on GitHub.
- Media Tech Lab
media-tech-lab