subscription: new package for subscription options
Move the subscription options from distro to its own package. Now we can import the manifest package into the distro package (instead of the other way around) so we can work with the manifest.Manifest type in distro.
This commit is contained in:
parent
ea305d9c0f
commit
0f925c445c
16 changed files with 95 additions and 81 deletions
|
|
@ -21,6 +21,7 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/ostree"
|
"github.com/osbuild/osbuild-composer/internal/ostree"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
"github.com/osbuild/osbuild-composer/internal/target"
|
"github.com/osbuild/osbuild-composer/internal/target"
|
||||||
"github.com/osbuild/osbuild-composer/internal/worker"
|
"github.com/osbuild/osbuild-composer/internal/worker"
|
||||||
"github.com/osbuild/osbuild-composer/internal/worker/clienterrors"
|
"github.com/osbuild/osbuild-composer/internal/worker/clienterrors"
|
||||||
|
|
@ -446,7 +447,7 @@ func (h *apiHandlers) PostCompose(ctx echo.Context) error {
|
||||||
if request.Customizations.Subscription.Rhc != nil {
|
if request.Customizations.Subscription.Rhc != nil {
|
||||||
rhc = *request.Customizations.Subscription.Rhc
|
rhc = *request.Customizations.Subscription.Rhc
|
||||||
}
|
}
|
||||||
imageOptions.Subscription = &distro.SubscriptionImageOptions{
|
imageOptions.Subscription = &subscription.ImageOptions{
|
||||||
Organization: request.Customizations.Subscription.Organization,
|
Organization: request.Customizations.Subscription.Organization,
|
||||||
ActivationKey: request.Customizations.Subscription.ActivationKey,
|
ActivationKey: request.Customizations.Subscription.ActivationKey,
|
||||||
ServerUrl: request.Customizations.Subscription.ServerUrl,
|
ServerUrl: request.Customizations.Subscription.ServerUrl,
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/container"
|
"github.com/osbuild/osbuild-composer/internal/container"
|
||||||
"github.com/osbuild/osbuild-composer/internal/disk"
|
"github.com/osbuild/osbuild-composer/internal/disk"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
@ -146,7 +147,7 @@ type ImageType interface {
|
||||||
type ImageOptions struct {
|
type ImageOptions struct {
|
||||||
Size uint64
|
Size uint64
|
||||||
OSTree OSTreeImageOptions
|
OSTree OSTreeImageOptions
|
||||||
Subscription *SubscriptionImageOptions
|
Subscription *subscription.ImageOptions
|
||||||
Facts *FactsImageOptions
|
Facts *FactsImageOptions
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -176,18 +177,6 @@ type OSTreeImageOptions struct {
|
||||||
RHSM bool
|
RHSM bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// The SubscriptionImageOptions specify subscription-specific image options
|
|
||||||
// ServerUrl denotes the host to register the system with
|
|
||||||
// BaseUrl specifies the repository URL for DNF
|
|
||||||
type SubscriptionImageOptions struct {
|
|
||||||
Organization string
|
|
||||||
ActivationKey string
|
|
||||||
ServerUrl string
|
|
||||||
BaseUrl string
|
|
||||||
Insights bool
|
|
||||||
Rhc bool
|
|
||||||
}
|
|
||||||
|
|
||||||
// The FactsImageOptions specify things to be stored into the Insights facts
|
// The FactsImageOptions specify things to be stored into the Insights facts
|
||||||
// storage. This mostly relates to how the build of the image was performed.
|
// storage. This mostly relates to how the build of the image was performed.
|
||||||
type FactsImageOptions struct {
|
type FactsImageOptions struct {
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,7 @@ import (
|
||||||
|
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/shell"
|
"github.com/osbuild/osbuild-composer/internal/shell"
|
||||||
)
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
|
|
||||||
type RHSMSubscriptionStatus string
|
|
||||||
|
|
||||||
const (
|
|
||||||
RHSMConfigWithSubscription RHSMSubscriptionStatus = "with-subscription"
|
|
||||||
RHSMConfigNoSubscription RHSMSubscriptionStatus = "no-subscription"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// ImageConfig represents a (default) configuration applied to the image
|
// ImageConfig represents a (default) configuration applied to the image
|
||||||
|
|
@ -43,7 +37,7 @@ type ImageConfig struct {
|
||||||
|
|
||||||
// for RHSM configuration, we need to potentially distinguish the case
|
// for RHSM configuration, we need to potentially distinguish the case
|
||||||
// when the user want the image to be subscribed on first boot and when not
|
// when the user want the image to be subscribed on first boot and when not
|
||||||
RHSMConfig map[RHSMSubscriptionStatus]*osbuild.RHSMStageOptions
|
RHSMConfig map[subscription.RHSMStatus]*osbuild.RHSMStageOptions
|
||||||
SystemdLogind []*osbuild.SystemdLogindStageOptions
|
SystemdLogind []*osbuild.SystemdLogindStageOptions
|
||||||
CloudInit []*osbuild.CloudInitStageOptions
|
CloudInit []*osbuild.CloudInitStageOptions
|
||||||
Modprobe []*osbuild.ModprobeStageOptions
|
Modprobe []*osbuild.ModprobeStageOptions
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
)
|
)
|
||||||
|
|
||||||
var azureRhuiImgType = imageType{
|
var azureRhuiImgType = imageType{
|
||||||
|
|
@ -151,8 +152,8 @@ var azureDefaultImgConfig = &distro.ImageConfig{
|
||||||
RDEnableSwap: common.ToPtr(false),
|
RDEnableSwap: common.ToPtr(false),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
RHSMConfig: map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
RHSMConfig: map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
YumPlugins: &osbuild.RHSMStageOptionsDnfPlugins{
|
YumPlugins: &osbuild.RHSMStageOptionsDnfPlugins{
|
||||||
SubscriptionManager: &osbuild.RHSMStageOptionsDnfPlugin{
|
SubscriptionManager: &osbuild.RHSMStageOptionsDnfPlugin{
|
||||||
Enabled: false,
|
Enabled: false,
|
||||||
|
|
@ -167,7 +168,7 @@ var azureDefaultImgConfig = &distro.ImageConfig{
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
distro.RHSMConfigWithSubscription: {
|
subscription.RHSMConfigWithSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
)
|
)
|
||||||
|
|
||||||
var qcow2ImgType = imageType{
|
var qcow2ImgType = imageType{
|
||||||
|
|
@ -53,8 +54,8 @@ var qcow2DefaultImgConfig = &distro.ImageConfig{
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
RHSMConfig: map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
RHSMConfig: map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
YumPlugins: &osbuild.RHSMStageOptionsDnfPlugins{
|
YumPlugins: &osbuild.RHSMStageOptionsDnfPlugins{
|
||||||
ProductID: &osbuild.RHSMStageOptionsDnfPlugin{
|
ProductID: &osbuild.RHSMStageOptionsDnfPlugin{
|
||||||
Enabled: false,
|
Enabled: false,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
)
|
)
|
||||||
|
|
||||||
func amiImgTypeX86_64(rd distribution) imageType {
|
func amiImgTypeX86_64(rd distribution) imageType {
|
||||||
|
|
@ -222,8 +223,8 @@ func baseEc2ImageConfig() *distro.ImageConfig {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
RHSMConfig: map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
RHSMConfig: map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
// RHBZ#1932802
|
// RHBZ#1932802
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
|
|
@ -234,7 +235,7 @@ func baseEc2ImageConfig() *distro.ImageConfig {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
distro.RHSMConfigWithSubscription: {
|
subscription.RHSMConfigWithSubscription: {
|
||||||
// RHBZ#1932802
|
// RHBZ#1932802
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
|
|
@ -319,14 +320,14 @@ func defaultEc2ImageConfig(rd distribution) *distro.ImageConfig {
|
||||||
if rd.isRHEL() && common.VersionLessThan(rd.osVersion, "9.1") {
|
if rd.isRHEL() && common.VersionLessThan(rd.osVersion, "9.1") {
|
||||||
ic = appendRHSM(ic)
|
ic = appendRHSM(ic)
|
||||||
// Disable RHSM redhat.repo management
|
// Disable RHSM redhat.repo management
|
||||||
rhsmConf := ic.RHSMConfig[distro.RHSMConfigNoSubscription]
|
rhsmConf := ic.RHSMConfig[subscription.RHSMConfigNoSubscription]
|
||||||
rhsmConf.SubMan.Rhsm = &osbuild.SubManConfigRHSMSection{ManageRepos: common.ToPtr(false)}
|
rhsmConf.SubMan.Rhsm = &osbuild.SubManConfigRHSMSection{ManageRepos: common.ToPtr(false)}
|
||||||
ic.RHSMConfig[distro.RHSMConfigNoSubscription] = rhsmConf
|
ic.RHSMConfig[subscription.RHSMConfigNoSubscription] = rhsmConf
|
||||||
}
|
}
|
||||||
// The RHSM configuration should not be applied since 8.7, but it is instead done by installing the redhat-cloud-client-configuration package.
|
// The RHSM configuration should not be applied since 8.7, but it is instead done by installing the redhat-cloud-client-configuration package.
|
||||||
// See COMPOSER-1804 for more information.
|
// See COMPOSER-1804 for more information.
|
||||||
rhel87PlusEc2ImageConfigOverride := &distro.ImageConfig{
|
rhel87PlusEc2ImageConfigOverride := &distro.ImageConfig{
|
||||||
RHSMConfig: map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{},
|
RHSMConfig: map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{},
|
||||||
}
|
}
|
||||||
if !common.VersionLessThan(rd.osVersion, "8.7") {
|
if !common.VersionLessThan(rd.osVersion, "8.7") {
|
||||||
ic = rhel87PlusEc2ImageConfigOverride.InheritFrom(ic)
|
ic = rhel87PlusEc2ImageConfigOverride.InheritFrom(ic)
|
||||||
|
|
@ -464,8 +465,8 @@ func rhelEc2SapPackageSet(t *imageType) rpmmd.PackageSet {
|
||||||
// Used for RHEL distros.
|
// Used for RHEL distros.
|
||||||
func appendRHSM(ic *distro.ImageConfig) *distro.ImageConfig {
|
func appendRHSM(ic *distro.ImageConfig) *distro.ImageConfig {
|
||||||
rhsm := &distro.ImageConfig{
|
rhsm := &distro.ImageConfig{
|
||||||
RHSMConfig: map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
RHSMConfig: map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
// RHBZ#1932802
|
// RHBZ#1932802
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
|
|
@ -480,7 +481,7 @@ func appendRHSM(ic *distro.ImageConfig) *distro.ImageConfig {
|
||||||
// confusing.
|
// confusing.
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
distro.RHSMConfigWithSubscription: {
|
subscription.RHSMConfigWithSubscription: {
|
||||||
// RHBZ#1932802
|
// RHBZ#1932802
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
"github.com/osbuild/osbuild-composer/internal/shell"
|
"github.com/osbuild/osbuild-composer/internal/shell"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
)
|
)
|
||||||
|
|
||||||
const defaultAzureKernelOptions = "ro crashkernel=auto console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300"
|
const defaultAzureKernelOptions = "ro crashkernel=auto console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300"
|
||||||
|
|
@ -623,8 +624,8 @@ var defaultAzureByosImageConfig = &distro.ImageConfig{
|
||||||
GPGKeyFiles: []string{
|
GPGKeyFiles: []string{
|
||||||
"/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release",
|
"/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release",
|
||||||
},
|
},
|
||||||
RHSMConfig: map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
RHSMConfig: map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
@ -638,7 +639,7 @@ var defaultAzureByosImageConfig = &distro.ImageConfig{
|
||||||
// confusing.
|
// confusing.
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
distro.RHSMConfigWithSubscription: {
|
subscription.RHSMConfigWithSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
@ -656,8 +657,8 @@ var defaultAzureRhuiImageConfig = &distro.ImageConfig{
|
||||||
"/etc/pki/rpm-gpg/RPM-GPG-KEY-microsoft-azure-release",
|
"/etc/pki/rpm-gpg/RPM-GPG-KEY-microsoft-azure-release",
|
||||||
"/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release",
|
"/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release",
|
||||||
},
|
},
|
||||||
RHSMConfig: map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
RHSMConfig: map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
DnfPlugins: &osbuild.RHSMStageOptionsDnfPlugins{
|
DnfPlugins: &osbuild.RHSMStageOptionsDnfPlugins{
|
||||||
SubscriptionManager: &osbuild.RHSMStageOptionsDnfPlugin{
|
SubscriptionManager: &osbuild.RHSMStageOptionsDnfPlugin{
|
||||||
Enabled: false,
|
Enabled: false,
|
||||||
|
|
@ -672,7 +673,7 @@ var defaultAzureRhuiImageConfig = &distro.ImageConfig{
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
distro.RHSMConfigWithSubscription: {
|
subscription.RHSMConfigWithSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
)
|
)
|
||||||
|
|
||||||
const gceKernelOptions = "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y crashkernel=auto console=ttyS0,38400n8d"
|
const gceKernelOptions = "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y crashkernel=auto console=ttyS0,38400n8d"
|
||||||
|
|
@ -156,8 +157,8 @@ func defaultGceByosImageConfig(rd distribution) *distro.ImageConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
if rd.isRHEL() {
|
if rd.isRHEL() {
|
||||||
ic.RHSMConfig = map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
ic.RHSMConfig = map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
@ -171,7 +172,7 @@ func defaultGceByosImageConfig(rd distribution) *distro.ImageConfig {
|
||||||
// confusing.
|
// confusing.
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
distro.RHSMConfigWithSubscription: {
|
subscription.RHSMConfigWithSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
@ -187,8 +188,8 @@ func defaultGceByosImageConfig(rd distribution) *distro.ImageConfig {
|
||||||
|
|
||||||
func defaultGceRhuiImageConfig(rd distribution) *distro.ImageConfig {
|
func defaultGceRhuiImageConfig(rd distribution) *distro.ImageConfig {
|
||||||
ic := &distro.ImageConfig{
|
ic := &distro.ImageConfig{
|
||||||
RHSMConfig: map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
RHSMConfig: map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
@ -198,7 +199,7 @@ func defaultGceRhuiImageConfig(rd distribution) *distro.ImageConfig {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
distro.RHSMConfigWithSubscription: {
|
subscription.RHSMConfigWithSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
)
|
)
|
||||||
|
|
||||||
func qcow2ImgType(rd distribution) imageType {
|
func qcow2ImgType(rd distribution) imageType {
|
||||||
|
|
@ -29,8 +30,8 @@ func qcow2ImgType(rd distribution) imageType {
|
||||||
}
|
}
|
||||||
|
|
||||||
if rd.isRHEL() {
|
if rd.isRHEL() {
|
||||||
it.defaultImageConfig.RHSMConfig = map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
it.defaultImageConfig.RHSMConfig = map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
DnfPlugins: &osbuild.RHSMStageOptionsDnfPlugins{
|
DnfPlugins: &osbuild.RHSMStageOptionsDnfPlugins{
|
||||||
ProductID: &osbuild.RHSMStageOptionsDnfPlugin{
|
ProductID: &osbuild.RHSMStageOptionsDnfPlugin{
|
||||||
Enabled: false,
|
Enabled: false,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
)
|
)
|
||||||
|
|
||||||
const amiKernelOptions = "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295"
|
const amiKernelOptions = "console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295"
|
||||||
|
|
@ -257,9 +258,9 @@ func defaultEc2ImageConfig(osVersion string, rhsm bool) *distro.ImageConfig {
|
||||||
if rhsm && common.VersionLessThan(osVersion, "9.1") {
|
if rhsm && common.VersionLessThan(osVersion, "9.1") {
|
||||||
ic = appendRHSM(ic)
|
ic = appendRHSM(ic)
|
||||||
// Disable RHSM redhat.repo management
|
// Disable RHSM redhat.repo management
|
||||||
rhsmConf := ic.RHSMConfig[distro.RHSMConfigNoSubscription]
|
rhsmConf := ic.RHSMConfig[subscription.RHSMConfigNoSubscription]
|
||||||
rhsmConf.SubMan.Rhsm = &osbuild.SubManConfigRHSMSection{ManageRepos: common.ToPtr(false)}
|
rhsmConf.SubMan.Rhsm = &osbuild.SubManConfigRHSMSection{ManageRepos: common.ToPtr(false)}
|
||||||
ic.RHSMConfig[distro.RHSMConfigNoSubscription] = rhsmConf
|
ic.RHSMConfig[subscription.RHSMConfigNoSubscription] = rhsmConf
|
||||||
}
|
}
|
||||||
return ic
|
return ic
|
||||||
}
|
}
|
||||||
|
|
@ -428,8 +429,8 @@ func mkEC2ImgTypeAarch64(osVersion string, rhsm bool) imageType {
|
||||||
// Used for RHEL distros.
|
// Used for RHEL distros.
|
||||||
func appendRHSM(ic *distro.ImageConfig) *distro.ImageConfig {
|
func appendRHSM(ic *distro.ImageConfig) *distro.ImageConfig {
|
||||||
rhsm := &distro.ImageConfig{
|
rhsm := &distro.ImageConfig{
|
||||||
RHSMConfig: map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
RHSMConfig: map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
// RHBZ#1932802
|
// RHBZ#1932802
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
|
|
@ -444,7 +445,7 @@ func appendRHSM(ic *distro.ImageConfig) *distro.ImageConfig {
|
||||||
// confusing.
|
// confusing.
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
distro.RHSMConfigWithSubscription: {
|
subscription.RHSMConfigWithSubscription: {
|
||||||
// RHBZ#1932802
|
// RHBZ#1932802
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
@ -532,8 +533,8 @@ var defaultAzureByosImageConfig = &distro.ImageConfig{
|
||||||
GPGKeyFiles: []string{
|
GPGKeyFiles: []string{
|
||||||
"/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release",
|
"/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release",
|
||||||
},
|
},
|
||||||
RHSMConfig: map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
RHSMConfig: map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
@ -547,7 +548,7 @@ var defaultAzureByosImageConfig = &distro.ImageConfig{
|
||||||
// confusing.
|
// confusing.
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
distro.RHSMConfigWithSubscription: {
|
subscription.RHSMConfigWithSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
@ -565,8 +566,8 @@ var defaultAzureRhuiImageConfig = &distro.ImageConfig{
|
||||||
"/etc/pki/rpm-gpg/RPM-GPG-KEY-microsoft-azure-release",
|
"/etc/pki/rpm-gpg/RPM-GPG-KEY-microsoft-azure-release",
|
||||||
"/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release",
|
"/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release",
|
||||||
},
|
},
|
||||||
RHSMConfig: map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
RHSMConfig: map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
DnfPlugins: &osbuild.RHSMStageOptionsDnfPlugins{
|
DnfPlugins: &osbuild.RHSMStageOptionsDnfPlugins{
|
||||||
SubscriptionManager: &osbuild.RHSMStageOptionsDnfPlugin{
|
SubscriptionManager: &osbuild.RHSMStageOptionsDnfPlugin{
|
||||||
Enabled: false,
|
Enabled: false,
|
||||||
|
|
@ -581,7 +582,7 @@ var defaultAzureRhuiImageConfig = &distro.ImageConfig{
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
distro.RHSMConfigWithSubscription: {
|
subscription.RHSMConfigWithSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
)
|
)
|
||||||
|
|
||||||
const gceKernelOptions = "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y console=ttyS0,38400n8d"
|
const gceKernelOptions = "net.ifnames=0 biosdevname=0 scsi_mod.use_blk_mq=Y console=ttyS0,38400n8d"
|
||||||
|
|
@ -154,8 +155,8 @@ func baseGCEImageConfig(rhsm bool) *distro.ImageConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
if rhsm {
|
if rhsm {
|
||||||
ic.RHSMConfig = map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
ic.RHSMConfig = map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
@ -169,7 +170,7 @@ func baseGCEImageConfig(rhsm bool) *distro.ImageConfig {
|
||||||
// confusing.
|
// confusing.
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
distro.RHSMConfigWithSubscription: {
|
subscription.RHSMConfigWithSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
@ -185,8 +186,8 @@ func baseGCEImageConfig(rhsm bool) *distro.ImageConfig {
|
||||||
|
|
||||||
func defaultGceRhuiImageConfig(rhsm bool) *distro.ImageConfig {
|
func defaultGceRhuiImageConfig(rhsm bool) *distro.ImageConfig {
|
||||||
ic := &distro.ImageConfig{
|
ic := &distro.ImageConfig{
|
||||||
RHSMConfig: map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
RHSMConfig: map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
@ -196,7 +197,7 @@ func defaultGceRhuiImageConfig(rhsm bool) *distro.ImageConfig {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
distro.RHSMConfigWithSubscription: {
|
subscription.RHSMConfigWithSubscription: {
|
||||||
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
SubMan: &osbuild.RHSMStageOptionsSubMan{
|
||||||
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
Rhsmcertd: &osbuild.SubManConfigRHSMCERTDSection{
|
||||||
AutoRegistration: common.ToPtr(true),
|
AutoRegistration: common.ToPtr(true),
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
"github.com/osbuild/osbuild-composer/internal/distro"
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
@ -132,8 +133,8 @@ func qcowImageConfig(d distribution) *distro.ImageConfig {
|
||||||
DefaultTarget: common.ToPtr("multi-user.target"),
|
DefaultTarget: common.ToPtr("multi-user.target"),
|
||||||
}
|
}
|
||||||
if d.isRHEL() {
|
if d.isRHEL() {
|
||||||
ic.RHSMConfig = map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{
|
ic.RHSMConfig = map[subscription.RHSMStatus]*osbuild.RHSMStageOptions{
|
||||||
distro.RHSMConfigNoSubscription: {
|
subscription.RHSMConfigNoSubscription: {
|
||||||
DnfPlugins: &osbuild.RHSMStageOptionsDnfPlugins{
|
DnfPlugins: &osbuild.RHSMStageOptionsDnfPlugins{
|
||||||
ProductID: &osbuild.RHSMStageOptionsDnfPlugin{
|
ProductID: &osbuild.RHSMStageOptionsDnfPlugin{
|
||||||
Enabled: false,
|
Enabled: false,
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/common"
|
"github.com/osbuild/osbuild-composer/internal/common"
|
||||||
"github.com/osbuild/osbuild-composer/internal/container"
|
"github.com/osbuild/osbuild-composer/internal/container"
|
||||||
"github.com/osbuild/osbuild-composer/internal/disk"
|
"github.com/osbuild/osbuild-composer/internal/disk"
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
|
||||||
"github.com/osbuild/osbuild-composer/internal/environment"
|
"github.com/osbuild/osbuild-composer/internal/environment"
|
||||||
"github.com/osbuild/osbuild-composer/internal/fsnode"
|
"github.com/osbuild/osbuild-composer/internal/fsnode"
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
|
|
@ -16,6 +15,7 @@ import (
|
||||||
"github.com/osbuild/osbuild-composer/internal/platform"
|
"github.com/osbuild/osbuild-composer/internal/platform"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
"github.com/osbuild/osbuild-composer/internal/shell"
|
"github.com/osbuild/osbuild-composer/internal/shell"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
"github.com/osbuild/osbuild-composer/internal/users"
|
"github.com/osbuild/osbuild-composer/internal/users"
|
||||||
"github.com/osbuild/osbuild-composer/internal/workload"
|
"github.com/osbuild/osbuild-composer/internal/workload"
|
||||||
)
|
)
|
||||||
|
|
@ -120,8 +120,8 @@ type OSCustomizations struct {
|
||||||
LeapSecTZ *string
|
LeapSecTZ *string
|
||||||
FactAPIType string
|
FactAPIType string
|
||||||
|
|
||||||
Subscription *distro.SubscriptionImageOptions
|
Subscription *subscription.ImageOptions
|
||||||
RHSMConfig map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions
|
RHSMConfig map[subscription.RHSMStatus]*osbuild.RHSMStageOptions
|
||||||
|
|
||||||
// Custom directories and files to create in the image
|
// Custom directories and files to create in the image
|
||||||
Directories []*fsnode.Directory
|
Directories []*fsnode.Directory
|
||||||
|
|
@ -519,11 +519,11 @@ func (p *OS) serialize() osbuild.Pipeline {
|
||||||
WaitForNetwork: true,
|
WaitForNetwork: true,
|
||||||
}))
|
}))
|
||||||
|
|
||||||
if rhsmConfig, exists := p.RHSMConfig[distro.RHSMConfigWithSubscription]; exists {
|
if rhsmConfig, exists := p.RHSMConfig[subscription.RHSMConfigWithSubscription]; exists {
|
||||||
pipeline.AddStage(osbuild.NewRHSMStage(rhsmConfig))
|
pipeline.AddStage(osbuild.NewRHSMStage(rhsmConfig))
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if rhsmConfig, exists := p.RHSMConfig[distro.RHSMConfigNoSubscription]; exists {
|
if rhsmConfig, exists := p.RHSMConfig[subscription.RHSMConfigNoSubscription]; exists {
|
||||||
pipeline.AddStage(osbuild.NewRHSMStage(rhsmConfig))
|
pipeline.AddStage(osbuild.NewRHSMStage(rhsmConfig))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,11 @@ package manifest
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/osbuild/osbuild-composer/internal/distro"
|
|
||||||
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
"github.com/osbuild/osbuild-composer/internal/osbuild"
|
||||||
"github.com/osbuild/osbuild-composer/internal/platform"
|
"github.com/osbuild/osbuild-composer/internal/platform"
|
||||||
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
||||||
"github.com/osbuild/osbuild-composer/internal/runner"
|
"github.com/osbuild/osbuild-composer/internal/runner"
|
||||||
|
"github.com/osbuild/osbuild-composer/internal/subscription"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
@ -69,7 +69,7 @@ func CheckPkgSetInclude(t *testing.T, pkgSetChain []rpmmd.PackageSet, pkgs []str
|
||||||
|
|
||||||
func TestSubscriptionManagerCommands(t *testing.T) {
|
func TestSubscriptionManagerCommands(t *testing.T) {
|
||||||
os := NewTestOS()
|
os := NewTestOS()
|
||||||
os.Subscription = &distro.SubscriptionImageOptions{
|
os.Subscription = &subscription.ImageOptions{
|
||||||
Organization: "2040324",
|
Organization: "2040324",
|
||||||
ActivationKey: "my-secret-key",
|
ActivationKey: "my-secret-key",
|
||||||
ServerUrl: "subscription.rhsm.redhat.com",
|
ServerUrl: "subscription.rhsm.redhat.com",
|
||||||
|
|
@ -83,7 +83,7 @@ func TestSubscriptionManagerCommands(t *testing.T) {
|
||||||
|
|
||||||
func TestSubscriptionManagerInsightsCommands(t *testing.T) {
|
func TestSubscriptionManagerInsightsCommands(t *testing.T) {
|
||||||
os := NewTestOS()
|
os := NewTestOS()
|
||||||
os.Subscription = &distro.SubscriptionImageOptions{
|
os.Subscription = &subscription.ImageOptions{
|
||||||
Organization: "2040324",
|
Organization: "2040324",
|
||||||
ActivationKey: "my-secret-key",
|
ActivationKey: "my-secret-key",
|
||||||
ServerUrl: "subscription.rhsm.redhat.com",
|
ServerUrl: "subscription.rhsm.redhat.com",
|
||||||
|
|
@ -100,7 +100,7 @@ func TestSubscriptionManagerInsightsCommands(t *testing.T) {
|
||||||
|
|
||||||
func TestRhcInsightsCommands(t *testing.T) {
|
func TestRhcInsightsCommands(t *testing.T) {
|
||||||
os := NewTestOS()
|
os := NewTestOS()
|
||||||
os.Subscription = &distro.SubscriptionImageOptions{
|
os.Subscription = &subscription.ImageOptions{
|
||||||
Organization: "2040324",
|
Organization: "2040324",
|
||||||
ActivationKey: "my-secret-key",
|
ActivationKey: "my-secret-key",
|
||||||
ServerUrl: "subscription.rhsm.redhat.com",
|
ServerUrl: "subscription.rhsm.redhat.com",
|
||||||
|
|
@ -118,7 +118,7 @@ func TestRhcInsightsCommands(t *testing.T) {
|
||||||
|
|
||||||
func TestSubscriptionManagerPackages(t *testing.T) {
|
func TestSubscriptionManagerPackages(t *testing.T) {
|
||||||
os := NewTestOS()
|
os := NewTestOS()
|
||||||
os.Subscription = &distro.SubscriptionImageOptions{
|
os.Subscription = &subscription.ImageOptions{
|
||||||
Organization: "2040324",
|
Organization: "2040324",
|
||||||
ActivationKey: "my-secret-key",
|
ActivationKey: "my-secret-key",
|
||||||
ServerUrl: "subscription.rhsm.redhat.com",
|
ServerUrl: "subscription.rhsm.redhat.com",
|
||||||
|
|
@ -130,7 +130,7 @@ func TestSubscriptionManagerPackages(t *testing.T) {
|
||||||
|
|
||||||
func TestSubscriptionManagerInsightsPackages(t *testing.T) {
|
func TestSubscriptionManagerInsightsPackages(t *testing.T) {
|
||||||
os := NewTestOS()
|
os := NewTestOS()
|
||||||
os.Subscription = &distro.SubscriptionImageOptions{
|
os.Subscription = &subscription.ImageOptions{
|
||||||
Organization: "2040324",
|
Organization: "2040324",
|
||||||
ActivationKey: "my-secret-key",
|
ActivationKey: "my-secret-key",
|
||||||
ServerUrl: "subscription.rhsm.redhat.com",
|
ServerUrl: "subscription.rhsm.redhat.com",
|
||||||
|
|
@ -142,7 +142,7 @@ func TestSubscriptionManagerInsightsPackages(t *testing.T) {
|
||||||
|
|
||||||
func TestRhcInsightsPackages(t *testing.T) {
|
func TestRhcInsightsPackages(t *testing.T) {
|
||||||
os := NewTestOS()
|
os := NewTestOS()
|
||||||
os.Subscription = &distro.SubscriptionImageOptions{
|
os.Subscription = &subscription.ImageOptions{
|
||||||
Organization: "2040324",
|
Organization: "2040324",
|
||||||
ActivationKey: "my-secret-key",
|
ActivationKey: "my-secret-key",
|
||||||
ServerUrl: "subscription.rhsm.redhat.com",
|
ServerUrl: "subscription.rhsm.redhat.com",
|
||||||
|
|
|
||||||
20
internal/subscription/subscription.go
Normal file
20
internal/subscription/subscription.go
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
package subscription
|
||||||
|
|
||||||
|
// The ImageOptions specify subscription-specific image options
|
||||||
|
// ServerUrl denotes the host to register the system with
|
||||||
|
// BaseUrl specifies the repository URL for DNF
|
||||||
|
type ImageOptions struct {
|
||||||
|
Organization string
|
||||||
|
ActivationKey string
|
||||||
|
ServerUrl string
|
||||||
|
BaseUrl string
|
||||||
|
Insights bool
|
||||||
|
Rhc bool
|
||||||
|
}
|
||||||
|
|
||||||
|
type RHSMStatus string
|
||||||
|
|
||||||
|
const (
|
||||||
|
RHSMConfigWithSubscription RHSMStatus = "with-subscription"
|
||||||
|
RHSMConfigNoSubscription RHSMStatus = "no-subscription"
|
||||||
|
)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue