Files
aptly-containerized/charts/aptly/values.schema.json
f.weber 1675ea9a4e
CI / lint (push) Failing after 2s
CI / smoke-test (push) Failing after 9s
Release chart / release (release) Successful in 12s
Enhance Helm chart with ServiceAccount support and configurable ports
- Updated Chart.yaml to version 0.2.0 and added annotations for changes.
- Modified release-chart.yaml to trigger releases via Gitea and handle pre-releases.
- Introduced ServiceAccount configuration in values.yaml and related templates.
- Adjusted internal container ports to prevent conflicts between nginx and aptly.
- Updated README.md and NOTES.txt to reflect new configurations and usage instructions.
2026-08-13 12:12:30 +02:00

441 lines
15 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "aptly",
"type": "object",
"additionalProperties": false,
"properties": {
"nameOverride": { "type": "string" },
"fullnameOverride": { "type": "string" },
"image": {
"type": "object",
"additionalProperties": false,
"properties": {
"repository": { "type": "string" },
"tag": { "type": "string" },
"pullPolicy": { "type": "string", "enum": ["Always", "IfNotPresent", "Never"] },
"pullSecrets": { "type": "array" }
}
},
"nginx": {
"type": "object",
"additionalProperties": false,
"properties": {
"image": {
"type": "object",
"additionalProperties": false,
"properties": {
"repository": { "type": "string" },
"tag": { "type": "string" },
"pullPolicy": { "type": "string", "enum": ["Always", "IfNotPresent", "Never"] }
}
},
"resources": { "type": "object" },
"securityContext": { "type": "object" }
}
},
"aptly": {
"type": "object",
"additionalProperties": false,
"properties": {
"architectures": { "type": "array", "items": { "type": "string" } },
"logLevel": { "type": "string", "enum": ["debug", "info", "warn", "error"] },
"logFormat": { "type": "string", "enum": ["default", "json"] },
"download": {
"type": "object",
"additionalProperties": false,
"properties": {
"concurrency": { "type": "integer", "minimum": 1 },
"limit": { "type": "integer", "minimum": 0 },
"retries": { "type": "integer", "minimum": 0 },
"sourcePackages": { "type": "boolean" }
}
},
"publishing": {
"type": "object",
"additionalProperties": false,
"properties": {
"skipContents": { "type": "boolean" },
"skipBz2": { "type": "boolean" }
}
},
"metrics": {
"type": "object",
"additionalProperties": false,
"properties": { "enabled": { "type": "boolean" } }
},
"swagger": {
"type": "object",
"additionalProperties": false,
"properties": { "enabled": { "type": "boolean" } }
},
"gpg": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"verify": { "type": "boolean" },
"provider": { "type": "string", "enum": ["gpg", "internal"] },
"signingKey": {
"type": "object",
"additionalProperties": false,
"properties": {
"existingSecret": { "type": "string" },
"privateKey": { "type": "string" },
"passphrase": { "type": "string" }
}
},
"publishPublicKey": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"path": { "type": "string" }
}
}
}
},
"gpgKeys": {
"type": "array",
"items": {
"type": "object",
"required": ["name", "armored"],
"properties": {
"name": { "type": "string" },
"armored": { "type": "string" }
}
}
},
"localRepos": {
"type": "array",
"items": {
"type": "object",
"required": ["name"],
"properties": {
"name": { "type": "string" },
"comment": { "type": "string" },
"defaultDistribution": { "type": "string" },
"defaultComponent": { "type": "string" }
}
}
},
"mirrors": {
"type": "array",
"items": {
"type": "object",
"required": ["name", "archiveURL", "distribution"],
"properties": {
"name": { "type": "string" },
"archiveURL": { "type": "string" },
"distribution": { "type": "string" },
"components": { "type": "array", "items": { "type": "string" } },
"architectures": { "type": "array", "items": { "type": "string" } },
"filter": { "type": "string" },
"filterWithDeps": { "type": "boolean" },
"downloadSources": { "type": "boolean" },
"downloadUdebs": { "type": "boolean" },
"downloadInstaller": { "type": "boolean" },
"downloadAppStream": { "type": "boolean" },
"ignoreSignatures": { "type": "boolean" },
"keyrings": { "type": "array", "items": { "type": "string" } }
}
}
},
"publish": {
"type": "array",
"items": {
"type": "object",
"required": ["name", "distribution"],
"properties": {
"name": { "type": "string" },
"prefix": { "type": "string" },
"distribution": { "type": "string" },
"sourceKind": { "type": "string", "enum": ["local", "snapshot"] },
"sources": {
"type": "array",
"items": {
"type": "object",
"required": ["name", "component"],
"properties": {
"name": { "type": "string" },
"component": { "type": "string" }
}
}
},
"architectures": { "type": "array", "items": { "type": "string" } },
"acquireByHash": { "type": "boolean" },
"skipContents": { "type": "boolean" },
"skipBz2": { "type": "boolean" }
}
}
},
"configOverrides": { "type": "object", "additionalProperties": true },
"existingSecretEnv": { "type": "array", "items": { "type": "string" } }
}
},
"security": {
"type": "object",
"additionalProperties": false,
"properties": {
"preset": { "type": "string", "enum": ["open", "publicRead", "authenticated", "readOnly"] },
"auth": {
"type": "object",
"additionalProperties": false,
"properties": {
"users": { "type": "object", "additionalProperties": { "type": "string" } },
"existingSecret": { "type": "string" },
"internalUser": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"username": { "type": "string" }
}
}
}
},
"trustedProxies": { "type": "array", "items": { "type": "string" } },
"read": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"requireAuth": { "type": ["boolean", "null"] },
"allowCIDRs": { "type": "array", "items": { "type": "string" } }
}
},
"write": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"requireAuth": { "type": ["boolean", "null"] },
"allowCIDRs": { "type": "array", "items": { "type": "string" } },
"inClusterOnly": { "type": "boolean" }
}
}
}
},
"proxy": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"compatPaths": { "type": "boolean" },
"maxUploadSize": { "type": "string" },
"readTimeout": { "type": "string" },
"publishEndpointName": { "type": "string" }
}
},
"ports": {
"type": "object",
"additionalProperties": false,
"properties": {
"aptly": { "type": "integer" },
"nginx": { "type": "integer" },
"metrics": { "type": "integer" }
}
},
"persistence": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"existingClaim": { "type": "string" },
"storageClass": { "type": "string" },
"accessMode": { "type": "string", "enum": ["ReadWriteOnce", "ReadWriteOncePod"] },
"size": { "type": "string" },
"annotations": { "type": "object" }
}
},
"workload": {
"type": "object",
"additionalProperties": false,
"properties": {
"updateStrategy": {
"type": "object",
"additionalProperties": false,
"properties": { "type": { "type": "string", "enum": ["RollingUpdate", "OnDelete"] } }
},
"podManagementPolicy": { "type": "string", "enum": ["OrderedReady", "Parallel"] },
"revisionHistoryLimit": { "type": "integer", "minimum": 0 },
"terminationGracePeriodSeconds": { "type": "integer", "minimum": 0 },
"annotations": { "type": "object" },
"podAnnotations": { "type": "object" },
"podLabels": { "type": "object" }
}
},
"serviceAccount": {
"type": "object",
"additionalProperties": false,
"properties": {
"create": { "type": "boolean" },
"name": { "type": "string" },
"annotations": { "type": "object" },
"automountServiceAccountToken": { "type": "boolean" }
}
},
"podSecurityContext": { "type": "object" },
"containerSecurityContext": { "type": "object" },
"resources": { "type": "object" },
"probes": {
"type": "object",
"additionalProperties": false,
"properties": {
"startup": { "type": "object" },
"readiness": { "type": "object" },
"liveness": { "type": "object" }
}
},
"service": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": { "type": "string", "enum": ["ClusterIP", "NodePort", "LoadBalancer"] },
"port": { "type": "integer" },
"annotations": { "type": "object" }
}
},
"ingress": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"mode": { "type": "string", "enum": ["single", "split"] },
"className": { "type": "string" },
"annotations": { "type": "object", "additionalProperties": true },
"repo": {
"type": "object",
"additionalProperties": false,
"properties": {
"host": { "type": "string" },
"path": { "type": "string" },
"pathType": { "type": "string", "enum": ["Prefix", "Exact", "ImplementationSpecific"] },
"tls": { "type": "array" }
}
},
"api": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"host": { "type": "string" },
"className": { "type": "string" },
"annotations": { "type": "object", "additionalProperties": true },
"tls": { "type": "array" }
}
}
}
},
"gateway": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"apiVersion": { "type": "string" },
"mode": { "type": "string", "enum": ["single", "split"] },
"parentRefs": { "type": "array" },
"repo": {
"type": "object",
"additionalProperties": false,
"properties": {
"hostnames": { "type": "array", "items": { "type": "string" } },
"path": { "type": "string" },
"pathType": { "type": "string", "enum": ["PathPrefix", "Exact", "RegularExpression"] }
}
},
"api": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"hostnames": { "type": "array", "items": { "type": "string" } },
"parentRefs": { "type": "array" }
}
}
}
},
"metrics": {
"type": "object",
"additionalProperties": false,
"properties": {
"service": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"port": { "type": "integer" },
"annotations": { "type": "object" }
}
},
"serviceMonitor": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"interval": { "type": "string" },
"labels": { "type": "object" },
"relabelings": { "type": "array" }
}
}
}
},
"reconcile": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"mode": { "type": "string", "enum": ["hook", "job", "manual"] },
"failOnError": { "type": "boolean" },
"timeoutSeconds": { "type": "integer", "minimum": 1 },
"image": { "type": "object" },
"resources": { "type": "object" }
}
},
"podDisruptionBudget": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"maxUnavailable": { "type": "integer", "minimum": 0 }
}
},
"networkPolicy": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": { "type": "boolean" },
"allowedNamespaces": { "type": "array", "items": { "type": "string" } },
"extraIngress": { "type": "array" },
"egress": {
"type": "object",
"additionalProperties": false,
"properties": {
"allowAll": { "type": "boolean" },
"extra": { "type": "array" }
}
}
}
},
"extraEnv": { "type": "array" },
"extraEnvFrom": { "type": "array" },
"extraVolumes": { "type": "array" },
"extraVolumeMounts": { "type": "array" },
"extraInitContainers": { "type": "array" },
"extraContainers": { "type": "array" },
"nodeSelector": { "type": "object" },
"tolerations": { "type": "array" },
"affinity": { "type": "object" },
"topologySpreadConstraints": { "type": "array" },
"priorityClassName": { "type": "string" },
"global": {
"type": "object",
"additionalProperties": false,
"properties": {
"imageRegistry": { "type": "string" },
"imagePullSecrets": { "type": "array" },
"defaultStorageClass": { "type": "string" }
}
}
}
}