v1beta1

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the renovate v1beta1 API group. +kubebuilder:object:generate=true +groupName=renovate.thegeeklab.de

Index

Constants

View Source
const (
	PlatformType_GITHUB = "github"
	PlatformType_GITEA  = "gitea"
	PlatformType_GITLAB = "gitlab"

	// LabelRenovator is the label used to associate resources with a Renovator instance.
	LabelRenovator = "renovate.thegeeklab.de/renovator"
	// LabelGitRepo is the label used to associate resources with a specific Git repository.
	LabelGitRepo = "renovate.thegeeklab.de/gitrepo"
	// LabelAuthProvider is the label used to associate resources with an AuthProvider for access control.
	LabelAuthProvider = "renovate.thegeeklab.de/auth-provider"
	// LabelLogsCollected is the annotation used to mark jobs whose logs
	// have already been archived to the persistent store.
	LabelLogsCollected = "renovate.thegeeklab.de/logs-collected"

	// RenovatorOperation is the annotation used to trigger operations.
	RenovatorOperation = "renovate.thegeeklab.de/operation"
	// RenovatorOperationSeparator is the separator used to separate parallel operations in the
	// RenovatorOperation annotation.
	RenovatorOperationSeparator = ";"

	// OperationDiscover is the value used to trigger immediate discovery.
	OperationDiscover = "discover"
	// OperationRenovate is the value used to trigger immediate renovate run.
	OperationRenovate = "renovate"

	// FinalizerGitRepoWebhook is the finalizer added to GitRepo resources to ensure
	// remote webhooks are cleaned up before the resource is deleted.
	FinalizerGitRepoWebhook = "renovate.thegeeklab.de/webhook-cleanup"

	// FinalizerMetricsCleanup is the finalizer added to GitRepo, Runner, and Discovery resources to ensure
	// per-resource Prometheus metric series are removed from the operator registry
	// before the resource is deleted.
	FinalizerMetricsCleanup = "renovate.thegeeklab.de/metrics-cleanup"

	// FinalizerAuthProviderCleanup is the finalizer added to AuthProvider resources to ensure
	// the provider is unregistered from the auth manager before the resource is deleted.
	FinalizerAuthProviderCleanup = "renovate.thegeeklab.de/authprovider-cleanup"

	// WebhookSecretDataKey is the key used in the webhook Secret to store the validation token.
	WebhookSecretDataKey = "secret"

	// ValueTrue represents the string boolean "true" for labels and annotations.
	ValueTrue = "true"
	// ValueFalse represents the string boolean "false" for labels and annotations.
	ValueFalse = "false"

	// Standard Kubernetes Label Keys.
	LabelAppName      = "app.kubernetes.io/name"
	LabelAppInstance  = "app.kubernetes.io/instance"
	LabelAppComponent = "app.kubernetes.io/component"
	LabelAppManagedBy = "app.kubernetes.io/managed-by"

	// Standard Kubernetes Label Values.
	OperatorManagedBy = "renovate-operator"
	OperatorName      = "renovate"

	ComponentDiscovery = "discovery"
	ComponentRunner    = "runner"

	// Event type constants.
	EventTypeNormal  = "Normal"
	EventTypeWarning = "Warning"

	// Condition type constants.
	ConditionReady       = "Ready"
	ConditionReconciling = "Reconciling"

	// Reason constants.
	ReasonConfigResolutionFailed = "ConfigResolutionFailed"
	ReasonConfigNotFound         = "ConfigNotFound"
	ReasonReconcileSuccess       = "ReconcileSuccess"
	ReasonReconcileError         = "ReconcileError"
	ReasonReconciled             = "Reconciled"

	// Event action constants.
	EventActionReconciling = "Reconciling"
)
View Source
const (
	// DiscoveryConditionDiscoveryRunning indicates whether a discovery job is currently running.
	DiscoveryConditionDiscoveryRunning = "DiscoveryRunning"
	// DiscoveryConditionDiscoveryCompleted indicates whether the last discovery job completed successfully.
	DiscoveryConditionDiscoveryCompleted = "DiscoveryCompleted"
	// DiscoveryConditionDiscoveryFailed indicates whether the last discovery job failed.
	DiscoveryConditionDiscoveryFailed = "DiscoveryFailed"
)
View Source
const (
	// GitRepoConditionRenovateRunning indicates whether a renovate job is currently running.
	GitRepoConditionRenovateRunning = "RenovateRunning"
	// GitRepoConditionRenovateCompleted indicates whether the last renovate job completed successfully.
	GitRepoConditionRenovateCompleted = "RenovateCompleted"
	// GitRepoConditionRenovateFailed indicates whether the last renovate job failed.
	GitRepoConditionRenovateFailed = "RenovateFailed"
)
View Source
const (
	RenovatorConditionDiscoveryReady      = "DiscoveryReady"
	RenovatorConditionRunnerReady         = "RunnerReady"
	RenovatorConditionRenovateConfigReady = "RenovateConfigReady"
)
View Source
const (
	DryRun_EXTRACT = "extract"
	DryRun_LOOKUP  = "lookup"
	DryRun_FULL    = "full"
)
View Source
const (
	LogLevel_TRACE = "trace"
	LogLevel_DEBUG = "debug"
	LogLevel_INFO  = "info"
	LogLevel_WARN  = "warn"
	LogLevel_ERROR = "error"
	LogLevel_FATAL = "fatal"

	DefaultOperatorContainerImage       = "docker.io/thegeeklab/renovate-operator:latest"
	DefaultRenovateContainerImage       = "ghcr.io/renovatebot/renovate:latest"
	DefaultSchedule                     = "0 */2 * * *"
	DefaultSuccessLimit           int32 = 3
	DefaultFailedLimit            int32 = 1
	DefaultBackoffLimit           int32 = 0
	DefaultScratchVolumePath            = "/tmp/renovate"
)
View Source
const (
	DefaultRunnerMaxParallel int32 = 0
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "renovate.thegeeklab.de", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder runtime.SchemeBuilder

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

Functions

This section is empty.

Types

type AuthProvider

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

	Spec   AuthProviderSpec   `json:"spec,omitempty"`
	Status AuthProviderStatus `json:"status,omitempty"`
}

AuthProvider is the Schema for the auth providers API.

func (*AuthProvider) DeepCopy

func (in *AuthProvider) DeepCopy() *AuthProvider

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

func (*AuthProvider) DeepCopyInto

func (in *AuthProvider) DeepCopyInto(out *AuthProvider)

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

func (*AuthProvider) DeepCopyObject

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

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

func (*AuthProvider) GetCondition

func (a *AuthProvider) GetCondition(conditionType string) *metav1.Condition

func (*AuthProvider) RemoveCondition

func (a *AuthProvider) RemoveCondition(conditionType string)

func (*AuthProvider) SetCondition

func (a *AuthProvider) SetCondition(
	conditionType string,
	status metav1.ConditionStatus,
	reason, message string,
)

type AuthProviderList

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

AuthProviderList contains a list of AuthProvider.

func (*AuthProviderList) DeepCopy

func (in *AuthProviderList) DeepCopy() *AuthProviderList

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

func (*AuthProviderList) DeepCopyInto

func (in *AuthProviderList) DeepCopyInto(out *AuthProviderList)

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

func (*AuthProviderList) DeepCopyObject

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

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

type AuthProviderSpec

type AuthProviderSpec struct {
	// Type is the platform type.
	Type PlatformType `json:"type"`

	// Endpoint is the base URL of the Git platform.
	Endpoint string `json:"endpoint"`

	// ClientID is the OAuth2 client ID.
	ClientID string `json:"clientId"`

	// ClientSecret is a reference to the Secret containing the OAuth2 client secret.
	ClientSecret corev1.SecretKeySelector `json:"clientSecret"`

	// RedirectURL is the OAuth2 callback URL.
	RedirectURL string `json:"redirectUrl"`

	// ForgeURL is the API URL for the Git platform. Defaults to Endpoint.
	// +kubebuilder:validation:Optional
	ForgeURL string `json:"forgeUrl,omitempty"`

	// AuthURL is a custom OAuth2 authorization URL. Derived from Type and Endpoint if not specified.
	// +kubebuilder:validation:Optional
	AuthURL string `json:"authUrl,omitempty"`

	// Insecure disables TLS verification (not recommended for production).
	// +kubebuilder:validation:Optional
	Insecure bool `json:"insecure,omitempty"`

	// CABundleSecret is a reference to a Secret key containing a PEM-encoded
	// CA certificate bundle to trust when validating the platform TLS endpoint.
	// +kubebuilder:validation:Optional
	CABundleSecret *corev1.SecretKeySelector `json:"caBundleSecret,omitempty"`

	// DisplayName is a human-readable name shown in the login UI.
	// Derived from the Endpoint hostname when empty.
	// +kubebuilder:validation:Optional
	DisplayName string `json:"displayName,omitempty"`

	// IconURL is the URL of an icon shown next to the provider in the login UI.
	// Defaults to the Endpoint's favicon.ico when empty.
	// +kubebuilder:validation:Optional
	IconURL string `json:"iconUrl,omitempty"`
}

AuthProviderSpec defines the desired state of AuthProvider.

func (*AuthProviderSpec) DeepCopy

func (in *AuthProviderSpec) DeepCopy() *AuthProviderSpec

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

func (*AuthProviderSpec) DeepCopyInto

func (in *AuthProviderSpec) DeepCopyInto(out *AuthProviderSpec)

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

type AuthProviderStatus

type AuthProviderStatus struct {
	// Conditions represent the latest available observations of the AuthProvider's state.
	// +kubebuilder:validation:Optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// Registered indicates whether the provider is currently registered with the auth manager.
	// +kubebuilder:validation:Optional
	Registered bool `json:"registered,omitempty"`

	// SecretResourceVersion tracks the resource version of the referenced secret.
	// This allows the controller to detect when the secret has been rotated.
	// +kubebuilder:validation:Optional
	SecretResourceVersion string `json:"secretResourceVersion,omitempty"`

	// CABundleSecretResourceVersion tracks the resource version of the referenced CA bundle secret.
	// This allows the controller to detect when the CA bundle has been rotated.
	// +kubebuilder:validation:Optional
	CABundleSecretResourceVersion string `json:"caBundleSecretResourceVersion,omitempty"`
}

AuthProviderStatus defines the observed state of AuthProvider.

func (*AuthProviderStatus) DeepCopy

func (in *AuthProviderStatus) DeepCopy() *AuthProviderStatus

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

func (*AuthProviderStatus) DeepCopyInto

func (in *AuthProviderStatus) DeepCopyInto(out *AuthProviderStatus)

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

type Discovery

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

	Spec   DiscoverySpec   `json:"spec,omitempty"`
	Status DiscoveryStatus `json:"status,omitempty"`
}

Discovery is the Schema for the discoveries API.

func (*Discovery) DeepCopy

func (in *Discovery) DeepCopy() *Discovery

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

func (*Discovery) DeepCopyInto

func (in *Discovery) DeepCopyInto(out *Discovery)

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

func (*Discovery) DeepCopyObject

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

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

func (*Discovery) GetCondition

func (d *Discovery) GetCondition(conditionType string) *metav1.Condition

func (*Discovery) GetFailedLimit

func (d *Discovery) GetFailedLimit() int

GetFailedLimit returns the history limit for failed jobs.

func (*Discovery) GetLastDiscoveryTime added in v0.4.0

func (d *Discovery) GetLastDiscoveryTime() *metav1.Time

GetLastDiscoveryTime returns the creation timestamp of the most recently completed discovery job for which metrics have been emitted.

func (*Discovery) GetLastScheduleTime

func (d *Discovery) GetLastScheduleTime() *metav1.Time

GetLastScheduleTime returns the time of the last execution.

func (*Discovery) GetSchedule

func (d *Discovery) GetSchedule() string

GetSchedule returns the cron schedule string.

func (*Discovery) GetSkipForks

func (d *Discovery) GetSkipForks() bool

GetSkipForks returns true if forked repositories should be excluded from autodiscovery.

func (*Discovery) GetSkipPendingDeletion added in v0.4.0

func (d *Discovery) GetSkipPendingDeletion() bool

GetSkipPendingDeletion returns true if repositories marked for deletion should be excluded.

func (*Discovery) GetSuccessLimit

func (d *Discovery) GetSuccessLimit() int

GetSuccessLimit returns the history limit for successful jobs.

func (*Discovery) GetSuspend

func (d *Discovery) GetSuspend() bool

GetSuspend returns true if the schedule is suspended.

func (*Discovery) GetTimezone

func (d *Discovery) GetTimezone() string

GetTimezone returns the IANA timezone name for schedule evaluation.

func (*Discovery) GetTopics

func (d *Discovery) GetTopics() []string

GetTopics returns the list of topics to filter repositories by.

func (*Discovery) RemoveCondition

func (d *Discovery) RemoveCondition(conditionType string)

func (*Discovery) SetCondition

func (d *Discovery) SetCondition(
	conditionType string,
	status metav1.ConditionStatus,
	reason, message string,
)

func (*Discovery) SetLastDiscoveryTime added in v0.4.0

func (d *Discovery) SetLastDiscoveryTime(t *metav1.Time)

SetLastDiscoveryTime updates the creation timestamp of the most recently completed discovery job for which metrics have been emitted.

func (*Discovery) SetLastScheduleTime

func (d *Discovery) SetLastScheduleTime(t *metav1.Time)

SetLastScheduleTime updates the time of the last execution.

type DiscoveryList

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

DiscoveryList contains a list of Discovery.

func (*DiscoveryList) DeepCopy

func (in *DiscoveryList) DeepCopy() *DiscoveryList

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

func (*DiscoveryList) DeepCopyInto

func (in *DiscoveryList) DeepCopyInto(out *DiscoveryList)

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

func (*DiscoveryList) DeepCopyObject

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

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

type DiscoverySpec

type DiscoverySpec struct {
	ImageSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	Logging *LoggingSpec `json:"logging,omitempty"`

	//+kubebuilder:validation:Optional
	ConfigRef string `json:"configRef,omitempty"`

	JobSpec `json:",inline"`

	PodSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	Filter []string `json:"filter,omitempty"`

	// SkipForks excludes forked repositories from autodiscovery when set to true.
	// +kubebuilder:validation:Optional
	SkipForks *bool `json:"skipForks,omitempty"`

	// Topics filters autodiscovery to repositories matching all specified topics.
	// +kubebuilder:validation:Optional
	Topics []string `json:"topics,omitempty"`

	// GitLab configures GitLab-specific discovery options.
	// +kubebuilder:validation:Optional
	GitLab *GitLabOptions `json:"gitlab,omitempty"`

	// Webhooks configures webhook management for the repositories discovered
	// by this Discovery. Propagated to the child GitRepo resources.
	// +kubebuilder:validation:Optional
	Webhooks WebhooksSpec `json:"webhooks,omitempty"`

	// PodLabelTemplates are merged into Job pod labels. Values support
	// Go template variables: {{ .namespace }}, {{ .renovator }}, {{ .discovery }}.
	// +kubebuilder:validation:Optional
	PodLabelTemplates map[string]string `json:"podLabelTemplates,omitempty"`
}

DiscoverySpec defines the desired state of Discovery.

func (*DiscoverySpec) DeepCopy

func (in *DiscoverySpec) DeepCopy() *DiscoverySpec

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

func (*DiscoverySpec) DeepCopyInto

func (in *DiscoverySpec) DeepCopyInto(out *DiscoverySpec)

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

type DiscoveryStatus

type DiscoveryStatus struct {
	Conditions        []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
	LastScheduleTime  *metav1.Time       `json:"lastScheduleTime,omitempty"`
	LastDiscoveryTime *metav1.Time       `json:"lastDiscoveryTime,omitempty"`
}

DiscoveryStatus defines the observed state of Discovery.

func (*DiscoveryStatus) DeepCopy

func (in *DiscoveryStatus) DeepCopy() *DiscoveryStatus

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

func (*DiscoveryStatus) DeepCopyInto

func (in *DiscoveryStatus) DeepCopyInto(out *DiscoveryStatus)

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

type DryRun

type DryRun string

+kubebuilder:validation:Enum=extract;lookup;full

type GitLabOptions added in v0.4.0

type GitLabOptions struct {
	// SkipPendingDeletion ensures repositories marked for deletion on the
	// platform (GitLab soft-delete) are excluded from discovery results.
	// +kubebuilder:validation:Optional
	SkipPendingDeletion *bool `json:"skipPendingDeletion,omitempty"`
}

GitLabOptions defines GitLab-specific options for Discovery.

func (*GitLabOptions) DeepCopy added in v0.4.0

func (in *GitLabOptions) DeepCopy() *GitLabOptions

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

func (*GitLabOptions) DeepCopyInto added in v0.4.0

func (in *GitLabOptions) DeepCopyInto(out *GitLabOptions)

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

type GitRepo

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

	Spec   GitRepoSpec   `json:"spec,omitempty"`
	Status GitRepoStatus `json:"status,omitempty"`
}

GitRepo is the Schema for the gitrepos API.

func (*GitRepo) DeepCopy

func (in *GitRepo) DeepCopy() *GitRepo

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

func (*GitRepo) DeepCopyInto

func (in *GitRepo) DeepCopyInto(out *GitRepo)

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

func (*GitRepo) DeepCopyObject

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

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

func (*GitRepo) GetCondition

func (g *GitRepo) GetCondition(conditionType string) *metav1.Condition

func (*GitRepo) GetLastRenovateTime

func (g *GitRepo) GetLastRenovateTime() *metav1.Time

func (*GitRepo) GetWebhooksEnabled added in v0.4.0

func (g *GitRepo) GetWebhooksEnabled() bool

GetWebhooksEnabled returns true when webhook management is enabled for this resource. Defaults to true when the field is not set.

func (*GitRepo) RemoveCondition

func (g *GitRepo) RemoveCondition(conditionType string)

func (*GitRepo) SetCondition

func (g *GitRepo) SetCondition(
	conditionType string,
	status metav1.ConditionStatus,
	reason, message string,
)

func (*GitRepo) SetLastRenovateTime

func (g *GitRepo) SetLastRenovateTime(t *metav1.Time)

type GitRepoList

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

GitRepoList contains a list of GitRepo.

func (*GitRepoList) DeepCopy

func (in *GitRepoList) DeepCopy() *GitRepoList

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

func (*GitRepoList) DeepCopyInto

func (in *GitRepoList) DeepCopyInto(out *GitRepoList)

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

func (*GitRepoList) DeepCopyObject

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

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

type GitRepoSpec

type GitRepoSpec struct {
	Name string `json:"name"`

	//+kubebuilder:validation:Optional
	ConfigRef string `json:"configRef,omitempty"`

	// Webhooks configures webhook management for this repository. When set to
	// disabled, the operator will not create or maintain a webhook on the
	// remote Git provider, will not generate webhook secrets, and will remove
	// any previously managed webhook.
	// +kubebuilder:validation:Optional
	Webhooks WebhooksSpec `json:"webhooks,omitempty"`
}

GitRepoSpec defines the desired state of GitRepo.

func (*GitRepoSpec) DeepCopy

func (in *GitRepoSpec) DeepCopy() *GitRepoSpec

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

func (*GitRepoSpec) DeepCopyInto

func (in *GitRepoSpec) DeepCopyInto(out *GitRepoSpec)

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

type GitRepoStatus

type GitRepoStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// LastRenovateTime is the creation timestamp of the most recently completed
	// renovate job for this GitRepo.
	// This field is managed by the operator and should not be set manually.
	// +kubebuilder:validation:Optional
	LastRenovateTime *metav1.Time `json:"lastRenovateTime,omitempty"`

	// WebhookID is the ID of the webhook registered on the remote Git provider.
	// This field is managed by the operator and should not be set manually.
	// +kubebuilder:validation:Optional
	WebhookID string `json:"webhookId,omitempty"`

	// Platform is the type of the Git provider.
	// This field is managed by the operator and should not be set manually.
	// +kubebuilder:validation:Optional
	Platform string `json:"platform,omitempty"`

	// RepoURL is the web-accessible URL for the repository.
	// This field is managed by the operator and should not be set manually.
	// +kubebuilder:validation:Optional
	RepoURL string `json:"repoUrl,omitempty"`
}

GitRepoStatus defines the observed state of GitRepo.

func (*GitRepoStatus) DeepCopy

func (in *GitRepoStatus) DeepCopy() *GitRepoStatus

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

func (*GitRepoStatus) DeepCopyInto

func (in *GitRepoStatus) DeepCopyInto(out *GitRepoStatus)

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

type ImageSpec

type ImageSpec struct {
	// Name of the container image, supporting both tags (`<image>:<tag>`)
	// and digests for deterministic and repeatable deployments
	// (`<image>:<tag>@sha256:<digestValue>`)
	// +kubebuilder:validation:Optional
	Image string `json:"image,omitempty"`

	// Image pull policy.
	// One of `Always`, `Never` or `IfNotPresent`.
	// If not defined, it defaults to `IfNotPresent`.
	// Cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
	// +kubebuilder:validation:Optional
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling the image.
	// More info: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
	// +kubebuilder:validation:Optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
}

ImageSpec defines the container image specification.

func (*ImageSpec) DeepCopy

func (in *ImageSpec) DeepCopy() *ImageSpec

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

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

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

type JobSpec

type JobSpec struct {
	// Suspend specifies whether the job execution and scheduling should be paused.
	// +kubebuilder:validation:Optional
	Suspend *bool `json:"suspend,omitempty"`

	// Schedule specifies the cron-formatted schedule on which the job should run.
	// +kubebuilder:validation:Optional
	Schedule string `json:"schedule,omitempty"`

	// Timezone specifies the IANA timezone name (e.g., "America/New_York", "Europe/Berlin")
	// to use when evaluating the cron schedule. If not set, the operator's local timezone is used.
	// +kubebuilder:validation:Optional
	Timezone string `json:"timezone,omitempty"`

	// SuccessLimit specifies the number of successful finished jobs to retain for history.
	// +kubebuilder:validation:Optional
	SuccessLimit *int32 `json:"successLimit,omitempty"`

	// FailedLimit specifies the number of failed finished jobs to retain for history.
	// +kubebuilder:validation:Optional
	FailedLimit *int32 `json:"failedLimit,omitempty"`

	// BackoffLimit specifies the number of retries before marking this job as failed.
	// +kubebuilder:validation:Optional
	BackoffLimit *int32 `json:"backoffLimit,omitempty"`

	// TTLSecondsAfterFinished limits the lifetime of a Job that has finished execution
	// (either Complete or Failed). If this field is set, the job and its pods will be
	// automatically deleted after the specified number of seconds.
	// +kubebuilder:validation:Optional
	TTLSecondsAfterFinished *int32 `json:"ttlSecondsAfterFinished,omitempty"`
}

func (*JobSpec) DeepCopy

func (in *JobSpec) DeepCopy() *JobSpec

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

func (*JobSpec) DeepCopyInto

func (in *JobSpec) DeepCopyInto(out *JobSpec)

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

type LogLevel

type LogLevel string

+kubebuilder:validation:Enum=trace;debug;info;warn;error;fatal

type LoggingSpec

type LoggingSpec struct {
	Level LogLevel `json:"level"`
}

func (*LoggingSpec) DeepCopy

func (in *LoggingSpec) DeepCopy() *LoggingSpec

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

func (*LoggingSpec) DeepCopyInto

func (in *LoggingSpec) DeepCopyInto(out *LoggingSpec)

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

type PlatformSpec

type PlatformSpec struct {
	Type     PlatformType        `json:"type"`
	Endpoint string              `json:"endpoint"`
	Token    corev1.EnvVarSource `json:"token"`
}

func (*PlatformSpec) DeepCopy

func (in *PlatformSpec) DeepCopy() *PlatformSpec

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

func (*PlatformSpec) DeepCopyInto

func (in *PlatformSpec) DeepCopyInto(out *PlatformSpec)

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

type PlatformType

type PlatformType string

+kubebuilder:validation:Enum=github;gitea;gitlab

type PodSpec

type PodSpec struct {
	// NodeSelector specifies the node selector for scheduling the renovate pod.
	// +kubebuilder:validation:Optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Affinity specifies the affinity settings for scheduling the renovate pod.
	// +kubebuilder:validation:Optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Tolerations specifies the tolerations for scheduling the renovate pod.
	// +kubebuilder:validation:Optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// TopologySpreadConstraints specifies the topology spread constraints for the renovate pod.
	// +kubebuilder:validation:Optional
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`

	// Resources specifies the resource requirements for the renovate container.
	// +kubebuilder:validation:Optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// SecurityContext specifies the security context for the renovate container.
	// +kubebuilder:validation:Optional
	SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`

	// ExtraEnv specifies additional environment variables for the renovate container.
	// +kubebuilder:validation:Optional
	ExtraEnv []corev1.EnvVar `json:"extraEnv,omitempty"`

	// ExtraVolumes specifies additional volumes for the renovate pod.
	// +kubebuilder:validation:Optional
	ExtraVolumes []corev1.Volume `json:"extraVolumes,omitempty"`

	// RuntimeClassName specifies the runtime class for the renovate pod.
	// +kubebuilder:validation:Optional
	RuntimeClassName *string `json:"runtimeClassName,omitempty"`

	// PodAnnotations specifies additional annotations for the renovate pod.
	// +kubebuilder:validation:Optional
	PodAnnotations map[string]string `json:"podAnnotations,omitempty"`

	// ScratchVolume configures a scratch volume for RENOVATE_BASE_DIR.
	// +kubebuilder:validation:Optional
	ScratchVolume *ScratchVolumeSpec `json:"scratchVolume,omitempty"`
}

PodSpec defines pod-level scheduling configuration.

func (*PodSpec) DeepCopy

func (in *PodSpec) DeepCopy() *PodSpec

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

func (*PodSpec) DeepCopyInto

func (in *PodSpec) DeepCopyInto(out *PodSpec)

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

type RenovateConfig

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

	Spec   RenovateConfigSpec   `json:"spec,omitempty"`
	Status RenovateConfigStatus `json:"status,omitempty"`
}

RenovateConfig is the Schema for the renovateconfigs API.

func (*RenovateConfig) DeepCopy

func (in *RenovateConfig) DeepCopy() *RenovateConfig

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

func (*RenovateConfig) DeepCopyInto

func (in *RenovateConfig) DeepCopyInto(out *RenovateConfig)

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

func (*RenovateConfig) DeepCopyObject

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

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

type RenovateConfigList

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

RenovateConfigList contains a list of RenovateConfig.

func (*RenovateConfigList) DeepCopy

func (in *RenovateConfigList) DeepCopy() *RenovateConfigList

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

func (*RenovateConfigList) DeepCopyInto

func (in *RenovateConfigList) DeepCopyInto(out *RenovateConfigList)

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

func (*RenovateConfigList) DeepCopyObject

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

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

type RenovateConfigSpec

type RenovateConfigSpec struct {
	ImageSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	Logging *LoggingSpec `json:"logging,omitempty"`

	Platform PlatformSpec `json:"platform"`
	// +kubebuilder:validation:Optional
	DryRun DryRun `json:"dryRun,omitempty"`
	// +kubebuilder:validation:Optional
	Onboarding *bool `json:"onboarding,omitempty"`
	// OnBoardingConfig object `json:"onBoardingConfig,omitempty,inline"`
	// +kubebuilder:validation:Optional
	PrHourlyLimit int `json:"prHourlyLimit,omitempty"`
	// +kubebuilder:validation:Optional
	AddLabels []string `json:"addLabels,omitempty"`

	// +kubebuilder:validation:Optional
	GithubToken *corev1.EnvVarSource `json:"githubToken,omitempty"`

	// FailOnConfigValidationError controls whether Renovate should exit with a non-zero exit code
	// when configuration validation errors occur. When true, jobs will fail on config errors.
	// +kubebuilder:validation:Optional
	FailOnConfigValidationError *bool `json:"failOnConfigValidationError,omitempty"`
}

RenovateConfigSpec defines the desired state of RenovateConfig.

func (*RenovateConfigSpec) DeepCopy

func (in *RenovateConfigSpec) DeepCopy() *RenovateConfigSpec

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

func (*RenovateConfigSpec) DeepCopyInto

func (in *RenovateConfigSpec) DeepCopyInto(out *RenovateConfigSpec)

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

type RenovateConfigStatus

type RenovateConfigStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

RenovateConfigStatus defines the observed state of RenovateConfig.

func (*RenovateConfigStatus) DeepCopy

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

func (*RenovateConfigStatus) DeepCopyInto

func (in *RenovateConfigStatus) DeepCopyInto(out *RenovateConfigStatus)

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

type Renovator

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

	Spec   RenovatorSpec   `json:"spec,omitempty"`
	Status RenovatorStatus `json:"status,omitempty"`
}

Renovator is the Schema for the renovators API.

func (*Renovator) DeepCopy

func (in *Renovator) DeepCopy() *Renovator

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

func (*Renovator) DeepCopyInto

func (in *Renovator) DeepCopyInto(out *Renovator)

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

func (*Renovator) DeepCopyObject

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

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

func (*Renovator) GetCondition

func (r *Renovator) GetCondition(conditionType string) *metav1.Condition

func (*Renovator) RemoveCondition

func (r *Renovator) RemoveCondition(conditionType string)

func (*Renovator) SetCondition

func (r *Renovator) SetCondition(
	conditionType string,
	status metav1.ConditionStatus,
	reason, message string,
)

type RenovatorList

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

RenovatorList contains a list of Renovator.

func (*RenovatorList) DeepCopy

func (in *RenovatorList) DeepCopy() *RenovatorList

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

func (*RenovatorList) DeepCopyInto

func (in *RenovatorList) DeepCopyInto(out *RenovatorList)

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

func (*RenovatorList) DeepCopyObject

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

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

type RenovatorSpec

type RenovatorSpec struct {
	ImageSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	Logging LoggingSpec `json:"logging,omitempty"`

	JobSpec `json:",inline"`

	PodSpec `json:",inline"`

	Discovery DiscoverySpec `json:"discovery"`

	// +kubebuilder:validation:Optional
	Runner RunnerSpec `json:"runner"`

	Renovate RenovateConfigSpec `json:"renovate,omitempty"`

	// AuthProviderRef is a reference to an AuthProvider resource in the same namespace.
	// When set, this Renovator will use the referenced AuthProvider for authentication.
	// Multiple Renovators can reference the same AuthProvider to share authentication configuration.
	// +kubebuilder:validation:Optional
	AuthProviderRef string `json:"authProviderRef,omitempty"`

	// Webhooks configures webhook management for the repositories discovered
	// by this Renovator. This setting is propagated to the child Discovery
	// and GitRepo resources.
	// +kubebuilder:validation:Optional
	Webhooks WebhooksSpec `json:"webhooks,omitempty"`
}

RenovatorSpec defines the desired state of Renovator.

func (*RenovatorSpec) DeepCopy

func (in *RenovatorSpec) DeepCopy() *RenovatorSpec

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

func (*RenovatorSpec) DeepCopyInto

func (in *RenovatorSpec) DeepCopyInto(out *RenovatorSpec)

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

type RenovatorStatus

type RenovatorStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

RenovatorStatus defines the observed state of Renovator.

func (*RenovatorStatus) DeepCopy

func (in *RenovatorStatus) DeepCopy() *RenovatorStatus

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

func (*RenovatorStatus) DeepCopyInto

func (in *RenovatorStatus) DeepCopyInto(out *RenovatorStatus)

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

type ResourceName

type ResourceName string

ResourceName is the name identifying various resources in a ResourceList.

const (
	// ResourceDiscoveries is the name of the Discovery resource.
	ResourceDiscoveries ResourceName = "discoveries"

	// ResourceGitRepos is the name of the GitRepo resource.
	ResourceGitRepos ResourceName = "gitrepos"

	// ResourceRenovateConfigs is the name of the RenovateConfig resource.
	ResourceRenovateConfigs ResourceName = "renovateconfigs"

	// ResourceRenovators is the name of the Renovator resource.
	ResourceRenovators ResourceName = "renovators"

	// ResourceRunners is the name of the Runner resource.
	ResourceRunners ResourceName = "runners"
)

func (ResourceName) String

func (rn ResourceName) String() string

Returns string version of ResourceName.

type Runner

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

	Spec   RunnerSpec   `json:"spec,omitempty"`
	Status RunnerStatus `json:"status,omitempty"`
}

Runner is the Schema for the runners API.

func (*Runner) DeepCopy

func (in *Runner) DeepCopy() *Runner

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

func (*Runner) DeepCopyInto

func (in *Runner) DeepCopyInto(out *Runner)

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

func (*Runner) DeepCopyObject

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

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

func (*Runner) GetCondition

func (r *Runner) GetCondition(conditionType string) *metav1.Condition

func (*Runner) GetFailedLimit

func (r *Runner) GetFailedLimit() int

GetFailedLimit returns the history limit for failed jobs.

func (*Runner) GetLastScheduleTime

func (r *Runner) GetLastScheduleTime() *metav1.Time

GetLastScheduleTime returns the time of the last execution.

func (*Runner) GetMaxParallel

func (r *Runner) GetMaxParallel() int

GetMaxParallel returns the maximum number of concurrent jobs.

func (*Runner) GetSchedule

func (r *Runner) GetSchedule() string

GetSchedule returns the cron schedule string.

func (*Runner) GetSuccessLimit

func (r *Runner) GetSuccessLimit() int

GetSuccessLimit returns the history limit for successful jobs.

func (*Runner) GetSuspend

func (r *Runner) GetSuspend() bool

GetSuspend returns true if the schedule is suspended.

func (*Runner) GetTimezone

func (r *Runner) GetTimezone() string

GetTimezone returns the IANA timezone name for schedule evaluation.

func (*Runner) RemoveCondition

func (r *Runner) RemoveCondition(conditionType string)

func (*Runner) SetCondition

func (r *Runner) SetCondition(
	conditionType string,
	status metav1.ConditionStatus,
	reason, message string,
)

func (*Runner) SetLastScheduleTime

func (r *Runner) SetLastScheduleTime(t *metav1.Time)

SetLastScheduleTime updates the time of the last execution.

type RunnerList

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

RunnerList contains a list of Runner.

func (*RunnerList) DeepCopy

func (in *RunnerList) DeepCopy() *RunnerList

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

func (*RunnerList) DeepCopyInto

func (in *RunnerList) DeepCopyInto(out *RunnerList)

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

func (*RunnerList) DeepCopyObject

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

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

type RunnerSpec

type RunnerSpec struct {
	ImageSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	Logging *LoggingSpec `json:"logging,omitempty"`

	//+kubebuilder:validation:Optional
	ConfigRef string `json:"configRef,omitempty"`

	JobSpec `json:",inline"`

	PodSpec `json:",inline"`

	// MaxParallel specifies the maximum number of jobs that can run concurrently.
	// A value of 0 means no limit.
	// +kubebuilder:validation:Optional
	MaxParallel *int32 `json:"maxParallel,omitempty"`

	// PodLabelTemplates are merged into Job pod labels. Values support
	// Go template variables: {{ .namespace }}, {{ .renovator }}, {{ .runner }}, {{ .discovery }}, {{ .gitrepo }}.
	// +kubebuilder:validation:Optional
	PodLabelTemplates map[string]string `json:"podLabelTemplates,omitempty"`
}

RunnerSpec defines the desired state of Runner.

func (*RunnerSpec) DeepCopy

func (in *RunnerSpec) DeepCopy() *RunnerSpec

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

func (*RunnerSpec) DeepCopyInto

func (in *RunnerSpec) DeepCopyInto(out *RunnerSpec)

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

type RunnerStatus

type RunnerStatus struct {
	Conditions       []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
	LastScheduleTime *metav1.Time       `json:"lastScheduleTime,omitempty"`
}

RunnerStatus defines the observed state of Runner.

func (*RunnerStatus) DeepCopy

func (in *RunnerStatus) DeepCopy() *RunnerStatus

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

func (*RunnerStatus) DeepCopyInto

func (in *RunnerStatus) DeepCopyInto(out *RunnerStatus)

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

type ScratchVolumeSpec

type ScratchVolumeSpec struct {
	// Path is the mount path for the scratch volume (RENOVATE_BASE_DIR).
	// Must be an absolute path.
	Path string `json:"path,omitempty"`

	// Ephemeral uses a Kubernetes generic ephemeral volume for scratch (volume.ephemeral).
	// When set, Medium and SizeLimit are ignored.
	Ephemeral *corev1.EphemeralVolumeSource `json:"ephemeral,omitempty"`

	// Medium specifies the storage medium.
	Medium corev1.StorageMedium `json:"medium,omitempty"`

	// SizeLimit is the maximum size of the volume.
	SizeLimit *resource.Quantity `json:"sizeLimit,omitempty"`
}

ScratchVolumeSpec configures a scratch volume for RENOVATE_BASE_DIR.

func (*ScratchVolumeSpec) DeepCopy

func (in *ScratchVolumeSpec) DeepCopy() *ScratchVolumeSpec

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

func (*ScratchVolumeSpec) DeepCopyInto

func (in *ScratchVolumeSpec) DeepCopyInto(out *ScratchVolumeSpec)

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

type WebhooksSpec added in v0.4.0

type WebhooksSpec struct {
	// Enabled controls whether the operator manages webhooks on the remote Git
	// provider for discovered repositories. When set to false, no webhooks
	// will be created, no webhook secrets will be generated, and any existing
	// managed webhook will be removed.
	// Defaults to true.
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty"`
}

WebhooksSpec configures webhook management for the discovered repositories.

func (*WebhooksSpec) DeepCopy added in v0.4.0

func (in *WebhooksSpec) DeepCopy() *WebhooksSpec

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

func (*WebhooksSpec) DeepCopyInto added in v0.4.0

func (in *WebhooksSpec) DeepCopyInto(out *WebhooksSpec)

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