Skip to content

robertschaedler3/azure-learning-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Azure Learning Rust

This repository helps new Rust developers understand core Rust concepts through labs. Each lab has comments that explain different Rust concepts through examples.

Dev environment setup

git clone https://github.com/Azure/azure-osconfig.git
pushd azure-osconfig
git submodule update --init --recursive
mkdir build && pushd build
cmake ../src -DCMAKE_BUILD_TYPE=Release -Duse_prov_client=ON -Dhsm_type_symm_key=ON -DBUILD_TESTS=OFF
  • Install the azure-osconfig

sudo cmake --build . --config Release --target install

Lab 1 topics

Lab 1 instructions

  • Uncomment the code block in \src\module\mod.rs to load modules from /usr/lib/osconfig and insert them into the modules HashMap.
    • Note the move of path variable contents to the Module::init() function.
    • Note the pass by reference of name variable to the self.modules.get() function.
    • Note the user of clone() in the name variable to the self.modules.insert() function.

Dev note

Labs 1-4 are independent learning labs that do not provide fully end-to-end functionality. Each lab build on top of the previous lab, but they can be run in any order. The labs culminate in a functional Unix Domain Socket based service that dynamically loads and invokes OS modules from the OSConfig repository, used for locally managing Linux Edge devices.

For dev environment setup, the README in platform_lab1 branch has detailed instructions. The other labs assume the same dev environment setup.

The final solution can be run in the platform_labcomplete branch.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published