diff --git a/classes/Deployment.ts b/classes/Deployment.ts index c1b1cf8..aa3393a 100644 --- a/classes/Deployment.ts +++ b/classes/Deployment.ts @@ -1,9 +1,12 @@ import type { Metadata } from "./Metadata"; +import type { HasMetadata } from "./repo/ResourceRepo"; -export class Deployment +export class Deployment implements HasMetadata { - metadata?: Metadata; - spec?: DeploymentSpec; + constructor ( + public metadata: Metadata, + public spec: DeploymentSpec + ) {} } export class DeploymentSpec diff --git a/classes/Namespace.ts b/classes/Namespace.ts index a04b5dd..56ac7b2 100644 --- a/classes/Namespace.ts +++ b/classes/Namespace.ts @@ -1,6 +1,7 @@ import type { Metadata } from "./Metadata"; +import type { HasMetadata } from "./repo/ResourceRepo"; -export class Namespace +export class Namespace implements HasMetadata { constructor ( public metadata: Metadata diff --git a/classes/PersistentVolume.ts b/classes/PersistentVolume.ts new file mode 100644 index 0000000..bdeab1c --- /dev/null +++ b/classes/PersistentVolume.ts @@ -0,0 +1,9 @@ +import type { Metadata } from "./Metadata"; +import type { HasMetadata } from "./repo/ResourceRepo"; + +export class PersistentVolume implements HasMetadata +{ + constructor ( + public metadata: Metadata + ) {} +} \ No newline at end of file diff --git a/classes/PersistentVolumeClaim.ts b/classes/PersistentVolumeClaim.ts new file mode 100644 index 0000000..4700558 --- /dev/null +++ b/classes/PersistentVolumeClaim.ts @@ -0,0 +1,18 @@ +import type { Metadata } from "./Metadata"; +import type { HasMetadata } from "./repo/ResourceRepo"; + +export class PersistentVolumeClaim implements HasMetadata +{ + constructor ( + public metadata: Metadata, + public spec: PersistentVolumeClaimSpec + ) {} +} + +export class PersistentVolumeClaimSpec +{ + constructor ( + public accessModes: string[], + public storageClassName: string + ) {} +} \ No newline at end of file diff --git a/classes/ResourceTypes.ts b/classes/ResourceTypes.ts new file mode 100644 index 0000000..19303cb --- /dev/null +++ b/classes/ResourceTypes.ts @@ -0,0 +1,29 @@ +export enum ResourceType { + NODE = "nodes", + NAMESPACE = "namespaces", + CUSTOM_RESOURCE_DEFINITION = "custom-resource-definitions", + STATEFUL_SET = "stateful-sets", + DEPLOYMENT = "deployments", + POD = "pods", + SERVICE = "services", + INGRESS = "ingresses", + SECRET = "secrets", + CONFIG_MAP = "config-maps", + PVC = "pvcs", + PV = "pvs" +} + +export const RESOURCE_DISPLAY_NAMES: Map = new Map([ + [ResourceType.NODE, "Node"], + [ResourceType.NAMESPACE, "Namespace"], + [ResourceType.CUSTOM_RESOURCE_DEFINITION, "CRD"], + [ResourceType.STATEFUL_SET, "Stateful Set"], + [ResourceType.DEPLOYMENT, "Deployment"], + [ResourceType.POD, "Pod"], + [ResourceType.SERVICE, "Service"], + [ResourceType.INGRESS, "Ingress"], + [ResourceType.SECRET, "Secret"], + [ResourceType.CONFIG_MAP, "Config Map"], + [ResourceType.PVC, "PVC"], + [ResourceType.PV, "PV"] +]); diff --git a/classes/StatefulSet.ts b/classes/StatefulSet.ts new file mode 100644 index 0000000..f4be30a --- /dev/null +++ b/classes/StatefulSet.ts @@ -0,0 +1,9 @@ +import type { Metadata } from "./Metadata"; +import type { HasMetadata } from "./repo/ResourceRepo"; + +export class StatefulSet implements HasMetadata +{ + constructor ( + public metadata: Metadata + ) {} +} \ No newline at end of file diff --git a/components/InspectSidebar.vue b/components/InspectSidebar.vue index 884b36d..acb3276 100644 --- a/components/InspectSidebar.vue +++ b/components/InspectSidebar.vue @@ -3,7 +3,7 @@
- account_circle -

{{ user.username }}

-
+ account_circle +

{{ user.username }}

+
@@ -22,8 +22,7 @@ import SidebarTemplate from './SidebarTemplate.vue'; import { StringUtils, useNamespaceStore } from '#imports'; - -const resources = new Map([["nodes", "Nodes"], ["ingresses", "Ingresses"], ["services", "Services"], ["deployments", "Deployments"], ["stateful-sets", "Stateful Sets"], ["pods", "Pods"], ["secrets", "Secrets"], ["config-maps", "Config Maps"], ["custom-resource-definitions", "CDRs"]]); +import { RESOURCE_DISPLAY_NAMES, ResourceType } from '~/classes/ResourceTypes'; const namespaceStore = useNamespaceStore(); @@ -56,7 +55,7 @@ const base = computed(() => { const inNamespaceScopedResource: ComputedRef = computed(() => { const resource = useRoute().params.resource as string; - if(['custom-resource-definitions', 'nodes'].includes(resource)) + if(['custom-resource-definitions', 'nodes', 'pvs', 'namespaces'].includes(resource)) { return false; } diff --git a/components/NamespaceComponent.vue b/components/NamespaceComponent.vue new file mode 100644 index 0000000..a24308f --- /dev/null +++ b/components/NamespaceComponent.vue @@ -0,0 +1,16 @@ + + + \ No newline at end of file diff --git a/components/PersistentVolumeClaimComponent.vue b/components/PersistentVolumeClaimComponent.vue new file mode 100644 index 0000000..d3e16a8 --- /dev/null +++ b/components/PersistentVolumeClaimComponent.vue @@ -0,0 +1,41 @@ + + + \ No newline at end of file diff --git a/components/PersistentVolumeComponent.vue b/components/PersistentVolumeComponent.vue new file mode 100644 index 0000000..38c7b90 --- /dev/null +++ b/components/PersistentVolumeComponent.vue @@ -0,0 +1,18 @@ + + + \ No newline at end of file diff --git a/components/deployments/StatefulSetComponent.vue b/components/deployments/StatefulSetComponent.vue new file mode 100644 index 0000000..78d4a59 --- /dev/null +++ b/components/deployments/StatefulSetComponent.vue @@ -0,0 +1,17 @@ + + + \ No newline at end of file diff --git a/components/inspect/resources/DeploymentList.vue b/components/inspect/resources/DeploymentList.vue index 0d5ff1f..f7964d3 100644 --- a/components/inspect/resources/DeploymentList.vue +++ b/components/inspect/resources/DeploymentList.vue @@ -1,5 +1,5 @@