feat(unit): Allow user to control enabling units
Fix #69 - A user may provide an `enable` attribute of a unit in their cloud config document. If true, coreos-cloudinit will instruct systemd to enable the associated unit. If false, the unit will not be enabled. Fix #71 - The default enable behavior has been changed from on to off.
This commit is contained in:
@@ -140,14 +140,16 @@ func Apply(cfg CloudConfig, env *Environment) error {
|
||||
}
|
||||
log.Printf("Placed unit %s at %s", unit.Name, dst)
|
||||
|
||||
if unit.Group() != "network" {
|
||||
log.Printf("Enabling unit file %s", dst)
|
||||
if err := system.EnableUnitFile(dst, unit.Runtime); err != nil {
|
||||
return err
|
||||
if unit.Enable {
|
||||
if unit.Group() != "network" {
|
||||
log.Printf("Enabling unit file %s", dst)
|
||||
if err := system.EnableUnitFile(dst, unit.Runtime); err != nil {
|
||||
return err
|
||||
}
|
||||
log.Printf("Enabled unit %s", unit.Name)
|
||||
} else {
|
||||
log.Printf("Skipping enable for network-like unit %s", unit.Name)
|
||||
}
|
||||
log.Printf("Enabled unit %s", unit.Name)
|
||||
} else {
|
||||
log.Printf("Skipping enable for network-like unit %s", unit.Name)
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user