Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

osbuild: add insights-client config stage #1274

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pkg/customizations/subscription/subscription.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ type ImageOptions struct {
BaseUrl string `json:"base_url"`
Insights bool `json:"insights"`
Rhc bool `json:"rhc"`
Proxy string `json:"proxy"`
}

type RHSMStatus string
Expand Down
65 changes: 35 additions & 30 deletions pkg/manifest/os.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,35 +99,36 @@ type OSCustomizations struct {
ShellInit []shell.InitFile

// TODO: drop osbuild types from the API
Firewall *osbuild.FirewallStageOptions
Grub2Config *osbuild.GRUB2Config
Sysconfig []*osbuild.SysconfigStageOptions
SystemdLogind []*osbuild.SystemdLogindStageOptions
CloudInit []*osbuild.CloudInitStageOptions
Modprobe []*osbuild.ModprobeStageOptions
DracutConf []*osbuild.DracutConfStageOptions
SystemdUnit []*osbuild.SystemdUnitStageOptions
Authselect *osbuild.AuthselectStageOptions
SELinuxConfig *osbuild.SELinuxConfigStageOptions
Tuned *osbuild.TunedStageOptions
Tmpfilesd []*osbuild.TmpfilesdStageOptions
PamLimitsConf []*osbuild.PamLimitsConfStageOptions
Sysctld []*osbuild.SysctldStageOptions
DNFConfig []*osbuild.DNFConfigStageOptions
DNFAutomaticConfig *osbuild.DNFAutomaticConfigStageOptions
YUMConfig *osbuild.YumConfigStageOptions
YUMRepos []*osbuild.YumReposStageOptions
SshdConfig *osbuild.SshdConfigStageOptions
GCPGuestAgentConfig *osbuild.GcpGuestAgentConfigOptions
AuthConfig *osbuild.AuthconfigStageOptions
PwQuality *osbuild.PwqualityConfStageOptions
NTPServers []osbuild.ChronyConfigServer
WAAgentConfig *osbuild.WAAgentConfStageOptions
UdevRules *osbuild.UdevRulesStageOptions
WSLConfig *osbuild.WSLConfStageOptions
LeapSecTZ *string
Presets []osbuild.Preset
ContainersStorage *string
Firewall *osbuild.FirewallStageOptions
Grub2Config *osbuild.GRUB2Config
Sysconfig []*osbuild.SysconfigStageOptions
SystemdLogind []*osbuild.SystemdLogindStageOptions
CloudInit []*osbuild.CloudInitStageOptions
Modprobe []*osbuild.ModprobeStageOptions
DracutConf []*osbuild.DracutConfStageOptions
SystemdUnit []*osbuild.SystemdUnitStageOptions
Authselect *osbuild.AuthselectStageOptions
SELinuxConfig *osbuild.SELinuxConfigStageOptions
Tuned *osbuild.TunedStageOptions
Tmpfilesd []*osbuild.TmpfilesdStageOptions
PamLimitsConf []*osbuild.PamLimitsConfStageOptions
Sysctld []*osbuild.SysctldStageOptions
DNFConfig []*osbuild.DNFConfigStageOptions
DNFAutomaticConfig *osbuild.DNFAutomaticConfigStageOptions
YUMConfig *osbuild.YumConfigStageOptions
YUMRepos []*osbuild.YumReposStageOptions
SshdConfig *osbuild.SshdConfigStageOptions
InsightsClientConfig *osbuild.InsightsClientConfigStageOptions
GCPGuestAgentConfig *osbuild.GcpGuestAgentConfigOptions
AuthConfig *osbuild.AuthconfigStageOptions
PwQuality *osbuild.PwqualityConfStageOptions
NTPServers []osbuild.ChronyConfigServer
WAAgentConfig *osbuild.WAAgentConfStageOptions
UdevRules *osbuild.UdevRulesStageOptions
WSLConfig *osbuild.WSLConfStageOptions
LeapSecTZ *string
Presets []osbuild.Preset
ContainersStorage *string

// OpenSCAP config
OpenSCAPRemediationConfig *oscap.RemediationConfig
Expand Down Expand Up @@ -586,7 +587,11 @@ func (p *OS) serialize() osbuild.Pipeline {
}

if p.SshdConfig != nil {
pipeline.AddStage((osbuild.NewSshdConfigStage(p.SshdConfig)))
pipeline.AddStage(osbuild.NewSshdConfigStage(p.SshdConfig))
}

if p.InsightsClientConfig != nil {
pipeline.AddStage(osbuild.NewInsightsClientConfigStage(p.InsightsClientConfig))
}

if p.AuthConfig != nil {
Expand Down
15 changes: 15 additions & 0 deletions pkg/osbuild/insights_client_config_stage.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package osbuild

type InsightsClientConfigStageOptions struct {
Proxy string `json:"proxy,omitempty"`
Path string `json:"path,omitempty"`
}

func (InsightsClientConfigStageOptions) isStageOptions() {}

func NewInsightsClientConfigStage(options *InsightsClientConfigStageOptions) *Stage {
return &Stage{
Type: "org.osbuild.insights-client.config",
Options: options,
}
}
15 changes: 15 additions & 0 deletions pkg/osbuild/insights_client_config_stage_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package osbuild

import (
"github.com/stretchr/testify/assert"
"testing"
)

func TestNewInsightsClientConfigStage(t *testing.T) {
expectedStage := &Stage{
Type: "org.osbuild.insights-client.config",
Options: &InsightsClientConfigStageOptions{},
}
actualStage := NewInsightsClientConfigStage(&InsightsClientConfigStageOptions{})
assert.Equal(t, expectedStage, actualStage)
}
Loading