All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- Add OpenBao services to docker-compose.yml with profiles (openbao, full) - Add docker-compose.build.yml for local builds vs registry pulls - Make PostgreSQL and Valkey optional via profiles (database, cache) - Create example compose files for common deployment scenarios: - docker/docker-compose.example.turnkey.yml (all bundled) - docker/docker-compose.example.external.yml (all external) - docker/docker.example.hybrid.yml (mixed deployment) - Update documentation: - Enhance .env.example with profiles and external service examples - Update README.md with deployment mode quick starts - Add deployment scenarios to docs/OPENBAO.md - Create docker/DOCKER-COMPOSE-GUIDE.md with comprehensive guide - Clean up repository structure: - Move shell scripts to scripts/ directory - Move documentation to docs/ directory - Move docker compose examples to docker/ directory - Configure for external Authentik with internal services: - Comment out Authentik services (using external OIDC) - Comment out unused volumes for disabled services - Keep postgres, valkey, openbao as internal services This provides a flexible deployment architecture supporting turnkey, production (all external), and hybrid configurations via Docker Compose profiles. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.5 KiB
3.5 KiB
Package Linking Issue Diagnosis
Current Status
✅ All 5 Docker images built and pushed successfully ❌ Package linking failed with 404 errors
What I Found
1. Gitea Version
- Current version: 1.24.3
- API added in: 1.24.0
- Status: ✅ Version supports the package linking API
2. API Endpoint Format
According to Gitea PR #33481, the correct format is:
POST /api/v1/packages/{owner}/{type}/{name}/-/link/{repo_name}
3. Our Current Implementation
POST https://git.mosaicstack.dev/api/v1/packages/mosaic/container/stack-api/-/link/stack
This matches the expected format! ✅
4. The Problem
All 5 package link attempts returned 404 Not Found:
Warning: stack-api link returned 404
Warning: stack-web link returned 404
Warning: stack-postgres link returned 404
Warning: stack-openbao link returned 404
Warning: stack-orchestrator link returned 404
Possible Causes
A. Package Names Might Be Different
When we push git.mosaicstack.dev/mosaic/stack-api:tag, Gitea might store it with a different name:
- Could be:
mosaic/stack-api(with owner prefix) - Could be: URL encoded differently
- Could be: Using a different naming convention
B. Package Type Might Be Wrong
- We're using
containerbut maybe Gitea uses something else - Check:
docker,oci, or another type identifier
C. Packages Not Visible to API
- Packages might exist but not be queryable via API
- Permission issue with the token
Diagnostic Steps
Step 1: Run the Diagnostic Script
I've created a comprehensive diagnostic script:
# Get your Gitea API token from:
# https://git.mosaicstack.dev/user/settings/applications
# Run the diagnostic
GITEA_TOKEN='your_token_here' ./diagnose-package-link.sh
This script will:
- List all packages via API to see actual names
- Test different endpoint formats
- Show detailed status codes and responses
- Provide analysis and next steps
Step 2: Manual Verification via Web UI
- Visit https://git.mosaicstack.dev/mosaic/-/packages
- Find one of the stack-* packages
- Click on it to view details
- Look for a "Link to repository" or "Settings" option
- Try linking manually to verify the feature works
Step 3: Check Package Name Format
Look at the URL when viewing a package in the UI:
- If URL is
/mosaic/-/packages/container/stack-api, name isstack-api✅ - If URL is
/mosaic/-/packages/container/mosaic%2Fstack-api, name ismosaic/stack-api
Next Actions
- Run diagnostic script to get detailed information
- Check one package manually via web UI to confirm linking works
- Update .woodpecker.yml once we know the correct format
- Test fix with a manual pipeline run
Alternative Solution: Manual Linking
If the API doesn't work, we can:
- Document the manual linking process
- Create a one-time manual linking task
- Wait for a Gitea update that fixes the API
But this should only be a last resort since the API should work in version 1.24.3.
References
- Gitea Issue #21062 - Original feature request
- Gitea PR #33481 - Implementation (v1.24.0)
- Gitea Issue #30598 - Related request
- Gitea Packages Documentation
- Gitea Container Registry Documentation