Skip to content
/ azops Public
forked from Azure/AzOps

AzOps is a high-performance Rust CLI for declarative Azure infrastructure-as-code. It mirrors Azure's resource hierarchy — management groups, subscriptions, and resource groups — as local ARM JSON and Bicep templates, enabling pull and push workflows at all scope levels.

License

Notifications You must be signed in to change notification settings

ljtill/azops

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

487 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AzOps

A high-performance Rust CLI for declarative Azure infrastructure-as-code.

AzOps mirrors Azure's resource hierarchy — management groups, subscriptions, and resource groups — as a local directory tree of ARM JSON and Bicep templates. Pull the current state from Azure, edit declaratively, and push changes back.

Quick Start

cargo install --path .          # build from source
az login                        # authenticate via Azure CLI
azops init                      # create the local state directory
azops pull                      # download Azure resource state
# … edit templates under root/ …
azops push --what-if            # preview without deploying
azops push                      # deploy changes

Installation

From source — requires the Rust toolchain:

cargo install --path .

Prebuilt binary — download from Releases and place on your PATH.

See docs/getting-started/installation.md for full details.

Commands

Command Description
azops init Initialize environment and test Azure connectivity
azops pull Discover Azure resources and write state to disk
azops push Deploy ARM/Bicep templates to Azure

All commands accept -v / -vv for increasing log verbosity and -s / --state-path to set the state directory (default: root). Run azops <command> --help for full options.

See docs/commands/ for complete reference.

Configuration

All settings are read from an azops.toml file in the current working directory. Generate one with defaults:

azops init
Setting Default Description
core.state_path "root" State directory path
discovery.skip_policy false Skip policy discovery
discovery.skip_role false Skip role discovery
discovery.skip_resource true Skip individual resource discovery
deletion.enabled false Enable resource deletion
deployment.whatif_enabled false Enable WhatIf mode globally

See docs/configuration/reference.md for the full settings list.

Documentation

Full documentation is in the docs/ directory:

Contributing

Contributions and suggestions are welcome — please review the Code of Conduct and Security Policy first.

File issues via GitHub Issues.

License

MIT

About

AzOps is a high-performance Rust CLI for declarative Azure infrastructure-as-code. It mirrors Azure's resource hierarchy — management groups, subscriptions, and resource groups — as local ARM JSON and Bicep templates, enabling pull and push workflows at all scope levels.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Languages

  • Rust 100.0%