# Service Registry Public API
#
# Main interface for service management
# Migrated from provisioning/kcl/services.k

let contracts = import "contracts.ncl" in
let defaults = import "defaults.ncl" in

{
  # Re-export contracts
  ServiceRegistry = contracts.ServiceRegistry,
  ServiceDefinition = contracts.ServiceDefinition,
  ServiceDeployment = contracts.ServiceDeployment,
  BinaryDeployment = contracts.BinaryDeployment,
  DockerDeployment = contracts.DockerDeployment,
  DockerComposeDeployment = contracts.DockerComposeDeployment,
  KubernetesDeployment = contracts.KubernetesDeployment,
  RemoteDeployment = contracts.RemoteDeployment,
  HelmChart = contracts.HelmChart,
  HealthCheck = contracts.HealthCheck,
  HttpHealthCheck = contracts.HttpHealthCheck,
  TcpHealthCheck = contracts.TcpHealthCheck,
  CommandHealthCheck = contracts.CommandHealthCheck,
  FileHealthCheck = contracts.FileHealthCheck,
  StartupConfig = contracts.StartupConfig,
  ResourceLimits = contracts.ResourceLimits,
  ServiceState = contracts.ServiceState,
  ServiceOperation = contracts.ServiceOperation,

  # Re-export defaults
  default_startup = defaults.default_startup,
  default_health_check = defaults.default_health_check,
  default_http_health = defaults.default_http_health,
  default_tcp_health = defaults.default_tcp_health,
  default_docker_deployment = defaults.default_docker_deployment,
  default_binary_deployment = defaults.default_binary_deployment,
}
