Azure / Azure/azure-init

[RFE] Add modularity to azure-init

Open
#258 0 comments 0 reactions 0 assignees View on GitHub
feature
Dominant language
Rust
Stars
16
Forks
20
Avg merge
2d 14h
Merged PRs (30d)
1

Description

## Current situation
When Azure-init is run, the service completes the entire provisioning service. There is little ability to turn off certain services that are not needed. This has been part of an issue where the hostname does not bounce (see #68) because azure-init runs later in boot (see #35). However, the service must be run at the very last moment because it reports provisioning complete.

[Afterburn](https://github.com/coreos/afterburn) uses a CLI flag system where each feature can be turned on or off depending on what the user needs at a given time. By adopting a similar setup, we will be able to do the hostname, user creation, and SSH configuration work early on while these changes can still propagate, and then re-call azure-init when it is time to report ready to wireserver.

## Impact
Azure-init is less robust because the hostname is set so late that the change can not be perfectly propagated.

Along with this, by requiring the entire provision to be run, azure-init may be hurting its ability to be adopted by customers. As an example, there may be a service that just wants to create a user and write their SSH keys, and azure-init could handle this for them.

## Ideal future situation
We should be able to call `azure-init --create-user`, `azure-init --set-hostname`, or `azure-init --set-hostname --write-ssh-keys --configure-sshd` and only have those specific features be done on the

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.