diff --git a/packages/core/src/renderer/components/workloads-pods/details/volumes/variant.tsx b/packages/core/src/renderer/components/workloads-pods/details/volumes/variant.tsx
index e4f534df82..6486c67770 100644
--- a/packages/core/src/renderer/components/workloads-pods/details/volumes/variant.tsx
+++ b/packages/core/src/renderer/components/workloads-pods/details/volumes/variant.tsx
@@ -24,6 +24,7 @@ import { GcePersistentDisk } from "./variants/gce-persistent-disk";
import { GitRepo } from "./variants/git-repo";
import { GlusterFs } from "./variants/gluster-fs";
import { HostPath } from "./variants/host-path";
+import { ImageVolume } from "./variants/image";
import { IScsi } from "./variants/i-scsi";
import { Local } from "./variants/local";
import { NetworkFs } from "./variants/network-fs";
@@ -172,6 +173,13 @@ function renderVolumeVariant({ pod, volume }: VolumeVariantProps): VolumeVariant
};
}
+ if (volume.image) {
+ return {
+ kind: "image",
+ element: ,
+ };
+ }
+
if (volume.iscsi) {
return {
kind: "iscsi",
diff --git a/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/image.tsx b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/image.tsx
new file mode 100644
index 0000000000..32506f3b3a
--- /dev/null
+++ b/packages/core/src/renderer/components/workloads-pods/details/volumes/variants/image.tsx
@@ -0,0 +1,19 @@
+/**
+ * Copyright (c) Freelens Authors. All rights reserved.
+ * Copyright (c) OpenLens Authors. All rights reserved.
+ * Licensed under MIT License. See LICENSE in root directory for more information.
+ */
+
+import React from "react";
+import { DrawerItem } from "../../../../drawer";
+
+import type { VolumeVariantComponent } from "../variant-helpers";
+
+export const ImageVolume: VolumeVariantComponent<"image"> = ({ variant: { reference, pullPolicy } }) => (
+ <>
+ {reference}
+
+ {pullPolicy}
+
+ >
+);
diff --git a/packages/kube-object/src/specifics/pod.ts b/packages/kube-object/src/specifics/pod.ts
index 2bcab19b6d..4fdd6afd2e 100644
--- a/packages/kube-object/src/specifics/pod.ts
+++ b/packages/kube-object/src/specifics/pod.ts
@@ -482,6 +482,11 @@ export interface VsphereVolumeSource {
storagePolicyID?: string;
}
+export interface ImageVolumeSource {
+ reference?: string;
+ pullPolicy?: "Always" | "Never" | "IfNotPresent";
+}
+
export interface ContainerStorageInterfaceSource {
driver: string;
/**
@@ -517,6 +522,7 @@ export interface PodVolumeVariants {
gitRepo: GitRepoSource;
glusterfs: GlusterFsSource;
hostPath: HostPathSource;
+ image: ImageVolumeSource;
iscsi: IScsiSource;
local: LocalSource;
nfs: NetworkFsSource;