mirror of https://github.com/kubevela/kubevela.git
2932 lines
160 KiB
YAML
2932 lines
160 KiB
YAML
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.11.4
|
|
name: applicationrevisions.core.oam.dev
|
|
spec:
|
|
group: core.oam.dev
|
|
names:
|
|
categories:
|
|
- oam
|
|
kind: ApplicationRevision
|
|
listKind: ApplicationRevisionList
|
|
plural: applicationrevisions
|
|
shortNames:
|
|
- apprev
|
|
singular: applicationrevision
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: AGE
|
|
type: date
|
|
- jsonPath: .metadata.annotations['app\.oam\.dev\/publishVersion']
|
|
name: PUBLISH_VERSION
|
|
type: string
|
|
- jsonPath: .status.succeeded
|
|
name: SUCCEEDED
|
|
type: string
|
|
name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ApplicationRevision is the Schema for the ApplicationRevision
|
|
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: ApplicationRevisionSpec is the spec of ApplicationRevision
|
|
properties:
|
|
application:
|
|
description: Application records the snapshot of the created/modified
|
|
Application
|
|
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:
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
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. TODO: this design is not final and this
|
|
field is subject to change in the future.'
|
|
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. ---
|
|
New uses of this type are discouraged because of difficulty
|
|
describing its usage when embedded in APIs. 1. Ignored
|
|
fields. It includes many fields which are not generally
|
|
honored. For instance, ResourceVersion and FieldPath
|
|
are both very rarely valid in actual usage. 2. Invalid
|
|
usage help. It is impossible to add specific help for
|
|
individual usage. In most embedded usages, there are
|
|
particular restrictions like, \"must refer only to types
|
|
A and B\" or \"UID not honored\" or \"name must be restricted\".
|
|
Those cannot be well described when embedded. 3. Inconsistent
|
|
validation. Because the usages are different, the validation
|
|
rules are different by usage, which makes it hard for
|
|
users to predict what will happen. 4. The fields are both
|
|
imprecise and overly precise. Kind is not a precise mapping
|
|
to a URL. This can produce ambiguity during interpretation
|
|
and require a REST mapping. In most cases, the dependency
|
|
is on the group,resource tuple and the version of the
|
|
actual struct is irrelevant. 5. We cannot easily change
|
|
it. Because this type is embedded in many locations,
|
|
updates to this type will affect numerous schemas. Don't
|
|
make new APIs embed an underspecified API type they do
|
|
not control. \n Instead of using this type, create a locally
|
|
provided and used type that is well-focused on your reference.
|
|
For example, ServiceReferences for admission registration:
|
|
https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
|
|
."
|
|
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. TODO: this design is not final and this
|
|
field is subject to change in the future.'
|
|
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
|
|
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.
|
|
--- New uses of this type are discouraged because
|
|
of difficulty describing its usage when embedded
|
|
in APIs. 1. Ignored fields. It includes many fields
|
|
which are not generally honored. For instance,
|
|
ResourceVersion and FieldPath are both very rarely
|
|
valid in actual usage. 2. Invalid usage help. It
|
|
is impossible to add specific help for individual
|
|
usage. In most embedded usages, there are particular
|
|
restrictions like, \"must refer only to types A
|
|
and B\" or \"UID not honored\" or \"name must be
|
|
restricted\". Those cannot be well described when
|
|
embedded. 3. Inconsistent validation. Because the
|
|
usages are different, the validation rules are different
|
|
by usage, which makes it hard for users to predict
|
|
what will happen. 4. The fields are both imprecise
|
|
and overly precise. Kind is not a precise mapping
|
|
to a URL. This can produce ambiguity during interpretation
|
|
and require a REST mapping. In most cases, the
|
|
dependency is on the group,resource tuple and the
|
|
version of the actual struct is irrelevant. 5. We
|
|
cannot easily change it. Because this type is embedded
|
|
in many locations, updates to this type will affect
|
|
numerous schemas. Don't make new APIs embed an
|
|
underspecified API type they do not control. \n
|
|
Instead of using this type, create a locally provided
|
|
and used type that is well-focused on your reference.
|
|
For example, ServiceReferences for admission registration:
|
|
https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
|
|
."
|
|
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. TODO: this design is not
|
|
final and this field is subject to change in
|
|
the future.'
|
|
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:
|
|
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. ---
|
|
New uses of this type are discouraged because of difficulty
|
|
describing its usage when embedded in APIs. 1. Ignored
|
|
fields. It includes many fields which are not generally
|
|
honored. For instance, ResourceVersion and FieldPath
|
|
are both very rarely valid in actual usage. 2. Invalid
|
|
usage help. It is impossible to add specific help for
|
|
individual usage. In most embedded usages, there are
|
|
particular restrictions like, \"must refer only to types
|
|
A and B\" or \"UID not honored\" or \"name must be restricted\".
|
|
Those cannot be well described when embedded. 3. Inconsistent
|
|
validation. Because the usages are different, the validation
|
|
rules are different by usage, which makes it hard for
|
|
users to predict what will happen. 4. The fields are
|
|
both imprecise and overly precise. Kind is not a precise
|
|
mapping to a URL. This can produce ambiguity during
|
|
interpretation and require a REST mapping. In most
|
|
cases, the dependency is on the group,resource tuple
|
|
and the version of the actual struct is irrelevant.
|
|
5. We cannot easily change it. Because this type is
|
|
embedded in many locations, updates to this type will
|
|
affect numerous schemas. Don't make new APIs embed
|
|
an underspecified API type they do not control. \n Instead
|
|
of using this type, create a locally provided and used
|
|
type that is well-focused on your reference. For example,
|
|
ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
|
|
."
|
|
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. TODO: this design is not final and
|
|
this field is subject to change in the future.'
|
|
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
|
|
type: object
|
|
type: object
|
|
componentDefinitions:
|
|
additionalProperties:
|
|
description: ComponentDefinition is the Schema for the componentdefinitions
|
|
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:
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: ComponentDefinitionSpec defines the desired state
|
|
of ComponentDefinition
|
|
properties:
|
|
childResourceKinds:
|
|
description: ChildResourceKinds are the list of GVK of the
|
|
child resources this workload generates
|
|
items:
|
|
description: A ChildResourceKind defines a child Kubernetes
|
|
resource kind with a selector
|
|
properties:
|
|
apiVersion:
|
|
description: APIVersion of the child resource
|
|
type: string
|
|
kind:
|
|
description: Kind of the child resource
|
|
type: string
|
|
selector:
|
|
additionalProperties:
|
|
type: string
|
|
description: Selector to select the child resources
|
|
that the workload wants to expose to traits
|
|
type: object
|
|
required:
|
|
- apiVersion
|
|
- kind
|
|
type: object
|
|
type: array
|
|
extension:
|
|
description: Extension is used for extension needs by OAM
|
|
platform builders
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
podSpecPath:
|
|
description: PodSpecPath indicates where/if this workload
|
|
has K8s podSpec field if one workload has podSpec, trait
|
|
can do lot's of assumption such as port, env, volume fields.
|
|
type: string
|
|
revisionLabel:
|
|
description: RevisionLabel indicates which label for underlying
|
|
resources(e.g. pods) of this workload can be used by trait
|
|
to create resource selectors(e.g. label selector for pods).
|
|
type: string
|
|
schematic:
|
|
description: Schematic defines the data format and template
|
|
of the encapsulation of the workload
|
|
properties:
|
|
cue:
|
|
description: CUE defines the encapsulation in CUE format
|
|
properties:
|
|
template:
|
|
description: Template defines the abstraction template
|
|
data of the capability, it will replace the old
|
|
CUE template in extension field. Template is a
|
|
required field if CUE is defined in Capability
|
|
Definition.
|
|
type: string
|
|
required:
|
|
- template
|
|
type: object
|
|
helm:
|
|
description: A Helm represents resources used by a Helm
|
|
module
|
|
properties:
|
|
release:
|
|
description: Release records a Helm release used
|
|
by a Helm module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
repository:
|
|
description: HelmRelease records a Helm repository
|
|
used by a Helm module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- release
|
|
- repository
|
|
type: object
|
|
kube:
|
|
description: Kube defines the encapsulation in raw Kubernetes
|
|
resource format
|
|
properties:
|
|
parameters:
|
|
description: Parameters defines configurable parameters
|
|
items:
|
|
description: A KubeParameter defines a configurable
|
|
parameter of a component.
|
|
properties:
|
|
description:
|
|
description: Description of this parameter.
|
|
type: string
|
|
fieldPaths:
|
|
description: "FieldPaths specifies an array
|
|
of fields within this workload that will
|
|
be overwritten by the value of this parameter.
|
|
\tAll fields must be of the same type. Fields
|
|
are specified as JSON field paths without
|
|
a leading dot, for example 'spec.replicas'."
|
|
items:
|
|
type: string
|
|
type: array
|
|
name:
|
|
description: Name of this parameter
|
|
type: string
|
|
required:
|
|
default: false
|
|
description: Required specifies whether or
|
|
not a value for this parameter must be supplied
|
|
when authoring an Application.
|
|
type: boolean
|
|
type:
|
|
description: 'ValueType indicates the type
|
|
of the parameter value, and only supports
|
|
basic data types: string, number, boolean.'
|
|
enum:
|
|
- string
|
|
- number
|
|
- boolean
|
|
type: string
|
|
required:
|
|
- fieldPaths
|
|
- name
|
|
- type
|
|
type: object
|
|
type: array
|
|
template:
|
|
description: Template defines the raw Kubernetes
|
|
resource
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- template
|
|
type: object
|
|
terraform:
|
|
description: Terraform is the struct to describe cloud
|
|
resources managed by Hashicorp Terraform
|
|
properties:
|
|
configuration:
|
|
description: Configuration is Terraform Configuration
|
|
type: string
|
|
customRegion:
|
|
description: Region is cloud provider's region.
|
|
It will override the region in the region field
|
|
of ProviderReference
|
|
type: string
|
|
deleteResource:
|
|
default: true
|
|
description: DeleteResource will determine whether
|
|
provisioned cloud resources will be deleted when
|
|
CR is deleted
|
|
type: boolean
|
|
gitCredentialsSecretReference:
|
|
description: GitCredentialsSecretReference specifies
|
|
the reference to the secret containing the git
|
|
credentials
|
|
properties:
|
|
name:
|
|
description: name is unique within a namespace
|
|
to reference a secret resource.
|
|
type: string
|
|
namespace:
|
|
description: namespace defines the space within
|
|
which the secret name must be unique.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
path:
|
|
description: Path is the sub-directory of remote
|
|
git repository. It's valid when remote is set
|
|
type: string
|
|
providerRef:
|
|
description: ProviderReference specifies the reference
|
|
to Provider
|
|
properties:
|
|
name:
|
|
description: Name of the referenced object.
|
|
type: string
|
|
namespace:
|
|
default: default
|
|
description: Namespace of the referenced object.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type:
|
|
default: hcl
|
|
description: Type specifies which Terraform configuration
|
|
it is, HCL or JSON syntax
|
|
enum:
|
|
- hcl
|
|
- json
|
|
- remote
|
|
type: string
|
|
writeConnectionSecretToRef:
|
|
description: WriteConnectionSecretToReference specifies
|
|
the namespace and name of a Secret to which any
|
|
connection details for this managed resource should
|
|
be written. Connection details frequently include
|
|
the endpoint, username, and password required
|
|
to connect to the managed resource.
|
|
properties:
|
|
name:
|
|
description: Name of the secret.
|
|
type: string
|
|
namespace:
|
|
description: Namespace of the secret.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
required:
|
|
- configuration
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: Status defines the custom health policy and
|
|
status message for workload
|
|
properties:
|
|
customStatus:
|
|
description: CustomStatus defines the custom status
|
|
message that could display to user
|
|
type: string
|
|
healthPolicy:
|
|
description: HealthPolicy defines the health check policy
|
|
for the abstraction
|
|
type: string
|
|
type: object
|
|
workload:
|
|
description: Workload is a workload type descriptor
|
|
properties:
|
|
definition:
|
|
description: Definition mutually exclusive to workload.type,
|
|
a embedded WorkloadDefinition
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
required:
|
|
- apiVersion
|
|
- kind
|
|
type: object
|
|
type:
|
|
description: Type ref to a WorkloadDefinition via name
|
|
type: string
|
|
type: object
|
|
required:
|
|
- workload
|
|
type: object
|
|
status:
|
|
description: ComponentDefinitionStatus is the status of ComponentDefinition
|
|
properties:
|
|
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
|
|
configMapRef:
|
|
description: ConfigMapRef refer to a ConfigMap which contains
|
|
OpenAPI V3 JSON schema of Component parameters.
|
|
type: string
|
|
latestRevision:
|
|
description: LatestRevision of the component definition
|
|
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
|
|
type: object
|
|
type: object
|
|
description: ComponentDefinitions records the snapshot of the componentDefinitions
|
|
related with the created/modified Application
|
|
type: object
|
|
compression:
|
|
description: Compression represents the compressed components in apprev
|
|
in base64 (if compression is enabled).
|
|
properties:
|
|
data:
|
|
type: string
|
|
type:
|
|
description: Type the compression type
|
|
type: string
|
|
type: object
|
|
policies:
|
|
additionalProperties:
|
|
description: Policy is the Schema for the policy 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:
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
properties:
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
description: Policies records the external policies
|
|
type: object
|
|
policyDefinitions:
|
|
additionalProperties:
|
|
description: PolicyDefinition is the Schema for the policydefinitions
|
|
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:
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: PolicyDefinitionSpec defines the desired state
|
|
of PolicyDefinition
|
|
properties:
|
|
definitionRef:
|
|
description: Reference to the CustomResourceDefinition that
|
|
defines this trait kind.
|
|
properties:
|
|
name:
|
|
description: Name of the referenced CustomResourceDefinition.
|
|
type: string
|
|
version:
|
|
description: Version indicate which version should be
|
|
used if CRD has multiple versions by default it will
|
|
use the first one if not specified
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
manageHealthCheck:
|
|
description: ManageHealthCheck means the policy will handle
|
|
health checking and skip application controller built-in
|
|
health checking.
|
|
type: boolean
|
|
schematic:
|
|
description: Schematic defines the data format and template
|
|
of the encapsulation of the policy definition. Only CUE
|
|
schematic is supported for now.
|
|
properties:
|
|
cue:
|
|
description: CUE defines the encapsulation in CUE format
|
|
properties:
|
|
template:
|
|
description: Template defines the abstraction template
|
|
data of the capability, it will replace the old
|
|
CUE template in extension field. Template is a
|
|
required field if CUE is defined in Capability
|
|
Definition.
|
|
type: string
|
|
required:
|
|
- template
|
|
type: object
|
|
helm:
|
|
description: A Helm represents resources used by a Helm
|
|
module
|
|
properties:
|
|
release:
|
|
description: Release records a Helm release used
|
|
by a Helm module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
repository:
|
|
description: HelmRelease records a Helm repository
|
|
used by a Helm module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- release
|
|
- repository
|
|
type: object
|
|
kube:
|
|
description: Kube defines the encapsulation in raw Kubernetes
|
|
resource format
|
|
properties:
|
|
parameters:
|
|
description: Parameters defines configurable parameters
|
|
items:
|
|
description: A KubeParameter defines a configurable
|
|
parameter of a component.
|
|
properties:
|
|
description:
|
|
description: Description of this parameter.
|
|
type: string
|
|
fieldPaths:
|
|
description: "FieldPaths specifies an array
|
|
of fields within this workload that will
|
|
be overwritten by the value of this parameter.
|
|
\tAll fields must be of the same type. Fields
|
|
are specified as JSON field paths without
|
|
a leading dot, for example 'spec.replicas'."
|
|
items:
|
|
type: string
|
|
type: array
|
|
name:
|
|
description: Name of this parameter
|
|
type: string
|
|
required:
|
|
default: false
|
|
description: Required specifies whether or
|
|
not a value for this parameter must be supplied
|
|
when authoring an Application.
|
|
type: boolean
|
|
type:
|
|
description: 'ValueType indicates the type
|
|
of the parameter value, and only supports
|
|
basic data types: string, number, boolean.'
|
|
enum:
|
|
- string
|
|
- number
|
|
- boolean
|
|
type: string
|
|
required:
|
|
- fieldPaths
|
|
- name
|
|
- type
|
|
type: object
|
|
type: array
|
|
template:
|
|
description: Template defines the raw Kubernetes
|
|
resource
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- template
|
|
type: object
|
|
terraform:
|
|
description: Terraform is the struct to describe cloud
|
|
resources managed by Hashicorp Terraform
|
|
properties:
|
|
configuration:
|
|
description: Configuration is Terraform Configuration
|
|
type: string
|
|
customRegion:
|
|
description: Region is cloud provider's region.
|
|
It will override the region in the region field
|
|
of ProviderReference
|
|
type: string
|
|
deleteResource:
|
|
default: true
|
|
description: DeleteResource will determine whether
|
|
provisioned cloud resources will be deleted when
|
|
CR is deleted
|
|
type: boolean
|
|
gitCredentialsSecretReference:
|
|
description: GitCredentialsSecretReference specifies
|
|
the reference to the secret containing the git
|
|
credentials
|
|
properties:
|
|
name:
|
|
description: name is unique within a namespace
|
|
to reference a secret resource.
|
|
type: string
|
|
namespace:
|
|
description: namespace defines the space within
|
|
which the secret name must be unique.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
path:
|
|
description: Path is the sub-directory of remote
|
|
git repository. It's valid when remote is set
|
|
type: string
|
|
providerRef:
|
|
description: ProviderReference specifies the reference
|
|
to Provider
|
|
properties:
|
|
name:
|
|
description: Name of the referenced object.
|
|
type: string
|
|
namespace:
|
|
default: default
|
|
description: Namespace of the referenced object.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type:
|
|
default: hcl
|
|
description: Type specifies which Terraform configuration
|
|
it is, HCL or JSON syntax
|
|
enum:
|
|
- hcl
|
|
- json
|
|
- remote
|
|
type: string
|
|
writeConnectionSecretToRef:
|
|
description: WriteConnectionSecretToReference specifies
|
|
the namespace and name of a Secret to which any
|
|
connection details for this managed resource should
|
|
be written. Connection details frequently include
|
|
the endpoint, username, and password required
|
|
to connect to the managed resource.
|
|
properties:
|
|
name:
|
|
description: Name of the secret.
|
|
type: string
|
|
namespace:
|
|
description: Namespace of the secret.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
required:
|
|
- configuration
|
|
type: object
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: PolicyDefinitionStatus is the status of PolicyDefinition
|
|
properties:
|
|
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
|
|
configMapRef:
|
|
description: ConfigMapRef refer to a ConfigMap which contains
|
|
OpenAPI V3 JSON schema of Component parameters.
|
|
type: string
|
|
latestRevision:
|
|
description: LatestRevision of the component definition
|
|
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
|
|
type: object
|
|
type: object
|
|
description: PolicyDefinitions records the snapshot of the PolicyDefinitions
|
|
related with the created/modified Application
|
|
type: object
|
|
referredObjects:
|
|
description: ReferredObjects records the referred objects used in
|
|
the ref-object typed components
|
|
items:
|
|
description: ReferredObject the referred Kubernetes object
|
|
type: object
|
|
x-kubernetes-embedded-resource: true
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: array
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
traitDefinitions:
|
|
additionalProperties:
|
|
description: A TraitDefinition registers a kind of Kubernetes custom
|
|
resource as a valid OAM trait kind by referencing its CustomResourceDefinition.
|
|
The CRD is used to validate the schema of the trait when it is
|
|
embedded in an OAM ApplicationConfiguration.
|
|
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:
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: A TraitDefinitionSpec defines the desired state
|
|
of a TraitDefinition.
|
|
properties:
|
|
appliesToWorkloads:
|
|
description: AppliesToWorkloads specifies the list of workload
|
|
kinds this trait applies to. Workload kinds are specified
|
|
in resource.group/version format, e.g. server.core.oam.dev/v1alpha2.
|
|
Traits that omit this field apply to all workload kinds.
|
|
items:
|
|
type: string
|
|
type: array
|
|
conflictsWith:
|
|
description: 'ConflictsWith specifies the list of traits(CRD
|
|
name, Definition name, CRD group) which could not apply
|
|
to the same workloads with this trait. Traits that omit
|
|
this field can work with any other traits. Example rules:
|
|
"service" # Trait definition name "services.k8s.io" #
|
|
API resource/crd name "*.networking.k8s.io" # API group
|
|
"labelSelector:foo=bar" # label selector labelSelector
|
|
format: https://pkg.go.dev/k8s.io/apimachinery/pkg/labels#Parse'
|
|
items:
|
|
type: string
|
|
type: array
|
|
controlPlaneOnly:
|
|
description: ControlPlaneOnly defines which cluster is dispatched
|
|
to
|
|
type: boolean
|
|
definitionRef:
|
|
description: Reference to the CustomResourceDefinition that
|
|
defines this trait kind.
|
|
properties:
|
|
name:
|
|
description: Name of the referenced CustomResourceDefinition.
|
|
type: string
|
|
version:
|
|
description: Version indicate which version should be
|
|
used if CRD has multiple versions by default it will
|
|
use the first one if not specified
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
extension:
|
|
description: Extension is used for extension needs by OAM
|
|
platform builders
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
manageWorkload:
|
|
description: ManageWorkload defines the trait would be responsible
|
|
for creating the workload
|
|
type: boolean
|
|
podDisruptive:
|
|
description: PodDisruptive specifies whether using the trait
|
|
will cause the pod to restart or not.
|
|
type: boolean
|
|
revisionEnabled:
|
|
description: Revision indicates whether a trait is aware
|
|
of component revision
|
|
type: boolean
|
|
schematic:
|
|
description: Schematic defines the data format and template
|
|
of the encapsulation of the trait. Only CUE and Kube schematic
|
|
are supported for now.
|
|
properties:
|
|
cue:
|
|
description: CUE defines the encapsulation in CUE format
|
|
properties:
|
|
template:
|
|
description: Template defines the abstraction template
|
|
data of the capability, it will replace the old
|
|
CUE template in extension field. Template is a
|
|
required field if CUE is defined in Capability
|
|
Definition.
|
|
type: string
|
|
required:
|
|
- template
|
|
type: object
|
|
helm:
|
|
description: A Helm represents resources used by a Helm
|
|
module
|
|
properties:
|
|
release:
|
|
description: Release records a Helm release used
|
|
by a Helm module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
repository:
|
|
description: HelmRelease records a Helm repository
|
|
used by a Helm module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- release
|
|
- repository
|
|
type: object
|
|
kube:
|
|
description: Kube defines the encapsulation in raw Kubernetes
|
|
resource format
|
|
properties:
|
|
parameters:
|
|
description: Parameters defines configurable parameters
|
|
items:
|
|
description: A KubeParameter defines a configurable
|
|
parameter of a component.
|
|
properties:
|
|
description:
|
|
description: Description of this parameter.
|
|
type: string
|
|
fieldPaths:
|
|
description: "FieldPaths specifies an array
|
|
of fields within this workload that will
|
|
be overwritten by the value of this parameter.
|
|
\tAll fields must be of the same type. Fields
|
|
are specified as JSON field paths without
|
|
a leading dot, for example 'spec.replicas'."
|
|
items:
|
|
type: string
|
|
type: array
|
|
name:
|
|
description: Name of this parameter
|
|
type: string
|
|
required:
|
|
default: false
|
|
description: Required specifies whether or
|
|
not a value for this parameter must be supplied
|
|
when authoring an Application.
|
|
type: boolean
|
|
type:
|
|
description: 'ValueType indicates the type
|
|
of the parameter value, and only supports
|
|
basic data types: string, number, boolean.'
|
|
enum:
|
|
- string
|
|
- number
|
|
- boolean
|
|
type: string
|
|
required:
|
|
- fieldPaths
|
|
- name
|
|
- type
|
|
type: object
|
|
type: array
|
|
template:
|
|
description: Template defines the raw Kubernetes
|
|
resource
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- template
|
|
type: object
|
|
terraform:
|
|
description: Terraform is the struct to describe cloud
|
|
resources managed by Hashicorp Terraform
|
|
properties:
|
|
configuration:
|
|
description: Configuration is Terraform Configuration
|
|
type: string
|
|
customRegion:
|
|
description: Region is cloud provider's region.
|
|
It will override the region in the region field
|
|
of ProviderReference
|
|
type: string
|
|
deleteResource:
|
|
default: true
|
|
description: DeleteResource will determine whether
|
|
provisioned cloud resources will be deleted when
|
|
CR is deleted
|
|
type: boolean
|
|
gitCredentialsSecretReference:
|
|
description: GitCredentialsSecretReference specifies
|
|
the reference to the secret containing the git
|
|
credentials
|
|
properties:
|
|
name:
|
|
description: name is unique within a namespace
|
|
to reference a secret resource.
|
|
type: string
|
|
namespace:
|
|
description: namespace defines the space within
|
|
which the secret name must be unique.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
path:
|
|
description: Path is the sub-directory of remote
|
|
git repository. It's valid when remote is set
|
|
type: string
|
|
providerRef:
|
|
description: ProviderReference specifies the reference
|
|
to Provider
|
|
properties:
|
|
name:
|
|
description: Name of the referenced object.
|
|
type: string
|
|
namespace:
|
|
default: default
|
|
description: Namespace of the referenced object.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type:
|
|
default: hcl
|
|
description: Type specifies which Terraform configuration
|
|
it is, HCL or JSON syntax
|
|
enum:
|
|
- hcl
|
|
- json
|
|
- remote
|
|
type: string
|
|
writeConnectionSecretToRef:
|
|
description: WriteConnectionSecretToReference specifies
|
|
the namespace and name of a Secret to which any
|
|
connection details for this managed resource should
|
|
be written. Connection details frequently include
|
|
the endpoint, username, and password required
|
|
to connect to the managed resource.
|
|
properties:
|
|
name:
|
|
description: Name of the secret.
|
|
type: string
|
|
namespace:
|
|
description: Namespace of the secret.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
required:
|
|
- configuration
|
|
type: object
|
|
type: object
|
|
stage:
|
|
description: Stage defines the stage information to which
|
|
this trait resource processing belongs. Currently, PreDispatch
|
|
and PostDispatch are provided, which are used to control
|
|
resource pre-process and post-process respectively.
|
|
type: string
|
|
status:
|
|
description: Status defines the custom health policy and
|
|
status message for trait
|
|
properties:
|
|
customStatus:
|
|
description: CustomStatus defines the custom status
|
|
message that could display to user
|
|
type: string
|
|
healthPolicy:
|
|
description: HealthPolicy defines the health check policy
|
|
for the abstraction
|
|
type: string
|
|
type: object
|
|
workloadRefPath:
|
|
description: WorkloadRefPath indicates where/if a trait
|
|
accepts a workloadRef object
|
|
type: string
|
|
type: object
|
|
status:
|
|
description: TraitDefinitionStatus is the status of TraitDefinition
|
|
properties:
|
|
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
|
|
configMapRef:
|
|
description: ConfigMapRef refer to a ConfigMap which contains
|
|
OpenAPI V3 JSON schema of Component parameters.
|
|
type: string
|
|
latestRevision:
|
|
description: LatestRevision of the component definition
|
|
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
|
|
type: object
|
|
type: object
|
|
description: TraitDefinitions records the snapshot of the traitDefinitions
|
|
related with the created/modified Application
|
|
type: object
|
|
workflow:
|
|
description: Workflow records the external workflow
|
|
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:
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
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
|
|
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
|
|
workflowStepDefinitions:
|
|
additionalProperties:
|
|
description: WorkflowStepDefinition is the Schema for the workflowstepdefinitions
|
|
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:
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: WorkflowStepDefinitionSpec defines the desired
|
|
state of WorkflowStepDefinition
|
|
properties:
|
|
definitionRef:
|
|
description: Reference to the CustomResourceDefinition that
|
|
defines this trait kind.
|
|
properties:
|
|
name:
|
|
description: Name of the referenced CustomResourceDefinition.
|
|
type: string
|
|
version:
|
|
description: Version indicate which version should be
|
|
used if CRD has multiple versions by default it will
|
|
use the first one if not specified
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
schematic:
|
|
description: Schematic defines the data format and template
|
|
of the encapsulation of the workflow step definition.
|
|
Only CUE schematic is supported for now.
|
|
properties:
|
|
cue:
|
|
description: CUE defines the encapsulation in CUE format
|
|
properties:
|
|
template:
|
|
description: Template defines the abstraction template
|
|
data of the capability, it will replace the old
|
|
CUE template in extension field. Template is a
|
|
required field if CUE is defined in Capability
|
|
Definition.
|
|
type: string
|
|
required:
|
|
- template
|
|
type: object
|
|
helm:
|
|
description: A Helm represents resources used by a Helm
|
|
module
|
|
properties:
|
|
release:
|
|
description: Release records a Helm release used
|
|
by a Helm module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
repository:
|
|
description: HelmRelease records a Helm repository
|
|
used by a Helm module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- release
|
|
- repository
|
|
type: object
|
|
kube:
|
|
description: Kube defines the encapsulation in raw Kubernetes
|
|
resource format
|
|
properties:
|
|
parameters:
|
|
description: Parameters defines configurable parameters
|
|
items:
|
|
description: A KubeParameter defines a configurable
|
|
parameter of a component.
|
|
properties:
|
|
description:
|
|
description: Description of this parameter.
|
|
type: string
|
|
fieldPaths:
|
|
description: "FieldPaths specifies an array
|
|
of fields within this workload that will
|
|
be overwritten by the value of this parameter.
|
|
\tAll fields must be of the same type. Fields
|
|
are specified as JSON field paths without
|
|
a leading dot, for example 'spec.replicas'."
|
|
items:
|
|
type: string
|
|
type: array
|
|
name:
|
|
description: Name of this parameter
|
|
type: string
|
|
required:
|
|
default: false
|
|
description: Required specifies whether or
|
|
not a value for this parameter must be supplied
|
|
when authoring an Application.
|
|
type: boolean
|
|
type:
|
|
description: 'ValueType indicates the type
|
|
of the parameter value, and only supports
|
|
basic data types: string, number, boolean.'
|
|
enum:
|
|
- string
|
|
- number
|
|
- boolean
|
|
type: string
|
|
required:
|
|
- fieldPaths
|
|
- name
|
|
- type
|
|
type: object
|
|
type: array
|
|
template:
|
|
description: Template defines the raw Kubernetes
|
|
resource
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- template
|
|
type: object
|
|
terraform:
|
|
description: Terraform is the struct to describe cloud
|
|
resources managed by Hashicorp Terraform
|
|
properties:
|
|
configuration:
|
|
description: Configuration is Terraform Configuration
|
|
type: string
|
|
customRegion:
|
|
description: Region is cloud provider's region.
|
|
It will override the region in the region field
|
|
of ProviderReference
|
|
type: string
|
|
deleteResource:
|
|
default: true
|
|
description: DeleteResource will determine whether
|
|
provisioned cloud resources will be deleted when
|
|
CR is deleted
|
|
type: boolean
|
|
gitCredentialsSecretReference:
|
|
description: GitCredentialsSecretReference specifies
|
|
the reference to the secret containing the git
|
|
credentials
|
|
properties:
|
|
name:
|
|
description: name is unique within a namespace
|
|
to reference a secret resource.
|
|
type: string
|
|
namespace:
|
|
description: namespace defines the space within
|
|
which the secret name must be unique.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
path:
|
|
description: Path is the sub-directory of remote
|
|
git repository. It's valid when remote is set
|
|
type: string
|
|
providerRef:
|
|
description: ProviderReference specifies the reference
|
|
to Provider
|
|
properties:
|
|
name:
|
|
description: Name of the referenced object.
|
|
type: string
|
|
namespace:
|
|
default: default
|
|
description: Namespace of the referenced object.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type:
|
|
default: hcl
|
|
description: Type specifies which Terraform configuration
|
|
it is, HCL or JSON syntax
|
|
enum:
|
|
- hcl
|
|
- json
|
|
- remote
|
|
type: string
|
|
writeConnectionSecretToRef:
|
|
description: WriteConnectionSecretToReference specifies
|
|
the namespace and name of a Secret to which any
|
|
connection details for this managed resource should
|
|
be written. Connection details frequently include
|
|
the endpoint, username, and password required
|
|
to connect to the managed resource.
|
|
properties:
|
|
name:
|
|
description: Name of the secret.
|
|
type: string
|
|
namespace:
|
|
description: Namespace of the secret.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
required:
|
|
- configuration
|
|
type: object
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: WorkflowStepDefinitionStatus is the status of WorkflowStepDefinition
|
|
properties:
|
|
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
|
|
configMapRef:
|
|
description: ConfigMapRef refer to a ConfigMap which contains
|
|
OpenAPI V3 JSON schema of Component parameters.
|
|
type: string
|
|
latestRevision:
|
|
description: LatestRevision of the component definition
|
|
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
|
|
type: object
|
|
type: object
|
|
description: WorkflowStepDefinitions records the snapshot of the WorkflowStepDefinitions
|
|
related with the created/modified Application
|
|
type: object
|
|
workloadDefinitions:
|
|
additionalProperties:
|
|
description: A WorkloadDefinition registers a kind of Kubernetes
|
|
custom resource as a valid OAM workload kind by referencing its
|
|
CustomResourceDefinition. The CRD is used to validate the schema
|
|
of the workload when it is embedded in an OAM Component.
|
|
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:
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
finalizers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
type: object
|
|
spec:
|
|
description: A WorkloadDefinitionSpec defines the desired state
|
|
of a WorkloadDefinition.
|
|
properties:
|
|
childResourceKinds:
|
|
description: ChildResourceKinds are the list of GVK of the
|
|
child resources this workload generates
|
|
items:
|
|
description: A ChildResourceKind defines a child Kubernetes
|
|
resource kind with a selector
|
|
properties:
|
|
apiVersion:
|
|
description: APIVersion of the child resource
|
|
type: string
|
|
kind:
|
|
description: Kind of the child resource
|
|
type: string
|
|
selector:
|
|
additionalProperties:
|
|
type: string
|
|
description: Selector to select the child resources
|
|
that the workload wants to expose to traits
|
|
type: object
|
|
required:
|
|
- apiVersion
|
|
- kind
|
|
type: object
|
|
type: array
|
|
definitionRef:
|
|
description: Reference to the CustomResourceDefinition that
|
|
defines this workload kind.
|
|
properties:
|
|
name:
|
|
description: Name of the referenced CustomResourceDefinition.
|
|
type: string
|
|
version:
|
|
description: Version indicate which version should be
|
|
used if CRD has multiple versions by default it will
|
|
use the first one if not specified
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
extension:
|
|
description: Extension is used for extension needs by OAM
|
|
platform builders
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
podSpecPath:
|
|
description: PodSpecPath indicates where/if this workload
|
|
has K8s podSpec field if one workload has podSpec, trait
|
|
can do lot's of assumption such as port, env, volume fields.
|
|
type: string
|
|
revisionLabel:
|
|
description: RevisionLabel indicates which label for underlying
|
|
resources(e.g. pods) of this workload can be used by trait
|
|
to create resource selectors(e.g. label selector for pods).
|
|
type: string
|
|
schematic:
|
|
description: Schematic defines the data format and template
|
|
of the encapsulation of the workload
|
|
properties:
|
|
cue:
|
|
description: CUE defines the encapsulation in CUE format
|
|
properties:
|
|
template:
|
|
description: Template defines the abstraction template
|
|
data of the capability, it will replace the old
|
|
CUE template in extension field. Template is a
|
|
required field if CUE is defined in Capability
|
|
Definition.
|
|
type: string
|
|
required:
|
|
- template
|
|
type: object
|
|
helm:
|
|
description: A Helm represents resources used by a Helm
|
|
module
|
|
properties:
|
|
release:
|
|
description: Release records a Helm release used
|
|
by a Helm module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
repository:
|
|
description: HelmRelease records a Helm repository
|
|
used by a Helm module workload.
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- release
|
|
- repository
|
|
type: object
|
|
kube:
|
|
description: Kube defines the encapsulation in raw Kubernetes
|
|
resource format
|
|
properties:
|
|
parameters:
|
|
description: Parameters defines configurable parameters
|
|
items:
|
|
description: A KubeParameter defines a configurable
|
|
parameter of a component.
|
|
properties:
|
|
description:
|
|
description: Description of this parameter.
|
|
type: string
|
|
fieldPaths:
|
|
description: "FieldPaths specifies an array
|
|
of fields within this workload that will
|
|
be overwritten by the value of this parameter.
|
|
\tAll fields must be of the same type. Fields
|
|
are specified as JSON field paths without
|
|
a leading dot, for example 'spec.replicas'."
|
|
items:
|
|
type: string
|
|
type: array
|
|
name:
|
|
description: Name of this parameter
|
|
type: string
|
|
required:
|
|
default: false
|
|
description: Required specifies whether or
|
|
not a value for this parameter must be supplied
|
|
when authoring an Application.
|
|
type: boolean
|
|
type:
|
|
description: 'ValueType indicates the type
|
|
of the parameter value, and only supports
|
|
basic data types: string, number, boolean.'
|
|
enum:
|
|
- string
|
|
- number
|
|
- boolean
|
|
type: string
|
|
required:
|
|
- fieldPaths
|
|
- name
|
|
- type
|
|
type: object
|
|
type: array
|
|
template:
|
|
description: Template defines the raw Kubernetes
|
|
resource
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
required:
|
|
- template
|
|
type: object
|
|
terraform:
|
|
description: Terraform is the struct to describe cloud
|
|
resources managed by Hashicorp Terraform
|
|
properties:
|
|
configuration:
|
|
description: Configuration is Terraform Configuration
|
|
type: string
|
|
customRegion:
|
|
description: Region is cloud provider's region.
|
|
It will override the region in the region field
|
|
of ProviderReference
|
|
type: string
|
|
deleteResource:
|
|
default: true
|
|
description: DeleteResource will determine whether
|
|
provisioned cloud resources will be deleted when
|
|
CR is deleted
|
|
type: boolean
|
|
gitCredentialsSecretReference:
|
|
description: GitCredentialsSecretReference specifies
|
|
the reference to the secret containing the git
|
|
credentials
|
|
properties:
|
|
name:
|
|
description: name is unique within a namespace
|
|
to reference a secret resource.
|
|
type: string
|
|
namespace:
|
|
description: namespace defines the space within
|
|
which the secret name must be unique.
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
path:
|
|
description: Path is the sub-directory of remote
|
|
git repository. It's valid when remote is set
|
|
type: string
|
|
providerRef:
|
|
description: ProviderReference specifies the reference
|
|
to Provider
|
|
properties:
|
|
name:
|
|
description: Name of the referenced object.
|
|
type: string
|
|
namespace:
|
|
default: default
|
|
description: Namespace of the referenced object.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type:
|
|
default: hcl
|
|
description: Type specifies which Terraform configuration
|
|
it is, HCL or JSON syntax
|
|
enum:
|
|
- hcl
|
|
- json
|
|
- remote
|
|
type: string
|
|
writeConnectionSecretToRef:
|
|
description: WriteConnectionSecretToReference specifies
|
|
the namespace and name of a Secret to which any
|
|
connection details for this managed resource should
|
|
be written. Connection details frequently include
|
|
the endpoint, username, and password required
|
|
to connect to the managed resource.
|
|
properties:
|
|
name:
|
|
description: Name of the secret.
|
|
type: string
|
|
namespace:
|
|
description: Namespace of the secret.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
required:
|
|
- configuration
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: Status defines the custom health policy and
|
|
status message for workload
|
|
properties:
|
|
customStatus:
|
|
description: CustomStatus defines the custom status
|
|
message that could display to user
|
|
type: string
|
|
healthPolicy:
|
|
description: HealthPolicy defines the health check policy
|
|
for the abstraction
|
|
type: string
|
|
type: object
|
|
required:
|
|
- definitionRef
|
|
type: object
|
|
status:
|
|
description: WorkloadDefinitionStatus is the status of WorkloadDefinition
|
|
properties:
|
|
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
|
|
type: object
|
|
type: object
|
|
description: WorkloadDefinitions records the snapshot of the workloadDefinitions
|
|
related with the created/modified Application
|
|
type: object
|
|
required:
|
|
- application
|
|
type: object
|
|
status:
|
|
description: ApplicationRevisionStatus is the status of ApplicationRevision
|
|
properties:
|
|
succeeded:
|
|
description: Succeeded records if the workflow finished running with
|
|
success
|
|
type: boolean
|
|
workflow:
|
|
description: Workflow the running status of the workflow
|
|
properties:
|
|
appRevision:
|
|
type: string
|
|
contextBackend:
|
|
description: "ObjectReference contains enough information to let
|
|
you inspect or modify the referred object. --- New uses of this
|
|
type are discouraged because of difficulty describing its usage
|
|
when embedded in APIs. 1. Ignored fields. It includes many
|
|
fields which are not generally honored. For instance, ResourceVersion
|
|
and FieldPath are both very rarely valid in actual usage. 2.
|
|
Invalid usage help. It is impossible to add specific help for
|
|
individual usage. In most embedded usages, there are particular
|
|
restrictions like, \"must refer only to types A and B\" or \"UID
|
|
not honored\" or \"name must be restricted\". Those cannot be
|
|
well described when embedded. 3. Inconsistent validation. Because
|
|
the usages are different, the validation rules are different
|
|
by usage, which makes it hard for users to predict what will
|
|
happen. 4. The fields are both imprecise and overly precise.
|
|
\ Kind is not a precise mapping to a URL. This can produce ambiguity
|
|
during interpretation and require a REST mapping. In most cases,
|
|
the dependency is on the group,resource tuple and the version
|
|
of the actual struct is irrelevant. 5. We cannot easily change
|
|
it. Because this type is embedded in many locations, updates
|
|
to this type will affect numerous schemas. Don't make new APIs
|
|
embed an underspecified API type they do not control. \n Instead
|
|
of using this type, create a locally provided and used type
|
|
that is well-focused on your reference. For example, ServiceReferences
|
|
for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
|
|
."
|
|
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. TODO: this design is not final and this field
|
|
is subject to change in the future.'
|
|
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
|
|
workflowContext:
|
|
additionalProperties:
|
|
type: string
|
|
description: Record the context values to the revision.
|
|
type: object
|
|
required:
|
|
- succeeded
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|