mirror of
https://github.com/kubevela/kubevela.git
synced 2026-02-14 10:00:06 +00:00
776 lines
36 KiB
YAML
776 lines
36 KiB
YAML
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
cert-manager.io/inject-ca-from: vela-system/kubevela-vela-core-root-cert
|
|
controller-gen.kubebuilder.io/version: v0.16.5
|
|
name: applications.core.oam.dev
|
|
spec:
|
|
group: core.oam.dev
|
|
names:
|
|
categories:
|
|
- oam
|
|
kind: Application
|
|
listKind: ApplicationList
|
|
plural: applications
|
|
shortNames:
|
|
- app
|
|
- velaapp
|
|
singular: application
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.components[*].name
|
|
name: COMPONENT
|
|
type: string
|
|
- jsonPath: .spec.components[*].type
|
|
name: TYPE
|
|
type: string
|
|
- jsonPath: .status.status
|
|
name: PHASE
|
|
type: string
|
|
- jsonPath: .status.services[*].healthy
|
|
name: HEALTHY
|
|
type: boolean
|
|
- jsonPath: .status.services[*].message
|
|
name: STATUS
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: AGE
|
|
type: date
|
|
name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Application is the Schema for the applications API
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: ApplicationSpec is the spec of Application
|
|
properties:
|
|
components:
|
|
items:
|
|
description: ApplicationComponent describe the component of application
|
|
properties:
|
|
dependsOn:
|
|
items:
|
|
type: string
|
|
type: array
|
|
externalRevision:
|
|
description: ExternalRevision specified the component revisionName
|
|
type: string
|
|
inputs:
|
|
description: StepInputs defines variable input of WorkflowStep
|
|
items:
|
|
description: InputItem defines an input variable of WorkflowStep
|
|
properties:
|
|
from:
|
|
type: string
|
|
parameterKey:
|
|
type: string
|
|
required:
|
|
- from
|
|
type: object
|
|
type: array
|
|
name:
|
|
type: string
|
|
outputs:
|
|
description: StepOutputs defines output variable of WorkflowStep
|
|
items:
|
|
description: OutputItem defines an output variable of WorkflowStep
|
|
properties:
|
|
name:
|
|
type: string
|
|
valueFrom:
|
|
type: string
|
|
required:
|
|
- name
|
|
- valueFrom
|
|
type: object
|
|
type: array
|
|
properties:
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
scopes:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
scopes in ApplicationComponent defines the component-level scopes
|
|
the format is <scope-type:scope-instance-name> pairs, the key represents type of `ScopeDefinition` while the value represent the name of scope instance.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
traits:
|
|
description: Traits define the trait of one component, the type
|
|
must be array to keep the order.
|
|
items:
|
|
description: ApplicationTrait defines the trait of application
|
|
properties:
|
|
properties:
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
type:
|
|
type: string
|
|
required:
|
|
- name
|
|
- type
|
|
type: object
|
|
type: array
|
|
policies:
|
|
description: |-
|
|
Policies defines the global policies for all components in the app, e.g. security, metrics, gitops,
|
|
multi-cluster placement rules, etc.
|
|
Policies are applied after components are rendered and before workflow steps are executed.
|
|
items:
|
|
description: AppPolicy defines a global policy for all components
|
|
in the app.
|
|
properties:
|
|
name:
|
|
description: Name is the unique name of the policy.
|
|
type: string
|
|
properties:
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type:
|
|
description: Type is the type of the policy
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
workflow:
|
|
description: |-
|
|
Workflow defines how to customize the control logic.
|
|
If workflow is specified, Vela won't apply any resource, but provide rendered output in AppRevision.
|
|
Workflow steps are executed in array order, and each step:
|
|
- will have a context in annotation.
|
|
- should mark "finish" phase in status.conditions.
|
|
properties:
|
|
mode:
|
|
description: WorkflowExecuteMode defines the mode of workflow
|
|
execution
|
|
properties:
|
|
steps:
|
|
description: Steps is the mode of workflow steps execution
|
|
type: string
|
|
subSteps:
|
|
description: SubSteps is the mode of workflow sub steps execution
|
|
type: string
|
|
type: object
|
|
ref:
|
|
type: string
|
|
steps:
|
|
items:
|
|
description: WorkflowStep defines how to execute a workflow
|
|
step.
|
|
properties:
|
|
dependsOn:
|
|
description: DependsOn is the dependency of the step
|
|
items:
|
|
type: string
|
|
type: array
|
|
if:
|
|
description: If is the if condition of the step
|
|
type: string
|
|
inputs:
|
|
description: Inputs is the inputs of the step
|
|
items:
|
|
description: InputItem defines an input variable of WorkflowStep
|
|
properties:
|
|
from:
|
|
type: string
|
|
parameterKey:
|
|
type: string
|
|
required:
|
|
- from
|
|
type: object
|
|
type: array
|
|
meta:
|
|
description: Meta is the meta data of the workflow step.
|
|
properties:
|
|
alias:
|
|
type: string
|
|
type: object
|
|
mode:
|
|
description: Mode is only valid for sub steps, it defines
|
|
the mode of the sub steps
|
|
nullable: true
|
|
type: string
|
|
name:
|
|
description: Name is the unique name of the workflow step.
|
|
type: string
|
|
outputs:
|
|
description: Outputs is the outputs of the step
|
|
items:
|
|
description: OutputItem defines an output variable of
|
|
WorkflowStep
|
|
properties:
|
|
name:
|
|
type: string
|
|
valueFrom:
|
|
type: string
|
|
required:
|
|
- name
|
|
- valueFrom
|
|
type: object
|
|
type: array
|
|
properties:
|
|
description: Properties is the properties of the step
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
subSteps:
|
|
items:
|
|
description: WorkflowStepBase defines the workflow step
|
|
base
|
|
properties:
|
|
dependsOn:
|
|
description: DependsOn is the dependency of the step
|
|
items:
|
|
type: string
|
|
type: array
|
|
if:
|
|
description: If is the if condition of the step
|
|
type: string
|
|
inputs:
|
|
description: Inputs is the inputs of the step
|
|
items:
|
|
description: InputItem defines an input variable
|
|
of WorkflowStep
|
|
properties:
|
|
from:
|
|
type: string
|
|
parameterKey:
|
|
type: string
|
|
required:
|
|
- from
|
|
type: object
|
|
type: array
|
|
meta:
|
|
description: Meta is the meta data of the workflow
|
|
step.
|
|
properties:
|
|
alias:
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Name is the unique name of the workflow
|
|
step.
|
|
type: string
|
|
outputs:
|
|
description: Outputs is the outputs of the step
|
|
items:
|
|
description: OutputItem defines an output variable
|
|
of WorkflowStep
|
|
properties:
|
|
name:
|
|
type: string
|
|
valueFrom:
|
|
type: string
|
|
required:
|
|
- name
|
|
- valueFrom
|
|
type: object
|
|
type: array
|
|
properties:
|
|
description: Properties is the properties of the step
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
timeout:
|
|
description: Timeout is the timeout of the step
|
|
type: string
|
|
type:
|
|
description: Type is the type of the workflow step.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
timeout:
|
|
description: Timeout is the timeout of the step
|
|
type: string
|
|
type:
|
|
description: Type is the type of the workflow step.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
type: object
|
|
required:
|
|
- components
|
|
type: object
|
|
status:
|
|
description: AppStatus defines the observed state of Application
|
|
properties:
|
|
appliedResources:
|
|
description: AppliedResources record the resources that the workflow
|
|
step apply.
|
|
items:
|
|
description: ClusterObjectReference defines the object reference
|
|
with cluster.
|
|
properties:
|
|
apiVersion:
|
|
description: API version of the referent.
|
|
type: string
|
|
cluster:
|
|
type: string
|
|
creator:
|
|
type: string
|
|
fieldPath:
|
|
description: |-
|
|
If referring to a piece of an object instead of an entire object, this string
|
|
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
|
|
For example, if the object reference is to a container within a pod, this would take on a value like:
|
|
"spec.containers{name}" (where "name" refers to the name of the container that triggered
|
|
the event) or if no container name is specified "spec.containers[2]" (container with
|
|
index 2 in this pod). This syntax is chosen only to have some well-defined way of
|
|
referencing a part of an object.
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind of the referent.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
name:
|
|
description: |-
|
|
Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
|
|
type: string
|
|
resourceVersion:
|
|
description: |-
|
|
Specific resourceVersion to which this reference is made, if any.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
|
|
type: string
|
|
uid:
|
|
description: |-
|
|
UID of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
components:
|
|
description: Components record the related Components created by Application
|
|
Controller
|
|
items:
|
|
description: ObjectReference contains enough information to let
|
|
you inspect or modify the referred object.
|
|
properties:
|
|
apiVersion:
|
|
description: API version of the referent.
|
|
type: string
|
|
fieldPath:
|
|
description: |-
|
|
If referring to a piece of an object instead of an entire object, this string
|
|
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
|
|
For example, if the object reference is to a container within a pod, this would take on a value like:
|
|
"spec.containers{name}" (where "name" refers to the name of the container that triggered
|
|
the event) or if no container name is specified "spec.containers[2]" (container with
|
|
index 2 in this pod). This syntax is chosen only to have some well-defined way of
|
|
referencing a part of an object.
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind of the referent.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
name:
|
|
description: |-
|
|
Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
|
|
type: string
|
|
resourceVersion:
|
|
description: |-
|
|
Specific resourceVersion to which this reference is made, if any.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
|
|
type: string
|
|
uid:
|
|
description: |-
|
|
UID of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
conditions:
|
|
description: Conditions of the resource.
|
|
items:
|
|
description: A Condition that may apply to a resource.
|
|
properties:
|
|
lastTransitionTime:
|
|
description: |-
|
|
LastTransitionTime is the last time this condition transitioned from one
|
|
status to another.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: |-
|
|
A Message containing details about this condition's last transition from
|
|
one status to another, if any.
|
|
type: string
|
|
reason:
|
|
description: A Reason for this condition's last transition from
|
|
one status to another.
|
|
type: string
|
|
status:
|
|
description: Status of this condition; is it currently True,
|
|
False, or Unknown?
|
|
type: string
|
|
type:
|
|
description: |-
|
|
Type of this condition. At most one of each condition type may apply to
|
|
a resource at any point in time.
|
|
type: string
|
|
required:
|
|
- lastTransitionTime
|
|
- reason
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
latestRevision:
|
|
description: LatestRevision of the application configuration it generates
|
|
properties:
|
|
name:
|
|
type: string
|
|
revision:
|
|
format: int64
|
|
type: integer
|
|
revisionHash:
|
|
description: RevisionHash record the hash value of the spec of
|
|
ApplicationRevision object.
|
|
type: string
|
|
required:
|
|
- name
|
|
- revision
|
|
type: object
|
|
observedGeneration:
|
|
description: The generation observed by the application controller.
|
|
format: int64
|
|
type: integer
|
|
policy:
|
|
description: |-
|
|
PolicyStatus records the status of policy
|
|
Deprecated This field is only used by EnvBinding Policy which is deprecated.
|
|
items:
|
|
description: |-
|
|
PolicyStatus records the status of policy
|
|
Deprecated
|
|
properties:
|
|
name:
|
|
type: string
|
|
status:
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type:
|
|
type: string
|
|
required:
|
|
- name
|
|
- type
|
|
type: object
|
|
type: array
|
|
services:
|
|
description: Services record the status of the application services
|
|
items:
|
|
description: ApplicationComponentStatus record the health status
|
|
of App component
|
|
properties:
|
|
cluster:
|
|
type: string
|
|
details:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
env:
|
|
type: string
|
|
healthy:
|
|
type: boolean
|
|
message:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
scopes:
|
|
items:
|
|
description: ObjectReference contains enough information to
|
|
let you inspect or modify the referred object.
|
|
properties:
|
|
apiVersion:
|
|
description: API version of the referent.
|
|
type: string
|
|
fieldPath:
|
|
description: |-
|
|
If referring to a piece of an object instead of an entire object, this string
|
|
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
|
|
For example, if the object reference is to a container within a pod, this would take on a value like:
|
|
"spec.containers{name}" (where "name" refers to the name of the container that triggered
|
|
the event) or if no container name is specified "spec.containers[2]" (container with
|
|
index 2 in this pod). This syntax is chosen only to have some well-defined way of
|
|
referencing a part of an object.
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind of the referent.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
name:
|
|
description: |-
|
|
Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
|
|
type: string
|
|
resourceVersion:
|
|
description: |-
|
|
Specific resourceVersion to which this reference is made, if any.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
|
|
type: string
|
|
uid:
|
|
description: |-
|
|
UID of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
traits:
|
|
items:
|
|
description: ApplicationTraitStatus records the trait health
|
|
status
|
|
properties:
|
|
details:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
healthy:
|
|
type: boolean
|
|
message:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- healthy
|
|
- type
|
|
type: object
|
|
type: array
|
|
workloadDefinition:
|
|
description: WorkloadDefinition is the definition of a WorkloadDefinition,
|
|
such as deployments/apps.v1
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
required:
|
|
- apiVersion
|
|
- kind
|
|
type: object
|
|
required:
|
|
- healthy
|
|
- name
|
|
type: object
|
|
type: array
|
|
status:
|
|
description: ApplicationPhase is a label for the condition of an application
|
|
at the current time
|
|
type: string
|
|
workflow:
|
|
description: Workflow record the status of workflow
|
|
properties:
|
|
appRevision:
|
|
type: string
|
|
contextBackend:
|
|
description: ObjectReference contains enough information to let
|
|
you inspect or modify the referred object.
|
|
properties:
|
|
apiVersion:
|
|
description: API version of the referent.
|
|
type: string
|
|
fieldPath:
|
|
description: |-
|
|
If referring to a piece of an object instead of an entire object, this string
|
|
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
|
|
For example, if the object reference is to a container within a pod, this would take on a value like:
|
|
"spec.containers{name}" (where "name" refers to the name of the container that triggered
|
|
the event) or if no container name is specified "spec.containers[2]" (container with
|
|
index 2 in this pod). This syntax is chosen only to have some well-defined way of
|
|
referencing a part of an object.
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind of the referent.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
name:
|
|
description: |-
|
|
Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
|
|
type: string
|
|
resourceVersion:
|
|
description: |-
|
|
Specific resourceVersion to which this reference is made, if any.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
|
|
type: string
|
|
uid:
|
|
description: |-
|
|
UID of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
endTime:
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
finished:
|
|
type: boolean
|
|
message:
|
|
type: string
|
|
mode:
|
|
type: string
|
|
startTime:
|
|
format: date-time
|
|
type: string
|
|
status:
|
|
description: WorkflowRunPhase is a label for the condition of
|
|
a WorkflowRun at the current time
|
|
type: string
|
|
steps:
|
|
items:
|
|
description: WorkflowStepStatus record the status of a workflow
|
|
step, include step status and subStep status
|
|
properties:
|
|
firstExecuteTime:
|
|
description: FirstExecuteTime is the first time this step
|
|
execution.
|
|
format: date-time
|
|
type: string
|
|
id:
|
|
type: string
|
|
lastExecuteTime:
|
|
description: LastExecuteTime is the last time this step
|
|
execution.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: A human readable message indicating details
|
|
about why the workflowStep is in this state.
|
|
type: string
|
|
name:
|
|
type: string
|
|
phase:
|
|
description: WorkflowStepPhase describes the phase of a
|
|
workflow step.
|
|
type: string
|
|
reason:
|
|
description: A brief CamelCase message indicating details
|
|
about why the workflowStep is in this state.
|
|
type: string
|
|
subSteps:
|
|
items:
|
|
description: StepStatus record the base status of workflow
|
|
step, which could be workflow step or subStep
|
|
properties:
|
|
firstExecuteTime:
|
|
description: FirstExecuteTime is the first time this
|
|
step execution.
|
|
format: date-time
|
|
type: string
|
|
id:
|
|
type: string
|
|
lastExecuteTime:
|
|
description: LastExecuteTime is the last time this
|
|
step execution.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: A human readable message indicating details
|
|
about why the workflowStep is in this state.
|
|
type: string
|
|
name:
|
|
type: string
|
|
phase:
|
|
description: WorkflowStepPhase describes the phase
|
|
of a workflow step.
|
|
type: string
|
|
reason:
|
|
description: A brief CamelCase message indicating
|
|
details about why the workflowStep is in this state.
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- id
|
|
type: object
|
|
type: array
|
|
type:
|
|
type: string
|
|
required:
|
|
- id
|
|
type: object
|
|
type: array
|
|
suspend:
|
|
type: boolean
|
|
suspendState:
|
|
type: string
|
|
terminated:
|
|
type: boolean
|
|
required:
|
|
- finished
|
|
- mode
|
|
- suspend
|
|
- terminated
|
|
type: object
|
|
workflowRestartScheduledAt:
|
|
description: |-
|
|
WorkflowRestartScheduledAt schedules a workflow restart at the specified time.
|
|
This field is automatically set when the app.oam.dev/restart-workflow annotation is present,
|
|
and is cleared after the restart is triggered. Use RFC3339 format or set to current time for immediate restart.
|
|
format: date-time
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|