Skip to main content

Github Connection

GithubConnection

Defines the connection between the platform and a GitHub organization.

Roots a GitHub organization in the dependency graph and provisions the API credentials, organization memberships, and teams for it. Acts as the parent for the organization's licenses, PR templates, secrets, repository templates, and repositories, and aggregates their footprint for CI/CD sizing and workflow management.

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 a GithubConnection so the engine routes it to the correct defaulter, validator, computer, and executor. Must be the constant GithubConnection.
metadatamapClassification labels and graph linkage. Free-form key/value pairs used to classify the manifest. Certain reserved keys (e.g. name, organization) are read by the engine to resolve this manifest's identity and its parent Organization in the dependency graph.
specSpecDesired connection configuration. The authoritative, user-authored specification for this connection. See Spec.

Executors

Aggregate CI/CD runner footprint.

Requested counts of self-hosted runners by OS, aggregated from child build definitions and used to size GitHub Actions runner compute across the organization.

PropertyTypeDescription
ubuntuint64Number of Ubuntu runners requested.
macosint64Number of macOS runners requested.
windowsint64Number of Windows runners requested.

ManagedWorkflowsPrivateEntry

PropertyTypeDescription
keystring
valuestring

ManagedWorkflowsPublicEntry

PropertyTypeDescription
keystring
valuestring

RelatedArtifactRegistriesEntry

PropertyTypeDescription
keystring
valueComputedRelatedArtifactRegistry

RelatedExternalRegistriesEntry

PropertyTypeDescription
keystring
valueComputedRelatedExternalRegistry

SecretsEntry

PropertyTypeDescription
keystring
valueComputedGithubSecretRepositories

Spec

User-provided connection configuration.

Identifies the target GitHub organization, how to authenticate to its API, and which users hold administrative access. This organization is the root scope for all repository, team, and secret operations under the connection.

PropertyTypeDescription
descriptionstringHuman-readable description of this connection. Optional free text describing the organization. Not propagated onto any provisioned GitHub resource; it exists purely as documentation and to give AI assistants context about the structure of the organization.
ownerstringTarget GitHub organization name. The GitHub organization (account owner) this connection maps to; it is the root scope for all repository, team, and secret generation under the connection. Consumed when provisioning the connection data source and matched against the parent Organization's GitHub organization to decide whether to reuse core credentials.
authenticationMethodstringGitHub API authentication method. How the engine authenticates to the GitHub API. Constrained to PERSONAL_ACCESS_TOKEN or GITHUB_APP. When PERSONAL_ACCESS_TOKEN, the platform provisions a secret in the core project to hold the PAT; the executor's credential-reuse path is currently keyed on this value.
hostnamestringGitHub instance hostname. Hostname of the GitHub instance (e.g. github.my-company.com); set only for GitHub Enterprise Server. Defaulted by the engine to github.com when omitted, and passed through to the provisioned connection data source and inherited by child repositories as connection_hostname.
administratorslist of stringOrganization administrators. GitHub usernames to grant the admin role in the organization. Each name is resolved through its OrganizationUser GitHub external account into a computed administrator, then provisioned as an admin membership and treated as a maintainer on generated teams.

ComputedRelatedExternalRegistry

Groups an External Registry with a list of dependent repository names.

Associates specific application repositories to a configured external registry.

PropertyTypeDescription
repositorieslist of stringNames of the application repositories that pull from this external registry.
registryComputedExternalRegistryThe resolved external registry these repositories depend on.

ComputedGithubSecretRepositories

Represents the computed relationships between a GitHub secret and its target repositories.

This is an internal state object used by the engine to track which repositories a specific GithubSecret manifest has been distributed to during gitops reconciliation.

PropertyTypeDescription
secretKeystringThe name of the secret.
repositorieslist of stringA list of repositories where this secret is configured.

ComputedRelatedArtifactRegistry

Groups an Artifact Registry with a list of dependent repository names.

Used to correlate an environment's registry with the specific application repositories built into it, simplifying the generation of IAM and image paths.

PropertyTypeDescription
repositorieslist of stringNames of the application repositories built into this registry.
registryComputedArtifactRegistryThe resolved Artifact Registry these repositories depend on.

ComputedExternalRegistry

Represents a computed external container registry dependency.

Resolves the linkage between external registry configurations and the GCP / GitHub secrets containing their authentication credentials.

PropertyTypeDescription
namestringThis value is a direct reflection of 'metadata.name' from the 'ExternalRegistry' manifest.
typestringThis value is a direct reflection of 'spec.type' from the 'ExternalRegistry' manifest.
publishUrlstringThis value is a direct reflection of 'spec.url' from the 'ExternalRegistry' manifest.
authenticationstringThis value is a direct reflection of 'spec.authentication' from the 'ExternalRegistry' manifest.
usernameGcpSecretIdstringThis value is populated by looking up a 'Secret' manifest with a conventional name, typically '<registryName>-username', and retrieving its fully qualified GCP resource StateID.
usernameSourceControlSecretIdstringThis value is populated by looking up a 'GithubSecret' manifest with a conventional name, typically '<registryName>-username', and retrieving its name.
passwordGcpSecretIdstringThis value is populated by looking up a 'Secret' manifest with a conventional name, typically '<registryName>-password', and retrieving its fully qualified GCP resource StateID.
passwordSourceControlSecretIdstringThis value is populated by looking up a 'GithubSecret' manifest with a conventional name, typically '<registryName>-password', and retrieving its name.
regionstringThe GCP region associated with the external registry, used for image path resolution.

ComputedArtifactRegistry

Represents a computed Artifact Registry resource.

JIT-resolved state of an ArtifactRegistry manifest containing the definitive configuration utilized during the implementation phase.

PropertyTypeDescription
namestringThis value is a direct reflection of 'metadata.name' from this 'ArtifactRegistry' manifest.
typestringThis value is a direct reflection of 'spec.type' from this 'ArtifactRegistry' manifest.
publishUrlstringThis URL is composed based on the 'spec.type' from this 'ArtifactRegistry' manifest.
regionstringThis value is taken from 'spec.region' from this 'ArtifactRegistry' manifest.
permissionsArtifactRegistryAccessPermissionsThis block is a direct reflection of the 'spec.permissions' block from this 'ArtifactRegistry' manifest, with user and group names resolved to their full Google Cloud Identity identifiers.

ArtifactRegistryAccessPermissions

Defines access levels specifically for Artifact Registry repositories.

Maps readers and writers to roles/artifactregistry.reader and roles/artifactregistry.writer respectively on the targeted google_artifact_registry_repository.

PropertyTypeDescription
readersDetailedAccessPermissionsA list of users and groups who are granted read-only access to the repository. Corresponds to the 'roles/artifactregistry.reader' IAM role.
writersDetailedAccessPermissionsA list of users and groups who are granted read and write access to the repository. Corresponds to the 'roles/artifactregistry.writer' IAM role.

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.