@@ -27,7 +27,7 @@ var ar AnalyticsReporter = &noopAnalyticsReporter{}
27
27
type (
28
28
AnalyticsReporter interface {
29
29
ReportStep (CliStepData )
30
- Close ()
30
+ Close (step CliStepStatus , err error )
31
31
}
32
32
33
33
CliStepData struct {
@@ -55,38 +55,83 @@ type (
55
55
)
56
56
57
57
const (
58
- cliEvent string = "cli-runtime-operations "
58
+ cliEvent string = "csdp-cli "
59
59
60
60
// Install
61
- InstallStepPreChecks CliStep = "install.pre-installation-checks"
62
- InstallStepDownloadRuntimeDefinitions CliStep = "install.download-runtime-definitions"
63
- InstallStepGetServerAddress CliStep = "install.get-server-address"
64
- InstallStepCreateRuntimeOnPlatform CliStep = "install.create-runtime-on-platform"
65
- InstallStepBootstrapRepo CliStep = "install.bootstrap-repo"
66
- InstallStepCreateProject CliStep = "install.create-project"
67
- InstallStepCreateConfigMap CliStep = "install.create-codefresh-cm"
68
- InstallStepCreateComponent CliStep = "install.create-component"
69
- InstallStepInstallComponenets CliStep = "install.install-components"
70
- InstallStepCreateGitsource CliStep = "install.create-gitsource"
71
- InstallStepCreateMarketplaceGitsource CliStep = "install.create-marketplace-gitsource"
72
- InstallStepCompleteRuntimeInstallation CliStep = "install.complete-runtime-installation"
73
- InstallStepCreateDefaultGitIntegration CliStep = "install.create-default-git-integration"
61
+ InstallPhasePreCheckStart CliStep = "install.pre-check.phase.start"
62
+ InstallStepPreCheckValidateRuntimeVersion CliStep = "install.pre-check.step.validate-runtime-version"
63
+ InstallStepPreCheckGetRuntimeName CliStep = "install.pre-check.step.get-runtime-name"
64
+ InstallStepPreCheckRuntimeNameValidation CliStep = "install.pre-check.step.runtime-name-validation"
65
+ InstallStepPreCheckGetKubeContext CliStep = "install.pre-check.step.get-kube-context"
66
+ InstallStepPreCheckEnsureRuntimeRepo CliStep = "install.pre-check.step.ensure-runtime-repo"
67
+ InstallStepPreCheckEnsureGitToken CliStep = "install.pre-check.step.ensure-git-token"
68
+ InstallStepPreCheckEnsureIngressHost CliStep = "install.pre-check.step.ensure-ingress-host"
69
+ InstallStepPreCheckShouldInstallDemoResources CliStep = "install.pre-check.step.should-install-demo-resources"
70
+ InstallPhasePreCheckFinish CliStep = "install.pre-check.phase.finish"
71
+ InstallPhaseRunPreCheckStart CliStep = "install.run.pre-check.phase.start"
72
+ InstallStepRunPreCheckDownloadRuntimeDefinition CliStep = "install.run.pre-check.step.download-runtime-definition"
73
+ InstallStepRunPreCheckEnsureCliVersion CliStep = "install.run.pre-check.step.ensure-cli-version"
74
+ InstallStepRunPreCheckRuntimeCollision CliStep = "install.run.pre-check.step.runtime-collision"
75
+ InstallStepRunPreCheckExisitingRuntimes CliStep = "install.run.pre-check.step.existing-runtimes"
76
+ InstallStepRunPreCheckValidateClusterRequirements CliStep = "install.run.pre-check.step.validate-cluster-requirements"
77
+ InstallPhaseRunPreCheckFinish CliStep = "install.run.pre-check.phase.finish"
78
+ InstallPhaseStart CliStep = "install.run.phase.start"
79
+ InstallStepDownloadRuntimeDefinition CliStep = "install.run.step.download-runtime-definition"
80
+ InstallStepGetServerAddress CliStep = "install.run.step.get-server-address"
81
+ InstallStepCreateRuntimeOnPlatform CliStep = "install.run.step.create-runtime-on-platform"
82
+ InstallStepBootstrapRepo CliStep = "install.run.step.bootstrap-repo"
83
+ InstallStepCreateProject CliStep = "install.run.step.create-project"
84
+ InstallStepCreateConfigMap CliStep = "install.run.step.create-codefresh-cm"
85
+ InstallStepCreateComponent CliStep = "install.run.step.create-component"
86
+ InstallStepInstallComponenets CliStep = "install.run.step.install-components"
87
+ InstallStepCreateGitsource CliStep = "install.run.step.create-gitsource"
88
+ InstallStepCreateMarketplaceGitsource CliStep = "install.run.step.create-marketplace-gitsource"
89
+ InstallStepCompleteRuntimeInstallation CliStep = "install.run.step.complete-runtime-installation"
90
+ InstallStepCreateDefaultGitIntegration CliStep = "install.run.step.create-default-git-integration"
91
+ InstallPhaseFinish CliStep = "install.run.phase.finish"
74
92
75
93
// Uninstall
76
- UninstallStepCheckRuntimeExists CliStep = "uninstall.check-runtime-exists"
77
- UninstallStepUninstallRepo CliStep = "uninstall.uninstall-repo"
78
- UninstallStepDeleteRuntimeFromPlatform CliStep = "uninstall.delete-runtime-from-platform"
79
- UninstallStepCompleteRuntimeUninstallation CliStep = "uninstall.complete-runtime-uninstall"
94
+ UninstallPhasePreCheckStart CliStep = "uninstall.pre-check.phase.start"
95
+ UninstallStepPreCheckGetKubeContext CliStep = "uninstall.pre-check.step.get-kube-context"
96
+ UninstallStepPreCheckEnsureRuntimeName CliStep = "uninstall.pre-check.step.ensure-runtime-name"
97
+ UninstallStepPreCheckRuntimeNameValidation CliStep = "uninstall.pre-check.step.runtime-name-validation"
98
+ UninstallStepPreCheckEnsureRuntimeRepo CliStep = "uninstall.pre-check.step.ensure-runtime-repo"
99
+ UninstallStepPreCheckEnsureGitToken CliStep = "uninstall.pre-check.step.ensure-git-token"
100
+ UninstallPhasePreCheckFinish CliStep = "uninstall.pre-check.phase.finish"
101
+ UninstallPhaseStart CliStep = "uninstall.run.phase.start"
102
+ UninstallStepCheckRuntimeExists CliStep = "uninstall.run.step.check-runtime-exists"
103
+ UninstallStepUninstallRepo CliStep = "uninstall.run.step.uninstall-repo"
104
+ UninstallStepDeleteRuntimeFromPlatform CliStep = "uninstall.run.step.delete-runtime-from-platform"
105
+ UninstallPhaseFinish CliStep = "uninstall.run.phase.finish"
106
+
107
+ // Upgrade
108
+ UpgradePhasePreCheckStart CliStep = "upgrade.pre-check.phase.start"
109
+ UpgradeStepPreCheckEnsureRuntimeName CliStep = "upgrade.pre-check.step.ensure-runtime-name"
110
+ UpgradeStepPreCheckEnsureRuntimeRepo CliStep = "upgrade.pre-check.step.ensure-runtime-repo"
111
+ UpgradeStepPreCheckEnsureGitToken CliStep = "upgrade.pre-check.step.ensure-git-token"
112
+ UpgradePhasePreCheckFinish CliStep = "upgrade.pre-check.phase.finish"
113
+ UpgradePhaseStart CliStep = "upgrade.run.phase.start"
114
+ UpgradeStepDownloadRuntimeDefinition CliStep = "upgrade.run.step.download-runtime-definition"
115
+ UpgradeStepRunPreCheckEnsureCliVersion CliStep = "upgrade.run.step.ensure-cli-version"
116
+ UpgradeStepGetRepo CliStep = "upgrade.run.step.get-repo"
117
+ UpgradeStepLoadRuntimeDefinition CliStep = "upgrade.run.step.load-runtime-definition"
118
+ UpgradeStepUpgradeRuntime CliStep = "upgrade.run.step.upgrade-runtime"
119
+ UpgradeStepPushRuntimeDefinition CliStep = "upgrade.run.step.push-runtime-definition"
120
+ UpgradeStepCreateApp CliStep = "upgrade.run.step.create-app"
121
+ UpgradePhaseFinish CliStep = "upgrade.run.phase.finish"
80
122
81
123
// General
82
124
SIGNAL_TERMINATION CliStep = "signal-termination"
125
+ FINISH CliStep = "run.finish"
83
126
84
- SUCCESS CliStepStatus = "SUCCESS"
85
- FAILURE CliStepStatus = "FAILURE"
86
- CANCELED CliStepStatus = "CANCELED"
127
+ SUCCESS CliStepStatus = "SUCCESS"
128
+ FAILURE CliStepStatus = "FAILURE"
129
+ CANCELED CliStepStatus = "CANCELED"
130
+ ABRUPTLY_CANCELED CliStepStatus = "ABRUPTLY_CANCELED"
87
131
88
132
InstallFlow FlowType = "installation"
89
133
UninstallFlow FlowType = "uninstallation"
134
+ UpgradeFlow FlowType = "upgrade"
90
135
)
91
136
92
137
// G returns the global reporter
@@ -140,7 +185,23 @@ func (r *segmentAnalyticsReporter) ReportStep(data CliStepData) {
140
185
}
141
186
}
142
187
143
- func (r * segmentAnalyticsReporter ) Close () {
188
+ func (r * segmentAnalyticsReporter ) Close (status CliStepStatus , err error ) {
189
+ if status == "" {
190
+ status = SUCCESS
191
+ if err != nil {
192
+ status = FAILURE
193
+ }
194
+ }
195
+
196
+ log .G ().Infof ("Closing with status %s" , status )
197
+
198
+ r .ReportStep (CliStepData {
199
+ Step : FINISH ,
200
+ Status : status ,
201
+ Description : "Finished" ,
202
+ Err : err ,
203
+ })
204
+
144
205
if err := r .client .Close (); err != nil {
145
206
log .G ().Debugf ("Failed to close segment client: %w" , err )
146
207
}
@@ -150,5 +211,5 @@ func (r *noopAnalyticsReporter) ReportStep(_ CliStepData) {
150
211
// If no segmentWriteKey is provided this reporter will be used instead.
151
212
}
152
213
153
- func (r * noopAnalyticsReporter ) Close () {
214
+ func (r * noopAnalyticsReporter ) Close (_ CliStepStatus , _ error ) {
154
215
}
0 commit comments