{ "$schema": "https://json-schema.org/draft-07/schema#", "type": "object", "properties": { "secrets": { "type": "object", "properties": { "cookieHash": { "type": ["string", "null"], "description": "Cookie hash secret, generated if not present" }, "cookieHashKey": { "type": ["string", "null"], "description": "Key used within secret for cookieHash" }, "cookieEncryption": { "type": ["string", "null"], "description": "Cookie encryption secret, generated if not present" }, "cookieEncryptionKey": { "type": "string", "description": "Key used within secret for cookieEncryption" }, "accesskeyEncryption": { "type": ["string", "null"], "description": "Access key encryption secret, generated if not present" }, "accesskeyEncryptionKey": { "type": "string", "description": "Key used within secret for accesskeyEncryption" }, "existingSecret": { "type": ["string", "null"], "description": "Existing secret to use for secrets" } } }, "general": { "type": "object", "properties": { "host": { "type": ["string", "null"], "description": "Host to access Semaphore" }, "gitClient": { "type": "string", "enum": ["cmd_git", "go_git"], "description": "Use Git client implementation" }, "tmpPath": { "type": "string", "description": "Working directory for Semaphore" }, "maxParallelTasks": { "type": "integer", "description": "Maximum parallel tasks", "minimum": 0 }, "passwordLoginDisable": { "type": "boolean", "description": "Disable password login" }, "nonAdminCanCreateProject": { "type": "boolean", "description": "Allow non-admins to create projects" }, "useRemoteRunner": { "type": "boolean", "description": "Enable usage of remote runners" }, "sshConfigPath": { "type": ["string", "null"], "description": "Path to SSH config" }, "additionalPythonPackages": { "type": "array", "items": { "type": "string" }, "description": "Additional Python packages" } } }, "database": { "type": "object", "properties": { "type": { "type": "string", "enum": ["bolt", "mysql", "postgres"], "description": "Type of database backend" }, "usernameFromSecret": { "type": "boolean", "description": "Read username from secret" }, "username": { "type": "string", "description": "Username for database" }, "usernameKey": { "type": "string", "description": "Key used within secret for username" }, "password": { "type": ["string", "null"], "description": "Password for database" }, "passwordKey": { "type": "string", "description": "Key used within secret for password" }, "existingSecret": { "type": ["string", "null"], "description": "Existing secret to use for credentials" }, "host": { "type": ["string", "null"], "description": "Host for database connection" }, "port": { "type": ["integer", "null"], "description": "Port for database connection" }, "name": { "type": "string", "description": "Name of the used database" }, "options": { "type": "object", "description": "Options for database connection" }, "path": { "type": "string", "description": "Path for the boltdb" }, "persistence": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable persistence for boltdb" }, "size": { "type": "string", "description": "Size for boltdb volume" }, "storageClass": { "type": ["string", "null"], "description": "Storage class used for boltdb volume" }, "accessModes": { "type": "array", "items": { "type": "string", "enum": ["ReadWriteOnce", "ReadOnlyMany", "ReadWriteMany"] }, "description": "Access modes used for boltdb volume" }, "existingClaim": { "type": ["string", "null"], "description": "Name of an already existing claim" } } } } }, "customCertificates": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable appending custom CA bundle into ca-certificates.crt for outbound TLS" }, "existingSecret": { "type": ["string", "null"], "description": "Existing secret containing the CA bundle" }, "existingConfigMap": { "type": ["string", "null"], "description": "Existing configmap containing the CA bundle" }, "key": { "type": "string", "description": "Key in secret/configmap that holds the CA bundle" }, "mountPath": { "type": "string", "description": "Path where the combined CA bundle is mounted" } } } } }