cloudapi: json tailoring options

Add support for json tailoring files in the cloudapi. Expand the tests
to check that the options returned are okay and that tailoring options
and json tailoring options can't be provided at the same time.
This commit is contained in:
Gianluca Zuccarelli 2024-07-23 17:17:00 +01:00 committed by Sanne Raymaekers
parent 16180e9c58
commit 2da3a73308
4 changed files with 260 additions and 177 deletions

View file

@ -233,6 +233,9 @@ func (request *ComposeRequest) GetCustomizationsFromBlueprintRequest() (*bluepri
if rbpc.Openscap.Datastream != nil {
oscap.DataStream = *rbpc.Openscap.Datastream
}
if rbpc.Openscap.Tailoring != nil && rbpc.Openscap.JsonTailoring != nil {
return nil, fmt.Errorf("OpenSCAP customization error: choose one option between OpenSCAP tailoring and OpenSCAP json tailoring")
}
if tailoring := rbpc.Openscap.Tailoring; tailoring != nil {
tc := blueprint.OpenSCAPTailoringCustomizations{}
if tailoring.Selected != nil && len(*tailoring.Selected) > 0 {
@ -243,6 +246,12 @@ func (request *ComposeRequest) GetCustomizationsFromBlueprintRequest() (*bluepri
}
oscap.Tailoring = &tc
}
if jsonTailoring := rbpc.Openscap.JsonTailoring; jsonTailoring != nil {
oscap.JSONTailoring = &blueprint.OpenSCAPJSONTailoringCustomizations{
ProfileID: jsonTailoring.ProfileId,
Filepath: jsonTailoring.Filepath,
}
}
c.OpenSCAP = oscap
}
@ -684,6 +693,9 @@ func (request *ComposeRequest) GetBlueprintFromCustomizations() (blueprint.Bluep
openSCAPCustomization := &blueprint.OpenSCAPCustomization{
ProfileID: request.Customizations.Openscap.ProfileId,
}
if request.Customizations.Openscap.Tailoring != nil && request.Customizations.Openscap.JsonTailoring != nil {
return bp, fmt.Errorf("OpenSCAP customization error: choose one option between OpenSCAP tailoring and OpenSCAP json tailoring")
}
if tailoring := request.Customizations.Openscap.Tailoring; tailoring != nil {
tailoringCustomizations := blueprint.OpenSCAPTailoringCustomizations{}
if tailoring.Selected != nil && len(*tailoring.Selected) > 0 {
@ -694,6 +706,12 @@ func (request *ComposeRequest) GetBlueprintFromCustomizations() (blueprint.Bluep
}
openSCAPCustomization.Tailoring = &tailoringCustomizations
}
if jsonTailoring := request.Customizations.Openscap.JsonTailoring; jsonTailoring != nil {
openSCAPCustomization.JSONTailoring = &blueprint.OpenSCAPJSONTailoringCustomizations{
ProfileID: jsonTailoring.ProfileId,
Filepath: jsonTailoring.Filepath,
}
}
bp.Customizations.OpenSCAP = openSCAPCustomization
}

View file

@ -785,4 +785,47 @@ func TestOpenSCAPTailoringOptions(t *testing.T) {
bp, err := cr.GetBlueprintFromCustomizations()
assert.NoError(t, err)
assert.Equal(t, expectedOscap, bp.Customizations.OpenSCAP)
cr = ComposeRequest{
Customizations: &Customizations{
Openscap: &OpenSCAP{
ProfileId: "test-123",
JsonTailoring: &OpenSCAPJSONTailoring{
ProfileId: "test-123-tailoring",
Filepath: "/some/filepath",
},
},
},
}
expectedOscap = &blueprint.OpenSCAPCustomization{
ProfileID: "test-123",
JSONTailoring: &blueprint.OpenSCAPJSONTailoringCustomizations{
ProfileID: "test-123-tailoring",
Filepath: "/some/filepath",
},
}
bp, err = cr.GetBlueprintFromCustomizations()
assert.NoError(t, err)
assert.Equal(t, expectedOscap, bp.Customizations.OpenSCAP)
cr = ComposeRequest{
Customizations: &Customizations{
Openscap: &OpenSCAP{
ProfileId: "test-123",
Tailoring: &OpenSCAPTailoring{
Selected: common.ToPtr([]string{"one", "two", "three"}),
Unselected: common.ToPtr([]string{"four", "five", "six"}),
},
JsonTailoring: &OpenSCAPJSONTailoring{
ProfileId: "test-123-tailoring",
Filepath: "/some/filepath",
},
},
},
}
bp, err = cr.GetBlueprintFromCustomizations()
assert.Error(t, err)
}

View file

@ -344,9 +344,10 @@ type BlueprintFirewall struct {
// BlueprintOpenSCAP defines model for BlueprintOpenSCAP.
type BlueprintOpenSCAP struct {
Datastream *string `json:"datastream,omitempty"`
ProfileId string `json:"profile_id"`
Tailoring *OpenSCAPTailoring `json:"tailoring,omitempty"`
Datastream *string `json:"datastream,omitempty"`
JsonTailoring *OpenSCAPJSONTailoring `json:"json_tailoring,omitempty"`
ProfileId string `json:"profile_id"`
Tailoring *OpenSCAPTailoring `json:"tailoring,omitempty"`
}
// BlueprintRepository defines model for BlueprintRepository.
@ -905,8 +906,15 @@ type ObjectReference struct {
// OpenSCAP defines model for OpenSCAP.
type OpenSCAP struct {
ProfileId string `json:"profile_id"`
Tailoring *OpenSCAPTailoring `json:"tailoring,omitempty"`
JsonTailoring *OpenSCAPJSONTailoring `json:"json_tailoring,omitempty"`
ProfileId string `json:"profile_id"`
Tailoring *OpenSCAPTailoring `json:"tailoring,omitempty"`
}
// OpenSCAPJSONTailoring defines model for OpenSCAPJSONTailoring.
type OpenSCAPJSONTailoring struct {
Filepath string `json:"filepath"`
ProfileId string `json:"profile_id"`
}
// OpenSCAPTailoring defines model for OpenSCAPTailoring.
@ -1355,178 +1363,178 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
// Base64 encoded, gzipped, json marshaled Swagger object
var swaggerSpec = []string{
"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",
"Q7gxabkAAA==",
"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",
}
// GetSwagger returns the content of the embedded swagger specification file

View file

@ -979,6 +979,8 @@ components:
type: string
tailoring:
$ref: '#/components/schemas/OpenSCAPTailoring'
json_tailoring:
$ref: '#/components/schemas/OpenSCAPJSONTailoring'
BlueprintOpenSCAP:
type: object
required:
@ -990,6 +992,8 @@ components:
type: string
tailoring:
$ref: '#/components/schemas/OpenSCAPTailoring'
json_tailoring:
$ref: '#/components/schemas/OpenSCAPJSONTailoring'
OpenSCAPTailoring:
type: object
properties:
@ -1001,6 +1005,16 @@ components:
type: array
items:
type: string
OpenSCAPJSONTailoring:
type: object
required:
- profile_id
- filepath
properties:
profile_id:
type: string
filepath:
type: string
Installer:
type: object
properties: