Skip to content

Commit 190682c

Browse files
CasLubbersdennisvankekemsvcAPLBot
authored
feat: hide knative when k8s version is below 1.33 (#970)
* feat: hide knative when k8s version is below 1.33 * feat: add caching * feat: update filter for single app --------- Co-authored-by: Dennis van Kekem <38350840+dennisvankekem@users.noreply.github.com> Co-authored-by: svcAPLBot <174728082+svcAPLBot@users.noreply.github.com>
1 parent 5865383 commit 190682c

10 files changed

Lines changed: 135 additions & 24 deletions

File tree

package-lock.json

Lines changed: 44 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515
"@linode/api-v4": "0.158.0",
1616
"@types/json-schema": "7.0.15",
1717
"@types/jsonwebtoken": "9.0.10",
18-
"axios": "1.13.6",
19-
"jose": "^6.2.2",
2018
"async-retry": "^1.3.3",
19+
"axios": "1.13.6",
2120
"clean-deep": "3.4.0",
2221
"cors": "2.8.6",
2322
"debug": "4.4.3",
@@ -29,12 +28,14 @@
2928
"fs-extra": "11.3.4",
3029
"generate-password": "1.7.1",
3130
"glob": "13.0.6",
31+
"jose": "^6.2.2",
3232
"jsonpath": "1.3.0",
3333
"jsonwebtoken": "9.0.3",
3434
"jwt-decode": "4.0.0",
3535
"lightship": "6.7.2",
3636
"lodash": "4.17.23",
3737
"morgan": "1.10.1",
38+
"semver": "^7.7.4",
3839
"simple-git": "3.33.0",
3940
"socket.io": "4.8.3",
4041
"swagger-ui-express": "5.0.1",
@@ -53,8 +54,8 @@
5354
"@eslint/compat": "2.0.3",
5455
"@redocly/openapi-cli": "1.0.0-beta.95",
5556
"@semantic-release/changelog": "6.0.3",
56-
"@types/async-retry": "^1.4.8",
5757
"@semantic-release/git": "10.0.1",
58+
"@types/async-retry": "^1.4.8",
5859
"@types/debug": "^4.1.13",
5960
"@types/expect": "24.3.2",
6061
"@types/express": "^5.0.6",
@@ -63,6 +64,7 @@
6364
"@types/jsonpath": "0.2.4",
6465
"@types/lodash": "4.17.24",
6566
"@types/node": "24.12.0",
67+
"@types/semver": "^7.7.1",
6668
"@types/supertest": "7.2.0",
6769
"@typescript-eslint/eslint-plugin": "8.57.1",
6870
"@typescript-eslint/parser": "8.57.1",

src/api/v1/apps.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const debug = Debug('otomi:api:v1:apps')
99
* Get all apps across all teams
1010
* Returns list of all apps with their ids and enabled status
1111
*/
12-
export const getApps = (req: OpenApiRequestExt, res: Response): void => {
12+
export const getApps = async (req: OpenApiRequestExt, res: Response): Promise<void> => {
1313
debug('getAllApps')
14-
res.json(req.otomi.getApps())
14+
res.json(await req.otomi.getApps())
1515
}

src/api/v1/apps/{teamId}.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ const debug = Debug('otomi:api:v1:apps')
99
* Get apps for a team
1010
* Returns list of team apps with their ids and enabled status
1111
*/
12-
export const getTeamApps = (req: OpenApiRequestExt, res: Response): void => {
12+
export const getTeamApps = async (req: OpenApiRequestExt, res: Response): Promise<void> => {
1313
const { teamId } = req.params
1414
debug('getTeamApps', teamId)
15-
res.json(req.otomi.getTeamApps(teamId))
15+
res.json(await req.otomi.getTeamApps(teamId))
1616
}
1717

1818
/**

src/api/v1/apps/{teamId}/{appId}.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import { App, OpenApiRequestExt } from 'src/otomi-models'
55
* GET /v1/apps/{teamId}/{appId}
66
* Get a specific team app
77
*/
8-
export const getTeamApp = (req: OpenApiRequestExt, res: Response): void => {
8+
export const getTeamApp = async (req: OpenApiRequestExt, res: Response): Promise<void> => {
99
const { teamId, appId } = req.params
10-
res.json(req.otomi.getTeamApp(teamId, appId))
10+
res.json(await req.otomi.getTeamApp(teamId, appId))
1111
}
1212

1313
/**

src/k8s-operations.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,11 @@ export async function checkPodExists(namespace: string, podName: string): Promis
5151
}
5252
}
5353

54+
let cachedKubernetesVersion: string | undefined
55+
5456
export async function getKubernetesVersion() {
5557
if (process.env.NODE_ENV === 'development') return 'x.x.x'
58+
if (cachedKubernetesVersion) return cachedKubernetesVersion
5659

5760
const kc = new KubeConfig()
5861
kc.loadFromDefault()
@@ -62,7 +65,8 @@ export async function getKubernetesVersion() {
6265
try {
6366
const response = await k8sApi.getCode()
6467
console.log('Kubernetes Server Version:', response.gitVersion)
65-
return response.gitVersion
68+
cachedKubernetesVersion = response.gitVersion
69+
return cachedKubernetesVersion
6670
} catch (error) {
6771
debug(`Failed to get Kubernetes version.`)
6872
}

0 commit comments

Comments
 (0)