Skip to content

Commit 85f474f

Browse files
fix: 5xx errors (#2025)
Co-authored-by: Cihanoglu, Ferruh <[email protected]>
1 parent 775e307 commit 85f474f

File tree

4 files changed

+14
-16
lines changed

4 files changed

+14
-16
lines changed

src/cmd/bootstrap.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ export const bootstrapSops = async (
117117
}
118118
}
119119
// now do a round of encryption and decryption to make sure we have all the files in place for later
120-
await deps.encrypt()
121-
await deps.decrypt()
120+
await deps.encrypt(envDir)
121+
await deps.decrypt(envDir)
122122
}
123123
}
124124

src/cmd/validate-values.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const validateValues = async (envDir = env.ENV_DIR): Promise<void> => {
1919
// TODO: Make this return true or error tree
2020
// Create an end point function (when running otomi validate-values) to print current messages.
2121
const argv: HelmArguments = getParsedArgs()
22-
d.log('Values validation STARTED')
22+
d.log('Values validation STARTED on ', envDir)
2323

2424
if (argv.l || argv.label) {
2525
const labelOpts = [...new Set([...(argv.l ?? []), ...(argv.label ?? [])])]

src/common/crypt.ts

+4-5
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,10 @@ const preCrypt = async (path): Promise<void> => {
4242

4343
const getAllSecretFiles = async (path) => {
4444
const d = terminal(`common:crypt:getAllSecretFiles`)
45-
const files = (await readdirRecurse(`${path}/env`, { skipHidden: true }))
46-
.filter((file) => file.endsWith('.yaml') && file.includes('/secrets.'))
47-
.map((file) => file.replace(`${path}/`, ''))
45+
const files = (await readdirRecurse(`${path}/env`, { skipHidden: true })).filter(
46+
(file) => file.endsWith('.yaml') && file.includes('/secrets.'),
47+
)
48+
4849
d.debug('getAllSecretFiles: ', files)
4950
return files
5051
}
@@ -92,8 +93,6 @@ const runOnSecretFiles = async (path: string, crypt: CR, filesArgs: string[] = [
9293
const d = terminal(`common:crypt:runOnSecretFiles`)
9394
let files: string[] = filesArgs
9495

95-
cd(path)
96-
9796
if (files.length === 0) {
9897
files = await getAllSecretFiles(path)
9998
}

src/server.ts

+7-8
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import $RefParser, { JSONSchema } from '@apidevtools/json-schema-ref-parser'
33
import express, { Request, Response } from 'express'
44
import { Server } from 'http'
55
import { bootstrapSops } from 'src/cmd/bootstrap'
6-
import { validateValues } from 'src/cmd/validate-values'
76
import { decrypt, encrypt } from 'src/common/crypt'
87
import { terminal } from 'src/common/debug'
98
import { hfValues } from './common/hf'
@@ -25,12 +24,13 @@ app.get('/', async (req: Request, res: Response): Promise<Response<any>> => {
2524

2625
type QueryParams = {
2726
envDir: string
27+
files?: string[]
2828
}
2929

3030
app.get('/init', async (req: Request, res: Response) => {
3131
const { envDir } = req.query as QueryParams
3232
try {
33-
d.log('Request to initialize values repo')
33+
d.log('Request to initialize values repo on', envDir)
3434
await decrypt(envDir)
3535
res.status(200).send('ok')
3636
} catch (error) {
@@ -40,21 +40,20 @@ app.get('/init', async (req: Request, res: Response) => {
4040
})
4141

4242
app.get('/prepare', async (req: Request, res: Response) => {
43-
const { envDir } = req.query as QueryParams
43+
const { envDir, files } = req.query as QueryParams
4444
try {
45-
d.log('Request to prepare values repo')
45+
d.log('Request to prepare values repo on', envDir)
4646
await bootstrapSops(envDir)
4747
await setValuesFile(envDir)
4848
// Encrypt ensures that a brand new secret file is encrypted in place
49-
await encrypt(envDir)
49+
await encrypt(envDir, ...(files ?? []))
5050
// Decrypt ensures that a brand new encrypted secret file is decrypted to the .dec file
51-
await decrypt(envDir)
52-
await validateValues(envDir)
51+
await decrypt(envDir, ...(files ?? []))
5352
res.status(200).send('ok')
5453
} catch (error) {
5554
const err = `${error}`
5655
let status = 500
57-
d.error(err)
56+
d.error(`Request to prepare values went wrong: ${err}`)
5857
if (err.includes('Values validation FAILED')) {
5958
status = 422
6059
}

0 commit comments

Comments
 (0)