You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2022/10/21 15:45:05 UTC
[camel-karavan] branch main updated: Deploy improvements
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 <ma...@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) {