Automating the deployment, configuration, and maintenance of DevOps engineering systems
Перейти к файлу
Louis DeJardin 8d258a6a2c
Uploading binary downloads to cdn (#8)
* Adding example to create cdn and storage account

* Copying examples folder to artifacts drop location

* Adding support for binary data and files

* Each cdn rule may have only one condition

* Protecting against OS newline differences

* Updating install description and status badges
2018-09-11 12:44:15 -07:00
build Remove non-json compatible comments (#5) 2018-09-07 17:44:26 -07:00
docs Initial commit (#1) 2018-09-05 17:51:18 -07:00
examples Uploading binary downloads to cdn (#8) 2018-09-11 12:44:15 -07:00
src Uploading binary downloads to cdn (#8) 2018-09-11 12:44:15 -07:00
tasks/AtlasV0 Initial commit (#1) 2018-09-05 17:51:18 -07:00
test/Microsoft.Atlas.CommandLine.Tests Uploading binary downloads to cdn (#8) 2018-09-11 12:44:15 -07:00
.editorconfig Initial commit (#1) 2018-09-05 17:51:18 -07:00
.gitignore Initial commit (#1) 2018-09-05 17:51:18 -07:00
Atlas.sln Initial commit (#1) 2018-09-05 17:51:18 -07:00
Directory.Build.props Initial commit (#1) 2018-09-05 17:51:18 -07:00
Directory.Build.targets Initial commit (#1) 2018-09-05 17:51:18 -07:00
LICENSE Initial commit (#1) 2018-09-05 17:51:18 -07:00
README.md Uploading binary downloads to cdn (#8) 2018-09-11 12:44:15 -07:00
ThirdPartyNotice.txt Initial commit (#1) 2018-09-05 17:51:18 -07:00
build-ci.yaml Uploading binary downloads to cdn (#8) 2018-09-11 12:44:15 -07:00
build.cmd Adding dotnet test to build-ci.yaml and build.cmd (#3) 2018-09-06 16:21:37 -07:00

README.md

Atlas

Build Status Zip Status Tarball Status Choco Status

Atlas Logo


Atlas is a tool for automating the deployment, configuration, and maintenance of DevOps engineering systems. It can be run interactively from the command line, or can be run entirely unattended as part of a VSTS build or release defintion. An Atlas workflow revolves around making the appropriate REST API calls to VSTS, Active Directory, and Azure Resource Manager.

There is a REST API for everything. With Atlas you can make the configuration of everything from CI/CD to production servers consistent, reproducable, and reviewable by capturing them as source controlled templates.


Install

Daily builds of the Atlas CLI are available as self-contained downloads.

Platform Master branch (0.1) Latest build
Windows x64 Download latest zip Zip Status
Linux x64 Download latest tar.gz Tarball Status

If you want to use a package manager:

Chocolatey

  • Chocolatey users can use choco install atlas-cli -s https://www.myget.org/F/atlas-ci

Features

  • YAML or JSON syntax to define workflows and input parameters

  • Handlebars template engine enables workflows to be highly flexible

  • JMESPath provides query language for inputs, outputs, and data transformations

  • Works cross-platform as a .NET Core executable

  • Invokes any Azure RM, Azure AD, or VSTS REST API

  • From the command line, REST API calls are secured via interactive Active Directory login, similar to az login

  • From a VSTS build or release definition, REST API calls are secured via VSTS service connection to Azure

  • Renders output values and additional templated files to a target folder

  • Operations support conditional executions, retries and looping, and can throwing detailed exceptions

  • Extensively detailed log output and safe --dry-run support simplify troubleshooting

  • Values which are declared secret are redacted (replaced with xxxx) when written to console output and log files

Limitations

  • Does not allow arbitrary code or command-line execution in order to limit what can be done to the machine executing a workflow

  • Currently designed for Active Directory authentication for Azure and VSTS resources

  • Not yet available as a class library package

Goals

  • Packing workflows into zip or tarball archive files, publishing and executing workflows from feed locations

  • Establishing a repository for collaboration on common in-progress and stable workflows, and default location for common workflows

  • Shared workflows for larger scenarios, e.g. ASP.NET Core services on Kubernetes with VSTS CI/CD, Azure VM clusters, Azure DNS, ATM, and ALB for geo-redundant load balancing and service routing


Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Reporting Security Issues

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) at secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.