Documentation
¶
Overview ¶
+kubebuilder:object:generate=true
Index ¶
- Constants
- Variables
- type App
- type AppDeploymentPolicy
- type AppDetails
- type ComponentDefinition
- type ComponentDetails
- type ComponentType
- type Dependency
- type Details
- type EnvVarSchema
- type EnvVarType
- type EventType
- type FollowRedirects
- 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) 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
- type VirtualEnvPolicy
Constants ¶
const ( DefaultLogFormat = "json" DefaultLogLevel = "info" DefaultMaxEventSizeBytes = 5242880 // 5 MiB DefaultReleaseLimitCount = 100 DefaultReleaseTimeoutSeconds = 300 // 5 mins DefaultTimeoutSeconds = 30 MaximumMaxEventSizeBytes = 16777216 // 16 MiB )
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" 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 = "app.kubernetes.io/runtime-version" LabelK8sSourceKind string = "kubefox.xigxog.io/source-kind" LabelK8sSourceResourceVersion string = "kubefox.xigxog.io/source-resource-version" LabelK8sVirtualEnv string = "kubefox.xigxog.io/virtual-env" LabelK8sVirtualEnvSnapshot string = "kubefox.xigxog.io/virtual-env-snapshot" )
Kubernetes Labels
const ( 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 ( 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 ( ValKeyHeader = "header" ValKeyHost = "host" ValKeyMethod = "method" ValKeyPath = "path" ValKeyQuery = "queryParam" ValKeySpanId = "spanId" ValKeyStatus = "status" ValKeyStatusCode = "statusCode" ValKeyTraceFlags = "traceFlags" ValKeyTraceId = "traceId" ValKeyURL = "url" )
Keys for well known values.
const ( HeaderAbbrvDep = "kf-dep" HeaderAbbrvEnv = "kf-env" HeaderAbbrvEventType = "kf-type" HeaderAdapter = "kubefox-adapter" HeaderContentLength = "Content-Length" HeaderDep = "kubefox-deployment" HeaderEnv = "kubefox-environment" HeaderEventType = "kubefox-type" HeaderHost = "Host" HeaderShortDep = "kfd" HeaderShortEnv = "kfe" HeaderShortEventType = "kft" HeaderTraceId = "kubefox-trace-id" )
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
)
const (
FinalizerReleaseProtection string = "kubefox.xigxog.io/release-protection"
)
Variables ¶
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 App ¶
type App struct { Name string `json:"name"` ContainerRegistry string `json:"containerRegistry,omitempty"` }
func (*App) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new App.
func (*App) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppDeploymentPolicy ¶
type AppDeploymentPolicy string
const ( AppDeploymentPolicyVersionOptional AppDeploymentPolicy = "VersionOptional" AppDeploymentPolicyVersionRequired AppDeploymentPolicy = "VersionRequired" )
type AppDetails ¶
func (*AppDetails) DeepCopy ¶
func (in *AppDetails) DeepCopy() *AppDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppDetails.
func (*AppDetails) DeepCopyInto ¶
func (in *AppDetails) DeepCopyInto(out *AppDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentDefinition ¶
type ComponentDefinition struct { // +kubebuilder:validation:Enum=db;genesis;kubefox;http Type ComponentType `json:"type"` Routes []RouteSpec `json:"routes,omitempty"` DefaultHandler bool `json:"defaultHandler,omitempty"` EnvSchema map[string]*EnvVarSchema `json:"envSchema,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 ComponentDetails ¶
type ComponentDetails struct { ComponentDefinition `json:",inline"` Details `json:",inline"` }
func (*ComponentDetails) DeepCopy ¶
func (in *ComponentDetails) DeepCopy() *ComponentDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentDetails.
func (*ComponentDetails) DeepCopyInto ¶
func (in *ComponentDetails) DeepCopyInto(out *ComponentDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentType ¶
type ComponentType string
const ( ComponentTypeDatabase ComponentType = "db" ComponentTypeGenesis ComponentType = "genesis" ComponentTypeHTTP ComponentType = "http" ComponentTypeKubeFox ComponentType = "kubefox" )
type Dependency ¶
type Dependency struct { // +kubebuilder:validation:Enum=db;kubefox;http 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Details.
func (*Details) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvVarSchema ¶
type EnvVarSchema struct { // +kubebuilder:validation:Enum=array;boolean;number;string Type EnvVarType `json:"type"` Required bool `json:"required"` // Unique indicates that this environment variable must have a unique value // across all environments. If the value is not unique then making a dynamic // request or creating a release that utilizes this variable will fail. Unique bool `json:"unique"` }
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 RouteSpec ¶
type RouteSpec struct { Id int `json:"id"` Rule string `json:"rule"` Priority int `json:"priority,omitempty"` }
func (*RouteSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpec.
func (*RouteSpec) DeepCopyInto ¶
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 ValArrayInt ¶
func ValArrayString ¶
func (*Val) ArrayFloat ¶
ArrayFloat returns the array value if type is ArrayNumber. Otherwise nil is returned.
func (*Val) ArrayInt ¶
ArrayInt returns the array value if type is ArrayNumber. Otherwise nil is returned.
func (*Val) ArrayString ¶
ArrayString returns the array value if type is ArrayString or ArrayNumber. Otherwise nil is returned.
func (*Val) 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Val.
func (*Val) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Val) Float ¶
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 ¶
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) IsArrayString ¶
func (*Val) MarshalJSON ¶
MarshalJSON implements the json.Marshaller interface.
func (*Val) String ¶
String returns the string value if type is String. If type is Bool the `fmt.Sprintf("%t", bool)` of the bool value is returned. If type is Number the `fmt.Sprintf("%f", float)` of the number value is returned. If type is Array the JSON representation of the array is returned.
func (*Val) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface.
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 |