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-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 GetClassifierCRDYAML() []byte
- func GetClassifierReportCRDYAML() []byte
- func GetClusterHealthCheckCRDYAML() []byte
- func GetClusterSetCRDYAML() []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 GetSetCRDYAML() []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.15.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 ClassifierCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.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
deployedResourceConstraint:
description: DeployedResourceConstraint allows to classify based on
current deployed resources
properties:
aggregatedClassification:
description: |-
AggregatedClassification is optional and can be used to specify a Lua function
that will be used to further detect whether the subset of the resources
selected using the ResourceSelector field are a match for this Classifier.
The function will receive the array of resources selected by ResourceSelectors.
If this field is not specified, a cluster is a match for Classifier instance,
if all ResourceSelectors returns at least one match.
This field allows to perform more complex evaluation on the resources, looking
at all resources together.
This can be useful for more sophisticated tasks, such as identifying resources
that are related to each other or that have similar properties.
The Lua function must return a struct with:
- "matching" field: boolean indicating whether cluster is a match;
- "message" field: (optional) message.
type: string
resourceSelectors:
description: |-
ResourceSelectors identifies what resources to select
If no AggregatedClassification is specified, a cluster is
a match for Classifier instance, if all ResourceSelectors returns at
least one match.
items:
description: ResourceSelector defines what resources are a match
properties:
evaluate:
description: |-
Evaluate contains a function "evaluate" in lua language.
The function will be passed one of the object selected based on
above criteria.
Must return struct with field "matching" representing whether
object is a match and an optional "message" field.
type: string
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
version:
description: Version of the resource deployed in the Cluster.
type: string
required:
- group
- kind
- version
type: object
type: array
required:
- resourceSelectors
type: object
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.15.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.15.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
- Discord
- Teams
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.
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 ClusterSetCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
name: clustersets.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: ClusterSet
listKind: ClusterSetList
plural: clustersets
singular: clusterset
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ClusterSet is the Schema for the clustersets 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:
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.
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
maxReplicas:
description: |-
MaxReplicas specifies the maximum number of clusters to be selected
from the pool matching the clusterSelector.
type: integer
type: object
status:
description: Status defines the observed state of ClusterSet/Set
properties:
matchingClusterRefs:
description: |-
MatchingClusterRefs reference all the clusters currently matching
ClusterSet/Set 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.
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
selectedClusterRefs:
description: |-
SelectedClusters reference all the cluster currently selected among
all the ones matching
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.
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 ClusterSetFile = "../../config/crd/bases/lib.projectsveltos.io_clustersets.yaml"
var DebuggingConfigurationCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.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
- Classifier
- ClassifierAgent
- SveltosClusterManager
- DriftDetectionManager
- AccessManager
- HealthCheckManager
- EventManager
- ShardController
- UIBackend
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.15.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.
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.15.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:
aggregatedSelection:
description: |-
This field is optional and can be used to specify a Lua function
that will be used to further select a subset of the resources that
have already been selected using the ResourceSelector field.
The function will receive the array of resources selected by ResourceSelectors.
If this field is not specified, all resources selected by the ResourceSelector
field will be considered.
This field allows to perform more complex filtering or selection operations
on the resources, looking at all resources together.
This can be useful for more sophisticated tasks, such as identifying resources
that are related to each other or that have similar properties.
The Lua function must return a struct with:
- "resources" field: slice of matching resorces;
- "message" field: (optional) message.
type: string
collectResources:
default: false
description: |-
CollectResources indicates whether matching resources need
to be collected and added to EventReport.
type: boolean
resourceSelectors:
description: ResourceSelectors identifies what resources to select
items:
description: ResourceSelector defines what resources are a match
properties:
evaluate:
description: |-
Evaluate contains a function "evaluate" in lua language.
The function will be passed one of the object selected based on
above criteria.
Must return struct with field "matching" representing whether
object is a match and an optional "message" field.
type: string
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
version:
description: Version of the resource deployed in the Cluster.
type: string
required:
- group
- kind
- version
type: object
type: array
required:
- resourceSelectors
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.15.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 HealthReport.
type: boolean
evaluateHealth:
description: |-
The EvaluateHealth field specifies a Lua function responsible for evaluating the
health of the resources selected by resourceSelectors.
This function can assess the health of each resource independently or consider inter-resource relationships.
The function must be named *evaluate* and can access all objects identified by resourceSelectors using
the *resources* variable. It should return an array of structured instances, each containing the following fields:
- resource: The resource being evaluated
- healthStatus: The health status of the resource, which can be one of "Healthy", "Progressing", "Degraded", or "Suspended"
- message: An optional message providing additional information about the health status
minLength: 1
type: string
resourceSelectors:
description: ResourceSelectors identifies what resources to select
to evaluate health
items:
description: ResourceSelector defines what resources are a match
properties:
evaluate:
description: |-
Evaluate contains a function "evaluate" in lua language.
The function will be passed one of the object selected based on
above criteria.
Must return struct with field "matching" representing whether
object is a match and an optional "message" field.
type: string
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
version:
description: Version of the resource deployed in the Cluster.
type: string
required:
- group
- kind
- version
type: object
type: array
required:
- evaluateHealth
- resourceSelectors
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.15.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.15.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.15.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.15.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.15.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.
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 SetCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
name: sets.lib.projectsveltos.io
spec:
group: lib.projectsveltos.io
names:
kind: Set
listKind: SetList
plural: sets
singular: set
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: Set is the Schema for the sets 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:
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.
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
maxReplicas:
description: |-
MaxReplicas specifies the maximum number of clusters to be selected
from the pool matching the clusterSelector.
type: integer
type: object
status:
description: Status defines the observed state of ClusterSet/Set
properties:
matchingClusterRefs:
description: |-
MatchingClusterRefs reference all the clusters currently matching
ClusterSet/Set 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.
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
selectedClusterRefs:
description: |-
SelectedClusters reference all the cluster currently selected among
all the ones matching
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.
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 SetFile = "../../config/crd/bases/lib.projectsveltos.io_sets.yaml"
var SveltosClusterCRD = []byte(`---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.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:
kubeconfigName:
description: |-
KubeconfigName allows overriding the default Sveltos convention which expected a valid kubeconfig
to be hosted in a secret with the pattern ${sveltosClusterName}-sveltos-kubeconfig.
When a value is specified, the referenced Kubernetes Secret object must exist,
and will be used to connect to the Kubernetes cluster.
type: string
paused:
description: |-
Paused can be used to prevent controllers from processing the
SveltosCluster and all its associated objects.
type: boolean
tokenRequestRenewalOption:
description: TokenRequestRenewalOption contains options describing
how to renew TokenRequest
properties:
renewTokenRequestInterval:
description: RenewTokenRequestInterval is the interval at which
to renew the TokenRequest
type: string
required:
- renewTokenRequestInterval
type: object
type: object
status:
description: SveltosClusterStatus defines the status of SveltosCluster
properties:
failureMessage:
description: |-
FailureMessage is a human consumable message explaining the
misconfiguration
type: string
lastReconciledTokenRequestAt:
description: |-
LastReconciledTokenRequestAt is the last time the TokenRequest
was renewed.
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 GetClassifierCRDYAML ¶
func GetClassifierCRDYAML() []byte
func GetClassifierReportCRDYAML ¶
func GetClassifierReportCRDYAML() []byte
func GetClusterHealthCheckCRDYAML ¶ added in v0.5.0
func GetClusterHealthCheckCRDYAML() []byte
func GetClusterSetCRDYAML ¶ added in v0.26.0
func GetClusterSetCRDYAML() []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 GetSetCRDYAML ¶ added in v0.26.0
func GetSetCRDYAML() []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.
Source Files ¶
- accessrequests.go
- classifierreports.go
- classifiers.go
- clusterhealthchecks.go
- clustersets.go
- crd.go
- debuggingconfigurations.go
- eventreports.go
- eventsources.go
- healthcheckreports.go
- healthchecks.go
- reloaderreports.go
- reloaders.go
- resourcesummaries.go
- rolerequests.go
- sets.go
- sveltosclusters.go
- watcher.go