Skip to content
_index.md 1.84 KiB
Newer Older
Pierre Ozoux's avatar
Pierre Ozoux committed
---
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.

Mossroy's avatar
Mossroy committed
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).
Pierre Ozoux's avatar
Pierre Ozoux committed

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
```

Mossroy's avatar
Mossroy committed
After some minutes, you'd get an up and running Nextcloud instance. Behind the scenes, it would have provisionned the following:
Pierre Ozoux's avatar
Pierre Ozoux committed

 - 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

Mossroy's avatar
Mossroy committed
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.