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 |
CollectorSpec
Used by:
- TelemetrySpec
| Field | Type | Description | Validation |
|---|---|---|---|
enabled |
boolean |
default: false |
|
address |
string |
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} |
DebugSpec
Used by:
- PlatformSpec
| Field | Type | Description | Validation |
|---|---|---|---|
enabled |
boolean |
default: false |
|
brokerAddr |
string |
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. |
default: 5242880 |
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 |
LogsSpec
Used by:
- TelemetrySpec
| Field | Type | Description | Validation |
|---|---|---|---|
level |
enum[ debug, info, warn, error] |
default: info |
|
format |
enum[ json, console] |
default: json |
MetricsSpec
Used by:
- TelemetrySpec
| Field | Type | Description | Validation |
|---|---|---|---|
export |
boolean |
default: true |
|
verbose |
boolean |
default: false |
|
collectionIntervalSeconds |
integer |
min: 3, default: 60 |
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 |
|||
telemetry |
|||
imagePullPolicy |
enum[ Always, IfNotPresent, Never] |
default: IfNotPresent |
|
debug |
PlatformStatus
PlatformStatus defines the observed state of Platform
Used by:
- Platform
| Field | Type | Description | Validation |
|---|---|---|---|
components |
ComponentStatus array |
||
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 |
Toleration array |
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 |
ProblemSource array |
Resources and attributes causing problem. |
|
observedTime |
ObservedTime at which the problem was recorded. |
ProblemSource
| 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 |
HTTPAdapterManifest array |
ReleaseManifestSpec
Used by:
- ReleaseManifest
| Field | Type | Description | Validation |
|---|---|---|---|
releaseId |
string |
required, minLength: 1 |
|
environment |
required |
||
virtualEnvironment |
required |
||
appDeployments |
AppDeploymentManifest array |
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 |
TelemetrySpec
Used by:
- PlatformSpec
| Field | Type | Description | Validation |
|---|---|---|---|
collector |
|||
logs |
|||
metrics |
|||
traces |
TracesSpec
Used by:
- TelemetrySpec
| Field | Type | Description | Validation |
|---|---|---|---|
export |
boolean |
default: true |
|
verbose |
boolean |
default: false |
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 |
ReleaseStatus array |
||
conditions |
Condition array |