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} + + +); 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;