@@ -95,6 +95,13 @@ type (
95
95
CloneOpts * git.CloneOptions
96
96
CommonConfig * runtime.CommonConfig
97
97
}
98
+ reporterCreateOptions struct {
99
+ reporterName string
100
+ resourceName string
101
+ group string
102
+ version string
103
+ saName string
104
+ }
98
105
)
99
106
100
107
func NewRuntimeCommand () * cobra.Command {
@@ -271,7 +278,7 @@ func getComponents(rt *runtime.Runtime, opts *RuntimeInstallOptions) []string {
271
278
}
272
279
273
280
// should find a more dynamic way to get these additional components
274
- additionalComponents := []string {"events-reporter" , "workflow-reporter" }
281
+ additionalComponents := []string {"events-reporter" , "workflow-reporter" , "replicaset-reporter" }
275
282
for _ , additionalComponentName := range additionalComponents {
276
283
componentFullName := fmt .Sprintf ("%s-%s" , opts .RuntimeName , additionalComponentName )
277
284
componentNames = append (componentNames , componentFullName )
@@ -482,9 +489,27 @@ func installComponents(ctx context.Context, opts *RuntimeInstallOptions, rt *run
482
489
return fmt .Errorf ("failed to create events-reporter: %w" , err )
483
490
}
484
491
485
- if err = createWorkflowReporter (ctx , opts .InsCloneOpts , opts ); err != nil {
492
+ if err = createReporter (
493
+ ctx , opts .InsCloneOpts , opts , reporterCreateOptions {
494
+ reporterName : store .Get ().WorkflowReporterName ,
495
+ resourceName : store .Get ().WorkflowResourceName ,
496
+ group : argowf .Group ,
497
+ version : argowf .Version ,
498
+ saName : store .Get ().CodefreshSA ,
499
+ }); err != nil {
486
500
return fmt .Errorf ("failed to create workflows-reporter: %w" , err )
487
501
}
502
+
503
+ if err = createReporter (ctx , opts .InsCloneOpts , opts , reporterCreateOptions {
504
+ reporterName : store .Get ().ReplicaSetReporterName ,
505
+ resourceName : store .Get ().ReplicaSetResourceName ,
506
+ group : "apps" ,
507
+ version : "v1" ,
508
+ saName : store .Get ().ReplicaSetReporterServiceAccount ,
509
+ }); err != nil {
510
+ return fmt .Errorf ("failed to create replicaset-reporter: %w" , err )
511
+ }
512
+
488
513
return nil
489
514
}
490
515
@@ -977,7 +1002,7 @@ func createWorkflowsIngress(ctx context.Context, cloneOpts *git.CloneOptions, rt
977
1002
return err
978
1003
}
979
1004
980
- overlaysDir := fs .Join (apstore .Default .AppsDir , "workflows" , apstore .Default .OverlaysDir , rt .Name )
1005
+ overlaysDir := fs .Join (apstore .Default .AppsDir , store . Get (). WorkflowsIngressPath , apstore .Default .OverlaysDir , rt .Name )
981
1006
ingress := ingressutil .CreateIngress (& ingressutil.CreateIngressOptions {
982
1007
Name : rt .Name + store .Get ().WorkflowsIngressName ,
983
1008
Namespace : rt .Namespace ,
@@ -1168,10 +1193,10 @@ func createCodefreshArgoAgentReporter(ctx context.Context, cloneOpts *git.CloneO
1168
1193
return apu .PushWithMessage (ctx , r , "Created ArgoCD Agent Reporter" )
1169
1194
}
1170
1195
1171
- func createWorkflowReporter (ctx context.Context , cloneOpts * git.CloneOptions , opts * RuntimeInstallOptions ) error {
1172
- resPath := cloneOpts .FS .Join (apstore .Default .AppsDir , store . Get (). WorkflowReporterName , opts .RuntimeName , "resources" )
1196
+ func createReporter (ctx context.Context , cloneOpts * git.CloneOptions , opts * RuntimeInstallOptions , reporterCreateOpts reporterCreateOptions ) error {
1197
+ resPath := cloneOpts .FS .Join (apstore .Default .AppsDir , reporterCreateOpts . reporterName , opts .RuntimeName , "resources" )
1173
1198
appDef := & runtime.AppDef {
1174
- Name : store . Get (). WorkflowReporterName ,
1199
+ Name : reporterCreateOpts . reporterName ,
1175
1200
Type : application .AppTypeDirectory ,
1176
1201
URL : cloneOpts .URL () + "/" + resPath ,
1177
1202
}
@@ -1184,19 +1209,19 @@ func createWorkflowReporter(ctx context.Context, cloneOpts *git.CloneOptions, op
1184
1209
return err
1185
1210
}
1186
1211
1187
- if err := createWorkflowReporterRBAC (repofs , resPath , opts .RuntimeName ); err != nil {
1212
+ if err := createReporterRBAC (repofs , resPath , opts .RuntimeName , reporterCreateOpts . saName ); err != nil {
1188
1213
return err
1189
1214
}
1190
1215
1191
- if err := createWorkflowReporterEventSource (repofs , resPath , opts .RuntimeName ); err != nil {
1216
+ if err := createReporterEventSource (repofs , resPath , opts .RuntimeName , reporterCreateOpts ); err != nil {
1192
1217
return err
1193
1218
}
1194
1219
1195
- if err := createSensor (repofs , store . Get (). WorkflowReporterName , resPath , opts .RuntimeName , store . Get (). WorkflowReporterName , "workflows" , "data.object" ); err != nil {
1220
+ if err := createSensor (repofs , reporterCreateOpts . reporterName , resPath , opts .RuntimeName , reporterCreateOpts . reporterName , reporterCreateOpts . resourceName , "data.object" ); err != nil {
1196
1221
return err
1197
1222
}
1198
1223
1199
- log .G (ctx ).Info ("Pushing Codefresh Workflow Reporter mainifests" )
1224
+ log .G (ctx ).Info ("Pushing Codefresh " , strings . Title ( reporterCreateOpts . reporterName ), " mainifests" )
1200
1225
1201
1226
return apu .PushWithMessage (ctx , r , "Created Codefresh Workflow Reporter" )
1202
1227
}
@@ -1280,14 +1305,14 @@ func getArgoCDAgentTokenSecret(ctx context.Context, token string, namespace stri
1280
1305
})
1281
1306
}
1282
1307
1283
- func createWorkflowReporterRBAC (repofs fs.FS , path , runtimeName string ) error {
1308
+ func createReporterRBAC (repofs fs.FS , path , runtimeName , saName string ) error {
1284
1309
serviceAccount := & v1.ServiceAccount {
1285
1310
TypeMeta : metav1.TypeMeta {
1286
1311
Kind : "ServiceAccount" ,
1287
1312
APIVersion : "v1" ,
1288
1313
},
1289
1314
ObjectMeta : metav1.ObjectMeta {
1290
- Name : store . Get (). CodefreshSA ,
1315
+ Name : saName ,
1291
1316
Namespace : runtimeName ,
1292
1317
},
1293
1318
}
@@ -1298,7 +1323,7 @@ func createWorkflowReporterRBAC(repofs fs.FS, path, runtimeName string) error {
1298
1323
APIVersion : "rbac.authorization.k8s.io/v1" ,
1299
1324
},
1300
1325
ObjectMeta : metav1.ObjectMeta {
1301
- Name : store . Get (). CodefreshSA ,
1326
+ Name : saName ,
1302
1327
Namespace : runtimeName ,
1303
1328
},
1304
1329
Rules : []rbacv1.PolicyRule {
@@ -1316,19 +1341,19 @@ func createWorkflowReporterRBAC(repofs fs.FS, path, runtimeName string) error {
1316
1341
APIVersion : "rbac.authorization.k8s.io/v1" ,
1317
1342
},
1318
1343
ObjectMeta : metav1.ObjectMeta {
1319
- Name : store . Get (). CodefreshSA ,
1344
+ Name : saName ,
1320
1345
Namespace : runtimeName ,
1321
1346
},
1322
1347
Subjects : []rbacv1.Subject {
1323
1348
{
1324
1349
Kind : "ServiceAccount" ,
1325
1350
Namespace : runtimeName ,
1326
- Name : store . Get (). CodefreshSA ,
1351
+ Name : saName ,
1327
1352
},
1328
1353
},
1329
1354
RoleRef : rbacv1.RoleRef {
1330
1355
Kind : "Role" ,
1331
- Name : store . Get (). CodefreshSA ,
1356
+ Name : saName ,
1332
1357
},
1333
1358
}
1334
1359
@@ -1357,17 +1382,17 @@ func createEventsReporterEventSource(repofs fs.FS, path, namespace string, insec
1357
1382
return repofs .WriteYamls (repofs .Join (path , "event-source.yaml" ), eventSource )
1358
1383
}
1359
1384
1360
- func createWorkflowReporterEventSource (repofs fs.FS , path , namespace string ) error {
1385
+ func createReporterEventSource (repofs fs.FS , path , namespace string , reporterCreateOpts reporterCreateOptions ) error {
1361
1386
eventSource := eventsutil .CreateEventSource (& eventsutil.CreateEventSourceOptions {
1362
- Name : store . Get (). WorkflowReporterName ,
1387
+ Name : reporterCreateOpts . reporterName ,
1363
1388
Namespace : namespace ,
1364
- ServiceAccountName : store . Get (). CodefreshSA ,
1389
+ ServiceAccountName : reporterCreateOpts . saName ,
1365
1390
EventBusName : store .Get ().EventBusName ,
1366
1391
Resource : map [string ]eventsutil.CreateResourceEventSourceOptions {
1367
1392
"workflows" : {
1368
- Group : argowf . Group ,
1369
- Version : argowf . Version ,
1370
- Resource : argowf . WorkflowPlural ,
1393
+ Group : reporterCreateOpts . group ,
1394
+ Version : reporterCreateOpts . version ,
1395
+ Resource : reporterCreateOpts . resourceName ,
1371
1396
Namespace : namespace ,
1372
1397
},
1373
1398
},
0 commit comments