7.0 KiB
Assets Guide
This guide explains how to use Azure Architecture Icons and other assets in the DeFi Oracle Meta Mainnet project.
Overview
The project includes Azure Architecture Icons and diagram templates for creating architecture diagrams, documentation, and presentations.
Directory Structure
assets/
├── azure-icons/ # Azure Architecture Icons
│ ├── svg/ # SVG format icons
│ ├── png/ # PNG format icons
│ └── metadata/ # Icon metadata and catalogs
├── diagrams/ # Architecture diagrams
│ ├── architecture/ # Architecture diagrams
│ ├── network/ # Network topology diagrams
│ ├── deployment/ # Deployment diagrams
│ └── templates/ # Diagram templates
├── stencils/ # Draw.io stencils
└── logos/ # Project and partner logos
Setting Up Assets
1. Create Directory Structure
./scripts/assets/setup-assets.sh
This creates the directory structure for assets.
2. Download Azure Icons
./scripts/assets/download-azure-icons.sh
This downloads the official Azure Architecture Icons from Microsoft.
3. Create Draw.io Stencil
./scripts/assets/create-diagram-stencil.sh
This creates a Draw.io stencil for easy icon access.
Using Azure Icons
In Draw.io / diagrams.net
-
Import Icons Directly:
- Open Draw.io
- Click "More Shapes" (bottom left)
- Click "+" to add a new library
- Select "From Device"
- Navigate to
assets/azure-icons/svg/ - Select the icons you want to use
-
Use Icon Mapping:
- See
assets/azure-icons/metadata/icon-mapping.jsonfor icon names - Import icons using the mapping file
- See
-
Manual Import:
- Click "Insert" → "Image"
- Select "From Device"
- Navigate to
assets/azure-icons/svg/ - Select the icon file
In Documentation
Use icons in Markdown documentation:
../../assets/azure-icons/svg/<icon-file>.svg
In Presentations
Use PNG icons for presentations:
../../assets/azure-icons/png/<icon-file>.png
Icon Categories
Compute
- Azure Kubernetes Service (AKS)
- Virtual Machines
- Container Instances
- App Service
- VM Scale Sets
Networking
- Virtual Network
- Application Gateway
- Load Balancer
- Network Security Groups
- VPN Gateway
- Private Endpoint
Storage
- Storage Accounts
- Blob Storage
- File Shares
- Managed Disks
Security
- Key Vault
- Azure Active Directory
- Security Center
- Firewall
Management
- Resource Groups
- Management Groups
- Subscriptions
- Monitor
- Log Analytics Workspace
Database
- Azure Database
- Cosmos DB
- SQL Database
- PostgreSQL
Integration
- API Management
- Service Bus
- Event Grid
- Logic Apps
Creating Diagrams
Architecture Diagrams
-
High-Level Architecture:
- Overview of the entire system
- Components and their relationships
- Data flow
-
Network Architecture:
- Network topology
- Subnets and security groups
- Network connectivity
-
Deployment Architecture:
- Deployment topology
- Resource groups
- Deployment regions
-
Security Architecture:
- Security controls
- Key Vault integration
- Network security
Best Practices
- Use Consistent Icons: Use the same icon set across all diagrams
- Label Components: Label all components clearly
- Show Relationships: Show connections and data flows
- Include Legends: Add legends for complex diagrams
- Version Control: Keep diagrams in version control
- Document Changes: Document diagram changes in commits
Diagram Tools
Draw.io / diagrams.net
- Free: Web-based diagramming tool
- Supports: Azure icon stencils
- Export: SVG, PNG, PDF
- Integration: GitHub integration
Lucidchart
- Professional: Diagramming tool
- Features: Azure icon library, collaboration
- Export: Multiple formats
Visio
- Microsoft: Official diagramming tool
- Features: Azure stencils, templates
- Integration: Office integration
PlantUML
- Text-based: Diagramming tool
- Features: Version control friendly, automated generation
- Integration: Documentation integration
Icon Mapping
See assets/azure-icons/metadata/icon-mapping.json for a complete mapping of icon names to files.
Example:
{
"compute": {
"azure-kubernetes-service": {
"svg": "Icon-service-kubernetes-Azure.svg",
"png": "Icon-service-kubernetes-Azure.png",
"description": "Azure Kubernetes Service (AKS)"
}
}
}
Custom Icons
Blockchain Icons
Custom icons for blockchain components:
- Hyperledger Besu
- Validator Nodes
- RPC Nodes
- Oracle Nodes
Creating Custom Icons
- Create SVG or PNG files
- Place in
assets/azure-icons/svg/orassets/azure-icons/png/ - Update
assets/azure-icons/metadata/icon-mapping.json - Document in
assets/azure-icons/metadata/icon-catalog.md
Updating Icons
Check for Updates
Azure icons are updated regularly. Check for updates:
- Visit Azure Architecture Center
- Download the latest version
- Run
./scripts/assets/download-azure-icons.sh
Version Control
Icons are tracked in Git. When updating:
- Download new icons
- Commit changes
- Update
assets/azure-icons/metadata/download-info.json - Document changes in commit message
Troubleshooting
Icons Not Downloading
If icons fail to download:
- Check internet connection
- Verify download URLs in script
- Manually download from Azure Architecture Center
- Extract to
assets/azure-icons/
Icons Not Displaying
If icons don't display in diagrams:
- Verify icon files exist
- Check file paths
- Verify file formats (SVG/PNG)
- Check diagram tool compatibility
Missing Icons
If specific icons are missing:
- Check
assets/azure-icons/metadata/icon-mapping.json - Verify icon files exist
- Download latest icon set
- Create custom icons if needed
References
- Azure Architecture Center
- Azure Architecture Icons
- Icon Usage Guidelines
- Draw.io Documentation
- Azure Architecture Patterns
Quick Reference
Download Icons
./scripts/assets/download-azure-icons.sh
Setup Assets
./scripts/assets/setup-assets.sh
Create Stencil
./scripts/assets/create-diagram-stencil.sh
Icon Location
- SVG:
assets/azure-icons/svg/ - PNG:
assets/azure-icons/png/ - Metadata:
assets/azure-icons/metadata/
Diagram Location
- Architecture:
assets/diagrams/architecture/ - Network:
assets/diagrams/network/ - Deployment:
assets/diagrams/deployment/ - Templates:
assets/diagrams/templates/