Skip to content

DM-54393: Add czar external service template and ingest helper tini to Qserv Helm chart#1008

Merged
fritzm merged 2 commits intotickets/DM-43715from
tickets/DM-54393
Mar 20, 2026
Merged

DM-54393: Add czar external service template and ingest helper tini to Qserv Helm chart#1008
fritzm merged 2 commits intotickets/DM-43715from
tickets/DM-54393

Conversation

@fritzm
Copy link
Copy Markdown
Contributor

@fritzm fritzm commented Mar 13, 2026

The Qserv Helm chart requires a czar “external” service template – this provides a place to hang load balancer annotations to permit access to czar http and mysqlproxy ports from outside the k8s cluster. One commit on this PR adds this.

A separate (unrelated) commit here changes the ingest helper template in the chart to use tini as PID 1 in the ingest helper build base container. This provides signal handling so the ingest helper container exits in a timely fashion under k8s.

A third commit adds tini itself to the build base Dockerfile; this commit should drop out when this PR is rebased after DM-54392 merges to main.

@fritzm fritzm requested a review from iagaponenko March 13, 2026 04:21
@fritzm fritzm force-pushed the tickets/DM-54393 branch from bf7de83 to e6e7a13 Compare March 13, 2026 15:42
Copy link
Copy Markdown
Contributor

@iagaponenko iagaponenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just a few questions and comments.

python3.12 \
python3.12-devel \
jemalloc \
tini \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You already made this fix as well as set an explicit version of the nlohmann library in the previous PR: #1007

Did you cherry-pick this commit from the other PR?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. This commit should just drop out when this branch is rebased before merge.

Comment thread deploy/helm/Chart.yaml
version: "2026.2.2-pre"
appVersion: "2026.2.2-pre"
version: 2026.3.2-pre
appVersion: "2026.3.2-pre"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just for my own education. Is this the version number of the development branch of Qserv? Or, this is the version number of the chart?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One of each :-)

version is the chart version
appVersion is the wrapped application (Qserv) version

Since our chart is in the application source tree and the two are always tagged/released simultaneously, these will always change in lock-step.

If we split the chart off into its own repo, it might be versioned/released independently of Qserv itself.

In practice, these numbers aren't terribly important, since we aren't doing independent chart releases to chart repositories. But I like to keep them more or less up to date so they aren't outright lies.

I think we have a little more thinking to do on how we want to update these (and default values.yaml container tags, etc.) as part of our release process.

Comment thread deploy/helm/values.yaml
- 34.121.239.92/32
- 134.79.0.0/16
- 172.16.0.0/12
- 172.24.49.51/32
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For my own education, are these the IP addresses on the SLAC network or on the internal Kubernetes network? If the former, then the next question - would it work at UKDF?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, these are SLAC/USDF and Google IDF. They are USDF-specific, and would need to be edited for UKDF, along with a few other items in the chart (storage class names, etc.)

We should shortly switch to having a "default" values.yaml, and then some site-specific ones. We need to decide whether or not we want to carry all that in the base Qserv repo. It doesn't feel quite "right", but if you recall, having separate repos like we had for a while with qserv-operator and qserv-injest was also confusing and painful...

Comment thread deploy/helm/values.yaml
mariadbImageName: ghcr.io/lsst/qserv-mariadb:2026.2.2-rc1
sslProxyImageName: qserv/mysql-proxy-ssl:latest
ingestHelperImageName: qserv/lite-build:2026.2.1-rc1-19-gf0e450b0e
ingestHelperImageName: ghcr.io/lsst/qserv-build-base:2026.2.2-rc1-46-gf129c37c1
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a minor comment - at some point (not in this PR) we should begin naming the development branch of Qserv similarly to how we do this in the production ("classic") version, e.g., 2026.3.2-pre.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree

@fritzm fritzm force-pushed the tickets/DM-43715 branch from a380735 to c91abd6 Compare March 19, 2026 23:40
@fritzm fritzm force-pushed the tickets/DM-54393 branch from 1b78cd7 to 4c8c48f Compare March 19, 2026 23:40
@fritzm fritzm merged commit 6b533b8 into tickets/DM-43715 Mar 20, 2026
7 checks passed
@fritzm fritzm deleted the tickets/DM-54393 branch March 20, 2026 00:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants