Giter Site home page Giter Site logo

azure-view's Introduction

ARM Viz

ARM Viz is a public website that helps to visualize the hierarchy and availability of Azure Resource Manager REST API offerings. Utilizing a browsable sunburst chart, it provides a comprehensive yet simplified representation of Azure namespaces, resource types, and API versions.

Data Flow

graph TB

    subgraph "Frontend"
        swa --> button-ingest
        swa --> button-retrieve
        button-ingest --> apim
        button-retrieve --> apim
        apim --> op-ingest
        apim --> policy-cors
        apim --> op-retrieve
    end

    subgraph "Backend"
        op-ingest --> func-ingest
        op-retrieve --> func-retrieve
        func-ingest --> arm-api
        arm-api --> func-ingest
        func-ingest --> costab
        func-retrieve --> costab   
    end
Loading

Data Modeling

Data is organized based on Azure namespaces, resource types, and API versions, making it easy for users to navigate and explore the Sunburst Chart.

  • Example JSON snippet:
    {
        "namespace": "Microsoft.Compute",
        "resourceTypes": [
            {
                "resourceType": "virtualMachines",
                "apiVersions": ["2021-07-01", "2020-12-01"]
            },
            {
                "resourceType": "disks",
                "apiVersions": ["2021-07-01", "2020-12-01"]
            }
        ]
    }
    

CI/CD Orchestration

  • Deployment to multiple environments via Github Actions Deployment Screenshot
    Learn More

  • Separate workload identities for each environment
    Workload Identities
    Learn More

  • Reusable Workflows and workflow inputs handle similarities and differences between environments Learn More

  • A protection rule is added to require approval for deployment to the production environment

IaC Orchestration

Primary entry for deployments, managing environment-specific configurations.

Deploys and configures Azure Static Web App and API Management Service.

Defines Azure Function and Azure Cosmos DB setups for backend processing and data storage.

Parameters and Secrets Management

Infrastructure Parameters

Defined within main.bicep and pertain to resource naming, location, and sizing.

CI/CD Secrets

Secured in GitHub Actions Secrets and used during CI/CD processes.

PowerShell Scripts

  • Set-AppConfigKVPs.ps1: This script sets key-value pairs on an Azure App Configuration.

  • Set-FuncAppAppConfigPerms.ps1: This script assigns the "App Configuration Data Reader" role to a Function App's Managed Identity, allowing it to read key-value pairs from a specified App Configuration.

  • Set-FuncAppCosmosDBPerms.ps1: This script assigns the "DocumentDB Account Contributor" role to a Function App's Managed Identity for a Cosmos DB account.

  • Set-RepoPlaceholders.ps1: This script updates the placeholders in an HTML file with specific values for API Management (APIM).

  • Set-SPAppConfigRoleDelegate.ps1: This script assigns the 'User Access Administrator' and 'App Configuration Data Owner' roles to a Service Principal.

  • Set-SPCosmosDBRoleDelegate.ps1: This script assigns the "User Access Administrator" role to a Service Principal for a Cosmos DB account.

  • Set-SPFuncAppRoleDelegate.ps1: This script assigns the "Contributor" role to a Service Principal for a Azure Function App.

azure-view's People

Contributors

kennethcarnes avatar actions-user avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.