azure_script

Crates.ioazure_script
lib.rsazure_script
version0.1.7
created_at2025-11-01 13:06:54.604909+00
updated_at2025-11-11 15:08:50.103489+00
descriptionA brand new way to write azure infrastructure as code
homepage
repository
max_upload_size
id1911975
size63,565
(wetcatsoftwarecompany)

documentation

README

AzureScript

AzureScript is a Rust-based infrastructure-as-code (IaC) tool designed to provide a high-level, descriptive, and user-friendly way to define and manage Azure resources. It aims to be a modern alternative to Terraform and Bicep, offering a more intuitive syntax and seamless integration with Azure’s APIs.

🚀 We’re looking for collaborators! If you’re passionate about Rust, Azure, or IaC, we’d love your help. See the Contributing section below.


🌟 Why AzureScript?

  • High-Level Abstractions: Define Azure resources in a descriptive, declarative YAML format—no need to write low-level templates.
  • Rust-Powered: Leverage Rust’s performance, safety, and concurrency for reliable infrastructure management.
  • Seamless Azure Integration: Directly interact with Azure Resource Manager APIs for real-time resource management.
  • Extensible: Easily add support for new Azure services or custom workflows.
  • Human-Readable: Focus on clarity and simplicity, making it accessible for both developers and DevOps engineers.

📌 Features

  • YAML-Based Configuration: Define your entire Azure infrastructure in a single, readable YAML file.
  • Azure API Integration: Authenticate and interact with Azure APIs to create, update, and manage resources.
  • Modular Design: Organize resources into subscriptions, resource groups, and services.
  • Error Handling: Robust error handling for API calls, YAML parsing, and validation.
  • Open Source: Fully open-source and community-driven.

🛠️ Installation

Prerequisites

Build from Source

  1. Clone the repository:
    git clone https://github.com/wetcatsoftwarecompany/azurescript.git
    cd azurescript
    

Build the project: bash Copycargo build --release

Run AzureScript: bash Copy./target/release/azurescript --help

📂 Usage

  1. Define Your Infrastructure:

    Create a YAML file (e.g., infra.yaml) to describe your Azure resources:

    subscriptions:
    - name: "My Azure Subscription"
        id: "your-subscription-id"
        resource_groups:
        - name: "MyResourceGroup"
            region: "eastus"
            keyvaults:
            - name: "MyKeyVault"
                region: "eastus"
            virtual_machines:
            - name: "MyVM"
                size: "Standard_B1s"
                image: "UbuntuLTS"
    
  2. Authenticate with Azure:

    Obtain an Azure access token using the Azure CLI:

        az login
        az account get-access-token --query "accessToken" -o tsv
    
  3. Deploy Your Infrastructure

    Run AzureScript to parse your configuration and interact with Azure:

        cargo run -- --config infra.yaml --access-token "your-access-token"
    

🤝 Contributing

We welcome contributions from the community! Whether you’re fixing bugs, adding features, improving documentation, or sharing ideas, your help is valuable. How to Contribute

Fork the repository and clone it locally. Create a new branch:

    git checkout -b my-feature-branch

Commit your changes:

    git commit -m "Add my feature"

Push to your fork:

    git push origin my-feature-branch

Open a Pull Request (PR) to the main branch.

Code of Conduct Please follow our Code of Conduct in all interactions.

📜 License

AzureScript is licensed under the MIT License.

🔗 Links

GitHub Repository: https://github.com/wetcatsoftwarecompany/azurescript Issues: https://github.com/wetcatsoftwarecompany/azurescript/issues Pull Requests: https://github.com/wetcatsoftwarecompany/azurescript/pulls

📧 Contact

For questions, feedback, or collaboration, open an issue or reach out to the maintainers.

Thank you for using AzureScript! Let’s build the future of Azure IaC together. 🌟

Commit count: 0

cargo fmt