@@ -48,7 +48,7 @@ import (
4848 apstore "github.com/argoproj-labs/argocd-autopilot/pkg/store"
4949 aputil "github.com/argoproj-labs/argocd-autopilot/pkg/util"
5050 argocdv1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
51- argowf "github.com/argoproj/argo-workflows/v3/ pkg/apis/workflow "
51+ aev1alpha1 "github.com/argoproj/argo-events/ pkg/apis/eventsource/v1alpha1 "
5252
5353 "github.com/Masterminds/semver/v3"
5454 kubeutil "github.com/codefresh-io/cli-v2/pkg/util/kube"
7878 IngressController string
7979 Insecure bool
8080 InstallDemoResources bool
81- SkipClusterChecks bool
81+ SkipClusterChecks bool
8282 Version * semver.Version
8383 GsCloneOpts * git.CloneOptions
8484 InsCloneOpts * git.CloneOptions
@@ -106,11 +106,16 @@ type (
106106 CloneOpts * git.CloneOptions
107107 CommonConfig * runtime.CommonConfig
108108 }
109- reporterCreateOptions struct {
110- reporterName string
109+
110+ gvr struct {
111111 resourceName string
112112 group string
113113 version string
114+ }
115+
116+ reporterCreateOptions struct {
117+ reporterName string
118+ gvr []gvr
114119 saName string
115120 }
116121
@@ -473,7 +478,7 @@ func getComponents(rt *runtime.Runtime, opts *RuntimeInstallOptions) []string {
473478 }
474479
475480 // should find a more dynamic way to get these additional components
476- additionalComponents := []string {"events-reporter" , "workflow-reporter" , "replicaset-reporter" , " rollout-reporter" }
481+ additionalComponents := []string {"events-reporter" , "workflow-reporter" , "rollout-reporter" }
477482 for _ , additionalComponentName := range additionalComponents {
478483 componentFullName := fmt .Sprintf ("%s-%s" , opts .RuntimeName , additionalComponentName )
479484 componentNames = append (componentNames , componentFullName )
@@ -784,30 +789,38 @@ func installComponents(ctx context.Context, opts *RuntimeInstallOptions, rt *run
784789 if err = createReporter (
785790 ctx , opts .InsCloneOpts , opts , reporterCreateOptions {
786791 reporterName : store .Get ().WorkflowReporterName ,
787- resourceName : store .Get ().WorkflowResourceName ,
788- group : argowf .Group ,
789- version : argowf .Version ,
790- saName : store .Get ().CodefreshSA ,
792+ gvr : []gvr {
793+ {
794+ resourceName : store .Get ().WorkflowResourceName ,
795+ group : "argoproj.io" ,
796+ version : "v1alpha1" ,
797+ },
798+ },
799+ saName : store .Get ().CodefreshSA ,
791800 }); err != nil {
792801 return fmt .Errorf ("failed to create workflows-reporter: %w" , err )
793802 }
794803
795- if err = createReporter (ctx , opts .InsCloneOpts , opts , reporterCreateOptions {
796- reporterName : store .Get ().ReplicaSetReporterName ,
797- resourceName : store .Get ().ReplicaSetResourceName ,
798- group : "apps" ,
799- version : "v1" ,
800- saName : store .Get ().ReplicaSetReporterServiceAccount ,
801- }); err != nil {
802- return fmt .Errorf ("failed to create replicaset-reporter: %w" , err )
803- }
804-
805804 if err = createReporter (ctx , opts .InsCloneOpts , opts , reporterCreateOptions {
806805 reporterName : store .Get ().RolloutReporterName ,
807- resourceName : store .Get ().RolloutResourceName ,
808- group : "argoproj.io" ,
809- version : "v1alpha1" ,
810- saName : store .Get ().RolloutReporterServiceAccount ,
806+ gvr : []gvr {
807+ {
808+ resourceName : store .Get ().RolloutResourceName ,
809+ group : "argoproj.io" ,
810+ version : "v1alpha1" ,
811+ },
812+ {
813+ resourceName : store .Get ().ReplicaSetResourceName ,
814+ group : "apps" ,
815+ version : "v1" ,
816+ },
817+ {
818+ resourceName : store .Get ().AnalysisRunResourceName ,
819+ group : "argoproj.io" ,
820+ version : "v1alpha1" ,
821+ },
822+ },
823+ saName : store .Get ().RolloutReporterServiceAccount ,
811824 }); err != nil {
812825 return fmt .Errorf ("failed to create rollout-reporter: %w" , err )
813826 }
@@ -1501,7 +1514,8 @@ func createEventsReporter(ctx context.Context, cloneOpts *git.CloneOptions, opts
15011514 return err
15021515 }
15031516
1504- if err := createSensor (repofs , store .Get ().EventsReporterName , resPath , opts .RuntimeName , store .Get ().EventsReporterName , "events" , "data" ); err != nil {
1517+ eventsReporterTriggers := []string {"events" }
1518+ if err := createSensor (repofs , store .Get ().EventsReporterName , resPath , opts .RuntimeName , store .Get ().EventsReporterName , eventsReporterTriggers , "data" ); err != nil {
15051519 return err
15061520 }
15071521
@@ -1560,7 +1574,12 @@ func createReporter(ctx context.Context, cloneOpts *git.CloneOptions, opts *Runt
15601574 return err
15611575 }
15621576
1563- if err := createSensor (repofs , reporterCreateOpts .reporterName , resPath , opts .RuntimeName , reporterCreateOpts .reporterName , reporterCreateOpts .resourceName , "data.object" ); err != nil {
1577+ var triggerNames []string
1578+ for _ , gvr := range reporterCreateOpts .gvr {
1579+ triggerNames = append (triggerNames , gvr .resourceName )
1580+ }
1581+
1582+ if err := createSensor (repofs , reporterCreateOpts .reporterName , resPath , opts .RuntimeName , reporterCreateOpts .reporterName , triggerNames , "data.object" ); err != nil {
15641583 return err
15651584 }
15661585
@@ -1729,31 +1748,44 @@ func createEventsReporterEventSource(repofs fs.FS, path, namespace string, insec
17291748}
17301749
17311750func createReporterEventSource (repofs fs.FS , path , namespace string , reporterCreateOpts reporterCreateOptions ) error {
1732- eventSource := eventsutil .CreateEventSource (& eventsutil.CreateEventSourceOptions {
1751+ var eventSource * aev1alpha1.EventSource
1752+ var options * eventsutil.CreateEventSourceOptions
1753+
1754+ var resourceNames []string
1755+ for _ , gvr := range reporterCreateOpts .gvr {
1756+ resourceNames = append (resourceNames , gvr .resourceName )
1757+ }
1758+
1759+ options = & eventsutil.CreateEventSourceOptions {
17331760 Name : reporterCreateOpts .reporterName ,
17341761 Namespace : namespace ,
17351762 ServiceAccountName : reporterCreateOpts .saName ,
17361763 EventBusName : store .Get ().EventBusName ,
1737- Resource : map [string ]eventsutil.CreateResourceEventSourceOptions {
1738- reporterCreateOpts .resourceName : {
1739- Group : reporterCreateOpts .group ,
1740- Version : reporterCreateOpts .version ,
1741- Resource : reporterCreateOpts .resourceName ,
1742- Namespace : namespace ,
1743- },
1744- },
1745- })
1764+ Resource : map [string ]eventsutil.CreateResourceEventSourceOptions {},
1765+ }
1766+
1767+ for i , name := range resourceNames {
1768+ options .Resource [name ] = eventsutil.CreateResourceEventSourceOptions {
1769+ Group : reporterCreateOpts .gvr [i ].group ,
1770+ Version : reporterCreateOpts .gvr [i ].version ,
1771+ Resource : reporterCreateOpts .gvr [i ].resourceName ,
1772+ Namespace : namespace ,
1773+ }
1774+ }
1775+
1776+ eventSource = eventsutil .CreateEventSource (options )
1777+
17461778 return repofs .WriteYamls (repofs .Join (path , "event-source.yaml" ), eventSource )
17471779}
17481780
1749- func createSensor (repofs fs.FS , name , path , namespace , eventSourceName , trigger , dataKey string ) error {
1781+ func createSensor (repofs fs.FS , name , path , namespace , eventSourceName string , triggers [] string , dataKey string ) error {
17501782 sensor := eventsutil .CreateSensor (& eventsutil.CreateSensorOptions {
17511783 Name : name ,
17521784 Namespace : namespace ,
17531785 EventSourceName : eventSourceName ,
17541786 EventBusName : store .Get ().EventBusName ,
17551787 TriggerURL : cfConfig .GetCurrentContext ().URL + store .Get ().EventReportingEndpoint ,
1756- Triggers : [] string { trigger } ,
1788+ Triggers : triggers ,
17571789 TriggerDestKey : dataKey ,
17581790 })
17591791 return repofs .WriteYamls (repofs .Join (path , "sensor.yaml" ), sensor )
0 commit comments