# Include{groups} portals: {} questions: # Include{global} - 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: "RollingUpdate" 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: secret group: "Container Configuration" label: "Image Secrets" schema: additional_attrs: true type: dict attrs: - variable: LEAF_USERNAME label: "LEAF_USERNAME" description: "Your NissanConnect username" schema: type: string default: "leafuser" required: true - variable: LEAF_PASSWORD label: "LEAF_PASSWORD" description: "Your NissanConnect password" schema: type: string default: "changeme" required: true - variable: MQTT_USERNAME label: "MQTT_USERNAME" description: "Your MQTT username" schema: type: string default: "mqttuser" required: true - variable: MQTT_PASSWORD label: "MQTT_PASSWORD" description: "Your MQTT password" schema: type: string default: "changeme" required: true - variable: env group: "Container Configuration" label: "Image Environment" schema: additional_attrs: true type: dict attrs: # Include{fixedEnv} - variable: LEAF_TYPE label: "LEAF_TYPE" schema: type: string default: "" required: true - variable: MQTT_HOST label: "MQTT_HOST" schema: type: string default: "" required: true - variable: MQTT_PORT label: "MQTT_PORT" schema: type: int default: 1883 - variable: MQTT_BASE_TOPIC label: "MQTT_BASE_TOPIC" schema: type: string default: "leaf" - variable: UPDATE_INTERVAL_MINUTES label: "UPDATE_INTERVAL_MINUTES" schema: type: int default: 60 - variable: CHARGING_UPDATE_INTERVAL_MINUTES label: "CHARGING_UPDATE_INTERVAL_MINUTES" schema: type: int default: 60 - variable: LOG_LEVEL label: "LOG_LEVEL" schema: type: string default: "Warning" # Include{containerConfig} - 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} # Include{persistenceList} # Include{ingressList} - 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}