diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index bfa96156..89729ae3 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -68,13 +68,11 @@ jobs: kubectl config set-context --current --namespace=test # Generate manifests and image - cd samples/spring-boot - ./mvnw jib:dockerBuild - kind load docker-image spring-boot-sample:latest - # ./mvnw ${MAVEN_ARGS} clean install -Ddekorate.jib.registry=$KIND_REGISTRY -Ddekorate.jib.group=tests -Ddekorate.jib.version=latest -Ddekorate.jib.autoPushEnabled=true -DskipTests + cd samples/spring-boot + ./mvnw ${MAVEN_ARGS} clean install -Ddekorate.jib.registry=$KIND_REGISTRY -Ddekorate.jib.group=tests -Ddekorate.jib.version=latest -Ddekorate.jib.autoPushEnabled=true -DskipTests # Install manifests - kubectl apply -f k8s/kubernetes.yml + kubectl apply -f target/classes/META-INF/dekorate/kubernetes.yml # Wait until the service is started kubectl wait --for=condition=available --timeout=600s deployment/spring-boot-sample diff --git a/pom.xml b/pom.xml index f803a6e8..0386f69e 100644 --- a/pom.xml +++ b/pom.xml @@ -64,6 +64,7 @@ 3.0.1 3.2.1 2.7.3 + 3.1.2 @@ -123,6 +124,21 @@ json-patch ${json-patch.version} + + io.dekorate + kubernetes-spring-starter + ${dekorate.version} + + + io.dekorate + certmanager-annotations + ${dekorate.version} + + + io.dekorate + jib-annotations + ${dekorate.version} + diff --git a/samples/spring-boot/k8s/kubernetes.yml b/samples/spring-boot/k8s/kubernetes.yml deleted file mode 100644 index 82fc8eaf..00000000 --- a/samples/spring-boot/k8s/kubernetes.yml +++ /dev/null @@ -1,131 +0,0 @@ -# Generated by dekorate - replace with generate if dekorate supports v6.1.1 fabric8 client ---- -apiVersion: v1 -kind: Secret -metadata: - name: pkcs12-pass -data: - password: c3VwZXJzZWNyZXQ= -type: Opaque ---- -apiVersion: v1 -kind: Service -metadata: - annotations: - app.dekorate.io/vcs-url: <> - labels: - app.kubernetes.io/name: spring-boot-sample - app.kubernetes.io/version: 0.2.1-SNAPSHOT - name: spring-boot-sample -spec: - ports: - - name: http - port: 443 - targetPort: 443 - selector: - app.kubernetes.io/name: spring-boot-sample - app.kubernetes.io/version: 0.2.1-SNAPSHOT - type: ClusterIP ---- -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - annotations: - app.dekorate.io/vcs-url: <> - labels: - app.kubernetes.io/version: 0.2.1-SNAPSHOT - app.kubernetes.io/name: spring-boot-sample - name: spring-boot-sample -spec: - dnsNames: - - spring-boot-sample.test.svc - - localhost - duration: 7776000000000000ns - encodeUsagesInRequest: false - isCA: false - issuerRef: - name: spring-boot-sample - keystores: - pkcs12: - create: true - passwordSecretRef: - key: password - name: pkcs12-pass - privateKey: - algorithm: RSA - encoding: PKCS8 - size: 2048 - renewBefore: 1296000000000000ns - secretName: tls-secret - subject: - organizations: - - Dekorate - - Community - usages: - - server auth - - client auth ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - app.dekorate.io/vcs-url: <> - labels: - app.kubernetes.io/version: 0.2.1-SNAPSHOT - app.kubernetes.io/name: spring-boot-sample - name: spring-boot-sample -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/version: 0.2.1-SNAPSHOT - app.kubernetes.io/name: spring-boot-sample - template: - metadata: - annotations: - app.dekorate.io/vcs-url: <> - labels: - app.kubernetes.io/version: 0.2.1-SNAPSHOT - app.kubernetes.io/name: spring-boot-sample - spec: - containers: - - env: - - name: KUBERNETES_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: SERVER_SSL_KEY_STORE - value: /etc/certs/keystore.p12 - - name: SERVER_SSL_KEY_STORE_PASSWORD - valueFrom: - secretKeyRef: - key: password - name: pkcs12-pass - image: spring-boot-sample:latest - imagePullPolicy: Never - name: spring-boot-sample - ports: - - containerPort: 443 - name: http - protocol: TCP - volumeMounts: - - mountPath: /etc/certs - name: volume-certs - readOnly: true - volumes: - - name: volume-certs - secret: - optional: false - secretName: tls-secret ---- -apiVersion: cert-manager.io/v1 -kind: Issuer -metadata: - annotations: - app.dekorate.io/vcs-url: <> - labels: - app.kubernetes.io/version: 0.2.1-SNAPSHOT - app.kubernetes.io/name: spring-boot-sample - name: spring-boot-sample -spec: - selfSigned: {} diff --git a/samples/spring-boot/pom.xml b/samples/spring-boot/pom.xml index 08bde878..c94aea0a 100644 --- a/samples/spring-boot/pom.xml +++ b/samples/spring-boot/pom.xml @@ -15,7 +15,7 @@ 11 - 3.3.0 + 3.3.1 @@ -49,6 +49,18 @@ reactor-test test + + io.dekorate + kubernetes-spring-starter + + + io.dekorate + certmanager-annotations + + + io.dekorate + jib-annotations + io.javaoperatorsdk kubernetes-webhooks-framework-core