diff --git a/app/react/kubernetes/applications/DetailsView/ApplicationDetailsWidget/ApplicationEnvVarsTable.tsx b/app/react/kubernetes/applications/DetailsView/ApplicationDetailsWidget/ApplicationEnvVarsTable.tsx
index 19ff4967f..5c2ac907e 100644
--- a/app/react/kubernetes/applications/DetailsView/ApplicationDetailsWidget/ApplicationEnvVarsTable.tsx
+++ b/app/react/kubernetes/applications/DetailsView/ApplicationDetailsWidget/ApplicationEnvVarsTable.tsx
@@ -1,4 +1,4 @@
-import { Pod } from 'kubernetes-types/core/v1';
+import { EnvVar, Pod } from 'kubernetes-types/core/v1';
import { Asterisk, File, FileCode, Key, Lock } from 'lucide-react';
import { Icon } from '@@/Icon';
@@ -44,7 +44,7 @@ export function ApplicationEnvVarsTable({ namespace, app }: Props) {
{envVar.isInitContainer && (
- {envVar.fieldPath} (
+ {envVar.valueFrom?.fieldRef?.fieldPath} (
)}
-
{envVar.key || '-'} |
+ {envVar.name} |
{envVar.value && {envVar.value}}
- {envVar.fieldPath && (
+ {envVar.valueFrom?.fieldRef?.fieldPath && (
- {envVar.fieldPath} (
+ {envVar.valueFrom.fieldRef.fieldPath} (
)}
- {envVar.key ? (
+ {envVar.valueFrom?.secretKeyRef?.key && (
- {envVar.key}
+ {envVar.valueFrom.secretKeyRef.key}
- ) : (
- '-'
)}
+ {envVar.valueFrom?.configMapKeyRef?.key && (
+
+
+ {envVar.valueFrom.configMapKeyRef.key}
+
+ )}
+ {!envVar.value && !envVar.valueFrom && -}
|
- {!envVar.resourseName && -}
- {envVar.resourseName && (
+ {!envVar.valueFrom?.configMapKeyRef?.name &&
+ !envVar.valueFrom?.secretKeyRef?.name && -}
+ {envVar.valueFrom?.configMapKeyRef && (
-
- {envVar.resourseName}
+
+ {envVar.valueFrom.configMapKeyRef.name}
+
+
+ )}
+ {envVar.valueFrom?.secretKeyRef && (
+
+
+
+ {envVar.valueFrom.secretKeyRef.name}
)}
@@ -116,14 +130,9 @@ export function ApplicationEnvVarsTable({ namespace, app }: Props) {
);
}
-interface ContainerEnvVar {
- key?: string;
- value?: string;
- fieldPath?: string;
+interface ContainerEnvVar extends EnvVar {
containerName: string;
isInitContainer: boolean;
- type: 'configMap' | 'secret';
- resourseName: string;
}
function getApplicationEnvironmentVariables(
@@ -141,60 +150,23 @@ function getApplicationEnvironmentVariables(
// get all the environment variables for each container
const appContainersEnvVars =
- appContainers?.flatMap((container) => {
- const containerEnvVars: ContainerEnvVar[] =
+ appContainers?.flatMap(
+ (container) =>
container?.env?.map((envVar) => ({
- key: envVar?.name,
- fieldPath: envVar?.valueFrom?.fieldRef?.fieldPath,
+ ...envVar,
containerName: container.name,
isInitContainer: false,
- type: envVar?.valueFrom?.configMapKeyRef ? 'configMap' : 'secret',
- resourseName:
- envVar?.valueFrom?.configMapKeyRef?.name ||
- envVar?.valueFrom?.secretKeyRef?.name ||
- '',
- })) || [];
-
- const containerEnvFroms: ContainerEnvVar[] =
- container?.envFrom?.map((envFrom) => ({
- name: '',
- resourseName:
- envFrom?.configMapRef?.name || envFrom?.secretRef?.name || '',
- containerName: container.name,
- isInitContainer: false,
- type: envFrom?.configMapRef ? 'configMap' : 'secret',
- })) || [];
-
- return [...containerEnvVars, ...containerEnvFroms];
- }) || [];
-
+ })) || []
+ ) || [];
const appInitContainersEnvVars =
- appInitContainers?.flatMap((container) => {
- const containerEnvVars: ContainerEnvVar[] =
+ appInitContainers?.flatMap(
+ (container) =>
container?.env?.map((envVar) => ({
- key: envVar?.name,
- fieldPath: envVar?.valueFrom?.fieldRef?.fieldPath,
+ ...envVar,
containerName: container.name,
- isInitContainer: false,
- type: envVar?.valueFrom?.configMapKeyRef ? 'configMap' : 'secret',
- resourseName:
- envVar?.valueFrom?.configMapKeyRef?.name ||
- envVar?.valueFrom?.secretKeyRef?.name ||
- '',
- })) || [];
-
- const containerEnvFroms: ContainerEnvVar[] =
- container?.envFrom?.map((envFrom) => ({
- name: '',
- resourseName:
- envFrom?.configMapRef?.name || envFrom?.secretRef?.name || '',
- containerName: container.name,
- isInitContainer: false,
- type: envFrom?.configMapRef ? 'configMap' : 'secret',
- })) || [];
-
- return [...containerEnvVars, ...containerEnvFroms];
- }) || [];
+ isInitContainer: true,
+ })) || []
+ ) || [];
return [...appContainersEnvVars, ...appInitContainersEnvVars];
}
diff --git a/app/react/kubernetes/applications/application.service.ts b/app/react/kubernetes/applications/application.service.ts
index 22db69be7..ac04f2d04 100644
--- a/app/react/kubernetes/applications/application.service.ts
+++ b/app/react/kubernetes/applications/application.service.ts
@@ -250,12 +250,7 @@ async function getApplicationsByKind(
const { data } = await axios.get(
buildUrl(environmentId, namespace, `${appKind}s`)
);
- const items = (data.items || []).map((app) => ({
- ...app,
- kind: appKind,
- apiVersion: data.apiVersion,
- }));
- return items as T['items'];
+ return data.items as T['items'];
} catch (e) {
throw parseAxiosError(e as Error, `Unable to retrieve ${appKind}s`);
}
diff --git a/app/react/kubernetes/applications/pod.service.ts b/app/react/kubernetes/applications/pod.service.ts
index 5d53a9e55..f53c95d6d 100644
--- a/app/react/kubernetes/applications/pod.service.ts
+++ b/app/react/kubernetes/applications/pod.service.ts
@@ -19,15 +19,7 @@ export async function getNamespacePods(
},
}
);
- const items = (data.items || []).map(
- (pod) =>
- {
- ...pod,
- kind: 'Pod',
- apiVersion: data.apiVersion,
- }
- );
- return items;
+ return data.items;
} catch (e) {
throw parseAxiosError(e as Error, 'Unable to retrieve pods');
}
diff --git a/app/react/kubernetes/configs/ListView/ConfigMapsDatatable/utils.ts b/app/react/kubernetes/configs/ListView/ConfigMapsDatatable/utils.ts
index 343b89278..844c3f38c 100644
--- a/app/react/kubernetes/configs/ListView/ConfigMapsDatatable/utils.ts
+++ b/app/react/kubernetes/configs/ListView/ConfigMapsDatatable/utils.ts
@@ -14,16 +14,12 @@ export function getIsConfigMapInUse(
? app?.spec
: app?.spec?.template?.spec;
- const hasEnvVarReference = appSpec?.containers.some((container) => {
- const valueFromEnv = container.env?.some(
+ const hasEnvVarReference = appSpec?.containers.some((container) =>
+ container.env?.some(
(envVar) =>
envVar.valueFrom?.configMapKeyRef?.name === configMap.metadata?.name
- );
- const envFromEnv = container.envFrom?.some(
- (envVar) => envVar.configMapRef?.name === configMap.metadata?.name
- );
- return valueFromEnv || envFromEnv;
- });
+ )
+ );
const hasVolumeReference = appSpec?.volumes?.some(
(volume) => volume.configMap?.name === configMap.metadata?.name
);
diff --git a/app/react/kubernetes/configs/ListView/SecretsDatatable/utils.ts b/app/react/kubernetes/configs/ListView/SecretsDatatable/utils.ts
index b6d1d015d..ca4546b52 100644
--- a/app/react/kubernetes/configs/ListView/SecretsDatatable/utils.ts
+++ b/app/react/kubernetes/configs/ListView/SecretsDatatable/utils.ts
@@ -11,16 +11,12 @@ export function getIsSecretInUse(secret: Secret, applications: Application[]) {
? app?.spec
: app?.spec?.template?.spec;
- const hasEnvVarReference = appSpec?.containers.some((container) => {
- const valueFromEnv = container.env?.some(
+ const hasEnvVarReference = appSpec?.containers.some((container) =>
+ container.env?.some(
(envVar) =>
envVar.valueFrom?.secretKeyRef?.name === secret.metadata?.name
- );
- const envFromEnv = container.envFrom?.some(
- (envVar) => envVar.secretRef?.name === secret.metadata?.name
- );
- return valueFromEnv || envFromEnv;
- });
+ )
+ );
const hasVolumeReference = appSpec?.volumes?.some(
(volume) => volume.secret?.secretName === secret.metadata?.name
);
|