2026-01-08 09:55:37 +00:00
|
|
|
# Extension Registry Configuration - Multi-Backend Example
|
|
|
|
|
# This example demonstrates the new multi-instance architecture supporting
|
|
|
|
|
# multiple Git-based sources (Gitea, Forgejo, GitHub) and multiple OCI registries
|
|
|
|
|
|
|
|
|
|
[server]
|
2026-01-12 05:19:06 +00:00
|
|
|
enable_compression = true
|
|
|
|
|
enable_cors = false
|
2026-01-08 09:55:37 +00:00
|
|
|
host = "0.0.0.0"
|
|
|
|
|
port = 8082
|
|
|
|
|
workers = 4
|
|
|
|
|
|
|
|
|
|
# Multiple Git-based source backends
|
|
|
|
|
# Internal Gitea instance for private extensions
|
|
|
|
|
[[sources.gitea]]
|
|
|
|
|
id = "internal-gitea"
|
|
|
|
|
organization = "provisioning"
|
|
|
|
|
timeout_seconds = 30
|
2026-01-12 05:19:06 +00:00
|
|
|
token_path = "/etc/secrets/gitea-internal-token.txt"
|
|
|
|
|
url = "https://gitea.internal.example.com"
|
2026-01-08 09:55:37 +00:00
|
|
|
verify_ssl = true
|
|
|
|
|
|
|
|
|
|
# Public Gitea instance for community extensions
|
|
|
|
|
[[sources.gitea]]
|
|
|
|
|
id = "public-gitea"
|
|
|
|
|
organization = "provisioning-extensions"
|
|
|
|
|
timeout_seconds = 30
|
2026-01-12 05:19:06 +00:00
|
|
|
token_path = "/etc/secrets/gitea-public-token.txt"
|
|
|
|
|
url = "https://gitea.public.example.com"
|
2026-01-08 09:55:37 +00:00
|
|
|
verify_ssl = true
|
|
|
|
|
|
|
|
|
|
# Forgejo sources (Git-compatible)
|
|
|
|
|
[[sources.forgejo]]
|
|
|
|
|
id = "community-forgejo"
|
|
|
|
|
organization = "provisioning"
|
|
|
|
|
timeout_seconds = 30
|
2026-01-12 05:19:06 +00:00
|
|
|
token_path = "/etc/secrets/forgejo-token.txt"
|
|
|
|
|
url = "https://forgejo.community.example.com"
|
2026-01-08 09:55:37 +00:00
|
|
|
verify_ssl = true
|
|
|
|
|
|
|
|
|
|
# GitHub sources
|
|
|
|
|
[[sources.github]]
|
|
|
|
|
id = "org-github"
|
|
|
|
|
organization = "my-organization"
|
|
|
|
|
timeout_seconds = 30
|
2026-01-12 05:19:06 +00:00
|
|
|
token_path = "/etc/secrets/github-token.txt"
|
2026-01-08 09:55:37 +00:00
|
|
|
verify_ssl = true
|
|
|
|
|
|
|
|
|
|
# Multiple OCI distribution registries
|
|
|
|
|
# Internal Zot registry
|
|
|
|
|
[[distributions.oci]]
|
|
|
|
|
id = "internal-zot"
|
|
|
|
|
namespace = "provisioning/extensions"
|
2026-01-12 05:19:06 +00:00
|
|
|
registry = "zot.internal.example.com"
|
2026-01-08 09:55:37 +00:00
|
|
|
timeout_seconds = 30
|
|
|
|
|
verify_ssl = true
|
|
|
|
|
|
|
|
|
|
# Public Harbor registry
|
|
|
|
|
[[distributions.oci]]
|
2026-01-12 05:19:06 +00:00
|
|
|
auth_token_path = "/etc/secrets/harbor-token.txt"
|
2026-01-08 09:55:37 +00:00
|
|
|
id = "public-harbor"
|
|
|
|
|
namespace = "provisioning"
|
2026-01-12 05:19:06 +00:00
|
|
|
registry = "harbor.public.example.com"
|
2026-01-08 09:55:37 +00:00
|
|
|
timeout_seconds = 30
|
|
|
|
|
verify_ssl = true
|
|
|
|
|
|
|
|
|
|
# Docker Hub
|
|
|
|
|
[[distributions.oci]]
|
2026-01-12 05:19:06 +00:00
|
|
|
auth_token_path = "/etc/secrets/docker-hub-token.txt"
|
2026-01-08 09:55:37 +00:00
|
|
|
id = "docker-hub"
|
|
|
|
|
namespace = "myorg"
|
2026-01-12 05:19:06 +00:00
|
|
|
registry = "docker.io"
|
2026-01-08 09:55:37 +00:00
|
|
|
timeout_seconds = 30
|
|
|
|
|
verify_ssl = true
|
|
|
|
|
|
|
|
|
|
# GHCR (GitHub Container Registry)
|
|
|
|
|
[[distributions.oci]]
|
2026-01-12 05:19:06 +00:00
|
|
|
auth_token_path = "/etc/secrets/ghcr-token.txt"
|
2026-01-08 09:55:37 +00:00
|
|
|
id = "ghcr"
|
|
|
|
|
namespace = "my-organization"
|
2026-01-12 05:19:06 +00:00
|
|
|
registry = "ghcr.io"
|
2026-01-08 09:55:37 +00:00
|
|
|
timeout_seconds = 30
|
|
|
|
|
verify_ssl = true
|
|
|
|
|
|
|
|
|
|
# Caching configuration
|
|
|
|
|
[cache]
|
|
|
|
|
capacity = 1000
|
|
|
|
|
enable_list_cache = true
|
2026-01-12 05:19:06 +00:00
|
|
|
enable_metadata_cache = true
|
|
|
|
|
ttl_seconds = 300
|