Create a Nextcloud service

Apply the following object on your namespace, as specified by its YAML description.

Example to create a Nextcloud instance
apiVersion: vshn.appcat.vshn.io/v1
kind: VSHNNextcloud
metadata:
  name: nextcloud-app1-prod (1)
  namespace: prod-app (2)
spec:
  parameters:
    service:
      fqdn: my-nextcloud.example.com (3)
      version: "29" (4)
      useExternalPostgreSQL: true (5)
      postgreSQLParameters: {} (6)
    size: (7)
      plan: standard-2
  writeConnectionSecretToRef:
    name: nextcloud-creds (8)
1 Instance name
2 The namespace where the object will be created
3 Your full qualified domain name
4 Nextcloud version
5 If we should use the VSHNPostgreSQL as a managed backend database instead of the build-in SQLite database. (defaults to true)
6 PostgreSQL database parameters. See PostgreSQL by VSHN (Only used when useExternalPostgreSQL is false)
7 Size of the Nextcloud instance. See Plans and Sizing for more information.
8 Secret where the connection details are provisioned. This secret shouldn’t exist before creation.
To get more information about all available configuration options, please see the API Reference

Inspect your new Nextcloud service

$  oc get vshnnextcloud.vshn.appcat.vshn.io
NAME                SYNCED   READY   CONNECTION-SECRET   AGE
nextcloud-app1-prod   True     True    nextcloud-creds       4m23s

When you see True in the READY column, it means the instance is provisioned but the pods might still be starting. It may take some time for the instance to be available especially during the provisioning phase.

Find the connection details

The connection details are stored in a secret. You can retrieve them with the following command:

$ oc get secrets nextcloud-creds -o yaml

The output of the command above is a secret specification with the following structure:

apiVersion: v1
kind: Secret
metadata:
  name: nextcloud-creds
stringData:
  NEXTCLOUD_HOST: "example.nextcloud.com" (1)
  NEXTCLOUD_PASSWORD: "my-password" (2)
  NEXTCLOUD_USERNAME: "admin" (3)
1 Kubernetes internal hostname
2 Password of admin user
3 Username
Not all fields apply to all providers