Complete Databricks Asset Bundle (DAB) with automated CI/CD for AWS Databricks.
Repository: https://github.com/chandrur44/Databricks-Asset-Bundles
π Start here: docs/README_FIRST.md
π Follow: docs/QUICK_START_AWS.md (10 steps, 35 minutes)
π Read: docs/GITHUB_QUICK_SETUP.md (Quick checklist)
β Multi-environment support - Dev, UAT, Production β Automated CI/CD - GitHub Actions workflow included β Complete DAB structure - Jobs, notebooks, DLT pipelines, SQL queries β AWS Databricks optimized - S3 storage, EC2 instances β Fully dynamic - Configure via GitHub secrets β Starter templates - Sample notebooks and jobs ready to customize
.
βββ databricks.yml # Main DAB configuration
βββ .github/workflows/ # GitHub Actions CI/CD
βββ config/ # Environment configs (dev, uat, prod)
βββ resources/ # Jobs, pipelines, queries
βββ src/
β βββ notebooks/ # Python notebooks
β βββ dlt/ # Delta Live Tables
β βββ sql/ # SQL scripts
β βββ files/ # Additional files
βββ tests/ # Test files
βββ docs/ # Documentation
- Push to
developβ Auto-deploys to Dev - Push to
mainβ Auto-deploys to UAT - Manual workflow β Deploys to Prod (with approval)
- No hardcoded secrets
- All credentials in GitHub secrets
- Environment-specific configurations
- Easy to update and maintain
- S3 storage paths configured
- EC2 instance types (i3.xlarge, i3.2xlarge)
- Unity Catalog support
- Service Principal authentication
| Document | Description |
|---|---|
| README_FIRST.md | π Start here - Main navigation |
| QUICK_START_AWS.md | β‘ Deploy in 10 steps (35 min) |
| GITHUB_QUICK_SETUP.md | π§ GitHub CI/CD setup checklist |
| GITHUB_SETUP.md | π Complete GitHub setup guide |
| DEPLOYMENT_GUIDE_AWS.md | π Detailed deployment instructions |
| AWS_DATABRICKS_SETUP.md | βοΈ AWS configuration summary |
| START_HERE_AWS.md | πΊοΈ AWS navigation guide |
| PROJECT_OVERVIEW.md | π Architecture overview |
| FINAL_SETUP.md | β Complete setup summary |
- β 3 AWS Databricks workspaces (Dev, UAT, Prod)
- β Service Principal in each workspace
- β GitHub repository (this one!)
- β Databricks CLI (v0.200.0+)
DATABRICKS_DEV_HOST
DATABRICKS_UAT_HOST
DATABRICKS_PROD_HOST
DATABRICKS_CLIENT_ID
DATABRICKS_CLIENT_SECRET
π See docs/GITHUB_QUICK_SETUP.md for setup instructions
# 1. Clone the repository
git clone https://github.com/chandrur44/Databricks-Asset-Bundles.git
cd Databricks-Asset-Bundles
# 2. Update config files (config/dev.yml, uat.yml, prod.yml)
vim config/dev.yml # Add your workspace URL and S3 bucket
# 3. Set environment variables
export DATABRICKS_CLIENT_ID="your-app-id"
export DATABRICKS_CLIENT_SECRET="your-secret"
# 4. Deploy to Dev
databricks bundle validate -t dev
databricks bundle deploy -t dev
# 5. Test
databricks bundle run sample_etl_job -t devdevelop branch β Validates β Deploys to Dev (automatic)
β
main branch β Validates β Deploys to UAT (automatic)
β
Manual trigger β Validates β Deploys to Prod (requires approval)
- Bronze layer ingestion
- Silver layer transformation
- Gold layer aggregation
- Data quality checks
- DLT pipelines (batch + streaming)
- Sample ETL job (Bronze β Silver β Gold)
- Data quality job
- SQL query job
- Batch processing pipeline
- Streaming pipeline
- Daily metrics
- Customer analysis
- Data quality reporting
All configurations are in the config/ directory:
config/dev.yml- Development environmentconfig/uat.yml- UAT environmentconfig/prod.yml- Production environment
Dynamic variables:
${env.DATABRICKS_CLIENT_ID}- From GitHub secrets- Workspace URLs - Set per environment
- S3 buckets - Set per environment
- Instance types - Set per environment
- Quick questions? Check docs/README_FIRST.md
- Setup help? Read docs/GITHUB_QUICK_SETUP.md
- Deployment issues? See docs/DEPLOYMENT_GUIDE_AWS.md
- GitHub Actions not working? Read docs/GITHUB_SETUP.md
- Add GitHub Secrets: https://github.com/chandrur44/Databricks-Asset-Bundles/settings/secrets/actions
- Create Environments: https://github.com/chandrur44/Databricks-Asset-Bundles/settings/environments
- View Actions: https://github.com/chandrur44/Databricks-Asset-Bundles/actions
- Branches:
- 32 files tracked
- 8 notebooks ready to customize
- 3 workflow jobs defined
- 2 DLT pipelines configured
- 3 environments supported
- 100% dynamic configuration
GitHub Setup:
β Fork or clone this repository
β Add 5 GitHub secrets
β Create 3 GitHub environments (dev, uat, production)
Configuration:
β Update config/dev.yml with your Dev workspace URL
β Update config/uat.yml with your UAT workspace URL
β Update config/prod.yml with your Prod workspace URL
β Update S3 bucket names in all config files
Deployment:
β Push to develop branch to deploy to Dev
β Push to main branch to deploy to UAT
β Use manual workflow to deploy to Prod
Your Databricks Asset Bundle is:
- β Version controlled
- β Fully automated
- β 100% dynamic
- β Production ready
Start here: docs/README_FIRST.md π
[Your License Here]
Made with β€οΈ for AWS Databricks