226 lines
6.5 KiB
YAML
226 lines
6.5 KiB
YAML
groups:
|
|
- name: "Container Images"
|
|
description: "Image to be used for container"
|
|
- name: "Nextcloud Configuration"
|
|
description: "Configuration details for Nextcloud workload"
|
|
- name: "Storage Configuration"
|
|
description: "Configure Storage for Nextcloud"
|
|
- name: "Container Configuration"
|
|
description: "Configure nextcloud container parameters"
|
|
- name: "Postgresql Configuration"
|
|
description: "Configure Postgresql for nextcloud"
|
|
|
|
questions:
|
|
# Image related
|
|
- variable: image
|
|
description: "Docker Image Details"
|
|
label: "Docker Image"
|
|
group: "Container Images"
|
|
schema:
|
|
type: dict
|
|
required: true
|
|
attrs:
|
|
- variable: repository
|
|
description: "Docker image repository"
|
|
label: "Image repository"
|
|
schema:
|
|
type: string
|
|
default: "nextcloud"
|
|
required: true
|
|
- variable: tag
|
|
description: "Tag to use for specified image"
|
|
label: "Image Tag"
|
|
schema:
|
|
type: string
|
|
default: "latest"
|
|
- variable: pullPolicy
|
|
description: "Docker Image Pull Policy"
|
|
label: "Image Pull Policy"
|
|
schema:
|
|
type: string
|
|
default: "IfNotPresent"
|
|
enum:
|
|
- value: "IfNotPresent"
|
|
description: "Only pull image if not present on host"
|
|
- value: "Always"
|
|
description: "Always pull image even if present on host"
|
|
- value: "Never"
|
|
description: "Never pull image even if it's not present on host"
|
|
|
|
- variable: nextcloud
|
|
description: "Nextcloud configuration details"
|
|
label: "Nextcloud Configuration"
|
|
group: "Nextcloud Configuration"
|
|
schema:
|
|
type: dict
|
|
required: true
|
|
additional_attrs: true
|
|
attrs:
|
|
- variable: host
|
|
description: "Nextcloud host to create application URLs"
|
|
label: "Nextcloud host"
|
|
schema:
|
|
type: string
|
|
default: "nextcloud.kube.home"
|
|
- variable: username
|
|
label: "Username"
|
|
schema:
|
|
type: string
|
|
default: "admin"
|
|
required: true
|
|
- variable: password
|
|
label: "Password"
|
|
schema:
|
|
type: string
|
|
private: true
|
|
default: "changeme"
|
|
required: true
|
|
- variable: datadir
|
|
label: "Nextcloud data directory"
|
|
schema:
|
|
type: path
|
|
default: "/var/www/html/data"
|
|
required: true
|
|
- variable: strategy
|
|
label: "Nextcloud update strategy"
|
|
schema:
|
|
type: string
|
|
default: "Recreate"
|
|
enum:
|
|
- value: "RollingUpdate"
|
|
description: "Create new pods and then kill old ones"
|
|
- value: "Recreate"
|
|
description: "Kill existing pods before creating new ones"
|
|
|
|
- variable: service
|
|
description: "Nextcloud Service Configuration"
|
|
label: "Nextcloud Service Configuration"
|
|
group: "Nextcloud Configuration"
|
|
schema:
|
|
type: dict
|
|
required: true
|
|
attrs:
|
|
- variable: nodePort
|
|
label: "Node Port to use for Nextcloud"
|
|
schema:
|
|
type: int
|
|
min: 9000
|
|
max: 65535
|
|
default: 9000
|
|
required: true
|
|
|
|
- variable: configureiXVolume
|
|
label: "Configure iX Volume"
|
|
group: "Storage Configuration"
|
|
description: "Use iX Volume for persistent storage"
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
required: true
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: volume
|
|
label: "Configure iXVolume"
|
|
group: "Storage Configuration"
|
|
schema:
|
|
type: dict
|
|
$ref:
|
|
- "normalize/ixVolume"
|
|
attrs:
|
|
- variable: mountPath
|
|
label: "Mount Path"
|
|
description: "Path where the volume will be mounted inside the pod"
|
|
schema:
|
|
type: path
|
|
editable: false
|
|
default: "/var/www"
|
|
- variable: datasetName
|
|
label: "Dataset Name"
|
|
schema:
|
|
type: string
|
|
required: true
|
|
|
|
- variable: configureHostPath
|
|
label: "Configure Host Path for storage"
|
|
description: "Use a path on host for persistent data storage"
|
|
group: "Storage Configuration"
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
required: true
|
|
show_if: [["configureiXVolume", "=", false]]
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: volumeHostPath
|
|
label: "Host Path"
|
|
group: "Storage Configuration"
|
|
schema:
|
|
type: hostpath
|
|
|
|
- variable: internalDatabase
|
|
label: "REMOVEME"
|
|
schema:
|
|
type: dict
|
|
additional_attrs: true
|
|
attrs: []
|
|
|
|
- variable: externalDatabase
|
|
label: "REMOVEME"
|
|
schema:
|
|
type: dict
|
|
additional_attrs: true
|
|
attrs: []
|
|
|
|
- variable: postgresql
|
|
label: "Configure Postgresql"
|
|
group: "Postgresql Configuration"
|
|
schema:
|
|
type: dict
|
|
additional_attrs: true
|
|
attrs:
|
|
- variable: backupVolume
|
|
label: "Backup Volume"
|
|
schema:
|
|
type: dict
|
|
$ref:
|
|
- "normalize/ixVolume"
|
|
attrs:
|
|
- variable: mountPath
|
|
label: "Mount Path"
|
|
schema:
|
|
type: path
|
|
editable: false
|
|
default: "/postgres_backups"
|
|
- variable: datasetName
|
|
label: "Dataset Name"
|
|
schema:
|
|
type: string
|
|
default: "ix-postgres_backups"
|
|
editable: false
|
|
- variable: dataVolume
|
|
label: "Postgresql Data Volume"
|
|
schema:
|
|
type: dict
|
|
$ref:
|
|
- "normalize/ixVolume"
|
|
attrs:
|
|
- variable: mountPath
|
|
label: "Mount Path"
|
|
schema:
|
|
type: path
|
|
editable: false
|
|
default: "/var/lib/postgresql/data"
|
|
- variable: datasetName
|
|
label: "Dataset Name"
|
|
schema:
|
|
type: string
|
|
default: "ix-postgres_data"
|
|
editable: false
|
|
|
|
- variable: cronjob
|
|
label: "REMOVEME"
|
|
schema:
|
|
type: dict
|
|
additional_attrs: true
|
|
attrs: []
|