This is an automated email from the ASF dual-hosted git repository. marat pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
The following commit(s) were added to refs/heads/main by this push: new ee2e008 Deploy improvements ee2e008 is described below commit ee2e0087c30079c169461fa9b923b791d51ac1aa Author: Marat Gubaidullin <marat.gubaidul...@gmail.com> AuthorDate: Fri Oct 21 11:44:50 2022 -0400 Deploy improvements --- karavan-operator/src/main/resources/demo.png | Bin 0 -> 202677 bytes karavan-vscode/package.json | 17 ++++++-------- karavan-vscode/src/extension.ts | 2 +- karavan-vscode/src/jbang.ts | 34 +++++++++++++++++++++------ 4 files changed, 35 insertions(+), 18 deletions(-) diff --git a/karavan-operator/src/main/resources/demo.png b/karavan-operator/src/main/resources/demo.png new file mode 100644 index 0000000..15b5c30 Binary files /dev/null and b/karavan-operator/src/main/resources/demo.png differ diff --git a/karavan-vscode/package.json b/karavan-vscode/package.json index 8417946..4e9d829 100644 --- a/karavan-vscode/package.json +++ b/karavan-vscode/package.json @@ -84,8 +84,8 @@ "type": "string", "default": "openshift", "enum": [ - "kubernetes", "openshift", + "kubernetes", "none" ], "description": "Deploy Target", @@ -94,7 +94,7 @@ }, "camel.quarkus-version": { "type": "string", - "default": "2.13.2.Final", + "default": "2.13.3.Final", "description": "Camel-quarkus version", "scope": "machine", "order": 21 @@ -190,12 +190,10 @@ "quarkus.container-image.group=${NAMESPACE}", "quarkus.container-image.name=$NAME", "quarkus.container-image.builder=jib", - "quarkus.container-image.build=true", - "quarkus.container-image.push=true", - "quarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000", + "quarkus.container-image.registry=${IMAGE_REGISTRY}", "quarkus.container-image.insecure=true", - "quarkus.container-image.username=${USER}", - "quarkus.container-image.password=${TOKEN}", + "quarkus.container-image.username=${KUBERNETES_USER}", + "quarkus.container-image.password=${KUBERNETES_TOKEN}", "quarkus.container-image.tag=${DATE}" ], "description": "Default application.properties template for image build", @@ -209,11 +207,10 @@ "type": "string" }, "default": [ - "quarkus.kubernetes.deploy=true", "quarkus.kubernetes-client.trust-certs=true", - "quarkus.kubernetes-client.master-url=kubernetes.default.svc", + "quarkus.kubernetes-client.master-url=${KUBERNETES_SERVER}", "quarkus.kubernetes-client.namespace=${NAMESPACE}", - "quarkus.kubernetes-client.token=${TOKEN}", + "quarkus.kubernetes-client.token=${KUBERNETES_TOKEN}", "quarkus.openshift.labels.\"app.openshift.io/runtime\"=camel", "quarkus.openshift.deployment-kind=Deployment", "quarkus.openshift.add-version-to-label-selectors=false", diff --git a/karavan-vscode/src/extension.ts b/karavan-vscode/src/extension.ts index b879273..81c4f57 100644 --- a/karavan-vscode/src/extension.ts +++ b/karavan-vscode/src/extension.ts @@ -119,8 +119,8 @@ export function activate(context: ExtensionContext) { {label: "camel-main", picked: "camel-main" === defaultRuntime} ]; const deployOptions: QuickPickItem [] = [ - {label: "kubernetes", picked: "kubernetes" === deployTarget}, {label: "openshift", picked: "openshift" === deployTarget}, + {label: "kubernetes", picked: "kubernetes" === deployTarget}, {label: "none", picked: "none" === deployTarget} ]; utils.hasApplicationProperties(rootPath).then(hasAP => { diff --git a/karavan-vscode/src/jbang.ts b/karavan-vscode/src/jbang.ts index 73e0d70..1a76949 100644 --- a/karavan-vscode/src/jbang.ts +++ b/karavan-vscode/src/jbang.ts @@ -113,16 +113,28 @@ export function createExportCommand(directory: string) { } export function camelDeploy(directory: string) { - const command = createExportCommand(directory).concat(" && ").concat(createPackageCommand(directory)); + const command = createExportCommand(directory).concat(" && ") + .concat(createPackageAndPushImageCommand(directory)).concat(" && ") + .concat(createPackageAndDeployCommand(directory)); Promise.all([ exec.execCommand("oc whoami"), // get user exec.execCommand("oc whoami --show-token"), // get token - exec.execCommand("oc project -q") // get namespace + exec.execCommand("oc project -q"), // get namespace + exec.execCommand("oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}'"), // get image-registry + exec.execCommand("oc whoami --show-server") // get server ]).then(val => { let env: any = { "DATE": Date.now().toString() }; - if (val[0].result) env.USER = val[0].value; - if (val[1].result) env.TOKEN = val[1].value; - if (val[2].result) env.NAMESPACE = val[2].value; + if (val[0].result) env.KUBERNETES_USER = val[0].value.trim(); + if (val[1].result) env.KUBERNETES_TOKEN = val[1].value.trim(); + if (val[2].result) env.NAMESPACE = val[2].value.trim(); + if (val[3].result) env.IMAGE_REGISTRY = val[3].value.trim() + else env.IMAGE_REGISTRY = "image-registry.openshift-image-registry.svc:5000"; + if (val[4].result) env.KUBERNETES_SERVER = val[4].value.trim() + else env.KUBERNETES_SERVER = "kubernetes.default.svc"; + + if (val[0].result && val[1].result && !val[2].result) { + window.showErrorMessage("Namespace not set \n" + val[2].error); + } camelRunDeploy(command, env); }).catch((reason: any) => { window.showErrorMessage("Error: \n" + reason.message); @@ -139,8 +151,16 @@ export function camelRunDeploy(command: string, env?: { [key: string]: string | terminal.sendText(command); } -export function createPackageCommand(directory: string) { - return "mvn clean package -f " + directory; +export function createPackageAndPushImageCommand(directory: string) { + return "mvn clean package -f " + directory + + " -Dquarkus.kubernetes.deploy=false" + + " -Dquarkus.container-image.build=true -Dquarkus.container-image.push=true" +} + +export function createPackageAndDeployCommand(directory: string) { + return "mvn clean package -f " + directory + + " -Dquarkus.kubernetes.deploy=true -Dquarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000" + + " -Dquarkus.container-image.build=false -Dquarkus.container-image.push=false" } function executeJbangCommand(rootPath: string, command: string, callback: (code: number, stdout: any, stderr: any) => any) {