Skip to main content Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/diegosouzapw/awesome-omni-skill --skill configure-downstream명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
이 저장소의 다른 Skills
Token-efficient tracking for AI orchestration. CLI-first for status updates (~50 tokens), agent fallback for complex ops (~1KB). Use when: updating task status, querying blockers, creating progress files, validating phases.
AshAi extension guidelines for integrating AI capabilities with Ash Framework. Use when implementing vectorization/embeddings, exposing Ash actions as LLM tools, creating prompt-backed actions, or setting up MCP servers. Covers semantic search, LangChain integration, and structured outputs.
This skill should be used when solving hard questions, complex architectural problems, or debugging issues that benefit from GPT-5 Pro or GPT-5.1 thinking models with large file context. Use when standard Claude analysis needs deeper reasoning or extended context windows.
| name | configure-downstream |
| description | Configure Konflux for new Submariner version - creates overlays, tenant config, and RPAs for Y-stream releases. |
| version | 1.0.0 |
| argument-hint | <new-version> |
| user-invocable | true |
| allowed-tools | Bash, Read, Glob |
Configure Downstream Release
Configures Konflux CI/CD for a new Submariner minor version (Y-stream releases).
Usage:
/configure-downstream 0.23
/configure-downstream 0.23.0
What it does:
- Auto-detects previous version from existing overlays
- Creates feature branch (subm-configure-v0.23) from main
- Creates 3 commits with 49 total files:
- Commit 1: 26 YAML overlay files
- Commit 2: 22 auto-generated Kustomize manifests
- Commit 3: 2 ReleasePlanAdmission files (stage + prod)
- Verifies all changes before committing
- Outputs push command and MR instructions
Arguments: $ARGUMENTS
set -euo pipefail
INPUT_VERSION="$ARGUMENTS"
cd ~/konflux/konflux-release-data || {
echo "❌ Error: konflux-release-data repository not found at ~/konflux/konflux-release-data"
exit 1
}
test -f "tenants-config/build-single.sh" || {
echo "❌ Error: Invalid konflux-release-data repository (missing build-single.sh)"
exit 1
}
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
if [ "$CURRENT_BRANCH" != "main" ]; then
echo "❌ Error: Must be on main branch to start"
echo " Current branch: $CURRENT_BRANCH"
echo " Run: git checkout main"
exit 1
fi
git diff-index --quiet HEAD -- 2>/dev/null || {
echo "❌ Error: Working tree has uncommitted changes on main"
echo " Commit or stash changes before running this skill"
git status --short
exit 1
}
git fetch origin main 2>/dev/null || echo "⚠️ git fetch failed - working with cached remote state"
if ! git merge-base --is-ancestor origin/main HEAD 2>/dev/null;
1
| grep -qE || {
1
}
MAJOR_MINOR=$( | grep -oE )
NEW_MINOR=$( | -d. -f2)
NEW=
OVERLAY_DIR=
[ -d ];
1
EXISTING_VERSIONS=$( -1d /[0-9]*-overlay 2>/dev/null | \
xargs -n1 | sed | sed | -n)
[ -z ];
1
PREV_MINOR=$( | -1)
PREV=
PREV_ACM=
NEW_ACM=
[ -lt 0 ];
1
BRANCH=
git show-ref --verify --quiet ;
1
git show-ref --verify --quiet ;
git branch -D >/dev/null 2>&1
git checkout -b || {
1
}
-r
find . -name - sed -i \
-e \
-e \
-e {} +
FILE_COUNT=$(find . -name | -l)
[ -eq 26 ] || { ; 1; }
grep -q kustomization.yaml || { ; 1; }
grep -q *.yaml || { ; 1; }
grep -q component-patch.yaml || { ; 1; }
grep -rEq .;
grep -rE . | -3
1
git add
git commit -s -m
~/konflux/konflux-release-data/tenants-config/cluster/kflux-prd-rh02/tenants/submariner-tenant
grep -q kustomization.yaml || {
sed -i kustomization.yaml
}
~/konflux/konflux-release-data/tenants-config
./build-single.sh submariner-tenant
COUNT=$( * 2>/dev/null | -l)
[ -eq 22 ] || { ; 1; }
git add tenants-config/cluster/kflux-prd-rh02/tenants/submariner-tenant/kustomization.yaml
git add tenants-config/auto-generated/cluster/kflux-prd-rh02/tenants/submariner-tenant/
git commit -s -m
~/konflux/konflux-release-data/config/kflux-prd-rh02.0fk9.p1/product/ReleasePlanAdmission/submariner
sed -i -e \
-e \
-e \
-e \
*
grep -q || { ; 1; }
grep -q || { ; 1; }
COMPONENT_COUNT=$(grep -c )
[ -eq 9 ] || { ; 1; }
grep -q || { ; 1; }
PATCH_MATCHES=$(grep -E * 2>/dev/null)
[ -n ];
| -3
1
git add *
git commit -s -m
then
echo
"❌ Error: Local main is not up to date with origin/main"
echo
" Run: git pull origin main"
exit
fi
echo
"$INPUT_VERSION"
'^0\.[0-9]+(\.[0-9]+)?$'
echo
"❌ Error: Invalid version format '$INPUT_VERSION'"
echo
" Expected: 0.Y or 0.Y.Z (e.g., 0.23 or 0.23.1)"
exit
echo
"$INPUT_VERSION"
'^[0-9]+\.[0-9]+'
echo
"$MAJOR_MINOR"
cut
"0-${NEW_MINOR}"
"$HOME/konflux/konflux-release-data/tenants-config/cluster/kflux-prd-rh02/tenants/submariner-tenant/overlay/application-submariner"
if
"${OVERLAY_DIR}/${NEW}-overlay"
then
echo
"❌ Error: Version ${MAJOR_MINOR} already configured"
echo
" Overlay directory exists: ${NEW}-overlay"
exit
fi
ls
"${OVERLAY_DIR}"
basename
's/-overlay$//'
's/^0-//'
sort
if
"$EXISTING_VERSIONS"
then
echo
"❌ Error: No previous versions found"
echo
" Cannot auto-detect without existing overlays"
echo
" Expected at least one directory matching: ${OVERLAY_DIR}/0-*-overlay"
exit
fi
echo
"$EXISTING_VERSIONS"
tail
"0-${PREV_MINOR}"
"2.$((PREV_MINOR - 7))"
"2.$((NEW_MINOR - 7))"
if
"$((NEW_MINOR - 7))"
then
echo
"❌ Error: ACM version would be negative: 2.$((NEW_MINOR - 7))"
echo
" Minimum supported version is 0.7 (ACM 2.0)"
exit
fi
echo
"✓ Version detection:"
echo
" Previous: ${PREV} (ACM ${PREV_ACM})"
echo
" New: ${NEW} (ACM ${NEW_ACM})"
echo
""
"subm-configure-v${NEW//-/.}"
if
"refs/remotes/origin/$BRANCH"
then
echo
"❌ Error: Branch $BRANCH already exists on remote"
echo
" Delete it first: git push origin --delete $BRANCH"
echo
" Then re-run this skill"
exit
fi
if
"refs/heads/$BRANCH"
then
echo
"⚠️ Local branch $BRANCH exists - deleting and recreating"
"$BRANCH"
fi
"$BRANCH"
echo
"❌ Error: Failed to create branch $BRANCH"
exit
echo
"✓ Created feature branch: $BRANCH"
echo
" (All commits will be made on this branch)"
echo
""
cd
"${OVERLAY_DIR}"
cp
"${PREV}-overlay"
"${NEW}-overlay"
cd
"${NEW}-overlay"
"*.yaml"
exec
"s/$PREV/$NEW/g"
"s/${PREV//-/.}/${NEW//-/.}/g"
"s/\/$PREV_ACM\//\/$NEW_ACM\//g"
"*.yaml"
wc
"$FILE_COUNT"
echo
"❌ Expected 26 YAML files, found $FILE_COUNT"
exit
"nameSuffix: -$NEW"
echo
"❌ nameSuffix not updated in kustomization.yaml"
exit
"value: submariner-$NEW"
echo
"❌ Application name not updated to submariner-$NEW"
exit
"value: release-${NEW//-/.}"
echo
"❌ Git branch not updated to release-${NEW//-/.}"
exit
if
"${PREV}|${PREV//-/.}|${PREV_ACM}"
then
echo
"❌ Old version references still present:"
"${PREV}|${PREV//-/.}|${PREV_ACM}"
head
exit
fi
echo
" ✓ All verifications passed"
cd
"$(git rev-parse --show-toplevel)"
"tenants-config/cluster/kflux-prd-rh02/tenants/submariner-tenant/overlay/application-submariner/${NEW}-overlay"
"Add Submariner v${NEW//-/.} overlay structure"
echo
"✅ Commit 1: Created overlay structure (26 files)"
echo
" - Copied ${PREV}-overlay → ${NEW}-overlay"
echo
" - Updated version strings (${PREV} → ${NEW}, ${PREV_ACM} → ${NEW_ACM})"
echo
" - Verified: nameSuffix, application name, git branch, no old versions"
echo
" - Committed: Add Submariner v${NEW//-/.} overlay structure"
echo
""
cd
"overlay/application-submariner/$NEW-overlay"
"/overlay\\/application-submariner\\/$PREV-overlay/a\\ - overlay/application-submariner/$NEW-overlay"
cd
ls
"auto-generated/cluster/kflux-prd-rh02/tenants/submariner-tenant/"
"-${NEW}.yaml"
wc
"$COUNT"
echo
"❌ Error: Expected 22 auto-generated files, found $COUNT"
exit
cd
"$(git rev-parse --show-toplevel)"
"Enable Submariner v${NEW//-/.} in tenant config"
echo
"✅ Commit 2: Enabled overlay in tenant config (22 files)"
echo
" - Added overlay entry to kustomization.yaml"
echo
" - Ran build-single.sh submariner-tenant"
echo
" - Generated 22 auto-generated manifests"
echo
" - Committed: Enable Submariner v${NEW//-/.} in tenant config"
echo
""
cd
cp
"submariner-release-plan-admission-prod-$PREV.yaml"
"submariner-release-plan-admission-prod-$NEW.yaml"
cp
"submariner-release-plan-admission-stage-$PREV.yaml"
"submariner-release-plan-admission-stage-$NEW.yaml"
"s/$PREV/$NEW/g"
"s/${PREV//-/.}/${NEW//-/.}/g"
"s/\"$PREV_ACM\"/\"$NEW_ACM\"/g"
"s/\\/$PREV_ACM\\//\\/$NEW_ACM\\//g"
"submariner-release-plan-admission-"
"-$NEW.yaml"
"intention: staging"
"submariner-release-plan-admission-stage-$NEW.yaml"
echo
"❌ Stage RPA intention not 'staging'"
exit
"intention: production"
"submariner-release-plan-admission-prod-$NEW.yaml"
echo
"❌ Prod RPA intention not 'production'"
exit
"url: registry"
"submariner-release-plan-admission-prod-$NEW.yaml"
"$COMPONENT_COUNT"
echo
"❌ Expected 9 components in RPA, found $COMPONENT_COUNT"
exit
"product_version: \"$NEW_ACM\""
"submariner-release-plan-admission-prod-$NEW.yaml"
echo
"❌ Product version not set to \"$NEW_ACM\""
exit
"v${NEW//-/.}\.[0-9]+-"
"submariner-release-plan-admission-"
"-$NEW.yaml"
if
"$PATCH_MATCHES"
then
echo
"❌ Found patch version in RPA tags (should use minor version only)"
echo
"$PATCH_MATCHES"
head
exit
fi
echo
" ✓ All verifications passed"
cd
"$(git rev-parse --show-toplevel)"
"config/kflux-prd-rh02.0fk9.p1/product/ReleasePlanAdmission/submariner/submariner-release-plan-admission-"
"-$NEW.yaml"
"Add Submariner v${NEW//-/.} stage/prod RPAs"
echo
"✅ Commit 3: Added stage/prod RPAs (2 files)"
echo
" - Copied RPA files (stage, prod)"
echo
" - Updated version strings and ACM version"
echo
" - Verified: intentions, component count (9), product version, tag format"
echo
" - Committed: Add Submariner v${NEW//-/.} stage/prod RPAs"
echo
""
echo
"━━━ SUMMARY ━━━"
echo
""
echo
"✅ All 3 commits completed successfully"
echo
" - 26 overlay files created"
echo
" - 22 auto-generated manifests built"
echo
" - 2 RPA files configured"
echo
" - Total: 49 files added"
echo
" - Branch: $BRANCH (currently checked out)"
echo
""
echo
"📋 Review changes:"
echo
" git log --oneline -3 # View commit messages"
echo
" git diff main...$BRANCH --stat # View file changes summary"
echo
" git diff main...$BRANCH # View full diff"
echo
""
echo
"🚀 Next steps:"
echo
" 1. Review the commits above"
echo
" 2. Push: git push origin $BRANCH"
echo
" 3. Create MR in GitLab UI (auto-opens after push)"
echo
" 4. After merge, wait for ArgoCD deploy (~5-10 min)"
echo
" 5. Verify: oc get releaseplans -n submariner-tenant | grep -E \"stage-${NEW}|prod-${NEW}\""
echo
""
echo
"💡 If you need to start over:"
echo
" git checkout main"
echo
" git branch -D $BRANCH"