-
Notifications
You must be signed in to change notification settings - Fork 1.2k
v5.0.0 Migration Guide
Version 5.0.0 of the Azure Naming Tool introduces significant enhancements including a modern redesigned UI, SQLite database storage option, and Azure resource name validation capabilities. This guide will help you successfully migrate from previous versions to v5.0.0.
⚠️ Important: Always backup your current configuration before upgrading to ensure you can restore your settings if needed.
Before upgrading, it's critical to backup your existing configuration to prevent any data loss.
- Navigate to the Admin page in your current Azure Naming Tool installation
- Go to the Configuration tab
- Under Backup/Restore Configuration, click Export Configuration (JSON)
- Save the downloaded JSON file to a safe location
- Note: This backup includes all component configurations but excludes admin settings (passwords, API keys)
If using the file-based storage (default in v4.x):
- Navigate to your installation directory
- Copy the entire
repositoryfolder to a backup location - Copy the
settingsfolder to preserve admin settings - Store these backups in a safe location outside your installation directory
Backup Checklist:
- ✅ Configuration JSON exported from Admin page
- ✅
repositoryfolder backed up (if applicable) - ✅
settingsfolder backed up (if applicable) - ✅ Custom logo files backed up (if customized)
- ✅ Documentation of admin password and API keys
If you have made any customizations to the Azure Naming Tool code:
-
Document all code changes:
- Note any modified files in the
srcdirectory - Document custom components or services added
- Save copies of modified CSS/styling files
- Note any modified files in the
-
Export customizations:
- Custom logo: Located in
wwwroot/images/(if modified) - Custom CSS: Check
wwwroot/css/for any custom files - Modified resource types or components
- Custom home content from Admin page
- Custom logo: Located in
-
Create a customization document:
- List all custom changes made
- Note file paths and specific modifications
- Document any custom API integrations or webhooks
Review the installation documentation for your specific deployment environment to ensure you understand the requirements for v5.0.0:
- Azure App Service - Installation Guide
- Azure Container Instance - Installation Guide
- Docker - Installation Guide
- Stand-alone - Installation Guide
- .NET 8.0 Runtime (ASP.NET Core)
- Minimum 512MB RAM (1GB recommended)
- Persistent storage for database (file system or SQLite)
- Modern UI with improved performance
- SQLite database option for better scalability
- Azure validation integration (requires Azure authentication)
- Enhanced API capabilities
Choose your deployment method and follow the installation guide:
-
Download the latest v5.0.0 release from GitHub Releases
-
Extract the files to a local directory
-
Deploy to Azure App Service using one of these methods:
- Visual Studio: Right-click project → Publish
-
Azure CLI:
az webapp deploy --resource-group <rg-name> --name <app-name> --src-path <zip-file> - GitHub Actions: Use provided workflow file
- Azure Portal: Deploy from zip file
-
Configure App Settings:
- Ensure
.NET 8runtime is selected - Set
ASPNETCORE_ENVIRONMENTif needed - Configure any custom environment variables
- Ensure
# Pull the latest v5.0.0 image
docker pull ghcr.io/mspnp/azurenamingtool:latest
# Run with persistent storage
docker run -d \
-p 80:80 \
-v $(pwd)/repository:/app/repository \
-v $(pwd)/settings:/app/settings \
--name azurenamingtool \
ghcr.io/mspnp/azurenamingtool:latest- Ensure .NET 8.0 Runtime is installed
- Extract the release files
- Run the application:
dotnet AzureNamingTool.dll
- Access the application at
http://localhost:5000
💡 Note: After deployment, the site may need to be restarted for all changes to take effect. You can restart from the Azure Portal (for App Service) or by restarting the container/application.
After successfully deploying v5.0.0, restore your configuration:
-
Access the Admin page:
- Navigate to your new v5.0.0 installation
- Log in with the default password (or your existing password if preserved)
-
Navigate to Configuration tab:
- Click on Admin in the navigation
- Select the Configuration tab
- Scroll to Backup/Restore Configuration
-
Import your configuration:
- Under Restore Configuration from JSON, click Choose File
- Select your previously exported JSON backup file
- Click Restore Configuration from JSON Backup
- Confirm the restoration when prompted
-
Verify the restoration:
- Navigate to the Configuration page
- Verify all components are loaded correctly
- Check Reference page to ensure resource types display properly
- Test name generation on the Generate page
⚠️ Important: After restoring configuration, restart the application to ensure all settings are properly loaded:
- Azure App Service: Restart from Azure Portal
- Docker:
docker restart azurenamingtool- Stand-alone: Stop and restart the application
v5.0.0 introduces SQLite database support for improved performance and reliability. This is optional but recommended for production environments.
⚠️ Warning: Migrating to SQLite is a one-way operation. Ensure you have a complete backup before proceeding.
- Complete Steps 1-5 (Deploy v5.0.0 and restore configuration)
- Create a backup of your current configuration (even if already on v5.0.0)
- Ensure the application is running on file-based storage (default)
-
Access Admin page:
- Navigate to Admin → Configuration tab
- Scroll to Storage Migration section
-
Review migration information:
- Current storage provider is shown (should be "FileSystem")
- Read the migration warnings and requirements carefully
-
Create pre-migration backup:
- Click Create Pre-Migration Backup
- Download and save the backup file
- Verify the backup file is complete
-
Initiate migration:
- Click Migrate to SQLite
- You will see two confirmation prompts:
- First confirmation: Acknowledge the migration process
- Second confirmation: Type
CONFIRMto proceed
- Click Confirm on both prompts
-
Monitor migration progress:
- The migration process will:
- Export current configuration to JSON
- Initialize SQLite database
- Import all data to SQLite
- Update storage provider setting
- This may take several minutes depending on data size
- The migration process will:
-
Restart the application:
- Critical: The application MUST be restarted after migration
- Azure App Service: Go to Azure Portal → Your App Service → Click Restart
-
Docker: Run
docker restart azurenamingtool - Stand-alone: Stop the application and restart it
-
Verify migration:
- After restart, log back into the Admin page
- Check Configuration tab → Storage Migration section
- Verify "Current Storage Provider" shows SQLite
- Navigate to Configuration page and verify all components loaded
- Test name generation to ensure functionality
After successful migration and verification:
- The original file-based storage remains in the
repositoryfolder - You can archive this folder for backup purposes
- Do not delete until you've verified SQLite is working correctly for at least a few days
If you need to rollback from SQLite to file-based storage:
- Stop the application
- Restore your pre-migration backup files to the
repositoryfolder - Delete or rename the
azurenamingtool.dbfile - Update
appsettings.jsonto set storage provider back to "FileSystem" - Restart the application
- New Dashboard: Two-column hero layout with logo and custom content
- Configuration Overview: Stats grid showing all enabled component counts
- Improved Navigation: Streamlined modern tab interface
- Better Mobile Support: Responsive design improvements
- Enhanced Performance: Faster data access and queries
- Better Scalability: Handles larger configurations more efficiently
- Improved Reliability: Transactional support and data integrity
- Easy Migration: Built-in migration tool from file-based storage
- Real-time Validation: Check if resource names already exist in Azure
- Conflict Detection: Prevent naming conflicts before deployment
- Multi-subscription Support: Validate across multiple Azure subscriptions
- Configurable: Enable/disable per your requirements
- Bulk Operations: Process multiple naming requests in a single call
- Improved Error Handling: Better error messages and validation
- Extended Filtering: More options for querying configurations
- Performance Improvements: Faster response times
- Fixed Component Name Matching: Resolved issues with ResourceOrg, ResourceProjAppSvc, and ResourceFunction
- Custom Home Content: Now loads correctly in Admin page editor
- Improved Logging: Enhanced admin logs for troubleshooting
- Better Error Messages: More helpful error descriptions
Symptom: After importing JSON, components don't appear
Solution:
- Verify the JSON file is valid and not corrupted
- Check Admin Logs for any error messages
- Restart the application after restoring
- Try importing individual components using the Component Import feature
Symptom: Migration process stops or shows errors
Solution:
- Ensure you have a valid backup before retrying
- Check available disk space (SQLite needs space to create database)
- Review Admin Logs for specific error messages
- If migration fails, the application remains on file-based storage
- Contact support with error logs if issue persists
Symptom: Application fails to start after SQLite migration
Solution:
- Check application logs for error details
- Verify
azurenamingtool.dbfile was created - Ensure file permissions allow read/write to database
- Try rollback procedure (see Step 6)
- Restore from pre-migration backup
Symptom: Azure validation features are not available
Solution:
- Ensure proper Azure authentication is configured
- Check that Managed Identity or Service Principal has necessary permissions
- Verify network connectivity to Azure Resource Manager
- Review Admin → Azure Validation settings
- Check Admin Logs for authentication errors
After completing the migration, verify these items:
- ✅ All resource components appear in Configuration page
- ✅ Custom components (if any) are present
- ✅ Resource types display correctly on Reference page
- ✅ Name generation works on Generate page
- ✅ Admin settings preserved (verify password, API keys)
- ✅ Custom logo appears (if customized)
- ✅ Custom home content displays on dashboard (if configured)
- ✅ Generated Names Log contains previous entries (if applicable)
- ✅ API endpoints respond correctly (test with Swagger)
- ✅ Azure validation configured and working (if enabled)
- ✅ Application performance is acceptable
If you encounter issues during migration:
- Check Admin Logs: Admin page → View Admin Log
- Review Documentation: Azure Naming Tool Wiki
- Search Issues: GitHub Issues
- Report Bugs: Create New Issue
- Community Support: Join discussions on GitHub
- v5.0.0 Release Notes
- Installation Guides
- Configuration Guide
- API Documentation
- Azure Validation Guide
- Backup and Restore Guide
Last Updated: November 4, 2025
Version: 5.0.0