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 73f7675 Prepare for full cycle (#381) 73f7675 is described below commit 73f767509e3ad25103d2d5c4b918a0d564a9a0d1 Author: Marat Gubaidullin <marat.gubaidul...@gmail.com> AuthorDate: Tue Jun 21 15:30:01 2022 -0400 Prepare for full cycle (#381) --- .../camel/karavan/model/KaravanConfiguration.java | 2 ++ .../camel/karavan/service/GeneratorService.java | 32 ++++++++++++++++++---- .../src/main/resources/application.properties | 2 ++ .../main/webapp/src/projects/CreateFileModal.tsx | 4 +-- .../openshift/karavan-builder-pipeline.yaml | 8 ------ karavan-builder/openshift/karavan-builder-sa.yaml | 12 -------- .../openshift/karavan-builder-task.yaml | 17 ++++++------ karavan-builder/openshift/karavan-git-secret.yaml | 3 ++ karavan-builder/openshift/kustomization.yaml | 1 - 9 files changed, 44 insertions(+), 37 deletions(-) diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/model/KaravanConfiguration.java b/karavan-app/src/main/java/org/apache/camel/karavan/model/KaravanConfiguration.java index 8a2fc6b..0db0b9d 100644 --- a/karavan-app/src/main/java/org/apache/camel/karavan/model/KaravanConfiguration.java +++ b/karavan-app/src/main/java/org/apache/camel/karavan/model/KaravanConfiguration.java @@ -8,7 +8,9 @@ import java.util.List; public interface KaravanConfiguration { String groupId(); + String imageGroup(); String runtime(); + String runtimeVersion(); List<Environment> environments(); interface Environment { diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/service/GeneratorService.java b/karavan-app/src/main/java/org/apache/camel/karavan/service/GeneratorService.java index 02bf3c8..220cb6a 100644 --- a/karavan-app/src/main/java/org/apache/camel/karavan/service/GeneratorService.java +++ b/karavan-app/src/main/java/org/apache/camel/karavan/service/GeneratorService.java @@ -35,6 +35,15 @@ public class GeneratorService { @ConfigProperty(name = "karavan.config.group-id") String groupId; + @ConfigProperty(name = "karavan.config.image-group") + String imageGroup; + + @ConfigProperty(name = "karavan.config.runtime") + String runtime; + + @ConfigProperty(name = "karavan.config.runtime-version") + String runtimeVersion; + private static final Logger LOGGER = Logger.getLogger(GeneratorService.class.getName()); public String generate(String openApi, boolean generateRoutes) throws Exception { @@ -48,14 +57,27 @@ public class GeneratorService { public String getDefaultApplicationProperties(Project project){ StringBuilder s = new StringBuilder(); - s.append("camel.jbang.projectId=").append(project.getProjectId()).append(System.lineSeparator()); - s.append("camel.jbang.projectName=").append(project.getName()).append(System.lineSeparator()); - s.append("camel.jbang.projectDescription=").append(project.getDescription()).append(System.lineSeparator()); + s.append("camel.jbang.project-id=").append(project.getProjectId()).append(System.lineSeparator()); + s.append("camel.jbang.project-name=").append(project.getName()).append(System.lineSeparator()); + s.append("camel.jbang.project-description=").append(project.getDescription()).append(System.lineSeparator()); s.append("camel.jbang.gav=").append(groupId).append(":").append(project.getProjectId()).append(":").append("1.0.0").append(System.lineSeparator()); - s.append("camel.jbang.runtime=").append(project.getRuntime().name().toLowerCase()).append(System.lineSeparator()); - s.append("quarkus.container-image.group=").append(groupId).append(System.lineSeparator()); + s.append("camel.jbang.runtime=").append(runtime.toLowerCase()).append(System.lineSeparator()); + s.append("camel.jbang.quarkusVersion=").append(runtimeVersion).append(System.lineSeparator()); + s.append("camel.jbang.dependencies=") + .append("mvn:io.quarkus:quarkus-container-image-jib,") + .append("mvn:org.apache.camel.quarkus:camel-quarkus-microprofile-health,") + .append("mvn:io.quarkus:quarkus-openshift").append(System.lineSeparator()); + + s.append("camel.health.enabled=true").append(System.lineSeparator()); + s.append("camel.health.routes-enabled=true").append(System.lineSeparator()); + s.append("camel.health.consumers-enabled=true").append(System.lineSeparator()); + s.append("camel.health.registry-enabled=true").append(System.lineSeparator()); + s.append("camel.health.exposure-level=full").append(System.lineSeparator()); + + s.append("quarkus.container-image.group=").append(imageGroup).append(System.lineSeparator()); s.append("quarkus.container-image.name=").append(project.getProjectId()).append(System.lineSeparator()); s.append("quarkus.openshift.route.expose=false").append(System.lineSeparator()); + s.append("quarkus.openshift.part-of=").append(project.getProjectId()).append(System.lineSeparator()); s.append("quarkus.kubernetes-client.trust-certs=true").append(System.lineSeparator()); return s.toString(); } diff --git a/karavan-app/src/main/resources/application.properties b/karavan-app/src/main/resources/application.properties index 13820c9..3c668aa 100644 --- a/karavan-app/src/main/resources/application.properties +++ b/karavan-app/src/main/resources/application.properties @@ -16,7 +16,9 @@ karavan.git.main=main # Projects configuration karavan.config.group-id=org.camel.karavan.demo +karavan.config.image-group=karavan karavan.config.runtime=QUARKUS +karavan.config.runtime-version=2.9.2.Final karavan.config.environments[0].name=dev karavan.config.environments[0].cluster=kubernetes.default.svc karavan.config.environments[1].name=test diff --git a/karavan-app/src/main/webapp/src/projects/CreateFileModal.tsx b/karavan-app/src/main/webapp/src/projects/CreateFileModal.tsx index efe47c5..1db5f6d 100644 --- a/karavan-app/src/main/webapp/src/projects/CreateFileModal.tsx +++ b/karavan-app/src/main/webapp/src/projects/CreateFileModal.tsx @@ -27,7 +27,7 @@ export class CreateFileModal extends React.Component<Props, State> { public state: State = { name: '', - extension: '', + extension: 'yaml', }; closeModal = () => { @@ -68,7 +68,7 @@ export class CreateFileModal extends React.Component<Props, State> { > <Form autoComplete="off" isHorizontal className="create-file-form"> <FormGroup label="Type" fieldId="type" isRequired> - <ToggleGroup aria-label="Default with single selectable"> + <ToggleGroup aria-label="Type"> {ProjectFileTypes.filter(p => p.name !== 'PROPERTIES').map(p => { const title = p.title + (p.name === 'CODE' ? ' (' + p.extension + ')' : ''); return <ToggleGroupItem key={title} text={title} buttonId={p.name} diff --git a/karavan-builder/openshift/karavan-builder-pipeline.yaml b/karavan-builder/openshift/karavan-builder-pipeline.yaml index c28c4b3..2244642 100644 --- a/karavan-builder/openshift/karavan-builder-pipeline.yaml +++ b/karavan-builder/openshift/karavan-builder-pipeline.yaml @@ -4,21 +4,13 @@ metadata: name: karavan-pipeline spec: params: - - name: GIT_REPO - type: string - name: PROJECT_NAME type: string tasks: - name: karavan-build-deploy params: - - name: runtime - value: quarkus - - name: gav - value: 'com.acme:demo:1.0.0' - name: project value: $(params.PROJECT_NAME) - - name: git - value: $(params.GIT_REPO) taskRef: kind: Task name: karavan-builder diff --git a/karavan-builder/openshift/karavan-builder-sa.yaml b/karavan-builder/openshift/karavan-builder-sa.yaml deleted file mode 100644 index 91935b6..0000000 --- a/karavan-builder/openshift/karavan-builder-sa.yaml +++ /dev/null @@ -1,12 +0,0 @@ -kind: RoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: karavan-builder -subjects: - - kind: ServiceAccount - name: pipeline - namespace: karavan -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: 'edit' \ No newline at end of file diff --git a/karavan-builder/openshift/karavan-builder-task.yaml b/karavan-builder/openshift/karavan-builder-task.yaml index f574a6e..6d4ba21 100644 --- a/karavan-builder/openshift/karavan-builder-task.yaml +++ b/karavan-builder/openshift/karavan-builder-task.yaml @@ -4,21 +4,15 @@ metadata: name: karavan-builder spec: params: - - name: runtime - type: string - - name: gav - type: string - name: project type: string - - name: git - type: string steps: - name: karavan-build-deploy script: | #!/usr/bin/env bash CHECKOUT_DIR="/scripts" - git clone --depth 1 --branch main $(inputs.params.git) ${CHECKOUT_DIR} + git clone --depth 1 --branch main ${GITHUB_REPOSITORY} ${CHECKOUT_DIR} cd ${CHECKOUT_DIR}/$(inputs.params.project) @@ -36,8 +30,7 @@ spec: -Dquarkus.container-image.builder=jib \ -Dquarkus.kubernetes-client.master-url=kubernetes.default.svc \ -Dquarkus.kubernetes-client.token=${TOKEN} \ - -Dquarkus.kubernetes.deploy=true \ - -Dquarkus.openshift.route.expose=true + -Dquarkus.kubernetes.deploy=true image: 'ghcr.io/apache/camel-karavan-builder:0.0.16' volumeMounts: - mountPath: /root/.m2 @@ -45,6 +38,11 @@ spec: - mountPath: /jbang/.jbang/cache name: jbang-cache env: + - name: GITHUB_REPOSITORY + valueFrom: + secretKeyRef: + name: karavan-git-secret + key: repository - name: GITHUB_TOKEN valueFrom: secretKeyRef: @@ -55,6 +53,7 @@ spec: image-registry.openshift-image-registry.svc:5000/openshift/cli:latest script: | #!/usr/bin/env bash + oc label dc/$(inputs.params.project) app.openshift.io/runtime=camel --overwrite=true oc rollout latest dc/$(inputs.params.project) volumes: - name: m2-cache diff --git a/karavan-builder/openshift/karavan-git-secret.yaml b/karavan-builder/openshift/karavan-git-secret.yaml index 53ac839..533cce6 100644 --- a/karavan-builder/openshift/karavan-git-secret.yaml +++ b/karavan-builder/openshift/karavan-git-secret.yaml @@ -4,4 +4,7 @@ metadata: name: karavan-git-secret data: token: ZGVtbw== + username: ZGVtbw== +stringData: + repository: https://github.com/mgubaidullin/karavan-demo.git type: Opaque diff --git a/karavan-builder/openshift/kustomization.yaml b/karavan-builder/openshift/kustomization.yaml index c136ac6..dd75da7 100644 --- a/karavan-builder/openshift/kustomization.yaml +++ b/karavan-builder/openshift/kustomization.yaml @@ -5,5 +5,4 @@ resources: - karavan-builder-pvc.yaml - karavan-builder-sa.yaml - karavan-builder-task.yaml -- karavan-git-secret.yaml - karavan-builder-pipeline.yaml \ No newline at end of file