api

package
v0.4.0-alpha Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2024 License: MPL-2.0 Imports: 12 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true

Index

Constants

View Source
const (
	DefaultLogFormat                     = "json"
	DefaultLogLevel                      = "info"
	DefaultMaxEventSizeBytes             = 5242880 // 5 MiB
	DefaultReleaseHistoryLimitCount      = 10
	DefaultReleasePendingDeadlineSeconds = 300 // 5 mins
	DefaultTimeoutSeconds                = 30

	MaximumMaxEventSizeBytes = 16777216 // 16 MiB
)
View Source
const (
	LabelK8sAppBranch             string = "kubefox.xigxog.io/app-branch"
	LabelK8sAppCommit             string = "kubefox.xigxog.io/app-commit"
	LabelK8sAppCommitShort        string = "kubefox.xigxog.io/app-commit-short"
	LabelK8sAppComponent          string = "kubefox.xigxog.io/app-component"
	LabelK8sAppDeployment         string = "kubefox.xigxog.io/app-deployment"
	LabelK8sAppName               string = "app.kubernetes.io/name"
	LabelK8sAppTag                string = "kubefox.xigxog.io/app-tag"
	LabelK8sAppVersion            string = "kubefox.xigxog.io/app-version"
	LabelK8sComponent             string = "app.kubernetes.io/component"
	LabelK8sComponentCommit       string = "kubefox.xigxog.io/component-commit"
	LabelK8sComponentCommitShort  string = "kubefox.xigxog.io/component-commit-short"
	LabelK8sComponentType         string = "kubefox.xigxog.io/component-type"
	LabelK8sInstance              string = "app.kubernetes.io/instance"
	LabelK8sPlatform              string = "kubefox.xigxog.io/platform"
	LabelK8sPlatformComponent     string = "kubefox.xigxog.io/platform-component"
	LabelK8sReleaseStatus         string = "kubefox.xigxog.io/release-status"
	LabelK8sRuntimeVersion        string = "kubefox.xigxog.io/runtime-version"
	LabelK8sSourceResourceVersion string = "kubefox.xigxog.io/source-resource-version"
	LabelK8sVirtualEnv            string = "kubefox.xigxog.io/virtual-env"
	LabelK8sVirtualEnvParent      string = "kubefox.xigxog.io/virtual-env-parent"
	LabelK8sVirtualEnvSnapshot    string = "kubefox.xigxog.io/virtual-env-snapshot"
)

Kubernetes Labels

View Source
const (
	AnnotationTemplateData     string = "kubefox.xigxog.io/template-data"
	AnnotationTemplateDataHash string = "kubefox.xigxog.io/template-data-hash"
)

Kubernetes Annotations

View Source
const (
	LabelOCIApp       string = "com.xigxog.kubefox.app"
	LabelOCIComponent string = "com.xigxog.kubefox.component"
	LabelOCICreated   string = "org.opencontainers.image.created"
	LabelOCIRevision  string = "org.opencontainers.image.revision"
	LabelOCISource    string = "org.opencontainers.image.source"
)

Container Labels

View Source
const (
	EnvNodeName = "KUBEFOX_NODE"
	EnvPodIP    = "KUBEFOX_POD_IP"
	EnvPodName  = "KUBEFOX_POD"
)
View Source
const (
	PlatformComponentBootstrap string = "bootstrap"
	PlatformComponentBroker    string = "broker"
	PlatformComponentHTTPSrv   string = "httpsrv"
	PlatformComponentNATS      string = "nats"
	PlatformComponentOperator  string = "operator"
)
View Source
const (
	ConditionTypeAvailable              string = "Available"
	ConditionTypeProgressing            string = "Progressing"
	ConditionTypeActiveReleaseAvailable string = "ActiveReleaseAvailable"
	ConditionTypeReleasePending         string = "ReleasePending"
)
View Source
const (
	ConditionReasonAppDeploymentAvailable         string = "AppDeploymentAvailable"
	ConditionReasonBrokerUnavailable              string = "BrokerUnavailable"
	ConditionReasonComponentDeploymentFailed      string = "ComponentDeploymentFailed"
	ConditionReasonComponentDeploymentProgressing string = "ComponentDeploymentProgressing"
	ConditionReasonComponentsAvailable            string = "ComponentsAvailable"
	ConditionReasonComponentsDeployed             string = "ComponentsDeployed"
	ConditionReasonComponentUnavailable           string = "ComponentUnavailable"
	ConditionReasonHTTPSrvUnavailable             string = "HTTPSrvUnavailable"
	ConditionReasonNATSUnavailable                string = "NATSUnavailable"
	ConditionReasonNoRelease                      string = "NoRelease"
	ConditionReasonPendingDeadlineExceeded        string = "PendingDeadlineExceeded"
	ConditionReasonPlatformComponentsAvailable    string = "PlatformComponentsAvailable"
	ConditionReasonProblemsExist                  string = "ProblemsExist"
	ConditionReasonReconcileFailed                string = "ReconcileFailed"
	ConditionReasonReleaseActive                  string = "ReleaseActive"
	ConditionReasonReleasePending                 string = "ReleasePending"
)
View Source
const (
	GRPCKeyApp       string = "app"
	GRPCKeyCommit    string = "commit"
	GRPCKeyComponent string = "component"
	GRPCKeyId        string = "id"
	GRPCKeyName      string = "name"
	GRPCKeyPlatform  string = "platform"
	GRPCKeyToken     string = "token"
	GRPCKeyType      string = "type"
)

gRPC metadata keys.

View Source
const (
	ValKeyHeader       = "header"
	ValKeyHost         = "host"
	ValKeyMaxEventSize = "maxEventSize"
	ValKeyMethod       = "method"
	ValKeyPath         = "path"
	ValKeyQuery        = "queryParam"
	ValKeySpanId       = "spanId"
	ValKeyStatus       = "status"
	ValKeyStatusCode   = "statusCode"
	ValKeyTraceFlags   = "traceFlags"
	ValKeyTraceId      = "traceId"
	ValKeyURL          = "url"
	ValKeyVaultURL     = "vaultURL"
)

Keys for well known values.

View Source
const (
	HeaderAdapter         = "kubefox-adapter"
	HeaderAppDep          = "kubefox-app-deployment"
	HeaderAppDepAbbrv     = "kf-dep"
	HeaderAppDepShort     = "kfd"
	HeaderContentLength   = "Content-Length"
	HeaderEventType       = "kubefox-event-type"
	HeaderEventTypeAbbrv  = "kf-type"
	HeaderEventTypeShort  = "kft"
	HeaderHost            = "Host"
	HeaderPlatform        = "kubefox-platform"
	HeaderTraceId         = "kubefox-trace-id"
	HeaderVirtualEnv      = "kubefox-virtual-env"
	HeaderVirtualEnvAbbrv = "kf-env"
	HeaderVirtualEnvShort = "kfe"
)

Headers and query params.

View Source
const (
	CharSetUTF8 = "charset=UTF-8"

	DataSchemaEvent = "kubefox.proto.v1.Event"

	ContentTypeHTML     = "text/html"
	ContentTypeJSON     = "application/json"
	ContentTypePlain    = "text/plain"
	ContentTypeProtobuf = "application/protobuf"
)
View Source
const (
	DefaultRouteId = -1
)
View Source
const (
	FinalizerReleaseProtection string = "kubefox.xigxog.io/release-protection"
)

Variables

View Source
var (
	RegexpCommit = regexp.MustCompile(`^[0-9a-f]{40}$`)
	RegexpGitRef = regexp.MustCompile(`^[a-z0-9][a-z0-9-\\.]{0,28}[a-z0-9]$`)
	RegexpImage  = regexp.MustCompile(`^.*:[a-z0-9-]{40}$`)
	RegexpName   = regexp.MustCompile(`^[a-z0-9][a-z0-9-]{0,28}[a-z0-9]$`)
	RegexpUUID   = regexp.MustCompile(`^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`)
)
View Source
var (
	KubeFoxHome = utils.EnvDef("KUBEFOX_HOME", path.Join("/", "tmp", "kubefox"))

	FileCACert  = "ca.crt"
	FileTLSCert = "tls.crt"
	FileTLSKey  = "tls.key"

	PathCACert      = path.Join(KubeFoxHome, FileCACert)
	PathSvcAccToken = "/var/run/secrets/kubernetes.io/serviceaccount/token"
	PathTLSCert     = path.Join(KubeFoxHome, FileTLSCert)
	PathTLSKey      = path.Join(KubeFoxHome, FileTLSKey)
)
View Source
var EFS embed.FS

Functions

This section is empty.

Types

type Adapter

type Adapter interface {
	GetName() string
	GetComponentType() ComponentType
	Validate(data *VirtualEnvData) Problems
}

+kubebuilder:object:generate=false

type AppDeploymentPolicy

type AppDeploymentPolicy string
const (
	AppDeploymentPolicyVersionOptional AppDeploymentPolicy = "VersionOptional"
	AppDeploymentPolicyVersionRequired AppDeploymentPolicy = "VersionRequired"
)

type ArchiveReason

type ArchiveReason string
const (
	ArchiveReasonPendingDeadlineExceeded ArchiveReason = "PendingDeadlineExceeded"
	ArchiveReasonRolledBack              ArchiveReason = "RolledBack"
	ArchiveReasonSuperseded              ArchiveReason = "Superseded"
)

type ComponentDefinition

type ComponentDefinition struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=DBAdapter;KubeFox;HTTPAdapter
	Type           ComponentType          `json:"type"`
	Routes         []RouteSpec            `json:"routes,omitempty"`
	DefaultHandler bool                   `json:"defaultHandler,omitempty"`
	EnvVarSchema   EnvVarSchema           `json:"envVarSchema,omitempty"`
	Dependencies   map[string]*Dependency `json:"dependencies,omitempty"`
}

func (*ComponentDefinition) DeepCopy

func (in *ComponentDefinition) DeepCopy() *ComponentDefinition

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

func (*ComponentDefinition) DeepCopyInto

func (in *ComponentDefinition) DeepCopyInto(out *ComponentDefinition)

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

type ComponentType

type ComponentType string
const (
	ComponentTypeBroker          ComponentType = "Broker"
	ComponentTypeDatabaseAdapter ComponentType = "DBAdapter"
	ComponentTypeHTTPAdapter     ComponentType = "HTTPAdapter"
	ComponentTypeKubeFox         ComponentType = "KubeFox"
	ComponentTypeNATS            ComponentType = "NATS"
)

func (ComponentType) IsAdapter

func (c ComponentType) IsAdapter() bool

type Dependency

type Dependency struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=DBAdapter;KubeFox;HTTPAdapter
	Type ComponentType `json:"type"`
}

func (*Dependency) DeepCopy

func (in *Dependency) DeepCopy() *Dependency

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

func (*Dependency) DeepCopyInto

func (in *Dependency) DeepCopyInto(out *Dependency)

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

type Details

type Details struct {
	Title       string `json:"title,omitempty"`
	Description string `json:"description,omitempty"`
}

func (*Details) DeepCopy

func (in *Details) DeepCopy() *Details

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

func (*Details) DeepCopyInto

func (in *Details) DeepCopyInto(out *Details)

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

type EnvSchema

type EnvSchema struct {
	Vars    EnvVarSchema `json:"vars,omitempty"`
	Secrets EnvVarSchema `json:"secrets,omitempty"`
}

func (*EnvSchema) DeepCopy

func (in *EnvSchema) DeepCopy() *EnvSchema

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

func (*EnvSchema) DeepCopyInto

func (in *EnvSchema) DeepCopyInto(out *EnvSchema)

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

type EnvTemplate

type EnvTemplate struct {
	// contains filtered or unexported fields
}

+kubebuilder:object:generate=false

func NewEnvTemplate

func NewEnvTemplate(template string) (*EnvTemplate, error)

func (*EnvTemplate) EnvSchema

func (r *EnvTemplate) EnvSchema() *EnvSchema

func (*EnvTemplate) Resolve

func (r *EnvTemplate) Resolve(data *VirtualEnvData) (string, error)

func (*EnvTemplate) Template

func (r *EnvTemplate) Template() string

type EnvVarDefinition

type EnvVarDefinition struct {
	// +kubebuilder:validation:Enum=Array;Boolean;Number;String
	Type EnvVarType `json:"type,omitempty"`
	// +kubebuilder:default=false
	Required bool `json:"required"`
}

func (*EnvVarDefinition) DeepCopy

func (in *EnvVarDefinition) DeepCopy() *EnvVarDefinition

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

func (*EnvVarDefinition) DeepCopyInto

func (in *EnvVarDefinition) DeepCopyInto(out *EnvVarDefinition)

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

type EnvVarSchema

type EnvVarSchema map[string]*EnvVarDefinition

func (EnvVarSchema) DeepCopy

func (in EnvVarSchema) DeepCopy() EnvVarSchema

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

func (EnvVarSchema) DeepCopyInto

func (in EnvVarSchema) DeepCopyInto(out *EnvVarSchema)

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

func (EnvVarSchema) Validate

func (e EnvVarSchema) Validate(vars map[string]*Val, src *ProblemSource) []Problem

type EnvVarType

type EnvVarType string
const (
	EnvVarTypeArray   EnvVarType = "Array"
	EnvVarTypeBoolean EnvVarType = "Boolean"
	EnvVarTypeNumber  EnvVarType = "Number"
	EnvVarTypeString  EnvVarType = "String"
)

type EventType

type EventType string
const (
	EventTypeCron       EventType = "io.kubefox.cron"
	EventTypeDapr       EventType = "io.kubefox.dapr"
	EventTypeHTTP       EventType = "io.kubefox.http"
	EventTypeKubeFox    EventType = "io.kubefox.kubefox"
	EventTypeKubernetes EventType = "io.kubefox.kubernetes"
)

Component event types

const (
	EventTypeAck       EventType = "io.kubefox.ack"
	EventTypeBootstrap EventType = "io.kubefox.bootstrap"
	EventTypeError     EventType = "io.kubefox.error"
	EventTypeHealth    EventType = "io.kubefox.health"
	EventTypeMetrics   EventType = "io.kubefox.metrics"
	EventTypeNack      EventType = "io.kubefox.nack"
	EventTypeRegister  EventType = "io.kubefox.register"
	EventTypeRejected  EventType = "io.kubefox.rejected"
	EventTypeTelemetry EventType = "io.kubefox.telemetry"
	EventTypeUnknown   EventType = "io.kubefox.unknown"
)

Platform event types

type FollowRedirects

type FollowRedirects string
const (
	FollowRedirectsAlways   FollowRedirects = "Always"
	FollowRedirectsNever    FollowRedirects = "Never"
	FollowRedirectsSameHost FollowRedirects = "SameHost"
)

type Problem

type Problem struct {
	Type ProblemType `json:"type"`

	Message string `json:"message,omitempty"`
	// Resources and attributes causing problem.
	Causes []ProblemSource `json:"causes,omitempty"`
}

func (*Problem) DeepCopy

func (in *Problem) DeepCopy() *Problem

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

func (*Problem) DeepCopyInto

func (in *Problem) DeepCopyInto(out *Problem)

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

type ProblemSource

type ProblemSource struct {
	Kind ProblemSourceKind `json:"kind"`
	Name string            `json:"name,omitempty"`
	// ObservedGeneration represents the .metadata.generation of the
	// ProblemSource that the problem was generated from. For instance, if the
	// ProblemSource .metadata.generation is currently 12, but the
	// observedGeneration is 9, the problem is out of date with respect to the
	// current state of the instance.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Path of source object attribute causing problem.
	Path string `json:"path,omitempty"`
	// Value causing problem. Pointer is used to distinguish between not set and
	// empty string.
	Value *string `json:"value,omitempty"`
}

func (*ProblemSource) DeepCopy

func (in *ProblemSource) DeepCopy() *ProblemSource

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

func (*ProblemSource) DeepCopyInto

func (in *ProblemSource) DeepCopyInto(out *ProblemSource)

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

type ProblemSourceKind

type ProblemSourceKind string
const (
	ProblemSourceKindAppDeployment      ProblemSourceKind = "AppDeployment"
	ProblemSourceKindComponent          ProblemSourceKind = "Component"
	ProblemSourceKindHTTPAdapter        ProblemSourceKind = "HTTPAdapter"
	ProblemSourceKindVirtualEnv         ProblemSourceKind = "VirtualEnv"
	ProblemSourceKindVirtualEnvSnapshot ProblemSourceKind = "VirtualEnvSnapshot"
)

type ProblemType

type ProblemType string
const (
	ProblemTypeAdapterNotFound          ProblemType = "AdapterNotFound"
	ProblemTypeAppDeploymentFailed      ProblemType = "AppDeploymentFailed"
	ProblemTypeDependencyInvalid        ProblemType = "DependencyInvalid"
	ProblemTypeDependencyNotFound       ProblemType = "DependencyNotFound"
	ProblemTypeParseError               ProblemType = "ParseError"
	ProblemTypePolicyViolation          ProblemType = "PolicyViolation"
	ProblemTypeRouteConflict            ProblemType = "RouteConflict"
	ProblemTypeVarNotFound              ProblemType = "VarNotFound"
	ProblemTypeVarWrongType             ProblemType = "VarWrongType"
	ProblemTypeVirtualEnvSnapshotFailed ProblemType = "VirtualEnvSnapshotFailed"
)

type Problems

type Problems []Problem

func (Problems) DeepCopy

func (in Problems) DeepCopy() Problems

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

func (Problems) DeepCopyInto

func (in Problems) DeepCopyInto(out *Problems)

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

type RouteSpec

type RouteSpec struct {
	// +kubebuilder:validation:Required
	Id int `json:"id"`
	// +kubebuilder:validation:Required
	Rule         string       `json:"rule"`
	Priority     int          `json:"priority,omitempty"`
	EnvVarSchema EnvVarSchema `json:"envVarSchema,omitempty"`
}

func (*RouteSpec) DeepCopy

func (in *RouteSpec) DeepCopy() *RouteSpec

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

func (*RouteSpec) DeepCopyInto

func (in *RouteSpec) DeepCopyInto(out *RouteSpec)

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

type Val

type Val struct {
	Type ValType `json:"-"`
	// contains filtered or unexported fields
}

func ValArrayFloat

func ValArrayFloat(val []float64) *Val

func ValArrayInt

func ValArrayInt(val []int) *Val

func ValArrayString

func ValArrayString(val []string) *Val

func ValBool

func ValBool(val bool) *Val

func ValFloat

func ValFloat(val float64) *Val

func ValInt

func ValInt(val int) *Val

func ValNil

func ValNil() *Val

func ValProto

func ValProto(val *structpb.Value) (*Val, error)

func ValString

func ValString(val string) *Val

func (*Val) Any

func (val *Val) Any() any

func (*Val) ArrayFloat

func (val *Val) ArrayFloat() []float64

ArrayFloat returns the array value if type is ArrayNumber. Otherwise nil is returned.

func (*Val) ArrayInt

func (val *Val) ArrayInt() []int

ArrayInt returns the array value if type is ArrayNumber. Otherwise nil is returned.

func (*Val) ArrayString

func (val *Val) ArrayString() []string

ArrayString returns the array value if type is ArrayString or ArrayNumber. Otherwise nil is returned.

func (*Val) Bool

func (val *Val) Bool() bool

Bool returns the boolean value if type is Bool. If type is Number, false will be returned if value is 0, otherwise true is returned. If type is String, an attempt to parse the boolean value will be made. If parsing fails or type is Array false will be returned.

func (*Val) BoolDef

func (val *Val) BoolDef(def bool) bool

func (*Val) DeepCopy

func (in *Val) DeepCopy() *Val

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

func (*Val) DeepCopyInto

func (in *Val) DeepCopyInto(out *Val)

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

func (*Val) EnvVarType

func (val *Val) EnvVarType() EnvVarType

func (*Val) Equals

func (val *Val) Equals(rhs *Val) bool

func (*Val) Float

func (val *Val) Float() float64

Float returns the float64 value if type is Number. If type is Bool 1 will be returned if true, otherwise 0 is returned. If type is String an attempt to parse the number will be made. If parsing fails or type is Array 0 will be returned.

func (*Val) FloatDef

func (val *Val) FloatDef(def float64) float64

func (*Val) Int

func (val *Val) Int() int

Int returns the int value if type is Number. If type is Bool 1 will be returned if true, otherwise 0 is returned. If type is String an attempt to parse the number will be made. If parsing fails or type is Array 0 will be returned.

func (*Val) IntDef

func (val *Val) IntDef(def int) int

func (*Val) IsArrayNumber

func (val *Val) IsArrayNumber() bool

func (*Val) IsArrayString

func (val *Val) IsArrayString() bool

func (*Val) IsBool

func (val *Val) IsBool() bool

func (*Val) IsEmpty

func (val *Val) IsEmpty() bool

func (*Val) IsNil

func (val *Val) IsNil() bool

func (*Val) IsNumber

func (val *Val) IsNumber() bool

func (*Val) IsString

func (val *Val) IsString() bool

func (*Val) IsUnknown

func (val *Val) IsUnknown() bool

func (*Val) MarshalJSON

func (val *Val) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface.

func (*Val) Proto

func (val *Val) Proto() *structpb.Value

func (*Val) String

func (val *Val) String() string

String returns the string value if type is String. If type is Array the JSON representation of the array is returned. Otherwise default string format of the value is returned.

func (*Val) StringDef

func (val *Val) StringDef(def string) string

func (*Val) UnmarshalJSON

func (val *Val) UnmarshalJSON(value []byte) error

UnmarshalJSON implements the json.Unmarshaller interface.

type ValType

type ValType int

ValType represents the stored type of Var.

const (
	Unknown     ValType = iota // holds an unknown
	Nil                        // holds a null
	Bool                       // holds a boolean
	Number                     // holds an int or float
	String                     // holds a string
	ArrayNumber                // holds an array of ints or floats
	ArrayString                // holds an array of strings
)

type VirtualEnvData

type VirtualEnvData struct {
	Vars    map[string]*Val   `json:"vars,omitempty"`
	Secrets map[string]string `json:"secrets,omitempty"`

	ResolvedSecrets map[string]*Val `json:"-"`
}

func (*VirtualEnvData) DeepCopy

func (in *VirtualEnvData) DeepCopy() *VirtualEnvData

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

func (*VirtualEnvData) DeepCopyInto

func (in *VirtualEnvData) DeepCopyInto(out *VirtualEnvData)

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

type VirtualEnvPolicy

type VirtualEnvPolicy string
const (
	VirtualEnvPolicySnapshotOptional VirtualEnvPolicy = "SnapshotOptional"
	VirtualEnvPolicySnapshotRequired VirtualEnvPolicy = "SnapshotRequired"
)

Directories

Path Synopsis
+kubebuilder:object:generate=true
+kubebuilder:object:generate=true
v1alpha1
Package v1alpha1 contains API Schema definitions for the k8s v1alpha1 API group +kubebuilder:object:generate=true +groupName=kubefox.xigxog.io
Package v1alpha1 contains API Schema definitions for the k8s v1alpha1 API group +kubebuilder:object:generate=true +groupName=kubefox.xigxog.io

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳