Skip to content

Commit 7897481

Browse files
CR-8211 (#187)
* initial - replicaset reporting * unified createReporter func * fixed log * resourceName * rewording of log * correct versions in release notes * added replicaset-reporter to the runtime mutation * bump * minimum reqs increase
1 parent 2534d05 commit 7897481

File tree

6 files changed

+68
-35
lines changed

6 files changed

+68
-35
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION=v0.0.173
1+
VERSION=v0.0.174
22

33
OUT_DIR=dist
44
YEAR?=$(shell date +"%Y")

cmd/commands/git-source.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ func createCronExampleTrigger() (*sensorsv1alpha1.Trigger, error) {
355355
GroupVersionResource: metav1.GroupVersionResource{
356356
Group: "argoproj.io",
357357
Version: "v1alpha1",
358-
Resource: "workflows",
358+
Resource: store.Get().WorkflowResourceName,
359359
},
360360
Operation: sensorsv1alpha1.Submit,
361361
Source: &sensorsv1alpha1.ArtifactLocation{
@@ -783,7 +783,7 @@ func createGithubExampleTrigger() sensorsv1alpha1.Trigger {
783783
GroupVersionResource: metav1.GroupVersionResource{
784784
Group: "argoproj.io",
785785
Version: "v1alpha1",
786-
Resource: "workflows",
786+
Resource: store.Get().WorkflowResourceName,
787787
},
788788
Operation: sensorsv1alpha1.Submit,
789789
Source: &sensorsv1alpha1.ArtifactLocation{

cmd/commands/runtime.go

Lines changed: 47 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,13 @@ type (
9595
CloneOpts *git.CloneOptions
9696
CommonConfig *runtime.CommonConfig
9797
}
98+
reporterCreateOptions struct {
99+
reporterName string
100+
resourceName string
101+
group string
102+
version string
103+
saName string
104+
}
98105
)
99106

100107
func NewRuntimeCommand() *cobra.Command {
@@ -271,7 +278,7 @@ func getComponents(rt *runtime.Runtime, opts *RuntimeInstallOptions) []string {
271278
}
272279

273280
// 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"}
275282
for _, additionalComponentName := range additionalComponents {
276283
componentFullName := fmt.Sprintf("%s-%s", opts.RuntimeName, additionalComponentName)
277284
componentNames = append(componentNames, componentFullName)
@@ -482,9 +489,27 @@ func installComponents(ctx context.Context, opts *RuntimeInstallOptions, rt *run
482489
return fmt.Errorf("failed to create events-reporter: %w", err)
483490
}
484491

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 {
486500
return fmt.Errorf("failed to create workflows-reporter: %w", err)
487501
}
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+
488513
return nil
489514
}
490515

@@ -977,7 +1002,7 @@ func createWorkflowsIngress(ctx context.Context, cloneOpts *git.CloneOptions, rt
9771002
return err
9781003
}
9791004

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)
9811006
ingress := ingressutil.CreateIngress(&ingressutil.CreateIngressOptions{
9821007
Name: rt.Name + store.Get().WorkflowsIngressName,
9831008
Namespace: rt.Namespace,
@@ -1168,10 +1193,10 @@ func createCodefreshArgoAgentReporter(ctx context.Context, cloneOpts *git.CloneO
11681193
return apu.PushWithMessage(ctx, r, "Created ArgoCD Agent Reporter")
11691194
}
11701195

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")
11731198
appDef := &runtime.AppDef{
1174-
Name: store.Get().WorkflowReporterName,
1199+
Name: reporterCreateOpts.reporterName,
11751200
Type: application.AppTypeDirectory,
11761201
URL: cloneOpts.URL() + "/" + resPath,
11771202
}
@@ -1184,19 +1209,19 @@ func createWorkflowReporter(ctx context.Context, cloneOpts *git.CloneOptions, op
11841209
return err
11851210
}
11861211

1187-
if err := createWorkflowReporterRBAC(repofs, resPath, opts.RuntimeName); err != nil {
1212+
if err := createReporterRBAC(repofs, resPath, opts.RuntimeName, reporterCreateOpts.saName); err != nil {
11881213
return err
11891214
}
11901215

1191-
if err := createWorkflowReporterEventSource(repofs, resPath, opts.RuntimeName); err != nil {
1216+
if err := createReporterEventSource(repofs, resPath, opts.RuntimeName, reporterCreateOpts); err != nil {
11921217
return err
11931218
}
11941219

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 {
11961221
return err
11971222
}
11981223

1199-
log.G(ctx).Info("Pushing Codefresh Workflow Reporter mainifests")
1224+
log.G(ctx).Info("Pushing Codefresh ", strings.Title(reporterCreateOpts.reporterName), " mainifests")
12001225

12011226
return apu.PushWithMessage(ctx, r, "Created Codefresh Workflow Reporter")
12021227
}
@@ -1280,14 +1305,14 @@ func getArgoCDAgentTokenSecret(ctx context.Context, token string, namespace stri
12801305
})
12811306
}
12821307

1283-
func createWorkflowReporterRBAC(repofs fs.FS, path, runtimeName string) error {
1308+
func createReporterRBAC(repofs fs.FS, path, runtimeName, saName string) error {
12841309
serviceAccount := &v1.ServiceAccount{
12851310
TypeMeta: metav1.TypeMeta{
12861311
Kind: "ServiceAccount",
12871312
APIVersion: "v1",
12881313
},
12891314
ObjectMeta: metav1.ObjectMeta{
1290-
Name: store.Get().CodefreshSA,
1315+
Name: saName,
12911316
Namespace: runtimeName,
12921317
},
12931318
}
@@ -1298,7 +1323,7 @@ func createWorkflowReporterRBAC(repofs fs.FS, path, runtimeName string) error {
12981323
APIVersion: "rbac.authorization.k8s.io/v1",
12991324
},
13001325
ObjectMeta: metav1.ObjectMeta{
1301-
Name: store.Get().CodefreshSA,
1326+
Name: saName,
13021327
Namespace: runtimeName,
13031328
},
13041329
Rules: []rbacv1.PolicyRule{
@@ -1316,19 +1341,19 @@ func createWorkflowReporterRBAC(repofs fs.FS, path, runtimeName string) error {
13161341
APIVersion: "rbac.authorization.k8s.io/v1",
13171342
},
13181343
ObjectMeta: metav1.ObjectMeta{
1319-
Name: store.Get().CodefreshSA,
1344+
Name: saName,
13201345
Namespace: runtimeName,
13211346
},
13221347
Subjects: []rbacv1.Subject{
13231348
{
13241349
Kind: "ServiceAccount",
13251350
Namespace: runtimeName,
1326-
Name: store.Get().CodefreshSA,
1351+
Name: saName,
13271352
},
13281353
},
13291354
RoleRef: rbacv1.RoleRef{
13301355
Kind: "Role",
1331-
Name: store.Get().CodefreshSA,
1356+
Name: saName,
13321357
},
13331358
}
13341359

@@ -1357,17 +1382,17 @@ func createEventsReporterEventSource(repofs fs.FS, path, namespace string, insec
13571382
return repofs.WriteYamls(repofs.Join(path, "event-source.yaml"), eventSource)
13581383
}
13591384

1360-
func createWorkflowReporterEventSource(repofs fs.FS, path, namespace string) error {
1385+
func createReporterEventSource(repofs fs.FS, path, namespace string, reporterCreateOpts reporterCreateOptions) error {
13611386
eventSource := eventsutil.CreateEventSource(&eventsutil.CreateEventSourceOptions{
1362-
Name: store.Get().WorkflowReporterName,
1387+
Name: reporterCreateOpts.reporterName,
13631388
Namespace: namespace,
1364-
ServiceAccountName: store.Get().CodefreshSA,
1389+
ServiceAccountName: reporterCreateOpts.saName,
13651390
EventBusName: store.Get().EventBusName,
13661391
Resource: map[string]eventsutil.CreateResourceEventSourceOptions{
13671392
"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,
13711396
Namespace: namespace,
13721397
},
13731398
},

docs/releases/release_notes.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
### Installed Applications:
22

3-
- Argo CD [v2.1.3](https://github.com/codefresh-io/argo-cd/releases/tag/v2.1.3)
4-
- Argo CD ApplicationSet Controller [v0.2.0](https://github.com/argoproj-labs/applicationset/releases/tag/v0.2.0)
5-
- Argo Events [v1.4.0](https://github.com/argoproj/argo-events/releases/tag/v1.4.0)
6-
- Argo Rollouts [v1.1.0](https://github.com/argoproj/argo-rollouts/releases/tag/v1.1.0)
7-
- Argo Workflows [v3.1.8](https://github.com/argoproj/argo-workflows/releases/tag/v3.1.8)
3+
- Argo CD [v2.1.5](https://github.com/codefresh-io/argo-cd/releases/tag/v2.1.3)
4+
- Argo CD ApplicationSet Controller [v0.2.0](https://github.com/argoproj-labs/applicationset/releases/tag/v0.2.0)
5+
- Argo Events [v1.5.5](https://github.com/argoproj/argo-events/releases/tag/v1.4.0)
6+
- Argo Rollouts [v1.1.0](https://github.com/argoproj/argo-rollouts/releases/tag/v1.1.0)
7+
- Argo Workflows [v3.2.4](https://github.com/argoproj/argo-workflows/releases/tag/v3.1.8)
88

99
### Using brew:
1010

@@ -23,7 +23,7 @@ cf version
2323

2424
```bash
2525
# download and extract the binary
26-
curl -L --output - https://github.com/codefresh-io/cli-v2/releases/download/v0.0.173/cf-linux-amd64.tar.gz | tar zx
26+
curl -L --output - https://github.com/codefresh-io/cli-v2/releases/download/v0.0.174/cf-linux-amd64.tar.gz | tar zx
2727

2828
# move the binary to your $PATH
2929
mv ./cf-linux-amd64 /usr/local/bin/cf
@@ -36,7 +36,7 @@ cf version
3636

3737
```bash
3838
# download and extract the binary
39-
curl -L --output - https://github.com/codefresh-io/cli-v2/releases/download/v0.0.173/cf-darwin-amd64.tar.gz | tar zx
39+
curl -L --output - https://github.com/codefresh-io/cli-v2/releases/download/v0.0.174/cf-darwin-amd64.tar.gz | tar zx
4040

4141
# move the binary to your $PATH
4242
mv ./cf-darwin-amd64 /usr/local/bin/cf

manifests/runtime.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
namespace: "{{ namespace }}"
66
spec:
77
defVersion: 1.0.0
8-
version: 0.0.173
8+
version: 0.0.174
99
bootstrapSpecifier: github.com/codefresh-io/cli-v2/manifests/argo-cd
1010
components:
1111
- name: events

pkg/store/store.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@ type Store struct {
114114
MinimumMemorySizeRequired string
115115
MinimumCpuRequired string
116116
MinimumLocalDiskSizeRequired string
117+
ReplicaSetReporterName string
118+
ReplicaSetReporterServiceAccount string
119+
ReplicaSetResourceName string
120+
WorkflowResourceName string
117121
}
118122

119123
// Get returns the global store
@@ -186,8 +190,12 @@ func init() {
186190
s.GithubAccessTokenSecretObjectName = "autopilot-secret"
187191
s.GithubAccessTokenSecretKey = "git_token"
188192
s.ArgoCD = "argo-cd"
189-
s.MinimumMemorySizeRequired = "3000"
190-
s.MinimumCpuRequired = "2"
193+
s.MinimumMemorySizeRequired = "5000"
194+
s.MinimumCpuRequired = "4"
195+
s.ReplicaSetReporterName = "replicaset-reporter"
196+
s.ReplicaSetReporterServiceAccount = "replicaset-reporter-sa"
197+
s.ReplicaSetResourceName = "replicasets"
198+
s.WorkflowResourceName = "workflows"
191199
initVersion()
192200
}
193201

0 commit comments

Comments
 (0)