v1alpha1

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the github v1alpha1 API group +kubebuilder:object:generate=true +groupName=github.github-operator.eczy.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "github.github-operator.eczy.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type BranchProtection

type BranchProtection struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   BranchProtectionSpec   `json:"spec,omitempty"`
	Status BranchProtectionStatus `json:"status,omitempty"`
}

BranchProtection is the Schema for the branchprotections API

func (*BranchProtection) DeepCopy

func (in *BranchProtection) DeepCopy() *BranchProtection

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BranchProtection.

func (*BranchProtection) DeepCopyInto

func (in *BranchProtection) DeepCopyInto(out *BranchProtection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BranchProtection) DeepCopyObject

func (in *BranchProtection) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BranchProtectionList

type BranchProtectionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BranchProtection `json:"items"`
}

BranchProtectionList contains a list of BranchProtection

func (*BranchProtectionList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BranchProtectionList.

func (*BranchProtectionList) DeepCopyInto

func (in *BranchProtectionList) DeepCopyInto(out *BranchProtectionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BranchProtectionList) DeepCopyObject

func (in *BranchProtectionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BranchProtectionSpec

type BranchProtectionSpec struct {

	// The owner of the repository associated with this branch protection rule.
	RepositoryOwner string `json:"repositoryOwner"`

	// The repository associated with this branch protection rule.
	RepositoryName string `json:"repositoryName"`

	// Identifies the protection rule pattern.
	Pattern string `json:"pattern"`

	// Can this branch be deleted.
	// +optional
	AllowsDeletions *bool `json:"allowsDeletions,omitempty"`

	// Are force pushes allowed on this branch.
	// +optional
	AllowsForcePushes *bool `json:"allowsForcePushes,omitempty"`

	// Is branch creation a protected operation.
	// +optional
	BlocksCreations *bool `json:"blocksCreations,omitempty"`

	// A list of users able to force push for this branch protection rule.
	// +optional
	BypassForcePushUsers []string `json:"bypassForcePushUsers,omitempty"`

	// A list of apps able to force push for this branch protection rule.
	// +optional
	BypassForcePushApps []string `json:"bypassForcePushApps,omitempty"`

	// A list of teams able to force push for this branch protection rule.
	// +optional
	BypassForcePushTeams []string `json:"bypassForcePushTeams,omitempty"`

	// A list of users able to bypass PRs for this branch protection rule.
	// +optional
	BypassPullRequestUsers []string `json:"bypassPullRequestUsers,omitempty"`

	// A list of apps able to bypass PRs for this branch protection rule.
	// +optional
	BypassPullRequestApps []string `json:"bypassPullRequestApps,omitempty"`

	// A list of teams able to bypass PRs for this branch protection rule.
	// +optional
	BypassPullRequestTeams []string `json:"bypassPullRequestTeams,omitempty"`

	// Will new commits pushed to matching branches dismiss pull request review approvals.
	// +optional
	DismissesStaleReviews *bool `json:"dismissesStaleReviews,omitempty"`

	// Can admins override branch protection.
	// +optional
	IsAdminEnforced *bool `json:"isAdminEnforced,omitempty"`

	// Whether users can pull changes from upstream when the branch is locked. Set to true to allow fork syncing. Set to false to prevent fork syncing.
	// +optional
	LockAllowsFetchAndMerge *bool `json:"lockAllowsFetchAndMerge,omitempty"`

	// Whether to set the branch as read-only. If this is true, users will not be able to push to the branch.
	// +optional
	LockBranch *bool `json:"lockBranch,omitempty"`

	// A list of user push allowances for this branch protection rule.
	// +optional
	PushAllowanceUsers []string `json:"pushAllowanceUsers,omitempty"`

	// A list of app push allowances for this branch protection rule.
	// +optional
	PushAllowanceApps []string `json:"pushAllowanceApps,omitempty"`

	// A list of team push allowances for this branch protection rule.
	// +optional
	PushAllowanceTeams []string `json:"pushAllowanceTeams,omitempty"`

	// Whether the most recent push must be approved by someone other than the person who pushed it.
	// +optional
	RequireLastPushApproval *bool `json:"requireLastPushApproval,omitempty"`

	// Number of approving reviews required to update matching branches.
	// +optional
	RequiredApprovingReviewCount *int `json:"requiredApprovingReviewCount,omitempty"`

	// List of required deployment environments that must be deployed successfully to update matching branches.
	// +optional
	RequiredDeploymentEnvironments []string `json:"requiredDeploymentEnvironments,omitempty"`

	// List of required status check contexts that must pass for commits to be accepted to matching branches.
	// +optional
	RequiredStatusCheckContexts []string `json:"requiredStatusCheckContexts,omitempty"`

	// List of required status checks that must pass for commits to be accepted to matching branches.
	// +optional
	RequiredStatusChecks []RequiredStatusCheck `json:"requiredStatusChecks,omitempty"`

	// Are approving reviews required to update matching branches.
	// +optional
	RequiresApprovingReviews *bool `json:"requiresApprovingReviews,omitempty"`

	// Are reviews from code owners required to update matching branches.
	// +optional
	RequiresCodeOwnerReviews *bool `json:"requiresCodeOwnerReviews,omitempty"`

	// Are commits required to be signed.
	// +optional
	RequiresCommitSignatures *bool `json:"requiresCommitSignatures,omitempty"`

	// Are conversations required to be resolved before merging.
	// +optional
	RequiresConversationResolution *bool `json:"requiresConversationResolution,omitempty"`

	// Does this branch require deployment to specific environments before merging.
	// +optional
	RequiresDeployments *bool `json:"requiresDeployments,omitempty"`

	// Are merge commits prohibited from being pushed to this branch.
	// +optional
	RequiresLinearHistory *bool `json:"requiresLinearHistory,omitempty"`

	// Are status checks required to update matching branches.
	// +optional
	RequiresStatusChecks *bool `json:"requiresStatusChecks,omitempty"`

	// Are branches required to be up to date before merging.
	// +optional
	RequiresStrictStatusChecks *bool `json:"requiresStrictStatusChecks,omitempty"`

	// Is pushing to matching branches restricted.
	// +optional
	RestrictsPushes *bool `json:"restrictsPushes,omitempty"`

	// Is dismissal of pull request reviews restricted.
	// +optional
	RestrictsReviewDismissals *bool `json:"restrictsReviewDismissals,omitempty"`

	// A list of user review dismissal allowances for this branch protection rule.
	// +optional
	ReviewDismissalUsers []string `json:"reviewDismissalUsers,omitempty"`

	// A list of app review dismissal allowances for this branch protection rule.
	// +optional
	ReviewDismissalApps []string `json:"reviewDismissalApps,omitempty"`

	// A list of team review dismissal allowances for this branch protection rule.
	// +optional
	ReviewDismissalTeams []string `json:"reviewDismissalTeams,omitempty"`
}

BranchProtectionSpec defines the desired state of BranchProtection

func (*BranchProtectionSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BranchProtectionSpec.

func (*BranchProtectionSpec) DeepCopyInto

func (in *BranchProtectionSpec) DeepCopyInto(out *BranchProtectionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BranchProtectionStatus

type BranchProtectionStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	LastUpdateTimestamp *metav1.Time `json:"lastUpdateTimestamp,omitempty"`

	NodeId                         *string               `json:"nodeId,omitempty"`
	RepositoryNodeId               *string               `json:"repositoryNodeId,omitempty"`
	RepositoryOwner                *string               `json:"repositoryOwner,omitempty"`
	RepositoryName                 *string               `json:"repositoryName,omitempty"`
	Pattern                        *string               `json:"branchPattern,omitempty"`
	AllowsDeletions                *bool                 `json:"allowsDeletions,omitempty"`
	AllowsForcePushes              *bool                 `json:"allowsForcePushes,omitempty"`
	BlocksCreations                *bool                 `json:"blocksCreations,omitempty"`
	BypassForcePushUsers           []string              `json:"bypassForcePushUsers,omitempty"`
	BypassForcePushApps            []string              `json:"bypassForcePushApps,omitempty"`
	BypassForcePushTeams           []string              `json:"bypassForcePushteams,omitempty"`
	BypassPullRequestUsers         []string              `json:"bypassPullRequestUsers,omitempty"`
	BypassPullRequestApps          []string              `json:"bypassPullRequestApps,omitempty"`
	BypassPullRequestTeams         []string              `json:"bypassPullRequestTeams,omitempty"`
	DismissesStaleReviews          *bool                 `json:"dismissesStaleReviews,omitempty"`
	IsAdminEnforced                *bool                 `json:"isAdminEnforced,omitempty"`
	LockAllowsFetchAndMerge        *bool                 `json:"lockAllowsFetchAndMerge,omitempty"`
	LockBranch                     *bool                 `json:"lockBranch,omitempty"`
	PushAllowanceUsers             []string              `json:"pushAllowanceUsers,omitempty"`
	PushAllowanceApps              []string              `json:"pushAllowanceApps,omitempty"`
	PushAllowanceTeams             []string              `json:"pushAllowanceTeams,omitempty"`
	RequireLastPushApproval        *bool                 `json:"requireLastPushApproval,omitempty"`
	RequiredApprovingReviewCount   *int                  `json:"requiredApprovingReviewCount,omitempty"`
	RequiredDeploymentEnvironments []string              `json:"requiredDeploymentEnvironments,omitempty"`
	RequiredStatusCheckContexts    []string              `json:"requiredStatusCheckContexts,omitempty"`
	RequiredStatusChecks           []RequiredStatusCheck `json:"requiredStatusChecks,omitempty"`
	RequiresApprovingReviews       *bool                 `json:"requiresApprovingReviews,omitempty"`
	RequiresCodeOwnerReviews       *bool                 `json:"requiresCodeOwnerReviews,omitempty"`
	RequiresCommitSignatures       *bool                 `json:"requiresCommitSignatures,omitempty"`
	RequiresConversationResolution *bool                 `json:"requiresConversationResolution,omitempty"`
	RequiresDeployments            *bool                 `json:"requiresDeployments,omitempty"`
	RequiresLinearHistory          *bool                 `json:"requiresLinearHistory,omitempty"`
	RequiresStatusChecks           *bool                 `json:"requiresStatusChecks,omitempty"`
	RequiresStrictStatusChecks     *bool                 `json:"requiresStrictStatusChecks,omitempty"`
	RestrictsPushes                *bool                 `json:"restrictsPushes,omitempty"`
	RestrictsReviewDismissals      *bool                 `json:"restrictsReviewDismissals,omitempty"`
	ReviewDismissalUsers           []string              `json:"reviewDismissalUsers,omitempty"`
	ReviewDismissalApps            []string              `json:"reviewDismissalApps,omitempty"`
	ReviewDismissalTeams           []string              `json:"reviewDismissalTeams,omitempty"`
}

BranchProtectionStatus defines the observed state of BranchProtection

func (*BranchProtectionStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BranchProtectionStatus.

func (*BranchProtectionStatus) DeepCopyInto

func (in *BranchProtectionStatus) DeepCopyInto(out *BranchProtectionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultRepositoryPermission

type DefaultRepositoryPermission string

+kubebuilder:validation:Enum=read;write;none;admin

const (
	DefaultRepositoryPermissionRead  DefaultRepositoryPermission = "read"
	DefaultRepositoryPermissionWrite DefaultRepositoryPermission = "write"
	DefaultRepositoryPermissionNone  DefaultRepositoryPermission = "none"
	DefaultRepositoryPermissionAdmin DefaultRepositoryPermission = "admin"
)

type MergeCommitMessage

type MergeCommitMessage string

+kubebuilder:validation:Enum=PR_BODY;PR_TITLE;BLANK

const (
	MergeCommitMessagePrBody  MergeCommitMessage = "PR_BODY"
	MergeCommitMessagePrTitle MergeCommitMessage = "PR_TITLE"
	MergeCommitMessageBlank   MergeCommitMessage = "BLANK"
)

type MergeCommitTitle

type MergeCommitTitle string

+kubebuilder:validation:Enum=PR_TITLE;MERGE_MESSAGE

const (
	MergeCommitTitlePrTitle      MergeCommitTitle = "PR_TITLE"
	MergeCommitTitleMergeMessage MergeCommitTitle = "MERGE_MESSAGE"
)

type NotificationSetting

type NotificationSetting string

+kubebuilder:validation:Enum=notifications_enabled;notifications_disabled

const (
	// team members receive notifications when the team is @mentioned.
	Enabled NotificationSetting = "notificationsEnabled"
	// no one receives notifications.
	Disabled NotificationSetting = "notificationsDisabled"
)

type Organization

type Organization struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OrganizationSpec   `json:"spec,omitempty"`
	Status OrganizationStatus `json:"status,omitempty"`
}

Organization is the Schema for the organizations API

func (*Organization) DeepCopy

func (in *Organization) DeepCopy() *Organization

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Organization.

func (*Organization) DeepCopyInto

func (in *Organization) DeepCopyInto(out *Organization)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Organization) DeepCopyObject

func (in *Organization) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OrganizationList

type OrganizationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Organization `json:"items"`
}

OrganizationList contains a list of Organization

func (*OrganizationList) DeepCopy

func (in *OrganizationList) DeepCopy() *OrganizationList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationList.

func (*OrganizationList) DeepCopyInto

func (in *OrganizationList) DeepCopyInto(out *OrganizationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OrganizationList) DeepCopyObject

func (in *OrganizationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OrganizationSpec

type OrganizationSpec struct {

	// The organization name. The name is not case sensitive.
	Login string `json:"login"`

	// The shorthand name of the company.
	// +optional
	Name *string `json:"name,omitempty"`

	// Billing email address. This address is not publicized.
	// +optional
	BillingEmail *string `json:"billingEmail,omitempty"`

	// The company name.
	// +optional
	Company *string `json:"company,omitempty"`

	// The publicly visible email address.
	// +optional
	Email *string `json:"email,omitempty"`

	// The Twitter username of the company.
	// +optional
	TwitterUsername *string `json:"twitterUsername,omitempty"`

	// The location.
	// +optional
	Location *string `json:"location,omitempty"`

	// The description of the company.
	// +optional
	Description *string `json:"description,omitempty"`

	// Whether an organization can use organization projects.
	// +optional
	HasOrganizationProjects *bool `json:"hasOrganizationProjects,omitempty"`

	// Whether repositories that belong to the organization can use repository projects.
	// +optional
	HasRepositoryProjects *bool `json:"hasRepositoryProjects,omitempty"`

	// Default permission level members have for organization repositories.
	// Can be one of: read, write, admin, none
	// +optional
	DefaultRepositoryPermission *DefaultRepositoryPermission `json:"defaultRepositoryPermission,omitempty"`

	// Whether of non-admin organization members can create repositories.
	// +optional
	MembersCanCreateRepositories *bool `json:"membersCanCreateRepositories,omitempty"`

	// Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+.
	// +optional
	MembersCanCreateInternalRepositories *bool `json:"membersCanCreateInternalRepositories,omitempty"`

	// Whether organization members can create private repositories, which are visible to organization members with permission.
	// +optional
	MembersCanCreatePrivateRepositories *bool `json:"membersCanCreatePrivateRepositories,omitempty"`

	// Whether organization members can create public repositories, which are visible to anyone.
	// +optional
	MembersCanCreatePublicRepositories *bool `json:"membersCanCreatePublicRepositories,omitempty"`

	// Whether organization members can create GitHub Pages sites.
	// +optional
	MembersCanCreatePages *bool `json:"membersCanCreatePages,omitempty"`

	// Whether organization members can create public GitHub Pages sites.
	// +optional
	MembersCanCreatePublicPages *bool `json:"membersCanCreatePublicPages,omitempty"`

	// Whether organization members can create private GitHub Pages sites.
	// +optional
	MembersCanCreatePrivatePages *bool `json:"membersCanCreatePrivatePages,omitempty"`

	// Whether organization members can create private GitHub Pages sites.
	// +optional
	MembersCanForkPrivateRepositories *bool `json:"membersCanForkPrivateRepositories,omitempty"`

	// Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface.
	// +optional
	WebCommitSignoffRequired *bool `json:"webCommitSignoffRequired,omitempty"`

	// +optional
	Blog *string `json:"blog,omitempty"`

	// Whether GitHub Advanced Security is automatically enabled for new repositories.
	// +optional
	AdvancedSecurityEnabledForNewRepositories *bool `json:"advancedSecurityEnabledForNewRepositories,omitempty"`

	// Whether Dependabot alerts is automatically enabled for new repositories.
	// +optional
	DependabotAlertsEnabledForNewRepositories *bool `json:"dependabotAlertsEnabledForNewRepositories,omitempty"`

	// Whether Dependabot security updates is automatically enabled for new repositories.
	// +optional
	DependabotSecurityUpdatesEnabledForNewRepositories *bool `json:"dependabotSecurityUpdatesEnabledForNewRepositories,omitempty"`

	// Whether dependency graph is automatically enabled for new repositories.
	// +optional
	DependencyGraphEnabledForNewRepositories *bool `json:"dependencyGraphEnabledForNewRepositories,omitempty"`

	// Whether secret scanning is automatically enabled for new repositories.
	// +optional
	SecretScanningEnabledForNewRepositories *bool `json:"secretScanningEnabledForNewRepositories,omitempty"`

	// Whether secret scanning push protection is automatically enabled for new repositories.
	// +optional
	SecretScanningPushProtectionEnabledForNewRepositories *bool `json:"secretScanningPushProtectionEnabledForNewRepositories,omitempty"`
}

OrganizationSpec defines the desired state of Organization

func (*OrganizationSpec) DeepCopy

func (in *OrganizationSpec) DeepCopy() *OrganizationSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSpec.

func (*OrganizationSpec) DeepCopyInto

func (in *OrganizationSpec) DeepCopyInto(out *OrganizationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrganizationStatus

type OrganizationStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Login               *string      `json:"login,omitempty"`
	NodeId              *string      `json:"nodeId,omitempty"`
	LastUpdateTimestamp *metav1.Time `json:"lastUpdateTimestamp,omitempty"`

	Name                                                  string                       `json:"name"`
	BillingEmail                                          string                       `json:"billingEmail,omitempty"`
	Company                                               string                       `json:"company,omitempty"`
	Email                                                 string                       `json:"email"`
	TwitterUsername                                       *string                      `json:"twitterUsername,omitempty"`
	Location                                              *string                      `json:"location,omitempty"`
	Description                                           *string                      `json:"description,omitempty"`
	HasOrganizationProjects                               *bool                        `json:"hasOrganizationProjects,omitempty"`
	HasRepositoryProjects                                 *bool                        `json:"hasRepositoryProjects,omitempty"`
	DefaultRepositoryPermission                           *DefaultRepositoryPermission `json:"defaultRepositoryPermission,omitempty"`
	MembersCanCreateRepositories                          *bool                        `json:"membersCanCreateRepositories,omitempty"`
	MembersCanCreateInternalRepositories                  *bool                        `json:"membersCanCreateInternalRepositories,omitempty"`
	MembersCanCreatePrivateRepositories                   *bool                        `json:"membersCanCreatePrivateRepositories,omitempty"`
	MembersCanCreatePublicRepositories                    *bool                        `json:"membersCanCreatePublicRepositories,omitempty"`
	MembersCanCreatePages                                 *bool                        `json:"membersCanCreatePages,omitempty"`
	MembersCanCreatePublicPages                           *bool                        `json:"membersCanCreatePublicPages,omitempty"`
	MembersCanCreatePrivatePages                          *bool                        `json:"membersCanCreatePrivatePages,omitempty"`
	MembersCanForkPrivateRepositories                     *bool                        `json:"membersCanForkPrivateRepositories,omitempty"`
	WebCommitSignoffRequired                              *bool                        `json:"webCommitSignoffRequired,omitempty"`
	Blog                                                  *string                      `json:"blog,omitempty"`
	AdvancedSecurityEnabledForNewRepositories             *bool                        `json:"advancedSecurityEnabledForNewRepositories,omitempty"`
	DependabotAlertsEnabledForNewRepositories             *bool                        `json:"dependabotAlertsEnabledForNewRepositories,omitempty"`
	DependabotSecurityUpdatesEnabledForNewRepositories    *bool                        `json:"dependabotSecurityUpdatesEnabledForNewRepositories,omitempty"`
	DependencyGraphEnabledForNewRepositories              *bool                        `json:"dependencyFraphEnabledForNewRepositories,omitempty"`
	SecretScanningEnabledForNewRepositories               *bool                        `json:"secretScanningEnabledForNewRepositories,omitempty"`
	SecretScanningPushProtectionEnabledForNewRepositories *bool                        `json:"secretScanningPushProtectionEnabledForNewRepositories,omitempty"`
}

OrganizationStatus defines the observed state of Organization

func (*OrganizationStatus) DeepCopy

func (in *OrganizationStatus) DeepCopy() *OrganizationStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationStatus.

func (*OrganizationStatus) DeepCopyInto

func (in *OrganizationStatus) DeepCopyInto(out *OrganizationStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Privacy

type Privacy string

Privacy configures the visibility of the team. +kubebuilder:validation:Enum=secret;closed

const (
	// only visible to organization owners and members of this team.
	// a parent team cannot be secret.
	Secret Privacy = "secret"
	// visible to all members of this organization.
	// for a parent or child team: visible to all members of this organization.
	Closed Privacy = "closed"
)

type Repository

type Repository struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RepositorySpec   `json:"spec,omitempty"`
	Status RepositoryStatus `json:"status,omitempty"`
}

Repository is the Schema for the repositories API

func (*Repository) DeepCopy

func (in *Repository) DeepCopy() *Repository

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Repository.

func (*Repository) DeepCopyInto

func (in *Repository) DeepCopyInto(out *Repository)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Repository) DeepCopyObject

func (in *Repository) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RepositoryList

type RepositoryList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Repository `json:"items"`
}

RepositoryList contains a list of Repository

func (*RepositoryList) DeepCopy

func (in *RepositoryList) DeepCopy() *RepositoryList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryList.

func (*RepositoryList) DeepCopyInto

func (in *RepositoryList) DeepCopyInto(out *RepositoryList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RepositoryList) DeepCopyObject

func (in *RepositoryList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RepositoryPermission

type RepositoryPermission string

+kubebuilder:validation:Enum=admin;push;maintain;triage;pull

const (
	Admin    RepositoryPermission = "admin"
	Push     RepositoryPermission = "push"
	Maintain RepositoryPermission = "maintain"
	Triage   RepositoryPermission = "triage"
	Pull     RepositoryPermission = "pull"
)

type RepositorySpec

type RepositorySpec struct {

	// The name of the repository.
	Name string `json:"name"`

	// The organization name. The name is not case sensitive.
	Owner string `json:"owner"`

	// Repository description.
	// +optional
	Description *string `json:"description,omitempty"`

	// A URL with more information about the repository.
	// +optional
	Homepage *string `json:"homepage,omitempty"`

	// The default branch for this repository.
	// +optional
	DefaultBranch *string `json:"defaultBranch,omitempty"`

	// The account owner of the template repository. The name is not case sensitive.
	// +optional
	TemplateOwner *string `json:"templateOwner,omitempty"`

	// The name of the template repository without the .git extension. The name is not case sensitive.
	// +optional
	TemplateRepository *string `json:"templateRepository,omitempty"`

	// Either true to allow rebase-merging pull requests, or false to prevent rebase-merging.
	// Default: true
	// +optional
	AllowRebaseMerge *bool `json:"allowRebaseMerge,omitempty"`

	// Either true to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise.
	// Default: false
	// +optional
	AllowUpdateBranch *bool `json:"allowUpdateBranch,omitempty"`

	//Either true to allow squash-merging pull requests, or false to prevent squash-merging. Default: true.
	// +optional
	AllowSquashMerge *bool `json:"allowSquashMerge,omitempty"`

	// Either true to allow merging pull requests with a merge commit, or false to prevent merging pull requests with merge commits. Default: true.
	// +optional
	AllowMergeCommit *bool `json:"allowMergeCommit,omitempty"`

	// Either true to allow auto-merge on pull requests, or false to disallow auto-merge. Default: false.
	// +optional
	AllowAutoMerge *bool `json:"allowAutoMerge,omitempty"`

	// Either true to allow private forks, or false to prevent private forks.
	// Default: false
	// +optional
	AllowForking *bool `json:"allowForking,omitempty"`

	// Either true to require contributors to sign off on web-based commits, or false to not require contributors to sign off on web-based commits.
	// Default: false
	// +optional
	WebCommitSignoffRequired *bool `json:"webCommitSignoffRequired,omitempty"`

	// Either true to allow automatically deleting head branches when pull requests are merged, or false to prevent automatic deletion. Default: false.
	// +optional
	DeleteBranchOnMerge *bool `json:"deleteBranchOnMerge,omitempty"`

	// The default value for a squash merge commit title:
	//   - PR_TITLE - default to the pull request's title.
	//   - COMMIT_OR_PR_TITLE - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).
	// Can be one of: PR_TITLE, COMMIT_OR_PR_TITLE
	// +optional
	SquashMergeCommitTitle *SquashMergeCommitTitle `json:"squashMergeCommitTitle,omitempty"`

	// The default value for a squash merge commit message:
	//   - PR_BODY - default to the pull request's body.
	//   - COMMIT_MESSAGES - default to the branch's commit messages.
	//   - BLANK - default to a blank commit message.
	// Can be one of: PR_BODY, COMMIT_MESSAGES, BLANK
	// +optional
	SquashMergeCommitMessage *SquashMergeCommitMessage `json:"squashMergeCommitMessage,omitempty"`

	// The default value for a merge commit title.
	//   - PR_TITLE - default to the pull request's title.
	//   - MERGE_MESSAGE - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).
	// Can be one of: PR_TITLE, MERGE_MESSAGE
	// +optional
	MergeCommitTitle *MergeCommitTitle `json:"mergeCommitTitle,omitempty"`

	// The default value for a merge commit message.
	//   - PR_TITLE - default to the pull request's title.
	//   - PR_BODY - default to the pull request's body.
	//   - BLANK - default to a blank commit message.
	// Can be one of: PR_BODY, PR_TITLE, BLANK
	// +optional
	MergeCommitMessage *MergeCommitMessage `json:"mergeCommitMessage,omitempty"`

	// Set of topics with which the repository will be associated.
	// +optional
	Topics []string `json:"topics,omitempty"`

	// Whether to archive this repository. false will unarchive a previously archived repository.
	// Default: false
	// +optional
	Archived *bool `json:"archived,omitempty"`

	// Either true to enable issues for this repository or false to disable them.
	// Default: true
	// +optional
	HasIssues *bool `json:"hasIssues,omitempty"`

	// Whether the wiki is enabled.
	// Default: true
	// +optional
	HasWiki *bool `json:"hasWiki,omitempty"`

	// Either true to enable projects for this repository or false to disable them. Note: If you're creating a repository in an organization that has disabled repository projects, the default is false, and if you pass true, the API returns an error.
	// Default: true
	// +optional
	HasProjects *bool `json:"hasProjects,omitempty"`

	// Whether downloads are enabled.
	// Default: true
	// +optional
	HasDownloads *bool `json:"hasDownloads,omitempty"`

	// Whether discussions are enabled.
	// Default: false
	// +optional
	HasDiscussions *bool `json:"hasDiscussions,omitempty"`

	// The visibility of the repository. Can be one of: public, private, internal.
	// +optional
	Visibility *string `json:"visibility,omitempty"`

	// Specify which security and analysis features to enable or disable for the repository.
	//
	// To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see [Managing security managers in your organization].
	//
	// [Managing security managers in your organization]: https://docs.github.com/en/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization
	// +optional
	SecurityAndAnalysis *SecurityAndAnalysis `json:"securitAandAnalysis,omitempty"`
}

RepositorySpec defines the desired state of Repository

func (*RepositorySpec) DeepCopy

func (in *RepositorySpec) DeepCopy() *RepositorySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositorySpec.

func (*RepositorySpec) DeepCopyInto

func (in *RepositorySpec) DeepCopyInto(out *RepositorySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RepositoryStatus

type RepositoryStatus struct {
	LastUpdateTimestamp      *metav1.Time              `json:"lastUpdateTimestamp,omitempty"`
	Id                       *int64                    `json:"id,omitempty"`
	NodeId                   *string                   `json:"nodeId,omitempty"`
	OwnerLogin               *string                   `json:"ownerLogin,omitempty"`
	OwnerNodeId              *int64                    `json:"ownerNodeId,omitempty"`
	Name                     *string                   `json:"name,omitempty"`
	FullName                 *string                   `json:"fullName,omitempty"`
	Owner                    *string                   `json:"owner,omitempty"`
	Description              *string                   `json:"description,omitempty"`
	Homepage                 *string                   `json:"homepage,omitempty"`
	DefaultBranch            *string                   `json:"defaultBranch,omitempty"`
	TemplateOwner            *string                   `json:"templateOwner,omitempty"`
	TemplateRepository       *string                   `json:"templateRepository,omitempty"`
	AllowRebaseMerge         *bool                     `json:"allowRebaseMerge,omitempty"`
	AllowUpdateBranch        *bool                     `json:"allowUpdateBranch,omitempty"`
	AllowSquashMerge         *bool                     `json:"allowSquashMerge,omitempty"`
	AllowMergeCommit         *bool                     `json:"allowMergeCommit,omitempty"`
	AllowAutoMerge           *bool                     `json:"allowAutoMerge,omitempty"`
	AllowForking             *bool                     `json:"allowForking,omitempty"`
	WebCommitSignoffRequired *bool                     `json:"webCommitSignoffRequired,omitempty"`
	DeleteBranchOnMerge      *bool                     `json:"deleteBranchOnMerge,omitempty"`
	SquashMergeCommitTitle   *SquashMergeCommitTitle   `json:"squashMergeCommitTitle,omitempty"`
	SquashMergeCommitMessage *SquashMergeCommitMessage `json:"squashMergeCommitMessage,omitempty"`
	MergeCommitTitle         *MergeCommitTitle         `json:"mergeCommitTitle,omitempty"`
	MergeCommitMessage       *MergeCommitMessage       `json:"mergeCommitMessage,omitempty"`
	Topics                   []string                  `json:"topics,omitempty"`
	Archived                 *bool                     `json:"archived,omitempty"`
	HasIssues                *bool                     `json:"hasIssues,omitempty"`
	HasWiki                  *bool                     `json:"hasWiki,omitempty"`
	HasProjects              *bool                     `json:"hasProjects,omitempty"`
	HasDownloads             *bool                     `json:"hasDownloads,omitempty"`
	HasDiscussions           *bool                     `json:"hasDiscussions,omitempty"`
	Visibility               *string                   `json:"visibility,omitempty"`
	SecurityAndAnalysis      *SecurityAndAnalysis      `json:"securityAndAnalysis,omitempty"`

	ParentName                    *string `json:"parentName,omitempty"`
	ParentId                      *int64  `json:"parentId,omitempty"`
	ParentNodeId                  *string `json:"parentNodeId,omitempty"`
	TemplateRepositoryOwnerLogin  *string `json:"templateRepositoryOwnerLogin,omitempty"`
	TemplateRepositoryOwnerNodeId *string `json:"templateRepositoryOwnerNodeId,omitempty"`
	TemplateRepositoryName        *string `json:"templateRepositoryName,omitempty"`
	TemplateRepositoryId          *int64  `json:"templateRepositoryId,omitempty"`
	OrganizationLogin             *string `json:"organizationLogin,omitempty"`
	OrganizationId                *int64  `json:"organizationId,omitempty"`

	CreatedAt *metav1.Time `json:"createdAt,omitempty"`
	PushedAt  *metav1.Time `json:"pushedAt,omitempty"`
	UpdatedAt *metav1.Time `json:"updatedAt,omitempty"`
}

RepositoryStatus defines the observed state of Repository

func (*RepositoryStatus) DeepCopy

func (in *RepositoryStatus) DeepCopy() *RepositoryStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryStatus.

func (*RepositoryStatus) DeepCopyInto

func (in *RepositoryStatus) DeepCopyInto(out *RepositoryStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequiredStatusCheck

type RequiredStatusCheck struct {
	AppId   *string `json:"appId,omitempty"`
	Context string  `json:"context"`
}

func (*RequiredStatusCheck) DeepCopy

func (in *RequiredStatusCheck) DeepCopy() *RequiredStatusCheck

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequiredStatusCheck.

func (*RequiredStatusCheck) DeepCopyInto

func (in *RequiredStatusCheck) DeepCopyInto(out *RequiredStatusCheck)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityAndAnalysis

type SecurityAndAnalysis struct {
	// Use the status property to enable or disable GitHub Advanced Security for this repository. For more information, see [About GitHub Advanced Security].
	//
	// [About GitHub Advanced Security]: https://docs.github.com/en/get-started/learning-about-github/about-github-advanced-security
	AdvancedSecurity SecurityAndAnalysisFeature `json:"advancedSecurity"`
	// Use the status property to enable or disable secret scanning for this repository. For more information, see [About secret scanning].
	//
	// [About secret scanning]: https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning
	SecretScanning SecurityAndAnalysisFeature `json:"secretScanning"`
	// Use the status property to enable or disable secret scanning push protection for this repository. For more information, see [Protecting pushes with secret scanning].
	//
	// [Protecting pushes with secret scanning]: https://docs.github.com/en/code-security/secret-scanning/push-protection-for-repositories-and-organizations
	SecretScanningPushProtection SecurityAndAnalysisFeature `json:"secretScanningPushProtection"`
}

func (*SecurityAndAnalysis) DeepCopy

func (in *SecurityAndAnalysis) DeepCopy() *SecurityAndAnalysis

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityAndAnalysis.

func (*SecurityAndAnalysis) DeepCopyInto

func (in *SecurityAndAnalysis) DeepCopyInto(out *SecurityAndAnalysis)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityAndAnalysisFeature

type SecurityAndAnalysisFeature struct {
	// Can be enabled or disabled.
	Status string `json:"status"`
}

func (*SecurityAndAnalysisFeature) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityAndAnalysisFeature.

func (*SecurityAndAnalysisFeature) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SquashMergeCommitMessage

type SquashMergeCommitMessage string

+kubebuilder:validation:Enum=PR_BODY;COMMIT_MESSAGES;BLANK

const (
	SquashMergeCommitMessagePrBody         SquashMergeCommitMessage = "PR_BODY"
	SquashMergeCommitMessageCommitMessages SquashMergeCommitMessage = "COMMIT_MESSAGES"
	SquashMergeCommitMessageBlank          SquashMergeCommitMessage = "BLANK"
)

type SquashMergeCommitTitle

type SquashMergeCommitTitle string

+kubebuilder:validation:Enum=PR_TITLE;COMMIT_OR_PR_TITLE

const (
	SquashMergeCommitTitlePrTitle         SquashMergeCommitTitle = "PR_TITLE"
	SquashMergeCommitTitleCommitOrPrTitle SquashMergeCommitTitle = "COMMIT_OR_PR_TITLE"
)

type Team

type Team struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TeamSpec   `json:"spec,omitempty"`
	Status TeamStatus `json:"status,omitempty"`
}

Team is the Schema for the teams API

func (*Team) DeepCopy

func (in *Team) DeepCopy() *Team

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Team.

func (*Team) DeepCopyInto

func (in *Team) DeepCopyInto(out *Team)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Team) DeepCopyObject

func (in *Team) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TeamList

type TeamList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Team `json:"items"`
}

TeamList contains a list of Team

func (*TeamList) DeepCopy

func (in *TeamList) DeepCopy() *TeamList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamList.

func (*TeamList) DeepCopyInto

func (in *TeamList) DeepCopyInto(out *TeamList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TeamList) DeepCopyObject

func (in *TeamList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TeamSpec

type TeamSpec struct {

	// Organization name. Not case sensitive.
	Organization string `json:"organization"`

	// Name of the team.
	Name string `json:"name"`

	// Description of the team.
	// +optional
	Description *string `json:"description,omitempty"`

	// Level of privacy the team should have.
	// +optional
	Privacy *Privacy `json:"privacy,omitempty"`

	// Notification setting for members of the team.
	// +optional
	NotificationSetting *NotificationSetting `json:"notificationSetting,omitempty"`

	// ID of the team to set as the parent of this team
	// +optional
	ParentTeamId *int64 `json:"parentTeamId,omitempty"`

	// Repository permissions to assign to this team
	// +optional
	Repositories map[string]RepositoryPermission `json:"repositories,omitempty"`
}

TeamSpec defines the desired state of Team

func (*TeamSpec) DeepCopy

func (in *TeamSpec) DeepCopy() *TeamSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamSpec.

func (*TeamSpec) DeepCopyInto

func (in *TeamSpec) DeepCopyInto(out *TeamSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TeamStatus

type TeamStatus struct {
	Id                  *int64                          `json:"id,omitempty"`
	NodeId              *string                         `json:"nodeId,omitempty"`
	Slug                *string                         `json:"slug,omitempty"`
	LastUpdateTimestamp *metav1.Time                    `json:"lastUpdateTimestamp,omitempty"`
	OrganizationLogin   *string                         `json:"organizationLogin,omitempty"`
	OrganizationId      *int64                          `json:"organizationId,omitempty"`
	Name                *string                         `json:"name,omitempty"`
	Description         *string                         `json:"description,omitempty"`
	Privacy             *Privacy                        `json:"privacy,omitempty"`
	NotificationSetting *NotificationSetting            `json:"notificationSetting,omitempty"`
	ParentTeamId        *int64                          `json:"parentTeamId,omitempty"`
	ParentTeamSlug      *string                         `json:"parentTeamSlug,omitempty"`
	Repositories        map[string]RepositoryPermission `json:"repositories,omitempty"`
}

TeamStatus defines the observed state of Team

func (*TeamStatus) DeepCopy

func (in *TeamStatus) DeepCopy() *TeamStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamStatus.

func (*TeamStatus) DeepCopyInto

func (in *TeamStatus) DeepCopyInto(out *TeamStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL