Newer
Older
---
title: Upstream operator
weight: 10
---
Now that Postgres is running, we can deploy our Nextcloud.
But first we need to deploy the nextcloud upstream operator. This operator is low level because it would need every information about the backing services. It is a nice building block for projects like libre.sh.
Here is the version alpha we are developing. The goal is to move its development upstream. We think that this belongs to Nextcloud community to own this. And we'll help bootstrap that. The same way we did with [some](https://github.com/RocketChat/Docker.Official.Image/commit/a951f488fb2a633fc89ad3048eb451aa05dc90ee) [official](https://github.com/nextcloud/docker/commit/8fa384bcd6619b9c19c5efbcdf7248d803e43727) [docker](https://github.com/matomo-org/docker/commit/e6538b90a4c7e7e3d6423d1e4740e674ee42eede) [images](https://github.com/idno/Known-Docker/commit/394e91c21d33914899dd2b0b211be2d7fe4e1837).
Here is how the Nextcloud instance object would look like:
```
cat << EOF | kubectl apply -f -
apiVersion: "nextcloud.com/v1"
kind: nextcloud
metadata:
name: cloud
namespace: fight-marketing
spec:
postgress:
endpoint: nextcloud-postgres
secret: nextcloud-postgres-secret
volume:
size: 1Gi
numberOfInstances: 2
domainNames:
- fight.marketing
EOF
```
After some minutes, you'd get an up and running Nextcloud instance. Behind the scenes, it would have provisionned the following:
- the deployment with 2 pods with a php container with Nextcloud code
- a cron job
- a web container to serve static assets
- an ingress with a Let's Encrypt certificate
- installed Nextcloud
Upstream operators are already nice you'd say. But keep in mind that we are discussing about 7 backing services. So for each Nextcloud instance, you'd need to do the plumbing manually of each backing service manually. Let's go now to the libre.sh operator.