You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by "gansheer (via GitHub)" <gi...@apache.org> on 2023/10/20 13:42:33 UTC

[PR] Refactor kustomize experiment [camel-k]

gansheer opened a new pull request, #4839:
URL: https://github.com/apache/camel-k/pull/4839

   This is an experiment to refactor and simplify kustomize installations. 
   
   I am creating this PR to check what is the impact of the removals of code.
   
   Don't hesitate to give your feedback but keep in mind this is very much a work in progress :smile_cat: .
   
   **Release Note**
   ```release-note
   NONE
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Refactor kustomize experiment [camel-k]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #4839:
URL: https://github.com/apache/camel-k/pull/4839#issuecomment-1933156158

   This PR has been automatically marked as stale due to 90 days of inactivity.
   It will be closed if no further activity occurs within 15 days.
   If you think that’s incorrect or the issue should never stale, please simply write any comment.
   Thanks for your contributions!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Refactor kustomize experiment [camel-k]

Posted by "gansheer (via GitHub)" <gi...@apache.org>.
gansheer commented on code in PR #4839:
URL: https://github.com/apache/camel-k/pull/4839#discussion_r1368329104


##########
install/overlays/kubernetes/README.md:
##########
@@ -0,0 +1,50 @@
+# Kubernetes overlay
+
+## Pre-requise
+
+This is an overlay intended for Minkube with the following configuration:
+* Cluster-admin privileges are required
+* Namespace is `default`
+* Operator id is `camel-k`
+* An available registry
+
+## Usage
+
+The following env variable are expected
+
+
+To run from local folder :
+```sh
+kubectl kustomize kustomize/overlays/kubernetes | kubectl create -f -
+```
+
+To run from remote github repository:
+```sh
+kubectl kustomize https://github.com/apache/camel-k/kustomize/overlays/kubernetes | kubectl create -f -
+```
+
+NOTE: to use a different branch add the parameter "ref" to the github repository URL.
+
+
+### Minikube
+
+You can easilly configure minikube with the registry addon.
+
+First get the internal registry service IP from minikube :
+
+```sh
+export KAMEL_REGISTRY_ADDRESS="$(kubectl get service --selector "kubernetes.io/minikube-addons"="registry" --namespace kube-system -o=jsonpath='{.items[0].spec.clusterIP}')"

Review Comment:
   Thanks, I will check this. This explains the "placeholder" namespace value I saw in the files.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Refactor kustomize experiment [camel-k]

Posted by "squakez (via GitHub)" <gi...@apache.org>.
squakez commented on code in PR #4839:
URL: https://github.com/apache/camel-k/pull/4839#discussion_r1368272333


##########
install/overlays/README.md:
##########
@@ -0,0 +1,98 @@
+
+# Kustomize Camel K
+
+Kustomize provides a declarative approach to the configuration customization of a Camel-K installation. Kustomize works either with a standalone executable or as a built-in to kubectl.
+
+Basic overlays are provided for easy usage.
+
+## HOW-TO
+
+### Initialize
+
+First create a new kustomization from the wanted version (kubernetes or openshift) in the repository:
+```sh
+kustomize create --resources https://github.com/apache/camel-k.git/install/overlays/kubernetes\?ref\=exp/kustomize_structure
+```
+
+You can also clone the camel-k repository and reference the local folder :
+```sh
+kubectl kustomize <path/to/localrepo/install/overlays/openshift | kubectl create -f -
+```
+
+To ensure the `IntegrationPlatform` custom resource is created add in the `kustomization.yaml`:

Review Comment:
   Is it the only option we need to declare? in such case, I think it would be best to make a default value ootb.



##########
install/overlays/README.md:
##########
@@ -0,0 +1,98 @@
+
+# Kustomize Camel K
+
+Kustomize provides a declarative approach to the configuration customization of a Camel-K installation. Kustomize works either with a standalone executable or as a built-in to kubectl.
+
+Basic overlays are provided for easy usage.
+
+## HOW-TO
+
+### Initialize
+
+First create a new kustomization from the wanted version (kubernetes or openshift) in the repository:
+```sh
+kustomize create --resources https://github.com/apache/camel-k.git/install/overlays/kubernetes\?ref\=exp/kustomize_structure

Review Comment:
   IMO, this one should be a separate chapter for user customization. We should not require anything but `kubectl` for a immediate user experiente. We miss a quickstart where the user run something like: `  # Build from github
     kubectl kustomize https://github.com/kubernetes-sigs/kustomize.git/examples/helloWorld?ref=v1.0.6 | kubectl create -f` where, if it's the case the use can choose between Kubernetes and Openshift, withouth knowing anything about overlays. What I mean is that we provide 2 procedures:
    * Kubernetes installation: `kubectl kustomize https://github.com/apache/camel-k.git/install/overlays/kubernetes | kubectl create -f` 
    *  Openshift installation: `kubectl kustomize https://github.com/apache/camel-k.git/install/overlays/openshift | kubectl create -f` 



##########
install/overlays/kubernetes/README.md:
##########
@@ -0,0 +1,50 @@
+# Kubernetes overlay
+
+## Pre-requise
+
+This is an overlay intended for Minkube with the following configuration:
+* Cluster-admin privileges are required
+* Namespace is `default`
+* Operator id is `camel-k`
+* An available registry
+
+## Usage
+
+The following env variable are expected
+
+
+To run from local folder :
+```sh
+kubectl kustomize kustomize/overlays/kubernetes | kubectl create -f -
+```
+
+To run from remote github repository:
+```sh
+kubectl kustomize https://github.com/apache/camel-k/kustomize/overlays/kubernetes | kubectl create -f -

Review Comment:
   With all examples, we should specify the ref in order to point to the latest released version. We need to update the release script in order to update the documentation when we release (could be a follow up issue though).



##########
install/overlays/kubernetes/README.md:
##########
@@ -0,0 +1,50 @@
+# Kubernetes overlay
+
+## Pre-requise
+
+This is an overlay intended for Minkube with the following configuration:
+* Cluster-admin privileges are required
+* Namespace is `default`
+* Operator id is `camel-k`
+* An available registry
+
+## Usage
+
+The following env variable are expected
+
+
+To run from local folder :
+```sh
+kubectl kustomize kustomize/overlays/kubernetes | kubectl create -f -
+```
+
+To run from remote github repository:
+```sh
+kubectl kustomize https://github.com/apache/camel-k/kustomize/overlays/kubernetes | kubectl create -f -
+```
+
+NOTE: to use a different branch add the parameter "ref" to the github repository URL.

Review Comment:
   put an example like `https://github.com/apache/camel-k/kustomize/overlays/kubernetes?ref=main`



##########
install/overlays/kubernetes/README.md:
##########
@@ -0,0 +1,50 @@
+# Kubernetes overlay
+
+## Pre-requise
+
+This is an overlay intended for Minkube with the following configuration:
+* Cluster-admin privileges are required
+* Namespace is `default`
+* Operator id is `camel-k`
+* An available registry
+
+## Usage
+
+The following env variable are expected
+
+
+To run from local folder :
+```sh
+kubectl kustomize kustomize/overlays/kubernetes | kubectl create -f -
+```
+
+To run from remote github repository:
+```sh
+kubectl kustomize https://github.com/apache/camel-k/kustomize/overlays/kubernetes | kubectl create -f -
+```
+
+NOTE: to use a different branch add the parameter "ref" to the github repository URL.
+
+
+### Minikube
+
+You can easilly configure minikube with the registry addon.

Review Comment:
   We miss the instruction to enable the addon on the minikube.



##########
install/overlays/README.md:
##########
@@ -0,0 +1,98 @@
+
+# Kustomize Camel K
+
+Kustomize provides a declarative approach to the configuration customization of a Camel-K installation. Kustomize works either with a standalone executable or as a built-in to kubectl.
+
+Basic overlays are provided for easy usage.
+
+## HOW-TO
+
+### Initialize
+
+First create a new kustomization from the wanted version (kubernetes or openshift) in the repository:
+```sh
+kustomize create --resources https://github.com/apache/camel-k.git/install/overlays/kubernetes\?ref\=exp/kustomize_structure
+```
+
+You can also clone the camel-k repository and reference the local folder :
+```sh
+kubectl kustomize <path/to/localrepo/install/overlays/openshift | kubectl create -f -
+```
+
+To ensure the `IntegrationPlatform` custom resource is created add in the `kustomization.yaml`:
+```yaml
+sortOptions:
+  order: fifo
+```
+
+### Configuration
+
+Camel K Operators offers several possibility of customization. The default installation needs to but cutomized in most of the cases, but, we have a series of configuration that can be applied when you want to fine tune your Camel K operator and get the very best of it.
+
+
+#### Operator configuration
+
+TODO: test knative
+TODO: add namespace adaptation
+TODO: find scorecard usage
+
+The operator installation can be customized by using the following parameters:
+
+* Set the operator id that is used to select the resources this operator should manage (default "camel-k") (see `install/overlays/common/patches/patch-operator-id-deployment.yaml` and `install/overlays/common/patches/patch-operator-id-integration-platform.yaml`)
+* Set the operator Image used for the operator deployment (using https://kubectl.docs.kubernetes.io/references/kustomize/builtins/#field-name-images)
+* Set the operator ImagePullPolicy used for the operator deployment (see `config/manager/patch-image-pull-policy-always.yaml`)
+
+#### Resources managment
+
+We provide certain configuration to better "operationalize" the Camel K Operator:
+
+* Add a NodeSelector to the operator Pod (see `config/manager/patch-node-selector.yaml`)
+* Define the resources requests and limits assigned to the operator Pod as <requestType.requestResource=value> (i.e., limits.memory=256Mi) (see `config/manager/patch-resource-requirement.yaml`)
+* Add a Toleration to the operator Pod (see `config/manager/patch-toleration.yaml`)
+
+#### Build configuration
+
+We have several configuration used to influence the building of an integration  (see `install/overlays/common/patches/patch-build-integration-platform.yaml`):
+
+* Set the base Image used to run integrations
+* Set the build publish strategy
+* Add a build publish strategy option, as <name=value>
+* Set the build strategy
+* Set the build order strategy
+* Set how long the build process can last
+* Set how long the catalogtool image build can last

Review Comment:
   It's deprecated, so, we can remove it.



##########
install/overlays/kubernetes/README.md:
##########
@@ -0,0 +1,50 @@
+# Kubernetes overlay
+
+## Pre-requise
+
+This is an overlay intended for Minkube with the following configuration:
+* Cluster-admin privileges are required
+* Namespace is `default`
+* Operator id is `camel-k`
+* An available registry
+
+## Usage
+
+The following env variable are expected
+
+
+To run from local folder :
+```sh
+kubectl kustomize kustomize/overlays/kubernetes | kubectl create -f -
+```
+
+To run from remote github repository:
+```sh
+kubectl kustomize https://github.com/apache/camel-k/kustomize/overlays/kubernetes | kubectl create -f -
+```
+
+NOTE: to use a different branch add the parameter "ref" to the github repository URL.
+
+
+### Minikube
+
+You can easilly configure minikube with the registry addon.
+
+First get the internal registry service IP from minikube :
+
+```sh
+export KAMEL_REGISTRY_ADDRESS="$(kubectl get service --selector "kubernetes.io/minikube-addons"="registry" --namespace kube-system -o=jsonpath='{.items[0].spec.clusterIP}')"

Review Comment:
   For minikube we may not required this any longer. There was some development in the past to enable KEP-1755: https://github.com/apache/camel-k/pull/2696 which is, being able to detect any local registry. It would be nice to try without it and, if it works, remove the registry setting part.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Refactor kustomize experiment [camel-k]

Posted by "gansheer (via GitHub)" <gi...@apache.org>.
gansheer commented on PR #4839:
URL: https://github.com/apache/camel-k/pull/4839#issuecomment-1772777707

   @squakez @oscerd could one of you run trigger the e2e tests please :pray: 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Refactor kustomize experiment [camel-k]

Posted by "gansheer (via GitHub)" <gi...@apache.org>.
gansheer closed pull request #4839: Refactor kustomize experiment
URL: https://github.com/apache/camel-k/pull/4839


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org