Skip to content

Kubernetes CRDs

kubefox.xigxog.io/v1alpha1

AppDeployment

AppDeployment is the Schema for the AppDeployments API

Field Type Description Validation
apiVersion string kubefox.xigxog.io/v1alpha1
kind string AppDeployment
metadata
Refer to Kubernetes API documentation for fields of metadata.
spec
status
details

Environment

Field Type Description Validation
apiVersion string kubefox.xigxog.io/v1alpha1
kind string Environment
metadata
Refer to Kubernetes API documentation for fields of metadata.
spec
data
details

HTTPAdapter

Field Type Description Validation
apiVersion string kubefox.xigxog.io/v1alpha1
kind string HTTPAdapter
metadata
Refer to Kubernetes API documentation for fields of metadata.
spec
details

Platform

Platform is the Schema for the Platforms API

Field Type Description Validation
apiVersion string kubefox.xigxog.io/v1alpha1
kind string Platform
metadata
Refer to Kubernetes API documentation for fields of metadata.
spec
status
details

ReleaseManifest

Field Type Description Validation
apiVersion string kubefox.xigxog.io/v1alpha1
kind string ReleaseManifest
metadata
Refer to Kubernetes API documentation for fields of metadata.
spec
required
data
Data is the merged values of the Environment and VirtualEnvironment Data.
required

VirtualEnvironment

Field Type Description Validation
apiVersion string kubefox.xigxog.io/v1alpha1
kind string VirtualEnvironment
metadata
Refer to Kubernetes API documentation for fields of metadata.
spec
data
details
status

Types

AppDeploymentDetails

AppDeploymentDetails defines additional details of AppDeployment

Used by:
- AppDeployment
- AppDeploymentManifest

Field Type Description Validation
title
string
description
string
components
map{string, Details}

AppDeploymentManifest

Used by:
- ReleaseManifestSpec

Field Type Description Validation
metadata
Refer to Kubernetes API documentation for fields of metadata.
required
spec
required
details

AppDeploymentSpec

AppDeploymentSpec defines the desired state of AppDeployment

Used by:
- AppDeployment
- AppDeploymentManifest

Field Type Description Validation
appName
string
required
version
string
Version of the defined App. Use of semantic versioning is recommended. Once set the AppDeployment spec becomes immutable.
commit
string
required, pattern: ^[a-z0-9]{40}$
commitTime
required
branch
string
tag
string
repoURL
string
containerRegistry
string
imagePullSecretName
string
components
map{string, ComponentDefinition}
required

AppDeploymentStatus

AppDeploymentStatus defines the observed state of AppDeployment

Used by:
- AppDeployment

Field Type Description Validation
conditions
Condition array
problems

BrokerSpec

Used by:
- PlatformSpec

Field Type Description Validation
podSpec
containerSpec

ComponentDefinition

Used by:
- AppDeploymentSpec

Field Type Description Validation
type
enum[DBAdapter, KubeFox, HTTPAdapter]
required
routes
RouteSpec array
defaultHandler
boolean
envVarSchema
dependencies
map{string, Dependency}
hash
string
required, pattern: ^[a-z0-9]{32}$
image
string

ComponentStatus

Used by:
- PlatformStatus

Field Type Description Validation
ready
boolean
name
string
hash
string
type
podName
string
podIP
string
nodeName
string
nodeIP
string

ContainerSpec

Used by:
- BrokerSpec
- HTTPSrvSpec
- NATSSpec

Field Type Description Validation
resources
Compute Resources required by this container. Cannot be updated. More info.
livenessProbe
Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info.
readinessProbe
Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info.
startupProbe
StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info.

Data

Used by:
- Environment
- EnvironmentManifest
- ReleaseManifest
- VirtualEnvironment
- VirtualEnvironmentManifest

Field Type Description Validation
vars
map{string, Val}
secrets
map{string, Val}

DataDetails

Used by:
- Environment
- EnvironmentManifest
- VirtualEnvironment
- VirtualEnvironmentManifest

Field Type Description Validation
title
string
description
string
vars
map{string, Details}
secrets
map{string, Details}

Dependency

Used by:
- ComponentDefinition

Field Type Description Validation
type
enum[DBAdapter, KubeFox, HTTPAdapter]
required

Details

Used by:
- AppDeploymentDetails
- DataDetails
- HTTPAdapter
- HTTPAdapterManifest
- PlatformDetails

Field Type Description Validation
title
string
description
string

EnvHistoryLimits

Used by:
- EnvReleasePolicy

Field Type Description Validation
count
integer
Maximum number of Releases to keep in history. Once the limit is reached the oldest Release in history will be deleted. Age is based on archiveTime. Pointer is used to distinguish between not set and false.
min: 0, default: 10
ageDays
integer
Maximum age of the Release to keep in history. Once the limit is reached the oldest Release in history will be deleted. Age is based on archiveTime. Set to 0 to disable. Pointer is used to distinguish between not set and false.
min: 0

EnvReleasePolicy

Used by:
- EnvironmentSpec

Field Type Description Validation
type
enum[Stable, Testing]
default: Stable
activationDeadlineSeconds
integer
If the pending Release cannot be activated before the activation deadline it will be considered failed and the Release will automatically rolled back to the current active Release. Pointer is used to distinguish between not set and false.
min: 3, default: 300
historyLimits

EnvSchema

Used by:
- EnvTemplate

Field Type Description Validation
vars
secrets

EnvTemplate

Used by:
- HTTPAdapterTemplate

Field Type Description Validation
template
string
envSchema
tree
parseErr

EnvironmentManifest

Used by:
- ReleaseManifestSpec

Field Type Description Validation
metadata
Refer to Kubernetes API documentation for fields of metadata.
required
spec
data
details

EnvironmentSpec

Used by:
- Environment
- EnvironmentManifest

Field Type Description Validation
releasePolicy

EventsSpec

Used by:
- PlatformSpec

Field Type Description Validation
timeoutSeconds
integer
min: 3, default: 30
maxSize
Large events reduce performance and increase memory usage. Default 5Mi. Maximum 16Mi.

HTTPAdapterManifest

Used by:
- ReleaseManifestAdapters

Field Type Description Validation
metadata
Refer to Kubernetes API documentation for fields of metadata.
required
spec
required
details

HTTPAdapterSpec

Used by:
- HTTPAdapter
- HTTPAdapterManifest

Field Type Description Validation
url
string
required, minLength: 1
headers
map{string, string}
insecureSkipVerify
boolean
InsecureSkipVerify controls whether the Adapter verifies the server's certificate chain and host name. If InsecureSkipVerify is true, any certificate presented by the server and any host name in that certificate is accepted. In this mode, TLS is susceptible to machine-in-the-middle attacks.
default: false
followRedirects
enum[Never, Always, SameHost]
default: Never

HTTPSrvPorts

Used by:
- HTTPSrvService

Field Type Description Validation
http
integer
min: 1, max: 65535, default: 80
https
integer
min: 1, max: 65535, default: 443

HTTPSrvService

Used by:
- HTTPSrvSpec

Field Type Description Validation
type
enum[ClusterIP, NodePort, LoadBalancer]
default: ClusterIP
ports
labels
map{string, string}
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info.
annotations
map{string, string}
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info.

HTTPSrvSpec

Used by:
- PlatformSpec

Field Type Description Validation
podSpec
containerSpec
service

LoggerSpec

Used by:
- PlatformSpec

Field Type Description Validation
level
enum[debug, info, warn, error]
format
enum[json, console]

NATSSpec

Used by:
- PlatformSpec

Field Type Description Validation
podSpec
containerSpec

ObjectRef

Used by:
- AppDeploymentManifest
- EnvironmentManifest
- HTTPAdapterManifest
- VirtualEnvironmentManifest

Field Type Description Validation
namespace
string
name
string
uid
required
resourceVersion
string
required, minLength: 1
generation
integer
required

PlatformDetails

PlatformDetails defines additional details of Platform

Used by:
- Platform

Field Type Description Validation
title
string
description
string

PlatformSpec

PlatformSpec defines the desired state of Platform

Used by:
- Platform

Field Type Description Validation
events
broker
httpsrv
nats
logger

PlatformStatus

PlatformStatus defines the observed state of Platform

Used by:
- Platform

Field Type Description Validation
components
conditions
Condition array

PodSpec

Used by:
- BrokerSpec
- HTTPSrvSpec
- NATSSpec

Field Type Description Validation
labels
map{string, string}
Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info.
annotations
map{string, string}
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info.
nodeSelector
map{string, string}
NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info.
nodeName
string
NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.
affinity
If specified, the pod's scheduling constraints
tolerations
If specified, the pod's tolerations.

Problem

ObservedTime is added here instead of api package to prevent k8s.io dependencies from getting pulled into Kit.

Used by:
- ReleaseStatus

Field Type Description Validation
type
required
message
string
required
causes
Resources and attributes causing problem.
observedTime
ObservedTime at which the problem was recorded.

ProblemSource

Used by:
- Problem
- Problem

Field Type Description Validation
kind
required
name
string
observedGeneration
integer
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.
path
string
Path of source object attribute causing problem.
value
string
Value causing problem. Pointer is used to distinguish between not set and empty string.

Release

Used by:
- ReleaseStatus
- VirtualEnvironmentSpec

Field Type Description Validation
apps
map{string, ReleaseApp}
required

ReleaseManifestAdapters

Used by:
- ReleaseManifestSpec

Field Type Description Validation
http

ReleaseManifestSpec

Used by:
- ReleaseManifest

Field Type Description Validation
releaseId
string
required, minLength: 1
environment
required
virtualEnvironment
required
appDeployments
required
adapters

ReleasePolicy

Used by:
- VirtualEnvironmentSpec

Field Type Description Validation
type
enum[Stable, Testing]
activationDeadlineSeconds
integer
If the pending Release cannot be activated before the activation deadline it will be considered failed and the Release will automatically rolled back to the current active Release. Pointer is used to distinguish between not set and false.
min: 3
historyLimits

ReleaseStatus

Used by:
- VirtualEnvironmentStatus

Field Type Description Validation
apps
map{string, ReleaseApp}
required
id
string
required, minLength: 1
releaseManifest
string
requestTime
Time at which the VirtualEnvironment was updated to use the Release.
activationTime
Time at which the Release became active. If not set the Release was never activated.
archiveTime
Time at which the Release was archived to history.
archiveReason
enum[PendingDeadlineExceeded, RolledBack, Superseded]
Reason Release was archived.
problems
Problem array

RouteSpec

Used by:
- ComponentDefinition

Field Type Description Validation
id
integer
required
rule
string
required
priority
integer
envVarSchema

Val

Used by:
- Data

VirtualEnvironmentManifest

Used by:
- ReleaseManifestSpec

Field Type Description Validation
metadata
Refer to Kubernetes API documentation for fields of metadata.
required
spec
data
details

VirtualEnvironmentSpec

Used by:
- VirtualEnvironment
- VirtualEnvironmentManifest

Field Type Description Validation
environment
string
Name of the Environment this VirtualEnvironment is part of. This field is immutable.
required, minLength: 1
release
releasePolicy

VirtualEnvironmentStatus

Used by:
- VirtualEnvironment

Field Type Description Validation
dataChecksum
string
DataChecksum is a hash value of the Data object. The Environment Data object is merged before the hash is created. It can be used to check for changes to the Data object.
pendingReleaseFailed
boolean
activeRelease
pendingRelease
releaseHistory
conditions
Condition array