Initialisation depot
This commit is contained in:
115
arti-api/auth-service/PROJECT-STRUCTURE.md
Normal file
115
arti-api/auth-service/PROJECT-STRUCTURE.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# 📁 Project Structure - Auth Service
|
||||
|
||||
```
|
||||
auth-service/
|
||||
├── 📄 .drone.jsonnet # Main pipeline entry point (imports from pipeline/)
|
||||
├── 📄 app.py # Main application code
|
||||
├── 📄 Dockerfile # Container build definition
|
||||
├── 📄 requirements.txt # Python dependencies
|
||||
├── 📄 README.md # Application documentation
|
||||
│
|
||||
└── 📁 pipeline/ # 🎯 CI/CD Pipeline Configuration
|
||||
│
|
||||
├── 🔧 Jsonnet Configuration
|
||||
│ ├── common.libsonnet # Shared pipeline components
|
||||
│ ├── build-steps.libsonnet # Build-specific logic
|
||||
│ └── .drone.jsonnet # Original pipeline config (moved here)
|
||||
│
|
||||
├── 🚀 Management Scripts
|
||||
│ ├── manage-external-buildah.sh # Buildah service management
|
||||
│ ├── update-buildah-pod.sh # Auto-update pod references
|
||||
│ ├── deploy-external-buildah.sh # Complete system deployment
|
||||
│ └── convert-to-jsonnet.sh # YAML to Jsonnet migration
|
||||
│
|
||||
├── ⚙️ Kubernetes Resources
|
||||
│ ├── buildah-external-deployment.yaml # External Buildah service
|
||||
│ ├── buildah-rbac.yaml # Buildah RBAC permissions
|
||||
│ ├── drone-build-rbac.yaml # Drone build permissions
|
||||
│ ├── default-sa-binding.yaml # Service account bindings
|
||||
│ ├── drone-configmap-updated.yaml # Drone server config
|
||||
│ └── kubernetes-auth.yaml # Auth service deployment
|
||||
│
|
||||
├── 📋 Alternative Configs
|
||||
│ ├── .drone.yml.backup # Original YAML backup
|
||||
│ ├── .drone.yml.external-buildah # Basic external build
|
||||
│ ├── .drone.yml.external-buildah-advanced # Advanced build
|
||||
│ ├── .drone.yml.external-buildah-production # Production build
|
||||
│ ├── .drone.yml.buildah-privileged # Privileged container attempts
|
||||
│ ├── .drone.yml.img-alternative # img builder variant
|
||||
│ ├── .drone.yml.nerdctl-alternative # nerdctl builder variant
|
||||
│ └── values-example.yaml # Kubernetes deployment values
|
||||
│
|
||||
└── 📚 Documentation
|
||||
├── PIPELINE-README.md # Pipeline folder overview
|
||||
├── EXTERNAL-BUILDAH-SYSTEM.md # External build system guide
|
||||
├── JSONNET-GUIDE.md # Jsonnet usage documentation
|
||||
├── DRONE-SETUP.md # Drone setup instructions
|
||||
├── GIT-WEBHOOK-CONFIG.md # Webhook configuration
|
||||
└── MULTI-DOMAIN-GUIDE.md # Multi-domain setup
|
||||
```
|
||||
|
||||
## 🎯 **Key Benefits of This Structure**
|
||||
|
||||
### **🧩 Organized Layout**
|
||||
- **Clear separation** of application code vs pipeline configuration
|
||||
- **Dedicated folder** for all CI/CD related files
|
||||
- **Easy navigation** and maintenance
|
||||
|
||||
### **🔄 Modular Pipeline**
|
||||
- **Jsonnet-based** configuration with imports
|
||||
- **Reusable components** in libsonnet files
|
||||
- **Alternative configurations** for different scenarios
|
||||
|
||||
### **🛠️ Complete Toolset**
|
||||
- **Management scripts** for operational tasks
|
||||
- **Kubernetes resources** for deployment
|
||||
- **Documentation** for guidance and troubleshooting
|
||||
|
||||
### **📝 Maintainability**
|
||||
- **Single location** for all pipeline changes
|
||||
- **Version controlled** configurations and scripts
|
||||
- **Clear dependencies** and relationships
|
||||
|
||||
## 🚀 **Usage Workflows**
|
||||
|
||||
### **Development Workflow**
|
||||
```bash
|
||||
# 1. Edit pipeline configuration
|
||||
vim pipeline/common.libsonnet pipeline/build-steps.libsonnet
|
||||
|
||||
# 2. Test configuration locally
|
||||
jsonnet .drone.jsonnet
|
||||
|
||||
# 3. Commit and push
|
||||
git add . && git commit -m "Update pipeline" && git push
|
||||
```
|
||||
|
||||
### **Operations Workflow**
|
||||
```bash
|
||||
# Check system status
|
||||
pipeline/manage-external-buildah.sh status
|
||||
|
||||
# Deploy/redeploy system
|
||||
pipeline/deploy-external-buildah.sh
|
||||
|
||||
# Update after pod restarts
|
||||
pipeline/update-buildah-pod.sh
|
||||
```
|
||||
|
||||
### **Migration Workflow**
|
||||
```bash
|
||||
# Convert YAML to Jsonnet (if needed)
|
||||
pipeline/convert-to-jsonnet.sh
|
||||
|
||||
# Use alternative configurations
|
||||
cp pipeline/.drone.yml.external-buildah-production .drone.yml
|
||||
```
|
||||
|
||||
## 🔗 **Integration Points**
|
||||
|
||||
- **Root `.drone.jsonnet`** imports from `pipeline/` folder
|
||||
- **Scripts reference** local files within pipeline folder
|
||||
- **Documentation cross-references** between files
|
||||
- **Kubernetes resources** work together as complete system
|
||||
|
||||
This structure provides a **clean, maintainable, and scalable** approach to managing your CI/CD pipeline while keeping application code separate from infrastructure concerns.
|
||||
Reference in New Issue
Block a user