Skip to main content

Organization

Organization

Represents the root of the Infrastream resource hierarchy.

Serves as the top-level container for all Organizational Units, GitHub Connections, identity providers, and global users. It establishes global configuration baselines for both GCP and GitHub platforms.

PropertyTypeDescription
apiVersionstringAPI schema version. Pins the manifest to a specific schema contract for backward-compatibility. Must be the constant lowops.manifests.v1.
kindstringResource kind discriminator. Identifies this document as an Organization so the engine routes it to the correct defaulter, validator, computer, and executor. Must be the constant Organization.
metadatamapClassification labels and graph linkage. Free-form key/value pairs used to classify the manifest. Certain reserved keys (e.g. name) are read by the engine to resolve this manifest's identity within the dependency graph. As the hierarchy root, an Organization has no parent manifest.
specSpecDesired organization configuration. The authoritative, user-authored specification for this organization. See Spec.

CodeOwnersEntry

PropertyTypeDescription
keystring
valuestring

Spec

User-authored organization configuration.

Defines the global, user-supplied settings for the entire organization: descriptive context, internal/external domain bindings, the default GCP region, the primary GitHub organization, the org-wide hibernation schedule, and the workforce identity-federation strategy.

PropertyTypeDescription
descriptionstringHuman-readable description of the organization. Optional free text describing the organization's purpose. Propagated onto the description of the core organization-manifests GitHub repository, and used as context by AI assistants when reasoning about the platform's structure.
domainDomainInternal and external domain names. Required. Sets the base DNS domains for the organization from which all descendant hostnames are derived. See Domain.
defaultRegionstringDefault GCP region for organization resources. Required. The fallback region for resources created within the organization; can be overridden at the OrganizationalUnit, Environment, or Project level. Sets the location of the core infrastream-docker-mirror Artifact Registry and the region of the organization's private Certificate Authority pool.
githubGithubConfigPrimary GitHub organization settings. Required. Configures the GitHub organization that owns the central GitOps repository hosting the hydrated organization manifests (the source of truth for core infrastructure). The GitHub organization name is used to construct the manifests repository name (e.g. <org>-infrastream-organization-manifests) and feeds the computed code-owner mappings. To connect other repositories or organizations for application source code, use the GithubConnection manifest instead.
hibernationHibernationConfigDefault org-wide hibernation schedule. Baseline active-hours schedule inherited by all resources in the organization; can be overridden at lower levels. Resolved into the computed hibernation block and applied to control when resources across the platform are awake or hibernated.
workforceFederationWorkforceFederationIdentity source for the organization. Required. Selects and configures the workforce identity-federation backend from which the organization's users are drawn. See WorkforceFederation.

Domain

Internal and external DNS domains for the organization.

The two fully-qualified base domains from which per-environment and per-project hostnames are derived. internal roots private, in-cluster service names; external roots publicly resolvable names. Both must be lowercase FQDNs (at least two dot-separated labels, each 1-63 chars of [a-z0-9-] without a leading or trailing hyphen).

PropertyTypeDescription
internalstringInternal (private) base domain. Root domain for privately resolvable, in-cluster service names. Must be a lowercase FQDN (at least two dot-separated labels; each label 1-63 chars of [a-z0-9-] without a leading or trailing hyphen).
externalstringExternal (public) base domain. Root domain for publicly resolvable hostnames; child OrganizationalUnits, Environments, and Projects derive their external hostnames by prefixing their name onto this value. Must be a lowercase FQDN (at least two dot-separated labels; each label 1-63 chars of [a-z0-9-] without a leading or trailing hyphen).

WorkforceFederation

Workforce identity-federation strategy.

Selects the identity source that supplies the organization's human users. Exactly one federation backend is chosen via the oneof: a Google Workspace directory, a Microsoft Entra ID tenant, or an Infrastream-managed directory.

PropertyTypeDescription
googleWorkspaceGoogleWorkspaceGoogle Workspace backend. See GoogleWorkspace.
microsoftEntraIdMicrosoftEntraIdMicrosoft Entra ID backend. See MicrosoftEntraId.
infrastreamManagedInfrastreamManagedInfrastream-managed backend. See InfrastreamManaged.

GoogleWorkspace

Google Workspace federation backend.

Configuration for federating workforce identities from a Google Workspace directory via domain-wide delegation.

PropertyTypeDescription
domainstringGoogle Workspace primary domain. Required. The domain of the Google Workspace directory that supplies workforce identities.
customerIdstringGoogle Workspace customer ID. Required. The unique customer identifier of the Google Workspace account, used to scope directory API calls.
impersonatedEmailstringDelegated admin email to impersonate. Required. The Google Workspace admin account impersonated via domain-wide delegation when reading and provisioning directory identities.

InfrastreamManaged

Infrastream-managed workforce backend.

Selects the mode in which users bring their own Google accounts. Each OrganizationUser declares the address it already owns in spec.primaryEmail; Infrastream allowlists that address in the organization's identity platform and binds it as an IAM principal. Infrastream provisions no directory and owns no credential in this mode, so the backend carries no configuration — it is a discriminator.

MicrosoftEntraId

Microsoft Entra ID federation backend.

Configuration for federating workforce identities from a Microsoft Entra ID (formerly Azure AD) tenant.

PropertyTypeDescription
issuerUristringOIDC issuer URI of the Entra ID tenant. Required. The token issuer URL for the Microsoft Entra ID tenant, used to establish the workforce identity federation trust.

HibernationConfig

Consolidates hibernation scheduling logic.

Used by the orchestrator to aggregate windows and exclusions across OU, Environment, and Project inheritance chains into a final deployment state.

PropertyTypeDescription
hibernateboolWhen set to 'true', forces the resource into hibernation immediately, overriding any active 'windows' or 'exclusions'. Defaults to 'false'.
windowslist of WindowsEntryA map of recurring time windows during which the resource will be hibernated. The key of the map provides a unique name for each window.
exclusionslist of ExclusionsEntryA map of specific, non-recurring time windows during which hibernation will be suspended, even if a 'window' is active. Use this for planned maintenance or high-traffic periods. The key of the map provides a unique name for each exclusion.

GithubConfig

Configuration for the central GitOps repository hosted on GitHub.

This determines where the engine pushes hydrated infrastructure state and application configs, establishing the source of truth for the GitOps workflow.

PropertyTypeDescription
organizationstringOwning GitHub organization. Name of the GitHub Organization that owns the central GitOps repository (e.g. pvotal-tech). This organization hosts the hydrated manifest repositories the engine pushes to, and its name is used to build repository owners and CODEOWNERS team references. Required.
administratorslist of stringOrganization-level GitHub administrators. NOT YET IMPLEMENTED. Declared in the schema but currently ignored by the engine (no consumer reads it). Intended future behavior: a list of GitHub usernames to be granted admin access on the managed GitOps repositories.

WindowsEntry

PropertyTypeDescription
keystring
valueHibernationWindow

ExclusionsEntry

PropertyTypeDescription
keystring
valueHibernationExclusion

HibernationWindow

Defines a recurring period when an asset should be scaled down.

Scheduled cron strings used by the control plane's orchestration tools to dynamically stop virtual machines or scale Cloud Run instances to zero.

PropertyTypeDescription
startstringA cron expression defining when the hibernation window begins.
endstringA cron expression defining when the hibernation window ends.

HibernationExclusion

Defines a specific suspension of the hibernation schedule.

Prevents down-scaling operations during the specified timeframe, ensuring workloads remain active for special events or maintenance.

PropertyTypeDescription
startstringThe start date and time for the exclusion window in RFC3339 format. RFC3339
endstringThe end date and time for the exclusion window in RFC3339 format. RFC3339