PreethamSanji opened a new pull request, #69703:
URL: https://github.com/apache/airflow/pull/69703
<!-- SPDX-License-Identifier: Apache-2.0
https://www.apache.org/licenses/LICENSE-2.0 -->
The git-sync sidecar can serve Prometheus metrics via its built-in HTTP
server
(`GITSYNC_HTTP_METRICS`), but the chart provides no way to declare that port
on
the container, so the metrics endpoint cannot be discovered or scraped.
This PR adds a `dags.gitSync.metrics.enabled` option (default `false`). When
enabled, the git-sync sidecar container gets:
- `GIT_SYNC_HTTP_METRICS` / `GITSYNC_HTTP_METRICS` env vars set to `"true"`
- a named container port `gitsync-metrics` bound to the existing
`dags.gitSync.httpPort` value, so the declared port can never drift from
the
bind address
The init container is unaffected (it runs no HTTP server). With the option
disabled (default), rendered manifests are identical to `main`.
Rendered output with `dags.gitSync.metrics.enabled=true`:
```yaml
- name: GIT_SYNC_HTTP_METRICS
value: "true"
- name: GITSYNC_HTTP_METRICS
value: "true"
ports:
- name: gitsync-metrics
containerPort: 1234
```
With default values, no ports section or metrics env vars are rendered
(verified via `helm template` before/after comparison).
Exposing the metrics via a dedicated Service or scrape annotations is
intentionally left out of scope, per the open design question on the issue —
happy to add it here or in a follow-up based on maintainer preference.
Unit tests added in `test_git_sync_scheduler.py` covering: port + env
rendering
when enabled, port following a custom `httpPort`, and no rendering by
default.
closes: #62592
<!--
Thank you for contributing!
Please provide above a brief description of the changes made in this pull
request.
Write a good git commit message following this guide:
http://chris.beams.io/posts/git-commit/
Please make sure that your code changes are covered with tests.
And in case of new features or big changes remember to adjust the
documentation.
For user-facing UI changes, please attach before/after screenshots (or a
short
screen recording) so reviewers can assess the visual impact.
Feel free to ping (in general) for the review if you do not see reaction for
a few days
(72 Hours is the minimum reaction time you can expect from volunteers) - we
sometimes miss notifications.
In case of an existing issue, reference it using one of the following:
* closes: #ISSUE
* related: #ISSUE
-->
---
##### Was generative AI tooling used to co-author this PR?
<!--
If generative AI tooling has been used in the process of authoring this PR,
please
change below checkbox to `[X]` followed by the name of the tool, uncomment
the "Generated-by".
-->
- [x] Yes (please specify the tool below)
Claude Fable 5
Generated-by: [Claude Fable 5] following [the
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
---
* Read the **[Pull Request
Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)**
for more information. Note: commit author/co-author name and email in commits
become permanently public when merged.
* For fundamental code changes, an Airflow Improvement Proposal
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals))
is needed.
* When adding dependency, check compliance with the [ASF 3rd Party License
Policy](https://www.apache.org/legal/resolved.html#category-x).
* For significant user-facing changes create newsfragment:
`{pr_number}.significant.rst`, in
[airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments).
You can add this file in a follow-up commit after the PR is created so you
know the PR number.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]