Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
679da11
chore(deps): bump @kubernetes/client-node from 0.22.1 to 1.3.0
dependabot[bot] Jun 24, 2025
c39d5c0
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jun 24, 2025
3393724
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jun 25, 2025
db510e5
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jun 25, 2025
dd15ce7
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jun 25, 2025
fd20983
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jun 25, 2025
beaea5a
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jun 25, 2025
7604c9e
feat: upgrade node version & replace ts-node with tsx
ferruhcihan Jun 26, 2025
c175edb
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jun 27, 2025
a09b16c
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jul 3, 2025
884924e
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jul 8, 2025
c10b147
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jul 16, 2025
ba31792
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jul 21, 2025
221b83b
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jul 23, 2025
fea62c7
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jul 25, 2025
46ac685
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jul 28, 2025
a1cf6b2
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Jul 31, 2025
98ee3be
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Aug 1, 2025
b2d9cfa
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Aug 4, 2025
8be33d7
Merge remote-tracking branch 'origin/main' into dependabot/npm_and_ya…
svcAPLBot Aug 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/app.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import $parser from '@apidevtools/json-schema-ref-parser'
import cors from 'cors'
import Debug from 'debug'
import 'dotenv/config'
import express from 'express'
import 'express-async-errors'
import { initialize } from 'express-openapi'
Expand Down
23 changes: 7 additions & 16 deletions src/otomi-stack.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ import {
GIT_REPO_URL,
GIT_USER,
HELM_CHART_CATALOG,
HIDDEN_APPS,
OBJ_STORAGE_APPS,
PREINSTALLED_EXCLUDED_APPS,
TOOLS_HOST,
Expand Down Expand Up @@ -136,7 +135,6 @@ const env = cleanEnv({
TOOLS_HOST,
VERSIONS,
PREINSTALLED_EXCLUDED_APPS,
HIDDEN_APPS,
OBJ_STORAGE_APPS,
})

Expand Down Expand Up @@ -341,14 +339,13 @@ export default class OtomiStack {
cleanSecretPaths.push(p)
} else {
teams.forEach((teamId: string) => {
if (p.indexOf(teamProp) === 0) {
if (p.indexOf(teamProp) === 0)
cleanSecretPaths.push(
p
.replace(teamProp, `teamConfig.${teamId}`)
// add spec to the path for v2 endpoints
.replace(`teamConfig.${teamId}.settings`, `teamConfig.${teamId}.settings.spec`),
)
}
})
}
})
Expand Down Expand Up @@ -543,9 +540,7 @@ export default class OtomiStack {
}

filterExcludedApp(apps: App | App[]) {
const preInstalledExcludedApps = PREINSTALLED_EXCLUDED_APPS.default.apps
const hiddenApps = HIDDEN_APPS.default.apps
const excludedApps = preInstalledExcludedApps.concat(hiddenApps)
const excludedApps = PREINSTALLED_EXCLUDED_APPS.default.apps
const settingsInfo = this.getSettingsInfo()
if (!Array.isArray(apps)) {
if (settingsInfo.otomi && settingsInfo.otomi.isPreInstalled && excludedApps.includes(apps.id)) {
Expand Down Expand Up @@ -803,7 +798,7 @@ export default class OtomiStack {
const configKey = this.getConfigKey('AplTeamWorkloadValues')
const repo = this.createTeamConfigInRepo(teamId, configKey, [values])
const fileMap = getFileMaps('').find((fm) => fm.kind === 'AplTeamWorkloadValues')!
await this.git.saveConfig(repo, fileMap, false)
await this.git.saveConfig(repo, fileMap)
}

async saveTeamPolicy(teamId: string, data: AplPolicyResponse): Promise<void> {
Expand Down Expand Up @@ -1553,12 +1548,11 @@ export default class OtomiStack {

async createAplBuild(teamId: string, data: AplBuildRequest): Promise<AplBuildResponse> {
const buildName = `${data?.spec?.imageName}-${data?.spec?.tag}`
if (buildName.length > 128) {
if (buildName.length > 128)
throw new HttpError(
400,
'Invalid container image name, the combined image name and tag must not exceed 128 characters.',
)
}
try {
const build = this.repoService.getTeamConfigService(teamId).createBuild(data)
await this.saveTeamConfigItem(build)
Expand All @@ -1571,9 +1565,8 @@ export default class OtomiStack {
)
return build
} catch (err) {
if (err.code === 409) {
if (err.code === 409)
err.publicMessage = 'Container image name already exists, the combined image name and tag must be unique.'
}
throw err
}
}
Expand Down Expand Up @@ -1751,9 +1744,8 @@ export default class OtomiStack {
fileContent = fileContent.replace(regex, variables[key] as string)
})
if (file === 'tty_02_Pod.yaml') fileContent = podContentAddTargetTeam(fileContent)
if (!sessionUser.isPlatformAdmin && file === 'tty_03_Rolebinding.yaml') {
if (!sessionUser.isPlatformAdmin && file === 'tty_03_Rolebinding.yaml')
fileContent = rolebindingContentsForUsers(fileContent)
}
return fileContent
}),
)
Expand Down Expand Up @@ -1781,9 +1773,8 @@ export default class OtomiStack {
const { sub, isPlatformAdmin, teams } = sessionUser as { sub: string; isPlatformAdmin: boolean; teams: string[] }
const userTeams = teams.map((teamName) => `team-${teamName}`)
try {
if (await checkPodExists('team-admin', `tty-${sessionUser.sub}`)) {
if (await checkPodExists('team-admin', `tty-${sessionUser.sub}`))
await k8sdelete({ sub, isPlatformAdmin, userTeams })
}
} catch (error) {
debug('Failed to delete cloudtty')
}
Expand Down
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"forceConsistentCasingInFileNames": true,
"isolatedModules": true,
"lib": ["es2021", "esnext", "dom", "dom.iterable"],
"module": "commonjs",
"module": "ESNext",
"moduleResolution": "node",
"outDir": "dist/",
"resolveJsonModule": true,
Expand Down
Loading