Files
Maison/arti-api/auth-service/ORGANIZATION.md
2026-02-10 12:12:11 +01:00

2.8 KiB

Project organization

📁 Clean Project Structure

auth-service/
├── 📄 .drone.jsonnet               # Pipeline entry point
├── 📄 app.py                       # Application code  
├── 📄 Dockerfile                   # Container definition
├── 📄 requirements.txt             # Dependencies
├── 📄 PROJECT-STRUCTURE.md         # Structure overview
├── 📄 manage-secrets.sh            # Application utility
├── 🗂️ templates/                   # Application templates
└── 🗂️ pipeline/                    # 🎯 ALL pipeline files

🧩 Modular Pipeline Configuration

  • Jsonnet-based: .drone.jsonnet imports from pipeline/
  • Shared components: common.libsonnet for reusable steps
  • Build logic: build-steps.libsonnet for external Buildah - docker image compilation
  • Import system: Root entry point loads modular components

🛠️ Complete Pipeline Ecosystem

  • 📋 Management scripts: Build, deploy, update operations
  • ⚙️ Kubernetes resources: RBAC, deployments, configurations
  • 📚 Documentation: Guides, analysis, troubleshooting
  • 🔄 Alternative configs: Multiple pipeline variants for reference

🚀 Benefits Achieved

🎯 Organization

  • Separation of concerns: Application vs pipeline code
  • Single location: All CI/CD files in one folder
  • Clear structure: Easy to navigate and maintain

🔄 Modularity

  • Reusable components: Common steps shared across configurations
  • Easy customization: Modify specific parts without affecting others
  • Version control: Track changes to pipeline components independently

📝 Maintainability

  • Reduced complexity: Clean root directory
  • Better documentation: Organized guides and references
  • Operational scripts: Complete management toolset

📋 Usage Patterns

Development Workflow

# Edit pipeline configuration
vim pipeline/common.libsonnet pipeline/build-steps.libsonnet

# Test locally
jsonnet .drone.jsonnet

# Deploy changes  
git add . && git commit -m "Update pipeline" && git push

Operations Workflow

# Check system status
pipeline/manage-external-buildah.sh status

# Deploy/redeploy system
pipeline/deploy-external-buildah.sh

# Update after infrastructure changes
pipeline/update-buildah-pod.sh

🎉 Next Steps

  1. Ready to use: Pipeline triggers automatically on push
  2. 🔧 Customize: Modify pipeline/*.libsonnet for specific needs
  3. 📈 Scale: Create environment-specific configurations
  4. 🚀 Extend: Add new build targets or deployment stages

The project is now clean, organized, and ready for production use with a modular, maintainable pipeline system! 🎯