From 250d3deef2e3575ee40ea0f2d287a49528ec29af Mon Sep 17 00:00:00 2001 From: Dakera Ops Date: Thu, 14 May 2026 05:25:34 +0000 Subject: [PATCH 1/2] ci: add ArtifactHub logo upload step to helm-release workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a new step that uploads the Dakera logo to ArtifactHub via their image API and patches artifacthub-repo.yml on gh-pages with the returned logoImageID. This is more reliable than logoURL because it stores the image on ArtifactHub's own CDN. Requires two new GitHub secrets: ARTIFACTHUB_API_KEY_ID — ArtifactHub API key ID ARTIFACTHUB_API_KEY_SECRET — ArtifactHub API key secret The step is conditional (skips gracefully if secrets are not set) and idempotent (skips if logoImageID is already present in the file). Resolves: DAK-4867 --- .github/workflows/helm-release.yml | 50 ++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/.github/workflows/helm-release.yml b/.github/workflows/helm-release.yml index 6a29361..3dd128d 100644 --- a/.github/workflows/helm-release.yml +++ b/.github/workflows/helm-release.yml @@ -61,3 +61,53 @@ jobs: git commit -m "preserve artifacthub-repo.yml" git push origin gh-pages fi + + - name: Upload Dakera logo to ArtifactHub and set logoImageID + if: ${{ secrets.ARTIFACTHUB_API_KEY_ID != '' && secrets.ARTIFACTHUB_API_KEY_SECRET != '' }} + env: + ARTIFACTHUB_API_KEY_ID: ${{ secrets.ARTIFACTHUB_API_KEY_ID }} + ARTIFACTHUB_API_KEY_SECRET: ${{ secrets.ARTIFACTHUB_API_KEY_SECRET }} + run: | + set -e + git fetch origin gh-pages + git checkout gh-pages + + # Skip if logoImageID already set + if grep -q '^logoImageID:' artifacthub-repo.yml; then + echo "logoImageID already set — skipping upload" + exit 0 + fi + + # Download the Dakera logo + curl -fsSL -o /tmp/dakera-logo.png https://dakera.ai/logo.png + echo "Logo downloaded: $(wc -c < /tmp/dakera-logo.png) bytes" + + # Upload to ArtifactHub image API + RESPONSE=$(curl -s -X POST https://artifacthub.io/api/v1/images \ + -H "X-API-KEY-ID: ${ARTIFACTHUB_API_KEY_ID}" \ + -H "X-API-KEY-SECRET: ${ARTIFACTHUB_API_KEY_SECRET}" \ + -F "image=@/tmp/dakera-logo.png") + + IMAGE_ID=$(echo "$RESPONSE" | python3 -c "import sys, json; print(json.load(sys.stdin)['imageID'])" 2>/dev/null || true) + + if [ -z "$IMAGE_ID" ]; then + echo "ERROR: Failed to get imageID from ArtifactHub. Response: $RESPONSE" + exit 1 + fi + + echo "ArtifactHub imageID: $IMAGE_ID" + + # Patch artifacthub-repo.yml — add logoImageID after repositoryID line + sed -i "s|^logoURL:.*|logoImageID: ${IMAGE_ID}|" artifacthub-repo.yml + + # If logoURL line wasn't replaced (wasn't present), append logoImageID + if ! grep -q '^logoImageID:' artifacthub-repo.yml; then + echo "logoImageID: ${IMAGE_ID}" >> artifacthub-repo.yml + fi + + git add artifacthub-repo.yml + git diff --cached --quiet && echo "No changes" && exit 0 + + git commit -m "ci: set ArtifactHub logoImageID ${IMAGE_ID}" + git push origin gh-pages + echo "artifacthub-repo.yml updated with logoImageID: ${IMAGE_ID}" From fc8febac0d642cabf3adb505b8f0ee51e18102b2 Mon Sep 17 00:00:00 2001 From: Dakera Ops Date: Thu, 14 May 2026 05:27:26 +0000 Subject: [PATCH 2/2] fix: use GitHub org avatar as logoURL in source chart --- charts/dakera/artifacthub-repo.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/dakera/artifacthub-repo.yml b/charts/dakera/artifacthub-repo.yml index 27278a0..e36815c 100644 --- a/charts/dakera/artifacthub-repo.yml +++ b/charts/dakera/artifacthub-repo.yml @@ -1,4 +1,4 @@ repositoryID: 5469f3a4-c794-4447-8135-c0f189c1c4e4 displayName: Dakera url: https://dakera-ai.github.io/dakera-helm -logoURL: https://dakera.ai/logo.png +logoURL: https://avatars.githubusercontent.com/u/265375625?v=4