https://github.com/belastingdienst/opr-paas
An operator providing a multi tenancy solution which allows DevOps teams to request a context for their project, which we like to call a 'Project as a service', e.a. Paas.
https://github.com/belastingdienst/opr-paas
go golang kubernetes kubernetes-operator openshift openshift-operator operator paas project project-as-a-service
Last synced: 2 months ago
JSON representation
An operator providing a multi tenancy solution which allows DevOps teams to request a context for their project, which we like to call a 'Project as a service', e.a. Paas.
- Host: GitHub
- URL: https://github.com/belastingdienst/opr-paas
- Owner: belastingdienst
- License: eupl-1.2
- Created: 2024-09-02T13:47:03.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-10-24T11:35:01.000Z (7 months ago)
- Last Synced: 2024-10-25T07:06:03.420Z (7 months ago)
- Topics: go, golang, kubernetes, kubernetes-operator, openshift, openshift-operator, operator, paas, project, project-as-a-service
- Language: Go
- Homepage: https://belastingdienst.github.io/opr-paas/
- Size: 17 MB
- Stars: 20
- Watchers: 4
- Forks: 8
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Publiccode: publiccode.yml
Awesome Lists containing this project
README
# opr-paas
## Goal
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.
## Quickstart
Deploy the operator using the following commands:
```
kubectl apply -f https://github.com/belastingdienst/opr-paas/releases/latest/download/install.yaml
kubectl apply -f https://raw.githubusercontent.com/belastingdienst/opr-paas/refs/heads/main/examples/resources/_v1alpha1_paasconfig.yaml
```The second command will load an example PaasConfig resource from the main branch
to get you going. Feel free to replace this with your own or a release specific
version instead.This will install the operator using the `install.yaml` that was generated for the
latest release. It will create:- a namespace called `paas-system`;
- 3 CRDs (`Paas`, `PaasNs` and `PaasConfig`);
- 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 all crds;
- a deployment running the operator;Feel free to change config as required.
## Background information
- [build-kubernetes-operator-six-steps](https://developers.redhat.com/articles/2021/09/07/build-kubernetes-operator-six-steps#setup_and_prerequisites)
- [operator sdk installation instructions](https://sdk.operatorframework.io/docs/installation/)## Contributing
Please refer to our documentation in the [CONTRIBUTING.md](./CONTRIBUTING.md) file
and the Developer Guide section of the documentation site if you want to help us
improve the Paas Operator.## License
Copyright 2024, Tax Administration of The Netherlands.
Licensed under the EUPL 1.2.See [LICENSE.md](./LICENSE.md) for details.