# Extension Registry - Multiuser Mode
# Shared team environment with multiple sources and registries
let registry_schema = import "../schemas/extension-registry.ncl" in
{
  extension_registry | registry_schema.RegistryConfig = {
    server = {
      host = "0.0.0.0",
      port = 8081,
      workers = 4,
      enable_cors = true,
      enable_compression = true,
    },
    sources = {
      # Team Gitea instance
      gitea = [
        {
          id = "team-gitea",
          url = "http://gitea.provisioning.local:3000",
          organization = "provisioning-team",
          token_path = "/etc/secrets/gitea-team-token.txt",
          timeout_seconds = 30,
          verify_ssl = false,
        },
      ],
      # GitHub for open-source integrations
      github = [
        {
          id = "team-github",
          organization = "company-provisioning-team",
          token_path = "/etc/secrets/github-team-token.txt",
          timeout_seconds = 30,
          verify_ssl = true,
        },
      ],
    },
    distributions = {
      # Local OCI registry for shared team use
      oci = [
        {
          id = "team-registry",
          registry = "registry.provisioning.local:5000",
          namespace = "provisioning-team",
          timeout_seconds = 30,
          verify_ssl = false,
        },
        {
          id = "backup-registry",
          registry = "backup-registry.provisioning.local:5000",
          namespace = "provisioning-team",
          timeout_seconds = 30,
          verify_ssl = false,
        },
      ],
    },
    cache = {
      capacity = 1000,
      ttl_seconds = 300,
      enable_metadata_cache = true,
      enable_list_cache = true,
    },
  },
}
