Coder Social home page Coder Social logo

azure-init's Introduction

Azure-Init

Github CI

A reference implementation for provisioning Linux VMs on Azure.

Azure-init configures Linux guests from provisioning metadata. Contrary to complex guest configuration and customisation systems like e.g. cloud-init, azure-init aims to be minimal. It strictly focuses on basic instance initialisation from Azure metadata.

Azure-init has very few requirements on its environment, so it may run in a very early stage of the boot process.

Installing Rust

Rust can be installed via the command line using the following command: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh, or with other options found here: https://www.rust-lang.org/tools/install. Following this installation process will also allow for the use of Cargo, which is Rust's compiler and dependency manager. More on the usage of cargo can be found in the building section.

Pulling Source Code

This source code can accessed by cloning the repository to your machine with the command: git clone [email protected]:Azure/azure-init.git

Building the Project

Building this project can be done by going to the base of the repository in the command line and entering the command cargo build --all. This project contains two binaries, the main provisioning agent and the functional testing binary, so this command builds both. These binaries are quite small, but you can build only one by entering cargo build --bin <binary_name> and indicating either azure-init or functional_tests.

To run the program, you must enter the command cargo run --bin <binary_name> and indicating the correct binary.

Testing

There are two different sets of tests: unit tests and end-to-end (e2e tests). To run unit tests, use cargo test. To run end-to-end testing, use make e2e-test, which will create a test user, ssh directory, place mock ssh keys, and then clean up the test artifacts afterwards.

Contributing

Contribution require you to agree to Microsoft's Contributor License Agreement (CLA). Please refer to CONTRIBUTING.md for detailed instructions.

This project adheres to the Microsoft Open Source Code of Conduct. Check out CODE_OF_CONDUCT.md for a brief collection of links and references.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

azure-init's People

Contributors

cadejacobson avatar microsoftopensource avatar nellshamrell avatar dongsupark avatar t-lo avatar peytonr18 avatar microsoft-github-policy-service[bot] 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.