Skip to content

Commit 24ddb0a

Browse files
fix: sealed secret response data (#896)
Co-authored-by: svcAPLBot <174728082+svcAPLBot@users.noreply.github.com> (cherry picked from commit 8885ae3)
1 parent fdf5401 commit 24ddb0a

2 files changed

Lines changed: 35 additions & 4 deletions

File tree

src/otomi-stack.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,12 @@ import {
129129
testPublicRepoConnect,
130130
} from './utils/codeRepoUtils'
131131
import { getAplObjectFromV1, getV1MergeObject, getV1ObjectFromApl } from './utils/manifests'
132-
import { getSealedSecretsPEM, sealedSecretManifest } from './utils/sealedSecretUtils'
132+
import {
133+
getSealedSecretsPEM,
134+
sealedSecretManifest,
135+
SealedSecretManifestType,
136+
toSealedSecretResponse,
137+
} from './utils/sealedSecretUtils'
133138
import { getKeycloakUsers, isValidUsername } from './utils/userUtils'
134139
import { defineClusterId, ObjectStorageClient } from './utils/wizardUtils'
135140
import { fetchChartYaml, fetchWorkloadCatalog, NewHelmChartValues, sparseCloneChart } from './utils/workloadUtils'
@@ -2154,7 +2159,7 @@ export default class OtomiStack {
21542159
if (!sealedSecret) {
21552160
throw new NotExistError(`SealedSecret ${name} not found in team ${teamId}`)
21562161
}
2157-
return sealedSecret as AplSecretResponse
2162+
return toSealedSecretResponse(sealedSecret as SealedSecretManifestType)
21582163
}
21592164

21602165
getAllSealedSecrets(): SealedSecret[] {
@@ -2163,7 +2168,7 @@ export default class OtomiStack {
21632168

21642169
getAllAplSealedSecrets(): AplSecretResponse[] {
21652170
const files = this.fileStore.getAllTeamResourcesByKind('AplTeamSecret')
2166-
return Array.from(files.values()) as AplSecretResponse[]
2171+
return Array.from(files.values()).map((secret) => toSealedSecretResponse(secret as SealedSecretManifestType))
21672172
}
21682173

21692174
getSealedSecrets(teamId: string): SealedSecret[] {
@@ -2175,7 +2180,7 @@ export default class OtomiStack {
21752180

21762181
getAplSealedSecrets(teamId: string): AplSecretResponse[] {
21772182
const files = this.fileStore.getTeamResourcesByKindAndTeamId('AplTeamSecret', teamId)
2178-
return Array.from(files.values()) as AplSecretResponse[]
2183+
return Array.from(files.values()).map((secret) => toSealedSecretResponse(secret as SealedSecretManifestType))
21792184
}
21802185

21812186
async getSecretsFromK8s(teamId: string): Promise<Array<string>> {

src/utils/sealedSecretUtils.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,32 @@ export function sealedSecretManifest(data: AplSecretResponse): SealedSecretManif
6666
}
6767
}
6868

69+
export function toSealedSecretResponse(data: SealedSecretManifestType): AplSecretResponse {
70+
{
71+
return {
72+
kind: 'AplTeamSecret',
73+
metadata: {
74+
name: data.metadata.name,
75+
labels: {
76+
'apl.io/teamId': data.metadata.labels?.['apl.io/teamId'] || '',
77+
},
78+
},
79+
spec: {
80+
namespace: data.spec.template.metadata.namespace,
81+
type: data.spec.template.type,
82+
immutable: data.spec.template.immutable,
83+
encryptedData: data.spec.encryptedData,
84+
metadata: {
85+
annotations: data.spec.template.metadata.annotations,
86+
labels: data.spec.template.metadata.labels,
87+
finalizers: data.spec.template.metadata.finalizers,
88+
},
89+
},
90+
status: {},
91+
}
92+
}
93+
}
94+
6995
function getPEM(certificate): string {
7096
const x509 = new X509Certificate(certificate)
7197
const value = x509.publicKey

0 commit comments

Comments
 (0)