From 673afe4816f9374f0b45439840b96b491ee98368 Mon Sep 17 00:00:00 2001 From: csviri Date: Thu, 11 Apr 2024 16:23:23 +0200 Subject: [PATCH 1/7] refactor: rename Signed-off-by: csviri --- README.md | 16 ++++---- docs/comparison.md | 10 ++--- docs/getting-started.md | 14 +++---- docs/reference.md | 38 +++++++++---------- pom.xml | 4 +- .../operator/{resourceglue => glue}/Main.java | 2 +- .../ResourceGlueException.java | 2 +- .../{resourceglue => glue}/Utils.java | 10 ++--- .../conditions/JavaScripCondition.java | 8 ++-- .../conditions/ReadyCondition.java | 4 +- .../glue/DependentResourceSpec.java | 4 +- .../customresource/glue/Glue.java | 2 +- .../glue/RelatedResourceSpec.java | 2 +- .../customresource/glue/ResourceGlueSpec.java | 2 +- .../glue/ResourceGlueStatus.java | 2 +- .../glue/condition/ConditionSpec.java | 2 +- .../condition/JavaScriptConditionSpec.java | 2 +- .../glue/condition/ReadyConditionSpec.java | 2 +- .../customresource/operator/GlueOperator.java | 2 +- .../customresource/operator/Parent.java | 2 +- .../operator/ResourceFlowOperatorStatus.java | 2 +- .../operator/ResourceGlueOperatorSpec.java | 4 +- .../dependent/GCGenericDependentResource.java | 4 +- .../dependent/GenericDependentResource.java | 10 ++--- .../GenericResourceDiscriminator.java | 4 +- .../reconciler/glue/GlueReconciler.java | 30 +++++++-------- .../reconciler/glue/InformerRegister.java | 8 ++-- ...OwnedResourceSecondaryToPrimaryMapper.java | 2 +- .../operator/GlueOperatorReconciler.java | 12 +++--- .../templating/GenericTemplateHandler.java | 6 +-- src/main/kubernetes/kubernetes.yml | 2 +- src/main/resources/application.properties | 8 ++-- .../GlueOperatorTest.java | 28 +++++++------- .../GlueRelatedResourcesTest.java | 12 +++--- .../{resourceglue => glue}/GlueTest.java | 20 +++++----- .../JavaScripConditionTest.java | 12 +++--- .../{resourceglue => glue}/TestBase.java | 2 +- .../{resourceglue => glue}/TestUtils.java | 8 ++-- .../ClusterScopeTestCustomResource.java | 2 +- .../customresource/TestCustomResource.java | 4 +- .../customresource/TestCustomResource2.java | 2 +- .../TestCustomResourceSpec.java | 2 +- .../MutationWebhookDeploymentE2E.java | 10 ++--- .../sample/webpage/WebPage.java | 4 +- .../sample/webpage/WebPageE2E.java | 10 ++--- .../sample/webpage/WebPageSampleTest.java | 6 +-- .../sample/webpage/WebPageSpec.java | 2 +- .../sample/webpage/WebPageStatus.java | 2 +- .../ChanginResources.yaml | 2 +- .../ClusterScopeResource.yaml | 4 +- .../CrossReferenceResource.yaml | 2 +- .../MultiNameRelatedResource.yaml | 2 +- .../RelatedResourceSimpleWithCondition.yaml | 2 +- .../RelatesResourceSameType.yaml | 2 +- .../ResourceInDifferentNamespace.yaml | 2 +- .../ResourceTemplate.yaml | 2 +- .../TemplateForConcurrency.yaml | 2 +- .../{resourceglue => glue}/Templating.yaml | 2 +- .../TwoResourcesAndCondition.yaml | 2 +- .../Concurrency.yaml | 4 +- .../Concurrency2.yaml | 4 +- .../Templating.yaml | 4 +- .../sample/mutation/mutation.glue.yaml | 2 +- .../resources/sample/webpage/webpage.crd.yaml | 2 +- .../sample/webpage/webpage.operator.yaml | 4 +- .../sample/webpage/webpage.sample.yaml | 2 +- 66 files changed, 196 insertions(+), 198 deletions(-) rename src/main/java/io/csviri/operator/{resourceglue => glue}/Main.java (88%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/ResourceGlueException.java (93%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/Utils.java (94%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/conditions/JavaScripCondition.java (93%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/conditions/ReadyCondition.java (88%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/customresource/glue/DependentResourceSpec.java (94%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/customresource/glue/Glue.java (88%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/customresource/glue/RelatedResourceSpec.java (96%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/customresource/glue/ResourceGlueSpec.java (95%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/customresource/glue/ResourceGlueStatus.java (70%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/customresource/glue/condition/ConditionSpec.java (84%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/customresource/glue/condition/JavaScriptConditionSpec.java (78%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/customresource/glue/condition/ReadyConditionSpec.java (79%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/customresource/operator/GlueOperator.java (88%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/customresource/operator/Parent.java (88%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/customresource/operator/ResourceFlowOperatorStatus.java (70%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/customresource/operator/ResourceGlueOperatorSpec.java (84%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/dependent/GCGenericDependentResource.java (80%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/dependent/GenericDependentResource.java (89%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/dependent/GenericResourceDiscriminator.java (93%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/reconciler/glue/GlueReconciler.java (90%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/reconciler/glue/InformerRegister.java (95%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/reconciler/glue/RelatedAndOwnedResourceSecondaryToPrimaryMapper.java (97%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/reconciler/operator/GlueOperatorReconciler.java (93%) rename src/main/java/io/csviri/operator/{resourceglue => glue}/templating/GenericTemplateHandler.java (88%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/GlueOperatorTest.java (83%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/GlueRelatedResourcesTest.java (88%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/GlueTest.java (90%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/JavaScripConditionTest.java (86%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/TestBase.java (98%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/TestUtils.java (95%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/customresource/ClusterScopeTestCustomResource.java (87%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/customresource/TestCustomResource.java (77%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/customresource/TestCustomResource2.java (89%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/customresource/TestCustomResourceSpec.java (89%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/sample/mutation/MutationWebhookDeploymentE2E.java (89%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/sample/webpage/WebPage.java (83%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/sample/webpage/WebPageE2E.java (90%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/sample/webpage/WebPageSampleTest.java (93%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/sample/webpage/WebPageSpec.java (90%) rename src/test/java/io/csviri/operator/{resourceglue => glue}/sample/webpage/WebPageStatus.java (87%) rename src/test/resources/{resourceglue => glue}/ChanginResources.yaml (88%) rename src/test/resources/{resourceglue => glue}/ClusterScopeResource.yaml (70%) rename src/test/resources/{resourceglue => glue}/CrossReferenceResource.yaml (89%) rename src/test/resources/{resourceglue => glue}/MultiNameRelatedResource.yaml (89%) rename src/test/resources/{resourceglue => glue}/RelatedResourceSimpleWithCondition.yaml (92%) rename src/test/resources/{resourceglue => glue}/RelatesResourceSameType.yaml (88%) rename src/test/resources/{resourceglue => glue}/ResourceInDifferentNamespace.yaml (88%) rename src/test/resources/{resourceglue => glue}/ResourceTemplate.yaml (91%) rename src/test/resources/{resourceglue => glue}/TemplateForConcurrency.yaml (90%) rename src/test/resources/{resourceglue => glue}/Templating.yaml (90%) rename src/test/resources/{resourceglue => glue}/TwoResourcesAndCondition.yaml (91%) rename src/test/resources/{resourceglueoperator => glueoperator}/Concurrency.yaml (74%) rename src/test/resources/{resourceglueoperator => glueoperator}/Concurrency2.yaml (74%) rename src/test/resources/{resourceglueoperator => glueoperator}/Templating.yaml (75%) diff --git a/README.md b/README.md index 4bdf6e9..c20c7fb 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Either in the discussion section here on GitHub or at [Kubernetes Slack Operator The project introduces two Kubernetes custom resources `Glue` and `GlueOperator`. You can use `GlueOperator` to define your own operator. Let's take a look at an example, where we define an operator for WebPage custom resource, that represents a static website served from the Cluster. (You can see the -[full example here](https://github.com/csviri/resource-workflow-operator/blob/main/src/test/resources/sample/webpage)) +[full example here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/sample/webpage)) ```yaml @@ -46,13 +46,13 @@ spec: ``` -To create an operator (or more precisely the controller part) with `resource-glue-operator` we have first apply -the [CRD for WebPage](https://github.com/csviri/resource-workflow-operator/blob/main/src/test/resources/sample/webpage/webpage.crd.yml). +To create an operator (or more precisely the controller part) with `kubernetes-glue-operator` we have first apply +the [CRD for WebPage](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/sample/webpage/webpage.crd.yml). To define how the `WebPage` should be reconciled, thus what resources should be created for a `WebPage`, we prepare a `GlueOperator`: ```yaml -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: GlueOperator metadata: name: webpage-operator @@ -124,11 +124,11 @@ resources are applied, however, there are certain cases when this is needed also The following example shows how to deploy a [dynamic admission controller](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/) that mutates all the `Pods`, adding annotation on them. Note that this is a tricky situation since the endpoint for the `MutatingWebhookConfiguration` is also a `Pod`, thus 'Pods' should be first up and running before the configuration is applied, otherwise, the mutation webhook will block the changes on the pods, which would render the cluster unable to manage `Pods'. -(Irrelevant details are omitted, see the full version [here](https://github.com/csviri/resource-workflow-operator/blob/main/src/test/resources/sample/mutation/mutation.glue.yaml), -see the full E2E test [here](https://github.com/csviri/resource-workflow-operator/blob/main/src/test/java/io/csviri/operator/resourceglue/sample/mutation/MutationWebhookDeploymentE2E.java)) +(Irrelevant details are omitted, see the full version [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/sample/mutation/mutation.glue.yaml), +see the full E2E test [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/java/io/csviri/operator/resourceglue/sample/mutation/MutationWebhookDeploymentE2E.java)) ```yaml -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: name: mutation-webhook-deployment @@ -199,5 +199,5 @@ spec: - pods ``` -The `dependsOn` relation is a useful concept in certain situations, that might be familiar from other infrustructure-as-a-code tools, `resource-glue-operator` adopts it to Kubernetes operators. +The `dependsOn` relation is a useful concept in certain situations, that might be familiar from other infrustructure-as-a-code tools, `kubernetes-glue-operator` adopts it to Kubernetes operators. diff --git a/docs/comparison.md b/docs/comparison.md index 17083e6..aa50ebf 100644 --- a/docs/comparison.md +++ b/docs/comparison.md @@ -1,8 +1,8 @@ # Rational and Comparison to Similar Solutions -There are other solutions comparable to *resource-glue-operator* that work (or limited to work) on top +There are other solutions comparable to *kubernetes-glue-operator* that work (or limited to work) on top of Kubernetes resources in a language-independent way and try to simplify the operator -development but make some compromises. *resource-glue-operator* has some nice properties: +development but make some compromises. *kubernetes-glue-operator* has some nice properties: 1. **input is only a custom resource** (`Glue` or `GlueOperator`) that makes it very easy to set up, maintain, and start with. You don't have to build the project, all you have to manage is `yaml` files (CRD, inputs, deployment) @@ -25,7 +25,7 @@ this is probably the most elegant way to go. As mentioned before there are solutions that are comparable to ours, and all of them have advantages and disadvantages: - [**metacontroller**](https://github.com/metacontroller/metacontroller) - it a very interesting solution that allows - to implement controller is any language programming language, just like in the case of *resource-glue-operator* takes a custom resource as an input, which + to implement controller is any language programming language, just like in the case of *kubernetes-glue-operator* takes a custom resource as an input, which describes the Kubernetes resources that we are interested in - or watched/managed for a custom resource. However, it does not describe the desired state that is up to you to implement in the form of a web service endpoint, where all the inputs are received and the output is a list of desired resources. @@ -37,13 +37,13 @@ As mentioned before there are solutions that are comparable to ours, and all of In summary *metacontroller* is a bit more generic solution this moment, but with additional complexity to manage, and much harder to start with. - The main practical difference is in supporting ["bulk resources"](https://github.com/csviri/resource-glue-operator/issues/75) + The main practical difference is in supporting ["bulk resources"](https://github.com/csviri/kubernetes-glue-operator/issues/75) we will also support it in future versions. - [Helm Operators](https://sdk.operatorframework.io/docs/building-operators/helm/tutorial/) - are a very efficient way to convert a helm chart into a controller. It also makes it very easy to start and use. However, the controller still needs to be build (the helm chart is not just an input configuration), does not handle related resources, and does not support ordering. In this terms is a bit more limited - than *resource-glue-operator*. + than *kubernetes-glue-operator*. - [Crossplane Composition](https://docs.crossplane.io/latest/concepts/compositions/) TODO diff --git a/docs/getting-started.md b/docs/getting-started.md index 3c100d3..93f66e7 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -9,35 +9,35 @@ Start a local Kubernetes cluster using for example [Minikube](https://minikube.s Apply the CustomResourceDefinitions: ```bash -kubectl apply -f https://github.com/csviri/resource-glue-operator/releases/latest/download/glues.io.csviri.operator.resourceglue-v1.yml -f https://github.com/csviri/resource-glue-operator/releases/latest/download/glueoperators.io.csviri.operator.resourceglue-v1.yml +kubectl apply -f https://github.com/csviri/kubernetes-glue-operator/releases/latest/download/glues.io.csviri.operator.glue-v1.yml -f https://github.com/csviri/kubernetes-glue-operator/releases/latest/download/glueoperators.io.csviri.operator.glue-v1.yml ``` -Deploy the `resource-glue-operator`: +Deploy the `kubernetes-glue-operator`: ```bash -kubectl apply -f https://github.com/csviri/resource-glue-operator/releases/latest/download/kubernetes.yml +kubectl apply -f https://github.com/csviri/kubernetes-glue-operator/releases/latest/download/kubernetes.yml ``` Note that this deployment gives the controller access to all the resources on the cluster, this is not what you might want in production. -## Try out the [WebPage Sample](https://github.com/csviri/resource-workflow-operator/tree/main/src/test/resources/sample/webpage) +## Try out the [WebPage Sample](https://github.com/csviri/kubernetes-glue-operator/tree/main/src/test/resources/sample/webpage) First apply the CustomResourceDefinition for `WebPage` : ```bash -kubectl apply -f https://raw.githubusercontent.com/csviri/resource-glue-operator/main/src/test/resources/sample/webpage/webpage.crd.yaml +kubectl apply -f https://raw.githubusercontent.com/csviri/kubernetes-glue-operator/main/src/test/resources/sample/webpage/webpage.crd.yaml ``` Apply the `GlueOperator` for `WebPage`: ```bash -kubectl apply -f https://raw.githubusercontent.com/csviri/resource-glue-operator/main/src/test/resources/sample/webpage/webpage.operator.yaml +kubectl apply -f https://raw.githubusercontent.com/csviri/kubernetes-glue-operator/main/src/test/resources/sample/webpage/webpage.operator.yaml ``` Create a new static `WebPage`: ```bash -kubectl apply -f https://raw.githubusercontent.com/csviri/resource-glue-operator/main/src/test/resources/sample/webpage/webpage.sample.yaml +kubectl apply -f https://raw.githubusercontent.com/csviri/kubernetes-glue-operator/main/src/test/resources/sample/webpage/webpage.sample.yaml ``` All done! Check the resources created, if using minikube you can open the served WebPage with `minikube service webpage1`. diff --git a/docs/reference.md b/docs/reference.md index 8a21b1f..20f66c2 100644 --- a/docs/reference.md +++ b/docs/reference.md @@ -6,7 +6,7 @@ of [Java Operator SDK](https://github.com/operator-framework/java-operator-sdk) Although it is limited only to Kubernetes resources it makes it very easy to use in language-independent (DependentResources in JOSDK are also covering external resources) way. -## [Glue resource](https://github.com/csviri/resource-glue-operator/releases/latest/download/glues.io.csviri.operator.resourceglue-v1.yml) +## [Glue resource](https://github.com/csviri/kubernetes-glue-operator/releases/latest/download/glues.glue-v1.yml) `Glue` is the heart of the operator. Note that `GlueOperator` controller just creates a new `Glue` with a related resource, for each parent custom resource. `Glue` defines `resources` (sometimes referred to as managed resources) and `related resources`: @@ -37,16 +37,16 @@ The `resources` section is a list of resources to be reconciled. It has several At the moment there are two types of built-in conditions provided: -- **`ReadyCondition`** - check if a resource is up and running. Use it only as a `readyPostCondition`. See sample usage [here](https://github.com/csviri/resource-workflow-operator/blob/main/src/test/resources/sample/mutation/mutation.glue.yaml#L24-L25). +- **`ReadyCondition`** - check if a resource is up and running. Use it only as a `readyPostCondition`. See sample usage [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/sample/mutation/mutation.glue.yaml#L24-L25). - **`JSCondition`** - a generic condition, that allows writing conditions in JavaScript. As input, all the resources are available which are either managed or related. The script should return a boolean value. - See accessing the related resource in [WebPage sample](https://github.com/csviri/resource-workflow-operator/blob/main/src/test/resources/sample/webpage/webpage.operator.yaml#L62-L64), - and cross-referencing resources [here](https://github.com/csviri/resource-workflow-operator/blob/main/src/test/resources/resourceglue/TwoResourcesAndCondition.yaml#L23-L28). + See accessing the related resource in [WebPage sample](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/sample/webpage/webpage.operator.yaml#L62-L64), + and cross-referencing resources [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglue/TwoResourcesAndCondition.yaml#L23-L28). ### Related resources Related resources are resources that are not managed (not created, updated, or deleted) during reconciliation, but serve as an input for it. -See sample usage within `Glue` [here](https://github.com/csviri/resource-workflow-operator/blob/main/src/test/resources/resourceglue/RelatedResourceSimpleWithCondition.yaml) +See sample usage within `Glue` [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglue/RelatedResourceSimpleWithCondition.yaml) The following attributes can be defined for a related resource: - **`name`** - same as for managed resource, unique identifier, used to reference the resource. @@ -59,15 +59,15 @@ The following attributes can be defined for a related resource: Both in `JSCondition` and resource templates other resources can be referenced by the name. If there are more `resourceNames` specified for a related resource, the resource is referenced in a form -`[related resource name]#[resource name]`. See sample [here](https://github.com/csviri/resource-workflow-operator/blob/main/src/test/resources/resourceglue/MultiNameRelatedResource.yaml). +`[related resource name]#[resource name]`. See sample [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglue/MultiNameRelatedResource.yaml). When a resource `B` references another resource `A`, resource `A` will be guaranteed to be in the cache - especially for initial reconciliation when the resource is created - only if `B` depends on `A` on it. This is natural, in other words, after reconciliation up-to-date version of the resource is guaranteed to be in the cache after reconciliation. -See sample resource cross-referencing [here](https://github.com/csviri/resource-workflow-operator/blob/main/src/test/resources/resourceglue/CrossReferenceResource.yaml). +See sample resource cross-referencing [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglue/CrossReferenceResource.yaml). -The metadata of `Glue` can be referenced under `glueMetadata`, see sample [here](https://github.com/csviri/resource-workflow-operator/blob/main/src/test/resources/resourceglue/TemplateForConcurrency.yaml#L12-L12) +The metadata of `Glue` can be referenced under `glueMetadata`, see sample [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglue/TemplateForConcurrency.yaml#L12-L12) -In addition to that in `GlueOperator` the **`parent`** attribute can be used to reference the parent resource on which behalf the resources are created. See sample [here](https://github.com/csviri/resource-workflow-operator/blob/main/src/test/resources/resourceglueoperator/Templating.yaml). +In addition to that in `GlueOperator` the **`parent`** attribute can be used to reference the parent resource on which behalf the resources are created. See sample [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglueoperator/Templating.yaml). ### Reconciliation notes @@ -78,22 +78,22 @@ for a resource that depends on it. The `DependentResource` implementation of JOSDK makes all kinds of optimizations on the reconciliation which are utilized (or will be also here). -## [GlueOperator resource](https://github.com/csviri/resource-glue-operator/releases/latest/download/glueoperators.io.csviri.operator.resourceglue-v1.yml) +## [GlueOperator resource](https://github.com/csviri/kubernetes-glue-operator/releases/latest/download/glueoperators.glue-v1.yml) The specs of `GlueOperator` are almost identical to `Glue`, it just adds one additional attribute **`parent`**, which has two sub-attributes: **`apiVersion`** and **`kind`**. This structure specifies the resource types - usually but not necessarily custom resources - watched. -See minimal `GlueOperator` [here](https://github.com/csviri/resource-workflow-operator/blob/main/src/test/resources/resourceglueoperator/Templating.yaml). +See minimal `GlueOperator` [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglueoperator/Templating.yaml). -## Deploying `resource-glue-operator` +## Deploying `kubernetes-glue-operator` Implementation is using [Quarkus Operator SDK (QOSDK)](https://github.com/quarkiverse/quarkus-operator-sdk), the default [configuration options](https://docs.quarkiverse.io/quarkus-operator-sdk/dev/includes/quarkus-operator-sdk.html) defined by QOSDK can be overridden using environment variables. With every release, there are Kubernetes resources provided to make an initial deployment very simple. -See `kubernetes.yml` in [release assets](https://github.com/csviri/resource-glue-operator/releases). +See `kubernetes.yml` in [release assets](https://github.com/csviri/kubernetes-glue-operator/releases). While we will provide more options, users are encouraged to enhance/adjust this for their purposes. Since the project is a meta-controller, it needs to have access rights to all the resources it manages. @@ -103,8 +103,8 @@ and `["list", "watch"]` for related resources. The project is mainly tested with cluster-scoped deployment, however, QOSDK namespace-scoped deployments are also supported. -See also the upcoming deployment modes/options: [sharding with label selectors](https://github.com/csviri/resource-glue-operator/issues/50), -[watching only one custom resources type](https://github.com/csviri/resource-glue-operator/issues/54) +See also the upcoming deployment modes/options: [sharding with label selectors](https://github.com/csviri/kubernetes-glue-operator/issues/50), +[watching only one custom resources type](https://github.com/csviri/kubernetes-glue-operator/issues/54) ## Implementation details and performance @@ -127,12 +127,12 @@ Note that none of the limitations are unsolvable, and will be continuously remov ## Samples -1. [WebPage](https://github.com/csviri/resource-glue-operator/tree/main/src/test/resources/sample/webpage) `GlueOperator`, serves a static website from the cluster. +1. [WebPage](https://github.com/csviri/kubernetes-glue-operator/tree/main/src/test/resources/sample/webpage) `GlueOperator`, serves a static website from the cluster. To achieve this, it creates three resources a `Deployment` running Nginx, a `ConfigMap` that contains the HTML file an mounted to nginx, a `Service` and an optional `Ingress` to expose the static web page. -3. [Muatation Hook Deployment](https://github.com/csviri/resource-workflow-operator/tree/main/src/test/resources/sample/mutation), described on the project home page. -4. [Additional `Glue` samples](https://github.com/csviri/resource-workflow-operator/tree/main/src/test/resources/resourceglue), note that these are used for integration testing. -5. [Additional `GlueOperator` samples](https://github.com/csviri/resource-workflow-operator/tree/main/src/test/resources/resourceglueoperator), also used for integration testing. +3. [Muatation Hook Deployment](https://github.com/csviri/kubernetes-glue-operator/tree/main/src/test/resources/sample/mutation), described on the project home page. +4. [Additional `Glue` samples](https://github.com/csviri/kubernetes-glue-operator/tree/main/src/test/resources/resourceglue), note that these are used for integration testing. +5. [Additional `GlueOperator` samples](https://github.com/csviri/kubernetes-glue-operator/tree/main/src/test/resources/resourceglueoperator), also used for integration testing. ## Related documents diff --git a/pom.xml b/pom.xml index 5f98e50..06a2cb5 100644 --- a/pom.xml +++ b/pom.xml @@ -2,8 +2,8 @@ 4.0.0 - io.csviri.operator.resourceglue - resource-glue-operator + glue + kubernetes-glue-operator 0.1.1-SNAPSHOT jar Resource Flow Operator diff --git a/src/main/java/io/csviri/operator/resourceglue/Main.java b/src/main/java/io/csviri/operator/glue/Main.java similarity index 88% rename from src/main/java/io/csviri/operator/resourceglue/Main.java rename to src/main/java/io/csviri/operator/glue/Main.java index f585b8d..2bda5e7 100644 --- a/src/main/java/io/csviri/operator/resourceglue/Main.java +++ b/src/main/java/io/csviri/operator/glue/Main.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue; +package io.csviri.operator.glue; import io.quarkus.runtime.Quarkus; import io.quarkus.runtime.annotations.QuarkusMain; diff --git a/src/main/java/io/csviri/operator/resourceglue/ResourceGlueException.java b/src/main/java/io/csviri/operator/glue/ResourceGlueException.java similarity index 93% rename from src/main/java/io/csviri/operator/resourceglue/ResourceGlueException.java rename to src/main/java/io/csviri/operator/glue/ResourceGlueException.java index fa55ede..0ccdc69 100644 --- a/src/main/java/io/csviri/operator/resourceglue/ResourceGlueException.java +++ b/src/main/java/io/csviri/operator/glue/ResourceGlueException.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue; +package io.csviri.operator.glue; public class ResourceGlueException extends RuntimeException { diff --git a/src/main/java/io/csviri/operator/resourceglue/Utils.java b/src/main/java/io/csviri/operator/glue/Utils.java similarity index 94% rename from src/main/java/io/csviri/operator/resourceglue/Utils.java rename to src/main/java/io/csviri/operator/glue/Utils.java index 4a90f44..133c3ad 100644 --- a/src/main/java/io/csviri/operator/resourceglue/Utils.java +++ b/src/main/java/io/csviri/operator/glue/Utils.java @@ -1,13 +1,13 @@ -package io.csviri.operator.resourceglue; +package io.csviri.operator.glue; import java.util.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import io.csviri.operator.resourceglue.customresource.glue.DependentResourceSpec; -import io.csviri.operator.resourceglue.customresource.glue.Glue; -import io.csviri.operator.resourceglue.customresource.glue.RelatedResourceSpec; +import io.csviri.operator.glue.customresource.glue.DependentResourceSpec; +import io.csviri.operator.glue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.glue.RelatedResourceSpec; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; import io.fabric8.kubernetes.api.model.ObjectMetaBuilder; import io.javaoperatorsdk.operator.api.reconciler.Context; @@ -15,7 +15,7 @@ import io.javaoperatorsdk.operator.processing.event.ResourceID; import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource; -import static io.csviri.operator.resourceglue.reconciler.glue.GlueReconciler.DEPENDENT_NAME_ANNOTATION_KEY; +import static io.csviri.operator.glue.reconciler.glue.GlueReconciler.DEPENDENT_NAME_ANNOTATION_KEY; public class Utils { diff --git a/src/main/java/io/csviri/operator/resourceglue/conditions/JavaScripCondition.java b/src/main/java/io/csviri/operator/glue/conditions/JavaScripCondition.java similarity index 93% rename from src/main/java/io/csviri/operator/resourceglue/conditions/JavaScripCondition.java rename to src/main/java/io/csviri/operator/glue/conditions/JavaScripCondition.java index 20a1d18..9249fde 100644 --- a/src/main/java/io/csviri/operator/resourceglue/conditions/JavaScripCondition.java +++ b/src/main/java/io/csviri/operator/glue/conditions/JavaScripCondition.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.conditions; +package io.csviri.operator.glue.conditions; import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; @@ -10,9 +10,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import io.csviri.operator.resourceglue.ResourceGlueException; -import io.csviri.operator.resourceglue.Utils; -import io.csviri.operator.resourceglue.customresource.glue.Glue; +import io.csviri.operator.glue.ResourceGlueException; +import io.csviri.operator.glue.Utils; +import io.csviri.operator.glue.customresource.glue.Glue; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; import io.fabric8.kubernetes.client.utils.Serialization; import io.javaoperatorsdk.operator.api.reconciler.Context; diff --git a/src/main/java/io/csviri/operator/resourceglue/conditions/ReadyCondition.java b/src/main/java/io/csviri/operator/glue/conditions/ReadyCondition.java similarity index 88% rename from src/main/java/io/csviri/operator/resourceglue/conditions/ReadyCondition.java rename to src/main/java/io/csviri/operator/glue/conditions/ReadyCondition.java index d7ab52c..19f67a3 100644 --- a/src/main/java/io/csviri/operator/resourceglue/conditions/ReadyCondition.java +++ b/src/main/java/io/csviri/operator/glue/conditions/ReadyCondition.java @@ -1,6 +1,6 @@ -package io.csviri.operator.resourceglue.conditions; +package io.csviri.operator.glue.conditions; -import io.csviri.operator.resourceglue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.glue.Glue; import io.fabric8.kubernetes.api.model.HasMetadata; import io.fabric8.kubernetes.client.readiness.Readiness; import io.javaoperatorsdk.operator.api.reconciler.Context; diff --git a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/DependentResourceSpec.java b/src/main/java/io/csviri/operator/glue/customresource/glue/DependentResourceSpec.java similarity index 94% rename from src/main/java/io/csviri/operator/resourceglue/customresource/glue/DependentResourceSpec.java rename to src/main/java/io/csviri/operator/glue/customresource/glue/DependentResourceSpec.java index 25c3520..69ee2c7 100644 --- a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/DependentResourceSpec.java +++ b/src/main/java/io/csviri/operator/glue/customresource/glue/DependentResourceSpec.java @@ -1,10 +1,10 @@ -package io.csviri.operator.resourceglue.customresource.glue; +package io.csviri.operator.glue.customresource.glue; import java.util.ArrayList; import java.util.List; import java.util.Objects; -import io.csviri.operator.resourceglue.customresource.glue.condition.ConditionSpec; +import io.csviri.operator.glue.customresource.glue.condition.ConditionSpec; import io.fabric8.crd.generator.annotation.PreserveUnknownFields; import io.fabric8.generator.annotation.Required; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; diff --git a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/Glue.java b/src/main/java/io/csviri/operator/glue/customresource/glue/Glue.java similarity index 88% rename from src/main/java/io/csviri/operator/resourceglue/customresource/glue/Glue.java rename to src/main/java/io/csviri/operator/glue/customresource/glue/Glue.java index c2ba7cc..fbee8f6 100644 --- a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/Glue.java +++ b/src/main/java/io/csviri/operator/glue/customresource/glue/Glue.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource.glue; +package io.csviri.operator.glue.customresource.glue; import io.fabric8.kubernetes.api.model.Namespaced; import io.fabric8.kubernetes.client.CustomResource; diff --git a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/RelatedResourceSpec.java b/src/main/java/io/csviri/operator/glue/customresource/glue/RelatedResourceSpec.java similarity index 96% rename from src/main/java/io/csviri/operator/resourceglue/customresource/glue/RelatedResourceSpec.java rename to src/main/java/io/csviri/operator/glue/customresource/glue/RelatedResourceSpec.java index 5fe97a4..3c5a269 100644 --- a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/RelatedResourceSpec.java +++ b/src/main/java/io/csviri/operator/glue/customresource/glue/RelatedResourceSpec.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource.glue; +package io.csviri.operator.glue.customresource.glue; import java.util.List; import java.util.Objects; diff --git a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/ResourceGlueSpec.java b/src/main/java/io/csviri/operator/glue/customresource/glue/ResourceGlueSpec.java similarity index 95% rename from src/main/java/io/csviri/operator/resourceglue/customresource/glue/ResourceGlueSpec.java rename to src/main/java/io/csviri/operator/glue/customresource/glue/ResourceGlueSpec.java index 3f1d7ba..c8ee0bf 100644 --- a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/ResourceGlueSpec.java +++ b/src/main/java/io/csviri/operator/glue/customresource/glue/ResourceGlueSpec.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource.glue; +package io.csviri.operator.glue.customresource.glue; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/ResourceGlueStatus.java b/src/main/java/io/csviri/operator/glue/customresource/glue/ResourceGlueStatus.java similarity index 70% rename from src/main/java/io/csviri/operator/resourceglue/customresource/glue/ResourceGlueStatus.java rename to src/main/java/io/csviri/operator/glue/customresource/glue/ResourceGlueStatus.java index 1201f80..4ada716 100644 --- a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/ResourceGlueStatus.java +++ b/src/main/java/io/csviri/operator/glue/customresource/glue/ResourceGlueStatus.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource.glue; +package io.csviri.operator.glue.customresource.glue; import io.javaoperatorsdk.operator.api.ObservedGenerationAwareStatus; diff --git a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/condition/ConditionSpec.java b/src/main/java/io/csviri/operator/glue/customresource/glue/condition/ConditionSpec.java similarity index 84% rename from src/main/java/io/csviri/operator/resourceglue/customresource/glue/condition/ConditionSpec.java rename to src/main/java/io/csviri/operator/glue/customresource/glue/condition/ConditionSpec.java index 1b364d6..72f216b 100644 --- a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/condition/ConditionSpec.java +++ b/src/main/java/io/csviri/operator/glue/customresource/glue/condition/ConditionSpec.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource.glue.condition; +package io.csviri.operator.glue.customresource.glue.condition; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; diff --git a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/condition/JavaScriptConditionSpec.java b/src/main/java/io/csviri/operator/glue/customresource/glue/condition/JavaScriptConditionSpec.java similarity index 78% rename from src/main/java/io/csviri/operator/resourceglue/customresource/glue/condition/JavaScriptConditionSpec.java rename to src/main/java/io/csviri/operator/glue/customresource/glue/condition/JavaScriptConditionSpec.java index ae5ba92..f767297 100644 --- a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/condition/JavaScriptConditionSpec.java +++ b/src/main/java/io/csviri/operator/glue/customresource/glue/condition/JavaScriptConditionSpec.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource.glue.condition; +package io.csviri.operator.glue.customresource.glue.condition; public class JavaScriptConditionSpec extends ConditionSpec { diff --git a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/condition/ReadyConditionSpec.java b/src/main/java/io/csviri/operator/glue/customresource/glue/condition/ReadyConditionSpec.java similarity index 79% rename from src/main/java/io/csviri/operator/resourceglue/customresource/glue/condition/ReadyConditionSpec.java rename to src/main/java/io/csviri/operator/glue/customresource/glue/condition/ReadyConditionSpec.java index 67bcfbb..dce709a 100644 --- a/src/main/java/io/csviri/operator/resourceglue/customresource/glue/condition/ReadyConditionSpec.java +++ b/src/main/java/io/csviri/operator/glue/customresource/glue/condition/ReadyConditionSpec.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource.glue.condition; +package io.csviri.operator.glue.customresource.glue.condition; public class ReadyConditionSpec extends ConditionSpec { diff --git a/src/main/java/io/csviri/operator/resourceglue/customresource/operator/GlueOperator.java b/src/main/java/io/csviri/operator/glue/customresource/operator/GlueOperator.java similarity index 88% rename from src/main/java/io/csviri/operator/resourceglue/customresource/operator/GlueOperator.java rename to src/main/java/io/csviri/operator/glue/customresource/operator/GlueOperator.java index bfac841..74bf2d4 100644 --- a/src/main/java/io/csviri/operator/resourceglue/customresource/operator/GlueOperator.java +++ b/src/main/java/io/csviri/operator/glue/customresource/operator/GlueOperator.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource.operator; +package io.csviri.operator.glue.customresource.operator; import io.fabric8.kubernetes.api.model.Namespaced; import io.fabric8.kubernetes.client.CustomResource; diff --git a/src/main/java/io/csviri/operator/resourceglue/customresource/operator/Parent.java b/src/main/java/io/csviri/operator/glue/customresource/operator/Parent.java similarity index 88% rename from src/main/java/io/csviri/operator/resourceglue/customresource/operator/Parent.java rename to src/main/java/io/csviri/operator/glue/customresource/operator/Parent.java index fb8261f..49d34d6 100644 --- a/src/main/java/io/csviri/operator/resourceglue/customresource/operator/Parent.java +++ b/src/main/java/io/csviri/operator/glue/customresource/operator/Parent.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource.operator; +package io.csviri.operator.glue.customresource.operator; public class Parent { diff --git a/src/main/java/io/csviri/operator/resourceglue/customresource/operator/ResourceFlowOperatorStatus.java b/src/main/java/io/csviri/operator/glue/customresource/operator/ResourceFlowOperatorStatus.java similarity index 70% rename from src/main/java/io/csviri/operator/resourceglue/customresource/operator/ResourceFlowOperatorStatus.java rename to src/main/java/io/csviri/operator/glue/customresource/operator/ResourceFlowOperatorStatus.java index 45a797c..7250e58 100644 --- a/src/main/java/io/csviri/operator/resourceglue/customresource/operator/ResourceFlowOperatorStatus.java +++ b/src/main/java/io/csviri/operator/glue/customresource/operator/ResourceFlowOperatorStatus.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource.operator; +package io.csviri.operator.glue.customresource.operator; import io.javaoperatorsdk.operator.api.ObservedGenerationAwareStatus; diff --git a/src/main/java/io/csviri/operator/resourceglue/customresource/operator/ResourceGlueOperatorSpec.java b/src/main/java/io/csviri/operator/glue/customresource/operator/ResourceGlueOperatorSpec.java similarity index 84% rename from src/main/java/io/csviri/operator/resourceglue/customresource/operator/ResourceGlueOperatorSpec.java rename to src/main/java/io/csviri/operator/glue/customresource/operator/ResourceGlueOperatorSpec.java index e91146f..2afd1cb 100644 --- a/src/main/java/io/csviri/operator/resourceglue/customresource/operator/ResourceGlueOperatorSpec.java +++ b/src/main/java/io/csviri/operator/glue/customresource/operator/ResourceGlueOperatorSpec.java @@ -1,8 +1,8 @@ -package io.csviri.operator.resourceglue.customresource.operator; +package io.csviri.operator.glue.customresource.operator; import java.util.Objects; -import io.csviri.operator.resourceglue.customresource.glue.ResourceGlueSpec; +import io.csviri.operator.glue.customresource.glue.ResourceGlueSpec; import io.fabric8.generator.annotation.Required; public class ResourceGlueOperatorSpec extends ResourceGlueSpec { diff --git a/src/main/java/io/csviri/operator/resourceglue/dependent/GCGenericDependentResource.java b/src/main/java/io/csviri/operator/glue/dependent/GCGenericDependentResource.java similarity index 80% rename from src/main/java/io/csviri/operator/resourceglue/dependent/GCGenericDependentResource.java rename to src/main/java/io/csviri/operator/glue/dependent/GCGenericDependentResource.java index 03beca4..4e13833 100644 --- a/src/main/java/io/csviri/operator/resourceglue/dependent/GCGenericDependentResource.java +++ b/src/main/java/io/csviri/operator/glue/dependent/GCGenericDependentResource.java @@ -1,6 +1,6 @@ -package io.csviri.operator.resourceglue.dependent; +package io.csviri.operator.glue.dependent; -import io.csviri.operator.resourceglue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.glue.Glue; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; import io.javaoperatorsdk.operator.api.reconciler.dependent.GarbageCollected; diff --git a/src/main/java/io/csviri/operator/resourceglue/dependent/GenericDependentResource.java b/src/main/java/io/csviri/operator/glue/dependent/GenericDependentResource.java similarity index 89% rename from src/main/java/io/csviri/operator/resourceglue/dependent/GenericDependentResource.java rename to src/main/java/io/csviri/operator/glue/dependent/GenericDependentResource.java index 3131e85..7e44228 100644 --- a/src/main/java/io/csviri/operator/resourceglue/dependent/GenericDependentResource.java +++ b/src/main/java/io/csviri/operator/glue/dependent/GenericDependentResource.java @@ -1,9 +1,9 @@ -package io.csviri.operator.resourceglue.dependent; +package io.csviri.operator.glue.dependent; -import io.csviri.operator.resourceglue.Utils; -import io.csviri.operator.resourceglue.customresource.glue.Glue; -import io.csviri.operator.resourceglue.reconciler.glue.GlueReconciler; -import io.csviri.operator.resourceglue.templating.GenericTemplateHandler; +import io.csviri.operator.glue.Utils; +import io.csviri.operator.glue.customresource.glue.Glue; +import io.csviri.operator.glue.reconciler.glue.GlueReconciler; +import io.csviri.operator.glue.templating.GenericTemplateHandler; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; import io.fabric8.kubernetes.client.utils.Serialization; import io.javaoperatorsdk.operator.api.reconciler.Context; diff --git a/src/main/java/io/csviri/operator/resourceglue/dependent/GenericResourceDiscriminator.java b/src/main/java/io/csviri/operator/glue/dependent/GenericResourceDiscriminator.java similarity index 93% rename from src/main/java/io/csviri/operator/resourceglue/dependent/GenericResourceDiscriminator.java rename to src/main/java/io/csviri/operator/glue/dependent/GenericResourceDiscriminator.java index e55c336..278201f 100644 --- a/src/main/java/io/csviri/operator/resourceglue/dependent/GenericResourceDiscriminator.java +++ b/src/main/java/io/csviri/operator/glue/dependent/GenericResourceDiscriminator.java @@ -1,9 +1,9 @@ -package io.csviri.operator.resourceglue.dependent; +package io.csviri.operator.glue.dependent; import java.util.Objects; import java.util.Optional; -import io.csviri.operator.resourceglue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.glue.Glue; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; import io.javaoperatorsdk.operator.api.reconciler.Context; import io.javaoperatorsdk.operator.api.reconciler.ResourceDiscriminator; diff --git a/src/main/java/io/csviri/operator/resourceglue/reconciler/glue/GlueReconciler.java b/src/main/java/io/csviri/operator/glue/reconciler/glue/GlueReconciler.java similarity index 90% rename from src/main/java/io/csviri/operator/resourceglue/reconciler/glue/GlueReconciler.java rename to src/main/java/io/csviri/operator/glue/reconciler/glue/GlueReconciler.java index 054d9af..704d1ba 100644 --- a/src/main/java/io/csviri/operator/resourceglue/reconciler/glue/GlueReconciler.java +++ b/src/main/java/io/csviri/operator/glue/reconciler/glue/GlueReconciler.java @@ -1,22 +1,22 @@ -package io.csviri.operator.resourceglue.reconciler.glue; +package io.csviri.operator.glue.reconciler.glue; import java.util.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import io.csviri.operator.resourceglue.Utils; -import io.csviri.operator.resourceglue.conditions.JavaScripCondition; -import io.csviri.operator.resourceglue.conditions.ReadyCondition; -import io.csviri.operator.resourceglue.customresource.glue.DependentResourceSpec; -import io.csviri.operator.resourceglue.customresource.glue.Glue; -import io.csviri.operator.resourceglue.customresource.glue.condition.ConditionSpec; -import io.csviri.operator.resourceglue.customresource.glue.condition.JavaScriptConditionSpec; -import io.csviri.operator.resourceglue.customresource.glue.condition.ReadyConditionSpec; -import io.csviri.operator.resourceglue.dependent.GCGenericDependentResource; -import io.csviri.operator.resourceglue.dependent.GenericDependentResource; -import io.csviri.operator.resourceglue.dependent.GenericResourceDiscriminator; -import io.csviri.operator.resourceglue.templating.GenericTemplateHandler; +import io.csviri.operator.glue.Utils; +import io.csviri.operator.glue.conditions.JavaScripCondition; +import io.csviri.operator.glue.conditions.ReadyCondition; +import io.csviri.operator.glue.customresource.glue.DependentResourceSpec; +import io.csviri.operator.glue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.glue.condition.ConditionSpec; +import io.csviri.operator.glue.customresource.glue.condition.JavaScriptConditionSpec; +import io.csviri.operator.glue.customresource.glue.condition.ReadyConditionSpec; +import io.csviri.operator.glue.dependent.GCGenericDependentResource; +import io.csviri.operator.glue.dependent.GenericDependentResource; +import io.csviri.operator.glue.dependent.GenericResourceDiscriminator; +import io.csviri.operator.glue.templating.GenericTemplateHandler; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; import io.fabric8.kubernetes.api.model.HasMetadata; import io.fabric8.kubernetes.client.KubernetesClientException; @@ -27,8 +27,8 @@ import io.javaoperatorsdk.operator.processing.dependent.workflow.KubernetesResourceDeletedCondition; import io.javaoperatorsdk.operator.processing.dependent.workflow.WorkflowBuilder; -import static io.csviri.operator.resourceglue.Utils.getResourceForSSAFrom; -import static io.csviri.operator.resourceglue.reconciler.operator.GlueOperatorReconciler.PARENT_RELATED_RESOURCE_NAME; +import static io.csviri.operator.glue.Utils.getResourceForSSAFrom; +import static io.csviri.operator.glue.reconciler.operator.GlueOperatorReconciler.PARENT_RELATED_RESOURCE_NAME; @ControllerConfiguration public class GlueReconciler implements Reconciler, Cleaner { diff --git a/src/main/java/io/csviri/operator/resourceglue/reconciler/glue/InformerRegister.java b/src/main/java/io/csviri/operator/glue/reconciler/glue/InformerRegister.java similarity index 95% rename from src/main/java/io/csviri/operator/resourceglue/reconciler/glue/InformerRegister.java rename to src/main/java/io/csviri/operator/glue/reconciler/glue/InformerRegister.java index 39601a4..a2b4c1b 100644 --- a/src/main/java/io/csviri/operator/resourceglue/reconciler/glue/InformerRegister.java +++ b/src/main/java/io/csviri/operator/glue/reconciler/glue/InformerRegister.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.reconciler.glue; +package io.csviri.operator.glue.reconciler.glue; import java.util.*; import java.util.concurrent.ConcurrentHashMap; @@ -7,9 +7,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import io.csviri.operator.resourceglue.Utils; -import io.csviri.operator.resourceglue.customresource.glue.Glue; -import io.csviri.operator.resourceglue.customresource.glue.RelatedResourceSpec; +import io.csviri.operator.glue.Utils; +import io.csviri.operator.glue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.glue.RelatedResourceSpec; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; import io.javaoperatorsdk.operator.api.config.informer.InformerConfiguration; import io.javaoperatorsdk.operator.api.reconciler.Context; diff --git a/src/main/java/io/csviri/operator/resourceglue/reconciler/glue/RelatedAndOwnedResourceSecondaryToPrimaryMapper.java b/src/main/java/io/csviri/operator/glue/reconciler/glue/RelatedAndOwnedResourceSecondaryToPrimaryMapper.java similarity index 97% rename from src/main/java/io/csviri/operator/resourceglue/reconciler/glue/RelatedAndOwnedResourceSecondaryToPrimaryMapper.java rename to src/main/java/io/csviri/operator/glue/reconciler/glue/RelatedAndOwnedResourceSecondaryToPrimaryMapper.java index 3504d23..097be15 100644 --- a/src/main/java/io/csviri/operator/resourceglue/reconciler/glue/RelatedAndOwnedResourceSecondaryToPrimaryMapper.java +++ b/src/main/java/io/csviri/operator/glue/reconciler/glue/RelatedAndOwnedResourceSecondaryToPrimaryMapper.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.reconciler.glue; +package io.csviri.operator.glue.reconciler.glue; import java.util.Collection; import java.util.HashSet; diff --git a/src/main/java/io/csviri/operator/resourceglue/reconciler/operator/GlueOperatorReconciler.java b/src/main/java/io/csviri/operator/glue/reconciler/operator/GlueOperatorReconciler.java similarity index 93% rename from src/main/java/io/csviri/operator/resourceglue/reconciler/operator/GlueOperatorReconciler.java rename to src/main/java/io/csviri/operator/glue/reconciler/operator/GlueOperatorReconciler.java index 47c67ef..0f57989 100644 --- a/src/main/java/io/csviri/operator/resourceglue/reconciler/operator/GlueOperatorReconciler.java +++ b/src/main/java/io/csviri/operator/glue/reconciler/operator/GlueOperatorReconciler.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.reconciler.operator; +package io.csviri.operator.glue.reconciler.operator; import java.util.ArrayList; import java.util.List; @@ -8,11 +8,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import io.csviri.operator.resourceglue.customresource.glue.Glue; -import io.csviri.operator.resourceglue.customresource.glue.RelatedResourceSpec; -import io.csviri.operator.resourceglue.customresource.glue.ResourceGlueSpec; -import io.csviri.operator.resourceglue.customresource.operator.GlueOperator; -import io.csviri.operator.resourceglue.customresource.operator.ResourceGlueOperatorSpec; +import io.csviri.operator.glue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.glue.RelatedResourceSpec; +import io.csviri.operator.glue.customresource.glue.ResourceGlueSpec; +import io.csviri.operator.glue.customresource.operator.GlueOperator; +import io.csviri.operator.glue.customresource.operator.ResourceGlueOperatorSpec; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; import io.fabric8.kubernetes.api.model.ObjectMetaBuilder; import io.fabric8.kubernetes.client.utils.KubernetesResourceUtil; diff --git a/src/main/java/io/csviri/operator/resourceglue/templating/GenericTemplateHandler.java b/src/main/java/io/csviri/operator/glue/templating/GenericTemplateHandler.java similarity index 88% rename from src/main/java/io/csviri/operator/resourceglue/templating/GenericTemplateHandler.java rename to src/main/java/io/csviri/operator/glue/templating/GenericTemplateHandler.java index 5621e59..b257014 100644 --- a/src/main/java/io/csviri/operator/resourceglue/templating/GenericTemplateHandler.java +++ b/src/main/java/io/csviri/operator/glue/templating/GenericTemplateHandler.java @@ -1,10 +1,10 @@ -package io.csviri.operator.resourceglue.templating; +package io.csviri.operator.glue.templating; import java.util.HashMap; import java.util.Map; -import io.csviri.operator.resourceglue.Utils; -import io.csviri.operator.resourceglue.customresource.glue.Glue; +import io.csviri.operator.glue.Utils; +import io.csviri.operator.glue.customresource.glue.Glue; import io.javaoperatorsdk.operator.api.reconciler.Context; import io.quarkus.qute.Engine; import io.quarkus.qute.Template; diff --git a/src/main/kubernetes/kubernetes.yml b/src/main/kubernetes/kubernetes.yml index f0200f2..c09ee2a 100644 --- a/src/main/kubernetes/kubernetes.yml +++ b/src/main/kubernetes/kubernetes.yml @@ -18,4 +18,4 @@ roleRef: name: all-access-role subjects: - kind: ServiceAccount - name: resource-glue-operator \ No newline at end of file + name: kubernetes-glue-operator \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 9356b8e..bf08851 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,5 +1,5 @@ -quarkus.application.name=resource-glue-operator -quarkus.container-image.name=resource-glue-operator +quarkus.application.name=kubernetes-glue-operator +quarkus.container-image.name=kubernetes-glue-operator quarkus.container-image.group=csviri quarkus.container-image.registry=ghcr.io quarkus.kubernetes.image-pull-policy=if-not-present @@ -7,7 +7,7 @@ quarkus.kubernetes.image-pull-policy=if-not-present quarkus.package.type=uber-jar quarkus.jib.jvm-additional-arguments=-Dpolyglot.engine.WarnInterpreterOnly=false # To inherit visibility from the repo -quarkus.container-image.labels."org.opencontainers.image.source"=https://github.com/csviri/resource-glue-operator -quarkus.container-image.labels."org.opencontainers.image.documentation"=https://github.com/csviri/resource-glue-operator?tab=readme-ov-file#documentation +quarkus.container-image.labels."org.opencontainers.image.source"=https://github.com/csviri/kubernetes-glue-operator +quarkus.container-image.labels."org.opencontainers.image.documentation"=https://github.com/csviri/kubernetes-glue-operator?tab=readme-ov-file#documentation # Generate apply-able cluster role bindings quarkus.kubernetes.namespace=default diff --git a/src/test/java/io/csviri/operator/resourceglue/GlueOperatorTest.java b/src/test/java/io/csviri/operator/glue/GlueOperatorTest.java similarity index 83% rename from src/test/java/io/csviri/operator/resourceglue/GlueOperatorTest.java rename to src/test/java/io/csviri/operator/glue/GlueOperatorTest.java index 7c69b13..e77ce3f 100644 --- a/src/test/java/io/csviri/operator/resourceglue/GlueOperatorTest.java +++ b/src/test/java/io/csviri/operator/glue/GlueOperatorTest.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue; +package io.csviri.operator.glue; import java.time.Duration; import java.util.ArrayList; @@ -7,19 +7,19 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import io.csviri.operator.resourceglue.customresource.TestCustomResource; -import io.csviri.operator.resourceglue.customresource.TestCustomResource2; -import io.csviri.operator.resourceglue.customresource.TestCustomResourceSpec; -import io.csviri.operator.resourceglue.customresource.glue.DependentResourceSpec; -import io.csviri.operator.resourceglue.customresource.operator.GlueOperator; -import io.csviri.operator.resourceglue.customresource.operator.Parent; -import io.csviri.operator.resourceglue.customresource.operator.ResourceGlueOperatorSpec; +import io.csviri.operator.glue.customresource.TestCustomResource; +import io.csviri.operator.glue.customresource.TestCustomResource2; +import io.csviri.operator.glue.customresource.TestCustomResourceSpec; +import io.csviri.operator.glue.customresource.glue.DependentResourceSpec; +import io.csviri.operator.glue.customresource.operator.GlueOperator; +import io.csviri.operator.glue.customresource.operator.Parent; +import io.csviri.operator.glue.customresource.operator.ResourceGlueOperatorSpec; import io.fabric8.kubernetes.api.model.ConfigMap; import io.fabric8.kubernetes.api.model.ObjectMetaBuilder; import io.quarkus.test.junit.QuarkusTest; -import static io.csviri.operator.resourceglue.TestUtils.GC_WAIT_TIMEOUT_SECOND; -import static io.csviri.operator.resourceglue.customresource.TestCustomResource.CR_GROUP; +import static io.csviri.operator.glue.TestUtils.GC_WAIT_TIMEOUT_SECOND; +import static io.csviri.operator.glue.customresource.TestCustomResource.CR_GROUP; import static org.assertj.core.api.Assertions.assertThat; import static org.awaitility.Awaitility.await; @@ -58,7 +58,7 @@ void smokeTestResourceGlueOperator() { @Test void templating() { var wo = TestUtils - .loadResourceFlowOperator("/resourceglueoperator/Templating.yaml"); + .loadResourceFlowOperator("/glueoperator/Templating.yaml"); create(wo); var cr = create(testCustomResource()); String initialValue = cr.getSpec().getValue(); @@ -94,7 +94,7 @@ void templating() { void simpleConcurrencyTest() { int num = 10; create(TestUtils - .loadResourceFlowOperator("/resourceglueoperator/Concurrency.yaml")); + .loadResourceFlowOperator("/glueoperator/Concurrency.yaml")); var resources = IntStream.range(0, num).mapToObj(n -> create(testCustomResource(n))).toList(); @@ -118,9 +118,9 @@ void simpleConcurrencyTest() { void simpleConcurrencyForMultipleOperatorTest() { int num = 10; create(TestUtils - .loadResourceFlowOperator("/resourceglueoperator/Concurrency.yaml")); + .loadResourceFlowOperator("/glueoperator/Concurrency.yaml")); create(TestUtils - .loadResourceFlowOperator("/resourceglueoperator/Concurrency2.yaml")); + .loadResourceFlowOperator("/glueoperator/Concurrency2.yaml")); var crs = IntStream.range(0, num).mapToObj(n -> create(testCustomResource(n))).toList(); diff --git a/src/test/java/io/csviri/operator/resourceglue/GlueRelatedResourcesTest.java b/src/test/java/io/csviri/operator/glue/GlueRelatedResourcesTest.java similarity index 88% rename from src/test/java/io/csviri/operator/resourceglue/GlueRelatedResourcesTest.java rename to src/test/java/io/csviri/operator/glue/GlueRelatedResourcesTest.java index f1955f2..7ffa7e5 100644 --- a/src/test/java/io/csviri/operator/resourceglue/GlueRelatedResourcesTest.java +++ b/src/test/java/io/csviri/operator/glue/GlueRelatedResourcesTest.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue; +package io.csviri.operator.glue; import java.nio.charset.StandardCharsets; import java.util.Base64; @@ -7,8 +7,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import io.csviri.operator.resourceglue.customresource.ClusterScopeTestCustomResource; -import io.csviri.operator.resourceglue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.ClusterScopeTestCustomResource; +import io.csviri.operator.glue.customresource.glue.Glue; import io.fabric8.kubernetes.api.model.*; import io.quarkus.test.junit.QuarkusTest; @@ -34,7 +34,7 @@ void applyCRD() { void simpleRelatedResourceUsage() { create(secret()); Glue glue = - TestUtils.loadResoureFlow("/resourceglue/RelatedResourceSimpleWithCondition.yaml"); + TestUtils.loadResoureFlow("/glue/RelatedResourceSimpleWithCondition.yaml"); create(glue); @@ -64,7 +64,7 @@ void multipleResourceNamesInRelated() { create(secret("test-secret2", BASE64_VALUE_2)); Glue glue = - create(TestUtils.loadResoureFlow("/resourceglue/MultiNameRelatedResource.yaml")); + create(TestUtils.loadResoureFlow("/glue/MultiNameRelatedResource.yaml")); await().untilAsserted(() -> { var cm1 = get(ConfigMap.class, "cm1"); @@ -85,7 +85,7 @@ void multipleResourceNamesInRelated() { void managedAndRelatedResourceOfSameTypeAndTriggering() { var relatedConfigMap = create(configMap()); Glue glue = - create(TestUtils.loadResoureFlow("/resourceglue/RelatesResourceSameType.yaml")); + create(TestUtils.loadResoureFlow("/glue/RelatesResourceSameType.yaml")); await().untilAsserted(() -> { var cm1 = get(ConfigMap.class, "cm1"); diff --git a/src/test/java/io/csviri/operator/resourceglue/GlueTest.java b/src/test/java/io/csviri/operator/glue/GlueTest.java similarity index 90% rename from src/test/java/io/csviri/operator/resourceglue/GlueTest.java rename to src/test/java/io/csviri/operator/glue/GlueTest.java index dbe349f..c154556 100644 --- a/src/test/java/io/csviri/operator/resourceglue/GlueTest.java +++ b/src/test/java/io/csviri/operator/glue/GlueTest.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue; +package io.csviri.operator.glue; import java.time.Duration; import java.util.ArrayList; @@ -8,8 +8,8 @@ import org.junit.jupiter.api.Test; -import io.csviri.operator.resourceglue.customresource.glue.DependentResourceSpec; -import io.csviri.operator.resourceglue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.glue.DependentResourceSpec; +import io.csviri.operator.glue.customresource.glue.Glue; import io.fabric8.kubernetes.api.model.ConfigMap; import io.fabric8.kubernetes.api.model.Secret; import io.quarkus.test.junit.QuarkusTest; @@ -26,7 +26,7 @@ class GlueTest extends TestBase { @Test void simpleTemplating() { Glue glue = - TestUtils.loadResoureFlow("/resourceglue/Templating.yaml"); + TestUtils.loadResoureFlow("/glue/Templating.yaml"); glue = create(glue); await().untilAsserted(() -> { @@ -63,7 +63,7 @@ void simpleTemplating() { @Test void crossReferenceResource() { Glue glue = - TestUtils.loadResoureFlow("/resourceglue/CrossReferenceResource.yaml"); + TestUtils.loadResoureFlow("/glue/CrossReferenceResource.yaml"); glue = create(glue); await().untilAsserted(() -> { @@ -102,7 +102,7 @@ void crossReferenceResource() { @Test void javaScriptCondition() { Glue glue = - TestUtils.loadResoureFlow("/resourceglue/TwoResourcesAndCondition.yaml"); + TestUtils.loadResoureFlow("/glue/TwoResourcesAndCondition.yaml"); create(glue); await().pollDelay(Duration.ofMillis(150)).untilAsserted(() -> { @@ -137,7 +137,7 @@ void javaScriptCondition() { @Test void stringTemplate() { - Glue glue = create(TestUtils.loadResoureFlow("/resourceglue/ResourceTemplate.yaml")); + Glue glue = create(TestUtils.loadResoureFlow("/glue/ResourceTemplate.yaml")); await().timeout(Duration.ofSeconds(120)).untilAsserted(() -> { var cm1 = get(ConfigMap.class, "templconfigmap1"); @@ -187,7 +187,7 @@ void simpleConcurrencyTest() { @Test void changingWorkflow() { - Glue glue = create(TestUtils.loadResoureFlow("/resourceglue/ChanginResources.yaml")); + Glue glue = create(TestUtils.loadResoureFlow("/glue/ChanginResources.yaml")); await().untilAsserted(() -> { var cm1 = get(ConfigMap.class, "configmap1"); @@ -227,7 +227,7 @@ void changingWorkflow() { // @Test // void childInDifferentNamespaceAsPrimary() { // Glue w = extension - // .create(TestUtils.loadResoureFlow("/resourceglue/ResourceInDifferentNamespace.yaml")); + // .create(TestUtils.loadResoureFlow("/glue/ResourceInDifferentNamespace.yaml")); // // await().untilAsserted(() -> { // var cmDifferentNS = extension.getKubernetesClient().configMaps().inNamespace("default") @@ -255,7 +255,7 @@ private List testWorkflowList(int num) { List res = new ArrayList<>(); IntStream.range(0, num).forEach(index -> { Glue w = - TestUtils.loadResoureFlow("/resourceglue/TemplateForConcurrency.yaml"); + TestUtils.loadResoureFlow("/glue/TemplateForConcurrency.yaml"); w.getMetadata().setName(w.getMetadata().getName() + index); res.add(w); }); diff --git a/src/test/java/io/csviri/operator/resourceglue/JavaScripConditionTest.java b/src/test/java/io/csviri/operator/glue/JavaScripConditionTest.java similarity index 86% rename from src/test/java/io/csviri/operator/resourceglue/JavaScripConditionTest.java rename to src/test/java/io/csviri/operator/glue/JavaScripConditionTest.java index 406b7ff..53e622f 100644 --- a/src/test/java/io/csviri/operator/resourceglue/JavaScripConditionTest.java +++ b/src/test/java/io/csviri/operator/glue/JavaScripConditionTest.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue; +package io.csviri.operator.glue; import java.io.IOException; import java.io.InputStream; @@ -9,16 +9,16 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import io.csviri.operator.resourceglue.conditions.JavaScripCondition; -import io.csviri.operator.resourceglue.customresource.glue.DependentResourceSpec; -import io.csviri.operator.resourceglue.customresource.glue.Glue; -import io.csviri.operator.resourceglue.customresource.glue.ResourceGlueSpec; +import io.csviri.operator.glue.conditions.JavaScripCondition; +import io.csviri.operator.glue.customresource.glue.DependentResourceSpec; +import io.csviri.operator.glue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.glue.ResourceGlueSpec; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; import io.fabric8.kubernetes.client.utils.Serialization; import io.javaoperatorsdk.operator.api.reconciler.Context; import io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource; -import static io.csviri.operator.resourceglue.reconciler.glue.GlueReconciler.DEPENDENT_NAME_ANNOTATION_KEY; +import static io.csviri.operator.glue.reconciler.glue.GlueReconciler.DEPENDENT_NAME_ANNOTATION_KEY; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; diff --git a/src/test/java/io/csviri/operator/resourceglue/TestBase.java b/src/test/java/io/csviri/operator/glue/TestBase.java similarity index 98% rename from src/test/java/io/csviri/operator/resourceglue/TestBase.java rename to src/test/java/io/csviri/operator/glue/TestBase.java index 6511301..b2e3e0b 100644 --- a/src/test/java/io/csviri/operator/resourceglue/TestBase.java +++ b/src/test/java/io/csviri/operator/glue/TestBase.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue; +package io.csviri.operator.glue; import java.time.Duration; diff --git a/src/test/java/io/csviri/operator/resourceglue/TestUtils.java b/src/test/java/io/csviri/operator/glue/TestUtils.java similarity index 95% rename from src/test/java/io/csviri/operator/resourceglue/TestUtils.java rename to src/test/java/io/csviri/operator/glue/TestUtils.java index e591cc2..8fe5792 100644 --- a/src/test/java/io/csviri/operator/resourceglue/TestUtils.java +++ b/src/test/java/io/csviri/operator/glue/TestUtils.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue; +package io.csviri.operator.glue; import java.io.*; import java.net.URL; @@ -13,8 +13,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import io.csviri.operator.resourceglue.customresource.glue.Glue; -import io.csviri.operator.resourceglue.customresource.operator.GlueOperator; +import io.csviri.operator.glue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.operator.GlueOperator; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; import io.fabric8.kubernetes.api.model.HasMetadata; import io.fabric8.kubernetes.client.KubernetesClient; @@ -22,8 +22,6 @@ import io.fabric8.kubernetes.client.utils.Serialization; import io.javaoperatorsdk.operator.ReconcilerUtils; -import static com.oracle.truffle.js.builtins.ObjectFunctionBuiltins.ObjectFunction.is; - public class TestUtils { public static final Duration GC_WAIT_TIMEOUT_SECOND = Duration.ofSeconds(30); diff --git a/src/test/java/io/csviri/operator/resourceglue/customresource/ClusterScopeTestCustomResource.java b/src/test/java/io/csviri/operator/glue/customresource/ClusterScopeTestCustomResource.java similarity index 87% rename from src/test/java/io/csviri/operator/resourceglue/customresource/ClusterScopeTestCustomResource.java rename to src/test/java/io/csviri/operator/glue/customresource/ClusterScopeTestCustomResource.java index 0fe7560..c9c1739 100644 --- a/src/test/java/io/csviri/operator/resourceglue/customresource/ClusterScopeTestCustomResource.java +++ b/src/test/java/io/csviri/operator/glue/customresource/ClusterScopeTestCustomResource.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource; +package io.csviri.operator.glue.customresource; import io.fabric8.kubernetes.client.CustomResource; import io.fabric8.kubernetes.model.annotation.Group; diff --git a/src/test/java/io/csviri/operator/resourceglue/customresource/TestCustomResource.java b/src/test/java/io/csviri/operator/glue/customresource/TestCustomResource.java similarity index 77% rename from src/test/java/io/csviri/operator/resourceglue/customresource/TestCustomResource.java rename to src/test/java/io/csviri/operator/glue/customresource/TestCustomResource.java index d6ce34a..2e7468f 100644 --- a/src/test/java/io/csviri/operator/resourceglue/customresource/TestCustomResource.java +++ b/src/test/java/io/csviri/operator/glue/customresource/TestCustomResource.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource; +package io.csviri.operator.glue.customresource; import io.fabric8.kubernetes.api.model.Namespaced; import io.fabric8.kubernetes.client.CustomResource; @@ -12,7 +12,7 @@ public class TestCustomResource extends CustomResource implements Namespaced { - public static final String CR_GROUP = "io.csviri.operator.resourceglue"; + public static final String CR_GROUP = "io.csviri.operator.glue"; } diff --git a/src/test/java/io/csviri/operator/resourceglue/customresource/TestCustomResource2.java b/src/test/java/io/csviri/operator/glue/customresource/TestCustomResource2.java similarity index 89% rename from src/test/java/io/csviri/operator/resourceglue/customresource/TestCustomResource2.java rename to src/test/java/io/csviri/operator/glue/customresource/TestCustomResource2.java index 2dfe500..7dced92 100644 --- a/src/test/java/io/csviri/operator/resourceglue/customresource/TestCustomResource2.java +++ b/src/test/java/io/csviri/operator/glue/customresource/TestCustomResource2.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource; +package io.csviri.operator.glue.customresource; import io.fabric8.kubernetes.api.model.Namespaced; import io.fabric8.kubernetes.client.CustomResource; diff --git a/src/test/java/io/csviri/operator/resourceglue/customresource/TestCustomResourceSpec.java b/src/test/java/io/csviri/operator/glue/customresource/TestCustomResourceSpec.java similarity index 89% rename from src/test/java/io/csviri/operator/resourceglue/customresource/TestCustomResourceSpec.java rename to src/test/java/io/csviri/operator/glue/customresource/TestCustomResourceSpec.java index 5ac9ddb..89f5a7a 100644 --- a/src/test/java/io/csviri/operator/resourceglue/customresource/TestCustomResourceSpec.java +++ b/src/test/java/io/csviri/operator/glue/customresource/TestCustomResourceSpec.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.customresource; +package io.csviri.operator.glue.customresource; import java.util.List; diff --git a/src/test/java/io/csviri/operator/resourceglue/sample/mutation/MutationWebhookDeploymentE2E.java b/src/test/java/io/csviri/operator/glue/sample/mutation/MutationWebhookDeploymentE2E.java similarity index 89% rename from src/test/java/io/csviri/operator/resourceglue/sample/mutation/MutationWebhookDeploymentE2E.java rename to src/test/java/io/csviri/operator/glue/sample/mutation/MutationWebhookDeploymentE2E.java index b277dfe..ba0dc38 100644 --- a/src/test/java/io/csviri/operator/resourceglue/sample/mutation/MutationWebhookDeploymentE2E.java +++ b/src/test/java/io/csviri/operator/glue/sample/mutation/MutationWebhookDeploymentE2E.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.sample.mutation; +package io.csviri.operator.glue.sample.mutation; import java.net.MalformedURLException; import java.net.URI; @@ -8,15 +8,15 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import io.csviri.operator.resourceglue.TestUtils; -import io.csviri.operator.resourceglue.customresource.glue.Glue; -import io.csviri.operator.resourceglue.customresource.operator.GlueOperator; +import io.csviri.operator.glue.TestUtils; +import io.csviri.operator.glue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.operator.GlueOperator; import io.fabric8.kubernetes.api.model.*; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.KubernetesClientBuilder; import io.fabric8.kubernetes.client.dsl.NonDeletingOperation; -import static io.csviri.operator.resourceglue.TestUtils.GC_WAIT_TIMEOUT_SECOND; +import static io.csviri.operator.glue.TestUtils.GC_WAIT_TIMEOUT_SECOND; import static org.assertj.core.api.Assertions.assertThat; import static org.awaitility.Awaitility.await; diff --git a/src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPage.java b/src/test/java/io/csviri/operator/glue/sample/webpage/WebPage.java similarity index 83% rename from src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPage.java rename to src/test/java/io/csviri/operator/glue/sample/webpage/WebPage.java index 6bd9bfa..2888aea 100644 --- a/src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPage.java +++ b/src/test/java/io/csviri/operator/glue/sample/webpage/WebPage.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.sample.webpage; +package io.csviri.operator.glue.sample.webpage; import io.fabric8.kubernetes.api.model.Namespaced; import io.fabric8.kubernetes.client.CustomResource; @@ -8,7 +8,7 @@ import io.fabric8.kubernetes.model.annotation.Version; @Version(value = "v1") -@Group("resourceglueoperator.sample") +@Group("glueoperator.sample") @Singular("webpage") @Plural("webpages") public class WebPage extends CustomResource diff --git a/src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPageE2E.java b/src/test/java/io/csviri/operator/glue/sample/webpage/WebPageE2E.java similarity index 90% rename from src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPageE2E.java rename to src/test/java/io/csviri/operator/glue/sample/webpage/WebPageE2E.java index c5cb124..804e8b5 100644 --- a/src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPageE2E.java +++ b/src/test/java/io/csviri/operator/glue/sample/webpage/WebPageE2E.java @@ -1,12 +1,12 @@ -package io.csviri.operator.resourceglue.sample.webpage; +package io.csviri.operator.glue.sample.webpage; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import io.csviri.operator.resourceglue.TestUtils; -import io.csviri.operator.resourceglue.customresource.glue.Glue; -import io.csviri.operator.resourceglue.customresource.operator.GlueOperator; +import io.csviri.operator.glue.TestUtils; +import io.csviri.operator.glue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.operator.GlueOperator; import io.fabric8.kubernetes.api.model.ConfigMap; import io.fabric8.kubernetes.api.model.Service; import io.fabric8.kubernetes.api.model.apps.Deployment; @@ -15,7 +15,7 @@ import io.fabric8.kubernetes.client.KubernetesClientBuilder; import io.fabric8.kubernetes.client.dsl.NonDeletingOperation; -import static io.csviri.operator.resourceglue.TestUtils.GC_WAIT_TIMEOUT_SECOND; +import static io.csviri.operator.glue.TestUtils.GC_WAIT_TIMEOUT_SECOND; import static org.assertj.core.api.Assertions.assertThat; import static org.awaitility.Awaitility.await; diff --git a/src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPageSampleTest.java b/src/test/java/io/csviri/operator/glue/sample/webpage/WebPageSampleTest.java similarity index 93% rename from src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPageSampleTest.java rename to src/test/java/io/csviri/operator/glue/sample/webpage/WebPageSampleTest.java index 4dc7ead..7ebc660 100644 --- a/src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPageSampleTest.java +++ b/src/test/java/io/csviri/operator/glue/sample/webpage/WebPageSampleTest.java @@ -1,10 +1,10 @@ -package io.csviri.operator.resourceglue.sample.webpage; +package io.csviri.operator.glue.sample.webpage; import org.junit.jupiter.api.Test; -import io.csviri.operator.resourceglue.TestBase; -import io.csviri.operator.resourceglue.TestUtils; +import io.csviri.operator.glue.TestBase; +import io.csviri.operator.glue.TestUtils; import io.fabric8.kubernetes.api.model.ConfigMap; import io.fabric8.kubernetes.api.model.Service; import io.fabric8.kubernetes.api.model.apps.Deployment; diff --git a/src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPageSpec.java b/src/test/java/io/csviri/operator/glue/sample/webpage/WebPageSpec.java similarity index 90% rename from src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPageSpec.java rename to src/test/java/io/csviri/operator/glue/sample/webpage/WebPageSpec.java index 12117ca..f00cd67 100644 --- a/src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPageSpec.java +++ b/src/test/java/io/csviri/operator/glue/sample/webpage/WebPageSpec.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.sample.webpage; +package io.csviri.operator.glue.sample.webpage; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonPropertyOrder; diff --git a/src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPageStatus.java b/src/test/java/io/csviri/operator/glue/sample/webpage/WebPageStatus.java similarity index 87% rename from src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPageStatus.java rename to src/test/java/io/csviri/operator/glue/sample/webpage/WebPageStatus.java index fcb5b71..cc82116 100644 --- a/src/test/java/io/csviri/operator/resourceglue/sample/webpage/WebPageStatus.java +++ b/src/test/java/io/csviri/operator/glue/sample/webpage/WebPageStatus.java @@ -1,4 +1,4 @@ -package io.csviri.operator.resourceglue.sample.webpage; +package io.csviri.operator.glue.sample.webpage; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonPropertyOrder; diff --git a/src/test/resources/resourceglue/ChanginResources.yaml b/src/test/resources/glue/ChanginResources.yaml similarity index 88% rename from src/test/resources/resourceglue/ChanginResources.yaml rename to src/test/resources/glue/ChanginResources.yaml index fccbaec..cf3c8c6 100644 --- a/src/test/resources/resourceglue/ChanginResources.yaml +++ b/src/test/resources/glue/ChanginResources.yaml @@ -1,4 +1,4 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: name: rf-to-change diff --git a/src/test/resources/resourceglue/ClusterScopeResource.yaml b/src/test/resources/glue/ClusterScopeResource.yaml similarity index 70% rename from src/test/resources/resourceglue/ClusterScopeResource.yaml rename to src/test/resources/glue/ClusterScopeResource.yaml index a68a0ac..dfb5208 100644 --- a/src/test/resources/resourceglue/ClusterScopeResource.yaml +++ b/src/test/resources/glue/ClusterScopeResource.yaml @@ -1,4 +1,4 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: name: "testresourceglue" @@ -6,7 +6,7 @@ spec: resources: - name: cluster-scoped-resource resource: - apiVersion: io.csviri.operator.resourceglue/v1 + apiVersion: io.csviri.operator.glue/v1 kind: ClusterScopeTestCustomResource metadata: name: "test-resource-1" diff --git a/src/test/resources/resourceglue/CrossReferenceResource.yaml b/src/test/resources/glue/CrossReferenceResource.yaml similarity index 89% rename from src/test/resources/resourceglue/CrossReferenceResource.yaml rename to src/test/resources/glue/CrossReferenceResource.yaml index 696620a..54946e0 100644 --- a/src/test/resources/resourceglue/CrossReferenceResource.yaml +++ b/src/test/resources/glue/CrossReferenceResource.yaml @@ -1,4 +1,4 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: name: "crossreference" diff --git a/src/test/resources/resourceglue/MultiNameRelatedResource.yaml b/src/test/resources/glue/MultiNameRelatedResource.yaml similarity index 89% rename from src/test/resources/resourceglue/MultiNameRelatedResource.yaml rename to src/test/resources/glue/MultiNameRelatedResource.yaml index a3e0bdb..3e3e2a4 100644 --- a/src/test/resources/resourceglue/MultiNameRelatedResource.yaml +++ b/src/test/resources/glue/MultiNameRelatedResource.yaml @@ -1,4 +1,4 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: name: related-resource-test1 diff --git a/src/test/resources/resourceglue/RelatedResourceSimpleWithCondition.yaml b/src/test/resources/glue/RelatedResourceSimpleWithCondition.yaml similarity index 92% rename from src/test/resources/resourceglue/RelatedResourceSimpleWithCondition.yaml rename to src/test/resources/glue/RelatedResourceSimpleWithCondition.yaml index 1cb6d8c..4f1e2ba 100644 --- a/src/test/resources/resourceglue/RelatedResourceSimpleWithCondition.yaml +++ b/src/test/resources/glue/RelatedResourceSimpleWithCondition.yaml @@ -1,4 +1,4 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: name: related-resource-test1 diff --git a/src/test/resources/resourceglue/RelatesResourceSameType.yaml b/src/test/resources/glue/RelatesResourceSameType.yaml similarity index 88% rename from src/test/resources/resourceglue/RelatesResourceSameType.yaml rename to src/test/resources/glue/RelatesResourceSameType.yaml index dc95251..77e4eb3 100644 --- a/src/test/resources/resourceglue/RelatesResourceSameType.yaml +++ b/src/test/resources/glue/RelatesResourceSameType.yaml @@ -1,4 +1,4 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: name: related-resource-test1 diff --git a/src/test/resources/resourceglue/ResourceInDifferentNamespace.yaml b/src/test/resources/glue/ResourceInDifferentNamespace.yaml similarity index 88% rename from src/test/resources/resourceglue/ResourceInDifferentNamespace.yaml rename to src/test/resources/glue/ResourceInDifferentNamespace.yaml index eb9dc21..20fd602 100644 --- a/src/test/resources/resourceglue/ResourceInDifferentNamespace.yaml +++ b/src/test/resources/glue/ResourceInDifferentNamespace.yaml @@ -1,4 +1,4 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: name: "testglue" diff --git a/src/test/resources/resourceglue/ResourceTemplate.yaml b/src/test/resources/glue/ResourceTemplate.yaml similarity index 91% rename from src/test/resources/resourceglue/ResourceTemplate.yaml rename to src/test/resources/glue/ResourceTemplate.yaml index 26bb3c9..ed0c81b 100644 --- a/src/test/resources/resourceglue/ResourceTemplate.yaml +++ b/src/test/resources/glue/ResourceTemplate.yaml @@ -1,4 +1,4 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: name: resource-templating-sample diff --git a/src/test/resources/resourceglue/TemplateForConcurrency.yaml b/src/test/resources/glue/TemplateForConcurrency.yaml similarity index 90% rename from src/test/resources/resourceglue/TemplateForConcurrency.yaml rename to src/test/resources/glue/TemplateForConcurrency.yaml index 73015c5..b011785 100644 --- a/src/test/resources/resourceglue/TemplateForConcurrency.yaml +++ b/src/test/resources/glue/TemplateForConcurrency.yaml @@ -1,4 +1,4 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: name: "concurrencysample" diff --git a/src/test/resources/resourceglue/Templating.yaml b/src/test/resources/glue/Templating.yaml similarity index 90% rename from src/test/resources/resourceglue/Templating.yaml rename to src/test/resources/glue/Templating.yaml index 3715755..851e81f 100644 --- a/src/test/resources/resourceglue/Templating.yaml +++ b/src/test/resources/glue/Templating.yaml @@ -1,4 +1,4 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: name: templating-sample diff --git a/src/test/resources/resourceglue/TwoResourcesAndCondition.yaml b/src/test/resources/glue/TwoResourcesAndCondition.yaml similarity index 91% rename from src/test/resources/resourceglue/TwoResourcesAndCondition.yaml rename to src/test/resources/glue/TwoResourcesAndCondition.yaml index 63dd2ae..78e10d6 100644 --- a/src/test/resources/resourceglue/TwoResourcesAndCondition.yaml +++ b/src/test/resources/glue/TwoResourcesAndCondition.yaml @@ -1,4 +1,4 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: name: two-resource-cross-condition diff --git a/src/test/resources/resourceglueoperator/Concurrency.yaml b/src/test/resources/glueoperator/Concurrency.yaml similarity index 74% rename from src/test/resources/resourceglueoperator/Concurrency.yaml rename to src/test/resources/glueoperator/Concurrency.yaml index 4b3a9a3..6c4b1f1 100644 --- a/src/test/resources/resourceglueoperator/Concurrency.yaml +++ b/src/test/resources/glueoperator/Concurrency.yaml @@ -1,10 +1,10 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: GlueOperator metadata: name: rfo1 spec: parent: - apiVersion: io.csviri.operator.resourceglue/v1 + apiVersion: io.csviri.operator.glue/v1 kind: TestCustomResource resources: - name: configMap1 diff --git a/src/test/resources/resourceglueoperator/Concurrency2.yaml b/src/test/resources/glueoperator/Concurrency2.yaml similarity index 74% rename from src/test/resources/resourceglueoperator/Concurrency2.yaml rename to src/test/resources/glueoperator/Concurrency2.yaml index 4b25956..c31fb40 100644 --- a/src/test/resources/resourceglueoperator/Concurrency2.yaml +++ b/src/test/resources/glueoperator/Concurrency2.yaml @@ -1,10 +1,10 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: GlueOperator metadata: name: rfo2 spec: parent: - apiVersion: io.csviri.operator.resourceglue/v1 + apiVersion: io.csviri.operator.glue/v1 kind: TestCustomResource2 resources: - name: configMap1 diff --git a/src/test/resources/resourceglueoperator/Templating.yaml b/src/test/resources/glueoperator/Templating.yaml similarity index 75% rename from src/test/resources/resourceglueoperator/Templating.yaml rename to src/test/resources/glueoperator/Templating.yaml index 42002f0..d36daa4 100644 --- a/src/test/resources/resourceglueoperator/Templating.yaml +++ b/src/test/resources/glueoperator/Templating.yaml @@ -1,10 +1,10 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: GlueOperator metadata: name: templating-sample spec: parent: - apiVersion: io.csviri.operator.resourceglue/v1 + apiVersion: io.csviri.operator.glue/v1 kind: TestCustomResource resources: - name: configMap1 diff --git a/src/test/resources/sample/mutation/mutation.glue.yaml b/src/test/resources/sample/mutation/mutation.glue.yaml index d2c9797..2011021 100644 --- a/src/test/resources/sample/mutation/mutation.glue.yaml +++ b/src/test/resources/sample/mutation/mutation.glue.yaml @@ -1,4 +1,4 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: name: mutation-webhook-deployment diff --git a/src/test/resources/sample/webpage/webpage.crd.yaml b/src/test/resources/sample/webpage/webpage.crd.yaml index 95cd2f3..a60490f 100644 --- a/src/test/resources/sample/webpage/webpage.crd.yaml +++ b/src/test/resources/sample/webpage/webpage.crd.yaml @@ -4,7 +4,7 @@ kind: CustomResourceDefinition metadata: name: webpages.resourceglueoperator.sample spec: - group: resourceglueoperator.sample + group: glueoperator.sample names: kind: WebPage plural: webpages diff --git a/src/test/resources/sample/webpage/webpage.operator.yaml b/src/test/resources/sample/webpage/webpage.operator.yaml index b818710..9d365a5 100644 --- a/src/test/resources/sample/webpage/webpage.operator.yaml +++ b/src/test/resources/sample/webpage/webpage.operator.yaml @@ -1,10 +1,10 @@ -apiVersion: io.csviri.operator.resourceglue/v1beta1 +apiVersion: io.csviri.operator.glue/v1beta1 kind: GlueOperator metadata: name: webpage-operator spec: parent: - apiVersion: resourceglueoperator.sample/v1 + apiVersion: glueoperator.sample/v1 kind: WebPage resources: - name: htmlconfigmap diff --git a/src/test/resources/sample/webpage/webpage.sample.yaml b/src/test/resources/sample/webpage/webpage.sample.yaml index 4756a9d..60ec55b 100644 --- a/src/test/resources/sample/webpage/webpage.sample.yaml +++ b/src/test/resources/sample/webpage/webpage.sample.yaml @@ -1,4 +1,4 @@ -apiVersion: "resourceglueoperator.sample/v1" +apiVersion: "glueoperator.sample/v1" kind: WebPage metadata: name: webpage1 From 5348036e79e7dff2d433fe07418f416bd800d754 Mon Sep 17 00:00:00 2001 From: csviri Date: Thu, 11 Apr 2024 16:29:47 +0200 Subject: [PATCH 2/7] fix Signed-off-by: csviri --- src/test/resources/sample/webpage/webpage.crd.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/resources/sample/webpage/webpage.crd.yaml b/src/test/resources/sample/webpage/webpage.crd.yaml index a60490f..a0025f3 100644 --- a/src/test/resources/sample/webpage/webpage.crd.yaml +++ b/src/test/resources/sample/webpage/webpage.crd.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: webpages.resourceglueoperator.sample + name: webpages.glueoperator.sample spec: group: glueoperator.sample names: From 9ff7b31d1c536673ef40d67649061e626c193be9 Mon Sep 17 00:00:00 2001 From: csviri Date: Thu, 11 Apr 2024 16:37:40 +0200 Subject: [PATCH 3/7] wip Signed-off-by: csviri --- README.md | 8 +++---- .../csviri/operator/glue/GlueException.java | 23 +++++++++++++++++++ .../operator/glue/ResourceGlueException.java | 23 ------------------- .../glue/conditions/JavaScripCondition.java | 4 ++-- .../glue/customresource/glue/Glue.java | 6 ++--- .../{ResourceGlueSpec.java => GlueSpec.java} | 8 +++---- ...esourceGlueStatus.java => GlueStatus.java} | 2 +- .../customresource/operator/GlueOperator.java | 6 ++--- ...peratorSpec.java => GlueOperatorSpec.java} | 8 +++---- .../operator/GlueOperatorReconciler.java | 8 +++---- .../operator/glue/GlueOperatorTest.java | 6 ++--- .../operator/glue/JavaScripConditionTest.java | 6 ++--- 12 files changed, 54 insertions(+), 54 deletions(-) create mode 100644 src/main/java/io/csviri/operator/glue/GlueException.java delete mode 100644 src/main/java/io/csviri/operator/glue/ResourceGlueException.java rename src/main/java/io/csviri/operator/glue/customresource/glue/{ResourceGlueSpec.java => GlueSpec.java} (83%) rename src/main/java/io/csviri/operator/glue/customresource/glue/{ResourceGlueStatus.java => GlueStatus.java} (64%) rename src/main/java/io/csviri/operator/glue/customresource/operator/{ResourceGlueOperatorSpec.java => GlueOperatorSpec.java} (70%) diff --git a/README.md b/README.md index c20c7fb..686401c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Resource Glue Operator +# Kubernetes Glue Operator -Resource Glue Operator is a powerful Kubernetes meta operator that allows you to create other operators by simply +Kubernetes Glue Operator is a powerful Kubernetes meta operator that allows you to create other operators by simply applying a custom resource. It provides facilities to create composed Kubernetes resources and describes how the resource @@ -29,7 +29,7 @@ Let's take a look at an example, where we define an operator for WebPage custom ```yaml -apiVersion: "resourceglueoperator.sample/v1" +apiVersion: "glueoperator.sample/v1" kind: WebPage metadata: name: hellows @@ -58,7 +58,7 @@ metadata: name: webpage-operator spec: parent: - apiVersion: resourceglueoperator.sample/v1 # watches all the custom resource of type WebPage + apiVersion: glueoperator.sample/v1 # watches all the custom resource of type WebPage kind: WebPage resources: - name: htmlconfigmap diff --git a/src/main/java/io/csviri/operator/glue/GlueException.java b/src/main/java/io/csviri/operator/glue/GlueException.java new file mode 100644 index 0000000..02112b8 --- /dev/null +++ b/src/main/java/io/csviri/operator/glue/GlueException.java @@ -0,0 +1,23 @@ +package io.csviri.operator.glue; + +public class GlueException extends RuntimeException { + + public GlueException() {} + + public GlueException(String message) { + super(message); + } + + public GlueException(String message, Throwable cause) { + super(message, cause); + } + + public GlueException(Throwable cause) { + super(cause); + } + + public GlueException(String message, Throwable cause, boolean enableSuppression, + boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } +} diff --git a/src/main/java/io/csviri/operator/glue/ResourceGlueException.java b/src/main/java/io/csviri/operator/glue/ResourceGlueException.java deleted file mode 100644 index 0ccdc69..0000000 --- a/src/main/java/io/csviri/operator/glue/ResourceGlueException.java +++ /dev/null @@ -1,23 +0,0 @@ -package io.csviri.operator.glue; - -public class ResourceGlueException extends RuntimeException { - - public ResourceGlueException() {} - - public ResourceGlueException(String message) { - super(message); - } - - public ResourceGlueException(String message, Throwable cause) { - super(message, cause); - } - - public ResourceGlueException(Throwable cause) { - super(cause); - } - - public ResourceGlueException(String message, Throwable cause, boolean enableSuppression, - boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } -} diff --git a/src/main/java/io/csviri/operator/glue/conditions/JavaScripCondition.java b/src/main/java/io/csviri/operator/glue/conditions/JavaScripCondition.java index 9249fde..1e06fb2 100644 --- a/src/main/java/io/csviri/operator/glue/conditions/JavaScripCondition.java +++ b/src/main/java/io/csviri/operator/glue/conditions/JavaScripCondition.java @@ -10,7 +10,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import io.csviri.operator.glue.ResourceGlueException; +import io.csviri.operator.glue.GlueException; import io.csviri.operator.glue.Utils; import io.csviri.operator.glue.customresource.glue.Glue; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; @@ -54,7 +54,7 @@ public boolean isMet(DependentResource dependen ChronoUnit.MILLIS.between(start, LocalDateTime.now())); return res; } catch (ScriptException e) { - throw new ResourceGlueException(e); + throw new GlueException(e); } } diff --git a/src/main/java/io/csviri/operator/glue/customresource/glue/Glue.java b/src/main/java/io/csviri/operator/glue/customresource/glue/Glue.java index fbee8f6..96dac0d 100644 --- a/src/main/java/io/csviri/operator/glue/customresource/glue/Glue.java +++ b/src/main/java/io/csviri/operator/glue/customresource/glue/Glue.java @@ -6,9 +6,9 @@ import io.fabric8.kubernetes.model.annotation.ShortNames; import io.fabric8.kubernetes.model.annotation.Version; -@Group("io.csviri.operator.resourceglue") +@Group("io.csviri.operator.glue") @Version("v1beta1") -@ShortNames("rg") -public class Glue extends CustomResource +@ShortNames("g") +public class Glue extends CustomResource implements Namespaced { } diff --git a/src/main/java/io/csviri/operator/glue/customresource/glue/ResourceGlueSpec.java b/src/main/java/io/csviri/operator/glue/customresource/glue/GlueSpec.java similarity index 83% rename from src/main/java/io/csviri/operator/glue/customresource/glue/ResourceGlueSpec.java rename to src/main/java/io/csviri/operator/glue/customresource/glue/GlueSpec.java index c8ee0bf..5b9fa98 100644 --- a/src/main/java/io/csviri/operator/glue/customresource/glue/ResourceGlueSpec.java +++ b/src/main/java/io/csviri/operator/glue/customresource/glue/GlueSpec.java @@ -4,7 +4,7 @@ import java.util.List; import java.util.Objects; -public class ResourceGlueSpec { +public class GlueSpec { private List resources = new ArrayList<>(); @@ -22,14 +22,14 @@ public List getRelatedResources() { return relatedResources; } - public ResourceGlueSpec setRelatedResources(List relatedResources) { + public GlueSpec setRelatedResources(List relatedResources) { this.relatedResources = relatedResources; return this; } @Override public String toString() { - return "ResourceGlueSpec{" + + return "GlueSpec{" + "resources=" + resources + '}'; } @@ -40,7 +40,7 @@ public boolean equals(Object o) { return true; if (o == null || getClass() != o.getClass()) return false; - ResourceGlueSpec that = (ResourceGlueSpec) o; + GlueSpec that = (GlueSpec) o; return Objects.equals(resources, that.resources); } diff --git a/src/main/java/io/csviri/operator/glue/customresource/glue/ResourceGlueStatus.java b/src/main/java/io/csviri/operator/glue/customresource/glue/GlueStatus.java similarity index 64% rename from src/main/java/io/csviri/operator/glue/customresource/glue/ResourceGlueStatus.java rename to src/main/java/io/csviri/operator/glue/customresource/glue/GlueStatus.java index 4ada716..29bd7d8 100644 --- a/src/main/java/io/csviri/operator/glue/customresource/glue/ResourceGlueStatus.java +++ b/src/main/java/io/csviri/operator/glue/customresource/glue/GlueStatus.java @@ -2,6 +2,6 @@ import io.javaoperatorsdk.operator.api.ObservedGenerationAwareStatus; -public class ResourceGlueStatus extends ObservedGenerationAwareStatus { +public class GlueStatus extends ObservedGenerationAwareStatus { } diff --git a/src/main/java/io/csviri/operator/glue/customresource/operator/GlueOperator.java b/src/main/java/io/csviri/operator/glue/customresource/operator/GlueOperator.java index 74bf2d4..688f90a 100644 --- a/src/main/java/io/csviri/operator/glue/customresource/operator/GlueOperator.java +++ b/src/main/java/io/csviri/operator/glue/customresource/operator/GlueOperator.java @@ -6,10 +6,10 @@ import io.fabric8.kubernetes.model.annotation.ShortNames; import io.fabric8.kubernetes.model.annotation.Version; -@Group("io.csviri.operator.resourceglue") +@Group("io.csviri.operator.glue") @Version("v1beta1") -@ShortNames("rgo") +@ShortNames("go") public class GlueOperator - extends CustomResource + extends CustomResource implements Namespaced { } diff --git a/src/main/java/io/csviri/operator/glue/customresource/operator/ResourceGlueOperatorSpec.java b/src/main/java/io/csviri/operator/glue/customresource/operator/GlueOperatorSpec.java similarity index 70% rename from src/main/java/io/csviri/operator/glue/customresource/operator/ResourceGlueOperatorSpec.java rename to src/main/java/io/csviri/operator/glue/customresource/operator/GlueOperatorSpec.java index 2afd1cb..2cc23dd 100644 --- a/src/main/java/io/csviri/operator/glue/customresource/operator/ResourceGlueOperatorSpec.java +++ b/src/main/java/io/csviri/operator/glue/customresource/operator/GlueOperatorSpec.java @@ -2,10 +2,10 @@ import java.util.Objects; -import io.csviri.operator.glue.customresource.glue.ResourceGlueSpec; +import io.csviri.operator.glue.customresource.glue.GlueSpec; import io.fabric8.generator.annotation.Required; -public class ResourceGlueOperatorSpec extends ResourceGlueSpec { +public class GlueOperatorSpec extends GlueSpec { @Required private Parent parent; @@ -14,7 +14,7 @@ public Parent getParent() { return parent; } - public ResourceGlueOperatorSpec setParent(Parent parent) { + public GlueOperatorSpec setParent(Parent parent) { this.parent = parent; return this; } @@ -27,7 +27,7 @@ public boolean equals(Object o) { return false; if (!super.equals(o)) return false; - ResourceGlueOperatorSpec that = (ResourceGlueOperatorSpec) o; + GlueOperatorSpec that = (GlueOperatorSpec) o; return Objects.equals(parent, that.parent); } diff --git a/src/main/java/io/csviri/operator/glue/reconciler/operator/GlueOperatorReconciler.java b/src/main/java/io/csviri/operator/glue/reconciler/operator/GlueOperatorReconciler.java index 0f57989..3f3c234 100644 --- a/src/main/java/io/csviri/operator/glue/reconciler/operator/GlueOperatorReconciler.java +++ b/src/main/java/io/csviri/operator/glue/reconciler/operator/GlueOperatorReconciler.java @@ -9,10 +9,10 @@ import org.slf4j.LoggerFactory; import io.csviri.operator.glue.customresource.glue.Glue; +import io.csviri.operator.glue.customresource.glue.GlueSpec; import io.csviri.operator.glue.customresource.glue.RelatedResourceSpec; -import io.csviri.operator.glue.customresource.glue.ResourceGlueSpec; import io.csviri.operator.glue.customresource.operator.GlueOperator; -import io.csviri.operator.glue.customresource.operator.ResourceGlueOperatorSpec; +import io.csviri.operator.glue.customresource.operator.GlueOperatorSpec; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; import io.fabric8.kubernetes.api.model.ObjectMetaBuilder; import io.fabric8.kubernetes.client.utils.KubernetesResourceUtil; @@ -88,8 +88,8 @@ private Glue createResourceFlow(GenericKubernetesResource targetParentResource, return glue; } - private ResourceGlueSpec toWorkflowSpec(ResourceGlueOperatorSpec spec) { - var res = new ResourceGlueSpec(); + private GlueSpec toWorkflowSpec(GlueOperatorSpec spec) { + var res = new GlueSpec(); res.setResources(new ArrayList<>(spec.getResources())); res.setRelatedResources(new ArrayList<>(spec.getRelatedResources())); return res; diff --git a/src/test/java/io/csviri/operator/glue/GlueOperatorTest.java b/src/test/java/io/csviri/operator/glue/GlueOperatorTest.java index e77ce3f..f30176b 100644 --- a/src/test/java/io/csviri/operator/glue/GlueOperatorTest.java +++ b/src/test/java/io/csviri/operator/glue/GlueOperatorTest.java @@ -12,8 +12,8 @@ import io.csviri.operator.glue.customresource.TestCustomResourceSpec; import io.csviri.operator.glue.customresource.glue.DependentResourceSpec; import io.csviri.operator.glue.customresource.operator.GlueOperator; +import io.csviri.operator.glue.customresource.operator.GlueOperatorSpec; import io.csviri.operator.glue.customresource.operator.Parent; -import io.csviri.operator.glue.customresource.operator.ResourceGlueOperatorSpec; import io.fabric8.kubernetes.api.model.ConfigMap; import io.fabric8.kubernetes.api.model.ObjectMetaBuilder; import io.quarkus.test.junit.QuarkusTest; @@ -36,7 +36,7 @@ void applyCRD() { } @Test - void smokeTestResourceGlueOperator() { + void smokeTest() { create(testWorkflowOperator()); var cr = create(testCustomResource()); @@ -178,7 +178,7 @@ GlueOperator testWorkflowOperator() { wo.setMetadata(new ObjectMetaBuilder() .withName("wo1") .build()); - var spec = new ResourceGlueOperatorSpec(); + var spec = new GlueOperatorSpec(); wo.setSpec(spec); spec.setParent(new Parent(CR_GROUP + "/v1", TestCustomResource.class.getSimpleName())); diff --git a/src/test/java/io/csviri/operator/glue/JavaScripConditionTest.java b/src/test/java/io/csviri/operator/glue/JavaScripConditionTest.java index 53e622f..89ec9c9 100644 --- a/src/test/java/io/csviri/operator/glue/JavaScripConditionTest.java +++ b/src/test/java/io/csviri/operator/glue/JavaScripConditionTest.java @@ -12,7 +12,7 @@ import io.csviri.operator.glue.conditions.JavaScripCondition; import io.csviri.operator.glue.customresource.glue.DependentResourceSpec; import io.csviri.operator.glue.customresource.glue.Glue; -import io.csviri.operator.glue.customresource.glue.ResourceGlueSpec; +import io.csviri.operator.glue.customresource.glue.GlueSpec; import io.fabric8.kubernetes.api.model.GenericKubernetesResource; import io.fabric8.kubernetes.client.utils.Serialization; import io.javaoperatorsdk.operator.api.reconciler.Context; @@ -33,7 +33,7 @@ class JavaScripConditionTest { @BeforeEach void setup() { - dummyGlue.setSpec(new ResourceGlueSpec()); + dummyGlue.setSpec(new GlueSpec()); } @Test @@ -72,7 +72,7 @@ void injectsSecondaryResourcesResource() { when(dr.getSecondaryResource(any(), any())).thenReturn(Optional.of(cm)); Glue glue = new Glue(); - glue.setSpec(new ResourceGlueSpec()); + glue.setSpec(new GlueSpec()); glue.getSpec().setResources(new ArrayList<>()); var drSpec = new DependentResourceSpec(); drSpec.setName(DR_NAME); From 1ab4df9815137b95e2060463ccb46ba7d7ede7ad Mon Sep 17 00:00:00 2001 From: csviri Date: Thu, 11 Apr 2024 16:41:05 +0200 Subject: [PATCH 4/7] fixes Signed-off-by: csviri --- README.md | 2 +- docs/reference.md | 18 +++++++++--------- src/test/resources/application.properties | 2 +- .../resources/glue/ClusterScopeResource.yaml | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 686401c..8373958 100644 --- a/README.md +++ b/README.md @@ -125,7 +125,7 @@ The following example shows how to deploy a [dynamic admission controller](https all the `Pods`, adding annotation on them. Note that this is a tricky situation since the endpoint for the `MutatingWebhookConfiguration` is also a `Pod`, thus 'Pods' should be first up and running before the configuration is applied, otherwise, the mutation webhook will block the changes on the pods, which would render the cluster unable to manage `Pods'. (Irrelevant details are omitted, see the full version [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/sample/mutation/mutation.glue.yaml), -see the full E2E test [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/java/io/csviri/operator/resourceglue/sample/mutation/MutationWebhookDeploymentE2E.java)) +see the full E2E test [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/java/io/csviri/operator/glue/sample/mutation/MutationWebhookDeploymentE2E.java)) ```yaml apiVersion: io.csviri.operator.glue/v1beta1 diff --git a/docs/reference.md b/docs/reference.md index 20f66c2..d745f7c 100644 --- a/docs/reference.md +++ b/docs/reference.md @@ -41,12 +41,12 @@ At the moment there are two types of built-in conditions provided: - **`JSCondition`** - a generic condition, that allows writing conditions in JavaScript. As input, all the resources are available which are either managed or related. The script should return a boolean value. See accessing the related resource in [WebPage sample](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/sample/webpage/webpage.operator.yaml#L62-L64), - and cross-referencing resources [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglue/TwoResourcesAndCondition.yaml#L23-L28). + and cross-referencing resources [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/glue/TwoResourcesAndCondition.yaml#L23-L28). ### Related resources Related resources are resources that are not managed (not created, updated, or deleted) during reconciliation, but serve as an input for it. -See sample usage within `Glue` [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglue/RelatedResourceSimpleWithCondition.yaml) +See sample usage within `Glue` [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/glue/RelatedResourceSimpleWithCondition.yaml) The following attributes can be defined for a related resource: - **`name`** - same as for managed resource, unique identifier, used to reference the resource. @@ -59,15 +59,15 @@ The following attributes can be defined for a related resource: Both in `JSCondition` and resource templates other resources can be referenced by the name. If there are more `resourceNames` specified for a related resource, the resource is referenced in a form -`[related resource name]#[resource name]`. See sample [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglue/MultiNameRelatedResource.yaml). +`[related resource name]#[resource name]`. See sample [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/glue/MultiNameRelatedResource.yaml). When a resource `B` references another resource `A`, resource `A` will be guaranteed to be in the cache - especially for initial reconciliation when the resource is created - only if `B` depends on `A` on it. This is natural, in other words, after reconciliation up-to-date version of the resource is guaranteed to be in the cache after reconciliation. -See sample resource cross-referencing [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglue/CrossReferenceResource.yaml). +See sample resource cross-referencing [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/glue/CrossReferenceResource.yaml). -The metadata of `Glue` can be referenced under `glueMetadata`, see sample [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglue/TemplateForConcurrency.yaml#L12-L12) +The metadata of `Glue` can be referenced under `glueMetadata`, see sample [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/glue/TemplateForConcurrency.yaml#L12-L12) -In addition to that in `GlueOperator` the **`parent`** attribute can be used to reference the parent resource on which behalf the resources are created. See sample [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglueoperator/Templating.yaml). +In addition to that in `GlueOperator` the **`parent`** attribute can be used to reference the parent resource on which behalf the resources are created. See sample [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/glueoperator/Templating.yaml). ### Reconciliation notes @@ -84,7 +84,7 @@ The specs of `GlueOperator` are almost identical to `Glue`, it just adds one add which has two sub-attributes: **`apiVersion`** and **`kind`**. This structure specifies the resource types - usually but not necessarily custom resources - watched. -See minimal `GlueOperator` [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/resourceglueoperator/Templating.yaml). +See minimal `GlueOperator` [here](https://github.com/csviri/kubernetes-glue-operator/blob/main/src/test/resources/glueoperator/Templating.yaml). ## Deploying `kubernetes-glue-operator` @@ -131,8 +131,8 @@ Note that none of the limitations are unsolvable, and will be continuously remov To achieve this, it creates three resources a `Deployment` running Nginx, a `ConfigMap` that contains the HTML file an mounted to nginx, a `Service` and an optional `Ingress` to expose the static web page. 3. [Muatation Hook Deployment](https://github.com/csviri/kubernetes-glue-operator/tree/main/src/test/resources/sample/mutation), described on the project home page. -4. [Additional `Glue` samples](https://github.com/csviri/kubernetes-glue-operator/tree/main/src/test/resources/resourceglue), note that these are used for integration testing. -5. [Additional `GlueOperator` samples](https://github.com/csviri/kubernetes-glue-operator/tree/main/src/test/resources/resourceglueoperator), also used for integration testing. +4. [Additional `Glue` samples](https://github.com/csviri/kubernetes-glue-operator/tree/main/src/test/resources/glue), note that these are used for integration testing. +5. [Additional `GlueOperator` samples](https://github.com/csviri/kubernetes-glue-operator/tree/main/src/test/resources/glueoperator), also used for integration testing. ## Related documents diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties index 2024a2c..8db8542 100644 --- a/src/test/resources/application.properties +++ b/src/test/resources/application.properties @@ -1,2 +1,2 @@ -quarkus.log.category."io.csviri.operator.resourceglue".level=DEBUG +quarkus.log.category."io.csviri.operator.glue".level=DEBUG quarkus.kubernetes-client.devservices.flavor=kind \ No newline at end of file diff --git a/src/test/resources/glue/ClusterScopeResource.yaml b/src/test/resources/glue/ClusterScopeResource.yaml index dfb5208..03fea20 100644 --- a/src/test/resources/glue/ClusterScopeResource.yaml +++ b/src/test/resources/glue/ClusterScopeResource.yaml @@ -1,7 +1,7 @@ apiVersion: io.csviri.operator.glue/v1beta1 kind: Glue metadata: - name: "testresourceglue" + name: "glue1" spec: resources: - name: cluster-scoped-resource From 6bba0fa4c1ef8be8f509dd6fb2be688bb0b5ea21 Mon Sep 17 00:00:00 2001 From: csviri Date: Thu, 11 Apr 2024 16:42:22 +0200 Subject: [PATCH 5/7] fix Signed-off-by: csviri --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 06a2cb5..4d8763e 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - glue + io.csviri.operator.glue kubernetes-glue-operator 0.1.1-SNAPSHOT jar From c11645ccca61f7c3a97df74d38f59fbb58a6c845 Mon Sep 17 00:00:00 2001 From: csviri Date: Thu, 11 Apr 2024 16:55:28 +0200 Subject: [PATCH 6/7] timeout increase Signed-off-by: csviri --- src/test/java/io/csviri/operator/glue/TestBase.java | 2 +- .../csviri/operator/glue/sample/webpage/WebPageSampleTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/io/csviri/operator/glue/TestBase.java b/src/test/java/io/csviri/operator/glue/TestBase.java index b2e3e0b..5b1b67c 100644 --- a/src/test/java/io/csviri/operator/glue/TestBase.java +++ b/src/test/java/io/csviri/operator/glue/TestBase.java @@ -21,7 +21,7 @@ public class TestBase { - public static final int GC_TIMEOUT_SEC = 30; + public static final int GC_TIMEOUT_SEC = 45; @Inject protected KubernetesClient client; diff --git a/src/test/java/io/csviri/operator/glue/sample/webpage/WebPageSampleTest.java b/src/test/java/io/csviri/operator/glue/sample/webpage/WebPageSampleTest.java index 7ebc660..4f5a81e 100644 --- a/src/test/java/io/csviri/operator/glue/sample/webpage/WebPageSampleTest.java +++ b/src/test/java/io/csviri/operator/glue/sample/webpage/WebPageSampleTest.java @@ -60,7 +60,7 @@ void webPageCRUD() { delete(webPage); - await().untilAsserted(() -> { + await().timeout(TestUtils.GC_WAIT_TIMEOUT_SECOND).untilAsserted(() -> { var deployment = get(Deployment.class, webPage.getMetadata().getName()); assertThat(deployment).isNull(); }); From bf2a3056078de05bf9c7d58836e1a3934213fc4b Mon Sep 17 00:00:00 2001 From: csviri Date: Thu, 11 Apr 2024 17:02:47 +0200 Subject: [PATCH 7/7] wip Signed-off-by: csviri --- src/test/java/io/csviri/operator/glue/TestUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/io/csviri/operator/glue/TestUtils.java b/src/test/java/io/csviri/operator/glue/TestUtils.java index 8fe5792..6d93c65 100644 --- a/src/test/java/io/csviri/operator/glue/TestUtils.java +++ b/src/test/java/io/csviri/operator/glue/TestUtils.java @@ -24,7 +24,7 @@ public class TestUtils { - public static final Duration GC_WAIT_TIMEOUT_SECOND = Duration.ofSeconds(30); + public static final Duration GC_WAIT_TIMEOUT_SECOND = Duration.ofSeconds(45); public static final int CRD_READY_WAIT = 1000;