fix: preserve directory structure for feature overlay kustomize build
Kustomize rejects absolute paths for resource references. Instead of rewriting ../../base to an absolute path, copy both base and overlay into a temp directory preserving the relative path structure. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -311,10 +311,12 @@ jobs:
|
|||||||
done
|
done
|
||||||
- name: Substitute placeholders and deploy
|
- name: Substitute placeholders and deploy
|
||||||
run: |
|
run: |
|
||||||
# Work on a copy so we don't modify the repo
|
# Work on a copy preserving the directory structure so ../../base resolves
|
||||||
cp -r deploy/overlays/feature /tmp/feature-overlay
|
mkdir -p /tmp/feature-deploy/deploy/overlays
|
||||||
|
cp -r deploy/base /tmp/feature-deploy/deploy/base
|
||||||
|
cp -r deploy/overlays/feature /tmp/feature-deploy/deploy/overlays/feature
|
||||||
# Substitute all BRANCH_* placeholders
|
# Substitute all BRANCH_* placeholders
|
||||||
for f in /tmp/feature-overlay/*.yaml; do
|
for f in /tmp/feature-deploy/deploy/overlays/feature/*.yaml; do
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s|BRANCH_NAMESPACE|${BRANCH_NS}|g" \
|
-e "s|BRANCH_NAMESPACE|${BRANCH_NS}|g" \
|
||||||
-e "s|BRANCH_SCHEMA|${BRANCH_SCHEMA}|g" \
|
-e "s|BRANCH_SCHEMA|${BRANCH_SCHEMA}|g" \
|
||||||
@@ -322,9 +324,7 @@ jobs:
|
|||||||
-e "s|BRANCH_SHA|${{ github.sha }}|g" \
|
-e "s|BRANCH_SHA|${{ github.sha }}|g" \
|
||||||
"$f"
|
"$f"
|
||||||
done
|
done
|
||||||
# Fix kustomization base path (since we moved the overlay)
|
kubectl apply -k /tmp/feature-deploy/deploy/overlays/feature
|
||||||
sed -i 's|../../base|'"$(pwd)"'/deploy/base|g' /tmp/feature-overlay/kustomization.yaml
|
|
||||||
kubectl apply -k /tmp/feature-overlay
|
|
||||||
- name: Wait for init-job
|
- name: Wait for init-job
|
||||||
run: |
|
run: |
|
||||||
kubectl -n "$BRANCH_NS" wait --for=condition=complete job/init-schema --timeout=60s || \
|
kubectl -n "$BRANCH_NS" wait --for=condition=complete job/init-schema --timeout=60s || \
|
||||||
|
|||||||
Reference in New Issue
Block a user