Project-level declaration loaded from HostKit DSL files.
Summary
Types
@type t() :: %HostKit.Project{ conventions: map(), hosts: [HostKit.Host.t()], meta: map(), name: atom(), provider_configs: %{optional(atom()) => HostKit.ProviderConfig.t()}, providers: [module()], proxies: [HostKit.Proxy.t()], resources: [struct()], services: [HostKit.Service.t()], tenants: [HostKit.Tenant.t()] }
Functions
@spec add_host(t(), HostKit.Host.t()) :: t()
@spec add_proxy(t(), HostKit.Proxy.t()) :: t()
@spec add_service(t(), HostKit.Service.t()) :: t()
@spec add_tenant(t(), HostKit.Tenant.t()) :: t()
@spec fetch_host(t(), atom()) :: {:ok, HostKit.Host.t()} | :error
@spec fetch_host(t(), String.t()) :: {:ok, HostKit.Host.t()} | :error
@spec put_provider_config(t(), HostKit.ProviderConfig.t()) :: t()