@@ -48,7 +48,7 @@ import (
48
48
apstore "github.com/argoproj-labs/argocd-autopilot/pkg/store"
49
49
aputil "github.com/argoproj-labs/argocd-autopilot/pkg/util"
50
50
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 "
52
52
53
53
"github.com/Masterminds/semver/v3"
54
54
kubeutil "github.com/codefresh-io/cli-v2/pkg/util/kube"
78
78
IngressController string
79
79
Insecure bool
80
80
InstallDemoResources bool
81
- SkipClusterChecks bool
81
+ SkipClusterChecks bool
82
82
Version * semver.Version
83
83
GsCloneOpts * git.CloneOptions
84
84
InsCloneOpts * git.CloneOptions
@@ -106,11 +106,16 @@ type (
106
106
CloneOpts * git.CloneOptions
107
107
CommonConfig * runtime.CommonConfig
108
108
}
109
- reporterCreateOptions struct {
110
- reporterName string
109
+
110
+ gvr struct {
111
111
resourceName string
112
112
group string
113
113
version string
114
+ }
115
+
116
+ reporterCreateOptions struct {
117
+ reporterName string
118
+ gvr []gvr
114
119
saName string
115
120
}
116
121
@@ -473,7 +478,7 @@ func getComponents(rt *runtime.Runtime, opts *RuntimeInstallOptions) []string {
473
478
}
474
479
475
480
// 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" }
477
482
for _ , additionalComponentName := range additionalComponents {
478
483
componentFullName := fmt .Sprintf ("%s-%s" , opts .RuntimeName , additionalComponentName )
479
484
componentNames = append (componentNames , componentFullName )
@@ -784,30 +789,38 @@ func installComponents(ctx context.Context, opts *RuntimeInstallOptions, rt *run
784
789
if err = createReporter (
785
790
ctx , opts .InsCloneOpts , opts , reporterCreateOptions {
786
791
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 ,
791
800
}); err != nil {
792
801
return fmt .Errorf ("failed to create workflows-reporter: %w" , err )
793
802
}
794
803
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
-
805
804
if err = createReporter (ctx , opts .InsCloneOpts , opts , reporterCreateOptions {
806
805
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 ,
811
824
}); err != nil {
812
825
return fmt .Errorf ("failed to create rollout-reporter: %w" , err )
813
826
}
@@ -1501,7 +1514,8 @@ func createEventsReporter(ctx context.Context, cloneOpts *git.CloneOptions, opts
1501
1514
return err
1502
1515
}
1503
1516
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 {
1505
1519
return err
1506
1520
}
1507
1521
@@ -1560,7 +1574,12 @@ func createReporter(ctx context.Context, cloneOpts *git.CloneOptions, opts *Runt
1560
1574
return err
1561
1575
}
1562
1576
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 {
1564
1583
return err
1565
1584
}
1566
1585
@@ -1729,31 +1748,44 @@ func createEventsReporterEventSource(repofs fs.FS, path, namespace string, insec
1729
1748
}
1730
1749
1731
1750
func 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 {
1733
1760
Name : reporterCreateOpts .reporterName ,
1734
1761
Namespace : namespace ,
1735
1762
ServiceAccountName : reporterCreateOpts .saName ,
1736
1763
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
+
1746
1778
return repofs .WriteYamls (repofs .Join (path , "event-source.yaml" ), eventSource )
1747
1779
}
1748
1780
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 {
1750
1782
sensor := eventsutil .CreateSensor (& eventsutil.CreateSensorOptions {
1751
1783
Name : name ,
1752
1784
Namespace : namespace ,
1753
1785
EventSourceName : eventSourceName ,
1754
1786
EventBusName : store .Get ().EventBusName ,
1755
1787
TriggerURL : cfConfig .GetCurrentContext ().URL + store .Get ().EventReportingEndpoint ,
1756
- Triggers : [] string { trigger } ,
1788
+ Triggers : triggers ,
1757
1789
TriggerDestKey : dataKey ,
1758
1790
})
1759
1791
return repofs .WriteYamls (repofs .Join (path , "sensor.yaml" ), sensor )
0 commit comments