Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
271 commits
Select commit Hold shift + click to select a range
c3b7a47
update image name
markxiao Jun 16, 2026
5128e18
update db migration
markxiao Jun 24, 2026
e398117
Merge branch 'master' into chore/zendesk-wrapper-service
mfshao Jun 25, 2026
199b09d
Merge branch 'master' of https://github.com/uc-cdis/gen3-helm into to…
nss10 Jun 26, 2026
dc4804c
Rename `/blacklisted` to `/denylist` and deny public access for this …
nss10 Jul 2, 2026
91ba76c
feat(vectis): add jeg, workspace-proxy, vectis-overlays subcharts; re…
cmlsn Apr 22, 2026
605bad4
updating tags
cmlsn Apr 22, 2026
39d76e6
fixing race condition
cmlsn Apr 22, 2026
ded0d13
Update search-auth-proxy-secret.yaml for secretStoreRef
jawadqur Apr 22, 2026
86944a0
fix: correct image tags; add vectis DB migration Job; ExternalSecret …
cmlsn Apr 23, 2026
01ab40b
bug fixes
cmlsn Apr 23, 2026
f312aa0
jeg fix
cmlsn Apr 23, 2026
92f9437
k8 api's issue fix
cmlsn May 8, 2026
90f938e
search and value changes needed for aurora integration.
cmlsn May 13, 2026
661af35
changes to lambda urls and auth
cmlsn May 14, 2026
aca48fd
modifying and fixing jeg bug and siem path
cmlsn May 14, 2026
97b42a9
removing guppy compat.
cmlsn May 21, 2026
6ed0e57
adding snapshot directories for faster cheaper load
cmlsn May 21, 2026
f8fa1c9
feat_crossplane for siem
cmlsn May 21, 2026
f86bcdf
feat_fix error
cmlsn May 21, 2026
6342d16
db schema change
cmlsn May 21, 2026
f6b25c9
siem-service: set DB_SCHEMA=vectis as chart default
cmlsn May 21, 2026
c8714dd
crossplane roels for siem service
cmlsn May 22, 2026
b58cd24
change to crossplane for the api gateway access.
cmlsn May 22, 2026
cbe7890
troubleshooting a 401 issue
cmlsn May 26, 2026
f15dc24
moving to fence arborist natively in the lambda function
cmlsn May 27, 2026
83388cd
docs: add notes for running Vectis locally with Kind configuration
craigrbarnes Jun 11, 2026
3b0ff77
Test if branch pipeline works
Jun 16, 2026
6ad6e9a
Adding s3 monitor code
Jun 16, 2026
aa35f8c
Adding s3 monitor code
Jun 16, 2026
3d16f75
Adding jeg file
Jun 16, 2026
a354f63
Adding jeg file
Jun 16, 2026
7d3d2c5
fix(charts): align common deps and bump chart versions for ct
cmlsn Jun 16, 2026
923bae9
fix(gen3): align funnel and revproxy dependency versions
cmlsn Jun 16, 2026
b80e0f0
fix(vectis-overlays): align common dependency version
cmlsn Jun 16, 2026
f4cd147
fix(workspace-proxy): align common dependency version
cmlsn Jun 16, 2026
0cef349
ci(ct): set target-branch to feat_vectis for PR linting
cmlsn Jun 16, 2026
d4de709
fix(charts): bump jeg/vectis-overlays/workspace-proxy versions for ct
cmlsn Jun 16, 2026
336336b
chore(vectis-overlays): fix yaml comment spacing
cmlsn Jun 16, 2026
64f5184
change target branch in ct.yaml
m0nhawk Jul 6, 2026
bef96dc
put email in secret
mfshao Jul 6, 2026
9a031bd
remove env
mfshao Jul 6, 2026
df197a9
update env
mfshao Jul 6, 2026
1c8d8b2
integrate funnel helm chart
matthewpeterkort Jul 6, 2026
c426b0b
Change target branch from feat/vectis-merge to master
m0nhawk Jul 7, 2026
9a33ce8
Fix typo
nss10 Jul 7, 2026
490319a
bump revproxy chart version to 0.1.62
m0nhawk Jul 7, 2026
71647b3
add external secret
mfshao Jul 7, 2026
837a625
Change `/token/denylist` to `/token/denylisted`
nss10 Jul 7, 2026
0c263eb
Update funnel chart version and remove funnel-chart-check -- irreleva…
nss10 Jul 8, 2026
38f1239
enable linklocal for audit and dashboard
ajoaugustine Jul 8, 2026
804e9d3
Merge pull request #638 from uc-cdis/fix/networkpolicies-dashboard
ajoaugustine Jul 8, 2026
0506d42
upadte external secret ref
mfshao Jul 8, 2026
ce78e71
Update funnel values.yaml with Gen3 based installation overrides
nss10 Jul 8, 2026
00a8731
Fix helm values error + indentation
nss10 Jul 8, 2026
5818911
Merge branch 'master' of https://github.com/uc-cdis/gen3-helm into co…
nss10 Jul 8, 2026
ca6b178
Set TEST_REPO_BRANCH to `chore/fix_setup_script_for_funnel` in integr…
nss10 Jul 8, 2026
58e8632
upadte external secret ref
mfshao Jul 8, 2026
7aee14d
update fence config
markxiao Jul 8, 2026
26af3cb
fix typo
mfshao Jul 8, 2026
a518a9f
Add tag, and update yaml indentation
nss10 Jul 8, 2026
48ad388
Fix lint checks
nss10 Jul 8, 2026
9c58a7a
fix typo
mfshao Jul 8, 2026
da89eaa
Postgres creds template update
nss10 Jul 9, 2026
10b24cb
fix secret
mfshao Jul 9, 2026
ee039b8
fix secret
mfshao Jul 9, 2026
5f43d36
fix secret
mfshao Jul 9, 2026
60dedad
trigger chart update
mfshao Jul 9, 2026
5e7c869
trigger chart update
mfshao Jul 9, 2026
f1e706f
fix: requestor service account
flashguerdon Jul 9, 2026
327e09c
feat(pgvector): use the image built from docker-bitnami-pgvector repo
jbarno Jun 11, 2026
4f30c9d
fix(repo): quay pub
jbarno Jun 25, 2026
021bf4c
feat(pgvector): let it pull from quay
jbarno Jun 25, 2026
5a90c5b
fix(pg): daticulocale rename
jbarno Jun 25, 2026
00d880b
feat(install): install the extension
jbarno Jul 1, 2026
ccaad08
fix(dbCreate): need that on
jbarno Jul 1, 2026
cf0e202
fix(local): localhost
jbarno Jul 1, 2026
9b4cce6
fix(registry): its all getting concatenated anyway
jbarno Jul 1, 2026
27892c1
feat(repository): less config, tag on seperate line is nice though
jbarno Jul 2, 2026
6008f98
Revert "feat(repository): less config, tag on seperate line is nice t…
jbarno Jul 9, 2026
5499d0e
chore(versions): reverting borked things
jbarno Jul 9, 2026
fca3561
Empty commit to trigger CI
nss10 Jul 9, 2026
4cbc8c6
Merge branch 'master' into feat/vectis-merge
m0nhawk Jul 9, 2026
c9d792f
Merge pull request #639 from AustralianBioCommons/external-secrets-v1…
emalinowski Jul 9, 2026
831acb6
Merge pull request #633 from uc-cdis/feat/vectis-merge
m0nhawk Jul 9, 2026
3b6f1d6
Bumped versions
emalinowski Jul 9, 2026
3856b25
update fence config
markxiao Jul 9, 2026
e032bc1
Bumped versions
emalinowski Jul 9, 2026
53fade2
Update worker-pv.yaml
nss10 Jul 9, 2026
9d14a77
Bumped versions
emalinowski Jul 9, 2026
fce0cb9
Merge branch 'master' into version-bump
emalinowski Jul 9, 2026
c9e4964
Bumped versions
emalinowski Jul 9, 2026
6977ebf
Bumped versions
emalinowski Jul 9, 2026
bace66d
Add ConfigMapTemplate
nss10 Jul 9, 2026
e4a71a1
Bumped versions
emalinowski Jul 9, 2026
69104e3
Add Missing worker-configmap
nss10 Jul 9, 2026
7554b9a
Merge pull request #640 from uc-cdis/version-bump
emalinowski Jul 9, 2026
0b16805
Merge branch 'master' into feat/docker-bitnami-pgvector-default
jbarno Jul 9, 2026
91b5e03
Merge branch 'master' of https://github.com/uc-cdis/gen3-helm into to…
nss10 Jul 9, 2026
df35d5b
chor(bump): version bump after the version bump
jbarno Jul 9, 2026
8aa3c99
Temporarily point funnel to local funnel image
nss10 Jul 9, 2026
0b5e7bf
feat(PR): heed comments
jbarno Jul 9, 2026
995ed00
Merge branch 'master' of https://github.com/uc-cdis/gen3-helm into co…
nss10 Jul 9, 2026
0b4fe27
Update funnel image name
nss10 Jul 9, 2026
dd2c334
Targetting a build tag based off of OHSU's latest `develop` branch
nss10 Jul 9, 2026
513864b
Merge pull request #619 from uc-cdis/feat/docker-bitnami-pgvector-def…
jbarno Jul 10, 2026
fd44dbf
update revproxy conf
mfshao Jul 10, 2026
9829764
Add Fence URL in manifest service's deployment
nss10 Jul 10, 2026
cf140aa
Update common chart version
nss10 Jul 10, 2026
a7c341c
update ports
mfshao Jul 10, 2026
d3fc8e3
merge master
mfshao Jul 10, 2026
89506cc
netpolicy updates for fence
ajoaugustine Jul 10, 2026
e913653
fix port
mfshao Jul 10, 2026
ed8b911
Merge pull request #641 from uc-cdis/chore/add_FENCE_URL_manifestservice
nss10 Jul 10, 2026
226f88c
Merge branch 'master' into fix/netplicies-fence
ajoaugustine Jul 10, 2026
31fe320
bump chart versions
ajoaugustine Jul 10, 2026
67f1224
Use AUTHZ_AUDIENCE for sheepdog' audience field
nss10 Jul 10, 2026
613b383
bump chart versions
ajoaugustine Jul 10, 2026
c619709
bump gen3 chart version
ajoaugustine Jul 10, 2026
1b5f9c7
Merge pull request #643 from uc-cdis/fix/netplicies-fence
ajoaugustine Jul 10, 2026
47ef8e2
Merge branch 'master' of https://github.com/uc-cdis/gen3-helm into ch…
nss10 Jul 10, 2026
754ad00
Sheepdog version bump
nss10 Jul 10, 2026
dfc2973
gen3 version bump
nss10 Jul 10, 2026
d54df2c
Merge branch 'master' of https://github.com/uc-cdis/gen3-helm into co…
nss10 Jul 10, 2026
2051194
Remove test repo branch
nss10 Jul 10, 2026
171bb16
Merge pull request #644 from uc-cdis/chore/update_sheepdog_authz_audi…
nss10 Jul 10, 2026
623c30f
Merge branch 'master' into fix/add-requestor-g3auto
flashguerdon Jul 13, 2026
9e5dc05
chore: requestor chart bump
flashguerdon Jul 13, 2026
f34010b
chore: version bump
flashguerdon Jul 13, 2026
3548cf1
Added EFS csi driver to cluster-level-resources
emalinowski Jul 13, 2026
81de6cd
Rename blacklisted to denylisted
nss10 Jul 13, 2026
28b3270
Merge branch 'master' of https://github.com/uc-cdis/gen3-helm into to…
nss10 Jul 13, 2026
0e6de8a
rename secret name
mfshao Jul 13, 2026
d5db035
merge master
mfshao Jul 13, 2026
56b0663
update action
mfshao Jul 13, 2026
52e9cdc
Revert "update action"
mfshao Jul 13, 2026
62f71f7
fix chart
mfshao Jul 13, 2026
f03bd5a
fix chart
mfshao Jul 13, 2026
b1f5cc4
fix chart
mfshao Jul 13, 2026
a2545cd
Merge pull request #616 from uc-cdis/token-blacklist-check
nss10 Jul 13, 2026
2c82da1
Use current helm branch to run kind tests
nss10 Jul 14, 2026
f525178
Merge branch 'master' of https://github.com/uc-cdis/gen3-helm into co…
nss10 Jul 14, 2026
daf0e96
Merge branch 'master' into chore/zendesk-wrapper-service
mfshao Jul 14, 2026
c44c6e9
trigger hook
mfshao Jul 14, 2026
bd3e4a3
trigger hook
mfshao Jul 14, 2026
699d44c
Merge pull request #612 from uc-cdis/chore/zendesk-wrapper-service
mfshao Jul 14, 2026
dedfbc9
Add S3Files configuration to Funnel
paulineribeyre Jul 17, 2026
2167f6d
update zendesk secret names
mfshao Jul 17, 2026
64c11e5
fix embedding-management-service containerPort reference
ajoaugustine Jul 20, 2026
eabe42b
Merge pull request #653 from uc-cdis/fix/embedding-management-port
ajoaugustine Jul 20, 2026
4293d50
Merge branch 'master' into chore/zendesk-oauth
mfshao Jul 20, 2026
1a12ab3
update chart
mfshao Jul 20, 2026
9eea32c
Merge pull request #652 from uc-cdis/chore/zendesk-oauth
mfshao Jul 21, 2026
219c959
add envs
markxiao Jul 21, 2026
9239eda
Merge pull request #654 from flashguerdon/fix/add-requestor-g3auto
emalinowski Jul 22, 2026
0715e15
Updated chart version
emalinowski Jul 22, 2026
76cd4ac
Merge branch 'master' into fix/add-requestor-g3auto
emalinowski Jul 22, 2026
52df1bb
Updated chart version
emalinowski Jul 22, 2026
f9154b9
Add IAM permissions for gen3-workflow
nss10 Jul 22, 2026
156ddd2
Revert cluster level changes
nss10 Jul 22, 2026
ea5733d
Merge branch 'master' of https://github.com/uc-cdis/gen3-helm into fe…
nss10 Jul 22, 2026
2856d2e
Update gen3 chart version
nss10 Jul 22, 2026
408fde0
Add event bridge rules for gen3wf
nss10 Jul 22, 2026
ec1c87e
feat(revproxy): add customNginxConfigs to extraServices for per-servi…
jawadqur Jul 22, 2026
863665f
Add storageType config variable and DeleteObjectVersion permission
nss10 Jul 23, 2026
d414bb8
Update config variable
nss10 Jul 23, 2026
96ce177
fix root context
ajoaugustine Jul 23, 2026
4ee8973
Merge pull request #657 from uc-cdis/feature/custom-nginx-configs-ext…
jawadqur Jul 23, 2026
9f3b9cc
Add security context where it was missing
ajoaugustine Jul 23, 2026
96de2a8
Merge branch 'master' into fix/pass-root-context-etl
ajoaugustine Jul 23, 2026
aabc7ac
Merge branch 'master' into feat/add_gen3wf_s3files_iam_perms
nss10 Jul 23, 2026
b74d49e
Bump gen3 chart version
nss10 Jul 23, 2026
bca4031
Merge pull request #660 from uc-cdis/feat/add-security-context
ajoaugustine Jul 23, 2026
678ca6b
Merge branch 'master' of https://github.com/uc-cdis/gen3-helm into fe…
nss10 Jul 23, 2026
4f0cabb
gen3 version bump
nss10 Jul 23, 2026
873ca39
Merge pull request #656 from uc-cdis/feat/add_gen3wf_s3files_iam_perms
nss10 Jul 23, 2026
6a6fba8
bump charts
ajoaugustine Jul 23, 2026
aa7c3e3
bump charts
ajoaugustine Jul 23, 2026
73923fe
Merge branch 'master' into fix/pass-root-context-etl
ajoaugustine Jul 23, 2026
29eb51f
bump charts
ajoaugustine Jul 23, 2026
247f64e
Merge pull request #659 from uc-cdis/fix/pass-root-context-etl
ajoaugustine Jul 23, 2026
0223982
move `storage` to `Kubernetes.Storage` and remove unused fields + Upd…
nss10 Jul 23, 2026
c17a15d
[COPY #635] integrate funnel helm chart (#637)
nss10 Jul 24, 2026
054cdd6
Merge branch 'master' into fix/add-requestor-g3auto
emalinowski Jul 27, 2026
4a623a4
Added fix to postgres values in gen3 chart
emalinowski Jul 28, 2026
c443a9b
Merge pull request #655 from uc-cdis/fix/add-requestor-g3auto
emalinowski Jul 28, 2026
229492c
Add eksSG to gen3-workflow helm chart
nss10 Jul 30, 2026
766377c
gen3-workflow s3:ListMultipartUploads + _IMAGE_PULL_POLICY tag (#661)
paulineribeyre Jul 30, 2026
49ec4d1
Merge branch 'master' of https://github.com/uc-cdis/gen3-helm into ch…
nss10 Jul 31, 2026
2ad1417
Version bump gen3-workflow
nss10 Jul 31, 2026
3f37055
Merge pull request #663 from uc-cdis/chore/add_eksSGNames_gen3wf
nss10 Jul 31, 2026
7cd575a
Merge branch 'master' of https://github.com/uc-cdis/gen3-helm into fu…
nss10 Jul 31, 2026
8da5d4f
Add s3:ListBucketVersions to crossplane.yaml
paulineribeyre Jul 31, 2026
fe42678
Merge pull request #665 from uc-cdis/funnel-s3files
nss10 Jul 31, 2026
1e77307
Update efs-csi-driver.yaml
emalinowski Jul 31, 2026
3a12e75
feat(config): let configuration get passed through for cert-manager
jbarno Aug 4, 2026
9ed3c1d
fix(syntax): nindent at the end
jbarno Aug 4, 2026
83e5a39
Merge pull request #667 from uc-cdis/feat/configure_cert_manager
emalinowski Aug 4, 2026
a06f4bd
Merge remote-tracking branch 'origin/master' into feat/add-gen3-embed…
markxiao Aug 4, 2026
1e4cc55
Update efs-csi-driver.yaml
emalinowski Aug 4, 2026
8dd4efa
update
markxiao Aug 4, 2026
0dcb6d6
Merge branch 'master' into feat/efs-csi-driver
emalinowski Aug 5, 2026
b59f470
Bumped chart version
emalinowski Aug 5, 2026
b1589eb
update
markxiao Aug 5, 2026
e3ec67a
version bump
markxiao Aug 5, 2026
cf02da5
bump more versions
markxiao Aug 5, 2026
a46820e
Merge pull request #646 from uc-cdis/feat/efs-csi-driver
emalinowski Aug 7, 2026
e57a4ef
Merge branch 'master' into feat/add-gen3-embeddings
Avantol13 Aug 7, 2026
3730409
update
markxiao Aug 7, 2026
07aeeb6
Merge pull request #668 from uc-cdis/feat/add-gen3-embeddings
jawadqur Aug 10, 2026
cd66e7b
Add conditional rewritePath support in revproxy configuration
jawadqur Jun 9, 2026
886e96a
Merge pull request #617 from uc-cdis/rewrite-conditinoal
jawadqur Aug 10, 2026
1021710
include db bootstrap, pushsecret
ajoaugustine Aug 10, 2026
1c8bf69
Fix funnel 'replicas' to use configured value (#674)
paulineribeyre Aug 11, 2026
a338503
fix(BDC-1250): Adds default preferred_type for DRS 1.5
k-burt-uch Aug 10, 2026
fbbd620
Bumping Gen3 version
k-burt-uch Aug 11, 2026
319108a
Merge pull request #671 from uc-cdis/fix/drs_1-5_fixes
k-burt-uch Aug 11, 2026
44c7614
Merge branch 'master' into fix/gen3-embeddings-push-secret
jawadqur Aug 11, 2026
af7fed0
Merge pull request #672 from uc-cdis/fix/gen3-embeddings-push-secret
jawadqur Aug 11, 2026
dbf7279
feat(ci): derive chart versions from git tags
jawadqur Aug 10, 2026
d5b24e0
feat: freeze chart versions in git, resolve them at release time
jawadqur Aug 10, 2026
e4b45b2
Merge pull request #673 from uc-cdis/feat/frozen-chart-versions
jawadqur Aug 12, 2026
28acd1e
Update gen3-user-data-library
ajoaugustine Aug 13, 2026
6c43245
Merge pull request #677 from uc-cdis/fix/gen3-user-data-library-push-…
ajoaugustine Aug 13, 2026
07ff1bf
Added some minor fixes to our charts
emalinowski Aug 18, 2026
742ef34
Merge pull request #680 from uc-cdis/fix/minor-fixes
emalinowski Aug 18, 2026
25283ac
Updated portal builder job to ensure CSS is setup correctly
emalinowski Aug 18, 2026
e6eb068
Merge branch 'master' into fix/portal-css
emalinowski Aug 18, 2026
e721dbc
Merge pull request #681 from uc-cdis/fix/portal-css
emalinowski Aug 18, 2026
a370c81
feat(gen3_embeddings): updates to use uvicorn, local observability, J…
Avantol13 Aug 19, 2026
ef765b2
fix(observabilitiy): fix trace matching to logs
Avantol13 Aug 19, 2026
327013a
chore(docs): docs about observability
Avantol13 Aug 20, 2026
cb724c7
Fix invalid JSON in gen3-workflow crossplane policy document
piotrsenkow Aug 20, 2026
a102f2e
Merge pull request #684 from uc-cdis/fix/gen3-workflow-crossplane-pol…
jbarno Aug 20, 2026
381ce1d
add GEN3_ZENDESK_BRAND_ID to zendesk wrapper
mfshao Aug 21, 2026
15ca25f
Merge branch 'master' into feat/karpenter-interruption-queue
ajoaugustine Aug 21, 2026
367ebf6
Update Chart.yaml
ajoaugustine Aug 21, 2026
4c7bf77
Pick external secret version from values.yaml
nss10 Aug 21, 2026
ca583a4
Merge pull request #613 from uc-cdis/feat/karpenter-interruption-queue
ajoaugustine Aug 21, 2026
0213e7d
Merge branch 'master' into chore/ext_secrets_funnel
krishnaa05 Aug 21, 2026
f335868
Merge branch 'master' into mfshao-patch-1
mfshao Aug 21, 2026
95206b0
Merge pull request #687 from uc-cdis/chore/ext_secrets_funnel
jbarno Aug 21, 2026
b79f448
Merge branch 'master' into mfshao-patch-1
mfshao Aug 21, 2026
42cc46b
Merge pull request #686 from uc-cdis/mfshao-patch-1
mfshao Aug 21, 2026
f01cf02
feat(observability): pyroscope
Avantol13 Aug 25, 2026
06ad7ca
Merge branch 'master' into feat/observability
Avantol13 Aug 26, 2026
88df4e2
chore(breaking): revert breaking service changes, isolate this to onl…
Avantol13 Aug 26, 2026
8f0bcc5
chore(docs): docs updates for pyroscope
Avantol13 Aug 26, 2026
6e57838
chore(docs): update local
Avantol13 Aug 26, 2026
21ef1c0
Merge pull request #683 from uc-cdis/feat/observability
Avantol13 Aug 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/ct.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ chart-repos:
- grafana=https://grafana.github.io/helm-charts
- calypr=https://calypr.github.io/helm-charts
helm-extra-args: --timeout 600s
check-version-increment: true
# Chart versions are frozen at a placeholder in git and derived from tags at
# release time, so there is no per-PR bump to enforce.
check-version-increment: false
debug: false
validate-maintainers: false
helm-dependency-extra-args: "--skip-refresh"
helm-dependency-extra-args: "--skip-refresh"
202 changes: 202 additions & 0 deletions .github/scripts/regenerate_local_alloy_values.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
#!/usr/bin/env python3
"""
Regenerate examples/local_alloy_values.yaml from the Alloy chart's own configuration.

``helm/alloy/values.yaml`` carries Alloy's whole configuration in a single YAML string,
``alloy.alloyConfigmapData``. Helm can only replace such a value wholesale, never merge into it,
so the local-development overlay has to contain a full copy. This script produces that copy so
it stays byte-identical to the chart apart from a fixed set of substitutions: the three write
endpoints, which in the chart point at Mimir, Loki and Tempo hostnames that do not exist on a
laptop; the two external labels, which the chart writes as Go template syntax that
``templates/alloy-config.yaml`` never renders; and a ``loki.process`` stage inserted after the pod
log source.

That last one is not an address rewrite but an added behaviour, and it is the only place it
exists. It promotes ``trace_id`` to Loki structured metadata and relabels ``service_name`` from the
log line, which is what makes Grafana's trace-to-logs query resolve. The chart has no equivalent,
so moving the stage into ``helm/alloy/values.yaml`` is what would extend correlation to deployed
clusters, and this substitution would then be dropped.

Run it after any change to the chart's configuration:

python3 .github/scripts/regenerate_local_alloy_values.py

It exits non-zero, changing nothing, if the chart no longer contains a line it expects to
rewrite. That means the chart moved and the substitutions below need revisiting - it is the
signal that the overlay would otherwise have drifted silently.
"""

from __future__ import annotations

import sys
from pathlib import Path

REPO_ROOT = Path(__file__).resolve().parents[2]
CHART_VALUES = REPO_ROOT / "helm" / "alloy" / "values.yaml"
OVERLAY = REPO_ROOT / "examples" / "local_alloy_values.yaml"

# Applied in order to the copied configuration, each exactly once.
SUBSTITUTIONS = [
(
' endpoint = "http://monitoring-tempo-distributor.monitoring:4317"\n',
' endpoint = "lgtm.monitoring:4317"\n',
),
(
# X-Scope-OrgID is Mimir's tenant header; the local Prometheus has no notion of tenants.
' url = "https://mimir.example.com/api/v1/push"\n'
"\n"
" headers = {\n"
' "X-Scope-OrgID" = "anonymous",\n'
" }\n"
"\n",
' url = "http://lgtm.monitoring:9090/api/v1/write"\n',
),
(
' url = "https://loki.example.com/loki/api/v1/push"\n',
' url = "http://lgtm.monitoring:3100/loki/api/v1/push"\n',
),
(
' loki.source.kubernetes "pods" {\n'
" targets = discovery.relabel.all_pods.output\n"
" forward_to = [loki.write.endpoint.receiver]\n"
" }\n",
' loki.source.kubernetes "pods" {\n'
" targets = discovery.relabel.all_pods.output\n"
" forward_to = [loki.process.pod_logs.receiver]\n"
" }\n"
"\n"
" // Gen3 services log JSON carrying the OpenTelemetry trace_id. Promoting it to\n"
" // structured metadata is what lets Grafana's trace-to-logs query filter on\n"
' // `| trace_id = "..."` with no parser stage, which is how the Tempo datasource in\n'
" // the local LGTM image is provisioned. It deliberately does not become a stream\n"
" // label: a per-request value there would multiply Loki's stream cardinality.\n"
" //\n"
" // Lines that are not JSON, such as etcd and kube-proxy output, extract nothing and\n"
" // pass through unchanged.\n"
' loki.process "pod_logs" {\n'
" forward_to = [loki.write.endpoint.receiver]\n"
"\n"
" stage.json {\n"
' expressions = { trace_id = "trace_id", span_id = "span_id", otel_service = "service" }\n'
" }\n"
"\n"
" stage.structured_metadata {\n"
' values = { trace_id = "", span_id = "" }\n'
" }\n"
"\n"
" // Each line reports the service.name its span was recorded under. Using that as\n"
" // the stream label is what keeps logs joinable to traces: Grafana builds its\n"
" // trace-to-logs query from service.name, while Loki would otherwise derive\n"
" // service_name from the pod's `app` label. Those two spellings differ whenever a\n"
" // service names itself with underscores, and the join then silently finds nothing.\n"
" //\n"
" // Lines logged outside a span extract nothing here and keep Loki's derived value.\n"
" stage.labels {\n"
' values = { service_name = "otel_service" }\n'
" }\n"
" }\n",
),
# Once per write endpoint, hence the repeated pairs.
(' cluster = "{{ .Values.cluster }}",\n', ' cluster = "local-kind",\n'),
(' project = "{{ .Values.project }}",\n', ' project = "local",\n'),
(' cluster = "{{ .Values.cluster }}",\n', ' cluster = "local-kind",\n'),
(' project = "{{ .Values.project }}",\n', ' project = "local",\n'),
]

HEADER = """\
# GENERATED by .github/scripts/regenerate_local_alloy_values.py - re-run that script rather than
# editing alloyConfigmapData below by hand.
#
# Grafana Alloy sized for a kind cluster, writing to the single-pod LGTM stack described in
# docs/local-observability.md. Install with:
#
# helm dependency update helm/alloy
# helm upgrade --install alloy ./helm/alloy -n monitoring -f examples/local_alloy_values.yaml
#
# The release must be named `alloy` in namespace `monitoring`: that is the collector address
# Gen3 service images have baked in as OTEL_EXPORTER_OTLP_ENDPOINT.
alloy:
controller:
type: deployment
replicas: 1
# helm/alloy/values.yaml pins Alloy to topology.kubernetes.io/zone=us-east-1a. A kind node
# carries no zone label, so without this the pod never leaves Pending. It has to be null
# rather than {}: Helm merges an empty map, which leaves the chart's affinity in place, and
# only an explicit null deletes the key.
affinity: null

alloy:
stabilityLevel: "public-preview"
uiPathPrefix: /alloy
# Lists replace rather than merge, so the OTLP ports have to be restated here.
extraPorts:
- name: "otel-grpc"
port: 4317
targetPort: 4317
protocol: "TCP"
- name: "otel-http"
port: 4318
targetPort: 4318
protocol: "TCP"
# A single replica has nobody to gossip with, and the peer lookups are noise in the logs.
clustering:
enabled: false
# The parent chart renders the alloy-gen3 ConfigMap; letting the subchart render one too
# would collide on the name.
configMap:
create: false
name: alloy-gen3
key: config
resources:
requests:
cpu: 100m
memory: 256Mi

# Copied from helm/alloy/values.yaml, changing the three write endpoints and the two external
# labels, and inserting the loki.process stage that follows the pod log source. That stage is
# local-only: the chart has no equivalent, so trace-to-logs correlation works here and not in a
# cluster deployed from helm/alloy.
#
# The labels are written out literally on purpose. templates/alloy-config.yaml renders this
# with toYaml rather than tpl, so any {{ }} left in here reaches the ConfigMap unrendered.
alloyConfigmapData: |
"""

CONFIG_KEY = " alloyConfigmapData: |"


def main() -> int:
"""
Write the overlay from the current chart configuration.

Returns:
int: 0 on success, 1 if the chart no longer matches what the substitutions expect.
"""
lines = CHART_VALUES.read_text().splitlines(keepends=True)

try:
start = next(i for i, line in enumerate(lines) if line.startswith(CONFIG_KEY))
except StopIteration:
print(f"{CHART_VALUES} has no '{CONFIG_KEY.strip()}' key", file=sys.stderr)
return 1

# alloyConfigmapData is the last key in the file, so the config block runs to the end.
config = "".join(lines[start + 1 :]).rstrip("\n") + "\n"

for needle, replacement in SUBSTITUTIONS:
if needle not in config:
print(f"chart configuration no longer contains:\n{needle}", file=sys.stderr)
return 1
config = config.replace(needle, replacement, 1)

if "{{" in config:
print("template syntax left in the copied configuration", file=sys.stderr)
return 1

OVERLAY.write_text(HEADER + config)
print(f"wrote {OVERLAY} ({len(config.splitlines())} configuration lines)")
return 0


if __name__ == "__main__":
sys.exit(main())
Loading
Loading