The PaaS operator delivers an opinionated 'Project as a Service' implementation where development teams can request a 'Project as a Service' by defining a PaaS resource.
A PaaS resource is used by the operator as an input to create namespaces limited by Cluster Resource Quota's, granting groups permissions and (together with a clusterwide ArgoCD) creating capabilities such as:
- a PaaS specific deployment of ArgoCD (continuous deployment);
- Tekton (continuous integration);
- Grafana (observability); and
- KeyCloak (Application level Single Sign On);
A PaaS is all a team needs to hit the ground running.
Deploy the operator using the following command:
kubectl apply -f manifests/install.yaml
This will create:
- a namespace called
paas-system
; - 2 CRDs (
PaaS
andPaasNs
); - a service account, role, role binding, cluster role and cluster role binding for all permissions required by the operator;
- a viewer & an editor cluster role for PaaS and PaasNs resources;
- a configmap with all operator configuration options;
- a deployment running the operator and a deployment running an encryption service;
Feel free to change config as required.
Please refer to our documentation in the CONTRIBUTING.md file and the developer section of the documentation site if you want to help us improve the PaaS solution.
Copyright 2024, Tax Administration of The Netherlands. Licensed under the EUPL 1.2.
See LICENSE.md for details.