diff --git a/crds/robot.roboscale.io_metricsexporters.yaml.1 b/crds/robot.roboscale.io_metricsexporters.yaml.1 new file mode 100644 index 00000000..2747884e --- /dev/null +++ b/crds/robot.roboscale.io_metricsexporters.yaml.1 @@ -0,0 +1,309 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: metricsexporters.robot.roboscale.io +spec: + group: robot.roboscale.io + names: + kind: MetricsExporter + listKind: MetricsExporterList + plural: metricsexporters + singular: metricsexporter + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: MetricsExporter collects metrics from host machine and expose + them from the Kubernetes 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: Specification of the desired behavior of the MetricsExporter. + properties: + gpu: + description: Configurational parameters about GPU metrics collection. + properties: + interval: + description: Watching latency. + type: integer + track: + description: MetricsExporter watches volatile GPU usage in the + host machine if it's set to `true`. + type: boolean + type: object + network: + description: Configurational parameters about network metrics collection. + properties: + interfaces: + description: Network interfaces which are desired to being watched. + items: + type: string + type: array + interval: + description: Watching latency. + type: integer + track: + description: MetricsExporter watches network loads in the host + machine if it's set to `true`. + type: boolean + type: object + type: object + status: + description: Most recently observed status of the MetricsExporter. + properties: + phase: + description: Phase of MetricsExporter. + type: string + podStatus: + description: Status of MetricsExporter pod. + properties: + created: + description: Shows if the owned resource is created. + type: boolean + phase: + description: Phase of the owned resource. + type: string + reference: + description: Reference to the owned resource. + 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 + required: + - created + type: object + roleBindingStatus: + description: Status of role binding created for main and sidecar applications. + properties: + created: + description: Shows if the owned resource is created. + type: boolean + phase: + description: Phase of the owned resource. + type: string + reference: + description: Reference to the owned resource. + 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 + required: + - created + type: object + roleStatus: + description: Status of role created for main and sidecar applications. + properties: + created: + description: Shows if the owned resource is created. + type: boolean + phase: + description: Phase of the owned resource. + type: string + reference: + description: Reference to the owned resource. + 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 + required: + - created + type: object + saStatus: + description: Status of service account created for main and sidecar + applications. + properties: + created: + description: Shows if the owned resource is created. + type: boolean + phase: + description: Phase of the owned resource. + type: string + reference: + description: Reference to the owned resource. + 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 + required: + - created + type: object + usage: + description: Usage metrics. + properties: + gpu: + description: GPU usage information. + properties: + lastUpdateTimestamp: + description: Last update time. + type: string + utilization: + description: Volatile GPU utilization. Shows a percentage + gathered from `nvidia-smi` command. + type: string + type: object + network: + description: Network usage information. + properties: + lastUpdateTimestamp: + description: Last update time. + type: string + load: + additionalProperties: + properties: + in: + description: Average load of incoming packets. + type: string + out: + description: Average load of outgoing packets. + type: string + type: object + description: Loads values of network interfaces. + type: object + type: object + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/pom.xml b/pom.xml index 3e862d53..258741f2 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 io.roboscale.robot robot-fabric8-client - 0.1.0-0.2.5p-0.1.0p-0.1.6p-0.1.7p-alpha.13 + 0.1.0-0.2.5p-0.1.0p-0.1.6p-0.1.7p-alpha.14 robot-fabric8-client https://robolaunch.io diff --git a/src/main/java/io/kubefed/types/v1beta1/FederatedFleet.java b/src/main/java/io/kubefed/types/v1beta1/FederatedFleet.java index 7b54d0e7..7663db16 100644 --- a/src/main/java/io/kubefed/types/v1beta1/FederatedFleet.java +++ b/src/main/java/io/kubefed/types/v1beta1/FederatedFleet.java @@ -5,6 +5,6 @@ @io.fabric8.kubernetes.model.annotation.Singular("federatedfleet") @io.fabric8.kubernetes.model.annotation.Plural("federatedfleets") @javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") -public class FederatedFleet extends io.fabric8.kubernetes.client.CustomResource implements io.fabric8.kubernetes.api.model.Namespaced { +public class FederatedFleet extends io.fabric8.kubernetes.client.CustomResource { } diff --git a/src/main/java/io/kubefed/types/v1beta1/federatedbuildmanagerspec/Template.java b/src/main/java/io/kubefed/types/v1beta1/federatedbuildmanagerspec/Template.java index 7f0ca98e..f8a40b3b 100644 --- a/src/main/java/io/kubefed/types/v1beta1/federatedbuildmanagerspec/Template.java +++ b/src/main/java/io/kubefed/types/v1beta1/federatedbuildmanagerspec/Template.java @@ -20,7 +20,7 @@ public void setAdditionalProperties(java.util.Map additionalProp } @com.fasterxml.jackson.annotation.JsonAnySetter() - public void setAdditionalProperty(String key, Object value) { + public void setAdditionalProperty(java.lang.String key, java.lang.Object value) { this.additionalProperties.put(key, value); } } diff --git a/src/main/java/io/kubefed/types/v1beta1/federatedbuildmanagerstatus/clusters/RemoteStatus.java b/src/main/java/io/kubefed/types/v1beta1/federatedbuildmanagerstatus/clusters/RemoteStatus.java index 9a038769..9e24218f 100644 --- a/src/main/java/io/kubefed/types/v1beta1/federatedbuildmanagerstatus/clusters/RemoteStatus.java +++ b/src/main/java/io/kubefed/types/v1beta1/federatedbuildmanagerstatus/clusters/RemoteStatus.java @@ -20,7 +20,7 @@ public void setAdditionalProperties(java.util.Map additionalProp } @com.fasterxml.jackson.annotation.JsonAnySetter() - public void setAdditionalProperty(String key, Object value) { + public void setAdditionalProperty(java.lang.String key, java.lang.Object value) { this.additionalProperties.put(key, value); } } diff --git a/src/main/java/io/kubefed/types/v1beta1/federatedfleetspec/Template.java b/src/main/java/io/kubefed/types/v1beta1/federatedfleetspec/Template.java index 91dca875..9a216f50 100644 --- a/src/main/java/io/kubefed/types/v1beta1/federatedfleetspec/Template.java +++ b/src/main/java/io/kubefed/types/v1beta1/federatedfleetspec/Template.java @@ -20,7 +20,7 @@ public void setAdditionalProperties(java.util.Map additionalProp } @com.fasterxml.jackson.annotation.JsonAnySetter() - public void setAdditionalProperty(String key, Object value) { + public void setAdditionalProperty(java.lang.String key, java.lang.Object value) { this.additionalProperties.put(key, value); } } diff --git a/src/main/java/io/kubefed/types/v1beta1/federatedfleetstatus/clusters/RemoteStatus.java b/src/main/java/io/kubefed/types/v1beta1/federatedfleetstatus/clusters/RemoteStatus.java index 87710b40..b9ff9f97 100644 --- a/src/main/java/io/kubefed/types/v1beta1/federatedfleetstatus/clusters/RemoteStatus.java +++ b/src/main/java/io/kubefed/types/v1beta1/federatedfleetstatus/clusters/RemoteStatus.java @@ -20,7 +20,7 @@ public void setAdditionalProperties(java.util.Map additionalProp } @com.fasterxml.jackson.annotation.JsonAnySetter() - public void setAdditionalProperty(String key, Object value) { + public void setAdditionalProperty(java.lang.String key, java.lang.Object value) { this.additionalProperties.put(key, value); } } diff --git a/src/main/java/io/kubefed/types/v1beta1/federatedlaunchmanagerspec/Template.java b/src/main/java/io/kubefed/types/v1beta1/federatedlaunchmanagerspec/Template.java index 8a123199..5b174bea 100644 --- a/src/main/java/io/kubefed/types/v1beta1/federatedlaunchmanagerspec/Template.java +++ b/src/main/java/io/kubefed/types/v1beta1/federatedlaunchmanagerspec/Template.java @@ -20,7 +20,7 @@ public void setAdditionalProperties(java.util.Map additionalProp } @com.fasterxml.jackson.annotation.JsonAnySetter() - public void setAdditionalProperty(String key, Object value) { + public void setAdditionalProperty(java.lang.String key, java.lang.Object value) { this.additionalProperties.put(key, value); } } diff --git a/src/main/java/io/kubefed/types/v1beta1/federatedlaunchmanagerstatus/clusters/RemoteStatus.java b/src/main/java/io/kubefed/types/v1beta1/federatedlaunchmanagerstatus/clusters/RemoteStatus.java index 652f01c1..a49d98bf 100644 --- a/src/main/java/io/kubefed/types/v1beta1/federatedlaunchmanagerstatus/clusters/RemoteStatus.java +++ b/src/main/java/io/kubefed/types/v1beta1/federatedlaunchmanagerstatus/clusters/RemoteStatus.java @@ -20,7 +20,7 @@ public void setAdditionalProperties(java.util.Map additionalProp } @com.fasterxml.jackson.annotation.JsonAnySetter() - public void setAdditionalProperty(String key, Object value) { + public void setAdditionalProperty(java.lang.String key, java.lang.Object value) { this.additionalProperties.put(key, value); } } diff --git a/src/main/java/io/kubefed/types/v1beta1/federatedrobotspec/Template.java b/src/main/java/io/kubefed/types/v1beta1/federatedrobotspec/Template.java index 0ef9ecb4..565d9375 100644 --- a/src/main/java/io/kubefed/types/v1beta1/federatedrobotspec/Template.java +++ b/src/main/java/io/kubefed/types/v1beta1/federatedrobotspec/Template.java @@ -20,7 +20,7 @@ public void setAdditionalProperties(java.util.Map additionalProp } @com.fasterxml.jackson.annotation.JsonAnySetter() - public void setAdditionalProperty(String key, Object value) { + public void setAdditionalProperty(java.lang.String key, java.lang.Object value) { this.additionalProperties.put(key, value); } } diff --git a/src/main/java/io/kubefed/types/v1beta1/federatedrobotstatus/clusters/RemoteStatus.java b/src/main/java/io/kubefed/types/v1beta1/federatedrobotstatus/clusters/RemoteStatus.java index 51fb55bd..c9a60211 100644 --- a/src/main/java/io/kubefed/types/v1beta1/federatedrobotstatus/clusters/RemoteStatus.java +++ b/src/main/java/io/kubefed/types/v1beta1/federatedrobotstatus/clusters/RemoteStatus.java @@ -20,7 +20,7 @@ public void setAdditionalProperties(java.util.Map additionalProp } @com.fasterxml.jackson.annotation.JsonAnySetter() - public void setAdditionalProperty(String key, Object value) { + public void setAdditionalProperty(java.lang.String key, java.lang.Object value) { this.additionalProperties.put(key, value); } } diff --git a/src/main/java/io/roboscale/connection_hub/v1alpha1/CloudInstance.java b/src/main/java/io/roboscale/connection_hub/v1alpha1/CloudInstance.java index 8c3e843a..affc80df 100644 --- a/src/main/java/io/roboscale/connection_hub/v1alpha1/CloudInstance.java +++ b/src/main/java/io/roboscale/connection_hub/v1alpha1/CloudInstance.java @@ -5,6 +5,6 @@ @io.fabric8.kubernetes.model.annotation.Singular("cloudinstance") @io.fabric8.kubernetes.model.annotation.Plural("cloudinstances") @javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") -public class CloudInstance extends io.fabric8.kubernetes.client.CustomResource implements io.fabric8.kubernetes.api.model.Namespaced { +public class CloudInstance extends io.fabric8.kubernetes.client.CustomResource { } diff --git a/src/main/java/io/roboscale/connection_hub/v1alpha1/ConnectionHub.java b/src/main/java/io/roboscale/connection_hub/v1alpha1/ConnectionHub.java index 26d988d9..e0101651 100644 --- a/src/main/java/io/roboscale/connection_hub/v1alpha1/ConnectionHub.java +++ b/src/main/java/io/roboscale/connection_hub/v1alpha1/ConnectionHub.java @@ -5,6 +5,6 @@ @io.fabric8.kubernetes.model.annotation.Singular("connectionhub") @io.fabric8.kubernetes.model.annotation.Plural("connectionhubs") @javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") -public class ConnectionHub extends io.fabric8.kubernetes.client.CustomResource implements io.fabric8.kubernetes.api.model.Namespaced { +public class ConnectionHub extends io.fabric8.kubernetes.client.CustomResource { } diff --git a/src/main/java/io/roboscale/connection_hub/v1alpha1/PhysicalInstance.java b/src/main/java/io/roboscale/connection_hub/v1alpha1/PhysicalInstance.java index 2e83d1a0..bd4821f6 100644 --- a/src/main/java/io/roboscale/connection_hub/v1alpha1/PhysicalInstance.java +++ b/src/main/java/io/roboscale/connection_hub/v1alpha1/PhysicalInstance.java @@ -5,6 +5,6 @@ @io.fabric8.kubernetes.model.annotation.Singular("physicalinstance") @io.fabric8.kubernetes.model.annotation.Plural("physicalinstances") @javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") -public class PhysicalInstance extends io.fabric8.kubernetes.client.CustomResource implements io.fabric8.kubernetes.api.model.Namespaced { +public class PhysicalInstance extends io.fabric8.kubernetes.client.CustomResource { } diff --git a/src/main/java/io/roboscale/fleet/v1alpha1/Fleet.java b/src/main/java/io/roboscale/fleet/v1alpha1/Fleet.java index 5094f527..4fe18fd4 100644 --- a/src/main/java/io/roboscale/fleet/v1alpha1/Fleet.java +++ b/src/main/java/io/roboscale/fleet/v1alpha1/Fleet.java @@ -5,6 +5,6 @@ @io.fabric8.kubernetes.model.annotation.Singular("fleet") @io.fabric8.kubernetes.model.annotation.Plural("fleets") @javax.annotation.processing.Generated("io.fabric8.java.generator.CRGeneratorRunner") -public class Fleet extends io.fabric8.kubernetes.client.CustomResource implements io.fabric8.kubernetes.api.model.Namespaced { +public class Fleet extends io.fabric8.kubernetes.client.CustomResource { }