mirror of
https://github.com/open-cluster-management-io/ocm.git
synced 2026-05-11 19:58:25 +00:00
* Upgrade golang to 1.24 Signed-off-by: zhujian <jiazhu@redhat.com> * Fix lint errors Co-authored-by: gemini <gemini@google.com> Signed-off-by: zhujian <jiazhu@redhat.com> * upgrade sdk-go to latest Signed-off-by: zhujian <jiazhu@redhat.com> --------- Signed-off-by: zhujian <jiazhu@redhat.com> Co-authored-by: gemini <gemini@google.com>
189 lines
8.8 KiB
Protocol Buffer
Generated
189 lines
8.8 KiB
Protocol Buffer
Generated
|
||
// This file was autogenerated by go-to-protobuf. Do not edit it manually!
|
||
|
||
syntax = "proto2";
|
||
|
||
package github.com.openshift.api.samples.v1;
|
||
|
||
import "k8s.io/api/core/v1/generated.proto";
|
||
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
|
||
import "k8s.io/apimachinery/pkg/runtime/generated.proto";
|
||
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
|
||
|
||
// Package-wide variables from generator "generated".
|
||
option go_package = "github.com/openshift/api/samples/v1";
|
||
|
||
// Config contains the configuration and detailed condition status for the Samples Operator.
|
||
//
|
||
// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
|
||
// +openshift:compatibility-gen:level=1
|
||
// +kubebuilder:object:root=true
|
||
// +kubebuilder:subresource:status
|
||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||
// +kubebuilder:resource:path=configs,scope=Cluster
|
||
// +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/513
|
||
// +openshift:file-pattern=operatorOrdering=00
|
||
// +kubebuilder:metadata:annotations="description=Extension for configuring openshift samples operator."
|
||
// +kubebuilder:metadata:annotations="displayName=ConfigsSamples"
|
||
message Config {
|
||
// metadata is the standard object's metadata.
|
||
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||
|
||
// +required
|
||
optional ConfigSpec spec = 2;
|
||
|
||
// +optional
|
||
optional ConfigStatus status = 3;
|
||
}
|
||
|
||
// ConfigCondition captures various conditions of the Config
|
||
// as entries are processed.
|
||
message ConfigCondition {
|
||
// type of condition.
|
||
optional string type = 1;
|
||
|
||
// status of the condition, one of True, False, Unknown.
|
||
optional string status = 2;
|
||
|
||
// lastUpdateTime is the last time this condition was updated.
|
||
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 3;
|
||
|
||
// lastTransitionTime is the last time the condition transitioned from one status to another.
|
||
optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4;
|
||
|
||
// reason is what caused the condition's last transition.
|
||
optional string reason = 5;
|
||
|
||
// message is a human readable message indicating details about the transition.
|
||
optional string message = 6;
|
||
}
|
||
|
||
// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
|
||
// +openshift:compatibility-gen:level=1
|
||
message ConfigList {
|
||
// metadata is the standard list's metadata.
|
||
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||
|
||
repeated Config items = 2;
|
||
}
|
||
|
||
// ConfigSpec contains the desired configuration and state for the Samples Operator, controlling
|
||
// various behavior around the imagestreams and templates it creates/updates in the
|
||
// openshift namespace.
|
||
message ConfigSpec {
|
||
// managementState is top level on/off type of switch for all operators.
|
||
// When "Managed", this operator processes config and manipulates the samples accordingly.
|
||
// When "Unmanaged", this operator ignores any updates to the resources it watches.
|
||
// When "Removed", it reacts that same wasy as it does if the Config object
|
||
// is deleted, meaning any ImageStreams or Templates it manages (i.e. it honors the skipped
|
||
// lists) and the registry secret are deleted, along with the ConfigMap in the operator's
|
||
// namespace that represents the last config used to manipulate the samples,
|
||
optional string managementState = 1;
|
||
|
||
// samplesRegistry allows for the specification of which registry is accessed
|
||
// by the ImageStreams for their image content. Defaults on the content in https://github.com/openshift/library
|
||
// that are pulled into this github repository, but based on our pulling only ocp content it typically
|
||
// defaults to registry.redhat.io.
|
||
optional string samplesRegistry = 2;
|
||
|
||
// architectures determine which hardware architecture(s) to install, where x86_64, ppc64le, and s390x are the only
|
||
// supported choices currently.
|
||
repeated string architectures = 4;
|
||
|
||
// skippedImagestreams specifies names of image streams that should NOT be
|
||
// created/updated. Admins can use this to allow them to delete content
|
||
// they don’t want. They will still have to manually delete the
|
||
// content but the operator will not recreate(or update) anything
|
||
// listed here.
|
||
repeated string skippedImagestreams = 5;
|
||
|
||
// skippedTemplates specifies names of templates that should NOT be
|
||
// created/updated. Admins can use this to allow them to delete content
|
||
// they don’t want. They will still have to manually delete the
|
||
// content but the operator will not recreate(or update) anything
|
||
// listed here.
|
||
repeated string skippedTemplates = 6;
|
||
|
||
// skippedHelmCharts specifies names of helm charts that should NOT be
|
||
// managed. Admins can use this to allow them to delete content
|
||
// they don’t want. They will still have to MANUALLY DELETE the
|
||
// content but the operator will not recreate(or update) anything
|
||
// listed here. Few examples of the name of helmcharts which can be skipped are
|
||
// 'redhat-redhat-perl-imagestreams','redhat-redhat-nodejs-imagestreams','redhat-nginx-imagestreams',
|
||
// 'redhat-redhat-ruby-imagestreams','redhat-redhat-python-imagestreams','redhat-redhat-php-imagestreams',
|
||
// 'redhat-httpd-imagestreams','redhat-redhat-dotnet-imagestreams'. Rest of the names can be obtained from
|
||
// openshift console --> helmcharts -->installed helmcharts. This will display the list of all the
|
||
// 12 helmcharts(of imagestreams)being installed by Samples Operator. The skippedHelmCharts must be a
|
||
// valid Kubernetes resource name. May contain only lowercase alphanumeric characters, hyphens and periods,
|
||
// and each period separated segment must begin and end with an alphanumeric character. It must be non-empty
|
||
// and at most 253 characters in length
|
||
// +listType=set
|
||
// +kubebuilder:validation:MaxItems=16
|
||
// +kubebuilder:validation:XValidation:rule="self.all(x, x.matches('^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$'))",message="skippedHelmCharts must be a valid Kubernetes resource name. May contain only lowercase alphanumeric characters, hyphens and periods, and each period separated segment must begin and end with an alphanumeric character"
|
||
repeated string skippedhelmCharts = 7;
|
||
}
|
||
|
||
// ConfigStatus contains the actual configuration in effect, as well as various details
|
||
// that describe the state of the Samples Operator.
|
||
message ConfigStatus {
|
||
// managementState reflects the current operational status of the on/off switch for
|
||
// the operator. This operator compares the ManagementState as part of determining that we are turning
|
||
// the operator back on (i.e. "Managed") when it was previously "Unmanaged".
|
||
// +patchMergeKey=type
|
||
// +patchStrategy=merge
|
||
// +optional
|
||
optional string managementState = 1;
|
||
|
||
// conditions represents the available maintenance status of the sample
|
||
// imagestreams and templates.
|
||
// +patchMergeKey=type
|
||
// +patchStrategy=merge
|
||
// +optional
|
||
repeated ConfigCondition conditions = 2;
|
||
|
||
// samplesRegistry allows for the specification of which registry is accessed
|
||
// by the ImageStreams for their image content. Defaults on the content in https://github.com/openshift/library
|
||
// that are pulled into this github repository, but based on our pulling only ocp content it typically
|
||
// defaults to registry.redhat.io.
|
||
// +patchMergeKey=type
|
||
// +patchStrategy=merge
|
||
// +optional
|
||
optional string samplesRegistry = 3;
|
||
|
||
// architectures determine which hardware architecture(s) to install, where x86_64 and ppc64le are the
|
||
// supported choices.
|
||
// +patchMergeKey=type
|
||
// +patchStrategy=merge
|
||
// +optional
|
||
repeated string architectures = 5;
|
||
|
||
// skippedImagestreams specifies names of image streams that should NOT be
|
||
// created/updated. Admins can use this to allow them to delete content
|
||
// they don’t want. They will still have to manually delete the
|
||
// content but the operator will not recreate(or update) anything
|
||
// listed here.
|
||
// +patchMergeKey=type
|
||
// +patchStrategy=merge
|
||
// +optional
|
||
repeated string skippedImagestreams = 6;
|
||
|
||
// skippedTemplates specifies names of templates that should NOT be
|
||
// created/updated. Admins can use this to allow them to delete content
|
||
// they don’t want. They will still have to manually delete the
|
||
// content but the operator will not recreate(or update) anything
|
||
// listed here.
|
||
// +patchMergeKey=type
|
||
// +patchStrategy=merge
|
||
// +optional
|
||
repeated string skippedTemplates = 7;
|
||
|
||
// version is the value of the operator's payload based version indicator when it was last successfully processed
|
||
// +patchMergeKey=type
|
||
// +patchStrategy=merge
|
||
// +optional
|
||
optional string version = 8;
|
||
}
|
||
|