Audiences for OSConfig documentation
As noted in What is OSConfig for Linux?, the OSConfig project seeks to make it easier to provision and manage device configuration (and state) through Azure IoT or GitOps practices. This article exists to help direct you to the most important documentation for you, depending on what job you need to accomplish.
Developing/building devices, images, or SBOMSs
Are you deciding what software will be included in a device? Are you integrating software components into an image? If so, this section is for you. You might work for a company building a specialized sealed device. You might be a systems integrator adding software to open devices like Pis, Jetsons, etc. You might be aiming for a device certification.
Early in the device/image lifecycle, the key is to ensure the right software components are installed to enable device provisioning and management. The following links focus on installation and integration:
- How and where to install the OSConfig agent for Linux
- About OSConfig preview or "insiders" builds
- What is OSConfig for Linux?
If you develop devices but also operate solutions with them (or want to see what your solution operating customers will be doing), continue to the following section.
Building, operating, integrating, or administering cloud solutions with devices
Do you (or will you) provision and/or manage devices using Azure? If so, this section is for you. You might be operating a smart HVAC solution. You might be developing a next gen manufacturing quality solution. You might consider yourself an infrastructure-oriented devops person. You might consider yourself an app builder, whose app happens to involve some devices. In any of these contexts, OSConfig can enable you to provision and manage device configuration (and state) using native Azure IoT twin-based workflows such as IoT Hub Queries, IoT Hub Configurations, and so on.
For this audience, the key question is often "what parts of the device/OS can I manage?". To answer this, see:
- What is OSConfig for Linux?
- Working with network adapter status, IP addresses, etc., using OSConfig and Azure IoT
- Manage the OS package manager using Azure IoT and OSConfig
- Working with /etc/hosts file using Azure IoT and OSConfig
- Report and inventory hardware and OS information with Azure IoT and OSConfig
- Reboot or shut down devices with Azure IoT and OSConfig
- Working with host names using Azure IoT and OSConfig
- Reboot or shut down devices with Azure IoT and OSConfig
- Custom configuration and reporting with Azure IoT and OSConfig
- How to interact with the CommandRunner feature of OSConfig and Azure IoT
You may also be interested in installation topics:
Finally, You may want to try out OSConfig scenarios right away. To do this, run through the following lab setup. This will put you in a great position to try out any of the use cases linked above.
Open source and extensibility
Do you want to add new features to OSConfig? Do you want to build for distros or CPU architectures which we don't publish? Do you just want to have a look around? If so, this section is for you.
OSConfig is open source and accepting pull requests at https://github.com/Azure/azure-osconfig.
- For an overview of building OSConfig from source, see: https://github.com/Azure/azure-osconfig#readme
- For the main codebase, see: https://github.com/Azure/azure-osconfig/tree/main/src
- For guidance on building new modules, architecture, etc., see: https://github.com/Azure/azure-osconfig/tree/main/docs
Next steps
For an overview of OSConfig scenarios and capabilities, see:
For specific practical examples, see: