groups: - name: "Container Images" description: "Image to be used for container" - name: "Workload Configuration" description: "Configure Storage for IPFS" - name: "Storage" description: "Configure Storage for IPFS" - name: "IPFS Configuration" description: "Configure Storage for IPFS" - name: "Advanced DNS Settings" description: "Configure DNS settings" portals: web_portal: protocols: - "http" host: - "$node_ip" ports: - "$variable-service.apiPort" path: "/webui" questions: - variable: dnsConfig label: "DNS Configuration" group: "Advanced DNS Settings" schema: type: dict attrs: - variable: options label: "DNS Options" schema: type: list items: - variable: optionsEntry label: "Option Entry Configuration" schema: type: dict attrs: - variable: name label: "Option Name" schema: type: string required: true - variable: value label: "Option Value" schema: type: string required: true - variable: updateStrategy label: "IPFS update strategy" group: "Workload Configuration" 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: environmentVariables label: "IPFS image environment" group: "IPFS Configuration" schema: type: list default: [] items: - variable: environmentVariable label: "Environment Variable" schema: type: dict attrs: - variable: name label: "Name" schema: type: string - variable: value label: "Value" schema: type: string - variable: service description: "IPFS Service Configuration" label: "IPFS Service Configuration" group: "IPFS Configuration" schema: type: dict required: true attrs: - variable: swarmPort label: "Swarm Port to use for IPFS (Public)" schema: type: int min: 9000 max: 65535 default: 9401 required: true - variable: apiPort label: "API Port to use for IPFS (local)" schema: type: int min: 9000 max: 65535 default: 9501 required: true - variable: gatewayPort label: "Gateway Port to use for IPFS (local)" schema: type: int min: 9000 max: 65535 default: 9880 required: true - variable: appVolumeMounts label: "IPFS Storage" group: "Storage" schema: type: dict attrs: - variable: staging label: "Staging Volume" schema: type: dict attrs: - variable: datasetName label: "IPFS Staging Volume Dataset Name" schema: type: string hidden: true $ref: - "normalize/ixVolume" show_if: [["hostPathEnabled", "=", false]] default: "ix-ipfs-staging" editable: false - variable: mountPath label: "IPFS Staging Mount Path" description: "Path where the volume will be mounted inside the pod" schema: type: path hidden: true editable: false default: "/export" - variable: hostPathEnabled label: "Enable Host Path for IPFS Staging Volume" schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: hostPath label: "Host Path for IPFS Staging Volume" schema: type: hostpath required: true - variable: data label: "Data Volume" schema: type: dict attrs: - variable: datasetName label: "IPFS Data Volume Name" schema: type: string hidden: true $ref: - "normalize/ixVolume" show_if: [["hostPathEnabled", "=", false]] default: "ix-ipfs-data" editable: false - variable: mountPath label: "IPFS Data Mount Path" description: "Path where the volume will be mounted inside the pod" schema: type: path hidden: true editable: false default: "/data/ipfs" - variable: hostPathEnabled label: "Enable Host Path for IPFS Data Volume" schema: type: boolean default: false show_subquestions_if: true subquestions: - variable: hostPath label: "Host Path for IPFS Data Volume" schema: type: hostpath required: true