Skip to main content

Project

Project

Defines the high-level intent for a logical project within the Infrastream platform.

Serves as a fundamental boundary for resource isolation, IAM permissions, and network segmentation. It anchors infrastructure deployments including compute workloads, data stores, and ingress routing topologies.

PropertyTypeDescription
apiVersionstring
kindstring
metadatamap
specProjectDefinitionContains the user-defined configuration for the project. Encapsulates configuration parameters for billing assignment, regional execution, egress policies, and cross-resource access controls. Spec uses the shared ProjectDefinition from common.proto.

AccessibleRegistries

PropertyTypeDescription
cloudrunlist of ComputedAccessibleRegistry
computelist of ComputedAccessibleRegistry

CloudrunApplicationsEntry

PropertyTypeDescription
keystring
valueComputedApplication

ComputeApplicationsEntry

PropertyTypeDescription
keystring
valueComputedApplication

IdentityProviderAuthorizedDomainsEntry

PropertyTypeDescription
keystring
valuestring

VpcSpokesEntry

PropertyTypeDescription
keystring
valuestring

ComputedApplication

Represents a fully computed application deployment configuration.

Collates mesh strategy, pre-flight migration requirements, and the container image layout required by the execution engine to provision the underlying Cloud Run service or K8s Deployment.

PropertyTypeDescription
namestringThe name of the application.
meshStrategystringThe service mesh strategy used by the application (e.g., SIDECAR, PROXYLESS).
containerComputedContainerDefinitionThe computed definition for the application's container, including image URL, environment variables, and resource requests.
runMigrationJobboolIndicates whether a database migration job should be run before deploying the application.

ComputedAccessibleRegistry

Represents a computed Artifact Registry resource accessible by deployments.

Tracks the registry location and name needed to perform container image path resolution.

PropertyTypeDescription
namestringThe name of the artifact registry.
locationstringThe GCP region or multi-region where the registry is located.

ProjectDefinition

High-level definition of a workload-bearing Project.

Maps to a google_project in GCP. Sets the fundamental boundaries for deployed applications, defining the target region, IAM identity bindings, maintenance windows, and default routing rules.

PropertyTypeDescription
displayNamestringThe display name of the GCP asset. If unspecified, uses the metadata.name field of the manifest.
descriptionstringA description of the GCP asset.
permissionsAccessPermissionsDefines specific permissions for this Project, which are merged with inherited permissions from the parent 'Environment' and 'OrganizationalUnit'. These permissions are translated into 'google_project_iam_binding' resources, granting the specified roles to principals on this specific GCP Project.
networkProjectNetworkDefines network-specific settings for the Project.
hibernationHibernationConfigDefines a specific hibernation schedule for this Project, which can override any schedules inherited from parent manifests. The computed schedule is used to control the active hours for underlying resources within this Project to manage costs.
regionstringThe primary GCP region for the Project and its resources. If unspecified, it inherits the region from its parent 'Environment'. Sets the 'region' for many of the resources provisioned within this project, such as 'google_sql_database_instance' or 'google_redis_instance'.
maintenanceMaintenanceDefines the recurring weekly maintenance windows and specific exclusions for resources within this Project. This is used to configure the 'maintenance_policy' on resources like 'google_container_cluster' and 'google_sql_database_instance'.
defaultUrlRedirectstringA default URL to redirect to if a request does not match any other routing rules.
allowedEgresslist of stringA list of external hostnames or IP ranges that applications within the project are allowed to connect to.
identityProviderConfigProjectIdpConfigDefines the project-wide identity provider configuration. This applies to all tenants within the project.

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.

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
administratorsDetailedAccessPermissionsA list of users and groups with administrative privileges on the asset. The exact permissions are resource-dependent but typically grant full control.
contributorsDetailedAccessPermissionsA list of users and groups with contributor privileges on the asset. The exact permissions are resource-dependent but typically grant read and write access.
viewersDetailedAccessPermissionsA list of users and groups with viewer privileges on the asset. The exact permissions are resource-dependent but typically grant read-only access.

ProjectIdpConfig

Project-wide Identity Provider (IdP) configuration.

Applies identity and MFA settings globally to all Identity Platform tenants operating within this project's boundary.

PropertyTypeDescription
mfaMfaConfigDefines the project-wide for multi-factor authentication (MFA) configurations. This applies to all tenants within the project.

ProjectNetwork

Defines specific network telemetry and routing settings for a Project.

Directly overrides defaults for determining VPC flow log configurations applied to the google_compute_subnetwork resources created within this project.

PropertyTypeDescription
logsNetworkLogsConfigures the export of VPC flow logs for this Project's network, overriding any settings from parent manifests. These settings are applied to the 'log_config' block of all 'google_compute_subnetwork' resources created within this Project.

Maintenance

Defines the recurring weekly maintenance window and any explicit exclusions for resource upgrades.

Translates into maintenance_policy blocks on GCP resources like google_container_cluster (GKE) and google_sql_database_instance (Cloud SQL), dictating when Google Cloud can perform infrastructure upgrades.

PropertyTypeDescription
startstringThe start time for the recurring weekly maintenance window, provided in RFC3339 format. The time-of-day and day-of-week are used to establish the schedule. This is used to configure the 'maintenance_policy' on resources like 'google_container_cluster' and 'google_sql_database_instance'.

RFC3339 | | end | string | The end time for the recurring weekly maintenance window, provided in RFC3339 format. This defines the duration of the maintenance window for applicable GCP resources.

RFC3339 | | exclusions | list of MaintenanceExclusion | A list of specific, non-recurring time windows during which maintenance should not occur, even if it falls within the recurring weekly window. Use this to prevent updates during business-critical periods. Creates 'maintenance_exclusion' blocks on applicable GCP resources. |


ComputedContainerDefinition

Represents the fully resolved container image deployment source.

Fuses the registry's geographical footprint with a specific container build to provide the absolute URL for the deployment API (e.g., Cloud Run or GKE).

PropertyTypeDescription
sourceRegistryComputedAccessibleRegistryThe registry where the container image is stored.
imagestringThe full URL of the container image, including the registry and repository path.

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.

NetworkLogs

Configures the export settings for VPC Flow Logs.

Translates to the log_config block of google_compute_subnetwork, determining aggregation intervals and volume sampling rates for network telemetry.

PropertyTypeDescription
intervalstringThe time window for which VPC flow logs are aggregated before being exported. A shorter interval provides more immediate data, while a longer interval reduces the volume of logs generated. This value is passed to the aggregation_interval field of the google_compute_subnetwork_log_config resource.
samplingdoubleThe fraction of network connections for which VPC flow logs will be generated and exported. The value must be between 0.0 (no logs) and 1.0 (all logs). This value is passed to the flow_sampling field of the google_compute_subnetwork_log_config resource.

ExclusionsEntry

PropertyTypeDescription
keystring
valueHibernationExclusion

MfaConfig

Configures Multi-Factor Authentication (MFA) requirements for users.

Modifies Identity Platform tenant configurations to enforce MFA policies based on the selected mode and geographical region restrictions.

PropertyTypeDescription
modestringThe MFA mode for multi-factor authentication. This can be set to 'DISABLED' to disable multi-factor authentication, 'ENABLED' to enable multi-factor authentication, or 'MANDATORY' to require multi-factor authentication for all users.
testPhoneNumberslist of TestPhoneNumbersEntryA map of phone numbers that will be used for testing multi-factor authentication. The key is the phone number and the value is the expected 6-digits OTP code.
allowedRegionslist of stringA list of regions where multi-factor authentication is allowed. Two letter unicode region codes to disallow as defined by https://cldr.unicode.org/ The full list of these region codes is here: https://github.com/unicode-cldr/cldr-localenames-full/blob/master/main/en/territories.json

WindowsEntry

PropertyTypeDescription
keystring
valueHibernationWindow

MaintenanceExclusion

Defines a specific, non-recurring time window where platform maintenance should not occur.

Translates into maintenance_exclusion blocks on underlying GCP resources, overriding regular weekly maintenance windows during critical business periods.

PropertyTypeDescription
namestringA unique name to identify the reason for this exclusion (e.g., 'black-friday-freeze').
startstringThe start date and time for a specific, non-recurring exclusion from the maintenance window.

RFC3339 | | end | string | The end date and time for the non-recurring exclusion window.

RFC3339 |


TestPhoneNumbersEntry

PropertyTypeDescription
keystring
valuestring

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 | | end | string | The end date and time for the exclusion window in RFC3339 format.

RFC3339 |