@@ -54,6 +54,7 @@ const (
54
54
config = "config.yaml"
55
55
operatorYaml = deployDir + "/operator.yaml"
56
56
rbacYaml = "rbac.yaml"
57
+ crYaml = "cr.yaml"
57
58
)
58
59
59
60
type Generator struct {
@@ -127,12 +128,12 @@ func (g *Generator) renderCmd() error {
127
128
if err := os .MkdirAll (cpDir , defaultDirFileMode ); err != nil {
128
129
return err
129
130
}
130
- return renderCmdFiles (cpDir , g .repoPath )
131
+ return renderCmdFiles (cpDir , g .repoPath , g . apiVersion , g . kind )
131
132
}
132
133
133
- func renderCmdFiles (cmdProjectDir , repoPath string ) error {
134
+ func renderCmdFiles (cmdProjectDir , repoPath , apiVersion , kind string ) error {
134
135
buf := & bytes.Buffer {}
135
- if err := renderMainFile (buf , repoPath ); err != nil {
136
+ if err := renderMainFile (buf , repoPath , apiVersion , kind ); err != nil {
136
137
return err
137
138
}
138
139
return writeFileAndPrint (filepath .Join (cmdProjectDir , main ), buf .Bytes (), defaultFileMode )
@@ -159,7 +160,7 @@ func (g *Generator) renderDeploy() error {
159
160
if err := os .MkdirAll (dp , defaultDirFileMode ); err != nil {
160
161
return err
161
162
}
162
- return renderRBAC (dp , g .projectName )
163
+ return renderDeployFiles (dp , g .projectName , g . apiVersion , g . kind )
163
164
}
164
165
165
166
func renderRBAC (deployDir , projectName string ) error {
@@ -170,9 +171,24 @@ func renderRBAC(deployDir, projectName string) error {
170
171
return writeFileAndPrint (filepath .Join (deployDir , rbacYaml ), buf .Bytes (), defaultFileMode )
171
172
}
172
173
173
- // RenderDeployFiles generates "deploy/operator.yaml"
174
- // TODO: rethink about when/what to generate when invoking build command.
175
- func RenderDeployFiles (c * Config , image string ) error {
174
+ func renderDeployFiles (deployDir , projectName , apiVersion , kind string ) error {
175
+ buf := & bytes.Buffer {}
176
+ if err := renderRBACYaml (buf , projectName ); err != nil {
177
+ return err
178
+ }
179
+ if err := writeFileAndPrint (filepath .Join (deployDir , rbacYaml ), buf .Bytes (), defaultFileMode ); err != nil {
180
+ return err
181
+ }
182
+
183
+ buf = & bytes.Buffer {}
184
+ if err := renderCustomResourceYaml (buf , apiVersion , kind ); err != nil {
185
+ return err
186
+ }
187
+ return writeFileAndPrint (filepath .Join (deployDir , crYaml ), buf .Bytes (), defaultFileMode )
188
+ }
189
+
190
+ // RenderOperatorYaml generates "deploy/operator.yaml"
191
+ func RenderOperatorYaml (c * Config , image string ) error {
176
192
buf := & bytes.Buffer {}
177
193
if err := renderOperatorYaml (buf , c .Kind , c .APIVersion , c .ProjectName , image ); err != nil {
178
194
return err
@@ -238,7 +254,8 @@ func renderCodegenFiles(codegenDir, repoPath, apiDirName, version, projectName s
238
254
239
255
func (g * Generator ) renderPkg () error {
240
256
v := version (g .apiVersion )
241
- apiDir := filepath .Join (g .projectName , apisDir , apiDirName (g .apiVersion ), v )
257
+ adn := apiDirName (g .apiVersion )
258
+ apiDir := filepath .Join (g .projectName , apisDir , adn , v )
242
259
if err := os .MkdirAll (apiDir , defaultDirFileMode ); err != nil {
243
260
return err
244
261
}
@@ -250,7 +267,7 @@ func (g *Generator) renderPkg() error {
250
267
if err := os .MkdirAll (sDir , defaultDirFileMode ); err != nil {
251
268
return err
252
269
}
253
- return renderStubFiles (sDir )
270
+ return renderStubFiles (sDir , g . repoPath , g . kind , adn , v )
254
271
}
255
272
256
273
func renderAPIFiles (apiDir , groupName , version , kind string ) error {
@@ -277,9 +294,9 @@ func renderAPIFiles(apiDir, groupName, version, kind string) error {
277
294
return writeFileAndPrint (filepath .Join (apiDir , types ), buf .Bytes (), defaultFileMode )
278
295
}
279
296
280
- func renderStubFiles (stubDir string ) error {
297
+ func renderStubFiles (stubDir , repoPath , kind , apiDirName , version string ) error {
281
298
buf := & bytes.Buffer {}
282
- if err := renderHandlerFile (buf ); err != nil {
299
+ if err := renderHandlerFile (buf , repoPath , kind , apiDirName , version ); err != nil {
283
300
return err
284
301
}
285
302
return writeFileAndPrint (filepath .Join (stubDir , handler ), buf .Bytes (), defaultFileMode )
0 commit comments