@@ -42,111 +42,124 @@ A config file is required which can be generated with the init command.`,
42
42
return err
43
43
}
44
44
45
- versionMF , err := getVersionManifest ( )
45
+ yaml , err := renderKubernetesObjects ( cfgVersion , cfg )
46
46
if err != nil {
47
47
return err
48
48
}
49
49
50
- if ! renderOpts .ValidateConfigDisabled {
51
- apiVersion , err := config .LoadConfigVersion (cfgVersion )
52
- if err != nil {
53
- return err
54
- }
55
- res , err := config .Validate (apiVersion , cfg )
56
- if err != nil {
57
- return err
58
- }
59
-
60
- if ! res .Valid {
61
- res .Marshal (os .Stderr )
62
- fmt .Fprintln (os .Stderr , "configuration is invalid" )
63
- os .Exit (1 )
64
- }
50
+ for _ , item := range yaml {
51
+ fmt .Println (item )
65
52
}
66
53
67
- ctx , err := common .NewRenderContext (* cfg , * versionMF , renderOpts .Namespace )
68
- if err != nil {
69
- return err
70
- }
71
-
72
- var renderable common.RenderFunc
73
- var helmCharts common.HelmFunc
74
- switch cfg .Kind {
75
- case configv1 .InstallationFull :
76
- renderable = components .FullObjects
77
- helmCharts = components .FullHelmDependencies
78
- case configv1 .InstallationMeta :
79
- renderable = components .MetaObjects
80
- helmCharts = components .MetaHelmDependencies
81
- case configv1 .InstallationWorkspace :
82
- renderable = components .WorkspaceObjects
83
- helmCharts = components .WorkspaceHelmDependencies
84
- default :
85
- return fmt .Errorf ("unsupported installation kind: %s" , cfg .Kind )
86
- }
54
+ return nil
55
+ },
56
+ }
87
57
88
- objs , err := common .CompositeRenderFunc (components .CommonObjects , renderable )(ctx )
89
- if err != nil {
90
- return err
91
- }
58
+ func loadConfig (cfgFN string ) (rawCfg interface {}, cfgVersion string , cfg * configv1.Config , err error ) {
59
+ rawCfg , cfgVersion , err = config .Load (cfgFN )
60
+ if err != nil {
61
+ err = fmt .Errorf ("error loading config: %w" , err )
62
+ return
63
+ }
64
+ if cfgVersion != config .CurrentVersion {
65
+ err = fmt .Errorf ("config version is mismatch: expected %s, got %s" , config .CurrentVersion , cfgVersion )
66
+ return
67
+ }
68
+ cfg = rawCfg .(* configv1.Config )
92
69
93
- k8s := make ([]string , 0 )
94
- for _ , o := range objs {
95
- fc , err := yaml .Marshal (o )
96
- if err != nil {
97
- return err
98
- }
70
+ return rawCfg , cfgVersion , cfg , err
71
+ }
99
72
100
- k8s = append (k8s , fmt .Sprintf ("---\n %s\n " , string (fc )))
101
- }
73
+ func renderKubernetesObjects (cfgVersion string , cfg * configv1.Config ) ([]string , error ) {
74
+ versionMF , err := getVersionManifest ()
75
+ if err != nil {
76
+ return nil , err
77
+ }
102
78
103
- charts , err := common .CompositeHelmFunc (components .CommonHelmDependencies , helmCharts )(ctx )
79
+ if ! renderOpts .ValidateConfigDisabled {
80
+ apiVersion , err := config .LoadConfigVersion (cfgVersion )
104
81
if err != nil {
105
- return err
82
+ return nil , err
106
83
}
107
- k8s = append (k8s , charts ... )
108
-
109
- // convert everything to individual objects
110
- runtimeObjs , err := common .YamlToRuntimeObject (k8s )
84
+ res , err := config .Validate (apiVersion , cfg )
111
85
if err != nil {
112
- return err
86
+ return nil , err
113
87
}
114
88
115
- // generate a config map with every component installed
116
- runtimeObjsAndConfig , err := common . GenerateInstallationConfigMap ( ctx , runtimeObjs )
117
- if err != nil {
118
- return err
89
+ if ! res . Valid {
90
+ res . Marshal ( os . Stderr )
91
+ fmt . Fprintln ( os . Stderr , "configuration is invalid" )
92
+ os . Exit ( 1 )
119
93
}
94
+ }
120
95
121
- // sort the objects and return the plain YAML
122
- sortedObjs , err := common .DependencySortingRenderFunc (runtimeObjsAndConfig )
96
+ ctx , err := common .NewRenderContext (* cfg , * versionMF , renderOpts .Namespace )
97
+ if err != nil {
98
+ return nil , err
99
+ }
100
+
101
+ var renderable common.RenderFunc
102
+ var helmCharts common.HelmFunc
103
+ switch cfg .Kind {
104
+ case configv1 .InstallationFull :
105
+ renderable = components .FullObjects
106
+ helmCharts = components .FullHelmDependencies
107
+ case configv1 .InstallationMeta :
108
+ renderable = components .MetaObjects
109
+ helmCharts = components .MetaHelmDependencies
110
+ case configv1 .InstallationWorkspace :
111
+ renderable = components .WorkspaceObjects
112
+ helmCharts = components .WorkspaceHelmDependencies
113
+ default :
114
+ return nil , fmt .Errorf ("unsupported installation kind: %s" , cfg .Kind )
115
+ }
116
+
117
+ objs , err := common .CompositeRenderFunc (components .CommonObjects , renderable )(ctx )
118
+ if err != nil {
119
+ return nil , err
120
+ }
121
+
122
+ k8s := make ([]string , 0 )
123
+ for _ , o := range objs {
124
+ fc , err := yaml .Marshal (o )
123
125
if err != nil {
124
- return err
126
+ return nil , err
125
127
}
126
128
127
- // output the YAML to stdout
128
- for _ , c := range sortedObjs {
129
- fmt .Printf ("---\n # %s/%s %s\n " , c .TypeMeta .APIVersion , c .TypeMeta .Kind , c .Metadata .Name )
130
- fmt .Println (c .Content )
131
- }
129
+ k8s = append (k8s , fmt .Sprintf ("---\n %s\n " , string (fc )))
130
+ }
132
131
133
- return nil
134
- },
135
- }
132
+ charts , err := common .CompositeHelmFunc (components .CommonHelmDependencies , helmCharts )(ctx )
133
+ if err != nil {
134
+ return nil , err
135
+ }
136
+ k8s = append (k8s , charts ... )
136
137
137
- func loadConfig ( cfgFN string ) ( rawCfg interface {}, cfgVersion string , cfg * configv1. Config , err error ) {
138
- rawCfg , cfgVersion , err = config . Load ( cfgFN )
138
+ // convert everything to individual objects
139
+ runtimeObjs , err := common . YamlToRuntimeObject ( k8s )
139
140
if err != nil {
140
- err = fmt .Errorf ("error loading config: %w" , err )
141
- return
141
+ return nil , err
142
142
}
143
- if cfgVersion != config .CurrentVersion {
144
- err = fmt .Errorf ("config version is mismatch: expected %s, got %s" , config .CurrentVersion , cfgVersion )
145
- return
143
+
144
+ // generate a config map with every component installed
145
+ runtimeObjsAndConfig , err := common .GenerateInstallationConfigMap (ctx , runtimeObjs )
146
+ if err != nil {
147
+ return nil , err
146
148
}
147
- cfg = rawCfg .(* configv1.Config )
148
149
149
- return rawCfg , cfgVersion , cfg , err
150
+ // sort the objects and return the plain YAML
151
+ sortedObjs , err := common .DependencySortingRenderFunc (runtimeObjsAndConfig )
152
+ if err != nil {
153
+ return nil , err
154
+ }
155
+
156
+ // output the YAML to stdout
157
+ output := make ([]string , 0 )
158
+ for _ , c := range sortedObjs {
159
+ output = append (output , fmt .Sprintf ("---\n # %s/%s %s\n %s" , c .TypeMeta .APIVersion , c .TypeMeta .Kind , c .Metadata .Name , c .Content ))
160
+ }
161
+
162
+ return output , nil
150
163
}
151
164
152
165
func init () {
0 commit comments