Add support for RHSM customizations

Add support for RHSM customizations, which currently allow various
aspects of RHSM. Specifically enabling / disabling DNF plugins shipped
by subscription-manager package and setting a subset of options in the
rhsm.conf.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This commit is contained in:
Tomáš Hozza 2024-08-07 17:41:00 +02:00 committed by Tomáš Hozza
parent 26dd54a4d7
commit 768537dba3
14 changed files with 583 additions and 182 deletions

View file

@ -556,6 +556,26 @@ func TestBlueprintsCustomizationInfoToml(t *testing.T) {
"/root/gpg-key"
]
}
},
"rhsm": {
"config": {
"dnf_plugins": {
"product_id": {
"enabled": true
},
"subscription_manager": {
"enabled": false
}
},
"subscription_manager": {
"rhsm": {
"manage_repos": true
},
"rhsmcertd": {
"auto_registration": false
}
}
}
}
}
}`
@ -657,6 +677,26 @@ func TestBlueprintsCustomizationInfoToml(t *testing.T) {
Files: []string{"/root/gpg-key"},
},
},
RHSM: &blueprint.RHSMCustomization{
Config: &blueprint.RHSMConfig{
DNFPlugins: &blueprint.SubManDNFPluginsConfig{
ProductID: &blueprint.DNFPluginConfig{
Enabled: common.ToPtr(true),
},
SubscriptionManager: &blueprint.DNFPluginConfig{
Enabled: common.ToPtr(false),
},
},
SubscriptionManager: &blueprint.SubManConfig{
RHSMConfig: &blueprint.SubManRHSMConfig{
ManageRepos: common.ToPtr(true),
},
RHSMCertdConfig: &blueprint.SubManRHSMCertdConfig{
AutoRegistration: common.ToPtr(false),
},
},
},
},
},
}