Skip to content

API Reference

Packages

github.interhyp.de/v1alpha1

Package v1alpha1 contains API Schema definitions for the github v1alpha1 API group.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Resource Types

About

About contains descriptive information about a repository.

Appears in: - RepositorySpec

Field Description Default Validation
description string Description is a short description of the repository displayed on the repository page. MaxLength: 1000
Type: string
website string Website is the URL of the repository's homepage or documentation.
Must be a valid HTTP or HTTPS URL.
MaxLength: 200
Pattern: ^https?://[^\s]+$
Type: string
topics Topic array Topics is a list of topics (tags) that categorize and help discover the repository.
Topics appear on the repository page and in GitHub's topic explorer.
See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics

ActionsSettings

ActionsSettings configures GitHub Actions permissions and behavior for an organization. See: https://docs.github.com/en/rest/actions/permissions

Appears in: - OrganizationSpec

Field Description Default Validation
enabledRepositories string EnabledRepositories determines which repositories can use GitHub Actions.
- "all": Actions enabled for all repositories
- "none": Actions disabled for all repositories
- "selected": Actions enabled for specific repositories (requires additional configuration)
none Enum: [all none selected]
allowedActions string AllowedActions configures which actions and workflows are allowed to run.
Must be nil if EnabledRepositories is "none".
- "all": All actions and reusable workflows are allowed
- "local_only": Only actions and workflows defined in the same repository or organization are allowed
- "selected": Only specific actions are allowed (requires SelectedAllowedActions)
Enum: [all local_only selected]
selectedAllowedActions SelectedAllowedActions SelectedAllowedActions specifies which actions are allowed when AllowedActions is "selected".
This field is required when AllowedActions is "selected" and ignored otherwise.
shaPinningRequired boolean ShaPinningRequired determines whether workflows must reference actions using the commit SHA instead of tags or branches.
When true, improves security by preventing tag manipulation attacks.
false
defaultWorkflowPermissions string DefaultWorkflowPermissions sets the default GITHUB_TOKEN permissions for workflows.
- "read": Token has read-only access to repository contents
- "write": Token has read and write access to repository contents
read Enum: [read write]
canApprovePullRequestReviews boolean CanApprovePullRequestReviews determines whether the GITHUB_TOKEN can approve pull requests.
When false, prevents workflows from approving pull requests automatically.
false
artifactAndLogRetentionDays integer ArtifactAndLogRetentionDays specifies how many days workflow artifacts and logs are retained.
Must be between 1 and 400 days. Shorter retention periods reduce storage costs.
400
runnerGroups RunnerGroup array RunnerGroups configures self-hosted runner groups for the organization.
Each group can have different visibility and workflow restrictions.

AttachableCodeSecurityConfigurationRef

AttachableCodeSecurityConfigurationRef references a CodeSecurityConfiguration CRD and specifies its attachment scope. Code security configurations define security settings like dependency scanning, secret scanning, and code scanning. See: https://docs.github.com/en/rest/code-security/configurations

Appears in: - OrganizationSpec

Field Description Default Validation
name string Name is the name of the referenced CodeSecurityConfiguration CRD. Required: {}
Type: string
attachmentScope string AttachmentScope defines which repositories the code security configuration applies to.
- "all": Apply to all repositories in the organization
- "all_without_configurations": Apply to repositories without an existing configuration
- "public": Apply only to public repositories
- "private_or_internal": Apply only to private and internal repositories
- "selected": Apply only to repositories that explicitly reference this configuration in their AttachedCodeSecurityConfiguration field
If not set, the configuration is created but not attached to any repositories.
Note: GitHub's API does not provide a way to retrieve the current attachment scope type.
The reconciler ensures functional correctness by comparing the actual list of attached repositories
to the desired state, not the scope label itself. This means GitHub's UI may display "selected repositories"
even when the scope is set to "all" (if all repositories happen to be selected), which is a cosmetic
discrepancy that does not affect the actual security configuration. The reconciler will only re-attach
if the actual repository attachments differ from what the scope implies.
For scope "all_without_configurations", the attachment is performed unconditionally without
comparing repository lists, as there is no reliable way to determine which repositories should
be included (repositories without configurations at the time of attachment may have since
been configured). The reconciler will re-attach on every reconciliation for this scope.
Enum: [all all_without_configurations public private_or_internal selected]
Optional: {}

Autolink defines an automatic link reference for external resources. When a reference matching KeyPrefix is found in issues, pull requests, or commit messages, GitHub automatically converts it to a clickable link using the URLTemplate. See: https://docs.github.com/en/rest/repos/autolinks

Appears in: - AutolinksPresetSpec

Field Description Default Validation
keyPrefix string KeyPrefix is the text prefix that triggers autolink creation.
When text starts with this prefix followed by a reference, it becomes a link.
Examples: "JIRA-", "TICKET-", "BUG-"
MaxLength: 20
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]\{0,19\}$
Type: string
urlTemplate string URLTemplate is the URL pattern used to generate links.
Use as a placeholder for the reference number/ID.
Example: "https://jira.example.com/browse/" converts "JIRA-123" to "https://jira.example.com/browse/123"
MaxLength: 200
Type: string
isAlphanumeric boolean IsAlphanumeric determines whether the reference must be alphanumeric.
- true: the parameter of the url_template matches alphanumeric characters A-Z (case insensitive), 0-9, and -
- false: reference only matches numeric characters.
false Type: boolean

AutolinksPreset

AutolinksPreset is the Schema for the autolinkspresets API

Appears in: - AutolinksPresetList

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string AutolinksPreset
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata. Optional: {}
spec AutolinksPresetSpec spec defines the desired state of AutolinksPreset Required: {}
status AutolinksPresetStatus status defines the observed state of AutolinksPreset Optional: {}

AutolinksPresetList

AutolinksPresetList contains a list of AutolinksPreset

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string AutolinksPresetList
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items AutolinksPreset array

AutolinksPresetSpec

AutolinksPresetSpec defines the desired state of AutolinksPreset. Autolinks automatically convert references to external resources (like issue trackers) into clickable links. See: https://docs.github.com/en/rest/repos/autolinks

Appears in: - AutolinksPreset

Field Description Default Validation
autolinks Autolink array AutolinkList is a list of autolink configurations to create in repositories.
Each autolink defines a prefix that triggers link generation and a URL template.

AutolinksPresetStatus

AutolinksPresetStatus defines the observed state of AutolinksPreset.

Appears in: - AutolinksPreset

Field Description Default Validation
conditions Condition array conditions represent the current state of the AutolinksPreset resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
Standard condition types include:
- "Available": the resource is fully functional
- "Progressing": the resource is being created or updated
- "Degraded": the resource failed to reach or maintain its desired state
The status of each condition is one of True, False, or Unknown.
Optional: {}

BypassReviewer

BypassReviewer represents a team or role that can review secret scanning bypass requests. Either ReviewerId (for direct ID specification) or ReviewerName (for name-based resolution) must be set. See: https://docs.github.com/en/rest/code-security/configurations

Validation: - ExactlyOneOf: [reviewerId reviewerName]

Appears in: - SecretScanningDelegatedBypassOptions

Field Description Default Validation
reviewerId integer ReviewerId is the numeric ID of the reviewer (team ID or role ID).
This field is mutually exclusive with ReviewerName.
reviewerName string ReviewerName is the name of the reviewer (team slug or role name) which will be resolved to an ID based on the ReviewerType.
This field is mutually exclusive with ReviewerId.
For TEAM type, this should be the team slug.
For ROLE type, this should be the role name.
reviewerType string ReviewerType specifies the type of reviewer.
- "TEAM": A team within the organization (use team slug for ReviewerName)
- "ROLE": An organization role (use role name for ReviewerName)
Enum: [TEAM ROLE]

CodeScanningDefaultSetupOptions

CodeScanningDefaultSetupOptions configures the default setup options for code scanning. See: https://docs.github.com/en/rest/code-security/configurations

Appears in: - CodeSecurityConfigurationSpec

Field Description Default Validation
runnerType string RunnerType specifies which type of runners to use for code scanning.
- "standard": Use GitHub-hosted standard runners
- "labeled": Use self-hosted runners with specific labels (requires RunnerLabel)
- "not_set": No runner type is configured
Enum: [standard labeled not_set]
runnerLabel string RunnerLabel specifies the label of self-hosted runners to use.
This field is required when RunnerType is "labeled" and ignored otherwise.

CodeScanningOptions

CodeScanningOptions configures code scanning feature options for a security configuration. See: https://docs.github.com/en/rest/code-security/configurations

Appears in: - CodeSecurityConfigurationSpec

Field Description Default Validation
allowAdvanced boolean AllowAdvanced determines whether users can enable advanced code scanning features.
When true, repository administrators can configure advanced code scanning settings beyond the default setup.

CodeSecurityConfiguration

CodeSecurityConfiguration is the Schema for the codesecurityconfigurations API

Appears in: - CodeSecurityConfigurationList

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string CodeSecurityConfiguration
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata. Optional: {}
spec CodeSecurityConfigurationSpec spec defines the desired state of CodeSecurityConfiguration Required: {}
status CodeSecurityConfigurationStatus status defines the observed state of CodeSecurityConfiguration Optional: {}

CodeSecurityConfigurationList

CodeSecurityConfigurationList contains a list of CodeSecurityConfiguration

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string CodeSecurityConfigurationList
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items CodeSecurityConfiguration array

CodeSecurityConfigurationRef

CodeSecurityConfigurationRef references a CodeSecurityConfiguration CRD.

Appears in: - RepositorySpec

Field Description Default Validation
name string Name is the name of the referenced CodeSecurityConfiguration CRD. Required: {}
Type: string

CodeSecurityConfigurationSpec

CodeSecurityConfigurationSpec defines the desired state of CodeSecurityConfiguration. A code security configuration defines a set of security features and settings that can be applied to repositories in an organization. This is a configuration-only CRD with no dedicated controller; it is reconciled by the Organization controller. Please note that activating features may cause additional costs as the code security features are billed additionally. See: https://docs.github.com/en/rest/code-security/configurations

Appears in: - CodeSecurityConfiguration

Field Description Default Validation
name string Name is the display name of the code security configuration.
description string Description provides additional information about the configuration's purpose and settings.
advancedSecurity string AdvancedSecurity enables or disables GitHub Advanced Security features.
- "enabled": Enable Advanced Security (required for code scanning, secret scanning, and dependency review)
- "disabled": Disable Advanced Security
- "code_security": Enable code security features only
- "secret_protection": Enable secret protection features only
Warning: code_security and secret_protection are deprecated values for this field.
Prefer the individual code_security and secret_protection fields to set the status of these features.
See: https://docs.github.com/en/get-started/learning-about-github/about-github-advanced-security
Enum: [enabled disabled code_security secret_protection]
dependencyGraph string DependencyGraph enables or disables the dependency graph.
The dependency graph identifies all dependencies in your repository.
- "enabled": Enable dependency graph
- "disabled": Disable dependency graph
- "not_set": Use default organization or repository setting
See: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph
Enum: [enabled disabled not_set]
dependencyGraphAutosubmitAction string DependencyGraphAutosubmitAction enables automatic submission of dependency information.
When enabled, dependency information is automatically submitted from Actions workflows.
Enum: [enabled disabled not_set]
dependencyGraphAutosubmitActionOptions DependencyGraphAutosubmitActionOptions DependencyGraphAutosubmitActionOptions configures options for automatic dependency submission.
dependabotAlerts string DependabotAlerts enables or disables Dependabot alerts for vulnerable dependencies.
Requires DependencyGraph to be enabled.
See: https://docs.github.com/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts
Enum: [enabled disabled not_set]
dependabotSecurityUpdates string DependabotSecurityUpdates enables or disables Dependabot security updates.
When enabled, Dependabot automatically creates pull requests to update vulnerable dependencies.
Requires DependabotAlerts to be enabled.
See: https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates
Enum: [enabled disabled not_set]
codeScanningDefaultSetup string CodeScanningDefaultSetup enables or disables default code scanning setup.
Default setup automatically configures code scanning with recommended settings.
See: https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning
Enum: [enabled disabled not_set]
codeScanningDefaultSetupOptions CodeScanningDefaultSetupOptions CodeScanningDefaultSetupOptions configures runner options for default code scanning setup.
code_scanning_delegated_alert_dismissal string CodeScanningDelegatedAlertDismissal enables users to dismiss code scanning alerts.
When enabled, users with appropriate permissions can dismiss alerts that don't require action.
Enum: [enabled disabled not_set]
code_scanning_options CodeScanningOptions CodeScanningOptions configures advanced code scanning options.
codeSecurity string CodeSecurity is a meta-setting that enables multiple code security features. Enum: [enabled disabled not_set]
secretScanning string SecretScanning enables or disables secret scanning.
Secret scanning detects secrets (like API keys and tokens) in your code.
Requires AdvancedSecurity to be enabled.
See: https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning
Enum: [enabled disabled not_set]
secretScanningPushProtection string SecretScanningPushProtection enables or disables push protection for secret scanning.
When enabled, pushes containing detected secrets are blocked.
Requires SecretScanning to be enabled.
See: https://docs.github.com/en/code-security/secret-scanning/push-protection-for-repositories-and-organizations
Enum: [enabled disabled not_set]
secretScanningValidityChecks string SecretScanningValidityChecks enables validation of detected secrets.
When enabled, GitHub validates whether detected secrets are still active.
Enum: [enabled disabled not_set]
secretScanningNonProviderPatterns string SecretScanningNonProviderPatterns enables detection of non-provider secret patterns.
This expands secret scanning beyond known service provider patterns.
Enum: [enabled disabled not_set]
secretScanningGenericSecrets string SecretScanningGenericSecrets enables detection of generic secrets.
This uses AI to detect potential secrets that don't match specific patterns.
Enum: [enabled disabled not_set]
secretScanningDelegatedAlertDismissal string SecretScanningDelegatedAlertDismissal enables users to dismiss secret scanning alerts.
When enabled, users with appropriate permissions can dismiss false-positive alerts.
Enum: [enabled disabled not_set]
secretProtection string SecretProtection is a meta-setting that enables multiple secret protection features. Enum: [enabled disabled not_set]
privateVulnerabilityReporting string PrivateVulnerabilityReporting enables or disables private vulnerability reporting.
When enabled, security researchers can privately report vulnerabilities.
See: https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability
Enum: [enabled disabled not_set]
enforcement string Enforcement determines how strictly this configuration is applied.
- "enforced": Configuration settings are strictly enforced and cannot be overridden
- "unenforced": Configuration settings are recommended but can be overridden at the repository level
Enum: [enforced unenforced]
secretScanningDelegatedBypass string SecretScanningDelegatedBypass enables delegated bypass for secret scanning push protection.
When enabled, contributors can request bypass approval from designated reviewers.
Enum: [enabled disabled not_set]
secretScanningDelegatedBypassOptions SecretScanningDelegatedBypassOptions SecretScanningDelegatedBypassOptions configures reviewers who can approve bypass requests.
defaultForNewRepos string DefaultForNewRepos determines whether this configuration is automatically applied to new repositories.
- "all": Apply to all new repositories
- "private_and_internal": Apply only to new private and internal repositories
- "public": Apply only to new public repositories
Enum: [all private_and_internal public]

CodeSecurityConfigurationStatus

CodeSecurityConfigurationStatus defines the observed state of CodeSecurityConfiguration.

Appears in: - CodeSecurityConfiguration

Field Description Default Validation
conditions Condition array conditions represent the current state of the CodeSecurityConfiguration resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
Standard condition types include:
- "Available": the resource is fully functional
- "Progressing": the resource is being created or updated
- "Degraded": the resource failed to reach or maintain its desired state
The status of each condition is one of True, False, or Unknown.
Optional: {}

CopilotCodeReviewRule

CopilotCodeReviewRule defines the automatic pull request review by GitHub Copilot.

Appears in: - RulesetRules

Field Description Default Validation
reviewOnPush boolean ReviewOnPush configures Copilot to automatically review each new push to the pull request. true
reviewDraftPullRequests boolean ReviewDraftPullRequests configures Copilot to automatically review draft pull requests before they are marked as ready for review. true

CustomPropertyValue

CustomPropertyValue defines a custom property value for a repository. Custom properties are defined at the organization level and applied to repositories. If both Value and Values are empty, the value for the property is considered nil (removes the property). For custom properties of value type "multi_select", use Values to specify multiple selections. For all other value types ("string", "single_select", "true_false"), use Value. See: https://docs.github.com/en/rest/repos/custom-properties

Validation: - ExactlyOneOf: [value values]

Appears in: - RepositorySpec

Field Description Default Validation
value string Value is the property value for types "string", "single_select", and "true_false".
For "true_false", must be "true" or "false".
For "single_select", must be one of the allowed values defined in the organization's custom property.
values string array Values is the list of selected values for "multi_select" type properties.
Each value must be one of the allowed values defined in the organization's custom property.
propertyName string PropertyName is the name of the custom property as defined in the organization.

DependencyGraphAutosubmitActionOptions

DependencyGraphAutosubmitActionOptions configures options for automatic dependency submission actions. See: https://docs.github.com/en/rest/code-security/configurations

Appears in: - CodeSecurityConfigurationSpec

Field Description Default Validation
labeledRunners boolean LabeledRunners indicates whether to use labeled runners for dependency submission actions.
If true, actions will run on runners with specific labels instead of GitHub-hosted runners.

DeployKey

DeployKey defines an SSH key for read-only or read-write access to a single repository. Deploy keys are commonly used for CI/CD systems and automated deployments. See: https://docs.github.com/en/rest/deploy-keys/deploy-keys

Appears in: - RepositorySpec

Field Description Default Validation
key string Key is the public SSH key in OpenSSH format.
Supported key types are RSA and Ed25519.
Example: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC..." or "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5..."
Pattern: ^ssh-(rsa\|ed25519) [A-Za-z0-9+/]+=\{0,3\}( [^\s]+)?$
Type: string
title string Title is a descriptive name for the deploy key shown in the repository settings.
Examples: "CI/CD Key", "Read-Only Deploy Key", "Production Server"
Type: string
readOnly boolean ReadOnly determines the access level for this deploy key.
- true: Key can only read from the repository (cannot push)
- false: Key can read and write to the repository (can push commits)
true Type: boolean

MergeStrategy

MergeStrategy defines an allowed merge strategy for pull requests. See: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github

Appears in: - RepositorySpec

Field Description Default Validation
type string Type specifies the merge strategy type.
- "merge": Create a merge commit (preserves all commits from the feature branch)
- "rebase": Rebase and merge (rebases commits onto base branch)
- "squash": Squash and merge (combines all commits into a single commit)
Enum: [merge rebase squash]

OrgCustomProperty

OrgCustomProperty defines a custom property for an organization. Custom properties allow you to add metadata to repositories in your organization. This is a kubebuilder annotated copy of github.CustomProperty without the source_type (as it is fixed to "organization"). For the logic to work the json field names must match the ones in github.CustomProperty. See: https://docs.github.com/en/rest/orgs/custom-properties

Appears in: - OrganizationSpec

Field Description Default Validation
propertyName string PropertyName is the unique name of the custom property.
Must start with a letter, number, , $, or # and can only contain letters, numbers, , $, #, and -.
Pattern: ^[a-zA-Z0-9_\$#\-]+$
valueType string ValueType specifies the type of value this property accepts.
- "string": A free-form text value
- "single_select": A single value from a predefined list (requires AllowedValues)
- "multi_select": Multiple values from a predefined list (requires AllowedValues)
- "true_false": A boolean value represented as "true" or "false"
Enum: [string single_select multi_select true_false]
required boolean Required indicates whether this property must be set on all repositories.
If true, a DefaultValue must be provided.
false
defaultValue OrgCustomPropertyDefaultValue DefaultValue is the default value for the property.
This property must be set if Required is true. It must be empty if Required is false.
The allowed format depends on the ValueType.
For ValueType "string" or "single_select", it must be a string. For "single_select", it must be one of the AllowedValues.
For ValueType "multi_select", it must be a JSON array of strings only containing elements of AllowedValues.
For ValueType "true_false", it must be a string that is either "true" or "false".
ExactlyOneOf: [value values]
description string Description provides additional information about the purpose and usage of this custom property.
allowedValues string array AllowedValues is a list of allowed values for the property.
This property is required for ValueType "single_select" and "multi_select".
For the other ValueTypes, it must be empty.
MaxItems: 200
valuesEditableBy string ValuesEditableBy determines who can edit the property values on repositories.
- "org_actors": Only organization members can edit values
- "org_and_repo_actors": Both organization and repository members can edit values
org_actors Enum: [org_actors org_and_repo_actors]

OrgCustomPropertyDefaultValue

OrgCustomPropertyDefaultValue defines the default value for an organization custom property. Either Value (for single values) or Values (for multi-select) must be set, but not both.

Validation: - ExactlyOneOf: [value values]

Appears in: - OrgCustomProperty

Field Description Default Validation
value string Value is the default value for properties with ValueType "string", "single_select", or "true_false".
For "true_false", it must be either "true" or "false".
For "single_select", it must be one of the AllowedValues defined in the property.
values string array Values is the default value for properties with ValueType "multi_select".
Each value must be one of the AllowedValues defined in the property.

Organization

Organization is the Schema for the organizations API

Appears in: - OrganizationList

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string Organization
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata. Optional: {}
spec OrganizationSpec spec defines the desired state of Organization Required: {}
status OrganizationStatus status defines the observed state of Organization Optional: {}

OrganizationList

OrganizationList contains a list of Organization

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string OrganizationList
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Organization array

OrganizationRef

OrganizationRef is a reference to an Organization CRD.

Appears in: - RepositorySpec - TeamSpec - TeamStatus

Field Description Default Validation
name string Name is the name of the referenced Organization CRD. Optional: {}

OrganizationSpec

OrganizationSpec defines the desired state of Organization. An Organization represents a GitHub organization and its configuration including custom properties, rulesets, code security settings, and Actions permissions. See: https://docs.github.com/en/rest/orgs/orgs

Appears in: - Organization

Field Description Default Validation
login string Login is the GitHub organization login (the unique, immutable identifier on GitHub).
This field is optional for backwards compatibility. If not specified, the Name field
will be used as both login and display name.
It is recommended to explicitly set this field to clearly separate login from display name.
MaxLength: 39
MinLength: 1
Optional: {}
name string Name is the organization's display name shown on the GitHub profile.
If Login is not specified, this field will also be used as the organization login
for backwards compatibility.
At least one of Login or Name must be specified.
MaxLength: 255
MinLength: 1
Optional: {}
githubAppInstallationId integer GitHubAppInstallationId is the numeric ID of the GitHub App installation for this organization.
This is used to authenticate API requests to GitHub. You can find this ID in your GitHub App's
installation settings or via the GitHub API.
Minimum: 1
Required: {}
customProperties OrgCustomProperty array CustomProperties defines custom metadata properties that can be assigned to repositories in the organization.
These properties allow you to categorize and add structured metadata to your repositories.
See: https://docs.github.com/en/rest/orgs/custom-properties
MaxItems: 100
actionsSettings ActionsSettings ActionsSettings configures GitHub Actions permissions and behavior for the organization.
This includes which repositories can use Actions, which actions are allowed, and runner group configurations.
See: https://docs.github.com/en/rest/actions/permissions
codeSecurityConfigurations AttachableCodeSecurityConfigurationRef array CodeSecurityConfigurations lists code security configurations to create and optionally attach to repositories.
Each configuration defines security features like dependency scanning, secret scanning, and code scanning.
See: https://docs.github.com/en/rest/code-security/configurations
rulesetPresets LocalObjectReference array RulesetPresetList references RulesetPreset CRDs that define repository rulesets for this organization.
Rulesets enforce policies like branch protection, required reviews, and status checks.
See: https://docs.github.com/en/rest/orgs/rules
description string Description is a human-readable description of the organization.
This appears on the organization's GitHub profile page.
location string Location is the organization's location (e.g., "Munich, Germany").
This appears on the organization's GitHub profile page.
MaxLength: 100
Optional: {}
website string Website is the organization's website URL.
This appears on the organization's GitHub profile page as a clickable link.
MaxLength: 255
Optional: {}
plan string Plan indicates the GitHub plan tier for this organization (enterprise, team, or free).
Determines whether Enterprise-only features (e.g., custom properties, runner groups) are reconciled or skipped.
enterprise Enum: [enterprise team free]
Optional: {}

OrganizationStatus

OrganizationStatus defines the observed state of Organization.

Appears in: - Organization

Field Description Default Validation
conditions Condition array conditions represent the current state of the Organization resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
Standard condition types include:
- "Available": the resource is fully functional
- "Progressing": the resource is being created or updated
- "Degraded": the resource failed to reach or maintain its desired state
The status of each condition is one of True, False, or Unknown.
Optional: {}
observedSubResourceGenerations object (keys:string, values:integer) ObservedSubResourceGenerations is a map of sub-resource names to their observed generations.
Keys are in the format "/<namespace/".
SubResources are kubernetes resources that are referenced by this Organization and are not managed
by their own controllers like RuleSetPresets and CodeSecurityConfigurations

PatternRule

PatternRule defines a pattern-based rule for enforcing naming conventions or content requirements. Patterns are evaluated using the specified operator and can be negated if needed. See: https://docs.github.com/en/rest/repos/rules#metadata-restrictions

Appears in: - RulesetRules

Field Description Default Validation
pattern string Pattern is the pattern to match against.
For regex operator, this is a regular expression.
For other operators, this is a literal string or substring.
MaxLength: 1024
MinLength: 1
Required: {}
operator string Operator defines how the pattern is evaluated.
- "starts_with": String must start with the pattern
- "ends_with": String must end with the pattern
- "contains": String must contain the pattern
- "regex": String must match the pattern as a regular expression
Enum: [starts_with ends_with contains regex]
Required: {}
negate boolean Negate inverts the pattern matching logic.
When true, the rule passes if the pattern does NOT match.
Example: Use with "contains" to prevent certain words in commit messages.
false Optional: {}

PullRequestRule

PullRequestRule defines pull request requirements that must be met before merging. See: https://docs.github.com/en/rest/repos/rules#pull-request

Appears in: - RulesetRules

Field Description Default Validation
allowedMergeMethods string array AllowedMergeMethods specifies which merge methods are allowed for pull requests.
- "squash": Squash all commits into a single commit
- "merge": Create a merge commit (preserves all commits)
- "rebase": Rebase commits onto the base branch
Required: {}
items:Enum: [squash merge rebase]
dismissStaleReviewsOnPush boolean DismissStaleReviewsOnPush automatically dismisses approved reviews when new commits are pushed.
This ensures reviewers see the latest changes before approval.
false Optional: {}
requireCodeOwnerReviews boolean RequireCodeOwnerReviews requires approval from code owners before merging.
Code owners are defined in a CODEOWNERS file in the repository.
See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
false Optional: {}
requireLastPushApproval boolean RequireLastPushApproval requires that the most recent push be approved.
This prevents merging if new commits are pushed after the last approval.
false Optional: {}
requiredApprovingReviewCount integer RequiredApprovingReviewCount specifies the minimum number of approving reviews required.
Must be between 1 and 10.
Maximum: 10
Minimum: 1
Optional: {}
requiredReviewThreadResolution boolean RequiredReviewThreadResolution requires all review comment threads to be resolved before merging.
This ensures all feedback is addressed.
false Optional: {}

RefNameCondition

RefNameCondition defines which refs a ruleset applies to. At least one pattern must be specified.

Validation: - MinProperties: 1

Appears in: - RulesetConditions

Field Description Default Validation
include string array Include defines ref patterns that the ruleset applies to.
Patterns can use wildcards () and must start with refs/heads/ (branches) or refs/tags/ (tags).
Use "~DEFAULT_BRANCH" to target the default branch.
Use "~ALL" to target all branches.
Examples: "refs/heads/main", "refs/heads/feature/
", "refs/tags/v*", "~DEFAULT_BRANCH", "~ALL"
MaxItems: 50
MinItems: 1
items:Pattern: ^(~DEFAULT_BRANCH\|~ALL\|refs/(heads\|tags)(/?[*a-zA-Z0-9][a-zA-Z0-9*_.-]*)*)$
Optional: {}
exclude string array Exclude defines ref patterns to exempt from the ruleset.
Refs matching exclude patterns will not be subject to the ruleset rules.
Useful for exempting release branches or other special refs.
MaxItems: 50
items:Pattern: ^(~DEFAULT_BRANCH\|~ALL\|refs/(heads\|tags)(/?[*a-zA-Z0-9][a-zA-Z0-9*_.-]*)*)$
Optional: {}

Repository

Repository is the Schema for the repositories API

Appears in: - RepositoryList

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string Repository
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata. Optional: {}
spec RepositorySpec spec defines the desired state of Repository Required: {}
status RepositoryStatus status defines the observed state of Repository Optional: {}

RepositoryList

RepositoryList contains a list of Repository

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string RepositoryList
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Repository array

RepositoryNameCondition

RepositoryNameCondition defines repository name patterns for organization-level ruleset targeting. Only effective for organization-level rulesets; ignored when applied at repository level. Use "~ALL" to target all repositories. See: https://docs.github.com/en/rest/orgs/rules#create-an-organization-repository-ruleset

Appears in: - RulesetConditions

Field Description Default Validation
include string array Include defines repository name patterns that the ruleset applies to.
Use "~ALL" to target all repositories. Supports wildcards ().
Examples: "~ALL", "my-repo-
", "backend-*"
MaxItems: 50
MinItems: 1
exclude string array Exclude defines repository name patterns to exempt from the ruleset. MaxItems: 50
Optional: {}
protected boolean Protected determines whether renaming a targeted repository is prevented. false Optional: {}

RepositoryPropertyCondition

RepositoryPropertyCondition defines repository property-based conditions for organization-level ruleset targeting. Only effective for organization-level rulesets; ignored when applied at repository level. Repositories matching the included property conditions (and not matching excluded ones) are targeted. See: https://docs.github.com/en/rest/orgs/rules#create-an-organization-repository-ruleset

Appears in: - RulesetConditions

Field Description Default Validation
include RepositoryPropertyTarget array Include defines repository property conditions that must match for the ruleset to apply.
A repository must match all included property conditions. The names of the properties in the slice are
validated to be unique.
MaxItems: 50
MinItems: 1
exclude RepositoryPropertyTarget array Exclude defines repository property conditions that exempt repositories from the ruleset.
A repository matching any of the conditions is excluded from the rule.
The names of the properties in the slice are validated to be unique.
MaxItems: 50
Optional: {}

RepositoryPropertyTarget

RepositoryPropertyTarget defines a single repository property condition for ruleset targeting. The repository must have the specified property set to one of the given values.

Appears in: - RepositoryPropertyCondition

Field Description Default Validation
name string Name is the name of the repository custom property to match against.
Must match a custom property defined at the organization level.
Note: restrict name length to be able to validate within budget
MaxLength: 100
MinLength: 1
Required: {}
propertyValues string array PropertyValues is the list of values to match against the custom property.
The repository's property value must be one of these values for the condition to match.
MinItems: 1
Required: {}
source string Source defines where the property is defined. Defaults to "custom" for organization-defined properties. Optional: {}

RepositorySpec

RepositorySpec defines the desired state of Repository. A Repository represents a GitHub repository and its configuration including settings, webhooks, rulesets, custom properties, and more. See: https://docs.github.com/en/rest/repos/repos

Appears in: - Repository

Field Description Default Validation
name string Name is the GitHub repository name.
Repository names can contain alphanumeric characters, hyphens, underscores, and periods.
MaxLength: 100
MinLength: 1
Pattern: ^[.a-zA-Z0-9][a-zA-Z0-9_.-]\{0,99\}$
Required: {}
Type: string
customProperties CustomPropertyValue array CustomProperties is a list of custom property values to apply to this repository.
These properties must be defined in the parent organization's custom properties.
If a property is not present in this list, it will be unset (removed) from the repository.
See: https://docs.github.com/en/rest/repos/custom-properties
ExactlyOneOf: [value values]
defaultBranch string DefaultBranch is the name of the default branch for the repository.
This is the base branch for pull requests and where the repository opens by default.
main MaxLength: 100
MinLength: 1
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]\{0,99\}$
Type: string
visibility string Visibility controls who can see the repository.
- "public": Anyone can see the repository
- "private": Only people with explicit access can see the repository
- "internal": Only members of the organization can see the repository (Enterprise only)
See: https://docs.github.com/en/rest/repos/repos#create-an-organization-repository
private Enum: [public private internal]
Type: string
hasIssues boolean HasIssues enables or disables the GitHub Issues feature for the repository.
When enabled, users can create and track issues.
true Type: boolean
hasProjects boolean HasProjects enables or disables the GitHub Projects (classic) feature for the repository.
Note: This refers to classic projects, not the newer Projects feature.
false Type: boolean
hasWiki boolean HasWiki enables or disables the GitHub Wiki feature for the repository.
When enabled, users can create wiki pages for documentation.
false Type: boolean
hasDownloads boolean HasDownloads enables or disables the Downloads feature for the repository.
This feature is deprecated and has been replaced by Releases.
false Type: boolean
isTemplate boolean IsTemplate marks the repository as a template repository.
Template repositories can be used as a starting point for new repositories.
See: https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-template-repository
false Type: boolean
mergeCommitTitle string MergeCommitTitle determines the default title for merge commits.
- "PR_TITLE": Use the pull request title
- "MERGE_MESSAGE": Use the default merge message format
See: https://docs.github.com/en/rest/repos/repos#update-a-repository
MERGE_MESSAGE Enum: [PR_TITLE MERGE_MESSAGE]
Type: string
mergeCommitMessage string MergeCommitMessage determines the default message for merge commits.
- "PR_BODY": Use the pull request body
- "PR_TITLE": Use the pull request title
- "BLANK": Use a blank message
See: https://docs.github.com/en/rest/repos/repos#update-a-repository
PR_TITLE Enum: [PR_BODY PR_TITLE BLANK]
Type: string
allowedMergeStrategies MergeStrategy array AllowedMergeStrategies lists the merge strategies allowed for pull requests.
See: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges
[map[type:merge] map[type:rebase]]
deleteBranchOnMerge boolean DeleteBranchOnMerge automatically deletes head branches after pull requests are merged.
This helps keep the repository clean by removing merged feature branches.
See: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches
true
about About About contains descriptive information about the repository.
archived boolean Archived marks the repository as archived (read-only).
Archived repositories cannot receive new issues, pull requests, or commits.
See: https://docs.github.com/en/repositories/archiving-a-github-repository/archiving-repositories
false
actionsEnabled boolean ActionsEnabled determines whether this repository can use GitHub Actions.
This must be enabled at the organization level for this setting to take effect.
See: https://docs.github.com/en/rest/actions/permissions
true
accessLevelForExternalWorkflows string AccessLevelForExternalWorkflows controls access to workflows outside the repository.
- "none": Only workflows in this repository can access actions and reusable workflows
- "user": Workflows in user-owned private repositories can access them
- "organization": Workflows across the organization can access them
- "enterprise": Workflows across the enterprise can access them
See: https://docs.github.com/en/rest/actions/permissions
none Enum: [none user organization enterprise]
availableActionsRunnerGroups string array AvailableActionsRunnerGroups lists runner group names that this repository can use.
This is only relevant when the organization's runner groups have "selected" visibility.
See: https://docs.github.com/en/rest/actions/self-hosted-runner-groups
organizationRef OrganizationRef OrganizationRef references the Organization CRD this repository belongs to. Required: {}
rulesetPresets LocalObjectReference array RulesetPresetList references RulesetPreset CRDs to apply to this repository.
These define branch protection rules, required status checks, and other policies.
See: https://docs.github.com/en/rest/repos/rules
webhookPresets LocalObjectReference array WebhookPresetList references WebhookPreset CRDs to create webhooks for this repository.
Webhooks send HTTP POST payloads to external services when specific events occur.
See: https://docs.github.com/en/rest/webhooks/repos
webhookIgnorePresets LocalObjectReference array WebhookIgnorePresetsList references WebhookIgnorePreset CRDs that define webhooks to ignore.
Webhooks matching these patterns will not be created even if they are in WebhookPresetList.
autolinksPresets LocalObjectReference array AutolinksPresetList references AutolinksPreset CRDs to create autolinks for this repository.
Autolinks automatically convert references (like "JIRA-123") into clickable links.
See: https://docs.github.com/en/rest/repos/autolinks
deployKeys DeployKey array DeployKeyList defines deploy keys to create for this repository.
Deploy keys are SSH keys that grant access to a single repository.
See: https://docs.github.com/en/rest/deploy-keys/deploy-keys
attachedCodeSecurityConfiguration CodeSecurityConfigurationRef AttachedCodeSecurityConfiguration references a CodeSecurityConfiguration to attach to this repository.
This is only used when the organization's configuration has "selected" attachment scope.
See: https://docs.github.com/en/rest/code-security/configurations

RepositoryStatus

RepositoryStatus defines the observed state of Repository.

Appears in: - Repository

Field Description Default Validation
webhooks object (keys:string, values:WebhookStatus) Webhooks is a list of webhooks configured for this repository
the key is the hash of the configuration
conditions Condition array conditions represent the current state of the Repository resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
Standard condition types include:
- "Available": the resource is fully functional
- "Progressing": the resource is being created or updated
- "Degraded": the resource failed to reach or maintain its desired state
The status of each condition is one of True, False, or Unknown.
Optional: {}
id integer ID is the repository ID as created by GitHub.
observedSubResourceGenerations object (keys:string, values:integer) ObservedSubResourceGenerations is a map of sub-resource names to their observed generations.
Keys are in the format "/<namespace/".
SubResources are kubernetes resources that are referenced by this Repository and are not managed
by their own controllers like WebhookPresets, RuleSetPresets and the attached CodeSecurityConfiguration

RequiredStatusChecks

RequiredStatusChecks defines status check requirements that must pass before merging. Status checks are CI/CD jobs, security scans, or other automated checks. See: https://docs.github.com/en/rest/repos/rules#required-status-checks

Appears in: - RulesetRules

Field Description Default Validation
checks StatusCheck array Checks lists the required status checks that must pass. AtMostOneOf: [integrationId appSlug]
MaxItems: 100
MinItems: 1
Required: {}
strictPolicy boolean StrictPolicy requires branches to be up to date with the base branch before merging.
When enabled, branches must include the latest changes from the base branch.
This prevents merge conflicts but may require additional merges/rebases.
false Optional: {}

RuleWorkflow

RuleWorkflow defines a single required workflow for the workflows rule. The workflow is referenced by its path in a repository. The repository is identified by name (resolved to a numeric ID at reconciliation time via the GitHub API).

Appears in: - WorkflowsRule

Field Description Default Validation
path string Path is the path to the workflow file relative to the repository root.
Example: ".github/workflows/ci.yaml"
MaxLength: 500
MinLength: 1
Required: {}
repositoryName string RepositoryName is the name of the repository containing the workflow.
Must be a repository within the same organization. The name will be resolved
to a numeric repository ID at reconciliation time via the GitHub API.
MaxLength: 100
MinLength: 1
Required: {}
ref string Ref is the git ref (branch, tag, or SHA) to use for the workflow file.
Example: "refs/heads/main"
Optional: {}

RulesetBypassActor

RulesetBypassActor defines an actor (user, team, or integration) who can bypass ruleset enforcement. Either ActorID (for direct specification) or ActorSlug (for name-based resolution) must be provided for ActorTypes "Integration" and "Team". ActorID must be provided for ActorType "RepositoryRole". Both must be empty for ActorType "DeployKey". See: https://docs.github.com/en/rest/repos/rules#create-an-organization-repository-ruleset

Validation: - AtMostOneOf: [actorId actorSlug]

Appears in: - RulesetPresetSpec

Field Description Default Validation
actorId integer ActorID is the numeric ID of the bypass actor.
This field is mutually exclusive with ActorSlug.
actorSlug string ActorSlug is the slug or name of the actor, which will be resolved to an ID.
This field is mutually exclusive with ActorID.
Only supported for ActorType "Integration" (GitHub Apps) and "Team" (organization teams).
For Integration, use the app slug (e.g., "my-github-app").
For Team, use the team slug (e.g., "platform-engineers").
actorType string ActorType specifies the type of actor that can bypass the ruleset.
- "Integration": A GitHub App
- "OrganizationAdmin": Organization administrators
- "RepositoryRole": Users with a specific repository role
- "Team": An organization team
- "DeployKey": A deploy key
- "EnterpriseOwner": Enterprise owners (GitHub Enterprise only)
Enum: [Integration OrganizationAdmin RepositoryRole Team DeployKey EnterpriseOwner]
Required: {}
bypassMode string BypassMode determines when and how the actor can bypass the ruleset.
- "always": Actor can always bypass the ruleset
- "pull_request": Actor can bypass only when submitting via pull request
Enum: [always pull_request]
Optional: {}

RulesetConditions

RulesetConditions define which refs are targeted by the Ruleset. For Organization-level rules they additionally define which Repositories are targeted by the Ruleset via the fields RepositoryName and RepositoryProperty. If neither RepositoryName nor RepositoryProperty are set for an Organization-level ruleset, the ruleset will target all repositories.

Validation: - AtMostOneOf: [repositoryName repositoryProperty]

Appears in: - RulesetPresetSpec

Field Description Default Validation
refName RefNameCondition RefName defines which git refs (branches or tags) a ruleset applies to. MinProperties: 1
Optional: {}
repositoryName RepositoryNameCondition RepositoryName targets repositories for Organization-level rulesets by their name.
The field is ignored for Repository-level rulesets.
Optional: {}
repositoryProperty RepositoryPropertyCondition RepositoryProperty targets repositories for Organization-level rulesets by matching against custom properties.
The field is ignored for Repository-level rulesets.
Optional: {}

RulesetEnforcement

Underlying type: string

RulesetEnforcement defines the enforcement level

Appears in: - RulesetPresetSpec

Field Description
disabled RulesetEnforcementDisabled means the ruleset is disabled
active RulesetEnforcementActive means the ruleset is actively enforced
evaluate RulesetEnforcementEvaluate means the ruleset is evaluated but not enforced

RulesetPreset

RulesetPreset is the Schema for the rulesetpresets API

Appears in: - RulesetPresetList

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string RulesetPreset
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata. Optional: {}
spec RulesetPresetSpec spec defines the desired state of RulesetPreset Required: {}
status RulesetPresetStatus status defines the observed state of RulesetPreset Optional: {}

RulesetPresetList

RulesetPresetList contains a list of RulesetPreset

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string RulesetPresetList
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items RulesetPreset array

RulesetPresetSpec

RulesetPresetSpec defines the desired state of RulesetPreset. A ruleset preset defines reusable repository rules that can be applied to multiple repositories or organizations. Rulesets enforce policies like branch protection, required reviews, and more. See: https://docs.github.com/en/rest/repos/rules

Appears in: - RulesetPreset

Field Description Default Validation
name string Name is the display name of the ruleset shown in the GitHub UI. MaxLength: 255
MinLength: 1
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9\s\[\]*/'_.,~-]*[a-zA-Z0-9\[\]]$
Required: {}
target string Target defines which ref types this ruleset applies to.
The Target 'repository' is only supported by Organization-level RulesetPresets. Repository-level
RulesetPresets with Target 'repository' are filtered out (i.e. are not checked nor applied).
branch Enum: [branch tag push repository]
Optional: {}
conditions RulesetConditions Conditions defines which refs are included or excluded in the list of targets for this Ruleset.
They also define which Repositories are targeted by Organization-level Rulesets.
AtMostOneOf: [repositoryName repositoryProperty]
Optional: {}
enforcement RulesetEnforcement Enforcement determines whether the ruleset is enforced.
- "disabled": Ruleset is not enforced
- "active": Ruleset is actively enforced; violations block operations
- "evaluate": Ruleset is evaluated but violations only generate warnings
Enum: [disabled active evaluate]
Required: {}
bypassActors RulesetBypassActor array BypassActors defines actors (users, teams, apps) who can bypass this ruleset.
Bypass actors can perform operations that would otherwise be blocked by the ruleset.
See: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets#about-bypass-mode-for-rulesets
AtMostOneOf: [actorId actorSlug]
MaxItems: 100
Optional: {}
rules RulesetRules Rules defines the specific rules to enforce in this ruleset. Required: {}

RulesetPresetStatus

RulesetPresetStatus defines the observed state of RulesetPreset.

Appears in: - RulesetPreset

Field Description Default Validation
conditions Condition array conditions represent the current state of the RulesetPreset resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
Standard condition types include:
- "Available": the resource is fully functional
- "Progressing": the resource is being created or updated
- "Degraded": the resource failed to reach or maintain its desired state
The status of each condition is one of True, False, or Unknown.
Optional: {}

RulesetRules

RulesetRules defines the specific rules to enforce in a ruleset. Each rule is optional and can be combined to create comprehensive protection policies. See: https://docs.github.com/en/rest/repos/rules#available-rules

Appears in: - RulesetPresetSpec

Field Description Default Validation
creation boolean Creation prevents the creation of matching refs.
When enabled, users cannot create branches or tags matching the ruleset target.
false Optional: {}
update boolean Update prevents updates to matching refs.
When enabled, users cannot push commits to matching branches.
false Optional: {}
deletion boolean Deletion prevents deletion of matching refs.
When enabled, users cannot delete matching branches or tags.
false Optional: {}
requiredLinearHistory boolean RequiredLinearHistory requires branches to have a linear commit history.
When enabled, merge commits are not allowed; only rebasing and fast-forward merges are permitted.
false Optional: {}
requiredSignatures boolean RequiredSignatures requires commits to be signed with a verified signature.
When enabled, only commits signed with GPG, SSH, or S/MIME are allowed.
See: https://docs.github.com/en/authentication/managing-commit-signature-verification
false Optional: {}
pullRequest PullRequestRule PullRequest defines pull request requirements for merging.
See: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-pull-request-reviews-before-merging
Optional: {}
requiredStatusChecks RequiredStatusChecks RequiredStatusChecks defines status checks that must pass before merging.
See: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-status-checks-before-merging
Optional: {}
nonFastForward boolean NonFastForward prevents non-fast-forward updates.
When enabled, only fast-forward pushes are allowed, preventing force pushes.
false Optional: {}
commitMessagePattern PatternRule CommitMessagePattern enforces a pattern for commit messages.
Use this to enforce commit message conventions like Conventional Commits.
Optional: {}
commitAuthorEmailPattern PatternRule CommitAuthorEmailPattern enforces a pattern for commit author email addresses.
Use this to ensure commits come from verified email domains.
Optional: {}
committerEmailPattern PatternRule CommitterEmailPattern enforces a pattern for committer email addresses. Optional: {}
branchNamePattern PatternRule BranchNamePattern enforces a pattern for branch names.
Use this to enforce branch naming conventions like "feature/" or "hotfix/".
Optional: {}
tagNamePattern PatternRule TagNamePattern enforces a pattern for tag names.
Use this to enforce semantic versioning or other tag naming conventions.
Optional: {}
copilotReview CopilotCodeReviewRule CopilotReview automatically requests a GitHub Copilot pull request review
if the author has access to Copilot code review and their premium requests quota has not reached the limit.
Optional: {}
workflows WorkflowsRule Workflows defines required workflow rules that must pass before merging.
This rule type is only effective for organization-level rulesets and is ignored
when the preset is applied at the repository level.
See: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets#require-workflows-to-pass-before-merging
Optional: {}

RunnerGroup

RunnerGroup configures a self-hosted runner group for GitHub Actions in an organization. Runner groups allow you to control which repositories can use specific sets of self-hosted runners. See: https://docs.github.com/en/rest/actions/self-hosted-runner-groups

Appears in: - ActionsSettings

Field Description Default Validation
name string Name is the unique name of the runner group within the organization. Required: {}
visibility string Visibility determines which repositories can access runners in this group.
- "all": All repositories in the organization can use these runners
- "private": Only private repositories can use these runners
- "selected": Only specific repositories can use these runners (selected via AvailableActionsRunnerGroups in RepositorySpec)
all Enum: [all private selected]
restrictedToWorkflows boolean RestrictedToWorkflows determines whether this runner group can only run specific workflows.
If true, only workflows listed in SelectedWorkflows can use runners in this group.
This provides additional security by limiting which workflows can execute on sensitive runners.
false
selectedWorkflows string array SelectedWorkflows lists the workflows that can use runners in this group.
This field is only used when RestrictedToWorkflows is true.
Each entry must be a full workflow path with a reference (branch, tag, or SHA).
Example: "octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"

SecretScanningDelegatedBypassOptions

SecretScanningDelegatedBypassOptions configures reviewers who can approve secret scanning bypass requests. When delegated bypass is enabled, contributors can request to bypass secret scanning push protection, and the specified reviewers can approve or deny these requests. See: https://docs.github.com/en/rest/code-security/configurations

Appears in: - CodeSecurityConfigurationSpec

Field Description Default Validation
reviewers BypassReviewer array Reviewers is a list of teams or organization roles that can review bypass requests. ExactlyOneOf: [reviewerId reviewerName]

SelectedAllowedActions

SelectedAllowedActions defines which specific actions are allowed when AllowedActions is set to "selected". At least one setting must be configured to allow some actions. See: https://docs.github.com/en/rest/actions/permissions

Appears in: - ActionsSettings

Field Description Default Validation
githubOwnedAllowed boolean GitHubOwnedAllowed determines whether actions created by GitHub are allowed to run.
This includes actions in the "actions" and "github" organizations.
false
verifiedAllowed boolean VerifiedAllowed determines whether actions from verified creators are allowed to run.
Verified creators are trusted partners and organizations with verified domains.
false
patternsAllowed string array PatternsAllowed is a list of glob patterns specifying allowed actions.
Each pattern can match action repositories using wildcards, e.g., "my-org/" or "/action-name@*".
[]

StatusCheck

StatusCheck defines a required status check that must pass before merging. A status check can be provided by a GitHub App or CI/CD integration. See: https://docs.github.com/en/rest/repos/rules#required-status-checks

Validation: - AtMostOneOf: [integrationId appSlug]

Appears in: - RequiredStatusChecks

Field Description Default Validation
context string Context is the name of the status check as reported by the CI/CD system or app.
Examples: "ci/circleci: build", "Security Scan", "Unit Tests"
MaxLength: 255
MinLength: 1
Required: {}
integrationId integer IntegrationID is the numeric ID of the GitHub App integration providing the status check.
This field is mutually exclusive with AppSlug.
Minimum: 1
Optional: {}
appSlug string AppSlug is the slug of the GitHub App integration providing the status check.
This field is mutually exclusive with IntegrationID.
The slug will be resolved to the corresponding integration ID.
Only supported for GitHub App integrations.
Example: "my-ci-app"
Optional: {}

Team

Appears in: - TeamList

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string Team
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata. Optional: {}
spec TeamSpec spec defines the desired state of Team ExactlyOneOf: [idpGroup members]
Required: {}
status TeamStatus status defines the observed state of Team Optional: {}

TeamList

TeamList contains a list of Teams

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string TeamList
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Team array

TeamSpec

TeamSpec defines the desired state of Team within one or more Organizations. Teams group organization members and can be assigned permissions to repositories. A Team can exist in multiple organizations simultaneously. See: https://docs.github.com/en/rest/teams/teams

Validation: - ExactlyOneOf: [idpGroup members]

Appears in: - Team

Field Description Default Validation
name string Name is the display name of the team in GitHub.
GitHub automatically generates a "slug" from this name for use in URLs and APIs.
MaxLength: 100
MinLength: 1
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]\{0,99\}$
Required: {}
Type: string
members string array Members is a list of GitHub usernames to add to the team.
This field is mutually exclusive with IDPGroup.
When set, team membership is managed manually through this list.
Members not in this list will be removed from the team.
MaxItems: 100
idpGroup string IDPGroup is the name of the Identity Provider group to synchronize with this team.
This field is mutually exclusive with Members.
When set, team membership is automatically synchronized from the IDP group.
See: https://docs.github.com/en/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group
MaxLength: 100
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]\{0,99\}$
Type: string
description string Description provides additional information about the team's purpose.
This appears on the team's page in GitHub.
MaxLength: 1000
Optional: {}
Type: string
privacy string Privacy controls the visibility of the team within the organization.
- "closed": The team is visible to all members of the organization, but only team members can see team discussions and manage team membership.
- "secret": The team is only visible to organization owners and team members.
See: https://docs.github.com/en/rest/teams/teams#create-a-team
closed Enum: [closed secret]
Optional: {}
permission string Permission specifies the default permission granted to team members for organization repositories.
- "pull": Team members can pull (read) from organization repositories.
- "push": Team members can pull and push (read and write) to organization repositories.
Note: This is a legacy field. Use organization roles for more fine-grained permissions.
See: https://docs.github.com/en/rest/teams/teams#create-a-team
pull Enum: [pull push]
Optional: {}
notificationSetting string NotificationSetting controls whether team members receive notifications for the team.
- "notifications_disabled": No one receives notifications.
- "notifications_enabled": Everyone receives notifications when the team is @mentioned.
See: https://docs.github.com/en/rest/teams/teams#create-a-team
notifications_disabled Enum: [notifications_disabled notifications_enabled]
Optional: {}
organizationRoles string array OrganizationRoles is a list of organization role names to assign to this team.
Organization roles define the permissions the team has within the organization.
If not specified, defaults to empty list.
Set to an empty list to remove all role assignments.
See: https://docs.github.com/en/rest/orgs/organization-roles
Optional: {}
organizationRefs OrganizationRef array OrganizationRefs is a list of Organization CRDs that this team belongs to.
The team will be created or updated in all referenced organizations.
Removing an organization from this list will delete the team from that organization
while preserving it in other organizations.
MinItems: 1
Required: {}

TeamStatus

TeamStatus defines the observed state of Team.

Appears in: - Team

Field Description Default Validation
conditions Condition array conditions represent the current state of the Team resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
Standard condition types include:
- "Available": the resource is fully functional
- "Progressing": the resource is being created or updated
- "Degraded": the resource failed to reach or maintain its desired state
The status of each condition is one of True, False, or Unknown.
Optional: {}
previousOrganizationRefs OrganizationRef array PreviousOrganizationRefs tracks the organization references from the last successful reconciliation.
This allows the reconciler to detect when organizations are removed from the spec
and clean up teams from those organizations while preserving them in remaining organizations.
Optional: {}
slug string Slug is the URL-friendly version of the team name as assigned by GitHub.
This slug is used in URLs and API calls. GitHub generates it automatically from the Name field.
Example: A team named "Platform Engineers" might have the slug "platform-engineers".

Topic

Topic represents a repository topic (tag) for categorization. See: https://docs.github.com/en/rest/repos/repos#replace-all-repository-topics

Appears in: - About

Field Description Default Validation
name string Name is the topic name.
Topics must be lowercase and can contain letters, numbers, and hyphens.
They must start with a letter or number.
MaxLength: 50
Pattern: ^[a-z0-9][a-z0-9-]\{0,49\}$
Type: string

WebhookIgnorePreset

WebhookIgnorePreset is the Schema for the webhookignorepresets API

Appears in: - WebhookIgnorePresetList

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string WebhookIgnorePreset
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata. Optional: {}
spec WebhookIgnorePresetSpec spec defines the desired state of WebhookIgnorePreset Required: {}
status WebhookIgnorePresetStatus status defines the observed state of WebhookIgnorePreset Optional: {}

WebhookIgnorePresetList

WebhookIgnorePresetList contains a list of WebhookIgnorePreset

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string WebhookIgnorePresetList
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items WebhookIgnorePreset array

WebhookIgnorePresetSpec

WebhookIgnorePresetSpec defines the desired state of WebhookIgnorePreset. WebhookIgnorePresets allow you to exclude certain webhooks from being created, even if they are referenced in a repository's WebhookPresetList. This is useful for globally excluding webhooks based on URL patterns.

Appears in: - WebhookIgnorePreset

Field Description Default Validation
ignoreURLRegex string IgnoreURLRegex is a regular expression pattern to match against webhook payload URLs.
Webhooks with URLs matching this pattern will not be created, even if they are
referenced in a repository's WebhookPresetList.
Example: "^https://deprecated\.example\.com/.*" to ignore all webhooks to deprecated.example.com
Optional: {}

WebhookIgnorePresetStatus

WebhookIgnorePresetStatus defines the observed state of WebhookIgnorePreset.

Appears in: - WebhookIgnorePreset

Field Description Default Validation
conditions Condition array conditions represent the current state of the WebhookIgnorePreset resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
Standard condition types include:
- "Available": the resource is fully functional
- "Progressing": the resource is being created or updated
- "Degraded": the resource failed to reach or maintain its desired state
The status of each condition is one of True, False, or Unknown.
Optional: {}

WebhookPreset

WebhookPreset is the Schema for the webhookpresets API

Appears in: - WebhookPresetList

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string WebhookPreset
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata. Optional: {}
spec WebhookPresetSpec spec defines the desired state of WebhookPreset Required: {}
status WebhookPresetStatus status defines the observed state of WebhookPreset Optional: {}

WebhookPresetList

WebhookPresetList contains a list of WebhookPreset

Field Description Default Validation
apiVersion string github.interhyp.de/v1alpha1
kind string WebhookPresetList
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items WebhookPreset array

WebhookPresetSecretSpec

WebhookPresetSecretSpec references a Kubernetes Secret containing the webhook secret.

Appears in: - WebhookPresetSpec

Field Description Default Validation
name string Name is the name of the Kubernetes Secret containing the webhook secret. MaxLength: 250
MinLength: 1
Pattern: ^[a-zA-Z0-9.-]+$
Required: {}
Type: string
key string Key is the key within the Secret that contains the webhook secret value. MaxLength: 250
MinLength: 1
Pattern: ^[a-zA-Z0-9.-]+$
Required: {}
Type: string
namespace string Namespace is the namespace of the Secret.
If not specified, the namespace of the WebhookPreset is used.
Optional: {}
Type: string

WebhookPresetSpec

WebhookPresetSpec defines the desired state of WebhookPreset. Webhooks allow external services to be notified when certain events occur in a repository. See: https://docs.github.com/en/rest/webhooks/repos

Appears in: - WebhookPreset

Field Description Default Validation
payloadUrl string PayloadURL is the URL that will receive the webhook POST requests.
Must be a publicly accessible HTTP or HTTPS endpoint.
GitHub will send HTTP POST requests to this URL when subscribed events occur.
MaxLength: 2048
MinLength: 1
Pattern: ^https?://[a-zA-Z0-9.-]+(:[0-9]+)?(/.*)?$
Required: {}
Type: string
secret WebhookPresetSecretSpec Secret is a reference to a Kubernetes Secret containing the webhook secret.
The webhook secret is used by GitHub to sign webhook payloads.
Your service can verify this signature to ensure the request came from GitHub.
This field takes precedence over SecretValue if both are provided.
See: https://docs.github.com/en/webhooks/using-webhooks/validating-webhook-deliveries
secretValue string SecretValue is the plaintext value of the webhook secret.
Use this for simple cases, but Secret (referencing a Kubernetes Secret) is more secure.
If both Secret and SecretValue are provided, Secret takes precedence.
Type: string
contentType string ContentType specifies the format of the webhook payload.
- "json": Send payload as application/json (recommended)
- "form": Send payload as application/x-www-form-urlencoded
See: https://docs.github.com/en/webhooks/webhook-events-and-payloads
Enum: [json form]
Type: string
active boolean Active determines whether the webhook is active and will send events.
Set to false to temporarily disable the webhook without deleting it.
true
events string array Events is a list of GitHub event types that trigger this webhook.
If empty, the webhook subscribes to all events ("*").
Common events include "push", "pull_request", "issues", "release".
See: https://docs.github.com/en/webhooks/webhook-events-and-payloads
MaxItems: 100
MinItems: 0
Type: array
items:Enum: [branch_protection_rule check_run check_suite code_scanning_alert commit_comment create delete dependabot_alert deploy_key deployment deployment_status discussion discussion_comment fork github_app_authorization gollum installation installation_repositories issue_comment issues label marketplace_purchase member membership merge_group meta milestone organization org_block package page_build ping project project_card project_column public pull_request pull_request_review pull_request_review_comment pull_request_review_thread push registry_package release repository repository_dispatch repository_import repository_vulnerability_alert secret_scanning_alert security_advisory sponsorship star status team team_add watch workflow_dispatch workflow_job workflow_run]
sslVerify boolean SSLVerify enables SSL certificate verification for the webhook endpoint.
When true, GitHub verifies the SSL certificate of the PayloadURL.
Disable only for testing with self-signed certificates; always enable in production.
true

WebhookPresetStatus

WebhookPresetStatus defines the observed state of WebhookPreset.

Appears in: - WebhookPreset

Field Description Default Validation
conditions Condition array conditions represent the current state of the WebhookPreset resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
Standard condition types include:
- "Available": the resource is fully functional
- "Progressing": the resource is being created or updated
- "Degraded": the resource failed to reach or maintain its desired state
The status of each condition is one of True, False, or Unknown.
Optional: {}

WebhookStatus

WebhookStatus defines the status of a webhook configured for a repository

Appears in: - RepositoryStatus

Field Description Default Validation
secretHash string Secret is a hash of the secret used for the webhook

WorkflowsRule

WorkflowsRule defines required workflow rules that must pass before merging. Workflows are GitHub Actions workflows that are required to run and pass. This rule type is only effective for organization-level rulesets and is ignored when the preset is applied at the repository level. See: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets#require-workflows-to-pass-before-merging

Appears in: - RulesetRules

Field Description Default Validation
doNotEnforceOnCreate boolean DoNotEnforceOnCreate disables enforcement of this rule for newly created refs.
When true, the workflow requirement is not enforced on the first push creating the ref.
false Optional: {}
workflows RuleWorkflow array Workflows lists the required workflows that must pass. MaxItems: 100
MinItems: 1
Required: {}