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

HibernationScheduleCronsEntry​

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.
permissionsAccessPermissionsOrganization-level access permissions. Administrators and contributors that own the organization as a whole. They cascade down the manifest hierarchy — every descendant's effective code owners include these — and populate the global * default in the core organization-manifests repository's CODEOWNERS, so any file without a more specific owner requires review by the organization administrators. Optional: when unset, no organization-wide default code owner is emitted.
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). It is recommended to define a '*.internal' hostname.
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.

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.

AccessPermissions​

Core definition for assigning administrative and viewer privileges across the platform.

Used by the engine to compute the final IAM policies (google_folder_iam_binding, etc.), aggregating individual user and group definitions to role assignments.

PropertyTypeDescription
administratorsDetailedAccessPermissionsAdministrators. Users and groups granted administrative privileges on the asset. Exact rights are resource-dependent but typically confer full control. See DetailedAccessPermissions.
contributorsDetailedAccessPermissionsContributors. Users and groups granted contributor privileges on the asset. Exact rights are resource-dependent but typically confer read and write access. See DetailedAccessPermissions.
viewersDetailedAccessPermissionsViewers. Users and groups granted viewer privileges on the asset. Exact rights are resource-dependent but typically confer read-only access. See DetailedAccessPermissions.

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.

ExclusionsEntry​

PropertyTypeDescription
keystring
valueHibernationExclusion

DetailedAccessPermissions​

Aggregation of specific user and group access definitions.

Refers to lists of OrganizationUser and OrganizationUserGroup manifests that will be parsed to retrieve actual Google Workspace identity emails for IAM binding construction.

PropertyTypeDescription
memberslist of stringA list of 'OrganizationUser' manifest names to be included in this permission set.
groupslist of stringA list of 'OrganizationUserGroup' manifest names to be included in this permission set.

WindowsEntry​

PropertyTypeDescription
keystring
valueHibernationWindow

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

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.