Documentation
¶
Overview ¶
+kubebuilder:object:generate=true
Index ¶
- Constants
- Variables
- type ArchiveReason
- type ComponentDefinition
- type ComponentType
- type Data
- type DataDetails
- type DataKey
- type DataProvider
- type DataSourceKind
- type Dependency
- type Details
- type EnvSchema
- type EnvTemplate
- type EnvVarDefinition
- type EnvVarSchema
- type EnvVarType
- type EventType
- type FollowRedirects
- type Object
- type Problem
- type ProblemSource
- type ProblemSourceKind
- type ProblemType
- type Problems
- type ReleaseType
- type RouteSpec
- type Val
- func (val *Val) Any() any
- func (val *Val) ArrayFloat() []float64
- func (val *Val) ArrayInt() []int
- func (val *Val) ArrayString() []string
- func (val *Val) Bool() bool
- func (val *Val) BoolDef(def bool) bool
- func (in *Val) DeepCopy() *Val
- func (in *Val) DeepCopyInto(out *Val)
- func (val *Val) EnvVarType() EnvVarType
- func (val *Val) Equals(rhs *Val) bool
- func (val *Val) Float() float64
- func (val *Val) FloatDef(def float64) float64
- func (val *Val) Int() int
- func (val *Val) IntDef(def int) int
- func (val *Val) IsArrayNumber() bool
- func (val *Val) IsArrayString() bool
- func (val *Val) IsBool() bool
- func (val *Val) IsEmpty() bool
- func (val *Val) IsNil() bool
- func (val *Val) IsNumber() bool
- func (val *Val) IsString() bool
- func (val *Val) IsUnknown() bool
- func (val *Val) MarshalJSON() ([]byte, error)
- func (val *Val) Proto() *structpb.Value
- func (val *Val) String() string
- func (val *Val) StringDef(def string) string
- func (val *Val) UnmarshalJSON(value []byte) error
- type ValType
Constants ¶
const (
SecretMask = "••••••"
MaximumMaxEventSizeBytes = 16777216 // 16 MiB
)
Misc
const (
DefaultLogFormat = "json"
DefaultLogLevel = "info"
DefaultMaxEventSizeBytes = 5242880 // 5 MiB
DefaultReleaseActivationDeadlineSeconds = 300 // 5 mins
DefaultReleaseHistoryAgeLimit = 0
DefaultReleaseHistoryCountLimit = 10
DefaultTimeoutSeconds = 30
)
Defaults
const (
LabelK8sAppBranch string = "kubefox.xigxog.io/app-branch"
LabelK8sAppCommit string = "kubefox.xigxog.io/app-commit"
LabelK8sAppCommitShort string = "kubefox.xigxog.io/app-commit-short"
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"
LabelK8sEnvironment string = "kubefox.xigxog.io/environment"
LabelK8sInstance string = "app.kubernetes.io/instance"
LabelK8sPlatform string = "kubefox.xigxog.io/platform"
LabelK8sReleaseManifest string = "kubefox.xigxog.io/release-manifest"
LabelK8sRuntimeVersion string = "kubefox.xigxog.io/runtime-version"
LabelK8sVirtualEnvironment string = "kubefox.xigxog.io/virtual-environment"
)
Kubernetes Labels
const (
AnnotationLastApplied string = "kubectl.kubernetes.io/last-applied-configuration"
AnnotationTemplateData string = "kubefox.xigxog.io/template-data"
AnnotationTemplateDataHash string = "kubefox.xigxog.io/template-data-hash"
)
Kubernetes Annotations
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
const (
FinalizerEnvironmentProtection string = "kubefox.xigxog.io/environment-protection"
FinalizerReleaseProtection string = "kubefox.xigxog.io/release-protection"
)
const (
EnvNodeName = "KUBEFOX_NODE"
EnvPodIP = "KUBEFOX_POD_IP"
EnvPodName = "KUBEFOX_POD"
)
const (
PlatformComponentBootstrap string = "bootstrap"
PlatformComponentBroker string = "broker"
PlatformComponentHTTPSrv string = "httpsrv"
PlatformComponentNATS string = "nats"
PlatformComponentOperator string = "operator"
)
const (
ConditionTypeAvailable string = "Available"
ConditionTypeProgressing string = "Progressing"
ConditionTypeActiveReleaseAvailable string = "ActiveReleaseAvailable"
ConditionTypeReleasePending string = "ReleasePending"
)
const (
ConditionReasonBrokerUnavailable string = "BrokerUnavailable"
ConditionReasonComponentDeploymentFailed string = "ComponentDeploymentFailed"
ConditionReasonComponentDeploymentProgressing string = "ComponentDeploymentProgressing"
ConditionReasonComponentsAvailable string = "ComponentsAvailable"
ConditionReasonComponentsDeployed string = "ComponentsDeployed"
ConditionReasonComponentUnavailable string = "ComponentUnavailable"
ConditionReasonContextAvailable string = "ContextAvailable"
ConditionReasonEnvironmentNotFound string = "EnvironmentNotFound"
ConditionReasonHTTPSrvUnavailable string = "HTTPSrvUnavailable"
ConditionReasonNATSUnavailable string = "NATSUnavailable"
ConditionReasonNoRelease string = "NoRelease"
ConditionReasonPendingDeadlineExceeded string = "PendingDeadlineExceeded"
ConditionReasonPlatformComponentsAvailable string = "PlatformComponentsAvailable"
ConditionReasonProblemsFound string = "ProblemsFound"
ConditionReasonReconcileFailed string = "ReconcileFailed"
ConditionReasonReleaseActivated string = "ReleaseActivated"
ConditionReasonReleasePending string = "ReleasePending"
)
const (
GRPCKeyApp string = "app"
GRPCKeyCommit string = "commit"
GRPCKeyComponent string = "component"
GRPCKeyId string = "id"
GRPCKeyPlatform string = "platform"
GRPCKeyPod string = "pod"
GRPCKeyToken string = "token"
GRPCKeyType string = "type"
)
gRPC metadata keys.
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.
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"
HeaderReleaseManifest = "kubefox-release-manifest"
HeaderTraceId = "kubefox-trace-id"
HeaderVirtualEnvironment = "kubefox-virtual-environment"
HeaderVirtualEnvironmentAbbrv = "kf-env"
HeaderVirtualEnvironmentShort = "kfe"
)
Headers and query params.
const (
CharSetUTF8 = "charset=UTF-8"
DataSchemaEvent = "kubefox.proto.v1.Event"
ContentTypeHTML = "text/html"
ContentTypeJSON = "application/json"
ContentTypePlain = "text/plain"
ContentTypeProtobuf = "application/protobuf"
)
const (
DefaultRouteId = -1
)
Variables ¶
var (
True = &t
False = &f
)
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}$`)
)
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)
)
var EFS embed.FS
Functions ¶
This section is empty.
Types ¶
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"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:Pattern="^[a-z0-9]{32}$"
Hash string `json:"hash"`
Image string `json:"image,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"
)
type Data ¶
type Data struct {
// +kubebuilder:validation:Schemaless
// +kubebuilder:validation:Type=object
// +kubebuilder:pruning:PreserveUnknownFields
Vars map[string]*Val `json:"vars,omitempty"`
// +kubebuilder:validation:Schemaless
// +kubebuilder:validation:Type=object
// +kubebuilder:pruning:PreserveUnknownFields
Secrets map[string]*Val `json:"secrets,omitempty"`
}
func (*Data) DeepCopy ¶
func (in *Data) DeepCopy() *Data
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Data.
func (*Data) DeepCopyInto ¶
func (in *Data) DeepCopyInto(out *Data)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataDetails ¶
type DataDetails struct {
Details `json:",inline"`
Vars map[string]Details `json:"vars,omitempty"`
Secrets map[string]Details `json:"secrets,omitempty"`
}
func (*DataDetails) DeepCopy ¶
func (in *DataDetails) DeepCopy() *DataDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataDetails.
func (*DataDetails) DeepCopyInto ¶
func (in *DataDetails) DeepCopyInto(out *DataDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataKey ¶
type DataKey struct {
Instance string
Namespace string
Kind string
Name string
}
func (*DataKey) DeepCopy ¶
func (in *DataKey) DeepCopy() *DataKey
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataKey.
func (*DataKey) DeepCopyInto ¶
func (in *DataKey) DeepCopyInto(out *DataKey)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataProvider ¶
type DataProvider interface {
Object
GetData() *Data
GetDataKey() DataKey
}
+kubebuilder:object:generate=false
type DataSourceKind ¶
type DataSourceKind string
const (
DataSourceKindVirtualEnvironment DataSourceKind = "VirtualEnvironment"
)
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(name, template string) *EnvTemplate
func (*EnvTemplate) ParseError ¶
func (r *EnvTemplate) ParseError() error
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.
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 Object ¶
type Object interface {
GetNamespace() string
GetName() string
GetResourceVersion() string
GetGeneration() int64
}
+kubebuilder:object:generate=false
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"
ProblemSourceKindDeployment ProblemSourceKind = "Deployment"
ProblemSourceKindHTTPAdapter ProblemSourceKind = "HTTPAdapter"
ProblemSourceKindReleaseManifest ProblemSourceKind = "ReleaseManifest"
ProblemSourceKindVirtualEnvironment ProblemSourceKind = "VirtualEnvironment"
)
type ProblemType ¶
type ProblemType string
const (
ProblemTypeAdapterNotFound ProblemType = "AdapterNotFound"
ProblemTypeAppDeploymentFailed ProblemType = "AppDeploymentFailed"
ProblemTypeAppDeploymentNotFound ProblemType = "AppDeploymentNotFound"
ProblemTypeDependencyInvalid ProblemType = "DependencyInvalid"
ProblemTypeDependencyNotFound ProblemType = "DependencyNotFound"
ProblemTypeDeploymentFailed ProblemType = "DeploymentFailed"
ProblemTypeDeploymentNotFound ProblemType = "DeploymentNotFound"
ProblemTypeDeploymentUnavailable ProblemType = "DeploymentUnavailable"
ProblemTypeParseError ProblemType = "ParseError"
ProblemTypePolicyViolation ProblemType = "PolicyViolation"
ProblemTypeReleaseManifestFailed ProblemType = "ReleaseManifestFailed"
ProblemTypeReleaseManifestNotFound ProblemType = "ReleaseManifestNotFound"
ProblemTypeReleaseManifestUnavailable ProblemType = "ReleaseManifestUnavailable"
ProblemTypeRouteConflict ProblemType = "RouteConflict"
ProblemTypeVarNotFound ProblemType = "VarNotFound"
ProblemTypeVarWrongType ProblemType = "VarWrongType"
ProblemTypeVersionConflict ProblemType = "VersionConflict"
)
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 ReleaseType ¶
type ReleaseType string
const (
ReleaseTypeStable ReleaseType = "Stable"
ReleaseTypeTesting ReleaseType = "Testing"
)
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 (*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) 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) 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) 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) IsArrayNumber ¶
func (val *Val) IsArrayNumber() bool
func (*Val) IsArrayString ¶
func (val *Val) IsArrayString() bool
func (*Val) MarshalJSON ¶
func (val *Val) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface.
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) 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
)
Source Files
¶
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 |