# | Gitea integration configuration instances (defaults only)
# | Migrated from: provisioning/kcl/gitea.k
# | Pattern: Hybrid - defaults + makers + direct access (contracts available via import)

let contracts_lib = import "./contracts.ncl" in
let defaults_lib = import "./defaults.ncl" in

{
  defaults = defaults_lib,

  make_gitea_config | not_exported = fun overrides =>
    defaults_lib.gitea_config & overrides,
  make_local_gitea | not_exported = fun overrides =>
    defaults_lib.local_gitea & overrides,
  make_docker_gitea | not_exported = fun overrides =>
    defaults_lib.docker_gitea & overrides,
  make_binary_gitea | not_exported = fun overrides =>
    defaults_lib.binary_gitea & overrides,
  make_remote_gitea | not_exported = fun overrides =>
    defaults_lib.remote_gitea & overrides,
  make_gitea_auth | not_exported = fun overrides =>
    defaults_lib.gitea_auth & overrides,
  make_gitea_repositories | not_exported = fun overrides =>
    defaults_lib.gitea_repositories & overrides,
  make_workspace_features | not_exported = fun overrides =>
    defaults_lib.workspace_features & overrides,
  make_gitea_repository | not_exported = fun overrides =>
    defaults_lib.gitea_repository & overrides,
  make_gitea_release | not_exported = fun overrides =>
    defaults_lib.gitea_release & overrides,
  make_gitea_issue | not_exported = fun overrides =>
    defaults_lib.gitea_issue & overrides,
  make_workspace_lock | not_exported = fun overrides =>
    defaults_lib.workspace_lock & overrides,
  make_extension_publish_config | not_exported = fun overrides =>
    defaults_lib.extension_publish_config & overrides,
  make_gitea_webhook | not_exported = fun overrides =>
    defaults_lib.gitea_webhook & overrides,

  DefaultGiteaConfig = defaults_lib.gitea_config,
  DefaultLocalGitea = defaults_lib.local_gitea,
  DefaultDockerGitea = defaults_lib.docker_gitea,
  DefaultBinaryGitea = defaults_lib.binary_gitea,
  DefaultRemoteGitea = defaults_lib.remote_gitea,
  DefaultGiteaAuth = defaults_lib.gitea_auth,
  DefaultGiteaRepositories = defaults_lib.gitea_repositories,
  DefaultWorkspaceFeatures = defaults_lib.workspace_features,
  DefaultGiteaRepository = defaults_lib.gitea_repository,
  DefaultGiteaRelease = defaults_lib.gitea_release,
  DefaultGiteaIssue = defaults_lib.gitea_issue,
  DefaultWorkspaceLock = defaults_lib.workspace_lock,
  DefaultExtensionPublishConfig = defaults_lib.extension_publish_config,
  DefaultGiteaWebhook = defaults_lib.gitea_webhook,
}
