airshipctl/manifests/function/airshipctl-schemas/airshipit.org_kubeconfigs.yaml

392 lines
18 KiB
YAML

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.6.2
creationTimestamp: null
name: kubeconfigs.airshipit.org
spec:
group: airshipit.org
names:
kind: KubeConfig
listKind: KubeConfigList
plural: kubeconfigs
singular: kubeconfig
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: KubeConfig object for k8s client
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 holds the information needed to build connect to remote
kubernetes clusters as a given user
properties:
apiVersion:
description: 'Legacy field from pkg/api/types.go TypeMeta. TODO(jlowdermilk):
remove this after eliminating downstream dependencies.'
type: string
clusters:
description: Clusters is a map of referencable names to cluster configs
items:
description: NamedCluster relates nicknames to cluster information
properties:
cluster:
description: Cluster holds the cluster information
properties:
certificate-authority:
description: CertificateAuthority is the path to a cert
file for the certificate authority.
type: string
certificate-authority-data:
description: CertificateAuthorityData contains PEM-encoded
certificate authority certificates. Overrides CertificateAuthority
format: byte
type: string
extensions:
description: Extensions holds additional information. This
is useful for extenders so that reads and writes don't
clobber unknown fields
items:
description: NamedExtension relates nicknames to extension
information
properties:
extension:
description: Extension holds the extension information
type: object
name:
description: Name is the nickname for this Extension
type: string
required:
- extension
- name
type: object
type: array
insecure-skip-tls-verify:
description: InsecureSkipTLSVerify skips the validity check
for the server's certificate. This will make your HTTPS
connections insecure.
type: boolean
proxy-url:
description: "ProxyURL is the URL to the proxy to be used
for all requests made by this client. URLs with \"http\",
\"https\", and \"socks5\" schemes are supported. If this
configuration is not provided or the empty string, the
client attempts to construct a proxy configuration from
http_proxy and https_proxy environment variables. If these
environment variables are not set, the client does not
attempt to proxy requests. \n socks5 proxying does not
currently support spdy streaming endpoints (exec, attach,
port forward)."
type: string
server:
description: Server is the address of the kubernetes cluster
(https://hostname:port).
type: string
tls-server-name:
description: TLSServerName is used to check server certificate.
If TLSServerName is empty, the hostname used to contact
the server is used.
type: string
required:
- server
type: object
name:
description: Name is the nickname for this Cluster
type: string
required:
- cluster
- name
type: object
type: array
contexts:
description: Contexts is a map of referencable names to context configs
items:
description: NamedContext relates nicknames to context information
properties:
context:
description: Context holds the context information
properties:
cluster:
description: Cluster is the name of the cluster for this
context
type: string
extensions:
description: Extensions holds additional information. This
is useful for extenders so that reads and writes don't
clobber unknown fields
items:
description: NamedExtension relates nicknames to extension
information
properties:
extension:
description: Extension holds the extension information
type: object
name:
description: Name is the nickname for this Extension
type: string
required:
- extension
- name
type: object
type: array
namespace:
description: Namespace is the default namespace to use on
unspecified requests
type: string
user:
description: AuthInfo is the name of the authInfo for this
context
type: string
required:
- cluster
- user
type: object
name:
description: Name is the nickname for this Context
type: string
required:
- context
- name
type: object
type: array
current-context:
description: CurrentContext is the name of the context that you would
like to use by default
type: string
extensions:
description: Extensions holds additional information. This is useful
for extenders so that reads and writes don't clobber unknown fields
items:
description: NamedExtension relates nicknames to extension information
properties:
extension:
description: Extension holds the extension information
type: object
name:
description: Name is the nickname for this Extension
type: string
required:
- extension
- name
type: object
type: array
kind:
description: 'Legacy field from pkg/api/types.go TypeMeta. TODO(jlowdermilk):
remove this after eliminating downstream dependencies.'
type: string
preferences:
description: Preferences holds general information to be use for cli
interactions
properties:
colors:
type: boolean
extensions:
description: Extensions holds additional information. This is
useful for extenders so that reads and writes don't clobber
unknown fields
items:
description: NamedExtension relates nicknames to extension information
properties:
extension:
description: Extension holds the extension information
type: object
name:
description: Name is the nickname for this Extension
type: string
required:
- extension
- name
type: object
type: array
type: object
users:
description: AuthInfos is a map of referencable names to user configs
items:
description: NamedAuthInfo relates nicknames to auth information
properties:
name:
description: Name is the nickname for this AuthInfo
type: string
user:
description: AuthInfo holds the auth information
properties:
as:
description: Impersonate is the username to imperonate. The
name matches the flag.
type: string
as-groups:
description: ImpersonateGroups is the groups to imperonate.
items:
type: string
type: array
as-user-extra:
additionalProperties:
items:
type: string
type: array
description: ImpersonateUserExtra contains additional information
for impersonated user.
type: object
auth-provider:
description: AuthProvider specifies a custom authentication
plugin for the kubernetes cluster.
properties:
config:
additionalProperties:
type: string
type: object
name:
type: string
required:
- config
- name
type: object
client-certificate:
description: ClientCertificate is the path to a client cert
file for TLS.
type: string
client-certificate-data:
description: ClientCertificateData contains PEM-encoded
data from a client cert file for TLS. Overrides ClientCertificate
format: byte
type: string
client-key:
description: ClientKey is the path to a client key file
for TLS.
type: string
client-key-data:
description: ClientKeyData contains PEM-encoded data from
a client key file for TLS. Overrides ClientKey
format: byte
type: string
exec:
description: Exec specifies a custom exec-based authentication
plugin for the kubernetes cluster.
properties:
apiVersion:
description: Preferred input version of the ExecInfo.
The returned ExecCredentials MUST use the same encoding
version as the input.
type: string
args:
description: Arguments to pass to the command when executing
it.
items:
type: string
type: array
command:
description: Command to execute.
type: string
env:
description: Env defines additional environment variables
to expose to the process. These are unioned with the
host's environment, as well as variables client-go
uses to pass argument to the plugin.
items:
description: ExecEnvVar is used for setting environment
variables when executing an exec-based credential
plugin.
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
installHint:
description: This text is shown to the user when the
executable doesn't seem to be present. For example,
`brew install foo-cli` might be a good InstallHint
for foo-cli on Mac OS systems.
type: string
provideClusterInfo:
description: ProvideClusterInfo determines whether or
not to provide cluster information, which could potentially
contain very large CA data, to this exec plugin as
a part of the KUBERNETES_EXEC_INFO environment variable.
By default, it is set to false. Package k8s.io/client-go/tools/auth/exec
provides helper methods for reading this environment
variable.
type: boolean
required:
- command
- provideClusterInfo
type: object
extensions:
description: Extensions holds additional information. This
is useful for extenders so that reads and writes don't
clobber unknown fields
items:
description: NamedExtension relates nicknames to extension
information
properties:
extension:
description: Extension holds the extension information
type: object
name:
description: Name is the nickname for this Extension
type: string
required:
- extension
- name
type: object
type: array
password:
description: Password is the password for basic authentication
to the kubernetes cluster.
type: string
token:
description: Token is the bearer token for authentication
to the kubernetes cluster.
type: string
tokenFile:
description: TokenFile is a pointer to a file that contains
a bearer token (as described above). If both Token and
TokenFile are present, Token takes precedence.
type: string
username:
description: Username is the username for basic authentication
to the kubernetes cluster.
type: string
type: object
required:
- name
- user
type: object
type: array
required:
- clusters
- contexts
- current-context
- preferences
- users
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
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []