github.com/turbot/steampipe@v1.7.0-rc.0.0.20240517123944-7cef272d4458/pkg/ociinstaller/imageconfig.go (about) 1 package ociinstaller 2 3 import ( 4 "encoding/json" 5 ) 6 7 const DefaultConfigSchema string = "2020-11-18" 8 9 type config struct { 10 SchemaVersion string `json:"schemaVersion"` 11 Plugin *configPlugin `json:"plugin,omitempty"` 12 Database *configDb `json:"db,omitempty"` 13 Fdw *configFdw `json:"fdw,omitempty"` 14 } 15 16 type configPlugin struct { 17 Name string `json:"name,omitempty"` 18 Organization string `json:"organization,omitempty"` 19 Version string `json:"version"` 20 } 21 22 type configDb struct { 23 Name string `json:"name,omitempty"` 24 Organization string `json:"organization,omitempty"` 25 Version string `json:"version"` 26 DBVersion string `json:"dbVersion,omitempty"` 27 } 28 29 type configFdw struct { 30 Name string `json:"name,omitempty"` 31 Organization string `json:"organization,omitempty"` 32 Version string `json:"version"` 33 } 34 35 func newSteampipeImageConfig(configBytes []byte) (*config, error) { 36 configData := &config{ 37 Plugin: &configPlugin{}, 38 Database: &configDb{}, 39 Fdw: &configFdw{}, 40 } 41 if err := json.Unmarshal(configBytes, configData); err != nil { 42 return nil, err 43 } 44 45 if configData.SchemaVersion == "" { 46 configData.SchemaVersion = DefaultConfigSchema 47 } 48 return configData, nil 49 }