Skip to content
Merged
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
10 changes: 1 addition & 9 deletions cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,7 @@ func init() {
// +kubebuilder:scaffold:scheme
}

// TODO fix linting (cyclop,funlen)
//
//nolint:cyclop,funlen
//nolint:funlen
func main() {
var metricsAddr string
var certDir string
Expand Down Expand Up @@ -233,12 +231,6 @@ func main() {
}
}

if os.Getenv("ENABLE_WEBHOOKS") != EnvFalse {
if err = webhookpdoknlv3.SetupWFSWebhookWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create webhook", "webhook", "WFS")
os.Exit(1)
}
}
// +kubebuilder:scaffold:builder

if err := mgr.AddHealthzCheck("healthz", healthz.Ping); err != nil {
Expand Down
431 changes: 0 additions & 431 deletions config/crd/bases/pdok.nl_wfses.yaml

This file was deleted.

491 changes: 0 additions & 491 deletions config/crd/bases/pdok.nl_wmses.yaml

This file was deleted.

83 changes: 42 additions & 41 deletions config/crd/update_openapi.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ func main() {
updateWMSV3Layers(crdDir)
}

// TODO fix linting (funlen)
//
//nolint:funlen
func updateWMSV3Layers(crdDir string) {
path := filepath.Join(crdDir, "pdok.nl_wms.yaml")

Expand All @@ -38,44 +35,7 @@ func updateWMSV3Layers(crdDir string) {
versions := make([]v1.CustomResourceDefinitionVersion, 0)
for _, version := range crd.Spec.Versions {
if version.Name == "v3" {
schema := version.Schema.OpenAPIV3Schema
spec := schema.Properties["spec"]
service := spec.Properties["service"]
layer := service.Properties["layer"]

// Level 3
layerSpecLevel3 := layer.DeepCopy()
layerSpecLevel3.Required = append(layerSpecLevel3.Required, "name")
delete(layerSpecLevel3.Properties, "layers")
xvals := v1.ValidationRules{}
for _, xval := range layerSpecLevel3.XValidations {
if !strings.Contains(xval.Rule, "self.layers") {
xvals = append(xvals, xval)
}
}
layerSpecLevel3.XValidations = xvals

// Level 2
layerSpecLevel2 := layer.DeepCopy()
layerSpecLevel2.Required = append(layerSpecLevel2.Required, "name")
layerSpecLevel2.Properties["layers"] = v1.JSONSchemaProps{
Type: "array",
Description: "[OpenAPI spec injected by mapserver-operator/cmd/update_openapi.go]",
Items: &v1.JSONSchemaPropsOrArray{Schema: layerSpecLevel3},
}

layer.Properties["layers"] = v1.JSONSchemaProps{
Type: "array",
Description: "[OpenAPI spec injected by mapserver-operator/cmd/update_openapi.go]",
Items: &v1.JSONSchemaPropsOrArray{Schema: layerSpecLevel2},
}

service.Properties["layer"] = layer
spec.Properties["service"] = service
schema.Properties["spec"] = spec
version.Schema = &v1.CustomResourceValidation{
OpenAPIV3Schema: schema,
}
updateLayersV3(&version)

versions = append(versions, version)
} else {
Expand All @@ -100,3 +60,44 @@ func updateWMSV3Layers(crdDir string) {
enc.SetIndent(2)
_ = enc.Encode(rawData)
}

func updateLayersV3(version *v1.CustomResourceDefinitionVersion) {
schema := version.Schema.OpenAPIV3Schema
spec := schema.Properties["spec"]
service := spec.Properties["service"]
layer := service.Properties["layer"]

// Level 3
layerSpecLevel3 := layer.DeepCopy()
layerSpecLevel3.Required = append(layerSpecLevel3.Required, "name")
delete(layerSpecLevel3.Properties, "layers")
xvals := v1.ValidationRules{}
for _, xval := range layerSpecLevel3.XValidations {
if !strings.Contains(xval.Rule, "self.layers") {
xvals = append(xvals, xval)
}
}
layerSpecLevel3.XValidations = xvals

// Level 2
layerSpecLevel2 := layer.DeepCopy()
layerSpecLevel2.Required = append(layerSpecLevel2.Required, "name")
layerSpecLevel2.Properties["layers"] = v1.JSONSchemaProps{
Type: "array",
Description: "[OpenAPI spec injected by mapserver-operator/cmd/update_openapi.go]",
Items: &v1.JSONSchemaPropsOrArray{Schema: layerSpecLevel3},
}

layer.Properties["layers"] = v1.JSONSchemaProps{
Type: "array",
Description: "[OpenAPI spec injected by mapserver-operator/cmd/update_openapi.go]",
Items: &v1.JSONSchemaPropsOrArray{Schema: layerSpecLevel2},
}

service.Properties["layer"] = layer
spec.Properties["service"] = service
schema.Properties["spec"] = spec
version.Schema = &v1.CustomResourceValidation{
OpenAPIV3Schema: schema,
}
}
Loading
Loading