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 ¶
- Variables
- type BranchProtection
- type BranchProtectionList
- type BranchProtectionSpec
- type BranchProtectionStatus
- type DefaultRepositoryPermission
- type MergeCommitMessage
- type MergeCommitTitle
- type NotificationSetting
- type Organization
- type OrganizationList
- type OrganizationSpec
- type OrganizationStatus
- type Privacy
- type Repository
- type RepositoryList
- type RepositoryPermission
- type RepositorySpec
- type RepositoryStatus
- type RequiredStatusCheck
- type SecurityAndAnalysis
- type SecurityAndAnalysisFeature
- type SquashMergeCommitMessage
- type SquashMergeCommitTitle
- type Team
- type TeamList
- type TeamSpec
- type TeamStatus
Constants ¶
This section is empty.
Variables ¶
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 ¶
func (in *BranchProtectionList) DeepCopy() *BranchProtectionList
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 ¶
func (in *BranchProtectionSpec) DeepCopy() *BranchProtectionSpec
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 ¶
func (in *BranchProtectionStatus) DeepCopy() *BranchProtectionStatus
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
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 ¶
func (in *SecurityAndAnalysisFeature) DeepCopy() *SecurityAndAnalysisFeature
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityAndAnalysisFeature.
func (*SecurityAndAnalysisFeature) DeepCopyInto ¶
func (in *SecurityAndAnalysisFeature) DeepCopyInto(out *SecurityAndAnalysisFeature)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Team.
func (*Team) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Team) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamList.
func (*TeamList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TeamList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamSpec.
func (*TeamSpec) DeepCopyInto ¶
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.