authors: [bsmeding] title: Nautobot Zero to Hero – Part 6: Enable Golden Config Plugin tags: ["network automation", "nautobot", "golden config", "compliance", "plugin"] toc: true layout: single comments: true draft: true
Nautobot Zero to Hero – Part 6: Enable Golden Config Plugin
Create Golden Configurations for Your Devices
Install Golden Config plugin, fork required repositories, and create golden configurations.
Index
- Nautobot Zero to Hero – Part 6: Enable Golden Config Plugin
- Create Golden Configurations for Your Devices
- Index
- 1. Introduction
- 2. Prerequisites
- 3. Install Golden Config Plugin
- 4. Fork Required Repositories
- 5. Add Repositories to Nautobot
- 6. Configure Golden Config
- 7. Create Golden Configurations
- 8. Wrap-Up
- 9. Next Steps
1. Introduction
In this part, we'll install and configure the Golden Config plugin, which enables configuration compliance and remediation. We'll fork the required repositories and set up golden configurations for our devices.
We'll: 1. Install the Golden Config plugin 2. Fork three required repositories (backups, jinja templates, intended config) 3. Add the forked repositories to Nautobot 4. Configure Golden Config settings 5. Create golden configurations for devices
Estimated Time: ~2 hours
2. Prerequisites
- Completed Part 5: Add Device Config from Jobs
- GitHub account (for forking repositories)
- Devices are onboarded in Nautobot
- Git repository access configured in Nautobot
3. Install Golden Config Plugin
3.1 Install via Docker
# Access the Nautobot container
docker compose exec nautobot bash
# Install the plugin
pip install nautobot-golden-config
# Exit the container
exit
# Restart Nautobot
docker compose restart nautobot
3.2 Enable Plugin in nautobot_config.py
Add to your nautobot_config.py:
PLUGINS = [
"nautobot_golden_config",
]
PLUGINS_CONFIG = {
"nautobot_golden_config": {
"per_feature_bar_width": 0.3,
"per_feature_width": 13,
"per_feature_height": 4,
"enable_backup": True,
"enable_compliance": True,
"enable_intended": True,
"enable_sot_agg": True,
}
}
Restart Nautobot after making changes.
4. Fork Required Repositories
Golden Config requires three Git repositories. Fork these repositories to your GitHub account:
4.1 Fork Backups Repository
- Go to https://github.com/bsmeding/nzth_demo_backups
- Click Fork button
- Fork to your account
- Note your forked repository URL:
https://github.com/YOUR_USERNAME/nzth_demo_backups.git
4.2 Fork Jinja Templates Repository
- Go to https://github.com/bsmeding/nzth_demo_jinja_templates
- Click Fork button
- Fork to your account
- Note your forked repository URL:
https://github.com/YOUR_USERNAME/nzth_demo_jinja_templates.git
4.3 Fork Intended Config Repository
- Go to https://github.com/bsmeding/nzth_demo_intended_config
- Click Fork button
- Fork to your account
- Note your forked repository URL:
https://github.com/YOUR_USERNAME/nzth_demo_intended_config.git
5. Add Repositories to Nautobot
5.1 Add Backups Repository
- Navigate to Apps → Git Repositories
- Click Add
- Configure:
- Name:
golden-config-backups - Source URL: Your forked backups repository URL
- Branch:
main - Secrets Group: (if using private repo, create secrets group)
- Enable Golden Config Backups checkbox
- Click Save and Sync Now
5.2 Add Jinja Templates Repository
- Click Add again
- Configure:
- Name:
golden-config-templates - Source URL: Your forked jinja templates repository URL
- Branch:
main - Secrets Group: (if needed)
- Enable Golden Config Templates checkbox
- Click Save and Sync Now
5.3 Add Intended Config Repository
- Click Add again
- Configure:
- Name:
golden-config-intended - Source URL: Your forked intended config repository URL
- Branch:
main - Secrets Group: (if needed)
- Enable Golden Config Intended checkbox
- Click Save and Sync Now
📸 [Screenshot: All Three Repositories Added]
6. Configure Golden Config
6.1 Access Golden Config
- Navigate to Golden Config in the main menu
- You should see Golden Config options
📸 [Screenshot: Golden Config Menu]
6.2 Configure Compliance Rules
- Navigate to Golden Config → Compliance Rules
- Review default rules or create custom rules
- Configure rules for your device types
6.3 Configure Compliance Features
- Navigate to Golden Config → Compliance Features
- Enable features you want to check:
- Interface configurations
- VLAN configurations
- Routing configurations
- etc.
7. Create Golden Configurations
7.1 Generate Intended Configuration
- Navigate to Golden Config → Intended Configs
- Select a device
- Click Generate Intended Config
- Review the generated configuration
📸 [Screenshot: Generated Intended Config]
7.2 Create Golden Config for Device
- Navigate to Golden Config → Golden Configurations
- Click Add
- Select:
- Device: Choose your device
- Backup Repository: Select your backups repo
- Template Repository: Select your templates repo
- Intended Repository: Select your intended config repo
- Click Save
7.3 Generate Golden Config
- Click on your created Golden Config
- Click Generate Config
- Review the generated configuration
- Verify it's stored in the intended config repository
📸 [Screenshot: Golden Configuration Details]
8. Wrap-Up
Congratulations! You have successfully: - ✅ Installed the Golden Config plugin - ✅ Forked all three required repositories - ✅ Added repositories to Nautobot - ✅ Configured Golden Config settings - ✅ Created golden configurations for devices
You now have Golden Config set up and ready for compliance checking and remediation!
9. Next Steps
Now that Golden Config is configured, proceed to Part 7: Deploy Provision Job to: - Create a Provision job to send golden-config to devices - Deploy intended configurations to network devices - Verify configuration deployment
Happy automating! 🚀