mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
263 lines
11 KiB
Plaintext
263 lines
11 KiB
Plaintext
apiVersion: apiextensions.k8s.io/v1beta1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.3.0
|
|
creationTimestamp: null
|
|
name: workspaces.app.terraform.io
|
|
spec:
|
|
group: app.terraform.io
|
|
names:
|
|
kind: Workspace
|
|
listKind: WorkspaceList
|
|
plural: workspaces
|
|
singular: workspace
|
|
scope: Namespaced
|
|
subresources:
|
|
status: {}
|
|
validation:
|
|
openAPIV3Schema:
|
|
description: Workspace is the Schema for the workspaces 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: WorkspaceSpec defines the desired state of Workspace
|
|
properties:
|
|
agentPoolID:
|
|
description: Specifies the agent pool ID we wish to use.
|
|
type: string
|
|
module:
|
|
description: Module source and version to use
|
|
nullable: true
|
|
properties:
|
|
source:
|
|
description: Any remote module source (version control, registry)
|
|
type: string
|
|
version:
|
|
description: Module version for registry modules
|
|
type: string
|
|
required:
|
|
- source
|
|
type: object
|
|
organization:
|
|
description: Terraform Cloud organization
|
|
type: string
|
|
outputs:
|
|
description: Outputs denote outputs wanted
|
|
items:
|
|
description: OutputSpec specifies which values need to be output
|
|
properties:
|
|
key:
|
|
description: Output name
|
|
type: string
|
|
moduleOutputName:
|
|
description: Attribute name in module
|
|
type: string
|
|
type: object
|
|
type: array
|
|
secretsMountPath:
|
|
description: File path within operator pod to load workspace secrets
|
|
type: string
|
|
sshKeyID:
|
|
description: SSH Key ID. This key must already exist in the TF Cloud
|
|
organization. This can either be the user assigned name of the SSH
|
|
Key, or the system assigned ID.
|
|
type: string
|
|
terraformVersion:
|
|
description: Terraform version used for this workspace. The default
|
|
is `latest`.
|
|
type: string
|
|
variables:
|
|
description: Variables as inputs to module
|
|
items:
|
|
description: Variable denotes an input to the module
|
|
properties:
|
|
environmentVariable:
|
|
description: EnvironmentVariable denotes if this variable should
|
|
be created as environment variable
|
|
type: boolean
|
|
hcl:
|
|
description: String input should be an HCL-formatted variable
|
|
type: boolean
|
|
key:
|
|
description: Variable name
|
|
type: string
|
|
sensitive:
|
|
description: Variable is a secret and should be retrieved from
|
|
file
|
|
type: boolean
|
|
value:
|
|
description: Variable value
|
|
type: string
|
|
valueFrom:
|
|
description: Source for the variable's value. Cannot be used if
|
|
value is not empty.
|
|
properties:
|
|
configMapKeyRef:
|
|
description: Selects a key of a ConfigMap.
|
|
properties:
|
|
key:
|
|
description: The key to select.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the ConfigMap or its key
|
|
must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
fieldRef:
|
|
description: 'Selects a field of the pod: supports metadata.name,
|
|
metadata.namespace, metadata.labels, metadata.annotations,
|
|
spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP,
|
|
status.podIPs.'
|
|
properties:
|
|
apiVersion:
|
|
description: Version of the schema the FieldPath is written
|
|
in terms of, defaults to "v1".
|
|
type: string
|
|
fieldPath:
|
|
description: Path of the field to select in the specified
|
|
API version.
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
resourceFieldRef:
|
|
description: 'Selects a resource of the container: only resources
|
|
limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage,
|
|
requests.cpu, requests.memory and requests.ephemeral-storage)
|
|
are currently supported.'
|
|
properties:
|
|
containerName:
|
|
description: 'Container name: required for volumes, optional
|
|
for env vars'
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: Specifies the output format of the exposed
|
|
resources, defaults to "1"
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
description: 'Required: resource to select'
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
secretKeyRef:
|
|
description: Selects a key of a secret in the pod's namespace
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must
|
|
be a valid secret key.
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must
|
|
be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
type: object
|
|
required:
|
|
- environmentVariable
|
|
- key
|
|
- sensitive
|
|
type: object
|
|
type: array
|
|
vcs:
|
|
description: Details of the VCS repository we want to connect to the
|
|
workspace
|
|
nullable: true
|
|
properties:
|
|
branch:
|
|
description: The repository branch to use
|
|
type: string
|
|
ingress_submodules:
|
|
description: Whether submodules should be fetched when cloning the
|
|
VCS repository (Defaults to false)
|
|
type: boolean
|
|
repo_identifier:
|
|
description: A reference to your VCS repository in the format org/repo
|
|
type: string
|
|
token_id:
|
|
description: Token ID of the VCS Connection (OAuth Connection Token)
|
|
to use https://www.terraform.io/docs/cloud/vcs
|
|
type: string
|
|
required:
|
|
- repo_identifier
|
|
- token_id
|
|
type: object
|
|
required:
|
|
- organization
|
|
- secretsMountPath
|
|
type: object
|
|
status:
|
|
description: WorkspaceStatus defines the observed state of Workspace
|
|
properties:
|
|
configVersionID:
|
|
description: Configuration Version ID
|
|
type: string
|
|
outputs:
|
|
description: Outputs from state file
|
|
items:
|
|
description: OutputStatus outputs the values of Terraform output
|
|
properties:
|
|
key:
|
|
description: Attribute name in module
|
|
type: string
|
|
value:
|
|
description: Value
|
|
type: string
|
|
type: object
|
|
type: array
|
|
runID:
|
|
description: Run ID
|
|
type: string
|
|
runStatus:
|
|
description: Run Status gets the run status
|
|
type: string
|
|
workspaceID:
|
|
description: Workspace ID
|
|
type: string
|
|
required:
|
|
- configVersionID
|
|
- runID
|
|
- runStatus
|
|
- workspaceID
|
|
type: object
|
|
type: object
|
|
version: v1alpha1
|
|
versions:
|
|
- name: v1alpha1
|
|
served: true
|
|
storage: true
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|