diff --git a/locales/en/messages.po b/locales/en/messages.po index c66819dd24..09e1dafdce 100644 --- a/locales/en/messages.po +++ b/locales/en/messages.po @@ -2598,6 +2598,10 @@ msgstr "Status" #~ msgid "Status URI" #~ msgstr "Status URI" +#: src/renderer/components/+workloads-pods/pod-details-container.tsx:140 +msgid "Startup" +msgstr "Startup" + #: src/renderer/components/+storage-volume-claims/volume-claim-details.tsx:56 #: src/renderer/components/layout/sidebar.tsx:85 msgid "Storage" diff --git a/locales/fi/messages.po b/locales/fi/messages.po index c5192a7eb9..eccac0ce3e 100644 --- a/locales/fi/messages.po +++ b/locales/fi/messages.po @@ -2581,6 +2581,10 @@ msgstr "" #~ msgid "Status URI" #~ msgstr "" +#: src/renderer/components/+workloads-pods/pod-details-container.tsx:140 +msgid "Startup" +msgstr "" + #: src/renderer/components/+storage-volume-claims/volume-claim-details.tsx:56 #: src/renderer/components/layout/sidebar.tsx:85 msgid "Storage" diff --git a/locales/ru/messages.po b/locales/ru/messages.po index de4ee7c7fb..66f7d82bd8 100644 --- a/locales/ru/messages.po +++ b/locales/ru/messages.po @@ -2599,6 +2599,10 @@ msgstr "Статус" #~ msgid "Status URI" #~ msgstr "Адрес статуса" +#: src/renderer/components/+workloads-pods/pod-details-container.tsx:140 +msgid "Startup" +msgstr "Cтарт" + #: src/renderer/components/+storage-volume-claims/volume-claim-details.tsx:56 #: src/renderer/components/layout/sidebar.tsx:85 msgid "Storage" diff --git a/src/renderer/api/endpoints/deployment.api.ts b/src/renderer/api/endpoints/deployment.api.ts index 0279d63ed1..d261a8310b 100644 --- a/src/renderer/api/endpoints/deployment.api.ts +++ b/src/renderer/api/endpoints/deployment.api.ts @@ -46,6 +46,26 @@ export class DeploymentApi extends KubeApi { } } +interface IContainerProbe { + httpGet?: { + path?: string; + port: number; + scheme: string; + host?: string; + }; + exec?: { + command: string[]; + }; + tcpSocket?: { + port: number; + }; + initialDelaySeconds?: number; + timeoutSeconds?: number; + periodSeconds?: number; + successThreshold?: number; + failureThreshold?: number; +} + @autobind() export class Deployment extends WorkloadKubeObject { static kind = "Deployment"; @@ -89,30 +109,9 @@ export class Deployment extends WorkloadKubeObject { name: string; mountPath: string; }[]; - livenessProbe?: { - httpGet: { - path: string; - port: number; - scheme: string; - }; - initialDelaySeconds: number; - timeoutSeconds: number; - periodSeconds: number; - successThreshold: number; - failureThreshold: number; - }; - readinessProbe?: { - httpGet: { - path: string; - port: number; - scheme: string; - }; - initialDelaySeconds: number; - timeoutSeconds: number; - periodSeconds: number; - successThreshold: number; - failureThreshold: number; - }; + livenessProbe?: IContainerProbe; + readinessProbe?: IContainerProbe; + startupProbe?: IContainerProbe; terminationMessagePath: string; terminationMessagePolicy: string; imagePullPolicy: string; diff --git a/src/renderer/api/endpoints/pods.api.ts b/src/renderer/api/endpoints/pods.api.ts index a5c833b5fa..48d1d64ce6 100644 --- a/src/renderer/api/endpoints/pods.api.ts +++ b/src/renderer/api/endpoints/pods.api.ts @@ -111,6 +111,7 @@ export interface IPodContainer { }[]; livenessProbe?: IContainerProbe; readinessProbe?: IContainerProbe; + startupProbe?: IContainerProbe; imagePullPolicy: string; } @@ -384,6 +385,10 @@ export class Pod extends WorkloadKubeObject { return this.getProbe(container.readinessProbe); } + getStartupProbe(container: IPodContainer) { + return this.getProbe(container.startupProbe); + } + getProbe(probeData: IContainerProbe) { if (!probeData) return []; const { diff --git a/src/renderer/components/+workloads-pods/pod-details-container.tsx b/src/renderer/components/+workloads-pods/pod-details-container.tsx index 52ed7571bd..c4dbe8e7db 100644 --- a/src/renderer/components/+workloads-pods/pod-details-container.tsx +++ b/src/renderer/components/+workloads-pods/pod-details-container.tsx @@ -55,6 +55,7 @@ export class PodDetailsContainer extends React.Component { const ready = status ? status.ready : ""; const liveness = pod.getLivenessProbe(container); const readiness = pod.getReadinessProbe(container); + const startup = pod.getStartupProbe(container); const isInitContainer = !!pod.getInitContainers().find(c => c.name == name); const metricTabs = [ CPU, @@ -135,6 +136,15 @@ export class PodDetailsContainer extends React.Component { } } + {startup.length > 0 && + Startup} labelsOnly> + { + startup.map((value, index) => ( + + )) + } + + } {command && Command}> {command.join(' ')}