Skip to main content

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, prod environments
  • Require approvals for prod environment

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