
'make manifests' attempts to generate all airshipctl API types, but several types throw errors and the resulting CRDs can't be properly generated. This change: - updates the controller-gen version to pull in a bug fix for the error 'map values must be a named type, not *ast.StarExpr' - modifies the Templater type's Values member to be of type JSON since controller-gen does not support map[string]interface{}, and unmarshals it separately in the templater itself - adds 'image_repositories' to the VersionsCatalogueSpec struct to ensure it doesn't get deleted from the schema when manifests get regenerated - checks in generated copies of all CRDs from airshipctl's API types, not just catalogues, to be used for validation Closes: #574 Change-Id: I89a12cfd307a08da9aaec9773eac01169ea43ace
165 lines
7.9 KiB
YAML
165 lines
7.9 KiB
YAML
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.6.1
|
|
creationTimestamp: null
|
|
name: genericcontainers.airshipit.org
|
|
spec:
|
|
group: airshipit.org
|
|
names:
|
|
kind: GenericContainer
|
|
listKind: GenericContainerList
|
|
plural: genericcontainers
|
|
singular: genericcontainer
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: GenericContainer provides info about generic container
|
|
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
|
|
config:
|
|
description: Config will be passed to stdin of the container together
|
|
with other objects more information on easy ways to consume the config
|
|
can be found here https://googlecontainertools.github.io/kpt/guides/producer/functions/golang/
|
|
type: string
|
|
configRef:
|
|
description: Reference is a reference to a configuration object, that
|
|
must reside in the same bundle as this GenericContainer object, if specified,
|
|
Config string will be ignored and referenced object in ConfigRef will
|
|
be used into the Config string instead and passed further into the container
|
|
stdin
|
|
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
|
|
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: Holds container configuration
|
|
properties:
|
|
airship:
|
|
description: Airship container spec
|
|
properties:
|
|
cmd:
|
|
description: Cmd to run inside the container, `["/my-command",
|
|
"arg"]`
|
|
items:
|
|
type: string
|
|
type: array
|
|
containerRuntime:
|
|
description: ContainerRuntime currently supported and default
|
|
runtime is "docker"
|
|
type: string
|
|
privileged:
|
|
description: Privileged identifies if the container is to be run
|
|
in a Privileged mode
|
|
type: boolean
|
|
type: object
|
|
envVars:
|
|
description: EnvVars is a slice of env string that will be exposed
|
|
to container ["MY_VAR=my-value, "MY_VAR1=my-value1"] if passed in
|
|
format ["MY_ENV"] this env variable will be exported the container
|
|
items:
|
|
type: string
|
|
type: array
|
|
hostNetwork:
|
|
description: HostNetwork defines network specific configuration
|
|
type: boolean
|
|
image:
|
|
description: Image is the container image to run
|
|
type: string
|
|
krm:
|
|
description: KRM container function spec
|
|
type: object
|
|
mounts:
|
|
description: Mounts are the storage or directories to mount into the
|
|
container
|
|
items:
|
|
description: StorageMount represents a container's mounted storage
|
|
option(s) copy from https://github.com/kubernetes-sigs/kustomize
|
|
to avoid imports in this package
|
|
properties:
|
|
dst:
|
|
description: The path where the file or directory is mounted
|
|
in the container.
|
|
type: string
|
|
rw:
|
|
description: Mount in ReadWrite mode if it's explicitly configured
|
|
See https://docs.docker.com/storage/bind-mounts/#use-a-read-only-bind-mount
|
|
type: boolean
|
|
src:
|
|
description: 'Source for the storage to be mounted. For named
|
|
volumes, this is the name of the volume. For anonymous volumes,
|
|
this field is omitted (empty string). For bind mounts, this
|
|
is the path to the file or directory on the host. If provided
|
|
path is relative, it will be expanded to absolute one by following
|
|
patterns: - if starts with ''~/'' or contains only ''~'' :
|
|
$HOME + Src - in other cases : TargetPath + Src'
|
|
type: string
|
|
type:
|
|
description: Type of mount e.g. bind mount, local volume, etc.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
sinkOutputDir:
|
|
description: Executor will write output using kustomize sink if this
|
|
parameter is specified. Else it will write output to STDOUT. This
|
|
path relative to current site root.
|
|
type: string
|
|
type:
|
|
description: Supported types are "airship" and "krm"
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|