diff --git a/charts/robot-operator/Chart.yaml b/charts/robot-operator/Chart.yaml index 066d3d3..723fe09 100644 --- a/charts/robot-operator/Chart.yaml +++ b/charts/robot-operator/Chart.yaml @@ -13,9 +13,9 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.2.7-alpha.6.3 +version: 0.2.7-alpha.6.4 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "v0.2.7-alpha.6.3" +appVersion: "v0.2.7-alpha.6.4" diff --git a/charts/robot-operator/templates/codeeditor-crd.yaml b/charts/robot-operator/templates/codeeditor-crd.yaml index c9e2afc..524f8f0 100644 --- a/charts/robot-operator/templates/codeeditor-crd.yaml +++ b/charts/robot-operator/templates/codeeditor-crd.yaml @@ -1773,6 +1773,9 @@ spec: - name type: object type: array + ingress: + description: CodeEditor will create an Ingress resource if `true`. + type: boolean port: default: 9000 description: Port that code editor will use inside the container. @@ -1789,6 +1792,9 @@ spec: - ClusterIP - NodePort type: string + tlsSecretName: + description: Name of the TLS secret for ingress resource. + type: string version: default: 4.22.0 description: App version of the code editor. @@ -2338,6 +2344,55 @@ spec: type: string type: object type: array + ingressStatus: + description: Status of CodeEditor Ingress. + 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 phase: description: Phase of CodeEditor. It sums the general status of code editor. @@ -2547,6 +2602,9 @@ spec: description: Connection URL. type: object type: object + workloadUpdateNeeded: + description: Field to indicate if the workload should be restarted. + type: boolean type: object type: object served: true diff --git a/charts/robot-operator/templates/edgeproxy-crd.yaml b/charts/robot-operator/templates/edgeproxy-crd.yaml new file mode 100644 index 0000000..77ef8c0 --- /dev/null +++ b/charts/robot-operator/templates/edgeproxy-crd.yaml @@ -0,0 +1,51 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: edgeproxies.robot.roboscale.io + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + labels: + {{- include "robot-operator.labels" . | nindent 4 }} +spec: + group: robot.roboscale.io + names: + kind: EdgeProxy + listKind: EdgeProxyList + plural: edgeproxies + singular: edgeproxy + scope: Namespaced + versions: + - name: v1alpha2 + schema: + openAPIV3Schema: + description: EdgeProxy is the Schema for the edgeproxies 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: EdgeProxySpec defines the desired state of EdgeProxy. + type: object + status: + description: EdgeProxyStatus defines the observed state of EdgeProxy. + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] \ No newline at end of file diff --git a/charts/robot-operator/templates/manager-rbac.yaml b/charts/robot-operator/templates/manager-rbac.yaml index 229cbd6..9f8b840 100644 --- a/charts/robot-operator/templates/manager-rbac.yaml +++ b/charts/robot-operator/templates/manager-rbac.yaml @@ -53,6 +53,18 @@ rules: - patch - update - watch +- apiGroups: + - "" + resources: + - events + verbs: + - create + - delete + - get + - list + - patch + - update + - watch - apiGroups: - "" resources: @@ -251,6 +263,32 @@ rules: - get - patch - update +- apiGroups: + - robot.roboscale.io + resources: + - edgeproxies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - robot.roboscale.io + resources: + - edgeproxies/finalizers + verbs: + - update +- apiGroups: + - robot.roboscale.io + resources: + - edgeproxies/status + verbs: + - get + - patch + - update - apiGroups: - robot.roboscale.io resources: diff --git a/charts/robot-operator/templates/mutating-webhook-configuration.yaml b/charts/robot-operator/templates/mutating-webhook-configuration.yaml index 7871774..a131398 100644 --- a/charts/robot-operator/templates/mutating-webhook-configuration.yaml +++ b/charts/robot-operator/templates/mutating-webhook-configuration.yaml @@ -246,4 +246,24 @@ webhooks: - UPDATE resources: - codeeditors + sideEffects: None +- admissionReviewVersions: + - v1 + clientConfig: + service: + name: '{{ include "robot-operator.fullname" . }}-webhook-service' + namespace: '{{ .Release.Namespace }}' + path: /mutate-robot-roboscale-io-v1alpha2-edgeproxy + failurePolicy: Fail + name: medgeproxy.kb.io + rules: + - apiGroups: + - robot.roboscale.io + apiVersions: + - v1alpha2 + operations: + - CREATE + - UPDATE + resources: + - edgeproxies sideEffects: None \ No newline at end of file diff --git a/charts/robot-operator/templates/validating-webhook-configuration.yaml b/charts/robot-operator/templates/validating-webhook-configuration.yaml index 08c678b..d3915e5 100644 --- a/charts/robot-operator/templates/validating-webhook-configuration.yaml +++ b/charts/robot-operator/templates/validating-webhook-configuration.yaml @@ -246,4 +246,24 @@ webhooks: - UPDATE resources: - codeeditors + sideEffects: None +- admissionReviewVersions: + - v1 + clientConfig: + service: + name: '{{ include "robot-operator.fullname" . }}-webhook-service' + namespace: '{{ .Release.Namespace }}' + path: /validate-robot-roboscale-io-v1alpha2-edgeproxy + failurePolicy: Fail + name: vedgeproxy.kb.io + rules: + - apiGroups: + - robot.roboscale.io + apiVersions: + - v1alpha2 + operations: + - CREATE + - UPDATE + resources: + - edgeproxies sideEffects: None \ No newline at end of file diff --git a/charts/robot-operator/values.yaml b/charts/robot-operator/values.yaml index ca2bca5..165f9ce 100644 --- a/charts/robot-operator/values.yaml +++ b/charts/robot-operator/values.yaml @@ -32,7 +32,7 @@ controllerManager: - ALL image: repository: robolaunchio/robot-controller-manager - tag: v0.2.7-alpha.6.3 + tag: v0.2.7-alpha.6.4 resources: limits: cpu: 500m