11package main
22
33import (
4+ "errors"
45 "fmt"
56 "github.com/pdok/mapserver-operator/api/v2beta1"
67 pdoknlv3 "github.com/pdok/mapserver-operator/api/v3"
@@ -25,8 +26,6 @@ func main() {
2526 checkWms (path )
2627 } else if strings .HasSuffix (path , "wfs.yaml" ) {
2728 checkWfs (path )
28- } else if strings .HasSuffix (path , "atom.yaml" ) {
29- checkAtom (path )
3029 }
3130 return nil
3231 })
@@ -37,9 +36,69 @@ func main() {
3736
3837func checkWms (path string ) {
3938 print ("Checking " )
39+ print (path )
40+ print ("..." )
41+ fileString , err := getNormalizedFileString (path )
42+ if err != nil {
43+ return
44+ }
45+
46+ var v2wms v2beta1.WMS
47+ err = yaml .Unmarshal ([]byte (fileString ), & v2wms )
48+ if err != nil {
49+ fmt .Printf ("Could not unmarshall '%s' to v2wms" , path )
50+ return
51+ }
52+ var wms pdoknlv3.WMS
53+ v2beta1 .V3WMSHubFromV2 (& v2wms , & wms )
54+ warnings , err := wms .ValidateCreate ()
55+ if err != nil {
56+ println ("ERRORS" )
57+ println ("###" )
58+ println (err .Error ())
59+ println ("###" )
60+ } else if len (warnings ) > 0 {
61+ println ("WARNINGS" )
62+ } else {
63+ println ("OK" )
64+ }
65+
66+ }
67+
68+ func checkWfs (path string ) {
69+ print ("Checking " )
70+ print (path )
71+ print ("..." )
72+ fileString , err := getNormalizedFileString (path )
73+ if err != nil {
74+ return
75+ }
76+
77+ var v2wfs v2beta1.WFS
78+ err = yaml .Unmarshal ([]byte (fileString ), & v2wfs )
79+ if err != nil {
80+ fmt .Printf ("Could not unmarshall '%s' to v2wms" , path )
81+ return
82+ }
83+ var wfs pdoknlv3.WFS
84+ v2beta1 .V3WFSHubFromV2 (& v2wfs , & wfs )
85+ warnings , err := wfs .ValidateCreate ()
86+ if err != nil {
87+ println ("ERRORS" )
88+ println ("###" )
89+ println (err .Error ())
90+ println ("###" )
91+ } else if len (warnings ) > 0 {
92+ println ("WARNINGS" )
93+ } else {
94+ println ("OK" )
95+ }
96+ }
97+
98+ func getNormalizedFileString (path string ) (string , error ) {
4099 fileBytes , err := os .ReadFile (path )
41100 if err != nil {
42- log . Fatalf ( "Could not read file '%s', exiting" , path )
101+ return "" , errors . New ( fmt . Sprintf ( "Could not read file '%s', exiting" , path ) )
43102 }
44103 fileString := string (fileBytes )
45104 fileString = strings .ReplaceAll (fileString , "${BLOBS_RESOURCES_BUCKET}" , "resources" )
@@ -64,24 +123,10 @@ func checkWms(path string) {
64123 fileString = strings .ReplaceAll (fileString , "${REQUESTS_CPU}" , "1001" )
65124 fileString = strings .ReplaceAll (fileString , "${REQUESTS_MEM}" , "100M" )
66125 fileString = strings .ReplaceAll (fileString , "${REQUESTS_EPHEMERAL_STORAGE}" , "101M" )
126+ fileString = strings .ReplaceAll (fileString , "${LIMITS_MEM}" , "103M" )
67127
68- var v2wms v2beta1.WMS
69- err = yaml .Unmarshal ([]byte (fileString ), & v2wms )
70- if err != nil {
71- println (err )
72- println (path )
73- os .Exit (1 )
128+ if strings .Contains (fileString , "${" ) {
129+ return "" , errors .New (fmt .Sprintf ("File '%s' still has an unreplaced variable" , path ))
74130 }
75- var wms pdoknlv3.WMS
76- v2beta1 .V3HubFromV2 (& v2wms , & wms )
77- }
78-
79- func checkWfs (path string ) {
80- //print("Did not check ")
81- //println(path)
82- }
83-
84- func checkAtom (path string ) {
85- //print("Did not check ")
86- //println(path)
131+ return fileString , nil
87132}
0 commit comments