How to Bootstrap a New Project
This is the standard bootstrap flow for new EGI projects using the golden path.
Step-by-step Flow
1. Create Repositories
Create two repositories:
- App repo: Application code
- Ops repo: Deployment intent, infrastructure, and policies
2. Copy Templates
Copy the starter templates used by the team into the app repo and ops repo.
3. Select Provider Adapter
Choose the appropriate deployment adapter pattern for the target platform.
4. Configure GitHub Environments
Set up environments in GitHub:
- Create
dev,staging,prodenvironments - Require approvals for
prodenvironment
5. Configure Secrets
Set up secrets management:
- Kubernetes: External Secrets Operator plus cloud secret store
- Non-K8s: Provider secret store plus CI injection
6. Configure Identifiers and Versioning
Set up project identifiers:
- Define the system identifier used across repos and environments
- Decide whether the project uses a generic SKU or another documented release identifier
- Store version metadata in a documented location such as
version.txt, release tags, or build metadata
7. Configure Operational Handoff Readiness
Document future production handoff expectations:
- Define health and metrics expectations
- Ensure structured logging is part of the implementation plan
- Record ownership and escalation mapping for future Anchor handoff
8. Enable PR Checks
Confirm GitHub Actions workflows:
- Verify workflows under
.github/workflows - Test PR checks are running correctly
9. Document Rollback
Plan rollback strategy:
- Rollbacks are executed via git revert or tag rollback in the ops repo
- Document project-specific rollback procedures
10. Run Sample Demo
Test the setup:
- Follow the sample service README for validation
- Verify all environments deploy correctly
Acceptance Checklist
- PR checks run and produce a build report artifact
- Merge to main builds an immutable artifact and opens or updates a dev bump in ops repo
- Staging promotion is automatic after smoke checks
- Production promotion requires an approval gate
- Versioning and deployment identifiers are documented
- Future production handoff prerequisites are captured