Describe the bug
Hi,
I am trying to generate sidecar configs with env variables using quarkus application.properties. I have below in my application.properties.
quarkus.kubernetes-client.trust-certs=true
quarkus.container-image.name=supersonicjava
quarkus.container-image.registry=quay.io
quarkus.container-image.group=arturobrzut
quarkus.kubernetes.sidecars.mariadb.image= mariadb:10.5.5
quarkus.kubernetes.sidecars.mariadb.env-vars.MYSQL_DATABASE.name=my
quarkus.kubernetes.sidecars.mariadb.env-vars.MYSQL_ROOT_PASSWORD.name=pass
quarkus.kubernetes.sidecars.mariadb.env-vars.MYSQL_USER.name=root
quarkus.hibernate-orm.database.generation = drop-and-create
It is supposed to configure env var inside container mariadb in kubernetes.yml. But it is not.
When I set mount points in sidecar or command in sidecar it works, but env variables not
Env variable works on POD level also, but inside sidecar not
Expected behavior
Sidecar container should contain env variable in kubernetes.yml
Actual behavior
Sidecar container does not contain env var
- image: mariadb:10.5.5
imagePullPolicy: IfNotPresent
name: mariadb
workingDir: ""
serviceAccount: supersonicjava
To Reproduce
Steps to reproduce the behavior:
quarkus.container-image.name=supersonicjava
quarkus.container-image.registry=quay.io
quarkus.container-image.group=arturobrzut
quarkus.kubernetes.sidecars.mariadb.image= mariadb:10.5.5
quarkus.kubernetes.sidecars.mariadb.env-vars.MYSQL_DATABASE.name=my
quarkus.kubernetes.sidecars.mariadb.env-vars.MYSQL_ROOT_PASSWORD.name=pass
quarkus.kubernetes.sidecars.mariadb.env-vars.MYSQL_USER.name=root
quarkus.hibernate-orm.database.generation = drop-and-create
Configuration
# Add your application.properties here, if applicable.
Screenshots
(If applicable, add screenshots to help explain your problem.)
Environment (please complete the following information):
uname -a or ver:java -version:Quarkus version or git rev:
Build tool (ie. output of mvnw --version or gradlew --version):
./mvnw --version  ✔
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /home/aobrzut/.m2/wrapper/dists/apache-maven-3.6.3-bin/1iopthnavndlasol9gbrbg6bf2/apache-maven-3.6.3
Java version: 11.0.8, vendor: N/A, runtime: /home/aobrzut/tools/graalvm/mandrel/mandrel-java11-20.1.0.1.Final
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.18.0-193.14.3.el8_2.x86_64", arch: "amd64", family: "unix"
Additional context
based on doc
https://quarkus.io/guides/kubernetes
/cc @geoand
@metacosm do you want to take a look at this one?
Yes, I'll take a look.
A first comment: the format of env vars is wrong in your example, @arturobrzut: you need to use quarkus.kubernetes.sidecars.mariadb.env-vars.MYSQL_DATABASE.value=my and not quarkus.kubernetes.sidecars.mariadb.env-vars.MYSQL_DATABASE.name=my and it would actually be nice if Quarkus could warn you / error out when not using the proper syntax instead of silently failing.
That said, even with that change, there is definitely an issue with the code, trying to track it down.
Most helpful comment
Yes, I'll take a look.