Skip to content

Commit 0c0b9bc

Browse files
authored
Merge pull request #2905 from devtron-labs/fix/pipeline-config
fix: update secretsData handling for pipeline deployment configurations
2 parents 462f87f + ce5c84d commit 0c0b9bc

File tree

1 file changed

+61
-25
lines changed

1 file changed

+61
-25
lines changed

src/components/app/details/triggerView/PipelineConfigDiff/usePipelineDeploymentConfig.ts

Lines changed: 61 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -159,46 +159,82 @@ export const usePipelineDeploymentConfig = ({
159159
// NOTE: for security reasons secretsData from getAppEnvDeploymentConfig
160160
// will be null if user is not app admin. therefore need to override it
161161
// with masked values from getCompareSecretsData api
162-
if (
163-
_pipelineDeploymentConfigRes[0].status === 'fulfilled' &&
164-
_pipelineDeploymentConfigRes[0].value &&
165-
!_pipelineDeploymentConfigRes[0].value.result.isAppAdmin &&
166-
secretsData.status === 'fulfilled' &&
167-
secretsData.value?.[0]
168-
) {
169-
_pipelineDeploymentConfigRes[0].value.result.secretsData = secretsData.value[0].secretsData
170-
}
171-
172-
if (
173-
_pipelineDeploymentConfigRes[1].status === 'fulfilled' &&
174-
_pipelineDeploymentConfigRes[1].value &&
175-
!_pipelineDeploymentConfigRes[1].value.result.isAppAdmin &&
176-
secretsData.status === 'fulfilled' &&
177-
secretsData.value?.[1]
178-
) {
179-
// we can use 0th secret data it will not impact strategy
180-
_pipelineDeploymentConfigRes[1].value.result.secretsData = secretsData.value[0].secretsData
181-
_pipelineDeploymentConfigRes[1].value.result.secretsData = secretsData.value[0].secretsData
182-
}
183-
162+
// setting pipelineConfig - last saved config (current published)
184163
if (
185164
_pipelineDeploymentConfigRes[2].status === 'fulfilled' &&
186165
_pipelineDeploymentConfigRes[2].value &&
187166
!_pipelineDeploymentConfigRes[2].value.result.isAppAdmin &&
188167
secretsData.status === 'fulfilled' &&
189-
secretsData.value?.[2]
168+
secretsData.value?.[1]
190169
) {
191170
_pipelineDeploymentConfigRes[2].value.result.secretsData = secretsData.value[1].secretsData
192171
}
193172

173+
// Rollback case
174+
if (isRollbackTriggerSelected && wfrId) {
175+
// setting pipelineConfig - last deployed config (w/o deployment strategy)
176+
if (
177+
_pipelineDeploymentConfigRes[0].status === 'fulfilled' &&
178+
_pipelineDeploymentConfigRes[0].value &&
179+
!_pipelineDeploymentConfigRes[0].value.result.isAppAdmin &&
180+
secretsDataCDRollback.status === 'fulfilled' &&
181+
secretsDataCDRollback.value?.[0]
182+
) {
183+
_pipelineDeploymentConfigRes[0].value.result.secretsData =
184+
secretsDataCDRollback.value[0].secretsData
185+
}
186+
187+
// setting pipelineConfig - last deployed config (with deployment strategy)
188+
if (
189+
_pipelineDeploymentConfigRes[1].status === 'fulfilled' &&
190+
_pipelineDeploymentConfigRes[1].value &&
191+
!_pipelineDeploymentConfigRes[1].value.result.isAppAdmin &&
192+
secretsDataCDRollback.status === 'fulfilled' &&
193+
secretsDataCDRollback.value?.[0]
194+
) {
195+
// we can use 0th secret data it will not impact strategy
196+
_pipelineDeploymentConfigRes[1].value.result.secretsData =
197+
secretsDataCDRollback.value[0].secretsData
198+
_pipelineDeploymentConfigRes[1].value.result.secretsData =
199+
secretsDataCDRollback.value[0].secretsData
200+
}
201+
}
202+
// Deploy case
203+
else {
204+
// setting pipelineConfig - last deployed config (w/o deployment strategy)
205+
if (
206+
_pipelineDeploymentConfigRes[0].status === 'fulfilled' &&
207+
_pipelineDeploymentConfigRes[0].value &&
208+
!_pipelineDeploymentConfigRes[0].value.result.isAppAdmin &&
209+
secretsData.status === 'fulfilled' &&
210+
secretsData.value?.[0]
211+
) {
212+
_pipelineDeploymentConfigRes[0].value.result.secretsData = secretsData.value[0].secretsData
213+
}
214+
215+
// setting pipelineConfig - last deployed config (with deployment strategy)
216+
if (
217+
_pipelineDeploymentConfigRes[1].status === 'fulfilled' &&
218+
_pipelineDeploymentConfigRes[1].value &&
219+
!_pipelineDeploymentConfigRes[1].value.result.isAppAdmin &&
220+
secretsData.status === 'fulfilled' &&
221+
secretsData.value?.[0]
222+
) {
223+
// we can use 0th secret data it will not impact strategy
224+
_pipelineDeploymentConfigRes[1].value.result.secretsData = secretsData.value[0].secretsData
225+
_pipelineDeploymentConfigRes[1].value.result.secretsData = secretsData.value[0].secretsData
226+
}
227+
}
228+
229+
// setting pipelineConfig - rollback config
194230
if (
195231
_pipelineDeploymentConfigRes[3].status === 'fulfilled' &&
196232
_pipelineDeploymentConfigRes[3].value &&
197233
!_pipelineDeploymentConfigRes[3].value.result.isAppAdmin &&
198234
secretsDataCDRollback.status === 'fulfilled' &&
199-
secretsDataCDRollback.value?.[3]
235+
secretsDataCDRollback.value?.[1]
200236
) {
201-
_pipelineDeploymentConfigRes[3].value.result.secretsData = secretsDataCDRollback.value[2].secretsData
237+
_pipelineDeploymentConfigRes[3].value.result.secretsData = secretsDataCDRollback.value[1].secretsData
202238
}
203239

204240
return _pipelineDeploymentConfigRes

0 commit comments

Comments
 (0)