I have a quarkus application that defines kubernetes custom ingress annotation :
<code>quarkus.kubernetes.ingress.annotations."nginx.ingress.kubernetes.io/rewrite-target"=/$2
</code>
<code>quarkus.kubernetes.ingress.annotations."nginx.ingress.kubernetes.io/rewrite-target"=/$2
</code>
quarkus.kubernetes.ingress.annotations."nginx.ingress.kubernetes.io/rewrite-target"=/$2
That’s not an unusual annotation, when you want to expose your service on a different context-root than /
. I want to deploy on kind.
Annotation is present in kubernetes.yml
but not in kind.yml
.
I expect having the annotation in kind.yml
.
Here is my application.properties
:
<code>quarkus.kubernetes.namespace=guess
quarkus.kubernetes.env.vars.guess-kafka-url=kafka-svc.kafka.svc.cluster.local:9092
quarkus.kubernetes.ingress.expose=true
quarkus.kubernetes.ports.http.path=/game(/|$)(.*)
quarkus.kubernetes.idempotent=true
quarkus.kubernetes.ingress.annotations."nginx.ingress.kubernetes.io/rewrite-target"=/$2
</code>
<code>quarkus.kubernetes.namespace=guess
quarkus.kubernetes.env.vars.guess-kafka-url=kafka-svc.kafka.svc.cluster.local:9092
quarkus.kubernetes.ingress.expose=true
quarkus.kubernetes.ports.http.path=/game(/|$)(.*)
quarkus.kubernetes.idempotent=true
quarkus.kubernetes.ingress.annotations."nginx.ingress.kubernetes.io/rewrite-target"=/$2
</code>
quarkus.kubernetes.namespace=guess
quarkus.kubernetes.env.vars.guess-kafka-url=kafka-svc.kafka.svc.cluster.local:9092
quarkus.kubernetes.ingress.expose=true
quarkus.kubernetes.ports.http.path=/game(/|$)(.*)
quarkus.kubernetes.idempotent=true
quarkus.kubernetes.ingress.annotations."nginx.ingress.kubernetes.io/rewrite-target"=/$2
Here are the relevant dependencies :
<code><dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-container-image-docker</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-kubernetes</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-kind</artifactId>
</dependency>
</code>
<code><dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-container-image-docker</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-kubernetes</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-kind</artifactId>
</dependency>
</code>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-container-image-docker</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-kubernetes</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-kind</artifactId>
</dependency>
In target/kubernetes/kubernetes.yml
, I have the annotation :
<code>apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
app.quarkus.io/quarkus-version: 3.12.3
app.quarkus.io/vcs-uri: https://git...
nginx.ingress.kubernetes.io/rewrite-target: /$2
labels:
</code>
<code>apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
app.quarkus.io/quarkus-version: 3.12.3
app.quarkus.io/vcs-uri: https://git...
nginx.ingress.kubernetes.io/rewrite-target: /$2
labels:
</code>
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
app.quarkus.io/quarkus-version: 3.12.3
app.quarkus.io/vcs-uri: https://git...
nginx.ingress.kubernetes.io/rewrite-target: /$2
labels:
In target/kubernetes/kind.yml
, I do not have the annotation :
<code>apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
app.quarkus.io/quarkus-version: 3.12.3
app.quarkus.io/vcs-uri: https://git...
labels:
</code>
<code>apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
app.quarkus.io/quarkus-version: 3.12.3
app.quarkus.io/vcs-uri: https://git...
labels:
</code>
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
app.quarkus.io/quarkus-version: 3.12.3
app.quarkus.io/vcs-uri: https://git...
labels:
Do I miss something ? Or is this a known bug ?
Thanks in advance,
Christophe