description:"The URL of the frontend, used to send password reset emails. eg. https://vikunjka.example.com"
schema:
type:string
required:true
default:""
- variable:VIKUNJA_SERVICE_MOTD
label:"VIKUNJA_SERVICE_MOTD"
description:"Set the motd message, available from the /info endpoint"
schema:
type:string
default:""
- variable:VIKUNJA_SERVICE_JWTTTL
label:"VIKUNJA_SERVICE_JWTTTL"
description:"The duration of the issed JWT tokens in seconds. The default is 259200 seconds (3 Days)."
schema:
type:int
required:true
default:259200
- variable:VIKUNJA_SERVICE_JWTTTLLONG
label:"VIKUNJA_SERVICE_JWTTTLLONG"
description:"The duration of the “remember me” time in seconds. When the login request is made with the long param set, the token returned will be valid for this period. The default is 2592000 seconds (30 Days)."
schema:
type:int
required:true
default:2592000
- variable:VIKUNJA_SERVICE_MAXITEMSPERPAGE
label:"VIKUNJA_SERVICE_MAXITEMSPERPAGE"
description:"The max number of items which can be returned per page."
schema:
type:int
required:true
default:50
- variable:VIKUNJA_FILES_MAXSIZE
label:"VIKUNJA_FILES_MAXSIZE"
description:"The maximum size of a file, as a human-readable string. Warning: The max size is limited 2^64-1 bytes due to the underlying datatype"
schema:
type:string
required:true
default:"20MB"
- variable:VIKUNJA_SERVICE_ENABLECALDAV
label:"VIKUNJA_SERVICE_ENABLECALDAV"
description:"Enable the caldav endpoint, see the docs for more details"
schema:
type:boolean
default:true
- variable:VIKUNJA_SERVICE_ENABLELINKSHARING
label:"VIKUNJA_SERVICE_ENABLELINKSHARING"
description:"Enable sharing of lists via a link"
schema:
type:boolean
default:true
- variable:VIKUNJA_SERVICE_ENABLEREGISTRATION
label:"VIKUNJA_SERVICE_ENABLEREGISTRATION"
description:"Whether to let new users registering themselves or not"
schema:
type:boolean
default:true
- variable:VIKUNJA_SERVICE_ENABLETASKATTACHMENTS
label:"VIKUNJA_SERVICE_ENABLETASKATTACHMENTS"
description:"Whether to enable task attachments or not"
schema:
type:boolean
default:true
- variable:VIKUNJA_SERVICE_ENABLETASKCOMMENTS
label:"VIKUNJA_SERVICE_ENABLETASKCOMMENTS"
description:"Whether task comments should be enabled or not"
schema:
type:boolean
default:true
- variable:VIKUNJA_SERVICE_ENABLETOTP
label:"VIKUNJA_SERVICE_ENABLETOTP"
description:"Whether totp is enabled. In most cases you want to leave that enabled."
schema:
type:boolean
default:true
- variable:VIKUNJA_SERVICE_ENABLEEMAILREMINDERS
label:"VIKUNJA_SERVICE_ENABLEEMAILREMINDERS"
description:"If enabled, vikunja will send an email to everyone who is either assigned to a task or created it when a task reminder is due."
schema:
type:boolean
default:true
- variable:VIKUNJA_SERVICE_ENABLEUSERDELETION
label:"VIKUNJA_SERVICE_ENABLEUSERDELETION"
description:"If true, will allow users to request the complete deletion of their account. When using external authentication methods it may be required to coordinate with them in order to delete the account. This setting will not affect the cli commands for user deletion."
schema:
type:boolean
default:true
- variable:VIKUNJA_BACKGROUNDS_ENABLED
label:"VIKUNJA_BACKGROUNDS_ENABLED"
description:"Whether to enable backgrounds for lists at all."
schema:
type:boolean
default:true
- variable:VIKUNJA_RATELIMIT_ENABLED
label:"VIKUNJA_RATELIMIT_ENABLED"
description:"Whether or not to enable the rate limit"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:VIKUNJA_RATELIMIT_KIND
label:"VIKUNJA_RATELIMIT_KIND"
description:"The kind on which rates are based. Can be either “user” for a rate limit per user or “ip” for an ip-based rate limit."
schema:
type:string
required:true
default:"user"
enum:
- value:user
description:"user"
- value:ip
description:"ip"
- variable:VIKUNJA_RATELIMIT_PERIOD
label:"VIKUNJA_RATELIMIT_PERIOD"
description:"The time period in seconds for the limit"
schema:
type:int
required:true
default:60
- variable:VIKUNJA_RATELIMIT_LIMIT
label:"VIKUNJA_RATELIMIT_LIMIT"
description:"The max number of requests a user is allowed to do in the configured time period"
schema:
type:int
required:true
default:100
- variable:VIKUNJA_MAILER_ENABLED
label:"VIKUNJA_MAILER_ENABLED"
description:"Whether to enable the mailer or not. If it is disabled, all users are enabled right away and password reset is not possible."
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:VIKUNJA_MAILER_HOST
label:"VIKUNJA_MAILER_HOST"
description:"SMTP Host"
schema:
type:string
required:true
default:""
- variable:VIKUNJA_MAILER_PORT
label:"VIKUNJA_MAILER_PORT"
description:"SMTP Host Port"
schema:
type:int
required:true
default:587
- variable:VIKUNJA_MAILER_USERNAME
label:"VIKUNJA_MAILER_USERNAME"
description:"SMTP username"
schema:
type:string
default:""
- variable:VIKUNJA_MAILER_PASSWORD
label:"VIKUNJA_MAILER_PASSWORD"
description:"SMTP password"
schema:
type:string
private:true
default:""
- variable:VIKUNJA_MAILER_FROMEMAIL
label:"VIKUNJA_MAILER_FROMEMAIL"
description:"The default from address when sending emails"
schema:
type:string
required:true
default:""
- variable:VIKUNJA_MAILER_SKIPTLSVERIFY
label:"VIKUNJA_MAILER_SKIPTLSVERIFY"
description:"Wether to skip verification of the tls certificate on the server"
schema:
type:boolean
default:false
- variable:VIKUNJA_MAILER_FORCESSL
label:"VIKUNJA_MAILER_FORCESSL"
description:"By default, vikunja will try to connect with starttls, use this option to force it to use ssl."
schema:
type:boolean
default:false
- variable:VIKUNJA_MAILER_QUEUELENGTH
label:"VIKUNJA_MAILER_QUEUELENGTH"
description:"The length of the mail queue."
schema:
type:int
required:true
default:100
- variable:VIKUNJA_MAILER_QUEUETIMEOUT
label:"VIKUNJA_MAILER_QUEUETIMEOUT"
description:"The timeout in seconds after which the current open connection to the mailserver will be closed."
schema:
type:int
required:true
default:30
- variable:TZ
label:"Timezone"
group:"Container Configuration"
schema:
type:string
default:"Etc/UTC"
$ref:
- "definitions/timezone"
- variable:envList
label:"Image environment"
group:"Container Configuration"
schema:
type:list
default:[]
items:
- variable:envItem
label:"Environment Variable"
schema:
additional_attrs:true
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:expertpodconf
group:"Container Configuration"
label:"Show Expert Config"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:tty
label:"Enable TTY"
description:"Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled."
group:"Workload Details"
schema:
type:boolean
default:false
- variable:stdin
label:"Enable STDIN"
description:"Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled."
group:"Workload Details"
schema:
type:boolean
default:false
- variable:termination
group:"Container Configuration"
label:"Termination settings"
schema:
additional_attrs:true
type:dict
attrs:
- variable:gracePeriodSeconds
label:"Grace Period Seconds"
schema:
type:int
default:10
- variable:podLabelsList
group:"Container Configuration"
label:"Pod Labels"
schema:
type:list
default:[]
items:
- variable:podLabelItem
label:"Label"
schema:
additional_attrs:true
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:podAnnotationsList
group:"Container Configuration"
label:"Pod Annotations"
schema:
type:list
default:[]
items:
- variable:podAnnotationItem
label:"Label"
schema:
additional_attrs:true
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- 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:
- variable:enabled
label:"Enable the service"
schema:
type:boolean
default:true
hidden:true
- variable:type
label:"Service Type"
description:"ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
schema:
type:string
default:"Simple"
enum:
- value:"Simple"
description:"Simple"
- value:"ClusterIP"
description:"ClusterIP"
- value:"NodePort"
description:"NodePort (Advanced)"
- value:"LoadBalancer"
description:"LoadBalancer (Advanced)"
- variable:loadBalancerIP
label:"LoadBalancer IP"
description:"LoadBalancerIP"
schema:
show_if:[["type","=","LoadBalancer"]]
type:string
default:""
- variable:externalIPs
label:"External IP's"
description:"External IP's"
schema:
show_if:[["type","=","LoadBalancer"]]
type:list
default:[]
items:
- variable:externalIP
label:"External IP"
schema:
type:string
- variable:ipFamilyPolicy
label:"IP Family Policy"
description:"(Advanced) Specify the ip policy"
schema:
show_if:[["type","!=","Simple"]]
type:string
default:"SingleStack"
enum:
- value:"SingleStack"
description:"SingleStack"
- value:"PreferDualStack"
description:"PreferDualStack"
- value:"RequireDualStack"
description:"RequireDualStack"
- variable:ipFamilies
label:"(advanced) IP families"
description:"(advanced) The ip families that should be used"
schema:
show_if:[["type","!=","Simple"]]
type:list
default:[]
items:
- variable:ipFamily
label:"IP family"
schema:
type:string
- variable:ports
label:"Service's Port(s) Configuration"
schema:
additional_attrs:true
type:dict
attrs:
- 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:10220
required:true
- variable:advanced
label:"Show Advanced settings"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:protocol
label:"Port Type"
schema:
type:string
default:"HTTP"
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:80
- 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
- variable:externalInterfaces
description:"Add External Interfaces"
label:"Add external Interfaces"
group:"Networking"
schema:
type:list
items:
- variable:interfaceConfiguration
description:"Interface Configuration"
label:"Interface Configuration"
schema:
type:dict
$ref:
- "normalize/interfaceConfiguration"
attrs:
- variable:hostInterface
description:"Please specify host interface"
label:"Host Interface"
schema:
type:string
required:true
$ref:
- "definitions/interface"
- variable:ipam
description:"Define how IP Address will be managed"
label:"IP Address Management"
schema:
type:dict
required:true
attrs:
- variable:type
description:"Specify type for IPAM"
label:"IPAM Type"
schema:
type:string
required:true
enum:
- value:"dhcp"
description:"Use DHCP"
- value:"static"
description:"Use static IP"
show_subquestions_if:"static"
subquestions:
- variable:staticIPConfigurations
label:"Static IP Addresses"
schema:
type:list
items:
- variable:staticIP
label:"Static IP"
schema:
type:ipaddr
cidr:true
- variable:staticRoutes
label:"Static Routes"
schema:
type:list
items:
- variable:staticRouteConfiguration
label:"Static Route Configuration"
schema:
additional_attrs:true
type:dict
attrs:
- variable:destination
label:"Destination"
schema:
type:ipaddr
cidr:true
required:true
- variable:gateway
label:"Gateway"
schema:
type:ipaddr
cidr:false
required:true
- variable:dnsPolicy
group:"Networking and Services"
label:"dnsPolicy"
schema:
type:string
default:""
enum:
- value:""
description:"Default"
- value:"ClusterFirst"
description:"ClusterFirst"
- value:"ClusterFirstWithHostNet"
description:"ClusterFirstWithHostNet"
- value:"None"
description:"None"
- variable:dnsConfig
label:"DNS Configuration"
group:"Networking and Services"
description:"Specify custom DNS configuration which will be applied to the pod"
schema:
additional_attrs:true
type:dict
attrs:
- variable:nameservers
label:"Nameservers"
schema:
default:[]
type:list
items:
- variable:nameserver
label:"Nameserver"
schema:
type:string
- variable:options
label:"options"
schema:
default:[]
type:list
items:
- variable:option
label:"Option Entry"
schema:
additional_attrs:true
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:searches
label:"Searches"
schema:
default:[]
type:list
items:
- variable:search
label:"Search Entry"
schema:
type:string
- variable:serviceList
label:"Add Manual Custom Services"
group:"Networking and Services"
schema:
type:list
default:[]
items:
- variable:serviceListEntry
label:"Custom Service"
schema:
additional_attrs:true
type:dict
attrs:
- variable:enabled
label:"Enable the service"
schema:
type:boolean
default:true
hidden:true
- variable:name
label:"Name"
schema:
type:string
default:""
- variable:type
label:"Service Type"
description:"ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
schema:
type:string
default:"Simple"
enum:
- value:"Simple"
description:"Simple"
- value:"NodePort"
description:"NodePort"
- value:"ClusterIP"
description:"ClusterIP"
- value:"LoadBalancer"
description:"LoadBalancer"
- variable:loadBalancerIP
label:"LoadBalancer IP"
description:"LoadBalancerIP"
schema:
show_if:[["type","=","LoadBalancer"]]
type:string
default:""
- variable:externalIPs
label:"External IP's"
description:"External IP's"
schema:
show_if:[["type","=","LoadBalancer"]]
type:list
default:[]
items:
- variable:externalIP
label:"External IP"
schema:
type:string
- variable:portsList
label:"Additional Service Ports"
schema:
type:list
default:[]
items:
- variable:portsListEntry
label:"Custom ports"
schema:
additional_attrs:true
type:dict
attrs:
- variable:enabled
label:"Enable the port"
schema:
type:boolean
default:true
hidden:true
- variable:name
label:"Port Name"
schema:
type:string
default:""
- 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:targetPort
label:"Target Port"
description:"This port exposes the container port on the service"
schema:
type:int
required:true
- variable:port
label:"Container Port"
schema:
type:int
required:true
- variable:nodePort
label:"Node Port (Optional)"
description:"This port gets exposed to the node. Only considered when service type is NodePort"
schema:
type:int
min:9000
max:65535
- variable:persistence
label:"Integrated Persistent Storage"
description:"Integrated Persistent Storage"
group:"Storage and Persistence"
schema:
additional_attrs:true
type:dict
attrs:
- variable:files
label:"App Files Storage"
description:"Stores the Application Files."
schema:
additional_attrs:true
type:dict
attrs:
- variable:type
label:"Type of Storage"
description:"Sets the persistence type, Anything other than PVC could break rollback!"
schema:
type:string
default:"simplePVC"
enum:
- value:"simplePVC"
description:"PVC (simple)"
- value:"simpleHP"
description:"HostPath (simple)"
- value:"emptyDir"
description:"emptyDir"
- value:"pvc"
description:"pvc"
- value:"hostPath"
description:"hostPath"
- variable:setPermissionsSimple
label:"Automatic Permissions"
description:"Automatically set permissions on install"
schema:
show_if:[["type","=","simpleHP"]]
type:boolean
default:true
- variable:setPermissions
label:"Automatic Permissions"
description:"Automatically set permissions on install"
schema:
show_if:[["type","=","hostPath"]]
type:boolean
default:true
- variable:readOnly
label:"readOnly"
schema:
type:boolean
default:false
- variable:hostPathSimple
label:"hostPath"
description:"Path inside the container the storage is mounted"
schema:
show_if:[["type","=","simpleHP"]]
type:hostpath
- variable:hostPath
label:"hostPath"
description:"Path inside the container the storage is mounted"
schema:
show_if:[["type","=","hostPath"]]
type:hostpath
- variable:medium
label:"EmptyDir Medium"
schema:
show_if:[["type","=","emptyDir"]]
type:string
default:""
enum:
- value:""
description:"Default"
- value:"Memory"
description:"Memory"
- variable:size
label:"Size quotum of storage"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"999Gi"
- variable:hostPathType
label:"(Advanced) hostPath Type"
schema:
show_if:[["type","=","hostPath"]]
type:string
default:""
enum:
- value:""
description:"Default"
- value:"DirectoryOrCreate"
description:"DirectoryOrCreate"
- value:"Directory"
description:"Directory"
- value:"FileOrCreate"
description:"FileOrCreate"
- value:"File"
description:"File"
- value:"Socket"
description:"Socket"
- value:"CharDevice"
description:"CharDevice"
- value:"BlockDevice"
description:"BlockDevice"
- variable:storageClass
label:"(Advanced) storageClass"
description:"Warning: Anything other than SCALE-ZFS or empty will break rollback!"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"SCALE-ZFS"
- variable:accessMode
label:"(Advanced) Access Mode"
description:"Allow or disallow multiple PVC's writhing to the same PV"
schema:
show_if:[["type","=","pvc"]]
type:string
default:"ReadWriteOnce"
enum:
- value:"ReadWriteOnce"
description:"ReadWriteOnce"
- value:"ReadOnlyMany"
description:"ReadOnlyMany"
- value:"ReadWriteMany"
description:"ReadWriteMany"
- variable:advanced
label:"Show Advanced Options"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:labelsList
label:"Labels"
schema:
type:list
default:[]
items:
- variable:labelItem
label:"Label"
schema:
additional_attrs:true
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:annotationsList
label:"Annotations"
schema:
type:list
default:[]
items:
- variable:annotationItem
label:"Label"
schema:
additional_attrs:true
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
- variable:value
label:"Value"
schema:
type:string
- variable:persistenceList
label:"Additional app storage"
group:"Storage and Persistence"
schema:
type:list
default:[]
items:
- variable:persistenceListEntry
label:"Custom Storage"
schema:
additional_attrs:true
type:dict
attrs:
- variable:enabled
label:"Enable the storage"
schema:
type:boolean
default:true
hidden:true
- variable:name
label:"Name (optional)"
description:"Not required, please set to config when mounting /config or temp when mounting /tmp"
schema:
type:string
- variable:type
label:"Type of Storage"
description:"Sets the persistence type, Anything other than PVC could break rollback!"
schema:
type:string
default:"simpleHP"
enum:
- value:"simplePVC"
description:"PVC (simple)"
- value:"simpleHP"
description:"HostPath (simple)"
- value:"emptyDir"
description:"emptyDir"
- value:"pvc"
description:"pvc"
- value:"hostPath"
description:"hostPath"
- variable:setPermissionsSimple
label:"Automatic Permissions"
description:"Automatically set permissions on install"
schema:
show_if:[["type","=","simpleHP"]]
type:boolean
default:true
- variable:setPermissions
label:"Automatic Permissions"
description:"Automatically set permissions on install"
schema:
show_if:[["type","=","hostPath"]]
type:boolean
default:true
- variable:readOnly
label:"readOnly"
schema:
type:boolean
default:false
- variable:hostPathSimple
label:"hostPath"
description:"Path inside the container the storage is mounted"
schema:
show_if:[["type","=","simpleHP"]]
type:hostpath
- variable:hostPath
label:"hostPath"
description:"Path inside the container the storage is mounted"
schema:
show_if:[["type","=","hostPath"]]
type:hostpath
- variable:mountPath
label:"mountPath"
description:"Path inside the container the storage is mounted"
description:"list of killswitch excluded ipv4 addresses"
schema:
type:list
show_if:[["type","!=","disabled"]]
default:[]
items:
- variable:networkv4
label:"IPv4 Network"
schema:
type:string
required:true
- variable:excludedNetworks_IPv6
label:"Killswitch Excluded IPv6 networks"
description:"list of killswitch excluded ipv4 addresses"
schema:
type:list
show_if:[["type","!=","disabled"]]
default:[]
items:
- variable:networkv6
label:"IPv6 Network"
schema:
type:string
required:true
- variable:configFile
label:"VPN Config File Location"
schema:
type:dict
show_if:[["type","!=","disabled"]]
attrs:
- variable:enabled
label:"enabled"
schema:
type:boolean
default:true
hidden:true
- variable:type
label:"type"
schema:
type:string
default:"hostPath"
hidden:true
- variable:hostPathType
label:"hostPathType"
schema:
type:string
default:"File"
hidden:true
- variable:noMount
label:"noMount"
schema:
type:boolean
default:true
hidden:true
- variable:hostPath
label:"Full path to file"
description:"path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn"
schema:
type:string
default:""
required:true
- variable:envList
label:"VPN environment Variables"
schema:
type:list
show_if:[["type","!=","disabled"]]
default:[]
items:
- variable:envItem
label:"Environment Variable"
schema:
additional_attrs:true
type:dict
attrs:
- variable:name
label:"Name"
schema:
type:string
required:true
- variable:value
label:"Value"
schema:
type:string
required:true
- variable:codeserver
label:"Codeserver"
schema:
additional_attrs:true
type:dict
attrs:
- variable:enabled
label:"enabled"
schema:
type:boolean
default:false
show_subquestions_if:true
subquestions:
- variable:git
label:"Git Settings"
schema:
additional_attrs:true
type:dict
attrs:
- variable:deployKey
description:"Raw SSH private key"
label:"deployKey"
schema:
type:string
- variable:deployKeyBase64
description:"Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence"
label:"deployKeyBase64"
schema:
type:string
- variable:service
label:""
schema:
additional_attrs:true
type:dict
attrs:
- variable:type
label:"Service Type"
description:"ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"