2022-07-22 11:40:42 -04:00
|
|
|
# Include{groups}
|
|
|
|
portals: {}
|
|
|
|
questions:
|
|
|
|
# Include{global}
|
|
|
|
- variable: imageSelector
|
|
|
|
group: "Container Image"
|
|
|
|
label: "Select Image"
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
default: "image"
|
|
|
|
enum:
|
|
|
|
- value: "image"
|
|
|
|
description: "Default Image"
|
2022-07-22 12:54:48 -04:00
|
|
|
- value: "j17Image"
|
2022-07-22 11:40:42 -04:00
|
|
|
description: "Java 17"
|
|
|
|
- value: "j11Image"
|
|
|
|
description: "Java 11"
|
|
|
|
- value: "j8Image"
|
|
|
|
description: "Java 8"
|
|
|
|
- variable: controller
|
|
|
|
group: "Controller"
|
|
|
|
label: ""
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
- variable: advanced
|
|
|
|
label: "Show Advanced Controller Settings"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: false
|
|
|
|
show_subquestions_if: true
|
|
|
|
subquestions:
|
|
|
|
- variable: type
|
|
|
|
description: "Please specify type of workload to deploy"
|
|
|
|
label: "(Advanced) Controller Type"
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
default: "deployment"
|
|
|
|
required: true
|
|
|
|
enum:
|
|
|
|
- value: "deployment"
|
|
|
|
description: "Deployment"
|
|
|
|
- value: "statefulset"
|
|
|
|
description: "Statefulset"
|
|
|
|
- value: "daemonset"
|
|
|
|
description: "Daemonset"
|
|
|
|
- variable: replicas
|
|
|
|
description: "Number of desired pod replicas"
|
|
|
|
label: "Desired Replicas"
|
|
|
|
schema:
|
|
|
|
type: int
|
|
|
|
default: 1
|
|
|
|
required: true
|
|
|
|
- variable: strategy
|
|
|
|
description: "Please specify type of workload to deploy"
|
|
|
|
label: "(Advanced) Update Strategy"
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
default: "Recreate"
|
|
|
|
required: true
|
|
|
|
enum:
|
|
|
|
- value: "Recreate"
|
|
|
|
description: "Recreate: Kill existing pods before creating new ones"
|
|
|
|
- value: "RollingUpdate"
|
|
|
|
description: "RollingUpdate: Create new pods and then kill old ones"
|
|
|
|
- value: "OnDelete"
|
|
|
|
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
|
|
|
# Include{controllerExpert}
|
|
|
|
- variable: secretEnv
|
|
|
|
group: "Container Configuration"
|
|
|
|
label: "Image Secrets"
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
- variable: RCON_PASSWORD
|
|
|
|
label: "RCON Password"
|
|
|
|
description: "This uses a third-party plugin to work, orblazer/bungee-rcon, which is automatically downloaded"
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
private: true
|
|
|
|
default: ""
|
|
|
|
- variable: env
|
|
|
|
group: "Container Configuration"
|
|
|
|
label: "Image Environment"
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
- variable: TYPE
|
|
|
|
label: "Server Type"
|
|
|
|
description: "The type of the server. When the type is set to CUSTOM, the environment setting BUNGEE_JAR_URL is required."
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
required: true
|
|
|
|
default: "WATERFALL"
|
|
|
|
enum:
|
|
|
|
- value: "BUNGEECORD"
|
|
|
|
description: "Bungeecord"
|
|
|
|
- value: "WATERFALL"
|
|
|
|
description: "Waterfall"
|
|
|
|
- value: "VELOCITY"
|
|
|
|
description: "Velocity"
|
|
|
|
- value: "CUSTOM"
|
|
|
|
description: "Custom"
|
|
|
|
- variable: BUNGEE_JAR_URL
|
|
|
|
label: "Bunge Jar URL"
|
|
|
|
description: "Used to download a comma separated list of *.jar urls to the plugins folder."
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
default: ""
|
|
|
|
required: true
|
|
|
|
show_if: [[TYPE, "=", "CUSTOM"]]
|
|
|
|
- variable: PLUGINS
|
|
|
|
label: "Plugins"
|
|
|
|
description: "Used to download a comma separated list of *.jar urls to the plugins folder."
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
default: ""
|
|
|
|
- variable: SPIGET_PLUGINS
|
|
|
|
label: "Spiget Plugins"
|
|
|
|
description: "The SPIGET_PLUGINS variable can be set with a comma-separated list of SpigotMC resource IDs."
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
default: ""
|
|
|
|
- variable: ENABLE_RCON
|
|
|
|
label: "Enable RCON"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: true
|
|
|
|
- variable: REPLACE_ENV_VARIABLES
|
|
|
|
label: "Replace Env Variables"
|
|
|
|
description: "Replace variables that match your defined environment variables in all the files in /server."
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: false
|
|
|
|
- variable: ONLINE_MODE
|
|
|
|
label: "Enable Online Mode"
|
|
|
|
description: "MUST set to false which is required by bungeecord"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: false
|
|
|
|
- variable: advancedenvironment
|
|
|
|
label: "Show Advanced Server Settings"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: false
|
|
|
|
show_subquestions_if: true
|
|
|
|
subquestions:
|
|
|
|
- variable: MEMORY
|
|
|
|
label: "Memory"
|
|
|
|
description: "The Java memory heap size to specify to the JVM."
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
required: true
|
|
|
|
default: "512M"
|
|
|
|
- variable: INIT_MEMORY
|
|
|
|
label: "Init Memory"
|
|
|
|
description: "Can be set to use a different initial heap size."
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
required: true
|
|
|
|
default: "512M"
|
|
|
|
- variable: MAX_MEMORY
|
|
|
|
label: "Max Memory"
|
|
|
|
description: "Can be set to use a different max heap size."
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
required: true
|
|
|
|
default: "512M"
|
|
|
|
- variable: NETWORKADDRESS_CACHE_TTL
|
|
|
|
label: "Network Address Cache TTL"
|
|
|
|
description: "Number of seconds to cache the successful network address lookups."
|
|
|
|
schema:
|
|
|
|
type: int
|
|
|
|
default: 60
|
|
|
|
- variable: JVM_OPTS
|
|
|
|
label: "JVM Options"
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
default: ""
|
|
|
|
- variable: JVM_XX_OPTS
|
|
|
|
label: "JVM -X Options"
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
default: ""
|
|
|
|
|
|
|
|
# Include{containerConfig}
|
|
|
|
|
|
|
|
- variable: service
|
|
|
|
group: "Networking and Services"
|
|
|
|
label: "Configure Service(s)"
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
- variable: main
|
|
|
|
label: "Main Service"
|
|
|
|
description: "The Primary service on which the healthcheck runs, often the webUI"
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
# Include{serviceSelector}
|
|
|
|
- variable: main
|
|
|
|
label: "Main Service Port Configuration"
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
- variable: port
|
|
|
|
label: "Port"
|
|
|
|
description: "This port exposes the container port on the service"
|
|
|
|
schema:
|
|
|
|
type: int
|
|
|
|
default: 25565
|
|
|
|
required: true
|
|
|
|
- variable: advanced
|
|
|
|
label: "Show Advanced settings"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: false
|
|
|
|
show_subquestions_if: true
|
|
|
|
subquestions:
|
|
|
|
- variable: enabled
|
|
|
|
label: "Enable the port"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: true
|
|
|
|
- variable: protocol
|
|
|
|
label: "Port Type"
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
default: "TCP"
|
|
|
|
enum:
|
|
|
|
- value: HTTP
|
|
|
|
description: "HTTP"
|
|
|
|
- value: "HTTPS"
|
|
|
|
description: "HTTPS"
|
|
|
|
- value: TCP
|
|
|
|
description: "TCP"
|
|
|
|
- value: "UDP"
|
|
|
|
description: "UDP"
|
|
|
|
- variable: nodePort
|
|
|
|
label: "Node Port (Optional)"
|
|
|
|
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
|
|
|
|
schema:
|
|
|
|
type: int
|
|
|
|
min: 9000
|
|
|
|
max: 65535
|
|
|
|
- variable: targetPort
|
|
|
|
label: "Target Port"
|
|
|
|
description: "The internal(!) port on the container the Application runs on"
|
|
|
|
schema:
|
|
|
|
type: int
|
|
|
|
default: 25577
|
|
|
|
- variable: rcon
|
|
|
|
label: "RCON Service"
|
|
|
|
description: "RCON service"
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
# Include{serviceSelector}
|
|
|
|
- variable: rcon
|
|
|
|
label: "RCON Service Port Configuration"
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
- variable: port
|
|
|
|
label: "Port"
|
|
|
|
description: "This port exposes the container port on the service"
|
|
|
|
schema:
|
|
|
|
type: int
|
|
|
|
default: 25578
|
|
|
|
required: true
|
|
|
|
- variable: advanced
|
|
|
|
label: "Show Advanced settings"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: false
|
|
|
|
show_subquestions_if: true
|
|
|
|
subquestions:
|
|
|
|
- variable: enabled
|
|
|
|
label: "Enable the port"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: true
|
|
|
|
- variable: protocol
|
|
|
|
label: "Port Type"
|
|
|
|
schema:
|
|
|
|
type: string
|
|
|
|
default: "TCP"
|
|
|
|
enum:
|
|
|
|
- value: HTTP
|
|
|
|
description: "HTTP"
|
|
|
|
- value: "HTTPS"
|
|
|
|
description: "HTTPS"
|
|
|
|
- value: TCP
|
|
|
|
description: "TCP"
|
|
|
|
- value: "UDP"
|
|
|
|
description: "UDP"
|
|
|
|
- variable: nodePort
|
|
|
|
label: "Node Port (Optional)"
|
|
|
|
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
|
|
|
|
schema:
|
|
|
|
type: int
|
|
|
|
min: 9000
|
|
|
|
max: 65535
|
|
|
|
- variable: targetPort
|
|
|
|
label: "Target Port"
|
|
|
|
description: "The internal(!) port on the container the Application runs on"
|
|
|
|
schema:
|
|
|
|
type: int
|
|
|
|
default: 25578
|
|
|
|
|
|
|
|
- variable: serviceexpert
|
|
|
|
group: "Networking and Services"
|
|
|
|
label: "Show Expert Config"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: false
|
|
|
|
show_subquestions_if: true
|
|
|
|
subquestions:
|
|
|
|
- variable: hostNetwork
|
|
|
|
group: "Networking and Services"
|
|
|
|
label: "Host-Networking (Complicated)"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: false
|
|
|
|
|
|
|
|
# Include{serviceExpert}
|
|
|
|
|
|
|
|
# Include{serviceList}
|
|
|
|
|
|
|
|
- variable: persistence
|
|
|
|
label: "Integrated Persistent Storage"
|
|
|
|
description: "Integrated Persistent Storage"
|
|
|
|
group: "Storage and Persistence"
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
- variable: config
|
|
|
|
label: "App Config Storage"
|
|
|
|
description: "Stores the Application Configuration."
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
# Include{persistenceBasic}
|
|
|
|
# Include{persistenceAdvanced}
|
|
|
|
- variable: server
|
|
|
|
label: "App Server Storage"
|
|
|
|
description: "Stores the Application Server."
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
# Include{persistenceBasic}
|
|
|
|
# Include{persistenceAdvanced}
|
|
|
|
- variable: plugins
|
|
|
|
label: "App Plugins Storage"
|
|
|
|
description: "Stores the Application Plugins."
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
# Include{persistenceBasic}
|
|
|
|
# Include{persistenceAdvanced}
|
|
|
|
# Include{persistenceList}
|
|
|
|
|
|
|
|
# Include{ingressList}
|
|
|
|
|
|
|
|
# Include{security}
|
|
|
|
|
|
|
|
- variable: advancedSecurity
|
|
|
|
label: "Show Advanced Security Settings"
|
|
|
|
group: "Security and Permissions"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: false
|
|
|
|
show_subquestions_if: true
|
|
|
|
subquestions:
|
|
|
|
- variable: securityContext
|
|
|
|
label: "Security Context"
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
- variable: privileged
|
|
|
|
label: "Privileged mode"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: false
|
|
|
|
- variable: readOnlyRootFilesystem
|
|
|
|
label: "ReadOnly Root Filesystem"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: false
|
|
|
|
- variable: allowPrivilegeEscalation
|
|
|
|
label: "Allow Privilege Escalation"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: false
|
|
|
|
- variable: runAsNonRoot
|
|
|
|
label: "runAsNonRoot"
|
|
|
|
schema:
|
|
|
|
type: boolean
|
|
|
|
default: false
|
|
|
|
# Include{securityContextAdvanced}
|
|
|
|
|
|
|
|
- variable: podSecurityContext
|
|
|
|
group: "Security and Permissions"
|
|
|
|
label: "Pod Security Context"
|
|
|
|
schema:
|
|
|
|
additional_attrs: true
|
|
|
|
type: dict
|
|
|
|
attrs:
|
|
|
|
- variable: runAsUser
|
|
|
|
label: "runAsUser"
|
|
|
|
description: "The UserID of the user running the application"
|
|
|
|
schema:
|
|
|
|
type: int
|
|
|
|
default: 0
|
|
|
|
- variable: runAsGroup
|
|
|
|
label: "runAsGroup"
|
|
|
|
description: "The groupID this App of the user running the application"
|
|
|
|
schema:
|
|
|
|
type: int
|
|
|
|
default: 0
|
|
|
|
- variable: fsGroup
|
|
|
|
label: "fsGroup"
|
|
|
|
description: "The group that should own ALL storage."
|
|
|
|
schema:
|
|
|
|
type: int
|
|
|
|
default: 568
|
|
|
|
# Include{podSecurityContextAdvanced}
|
|
|
|
|
|
|
|
# Include{resources}
|
|
|
|
|
|
|
|
# Include{advanced}
|
|
|
|
|
|
|
|
# Include{addons}
|