distro: deduplicate groupStageOptions() in RHEL pipelines
Use single NewGroupsStageOptions() from osbuild1 and osbuild2 instead of
implementing in each distro.
- Followup from 2eef6e6e2d, copied to the
rest of the RHEL distro definitions.
- Added NewGroupsStageOptions() to osbuild1 for rhel8 and rhel84.
NB: The change was not made in the Fedora distro definitions as they are
currently being rewritten.
This commit is contained in:
parent
333bec57ef
commit
42364f2cc6
26 changed files with 26 additions and 132 deletions
|
|
@ -383,7 +383,7 @@ func (t *imageType) pipeline(c *blueprint.Customizations, options distro.ImageOp
|
|||
}
|
||||
|
||||
if groups := c.GetGroups(); len(groups) > 0 {
|
||||
p.AddStage(osbuild.NewGroupsStage(t.groupStageOptions(groups)))
|
||||
p.AddStage(osbuild.NewGroupsStage(osbuild.NewGroupsStageOptions(groups)))
|
||||
}
|
||||
|
||||
if userOptions, err := osbuild.NewUsersStageOptions(c.GetUsers()); err != nil {
|
||||
|
|
@ -480,23 +480,6 @@ func (t *imageType) rpmStageOptions(arch architecture, repos []rpmmd.RepoConfig,
|
|||
}
|
||||
}
|
||||
|
||||
func (t *imageType) groupStageOptions(groups []blueprint.GroupCustomization) *osbuild.GroupsStageOptions {
|
||||
options := osbuild.GroupsStageOptions{
|
||||
Groups: map[string]osbuild.GroupsStageOptionsGroup{},
|
||||
}
|
||||
|
||||
for _, group := range groups {
|
||||
groupData := osbuild.GroupsStageOptionsGroup{
|
||||
Name: group.Name,
|
||||
}
|
||||
groupData.GID = group.GID
|
||||
|
||||
options.Groups[group.Name] = groupData
|
||||
}
|
||||
|
||||
return &options
|
||||
}
|
||||
|
||||
func (t *imageType) firewallStageOptions(firewall *blueprint.FirewallCustomization) *osbuild.FirewallStageOptions {
|
||||
options := osbuild.FirewallStageOptions{
|
||||
Ports: firewall.Ports,
|
||||
|
|
|
|||
|
|
@ -455,7 +455,7 @@ func (t *imageType) pipeline(c *blueprint.Customizations, options distro.ImageOp
|
|||
}
|
||||
|
||||
if groups := c.GetGroups(); len(groups) > 0 {
|
||||
p.AddStage(osbuild.NewGroupsStage(t.groupStageOptions(groups)))
|
||||
p.AddStage(osbuild.NewGroupsStage(osbuild.NewGroupsStageOptions(groups)))
|
||||
}
|
||||
|
||||
if userOptions, err := osbuild.NewUsersStageOptions(c.GetUsers()); err != nil {
|
||||
|
|
@ -564,23 +564,6 @@ func (t *imageType) rpmStageOptions(arch architecture, repos []rpmmd.RepoConfig,
|
|||
}
|
||||
}
|
||||
|
||||
func (t *imageType) groupStageOptions(groups []blueprint.GroupCustomization) *osbuild.GroupsStageOptions {
|
||||
options := osbuild.GroupsStageOptions{
|
||||
Groups: map[string]osbuild.GroupsStageOptionsGroup{},
|
||||
}
|
||||
|
||||
for _, group := range groups {
|
||||
groupData := osbuild.GroupsStageOptionsGroup{
|
||||
Name: group.Name,
|
||||
}
|
||||
groupData.GID = group.GID
|
||||
|
||||
options.Groups[group.Name] = groupData
|
||||
}
|
||||
|
||||
return &options
|
||||
}
|
||||
|
||||
func (t *imageType) firewallStageOptions(firewall *blueprint.FirewallCustomization) *osbuild.FirewallStageOptions {
|
||||
options := osbuild.FirewallStageOptions{
|
||||
Ports: firewall.Ports,
|
||||
|
|
|
|||
|
|
@ -317,7 +317,7 @@ func (t *imageTypeS2) ostreeTreePipeline(repos []rpmmd.RepoConfig, packages []rp
|
|||
}
|
||||
|
||||
if groups := c.GetGroups(); len(groups) > 0 {
|
||||
p.AddStage(osbuild.NewGroupsStage(t.groupStageOptions(groups)))
|
||||
p.AddStage(osbuild.NewGroupsStage(osbuild.NewGroupsStageOptions(groups)))
|
||||
}
|
||||
|
||||
if userOptions, err := osbuild.NewUsersStageOptions(c.GetUsers(), false); err != nil {
|
||||
|
|
@ -553,23 +553,6 @@ func (t *imageTypeS2) usersFirstBootOptions(usersStageOptions *osbuild.UsersStag
|
|||
return options
|
||||
}
|
||||
|
||||
func (t *imageTypeS2) groupStageOptions(groups []blueprint.GroupCustomization) *osbuild.GroupsStageOptions {
|
||||
options := osbuild.GroupsStageOptions{
|
||||
Groups: map[string]osbuild.GroupsStageOptionsGroup{},
|
||||
}
|
||||
|
||||
for _, group := range groups {
|
||||
groupData := osbuild.GroupsStageOptionsGroup{
|
||||
Name: group.Name,
|
||||
}
|
||||
groupData.GID = group.GID
|
||||
|
||||
options.Groups[group.Name] = groupData
|
||||
}
|
||||
|
||||
return &options
|
||||
}
|
||||
|
||||
func (t *imageTypeS2) firewallStageOptions(firewall *blueprint.FirewallCustomization) *osbuild.FirewallStageOptions {
|
||||
options := osbuild.FirewallStageOptions{
|
||||
Ports: firewall.Ports,
|
||||
|
|
|
|||
|
|
@ -239,7 +239,7 @@ func ec2BaseTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec,
|
|||
}
|
||||
|
||||
if groups := c.GetGroups(); len(groups) > 0 {
|
||||
p.AddStage(osbuild.NewGroupsStage(groupStageOptions(groups)))
|
||||
p.AddStage(osbuild.NewGroupsStage(osbuild.NewGroupsStageOptions(groups)))
|
||||
}
|
||||
|
||||
if userOptions, err := osbuild.NewUsersStageOptions(c.GetUsers(), false); err != nil {
|
||||
|
|
@ -660,7 +660,7 @@ func osPipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec, bpPackag
|
|||
}
|
||||
|
||||
if groups := c.GetGroups(); len(groups) > 0 {
|
||||
p.AddStage(osbuild.NewGroupsStage(groupStageOptions(groups)))
|
||||
p.AddStage(osbuild.NewGroupsStage(osbuild.NewGroupsStageOptions(groups)))
|
||||
}
|
||||
|
||||
if userOptions, err := osbuild.NewUsersStageOptions(c.GetUsers(), false); err != nil {
|
||||
|
|
@ -744,7 +744,7 @@ func ostreeTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec,
|
|||
}
|
||||
|
||||
if groups := c.GetGroups(); len(groups) > 0 {
|
||||
p.AddStage(osbuild.NewGroupsStage(groupStageOptions(groups)))
|
||||
p.AddStage(osbuild.NewGroupsStage(osbuild.NewGroupsStageOptions(groups)))
|
||||
}
|
||||
|
||||
if userOptions, err := osbuild.NewUsersStageOptions(c.GetUsers(), false); err != nil {
|
||||
|
|
|
|||
|
|
@ -52,23 +52,6 @@ func usersFirstBootOptions(usersStageOptions *osbuild.UsersStageOptions) *osbuil
|
|||
return options
|
||||
}
|
||||
|
||||
func groupStageOptions(groups []blueprint.GroupCustomization) *osbuild.GroupsStageOptions {
|
||||
options := osbuild.GroupsStageOptions{
|
||||
Groups: map[string]osbuild.GroupsStageOptionsGroup{},
|
||||
}
|
||||
|
||||
for _, group := range groups {
|
||||
groupData := osbuild.GroupsStageOptionsGroup{
|
||||
Name: group.Name,
|
||||
}
|
||||
groupData.GID = group.GID
|
||||
|
||||
options.Groups[group.Name] = groupData
|
||||
}
|
||||
|
||||
return &options
|
||||
}
|
||||
|
||||
func firewallStageOptions(firewall *blueprint.FirewallCustomization) *osbuild.FirewallStageOptions {
|
||||
options := osbuild.FirewallStageOptions{
|
||||
Ports: firewall.Ports,
|
||||
|
|
@ -205,7 +188,6 @@ func ostreeKickstartStageOptions(ostreeURL, ostreeRef string) *osbuild.Kickstart
|
|||
},
|
||||
}
|
||||
}
|
||||
|
||||
func bootISOMonoStageOptions(kernelVer string, arch string) *osbuild.BootISOMonoStageOptions {
|
||||
comprOptions := new(osbuild.FSCompressionOptions)
|
||||
if bcj := osbuild.BCJOption(arch); bcj != "" {
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@ func ec2BaseTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec,
|
|||
}
|
||||
|
||||
if groups := c.GetGroups(); len(groups) > 0 {
|
||||
p.AddStage(osbuild.NewGroupsStage(groupStageOptions(groups)))
|
||||
p.AddStage(osbuild.NewGroupsStage(osbuild.NewGroupsStageOptions(groups)))
|
||||
}
|
||||
|
||||
if userOptions, err := osbuild.NewUsersStageOptions(c.GetUsers(), false); err != nil {
|
||||
|
|
@ -744,7 +744,7 @@ func osPipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec, bpPackag
|
|||
}
|
||||
|
||||
if groups := c.GetGroups(); len(groups) > 0 {
|
||||
p.AddStage(osbuild.NewGroupsStage(groupStageOptions(groups)))
|
||||
p.AddStage(osbuild.NewGroupsStage(osbuild.NewGroupsStageOptions(groups)))
|
||||
}
|
||||
|
||||
if userOptions, err := osbuild.NewUsersStageOptions(c.GetUsers(), false); err != nil {
|
||||
|
|
@ -823,7 +823,7 @@ func ostreeTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec,
|
|||
}
|
||||
|
||||
if groups := c.GetGroups(); len(groups) > 0 {
|
||||
p.AddStage(osbuild.NewGroupsStage(groupStageOptions(groups)))
|
||||
p.AddStage(osbuild.NewGroupsStage(osbuild.NewGroupsStageOptions(groups)))
|
||||
}
|
||||
|
||||
if userOptions, err := osbuild.NewUsersStageOptions(c.GetUsers(), false); err != nil {
|
||||
|
|
|
|||
|
|
@ -49,23 +49,6 @@ func usersFirstBootOptions(usersStageOptions *osbuild.UsersStageOptions) *osbuil
|
|||
return options
|
||||
}
|
||||
|
||||
func groupStageOptions(groups []blueprint.GroupCustomization) *osbuild.GroupsStageOptions {
|
||||
options := osbuild.GroupsStageOptions{
|
||||
Groups: map[string]osbuild.GroupsStageOptionsGroup{},
|
||||
}
|
||||
|
||||
for _, group := range groups {
|
||||
groupData := osbuild.GroupsStageOptionsGroup{
|
||||
Name: group.Name,
|
||||
}
|
||||
groupData.GID = group.GID
|
||||
|
||||
options.Groups[group.Name] = groupData
|
||||
}
|
||||
|
||||
return &options
|
||||
}
|
||||
|
||||
func firewallStageOptions(firewall *blueprint.FirewallCustomization) *osbuild.FirewallStageOptions {
|
||||
options := osbuild.FirewallStageOptions{
|
||||
Ports: firewall.Ports,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package osbuild1
|
||||
|
||||
import "github.com/osbuild/osbuild-composer/internal/blueprint"
|
||||
|
||||
type GroupsStageOptions struct {
|
||||
Groups map[string]GroupsStageOptionsGroup `json:"groups"`
|
||||
}
|
||||
|
|
@ -7,7 +9,7 @@ type GroupsStageOptions struct {
|
|||
func (GroupsStageOptions) isStageOptions() {}
|
||||
|
||||
type GroupsStageOptionsGroup struct {
|
||||
Name string `json:"name"`
|
||||
Name string `json:"name,omitempty"`
|
||||
GID *int `json:"gid,omitempty"`
|
||||
}
|
||||
|
||||
|
|
@ -17,3 +19,17 @@ func NewGroupsStage(options *GroupsStageOptions) *Stage {
|
|||
Options: options,
|
||||
}
|
||||
}
|
||||
|
||||
func NewGroupsStageOptions(groups []blueprint.GroupCustomization) *GroupsStageOptions {
|
||||
options := GroupsStageOptions{
|
||||
Groups: map[string]GroupsStageOptionsGroup{},
|
||||
}
|
||||
|
||||
for _, group := range groups {
|
||||
options.Groups[group.Name] = GroupsStageOptionsGroup{
|
||||
GID: group.GID,
|
||||
}
|
||||
}
|
||||
|
||||
return &options
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3560,11 +3560,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3839,11 +3839,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3760,11 +3760,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3542,11 +3542,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3569,11 +3569,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3848,11 +3848,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3786,11 +3786,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3609,11 +3609,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -917,11 +917,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -970,11 +970,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1010,11 +1010,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -920,11 +920,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -930,11 +930,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -843,11 +843,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -906,11 +906,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -993,11 +993,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -880,11 +880,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -874,11 +874,9 @@
|
|||
"options": {
|
||||
"groups": {
|
||||
"group1": {
|
||||
"name": "group1",
|
||||
"gid": 1030
|
||||
},
|
||||
"group2": {
|
||||
"name": "group2",
|
||||
"gid": 1050
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue