Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
251 commits
Select commit Hold shift + click to select a range
d455333
Providing initial zuul preprod setup (#1459)
LukasCuperDT Dec 3, 2025
e4b8b15
Remove pool2, use only pool1 for zuul preprod
LukasCuperDT Dec 3, 2025
f20aaeb
Fix zuul preprod: remove node selectors, fix zookeeper certs, add exe…
LukasCuperDT Dec 3, 2025
aa1adcd
Add explicit image fields to deployment patches to prevent strategic …
LukasCuperDT Dec 3, 2025
c0381cf
Use JSON patches to properly remove nodeSelector fields
LukasCuperDT Dec 3, 2025
c3206cb
Remove hardcoded node selectors from base components
LukasCuperDT Dec 3, 2025
ed92248
Fix PVC storage class issues
LukasCuperDT Dec 3, 2025
1da5a6a
Change zuul-config PVC storage class to nfs-rw
LukasCuperDT Dec 3, 2025
980e008
Disable name suffix hash for zuul-config and nodepool-config secrets
LukasCuperDT Dec 3, 2025
e17dce7
Fix container names in patches to match base components
LukasCuperDT Dec 3, 2025
f97c5ab
Fix SSH key mounts - use /var/lib/zuul-ssh instead of /etc/zuul
LukasCuperDT Dec 3, 2025
5ca9f9d
Add SSH key mounts to scheduler deployment
LukasCuperDT Dec 3, 2025
bbe20c2
Fix scheduler container name in zuul-volumes-patch
LukasCuperDT Dec 3, 2025
9770d35
Remove duplicate project entries from tenant config
LukasCuperDT Dec 3, 2025
0021e1d
Remove GitLab config projects to fix duplicate project error
LukasCuperDT Dec 3, 2025
3d83b71
Add GitLab projects and untrusted-projects to preprod tenant
LukasCuperDT Dec 3, 2025
82525bc
fix: nodepool-launcher config path and zuul-config git init
LukasCuperDT Dec 3, 2025
50fce52
fix: add clouds.yaml mount for nodepool and fix zuul-config git clone
LukasCuperDT Dec 3, 2025
76ab22b
fix: remove zuul-config-deployment override to use fixed base
LukasCuperDT Dec 3, 2025
444b42b
fix: zuul-config syncer to handle missing git repo
LukasCuperDT Dec 3, 2025
f90cdc8
fix: remove zuul-instance-config from base, add ZUUL_CONFIG_REPO env …
LukasCuperDT Dec 3, 2025
e10327d
fix: remove duplicate configMapGenerator section
LukasCuperDT Dec 3, 2025
c3a4203
fix: use access keys instead of username/password for nodepool OpenSt…
LukasCuperDT Dec 3, 2025
8ed7c34
fix: remove nodepool-launcher-patch that created duplicate container
LukasCuperDT Dec 3, 2025
819f22d
feat: add oauth2-proxy authentication to zuul-web ingress
LukasCuperDT Dec 3, 2025
177bfb0
revert: remove oauth2-proxy annotations (oauth2-proxy not deployed)
LukasCuperDT Dec 3, 2025
e6f86f6
Providing oauth2-proxy for zuul
LukasCuperDT Dec 3, 2025
aa705c9
feat: add oauth2-proxy for Zuul with Zitadel OIDC (correct path)
LukasCuperDT Dec 3, 2025
7b1737d
fix: add deployment patch to set correct serviceAccount name
LukasCuperDT Dec 3, 2025
7840e5f
fix: update oauth2-proxy hostname to zuul-oauth2-proxy.eco-preprod.ts…
LukasCuperDT Dec 3, 2025
b5623bf
fix: add whitelist_domains to oauth2-proxy config to allow Zuul redir…
LukasCuperDT Dec 3, 2025
6cb0a85
fix: add prompt=login and OIDC claims config to fix interaction_requi…
LukasCuperDT Dec 3, 2025
c9dcb5c
fix: remove Zuul auth config since oauth2-proxy handles authentication
LukasCuperDT Dec 3, 2025
f58bc79
fix: remove PKCE config, use standard Authorization Code flow for Zit…
LukasCuperDT Dec 3, 2025
63726f8
fix: add /api/tenants to skip_auth_routes to prevent redirect loop
LukasCuperDT Dec 3, 2025
6966303
fix: add cookie_domain and reverse_proxy settings to fix CSRF token e…
LukasCuperDT Dec 3, 2025
a744f5b
fix: use cookie_samesite=none with cookie_domains and force_https=true
LukasCuperDT Dec 3, 2025
42fddfe
fix: remove force_https and https_address since we're behind nginx in…
LukasCuperDT Dec 3, 2025
c97f35a
fix: disable hash suffix for zuul-tenants ConfigMap
LukasCuperDT Dec 3, 2025
4789ac6
fix: add fsGroup to zuul-scheduler for secret file permissions
LukasCuperDT Dec 3, 2025
63efe0d
feat: configure preprod to use zuul-config repo
LukasCuperDT Dec 3, 2025
4245b69
feat: use render_config.py for preprod tenant like production
LukasCuperDT Dec 3, 2025
135df1b
fix: remove zuul-tenants ConfigMap since render_config.py generates c…
LukasCuperDT Dec 3, 2025
3fad341
fix: remove zuul-tenants volume mount from scheduler - render_config.…
LukasCuperDT Dec 3, 2025
1ea7bc8
fix: use file paths for SSH keys instead of embedding in zuul.conf
LukasCuperDT Dec 3, 2025
175044a
fix: checkout preprod branch in zuul-config deployment
LukasCuperDT Dec 3, 2025
4076b1a
chore: remove hardcoded default-branch to support multi-branch deploy…
LukasCuperDT Dec 3, 2025
92f339c
test: trigger zuul check pipeline
LukasCuperDT Dec 3, 2025
614106a
test: verify GitHub webhook delivers to preprod Zuul
LukasCuperDT Dec 3, 2025
f9dfd81
fix: allow GitHub webhooks through oauth2-proxy by adding /api/connec…
LukasCuperDT Dec 3, 2025
5721876
test: verify webhook delivery after oauth2-proxy skip_auth_routes fix
LukasCuperDT Dec 3, 2025
142f3ac
fix: bypass OAuth2 authentication for GitHub webhook endpoint in ngin…
LukasCuperDT Dec 3, 2025
3dc7c5b
test: final webhook test after nginx ingress auth bypass
LukasCuperDT Dec 3, 2025
ca42fe3
fix: use server-snippet instead of configuration-snippet for webhook …
LukasCuperDT Dec 3, 2025
e397faf
fix: create separate ingress for webhook endpoint without OAuth2 auth…
LukasCuperDT Dec 3, 2025
00c36c5
test: webhook with separate ingress for /api/connection
LukasCuperDT Dec 3, 2025
1199bf1
test: verify Zuul GitHub App integration after installation
LukasCuperDT Dec 3, 2025
2f875e2
feat: add third-party-check pipeline jobs
LukasCuperDT Dec 3, 2025
16efc05
fix: remove third-party-check from preprod
LukasCuperDT Dec 3, 2025
7605a3d
fix: remove project config from preprod to avoid conflicts with tenan…
LukasCuperDT Dec 3, 2025
b8383a0
Providing new project.yaml
LukasCuperDT Dec 3, 2025
034be38
Add preprod branch jobs excluding gitea
LukasCuperDT Dec 3, 2025
cdc80b1
Add third-party-check pipeline jobs for preprod branch
LukasCuperDT Dec 3, 2025
c98db80
Test: Validate preprod pipeline configuration
LukasCuperDT Dec 3, 2025
47bf9a8
Remove branch restrictions from third-party-check for preprod PRs
LukasCuperDT Dec 3, 2025
5df8aa1
Remove preprod jobs from in-repo config (moved to tenant config)
LukasCuperDT Dec 3, 2025
9487078
Simplify preprod jobs to environment-agnostic ones
LukasCuperDT Dec 3, 2025
26fa271
Test: Validate simplified preprod config
LukasCuperDT Dec 3, 2025
fa28cf3
Remove default-branch and templates from preprod config
LukasCuperDT Dec 3, 2025
6a7b8b8
Remove default-branch and templates from preprod config
LukasCuperDT Dec 3, 2025
966bf81
Restore working preprod config: empty project.yaml
LukasCuperDT Dec 3, 2025
ed5f79f
Add zuul-project-config to preprod tenant for real jobs
LukasCuperDT Dec 3, 2025
5863fc8
Add otc-zuul-jobs to preprod tenant for parent job definitions
LukasCuperDT Dec 3, 2025
0e8736a
Test: Validate real jobs execution in preprod
LukasCuperDT Dec 3, 2025
bd885b7
Load all config repos from preprod branch
LukasCuperDT Dec 3, 2025
19d0d53
Test: Trigger with all repos on preprod
LukasCuperDT Dec 3, 2025
ef17fc1
Test: Final validation
LukasCuperDT Dec 3, 2025
c8c169d
Test: Verify real jobs with otc-zuul-jobs in tenant
LukasCuperDT Dec 3, 2025
3a82709
Test: Trigger after loading base jobs from main
LukasCuperDT Dec 3, 2025
eb58857
Test: Verify jobs with zuul-jobs base definitions
LukasCuperDT Dec 3, 2025
3e527a9
feat(preprod): add pod-fedora-latest and ubuntu-jammy nodepool labels
LukasCuperDT Dec 3, 2025
ea664cd
feat(preprod): add pod-fedora-latest and ubuntu-jammy nodepool labels
LukasCuperDT Dec 3, 2025
d28c01e
feat(preprod): increase zuul-executor resources to 16GB RAM and 4 CPU
LukasCuperDT Dec 3, 2025
303845e
fix: correct executor container name in resources patch
LukasCuperDT Dec 3, 2025
37b0749
Anubis preprod (#1482)
SebastianGode Dec 4, 2025
0e18f47
Migrate Zuul configuration to use consolidated zuul-infra repository
LukasCuperDT Dec 4, 2025
8ef6b02
Update Zuul to use consolidated zuul-infra repository and latest upst…
LukasCuperDT Dec 4, 2025
ae9e569
Fix tenant_config path in zuul.conf for preprod
LukasCuperDT Dec 4, 2025
c389833
Fix tenant_config path to correct mount point
LukasCuperDT Dec 4, 2025
587ad93
Add tenant config ConfigMap and mount to scheduler
LukasCuperDT Dec 4, 2025
7e8a703
Fix tenant_config path and remove broken configmap
LukasCuperDT Dec 4, 2025
3b64946
Fix tenant_config to point to main.yaml with proper YAML list format
LukasCuperDT Dec 4, 2025
7f9b931
Merge branch 'preprod' into test-real-jobs
LukasCuperDT Dec 4, 2025
c91e669
Add Zuul job configuration for linters
LukasCuperDT Dec 4, 2025
cf79382
Move job configuration to zuul.d/project.yaml
LukasCuperDT Dec 4, 2025
892833d
Add minimal site-vars.yaml for preprod executor
LukasCuperDT Dec 4, 2025
26768c5
Fix ZooKeeper port from 2281 to 2181 in system-config nodepool.yaml
LukasCuperDT Dec 4, 2025
b2d6f30
Revert ZooKeeper port to 2281 to match actual ZK service
LukasCuperDT Dec 4, 2025
a75b074
Add check pipeline jobs to system-config project
LukasCuperDT Dec 5, 2025
7eb2244
Fix pod-debian: use zuul-executor image with Python installed
LukasCuperDT Dec 5, 2025
d41b4de
Remove context from preprod-k8s provider - use in-cluster auth
LukasCuperDT Dec 5, 2025
e2d6d1f
Reduce pod-debian resources: 1 CPU and 1Gi memory
LukasCuperDT Dec 5, 2025
20de586
Optimize resource requests based on actual usage metrics
LukasCuperDT Dec 5, 2025
2dd8a86
Fix pod-debian image: use opentelekomcloud/zuul-executor:11.1.0
LukasCuperDT Dec 5, 2025
e4b5ccb
Fix site-vars.yaml: add empty dict for Ansible
LukasCuperDT Dec 5, 2025
df9436e
Fix python-path: use /usr/local/bin/python3
LukasCuperDT Dec 5, 2025
1cb4ffa
test: trigger new build to test workspace copy fix
LukasCuperDT Dec 8, 2025
ce4ed27
test: trigger check with workspace copy fix
LukasCuperDT Dec 8, 2025
e0bb547
Merge branch 'preprod' into test-real-jobs
LukasCuperDT Dec 8, 2025
4337241
fix: remove non-existent tox-linters-ansible-devel job
LukasCuperDT Dec 8, 2025
7377911
fix: remove non-existent tox-linters-ansible-devel job from test-real…
LukasCuperDT Dec 8, 2025
a8bd271
chore: remove project config from feature branch - managed in preprod
LukasCuperDT Dec 8, 2025
20be17d
fix: restore project.yaml - needed for speculative merge
LukasCuperDT Dec 8, 2025
28b86f3
fix: correct project references format in infra-prod.yaml
LukasCuperDT Dec 8, 2025
a58ff20
Revert "fix: correct project references format in infra-prod.yaml"
LukasCuperDT Dec 8, 2025
b9cc82d
merge preprod to get latest fixes
LukasCuperDT Dec 8, 2025
de6d02c
test: trigger zuul with main branch fix
LukasCuperDT Dec 8, 2025
7ede6d9
test: validate parent job resolution fix
LukasCuperDT Dec 8, 2025
d3a4215
test: validate parent job resolution after zuul-jobs fix
LukasCuperDT Dec 8, 2025
7c6d77e
test: trigger check pipeline for real jobs validation
LukasCuperDT Dec 8, 2025
7c2f0f8
test: verify parent job resolution after zuul-jobs fix
LukasCuperDT Dec 8, 2025
a8c582f
test: verify otc-tox parent fix resolves job matching
LukasCuperDT Dec 8, 2025
166a951
test: verify otc-tox parent fix resolves job matching
LukasCuperDT Dec 8, 2025
5b97065
test: validate unittests parent resolves job matching issue
LukasCuperDT Dec 8, 2025
6128568
feat: implement shared NFS storage for builds directory
LukasCuperDT Dec 8, 2025
dc382ba
fix: eliminate dual PVC mount - reuse zuul-config-data volume
LukasCuperDT Dec 8, 2025
2459905
test: trigger linters job with shared NFS mount
LukasCuperDT Dec 8, 2025
bbe707d
test: verify linters job with shared NFS mount
LukasCuperDT Dec 8, 2025
6e6fb45
test: verify linters job execution
LukasCuperDT Dec 8, 2025
c2e2eff
test: trigger linters job with new config
LukasCuperDT Dec 8, 2025
bd24cac
fix(zuul): allow system-config to load project configuration
LukasCuperDT Dec 8, 2025
70a34e9
fix(zuul): allow system-config to load project configuration
LukasCuperDT Dec 8, 2025
8f637c2
refactor(zuul): split config into prod and preprod directories
LukasCuperDT Dec 8, 2025
e597932
merge: preprod/prod split configuration from test-real-jobs
LukasCuperDT Dec 8, 2025
116d5a9
refactor(zuul): organize configs - prod files to prod/, simplified pr…
LukasCuperDT Dec 8, 2025
6f1db60
fix(nodepool): create pods in zuul namespace to access shared PVC
LukasCuperDT Dec 8, 2025
9c66358
Revert: remove namespace field from nodepool config (not supported)
LukasCuperDT Dec 8, 2025
4579eb4
fix(nodepool): use direct NFS mount instead of PVC for cross-namespac…
LukasCuperDT Dec 8, 2025
5cd0a05
fix(nodepool): use zuul-worker image instead of executor for pod nodes
LukasCuperDT Dec 8, 2025
af9f743
fix(nodepool): revert to zuul-worker image for pod nodes
LukasCuperDT Dec 9, 2025
d539115
fix(nodepool): increase pod resources for linters
LukasCuperDT Dec 9, 2025
3584c4e
Configure Swift log storage for Zuul preprod
LukasCuperDT Dec 9, 2025
eaa4f8d
fix: convert cpu and memory to numeric values for nodepool quota calc…
LukasCuperDT Dec 9, 2025
09d28cf
fix: mount clouds.yaml to executor for Swift log uploads
LukasCuperDT Dec 9, 2025
26057a1
fix: use secret instead of configmap for clouds.yaml mount
LukasCuperDT Dec 9, 2025
84424ce
fix: mount clouds.yaml to /var/run/zuul and set OS_CLIENT_CONFIG_FILE
LukasCuperDT Dec 9, 2025
0dd3f27
fix: copy clouds.yaml to accessible location via postStart hook
LukasCuperDT Dec 9, 2025
9d874d5
fix: add trusted_ro_paths for openstack-config directory in bubblewrap
LukasCuperDT Dec 11, 2025
aeb9d63
fix: add /var/lib/zuul/openstack-config to trusted_ro_paths in zuul.conf
LukasCuperDT Dec 11, 2025
1471590
enabling storageClass for retain policy
LukasCuperDT Dec 15, 2025
7fe9f0d
Changing of reclaim policy of PVs to Retain (#1493)
LukasCuperDT Dec 15, 2025
8b28bb2
Update openapi to 0.4.2 (#1497)
vladimirhasko Dec 19, 2025
6c714ae
Fix Umami 504 timeout: HTTP probes, block attack paths, increase time…
LukasCuperDT Jan 7, 2026
440d822
SFS Turbo tunning
LukasCuperDT Jan 7, 2026
09cfbd9
Mount tenant config as configmap in zuul-scheduler
LukasCuperDT Jan 7, 2026
3ce4a51
Configure nodepool to use python-tox:latest image for pod-debian label
LukasCuperDT Jan 8, 2026
1522640
Vulrnaribility fix
LukasCuperDT Jan 8, 2026
7d3c210
Fix pod-debian CrashLoopBackOff: Replace corrupted python-tox image w…
LukasCuperDT Jan 9, 2026
32a5f9f
Revert to python-tox:latest - image will be rebuilt
LukasCuperDT Jan 9, 2026
b29e932
Add shell-type to pod-debian label for proper kubectl exec connection
LukasCuperDT Jan 9, 2026
fe3e147
Add context to preprod-k8s provider for proper kubectl access
LukasCuperDT Jan 9, 2026
217761a
Fix preprod jobs: Use pod-debian nodeset and remove third-party-check
LukasCuperDT Jan 9, 2026
5a2c9f5
Add kubectl connection for preprod k8s executor
LukasCuperDT Jan 12, 2026
f284638
Fix Kubernetes driver name (kubernetes not kubectl)
LukasCuperDT Jan 12, 2026
10ddcfb
Remove Kubernetes connection from zuul.conf - not needed, nodepool ha…
LukasCuperDT Jan 12, 2026
3b1fe8f
Exclude third-party-check pipeline from preprod tenant
LukasCuperDT Jan 12, 2026
fea5aaa
Revert pipeline changes - keep pipelines in zuul-infra for multi-proj…
LukasCuperDT Jan 12, 2026
394559c
Exclude prod config from preprod tenant
LukasCuperDT Jan 12, 2026
a3efe5c
Remove prod config from preprod branch
LukasCuperDT Jan 12, 2026
0be6207
Remove extra-config-paths - load from default zuul.d/
LukasCuperDT Jan 12, 2026
95d0bea
Re-add extra-config-paths to explicitly load preprod config
LukasCuperDT Jan 12, 2026
9cfe9ca
Add context: preprod to pod-debian label
LukasCuperDT Jan 12, 2026
24a20d1
Set imagePullPolicy to Always for python-tox pods
LukasCuperDT Jan 12, 2026
c6282c9
Mount NFS root and use subPath for builds directory
LukasCuperDT Jan 12, 2026
c2ca195
Mount NFS /builds directory directly without subPath
LukasCuperDT Jan 12, 2026
0835b3c
Fix nodepool NFS mount for preprod - use root path with subPath
LukasCuperDT Jan 13, 2026
2f31cdd
Temporarily disable NFS mount for preprod nodepool to test pod creation
LukasCuperDT Jan 13, 2026
bf39e38
Configure preprod nodepool pods to run as non-root user
LukasCuperDT Jan 13, 2026
a6baae6
Add quay.io image pull secret for python-tox image
LukasCuperDT Jan 13, 2026
cf13e63
Fix Vault path for quay.io auth field
LukasCuperDT Jan 13, 2026
ddefc99
Use spec attribute for pod security context in nodepool
LukasCuperDT Jan 13, 2026
798a82f
Providing new image pull secret
LukasCuperDT Jan 13, 2026
d85beef
Enabling image pull secret creation in CI/CD job's namespace
LukasCuperDT Jan 13, 2026
1038c4d
Enabling secret replicator
LukasCuperDT Jan 13, 2026
248ee1c
Zookeeper enhacements
LukasCuperDT Jan 13, 2026
980896f
Set ANSIBLE_REMOTE_TMP to /home/zuul/.ansible/tmp in executor
LukasCuperDT Jan 13, 2026
0041035
Increase ZooKeeper timeouts to reduce NoNodeError frequency
LukasCuperDT Jan 13, 2026
c596d86
Upgrading zuul's container images and providing the script to repush …
LukasCuperDT Jan 13, 2026
e88999b
Fix nodepool-builder container name mismatch in patch
LukasCuperDT Jan 13, 2026
108ab8b
Mount clouds.yaml in nodepool-builder
LukasCuperDT Jan 13, 2026
aa544ca
Disable nodepool-builder in preprod
LukasCuperDT Jan 13, 2026
187c1fa
Switch from Swift to local NFS storage for Zuul logs
LukasCuperDT Jan 13, 2026
4778a1c
Reuse existing SFS-turbo PVC for zuul-web builds mount
LukasCuperDT Jan 13, 2026
ec9d17c
Fix zuul-web service to use proper ClusterIP instead of headless service
LukasCuperDT Jan 13, 2026
16a0741
Increasing sessiont timmeout and timout of zookeper
LukasCuperDT Jan 13, 2026
e35e133
Fix Ansible remote_tmp configuration for executor
LukasCuperDT Jan 14, 2026
c787e02
Add zuul/zuul-jobs as config-project to preprod tenant
LukasCuperDT Jan 14, 2026
3cb5934
Remove upstream zuul/zuul-jobs from tenant config
LukasCuperDT Jan 14, 2026
634464d
Increase executor resources and load multiplier
LukasCuperDT Jan 14, 2026
a73ab7b
Fix Ansible remote_tmp path to /tmp for kubectl connection
LukasCuperDT Jan 14, 2026
806661b
Change Ansible remote_tmp to /tmp directly
LukasCuperDT Jan 14, 2026
150fec4
Roll back remote_tmp to /home/zuul/ and add remote_user=zuul
LukasCuperDT Jan 14, 2026
cd54344
Change remote_tmp back to /tmp with remote_user=zuul
LukasCuperDT Jan 14, 2026
aa1e869
Enable Ansible pipelining to fix kubectl connection plugin temp direc…
LukasCuperDT Jan 14, 2026
f816052
Use git reset instead of git pull in zuul-config syncer
LukasCuperDT Jan 14, 2026
ad62db9
Fix namespace placement in nodepool config - move to pool level
LukasCuperDT Jan 14, 2026
d5d742e
Revert namespace configuration - type: pod creates dynamic namespaces…
LukasCuperDT Jan 14, 2026
3358566
Rename pod-debian to zuul-debian in nodepool and project configs
LukasCuperDT Jan 14, 2026
e097c02
Update CPN preprod (#1518)
SebastianGode Jan 14, 2026
62fefb2
Configure Swift/OBS log upload and 90-day SFS Turbo retention
LukasCuperDT Jan 14, 2026
deb95a5
Fix clouds.yaml to use password auth instead of application credentials
LukasCuperDT Jan 14, 2026
ee16396
Enable Swift/OBS log upload for Zuul preprod
LukasCuperDT Jan 14, 2026
1df0484
Fix Swift cloud config name for log upload
LukasCuperDT Jan 14, 2026
16c8bd3
Add explicit OBS endpoint for Swift log upload
LukasCuperDT Jan 14, 2026
4962031
Use Vault references consistently for all cloud config values
LukasCuperDT Jan 14, 2026
e238875
Add playbook to create OBS buckets for Zuul logs
LukasCuperDT Jan 14, 2026
096a426
Add GitOps IAM policy management for OBS Zuul logs
LukasCuperDT Jan 14, 2026
720a88e
Fix bashate linter errors in sync-zuul-images.sh
LukasCuperDT Jan 15, 2026
27bb7fa
OBS manifests for automated creation
LukasCuperDT Jan 15, 2026
34caab7
Force Zuul configuration reload
LukasCuperDT Jan 15, 2026
139077a
Trigger new GitHub status checks
LukasCuperDT Jan 15, 2026
5d32545
Use dedicated log_writer user for Zuul OBS log uploads
LukasCuperDT Jan 15, 2026
a0a8e45
Set Zuul logs to private access
LukasCuperDT Jan 15, 2026
32018af
Add Swift proxy Helm chart for Zuul log storage
LukasCuperDT Jan 15, 2026
1bf12f4
Migrate Swift proxy to full K8s cluster architecture with storage nod…
LukasCuperDT Jan 15, 2026
bbd622f
feat(swift-proxy): Update to use Kolla container images
LukasCuperDT Jan 15, 2026
1a0d7f3
swift-proxy: align preprod pipeline with production
LukasCuperDT Jan 15, 2026
4b374ad
swift-proxy: mount ring files ConfigMap in proxy and storage pods
LukasCuperDT Jan 15, 2026
6078e10
swift-proxy: make ring-builder a regular Job with sync wave
LukasCuperDT Jan 15, 2026
a8aaa58
swift-proxy: set replica factor to 1 for preprod
LukasCuperDT Jan 15, 2026
2cfb0ba
swift-proxy: use Kubernetes API directly to create rings ConfigMap
LukasCuperDT Jan 15, 2026
ebf9e12
swift-proxy: add RBAC for ring-builder job to create ConfigMaps
LukasCuperDT Jan 15, 2026
4d518f4
swift-proxy: remove duplicate ServiceAccount from rbac.yaml
LukasCuperDT Jan 15, 2026
8c25c38
swift: Mount rings at /srv/rings and copy to /etc/swift after Kolla init
LukasCuperDT Jan 15, 2026
e67ee05
swift: Use kolla_set_configs instead of kolla_start
LukasCuperDT Jan 15, 2026
b23007e
zuul: Switch logs to internal Swift cluster
LukasCuperDT Jan 15, 2026
f577cf5
fix(zuul): add git safe.directory to fix zuul-config ownership errors
LukasCuperDT Jan 15, 2026
6a47190
fix(zuul): remove zuul_log_path override to allow dynamic path genera…
LukasCuperDT Jan 15, 2026
8b345fc
fix(zuul): revert clouds.yaml to use OBS with Vault secrets for log s…
LukasCuperDT Jan 15, 2026
f4006d1
fix(zuul): disable log upload temporarily - OBS container access forb…
LukasCuperDT Jan 15, 2026
2737f19
feat(zuul): configure log upload to internal Swift with Vault-based t…
LukasCuperDT Jan 15, 2026
4472917
feat(zuul): use log_writer credentials for internal Swift with logs a…
LukasCuperDT Jan 15, 2026
4747eb8
fix(zuul): remove auth_type for Swift v1 tempauth auto-detection
LukasCuperDT Jan 15, 2026
9a76115
fix(swift): add sync-wave to RBAC resources before Job
LukasCuperDT Jan 15, 2026
82d6314
fix(swift): ensure ServiceAccount annotations are properly merged wit…
LukasCuperDT Jan 15, 2026
1945759
fix(swift): add sync-wave -2 to all ConfigMaps before Job runs
LukasCuperDT Jan 15, 2026
d0e7e64
fix(swift): use logwriter instead of log_writer for tempauth compatib…
LukasCuperDT Jan 15, 2026
e06c4a6
fix: Swift proxy service should only select proxy pods, not storage pods
LukasCuperDT Jan 15, 2026
d75ec8e
fix: Add init container to create Swift device directory structure
LukasCuperDT Jan 15, 2026
398a29c
fix: Replace tempauth with no-auth configuration for internal Zuul lo…
LukasCuperDT Jan 15, 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
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Test webhook trigger
# Test webhook delivery
# Webhook test after oauth2-proxy fix
#Another test
# Final webhook test
# Webhook test with separate ingress
# Test after GitHub App installation
Test preprod pipeline - Wed Dec 3 21:20:32 CET 2025
# Test simplified preprod config
# Test real jobs with full tenant config
# Trigger build with preprod config repos 1764798016
# Final test 1764798277
# Test with zuul-config tenant changes 1764799024
# Test after base jobs fix 1764799709
# Test with zuul-jobs base jobs 1764800726
# Test workspace copy fix - Mon Dec 8 09:56:01 CET 2025
34 changes: 34 additions & 0 deletions inventory/service/group_vars/cloud-iam-policies.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
# IAM Custom Policies for OTC Cloud Resources
# These policies are managed via cloud-identity.yaml playbook

cloud_iam_policies:
- name: OBS-Zuul-Logs-Management
description: "Policy for Zuul to manage OBS buckets for log storage"
cloud: otcci-pool1
type: custom
policy_type: json
policy_document:
Version: "1.1"
Statement:
- Effect: Allow
Action:
- "obs:bucket:CreateBucket"
- "obs:bucket:PutBucketAcl"
- "obs:bucket:ListAllMyBuckets"
- "obs:bucket:GetBucketAcl"
- "obs:object:GetObject"
- "obs:object:PutObject"
- "obs:object:DeleteObject"
- "obs:object:ListMultipartUploadParts"
Resource:
- "obs:*:*:bucket:zuul-*-logs"
- "obs:*:*:object:zuul-*-logs/*"

# IAM Policy Attachments
cloud_iam_policy_attachments:
- policy_name: OBS-Zuul-Logs-Management
cloud: otcci-pool1
project: eu-de_nodepool_pool1
users:
- nodepool_preprod
34 changes: 34 additions & 0 deletions inventory/service/group_vars/cloud-obs-buckets.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
# OBS Buckets Configuration
# These buckets are managed via cloud-obs.yaml playbook

cloud_obs_buckets:
- name: zuul-preprod-logs
cloud: otcci-pool1
acl: public-read
storage_class: STANDARD
description: "Zuul preprod job logs storage"
policy:
Statement:
- Sid: "AllowNodepoolPreproAccess"
Effect: Allow
Principal:
ID:
- "domain/OTC00000000001000000449:user/nodepool_preprod"
Action:
- "GetObject"
- "PutObject"
- "DeleteObject"
- "ListBucket"
- "GetBucketAcl"
Resource:
- "zuul-preprod-logs/*"
- "zuul-preprod-logs"
- Sid: "AllowPublicRead"
Effect: Allow
Principal:
ID: ["*"]
Action:
- "GetObject"
Resource:
- "zuul-preprod-logs/*"
88 changes: 88 additions & 0 deletions kubernetes/helm_charts/local/anubis/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "anubis.fullname" . }}
labels:
{{- include "anubis.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "anubis.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
{{- include "anubis.selectorLabels" . | nindent 8 }}
{{- if .Values.anubis.podLabels }}
{{- toYaml .Values.anubis.podLabels | nindent 8 }}
{{- end }}
{{- if .Values.anubis.podAnnotations }}
annotations:
{{- toYaml .Values.anubis.podAnnotations | nindent 8 }}
{{- end }}
spec:
{{- if .Values.image.pullSecrets }}
imagePullSecrets:
{{- range .Values.image.pullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
securityContext:
runAsNonRoot: true
runAsUser: {{ .Values.anubis.securityContext.runAsUser | default 1000 }}
fsGroup: {{ .Values.anubis.securityContext.fsGroup }}
seccompProfile:
type: RuntimeDefault
containers:
- name: anubis
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
securityContext:
allowPrivilegeEscalation: false
runAsNonRoot: true
runAsUser: {{ .Values.anubis.securityContext.runAsUser | default 1000 }}
capabilities:
drop:
- ALL
ports:
- name: http
containerPort: 8080
- name: metrics
containerPort: 9090
env:
{{- range $name, $value := .Values.anubis.env }}
- name: {{ $name }}
value: "{{ $value }}"
{{- end }}
{{- if .Values.config.enabled }}
- name: POLICY_FNAME
value: "{{ .Values.config.path }}"
{{- end }}
{{- range .Values.anubis.extraEnv }}
- name: {{ .name }}
{{- if .value }}
value: "{{ .value }}"
{{- else if .valueFrom }}
valueFrom:
{{- toYaml .valueFrom | nindent 14 }}
{{- end }}
{{- end }}
volumeMounts:
{{- if .Values.config.enabled }}
- name: anubis-policy
mountPath: {{ dir .Values.config.path | quote }}
{{- end }}
resources:
{{- toYaml .Values.anubis.resources | nindent 12 }}
volumes:
{{- if .Values.config.enabled }}
- name: anubis-policy
configMap:
name: {{ include "anubis.fullname" . }}-policy
{{- end }}
nodeSelector:
{{- toYaml .Values.anubis.nodeSelector | nindent 8 }}
tolerations:
{{- toYaml .Values.anubis.tolerations | nindent 8 }}
affinity:
{{- toYaml .Values.anubis.affinity | nindent 8 }}
Loading
Loading