Documentation ¶
Overview ¶
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022-23. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Generated by *go generate* - DO NOT EDIT
Copyright 2022. projectsveltos.io. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Variables
- func GetAccessRequestCRDYAML() []byte
- func GetAddonComplianceCRDYAML() []byte
- func GetClassifierCRDYAML() []byte
- func GetClassifierReportCRDYAML() []byte
- func GetClusterHealthCheckCRDYAML() []byte
- func GetDebuggingConfigurationCRDYAML() []byte
- func GetEventReportCRDYAML() []byte
- func GetEventSourceCRDYAML() []byte
- func GetHealthCheckCRDYAML() []byte
- func GetHealthCheckReportCRDYAML() []byte
- func GetReloaderCRDYAML() []byte
- func GetReloaderReportCRDYAML() []byte
- func GetResourceSummaryCRDYAML() []byte
- func GetRoleRequestCRDYAML() []byte
- func GetSveltosClusterCRDYAML() []byte
- func WatchCustomResourceDefinition(ctx context.Context, config *rest.Config, h handler, logger logr.Logger)
Constants ¶
This section is empty.
Variables ¶
var AccessRequestCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: accessrequests.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: AccessRequest
listKind: AccessRequestList
plural: accessrequests
singular: accessrequest
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: AccessRequest is the Schema for the accessrequest 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: AccessRequestSpec defines the desired state of AccessRequest
properties:
controlPlaneEndpoint:
description: ControlPlaneEndpoint represents the endpoint used to
communicate with the management cluster controlplane endpoint. It
will be used when generating the kubeconfig.
properties:
host:
description: The hostname on which the API server is serving.
type: string
port:
description: The port on which the API server is serving.
format: int32
type: integer
required:
- host
- port
type: object
name:
description: Name is the name of the service account created for this
AccessRequest
type: string
namespace:
description: Namespace is the namespace of the service account created
for this AccessRequest
type: string
type:
description: Type represent the type of the request
enum:
- SveltosAgent
- Different
type: string
required:
- controlPlaneEndpoint
- name
- namespace
- type
type: object
status:
description: AccessRequestStatus defines the status of AccessRequest
properties:
failureMessage:
description: FailureMessage provides more information if an error
occurs.
type: string
secretRef:
description: SecretRef points to the Secret containing Kubeconfig
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: object
type: object
served: true
storage: true
subresources:
status: {}
`)
var AccessRequestFile = "../../config/crd/bases/lib.projectsveltos.io_accessrequests.yaml"
var AddonComplianceCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: addoncompliances.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: AddonCompliance
listKind: AddonComplianceList
plural: addoncompliances
singular: addoncompliance
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: AddonCompliance is the Schema for the AddonCompliance 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: AddonComplianceSpec defines the desired state of AddonCompliance
properties:
clusterRefs:
description: ClusterRefs identifies clusters to associate to.
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
clusterSelector:
description: ClusterSelector identifies clusters to associate to.
type: string
luaValidationRefs:
description: LuaValidationRefs is a list of validations defined in
Lua language. In the matching clusters, add-ons will be deployed
only if all validations pass.
items:
properties:
kind:
description: 'Kind of the resource. Supported kinds are: - flux
GitRepository;OCIRepository;Bucket - ConfigMap/Secret'
enum:
- GitRepository
- OCIRepository
- Bucket
- ConfigMap
- Secret
type: string
name:
description: Name of the referenced resource.
minLength: 1
type: string
namespace:
description: Namespace of the referenced resource.
minLength: 1
type: string
path:
description: Path to the directory containing the openapi validations.
Defaults to 'None', which translates to the root path of the
SourceRef. Ignored for ConfigMap/Secret.
type: string
required:
- kind
- name
- namespace
type: object
type: array
openAPIValidationRefs:
description: OpenAPIValidationRefs is a list of OpenAPI validations.
In the matching clusters, add-ons will be deployed only if all validations
pass.
items:
properties:
kind:
description: 'Kind of the resource. Supported kinds are: - flux
GitRepository;OCIRepository;Bucket - ConfigMap/Secret'
enum:
- GitRepository
- OCIRepository
- Bucket
- ConfigMap
- Secret
type: string
name:
description: Name of the referenced resource.
minLength: 1
type: string
namespace:
description: Namespace of the referenced resource.
minLength: 1
type: string
path:
description: Path to the directory containing the openapi validations.
Defaults to 'None', which translates to the root path of the
SourceRef. Ignored for ConfigMap/Secret.
type: string
required:
- kind
- name
- namespace
type: object
type: array
type: object
status:
description: AddonComplianceStatus defines the observed state of AddonCompliance
properties:
failureMessage:
description: FailureMessage provides more information if an error
occurs.
type: string
luaValidations:
additionalProperties:
format: byte
type: string
description: LuaValidations contains all validations collected from
all existing referenced resources
type: object
matchingClusters:
description: MatchingClusterRefs reference all the clusters currently
matching ClusterSelector
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
openapiValidations:
additionalProperties:
format: byte
type: string
description: OpenapiValidations contains all validations collected
from all existing referenced resources
type: object
type: object
type: object
served: true
storage: true
subresources:
status: {}
`)
var AddonComplianceFile = "../../config/crd/bases/lib.projectsveltos.io_addoncompliances.yaml"
var ClassifierCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: classifiers.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: Classifier
listKind: ClassifierList
plural: classifiers
singular: classifier
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: Classifier is the Schema for the classifiers 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: ClassifierSpec defines the desired state of Classifier
properties:
classifierLabels:
description: ClassifierLabels is set of labels, key,value pair, that
will be added to each cluster matching Classifier instance
items:
properties:
key:
description: Key is the label key
type: string
value:
description: Value is the label value
type: string
required:
- key
- value
type: object
type: array
deployedResourceConstraints:
description: DeployedResourceConstraints allows to classify based
on current deployed resources
items:
properties:
fieldFilters:
description: 'FieldFilters allows to filter resources based
on current field values. Internally uses FieldSelector so
only fields supported by FieldSelector can be used. Current
list: https://github.com/kubernetes/kubernetes/blob/9d577d8a29893062dfbd669997396dbd01ab0e47/pkg/apis/core/v1/conversion.go#L33'
items:
properties:
field:
description: Field is the field
type: string
operation:
description: Operation is the comparison operation
enum:
- Equal
- Different
type: string
value:
description: Value is the field value
type: string
required:
- field
- operation
- value
type: object
type: array
group:
description: Group of the resource deployed in the Cluster.
type: string
kind:
description: Kind of the resource deployed in the Cluster.
minLength: 1
type: string
labelFilters:
description: LabelFilters allows to filter resources based on
current labels.
items:
properties:
key:
description: Key is the label key
type: string
operation:
description: Operation is the comparison operation
enum:
- Equal
- Different
type: string
value:
description: Value is the label value
type: string
required:
- key
- operation
- value
type: object
type: array
maxCount:
description: MaxCount is the maximun number of resources to
match
type: integer
minCount:
description: MinCount is the minimum number of resources to
match
type: integer
namespace:
description: Namespace of the resource deployed in the Cluster.
Empty for resources scoped at cluster level.
type: string
script:
description: Script is a text containing a lua script. Must
return struct with field "matching" representing whether object
is a match.
type: string
version:
description: Version of the resource deployed in the Cluster.
type: string
required:
- group
- kind
- version
type: object
type: array
kubernetesVersionConstraints:
description: KubernetesVersionConstraints allows to classify based
on current kubernetes version
items:
properties:
comparison:
description: Comparison indicate how to compare cluster kubernetes
version with the specified version
enum:
- Equal
- NotEqual
- GreaterThan
- LessThan
- GreaterThanOrEqualTo
- LessThanOrEqualTo
type: string
version:
description: Version is the kubernetes version
type: string
required:
- comparison
- version
type: object
type: array
required:
- classifierLabels
type: object
status:
description: ClassifierStatus defines the observed state of Classifier
properties:
clusterInfo:
description: ClusterInfo reference all the cluster-api Cluster where
Classifier has been/is being deployed
items:
properties:
cluster:
description: Cluster references the Cluster
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
failureMessage:
description: FailureMessage provides more information about
the error.
type: string
hash:
description: Hash represents the hash of the Classifier currently
deployed in the Cluster
format: byte
type: string
status:
description: Status represents the state of the feature in the
workload cluster
enum:
- Provisioning
- Provisioned
- Failed
- Removing
- Removed
type: string
required:
- cluster
- hash
type: object
type: array
machingClusterStatuses:
description: MatchingClusterRefs reference all the cluster-api Cluster
currently matching Classifier
items:
properties:
clusterRef:
description: ClusterRef references the matching Cluster
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
managedLabels:
description: ManagedLabels indicates the labels being managed
on the cluster by this Classifier instance
items:
type: string
type: array
unManagedLabels:
description: UnManagedLabel indicates the labels this Classifier
instance would like to manage but cannot because different
instance is already managing it
items:
properties:
failureMessage:
description: FailureMessage is a human consumable message
explaining the misconfiguration
type: string
key:
description: Key represents a label Classifier would like
to manage but cannot because currently managed by different
instance
type: string
required:
- key
type: object
type: array
required:
- clusterRef
type: object
type: array
type: object
type: object
served: true
storage: true
subresources:
status: {}
`)
var ClassifierFile = "../../config/crd/bases/lib.projectsveltos.io_classifiers.yaml"
var ClassifierReportCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: classifierreports.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: ClassifierReport
listKind: ClassifierReportList
plural: classifierreports
singular: classifierreport
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ClassifierReport is the Schema for the classifierreports 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:
properties:
classifierName:
description: ClassifierName is the name of the Classifier instance
this report is for.
type: string
clusterName:
description: ClusterName is the name of the Cluster this ClusterReport
is for.
type: string
clusterNamespace:
description: ClusterNamespace is the namespace of the Cluster this
ClusterReport is for.
type: string
clusterType:
description: ClusterType is the type of Cluster
type: string
match:
description: Match indicates whether Cluster is currently a match
for the Classifier instance this report is for
type: boolean
required:
- classifierName
- clusterName
- clusterNamespace
- clusterType
- match
type: object
status:
description: ClassifierReportStatus defines the observed state of ClassifierReport
properties:
phase:
description: Phase represents the current phase of report.
enum:
- WaitingForDelivery
- Delivering
- Processed
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
`)
var ClassifierReportFile = "../../config/crd/bases/lib.projectsveltos.io_classifierreports.yaml"
var ClusterHealthCheckCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: clusterhealthchecks.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: ClusterHealthCheck
listKind: ClusterHealthCheckList
plural: clusterhealthchecks
singular: clusterhealthcheck
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ClusterHealthCheck is the Schema for the clusterhealthchecks
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: ClusterHealthCheckSpec defines the desired state of ClusterHealthCheck
properties:
clusterSelector:
description: ClusterSelector identifies clusters to associate to.
type: string
livenessChecks:
description: LivenessChecks is a list of source of liveness checks
to evaluate. Anytime one of those changes, notifications will be
sent
items:
properties:
livenessSourceRef:
description: LivenessSourceRef is a reference to a liveness-specific
resource that holds the details for the liveness check.
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
name:
description: Name of the liveness check. Must be a DNS_LABEL
and unique within the ClusterHealthCheck.
type: string
type:
description: Type specifies the type of liveness
enum:
- Addons
- HealthCheck
type: string
required:
- name
- type
type: object
type: array
notifications:
description: Notification is a list of source of events to evaluate.
items:
properties:
name:
description: Name of the notification check. Must be a DNS_LABEL
and unique within the ClusterHealthCheck.
type: string
notificationRef:
description: NotificationRef is a reference to a notification-specific
resource that holds the details for the notification.
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:
description: NotificationType specifies the type of notification
enum:
- KubernetesEvent
- Slack
- Webex
type: string
required:
- name
- type
type: object
type: array
required:
- clusterSelector
- livenessChecks
- notifications
type: object
status:
properties:
clusterCondition:
description: ClusterConditions contains conditions and notification
status for all clusters matching ClusterHealthCheck instance
items:
properties:
clusterInfo:
properties:
cluster:
description: Cluster references the Cluster
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
failureMessage:
description: FailureMessage provides more information about
the error.
type: string
hash:
description: Hash represents the hash of the Classifier
currently deployed in the Cluster
format: byte
type: string
status:
description: Status represents the state of the feature
in the workload cluster
enum:
- Provisioning
- Provisioned
- Failed
- Removing
- Removed
type: string
required:
- cluster
- hash
type: object
conditions:
description: Cluster conditions.
items:
description: Condition defines an observation of a Cluster
API resource operational state.
properties:
lastTransitionTime:
description: Last time the condition transitioned from
one status to another. This should be when the underlying
condition changed. If that is not known, then using
the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: A human readable message indicating details
about the transition. This field may be empty.
type: string
name:
description: Condition name
type: string
reason:
description: The reason for the condition's last transition
in CamelCase. The specific API may choose whether or
not this field is considered a guaranteed API. This
field may not be empty.
type: string
severity:
description: Severity provides an explicit classification
of Reason code, so the users or machines can immediately
understand the current situation and act accordingly.
The Severity field MUST be set only when Status=False.
type: string
status:
description: Status of the condition, one of True, False,
Unknown.
type: string
type:
description: Type of condition in CamelCase or in foo.example.com/CamelCase.
type: string
required:
- lastTransitionTime
- name
- status
- type
type: object
type: array
notificationSummaries:
description: NotificationSummaries contains status information
on notifications
items:
properties:
failureMessage:
description: FailureMessage is a human consumable message
explaining the misconfiguration
type: string
name:
description: Name of the notification check.
type: string
status:
description: NotificationStatus specifies the notification
status
enum:
- Delivered
- FailedToDeliver
type: string
required:
- name
- status
type: object
type: array
required:
- clusterInfo
type: object
type: array
matchingClusters:
description: MatchingClusterRefs reference all the clusters currently
matching ClusterHealthCheck ClusterSelector
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
type: object
type: object
served: true
storage: true
subresources:
status: {}
`)
var ClusterHealthCheckFile = "../../config/crd/bases/lib.projectsveltos.io_clusterhealthchecks.yaml"
var DebuggingConfigurationCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: debuggingconfigurations.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: DebuggingConfiguration
listKind: DebuggingConfigurationList
plural: debuggingconfigurations
singular: debuggingconfiguration
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: DebuggingConfiguration is the Schema for the debuggingconfigurations
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: DebuggingConfigurationSpec defines the desired state of DebuggingConfiguration
properties:
configuration:
description: Configuration contains debugging configuration as granular
as per component.
items:
description: ComponentConfiguration is the debugging configuration
to be applied to a Sveltos component.
properties:
component:
description: Component indicates which Sveltos component the
configuration applies to.
enum:
- AddonManager
- AddonComplianceManager
- Classifier
- ClassifierAgent
- SveltosClusterManager
- DriftDetectionManager
- AccessManager
- HealthCheckManager
- EventManager
type: string
logLevel:
description: 'LogLevel is the log severity above which logs
are sent to the stdout. [Default: Info]'
enum:
- LogLevelNotSet
- LogLevelInfo
- LogLevelDebug
- LogLevelVerbose
type: string
required:
- component
type: object
type: array
x-kubernetes-list-type: atomic
type: object
type: object
served: true
storage: true
`)
var DebuggingConfigurationFile = "../../config/crd/bases/lib.projectsveltos.io_debuggingconfigurations.yaml"
var EventReportCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: eventreports.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: EventReport
listKind: EventReportList
plural: eventreports
singular: eventreport
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: EventReport is the Schema for the EventReport 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:
properties:
clusterName:
description: ClusterName is the name of the Cluster this EventReport
is for.
type: string
clusterNamespace:
description: ClusterNamespace is the namespace of the Cluster this
EventReport is for.
type: string
clusterType:
description: ClusterType is the type of Cluster this EventReport is
for.
type: string
eventSourceName:
description: EventSourceName is the name of the EventSource instance
this report is for.
type: string
matchingResources:
description: MatchingResources contains a list of resources matching
an event
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
resources:
description: If EventSource Spec.CollectResources is set to true,
all matching resources will be collected and contained in the Resources
field.
format: byte
type: string
required:
- clusterName
- clusterNamespace
- clusterType
- eventSourceName
type: object
status:
description: EventReportStatus defines the observed state of EventReport
properties:
phase:
description: Phase represents the current phase of report.
enum:
- WaitingForDelivery
- Delivering
- Processed
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
`)
var EventReportFile = "../../config/crd/bases/lib.projectsveltos.io_eventreports.yaml"
var EventSourceCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: eventsources.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: EventSource
listKind: EventSourceList
plural: eventsources
singular: eventsource
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: EventSource is the Schema for the EventSource 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: EventSourceSpec defines the desired state of EventSource
properties:
collectResources:
default: false
description: CollectResources indicates whether matching resources
need to be collected and added to EventReport.
type: boolean
group:
description: Group of the resource deployed in the Cluster.
type: string
kind:
description: Kind of the resource deployed in the Cluster.
minLength: 1
type: string
labelFilters:
description: LabelFilters allows to filter resources based on current
labels.
items:
properties:
key:
description: Key is the label key
type: string
operation:
description: Operation is the comparison operation
enum:
- Equal
- Different
type: string
value:
description: Value is the label value
type: string
required:
- key
- operation
- value
type: object
type: array
namespace:
description: Namespace of the resource deployed in the Cluster. Empty
for resources scoped at cluster level.
type: string
script:
description: Script is a text containing a lua script. Must return
struct with field "matching" representing whether object is a match.
type: string
version:
description: Version of the resource deployed in the Cluster.
type: string
required:
- group
- kind
- version
type: object
type: object
served: true
storage: true
`)
var EventSourceFile = "../../config/crd/bases/lib.projectsveltos.io_eventsources.yaml"
var HealthCheckCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: healthchecks.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: HealthCheck
listKind: HealthCheckList
plural: healthchecks
singular: healthcheck
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: HealthCheck is the Schema for the HealthCheck 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: HealthCheckSpec defines the desired state of HealthCheck
properties:
collectResources:
default: false
description: CollectResources indicates whether matching resources
need to be collected and added to EventReport.
type: boolean
group:
description: Group of the resource deployed in the Cluster.
type: string
kind:
description: Kind of the resource deployed in the Cluster.
minLength: 1
type: string
labelFilters:
description: LabelFilters allows to filter resources based on current
labels.
items:
properties:
key:
description: Key is the label key
type: string
operation:
description: Operation is the comparison operation
enum:
- Equal
- Different
type: string
value:
description: Value is the label value
type: string
required:
- key
- operation
- value
type: object
type: array
namespace:
description: Namespace of the resource deployed in the Cluster. Empty
for resources scoped at cluster level.
type: string
script:
description: Script is a text containing a lua script. Must return
a struct with field "status" set to one of the possible value of
HealthStatus.
type: string
version:
description: Version of the resource deployed in the Cluster.
type: string
required:
- group
- kind
- version
type: object
type: object
served: true
storage: true
`)
var HealthCheckFile = "../../config/crd/bases/lib.projectsveltos.io_healthchecks.yaml"
var HealthCheckReportCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: healthcheckreports.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: HealthCheckReport
listKind: HealthCheckReportList
plural: healthcheckreports
singular: healthcheckreport
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: HealthCheckReport is the Schema for the HealthCheckReport 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:
properties:
clusterName:
description: ClusterName is the name of the Cluster this HealthCheckReport
is for.
type: string
clusterNamespace:
description: ClusterNamespace is the namespace of the Cluster this
HealthCheckReport is for.
type: string
clusterType:
description: ClusterType is the type of Cluster this HealthCheckReport
is for.
type: string
healthCheckName:
description: HealthName is the name of the HealthCheck instance this
report is for.
type: string
resourceStatuses:
description: ResourceStatuses contains a list of resources with their
status
items:
properties:
healthStatus:
description: HealthStatus is the health status of the object
enum:
- Healthy
- Progressing
- Degraded
- Suspended
type: string
message:
description: Message is an extra message for human consumption
type: string
objectRef:
description: ObjectRef for which status is reported
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
resource:
description: If HealthCheck Spec.CollectResources is set to
true, resource will be collected and contained in the Resource
field.
format: byte
type: string
required:
- healthStatus
- objectRef
type: object
type: array
required:
- clusterName
- clusterNamespace
- clusterType
- healthCheckName
type: object
status:
description: HealthCheckReportStatus defines the observed state of HealthCheckReport
properties:
phase:
description: Phase represents the current phase of report.
enum:
- WaitingForDelivery
- Delivering
- Processed
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
`)
var HealthCheckReportFile = "../../config/crd/bases/lib.projectsveltos.io_healthcheckreports.yaml"
var ReloaderCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: reloaders.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: Reloader
listKind: ReloaderList
plural: reloaders
singular: reloader
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: Reloader is the Schema for the Reloader 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: ReloaderSpec defines the desired state of Reloader
properties:
reloaderInfo:
items:
description: ReloaderInfo represents a resource that need to be
reloaded if any mounted ConfigMap/Secret changes.
properties:
kind:
description: 'Kind of the resource. Supported kinds are: Deployment
StatefulSet DaemonSet.'
enum:
- Deployment
- StatefulSet
- DaemonSet
type: string
name:
description: Name of the referenced resource.
minLength: 1
type: string
namespace:
description: Namespace of the referenced resource.
minLength: 1
type: string
value:
type: string
required:
- kind
- name
- namespace
type: object
type: array
type: object
type: object
served: true
storage: true
`)
var ReloaderFile = "../../config/crd/bases/lib.projectsveltos.io_reloaders.yaml"
var ReloaderReportCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: reloaderreports.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: ReloaderReport
listKind: ReloaderReportList
plural: reloaderreports
singular: reloaderreport
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ReloaderReport is the Schema for the ReloaderReport 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:
properties:
clusterName:
description: ClusterName is the name of the Cluster this ReloaderReport
is for.
type: string
clusterNamespace:
description: ClusterNamespace is the namespace of the Cluster this
ReloaderReport is for.
type: string
clusterType:
description: ClusterType is the type of Cluster this ReloaderReport
is for.
type: string
resourcesToReload:
description: ResourcesToReload contains a list of resources that requires
rolling upgrade
items:
description: ReloaderInfo represents a resource that need to be
reloaded if any mounted ConfigMap/Secret changes.
properties:
kind:
description: 'Kind of the resource. Supported kinds are: Deployment
StatefulSet DaemonSet.'
enum:
- Deployment
- StatefulSet
- DaemonSet
type: string
name:
description: Name of the referenced resource.
minLength: 1
type: string
namespace:
description: Namespace of the referenced resource.
minLength: 1
type: string
value:
type: string
required:
- kind
- name
- namespace
type: object
type: array
required:
- clusterName
- clusterNamespace
- clusterType
type: object
status:
description: ReloaderReportStatus defines the observed state of ReloaderReport
properties:
phase:
description: Phase represents the current phase of report.
enum:
- WaitingForDelivery
- Delivering
- Processed
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
`)
var ReloaderReportFile = "../../config/crd/bases/lib.projectsveltos.io_reloaderreports.yaml"
var ResourceSummaryCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: resourcesummaries.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: ResourceSummary
listKind: ResourceSummaryList
plural: resourcesummaries
singular: resourcesummary
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ResourceSummary is the Schema for the ResourceSummary 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: ResourceSummarySpec defines the desired state of ResourceSummary
properties:
chartResources:
description: Resources deployed by ClusterSummary because of referenced
Helm charts
items:
properties:
chartName:
description: ChartName is the chart name
minLength: 1
type: string
group:
description: Resources deployed by ClusterSummary because of
helm charts
items:
properties:
group:
description: Group of the resource deployed in the Cluster.
type: string
kind:
description: Kind of the resource deployed in the Cluster.
minLength: 1
type: string
name:
description: Name of the resource deployed in the Cluster.
minLength: 1
type: string
namespace:
description: Namespace of the resource deployed in the
Cluster. Empty for resources scoped at cluster level.
type: string
version:
description: Version of the resource deployed in the Cluster.
type: string
required:
- group
- kind
- name
- version
type: object
type: array
releaseName:
description: ReleaseName is the chart release
minLength: 1
type: string
releaseNamespace:
description: ReleaseNamespace is the namespace release will
be installed
minLength: 1
type: string
required:
- chartName
- releaseName
- releaseNamespace
type: object
type: array
kustomizeResources:
description: KustomizeResources deployed by ClusterSummary because
of referenced KustomizationRef
items:
properties:
group:
description: Group of the resource deployed in the Cluster.
type: string
kind:
description: Kind of the resource deployed in the Cluster.
minLength: 1
type: string
name:
description: Name of the resource deployed in the Cluster.
minLength: 1
type: string
namespace:
description: Namespace of the resource deployed in the Cluster.
Empty for resources scoped at cluster level.
type: string
version:
description: Version of the resource deployed in the Cluster.
type: string
required:
- group
- kind
- name
- version
type: object
type: array
resources:
description: Resources deployed by ClusterSummary because of referenced
ConfigMaps/Secrets
items:
properties:
group:
description: Group of the resource deployed in the Cluster.
type: string
kind:
description: Kind of the resource deployed in the Cluster.
minLength: 1
type: string
name:
description: Name of the resource deployed in the Cluster.
minLength: 1
type: string
namespace:
description: Namespace of the resource deployed in the Cluster.
Empty for resources scoped at cluster level.
type: string
version:
description: Version of the resource deployed in the Cluster.
type: string
required:
- group
- kind
- name
- version
type: object
type: array
type: object
status:
description: ResourceSummaryStatus defines the status of ResourceSummary
properties:
helmResourceHashes:
description: HelmResourceHashes specifies list of resource plus hash.
items:
properties:
group:
description: Group of the resource deployed in the Cluster.
type: string
hash:
description: Hash is the hash of a resource's data.
type: string
kind:
description: Kind of the resource deployed in the Cluster.
minLength: 1
type: string
name:
description: Name of the resource deployed in the Cluster.
minLength: 1
type: string
namespace:
description: Namespace of the resource deployed in the Cluster.
Empty for resources scoped at cluster level.
type: string
version:
description: Version of the resource deployed in the Cluster.
type: string
required:
- group
- kind
- name
- version
type: object
type: array
helmResourcesChanged:
description: Helm Resources changed.
type: boolean
kustomizeResourceHashes:
description: KustomizeResourceHashes specifies a list of resource
plus hash
items:
properties:
group:
description: Group of the resource deployed in the Cluster.
type: string
hash:
description: Hash is the hash of a resource's data.
type: string
kind:
description: Kind of the resource deployed in the Cluster.
minLength: 1
type: string
name:
description: Name of the resource deployed in the Cluster.
minLength: 1
type: string
namespace:
description: Namespace of the resource deployed in the Cluster.
Empty for resources scoped at cluster level.
type: string
version:
description: Version of the resource deployed in the Cluster.
type: string
required:
- group
- kind
- name
- version
type: object
type: array
kustomizeResourcesChanged:
description: KustomizeResources changed.
type: boolean
resourceHashes:
description: ResourceHashes specifies a list of resource plus hash
items:
properties:
group:
description: Group of the resource deployed in the Cluster.
type: string
hash:
description: Hash is the hash of a resource's data.
type: string
kind:
description: Kind of the resource deployed in the Cluster.
minLength: 1
type: string
name:
description: Name of the resource deployed in the Cluster.
minLength: 1
type: string
namespace:
description: Namespace of the resource deployed in the Cluster.
Empty for resources scoped at cluster level.
type: string
version:
description: Version of the resource deployed in the Cluster.
type: string
required:
- group
- kind
- name
- version
type: object
type: array
resourcesChanged:
description: Resources changed.
type: boolean
type: object
type: object
served: true
storage: true
subresources:
status: {}
`)
var ResourceSummaryFile = "../../config/crd/bases/lib.projectsveltos.io_resourcesummaries.yaml"
var RoleRequestCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: rolerequests.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: RoleRequest
listKind: RoleRequestList
plural: rolerequests
singular: rolerequest
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: RoleRequest is the Schema for the rolerequest 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: RoleRequestSpec defines the desired state of RoleRequest
properties:
clusterSelector:
description: ClusterSelector identifies clusters where permissions
requestes in this instance will be granted
type: string
expirationSeconds:
description: ExpirationSeconds is the requested duration of validity
of the TokenRequest associated to ServiceAccount. If not specified,
default value is used
format: int64
type: integer
roleRefs:
description: RoleRefs references all the Secret/ConfigMaps containing
kubernetes Roles/ClusterRoles that need to be deployed in the matching
clusters.
items:
description: PolicyRef specifies a resource containing one or more
policy to deploy in matching Clusters.
properties:
kind:
description: 'Kind of the resource. Supported kinds are: Secrets
and ConfigMaps.'
enum:
- Secret
- ConfigMap
type: string
name:
description: Name of the referenced resource.
minLength: 1
type: string
namespace:
description: Namespace of the referenced resource. Namespace
can be left empty. In such a case, namespace will be implicit
set to cluster's namespace.
type: string
required:
- kind
- name
- namespace
type: object
type: array
serviceAccountName:
description: ServiceAccountName is the name of the ServiceAccount
representing a tenant admin for which those permissions are requested
type: string
serviceAccountNamespace:
description: ServiceAccountNamespace is the name of the ServiceAccount
representing a tenant admin for which those permissions are requested
type: string
required:
- clusterSelector
- serviceAccountName
- serviceAccountNamespace
type: object
status:
description: RoleRequestStatus defines the status of RoleRequest
properties:
clusterInfo:
description: ClusterInfo represents the hash of the ClusterRoles/Roles
deployed in a matching cluster for the admin.
items:
properties:
cluster:
description: Cluster references the Cluster
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
failureMessage:
description: FailureMessage provides more information about
the error.
type: string
hash:
description: Hash represents the hash of the Classifier currently
deployed in the Cluster
format: byte
type: string
status:
description: Status represents the state of the feature in the
workload cluster
enum:
- Provisioning
- Provisioned
- Failed
- Removing
- Removed
type: string
required:
- cluster
- hash
type: object
type: array
failureMessage:
description: FailureMessage provides more information if an error
occurs.
type: string
matchingClusters:
description: MatchingClusterRefs reference all the cluster currently
matching RoleRequest ClusterSelector
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
type: object
type: object
served: true
storage: true
subresources:
status: {}
`)
var RoleRequestFile = "../../config/crd/bases/lib.projectsveltos.io_rolerequests.yaml"
var SveltosClusterCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.12.0
name: sveltosclusters.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: SveltosCluster
listKind: SveltosClusterList
plural: sveltosclusters
singular: sveltoscluster
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Indicates whether cluster is ready to be managed by sveltos
jsonPath: .status.ready
name: Ready
type: boolean
- description: Kubernetes version associated with this Cluster
jsonPath: .status.version
name: Version
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: SveltosCluster is the Schema for the SveltosCluster 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: SveltosClusterSpec defines the desired state of SveltosCluster
properties:
paused:
description: Paused can be used to prevent controllers from processing
the SveltosCluster and all its associated objects.
type: boolean
type: object
status:
description: SveltosClusterStatus defines the status of SveltosCluster
properties:
failureMessage:
description: FailureMessage is a human consumable message explaining
the misconfiguration
type: string
ready:
description: Ready is the state of the cluster.
type: boolean
version:
description: The Kubernetes version of the cluster.
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
`)
var SveltosClusterFile = "../../config/crd/bases/lib.projectsveltos.io_sveltosclusters.yaml"
Functions ¶
func GetAccessRequestCRDYAML ¶ added in v0.3.0
func GetAccessRequestCRDYAML() []byte
func GetAddonComplianceCRDYAML ¶ added in v0.12.0
func GetAddonComplianceCRDYAML() []byte
func GetClassifierCRDYAML ¶
func GetClassifierCRDYAML() []byte
func GetClassifierReportCRDYAML ¶
func GetClassifierReportCRDYAML() []byte
func GetClusterHealthCheckCRDYAML ¶ added in v0.5.0
func GetClusterHealthCheckCRDYAML() []byte
func GetDebuggingConfigurationCRDYAML ¶
func GetDebuggingConfigurationCRDYAML() []byte
func GetEventReportCRDYAML ¶ added in v0.7.0
func GetEventReportCRDYAML() []byte
func GetEventSourceCRDYAML ¶ added in v0.7.0
func GetEventSourceCRDYAML() []byte
func GetHealthCheckCRDYAML ¶ added in v0.7.0
func GetHealthCheckCRDYAML() []byte
func GetHealthCheckReportCRDYAML ¶ added in v0.7.0
func GetHealthCheckReportCRDYAML() []byte
func GetReloaderCRDYAML ¶ added in v0.15.0
func GetReloaderCRDYAML() []byte
func GetReloaderReportCRDYAML ¶ added in v0.15.0
func GetReloaderReportCRDYAML() []byte
func GetResourceSummaryCRDYAML ¶ added in v0.3.0
func GetResourceSummaryCRDYAML() []byte
func GetRoleRequestCRDYAML ¶ added in v0.4.0
func GetRoleRequestCRDYAML() []byte
func GetSveltosClusterCRDYAML ¶ added in v0.3.0
func GetSveltosClusterCRDYAML() []byte
func WatchCustomResourceDefinition ¶ added in v0.3.0
func WatchCustomResourceDefinition(ctx context.Context, config *rest.Config, h handler, logger logr.Logger)
WatchCustomResourceDefinition starts a watcher for CustomResourceDefinition. When new CRD is added/deleted/modified, invokes the passed handler Called must have RBAC to watch CustomResourceDefinition
Types ¶
This section is empty.