v1

package
v0.15.0 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2024 License: Apache-2.0 Imports: 6 Imported by: 21

Documentation

Overview

Copyright 2021 The Kubernetes Authors.

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

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

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

Package v1 contains API Schema definitions for the apps v1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMet +groupName=apps.open-cluster-management.io

Package v1 contains API Schema definitions for the apps v1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=apps.open-cluster-management.io

Index

Constants

View Source
const (
	// ChannelTypeNamespace represents the type of namespace channel
	ChannelTypeNamespace = "namespace"

	// ChannelTypeHelmRepo represents the type of helm repository channel
	ChannelTypeHelmRepo = "helmrepo"

	// ChannelTypeObjectBucket represents the type of object store channel
	ChannelTypeObjectBucket = "objectbucket"

	// ChannelTypeGitHub represents the type of GitHub repository channel
	ChannelTypeGitHub = "github"

	// ChannelTypeGit represents the type of GitHub repository channel
	ChannelTypeGit = "git"

	// TLS minimum version as integer
	TLSMinVersionInt = tls.VersionTLS12
	// TLS minimum version as a string
	TLSMinVersionString = "1.2"
)

Variables

View Source
var (
	// KeyChannelSource is the namespaced name of a Deployable from which
	// a child resource (deployable) is created by a channel.
	KeyChannelSource = SchemeGroupVersion.Group + "/hosting-deployable"

	// KeyChannel is namespacedname tells the source of the channel
	KeyChannel = SchemeGroupVersion.Group + "/channel"

	// KeyChannelType is the type of the source of the channel
	KeyChannelType = SchemeGroupVersion.Group + "/channel-type"

	// KeyChannelPath is the filter reference path of GitHub type channel
	KeyChannelPath = SchemeGroupVersion.Group + "/channel-path"

	// ServingChannel indicates the channel that the secrect or configMap
	// reference.
	ServingChannel = SchemeGroupVersion.Group + "/serving-channel"
)

EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN! NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized.

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: apiGroup, Version: "v1"}

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

	// AddToScheme is required by pkg/client/...
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource is required by pkg/client/listers/...

Types

type Channel

type Channel struct {
	// The most recent observed status of the Channel.
	Status ChannelStatus `json:"status,omitempty"`

	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ChannelSpec `json:"spec"`

	// Specification for the Channel.
	metav1.TypeMeta `json:",inline"`
}

Channel provides a repository containing application resources which can be deployed to clusters by subscriptions. The following 3 types of channels are supported: Git repository, Helm release registry, and Object storage repository. +k8s:openapi-gen=true +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.type",description="type of the channel" +kubebuilder:printcolumn:name="Pathname",type="string",JSONPath=".spec.pathname",description="pathname of the channel" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Namespaced

func (*Channel) DeepCopy

func (in *Channel) DeepCopy() *Channel

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

func (*Channel) DeepCopyInto

func (in *Channel) DeepCopyInto(out *Channel)

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

func (*Channel) DeepCopyObject

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

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

type ChannelGate

type ChannelGate struct {
	Name string `json:"name,omitempty"`

	// A label selector for selecting the Deployables.
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`

	// The annotations for selecting the Deployables to be eligible for promotion.
	Annotations map[string]string `json:"annotations,omitempty"`
}

ChannelGate defines a criteria for promoting a Deployable from the sourceNamespaces to Channel.

func (*ChannelGate) DeepCopy

func (in *ChannelGate) DeepCopy() *ChannelGate

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

func (*ChannelGate) DeepCopyInto

func (in *ChannelGate) DeepCopyInto(out *ChannelGate)

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

type ChannelList

type ChannelList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// A list of Channel objects.
	// +listType=set
	Items []Channel `json:"items"`
}

ChannelList provides a list of channels

func (*ChannelList) DeepCopy

func (in *ChannelList) DeepCopy() *ChannelList

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

func (*ChannelList) DeepCopyInto

func (in *ChannelList) DeepCopyInto(out *ChannelList)

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

func (*ChannelList) DeepCopyObject

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

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

type ChannelSpec

type ChannelSpec struct {

	// +kubebuilder:validation:Enum={Namespace,HelmRepo,ObjectBucket,GitHub,Git,namespace,helmrepo,objectbucket,github,git}
	Type ChannelType `json:"type"`

	// For a `helmrepo` or `github` channel, pathname is the repo URL.
	// For a `objectbucket` channel, pathname is the Object store URL with the name of the bucket.
	Pathname string `json:"pathname"`

	// Skip server TLS certificate verification for Git or Helm channel.
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`

	// For a `github` channel or a `helmrepo` channel on github,
	// use this to reference a secret which contains the credentials for authentication, for example: `user` and `accessToken`.
	// For a `objectbucket` channel,
	// use this to reference a secret which contains the AWS credentials, for example: `AccessKeyID`,`SecretAccessKey` and `Region`.
	// +optional
	SecretRef *corev1.ObjectReference `json:"secretRef,omitempty"`

	// Reference to a ConfigMap which contains additional settings for accessing the channel.
	// For example, the `insecureSkipVerify` option for accessing HTTPS endpoints can be set in the ConfigMap to indicate a insecure connection.
	ConfigMapRef *corev1.ObjectReference `json:"configMapRef,omitempty"`

	// +optional
	Gates *ChannelGate `json:"gates,omitempty"`

	// A list of namespace names from which Deployables can be promoted.
	// +optional
	// +listType=set
	SourceNamespaces []string `json:"sourceNamespaces,omitempty"`
}

ChannelSpec defines the desired state of Channel

func (*ChannelSpec) DeepCopy

func (in *ChannelSpec) DeepCopy() *ChannelSpec

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

func (*ChannelSpec) DeepCopyInto

func (in *ChannelSpec) DeepCopyInto(out *ChannelSpec)

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

type ChannelStatus

type ChannelStatus struct {
}

ChannelStatus defines the observed state of Channel

func (*ChannelStatus) DeepCopy

func (in *ChannelStatus) DeepCopy() *ChannelStatus

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

func (*ChannelStatus) DeepCopyInto

func (in *ChannelStatus) DeepCopyInto(out *ChannelStatus)

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

type ChannelType

type ChannelType string

ChannelType defines a type of channel

Jump to

Keyboard shortcuts

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