diff --git a/assets/eslint.config.mjs b/assets/eslint.config.mjs index ec0b061150..137e4db171 100644 --- a/assets/eslint.config.mjs +++ b/assets/eslint.config.mjs @@ -7,9 +7,7 @@ import globals from 'globals' import tseslint from 'typescript-eslint' export default [ - { - ignores: ['src/archive/*'], - }, + { ignores: ['src/archive/*', 'src/generated/**/*'] }, ...tseslint.configs.recommendedTypeChecked, react.configs.flat.recommended, react.configs.flat['jsx-runtime'], diff --git a/assets/src/components/cd/cluster/Cluster.tsx b/assets/src/components/cd/cluster/Cluster.tsx index ce536dad8b..6573202c96 100644 --- a/assets/src/components/cd/cluster/Cluster.tsx +++ b/assets/src/components/cd/cluster/Cluster.tsx @@ -49,7 +49,12 @@ import { } from 'routes/cdRoutesConsts' import { useTheme } from 'styled-components' -import { ClusterFragment, useClusterQuery } from '../../../generated/graphql' +import { + ClusterFragment, + ClusterMinimalFragment, + MakeOptional, + useClusterQuery, +} from '../../../generated/graphql' import LoadingIndicator from '../../utils/LoadingIndicator' import { MoreMenu } from '../../utils/MoreMenu.tsx' import { @@ -110,24 +115,20 @@ export const getClusterBreadcrumbs = ({ cluster, tab, }: { - cluster: { - name?: Nullable - handle?: Nullable - id: Nullable - } + cluster?: Nullable> tab?: string }) => { const clustersPath = `${CD_ABS_PATH}/${CLUSTERS_REL_PATH}` as const - const clusterPath = `${clustersPath}/${cluster.id}` as const + const clusterPath = `${clustersPath}/${cluster?.id}` as const const tabPath = `${clusterPath}/${tab || ''}` as const return [ ...CD_BASE_CRUMBS, { label: 'clusters', url: clustersPath }, - ...(cluster.id + ...(cluster?.id ? [ { - label: cluster?.handle || cluster?.name || cluster.id, + label: cluster?.handle || cluster?.name || cluster?.id, url: clusterPath, }, ...(tab ? [{ label: tab, url: tabPath }] : []), diff --git a/assets/src/components/cd/cluster/pod/PodsList.tsx b/assets/src/components/cd/cluster/pod/PodsList.tsx index a6b0a5f9e3..77fbfde6ec 100644 --- a/assets/src/components/cd/cluster/pod/PodsList.tsx +++ b/assets/src/components/cd/cluster/pod/PodsList.tsx @@ -4,8 +4,9 @@ import { Tooltip, TrashCanIcon, } from '@pluralsh/design-system' -import { useNavigate } from 'react-router-dom' -import { Row, createColumnHelper } from '@tanstack/react-table' +import { createColumnHelper, Row } from '@tanstack/react-table' +import { filesize } from 'filesize' +import { isEmpty } from 'lodash' import { ComponentProps, createContext, @@ -14,10 +15,9 @@ import { useMemo, useState, } from 'react' -import { filesize } from 'filesize' -import { isEmpty } from 'lodash' +import { useNavigate } from 'react-router-dom' -import { Maybe, Pod, useDeletePodMutation } from 'generated/graphql' +import { Pod, PodFragment, useDeletePodMutation } from 'generated/graphql' import { ReadinessT } from 'utils/status' import { Confirm } from 'components/utils/Confirm' @@ -25,6 +25,8 @@ import { Confirm } from 'components/utils/Confirm' import { TruncateStart } from 'components/utils/table/Truncate' import { getKubernetesAbsPath } from 'routes/kubernetesRoutesConsts' +import { getPodContainersStats } from '../../../cluster/containers/getPodContainersStats.tsx' +import { ContainerStatuses } from '../../../cluster/ContainerStatuses.tsx' import { LabelWithIcon, numishSort, @@ -33,9 +35,7 @@ import { Usage, } from '../../../cluster/TableElements.tsx' import { DateTimeCol } from '../../../utils/table/DateTimeCol.tsx' -import { ContainerStatuses } from '../../../cluster/ContainerStatuses.tsx' import { getPodResources } from './getPodResources.tsx' -import { getPodContainersStats } from '../../../cluster/containers/getPodContainersStats.tsx' export const PODS_TABLE_MAX_HEIGHT = '256px' @@ -289,11 +289,8 @@ export const ColDelete = columnHelper.display({ header: '', }) -export type PodWithId = Pod & { - id?: Maybe -} type PodListProps = Omit, 'data'> & { - pods?: Maybe[] & PodWithId[] + pods?: PodFragment[] refetch: Nullable<() => void> columns: any[] linkToK8sDashboard?: boolean @@ -302,6 +299,8 @@ type PodListProps = Omit, 'data'> & { serviceId?: string | null } +export type PodWithId = PodFragment & { id: string } + function getRestarts(status: Pod['status']) { return (status.containerStatuses || []).reduce( (count, status) => count + ((status as any)?.restartCount || 0), diff --git a/assets/src/components/cd/services/component/ServiceComponent.tsx b/assets/src/components/cd/services/component/ServiceComponent.tsx index c9e8d52914..949ff9dc96 100644 --- a/assets/src/components/cd/services/component/ServiceComponent.tsx +++ b/assets/src/components/cd/services/component/ServiceComponent.tsx @@ -1,8 +1,11 @@ -import { useSetBreadcrumbs } from '@pluralsh/design-system' -import { ReactNode, useMemo } from 'react' +import { EmptyState, useSetBreadcrumbs } from '@pluralsh/design-system' +import { useMemo } from 'react' import { useParams } from 'react-router-dom' -import { useServiceDeploymentQuery } from 'generated/graphql' +import { + ServiceDeploymentComponentFragment, + useServiceDeploymentQuery, +} from 'generated/graphql' import { COMPONENT_PARAM_ID, @@ -12,15 +15,16 @@ import { getServiceComponentPath, } from 'routes/cdRoutesConsts' -import LoadingIndicator from 'components/utils/LoadingIndicator' import { ComponentDetails } from 'components/component/ComponentDetails' import { GqlError } from 'components/utils/Alert' +import LoadingIndicator from 'components/utils/LoadingIndicator' import { useDeploymentSettings } from 'components/contexts/DeploymentSettingsContext' import { getServiceComponentsBreadcrumbs } from '../service/ServiceComponents' +import { isNonNullable } from 'utils/isNonNullable' -export const getServiceComponentBreadcrumbs = ({ +const getServiceComponentBreadcrumbs = ({ service, cluster, componentName, @@ -38,42 +42,13 @@ export const getServiceComponentBreadcrumbs = ({ { label: componentName || componentId || '', url: getServiceComponentPath({ - clusterId: cluster.id, - serviceId: service.id, + clusterId: cluster?.id, + serviceId: service?.id, componentId, }), }, ] -function BreadcrumbWrapper({ - cluster, - service, - componentId, - componentName, - children, -}: { - cluster: any - service: any - componentId: string | undefined - componentName: string | undefined - children: ReactNode -}) { - useSetBreadcrumbs( - useMemo( - () => - getServiceComponentBreadcrumbs({ - cluster, - service, - componentId, - componentName, - }), - [cluster, service, componentId, componentName] - ) - ) - - return <>{children} -} - export default function ServiceComponent() { const params = useParams() const componentId = params[COMPONENT_PARAM_ID] @@ -81,42 +56,46 @@ export default function ServiceComponent() { const serviceId = params[SERVICE_PARAM_ID]! const settings = useDeploymentSettings() - const { data, error } = useServiceDeploymentQuery({ + const { data, loading, error } = useServiceDeploymentQuery({ variables: { id: serviceId || '' }, }) const serviceDeployment = data?.serviceDeployment - const components = data?.serviceDeployment?.components - - const component = components?.find( - (component) => component?.id === componentId + const components = useMemo( + () => serviceDeployment?.components?.filter(isNonNullable) ?? [], + [serviceDeployment?.components] ) + + const component: Nullable = + data?.serviceDeployment?.components?.find( + (component) => component?.id === componentId + ) const componentName = component?.name - const breadcrumbProps = { - cluster: serviceDeployment?.cluster || { id: serviceId }, - service: serviceDeployment || { id: clusterId }, - componentId, - componentName, - } + useSetBreadcrumbs( + useMemo( + () => + getServiceComponentBreadcrumbs({ + cluster: serviceDeployment?.cluster || { id: serviceId }, + service: serviceDeployment || { id: clusterId }, + componentId, + componentName, + }), + [serviceDeployment, serviceId, clusterId, componentId, componentName] + ) + ) - if (error) { - return - } - if (!component) { - return - } + if (error) return + if (!data && loading) return + if (!component) return return ( - - - + ) } diff --git a/assets/src/components/cd/services/service/ServiceComponents.tsx b/assets/src/components/cd/services/service/ServiceComponents.tsx index 36be050320..d72ecb8507 100644 --- a/assets/src/components/cd/services/service/ServiceComponents.tsx +++ b/assets/src/components/cd/services/service/ServiceComponents.tsx @@ -11,6 +11,7 @@ import { import { type Key } from '@react-types/shared' import { ComponentState, + ServiceDeploymentComponentFragment, useServiceDeploymentComponentsQuery, } from 'generated/graphql' import { useMemo, useState } from 'react' @@ -43,6 +44,7 @@ import { getServiceDetailsBreadcrumbs, useServiceContext, } from './ServiceDetails' +import { GqlError } from 'components/utils/Alert.tsx' export const getServiceComponentsBreadcrumbs = ({ service, @@ -52,8 +54,8 @@ export const getServiceComponentsBreadcrumbs = ({ { label: 'components', url: `${getServiceDetailsPath({ - clusterId: cluster.id, - serviceId: service.id, + clusterId: cluster?.id, + serviceId: service?.id, })}/components`, }, ] @@ -73,8 +75,8 @@ export default function ServiceComponents() { const breadcrumbs: Breadcrumb[] = useMemo( () => getServiceComponentsBreadcrumbs({ - cluster: outletContext?.service?.cluster as any, - service: outletContext?.service as any, + cluster: outletContext?.service?.cluster, + service: outletContext?.service, }), [outletContext.service] ) @@ -88,17 +90,13 @@ export default function ServiceComponents() { () => countDeprecations(data?.serviceDeployment?.components), [data?.serviceDeployment?.components] ) - const components = useMemo( - () => data?.serviceDeployment?.components?.filter(isNonNullable) || [], + const components: ServiceDeploymentComponentFragment[] = useMemo( + () => data?.serviceDeployment?.components?.filter(isNonNullable) ?? [], [data?.serviceDeployment?.components] ) - if (error) { - return null - } - if (!data) { - return - } + if (error) return + if (!data) return return ( ({ '&&': { @@ -51,26 +54,15 @@ const ComponentCardSC = styled(Card)(({ theme }) => ({ }, })) -export type Component = { - id: string - name: string - group?: Nullable - kind: string - status?: Nullable - state?: Nullable - synced?: Nullable - insight?: Nullable -} - -export default function ComponentCard({ +export default function ComponentCard({ component, url, }: { - component: C + component: ServiceDeploymentComponentFragment url?: string }) { const { clusterId, serviceId } = useParams() - const { name, group, kind, status, state, synced } = component + const { name, group, kind, state, synced } = component const kindString = `${group || 'v1'}/${kind.toLowerCase()}` const componentState = state === null && synced ? ComponentState.Running : state @@ -115,17 +107,10 @@ export default function ComponentCard({ })}/insights`} insight={component.insight} /> - {state || state === null ? ( - - ) : ( - - )} + ) } diff --git a/assets/src/components/cd/services/service/component/ComponentList.tsx b/assets/src/components/cd/services/service/component/ComponentList.tsx index f7236ad8e1..f1b4097c30 100644 --- a/assets/src/components/cd/services/service/component/ComponentList.tsx +++ b/assets/src/components/cd/services/service/component/ComponentList.tsx @@ -1,43 +1,47 @@ import { EmptyState } from '@pluralsh/design-system' +import Fuse from 'fuse.js' import { useMemo } from 'react' import { useTheme } from 'styled-components' -import Fuse from 'fuse.js' -import { ComponentState } from 'generated/graphql' -import ComponentCard, { type Component } from './ComponentCard' +import { + ComponentState, + ServiceDeploymentComponentFragment, +} from 'generated/graphql' +import { isEmpty } from 'lodash' +import ComponentCard from './ComponentCard' import { compareComponents } from './Components.tsx' -const searchOptions: Fuse.IFuseOptions = { +const searchOptions: Fuse.IFuseOptions = { keys: ['name', 'kind', 'group'], threshold: 0.25, ignoreLocation: true, } -export function ComponentList({ +export function ComponentList({ components, selectedKinds, selectedState, setUrl, searchQuery, }: { - components: C[] | null | undefined - selectedKinds: any + components: ServiceDeploymentComponentFragment[] + selectedKinds: Set selectedState?: ComponentState | null - setUrl: (component: C) => string | undefined + setUrl: (component: ServiceDeploymentComponentFragment) => string | undefined searchQuery?: string }) { const theme = useTheme() const filteredComponents = useMemo(() => { const filtered = components - ?.filter((comp) => selectedKinds.has(comp?.kind)) + .filter((comp) => selectedKinds.has(comp.kind)) .filter( (comp) => !selectedState || - (!comp?.state && selectedState === ComponentState.Running) || - selectedState === comp?.state + (!comp.state && selectedState === ComponentState.Running) || + selectedState === comp.state ) - if (!filtered?.length) return [] + if (!filtered.length) return [] if (!searchQuery) return filtered.sort(compareComponents) @@ -48,7 +52,7 @@ export function ComponentList({ .sort(compareComponents) }, [components, selectedKinds, selectedState, searchQuery]) - return (filteredComponents || []).length === 0 ? ( + return isEmpty(filteredComponents) ? ( ) : (
['severity']> -const statusToDisplay = { - [Readiness.Ready]: 'Ready', - [Readiness.Running]: 'Ready', - [Readiness.InProgress]: 'In progress', - [Readiness.Failed]: 'Failed', - [Readiness.Complete]: 'Complete', - [Readiness.Completed]: 'Complete', -} as const satisfies Record - export const stateToDisplay = { [ComponentState.Running]: 'Running', [ComponentState.Pending]: 'In progress', @@ -50,36 +41,13 @@ const stateToSeverity = { ComponentProps['severity'] > -export function ComponentStatusChip({ - status, - className, -}: { - className?: string - status?: string | null -}) { - if (!status) { - status = Readiness.InProgress - } - - return ( -
- - {statusToDisplay[status]} - -
- ) -} - export function ComponentStateChip({ state, className, ...props }: { className?: string - state?: ComponentState | null | undefined + state?: Nullable } & ChipProps) { if (!state) { return null diff --git a/assets/src/components/component/ComponentDetails.tsx b/assets/src/components/component/ComponentDetails.tsx index 8211712f55..38603830bb 100644 --- a/assets/src/components/component/ComponentDetails.tsx +++ b/assets/src/components/component/ComponentDetails.tsx @@ -1,75 +1,38 @@ import { Button, SubTab, TabList, TabPanel } from '@pluralsh/design-system' -import { - ReactNode, - useContext, - useEffect, - useMemo, - useRef, - useState, -} from 'react' -import { Link, Outlet, useMatch, useNavigate } from 'react-router-dom' -import { useQuery } from '@apollo/client' -import { POLL_INTERVAL } from 'components/cluster/constants' -import { LoginContext } from 'components/contexts' +import { ViewLogsButton } from 'components/component/ViewLogsButton' +import { useLogin } from 'components/contexts' import { ResponsivePageFullWidth } from 'components/utils/layout/ResponsivePageFullWidth' -import { LinkTabWrap } from 'components/utils/Tabs' import LoadingIndicator from 'components/utils/LoadingIndicator' -import { ViewLogsButton } from 'components/component/ViewLogsButton' +import { LinkTabWrap } from 'components/utils/Tabs' +import { ReactNode, useEffect, useMemo, useRef, useState } from 'react' +import { Link, Outlet, useMatch, useNavigate } from 'react-router-dom' +import { GqlError } from 'components/utils/Alert' import { - ArgoRolloutDocument, - CanaryDocument, - CertificateDocument, ClusterMinimalFragment, - CronJobDocument, - DaemonSetDocument, - DeploymentDocument, - IngressDocument, - JobDocument, - PluralServiceDeploymentDocument, - PluralServiceDeploymentFragment, ServiceDeploymentComponentFragment, ServiceDeploymentDetailsFragment, - ServiceDocument, - StatefulSetDocument, - UnstructuredResourceDocument, } from 'generated/graphql' -import { GqlError } from 'components/utils/Alert' -import { useTheme } from 'styled-components' import { isEmpty } from 'lodash' import { getServiceDetailsPath } from 'routes/cdRoutesConsts' +import { useTheme } from 'styled-components' -import { isUnstructured } from './ComponentInfo' +import { useExplainWithAI } from 'components/ai/AIContext.tsx' import { PageHeaderContext } from '../cd/ContinuousDeployment.tsx' import { getDirectory } from './directory.tsx' -import { useExplainWithAI } from 'components/ai/AIContext.tsx' - -export const kindToQuery = { - certificate: CertificateDocument, - cronjob: CronJobDocument, - deployment: DeploymentDocument, - ingress: IngressDocument, - job: JobDocument, - service: ServiceDocument, - statefulset: StatefulSetDocument, - daemonset: DaemonSetDocument, - canary: CanaryDocument, - servicedeployment: PluralServiceDeploymentDocument, - rollout: ArgoRolloutDocument, -} as const +import { + ComponentDetailsT, + isUnstructured, + useFetchComponentDetails, +} from './useFetchComponentDetails.tsx' export type ComponentDetailsContext = { component: ServiceDeploymentComponentFragment refetch: () => void - data: any + componentDetails: Nullable loading: boolean - clusterName?: string cluster?: Nullable serviceId?: string - serviceComponents?: - | (ServiceDeploymentComponentFragment | null | undefined)[] - | null - | undefined } export function ComponentDetails({ @@ -78,46 +41,28 @@ export function ComponentDetails({ service, serviceComponents, hasPrometheus, - cdView = false, }: { component: ServiceDeploymentComponentFragment pathMatchString: string - cdView?: boolean - service?: ServiceDeploymentDetailsFragment | null - serviceComponents?: ComponentDetailsContext['serviceComponents'] + service?: Nullable + serviceComponents: ServiceDeploymentComponentFragment[] hasPrometheus?: boolean }) { const theme = useTheme() const navigate = useNavigate() const tabStateRef = useRef(null) - const { me } = useContext(LoginContext) + const { me } = useLogin() const componentKind = component.kind?.toLowerCase() || '' const componentName = component.name?.toLowerCase() || '' - const query = kindToQuery[componentKind ?? ''] || UnstructuredResourceDocument - - const vars = { - name: component.name, - namespace: component.namespace, - ...(service?.id ? { serviceId: service?.id } : {}), - ...(query === UnstructuredResourceDocument - ? { - kind: component.kind, - version: component.version, - group: component.group, - } - : {}), - } - - const { data, loading, refetch, error } = useQuery(query, { - variables: vars, - pollInterval: POLL_INTERVAL, - fetchPolicy: 'cache-and-network', + const { data, loading, refetch, error } = useFetchComponentDetails({ + component, + service, }) // To avoid mapping between component types and fields of data returned by API // we are picking first available value from API object for now. - const value: any = useMemo( + const value: Nullable = useMemo( () => data ? Object.values(data).find((value) => value !== undefined) : null, [data] @@ -133,19 +78,17 @@ export function ComponentDetails({ const outletContext: ComponentDetailsContext = useMemo( () => ({ component, - data, + componentDetails: value, loading, refetch, - clusterId: service?.cluster?.id, cluster: service?.cluster, serviceId: service?.id, serviceComponents, }), - [component, data, loading, refetch, serviceComponents, service] + [component, value, loading, refetch, service, serviceComponents] ) - const pluralServiceDeploymentRef = ( - data?.pluralServiceDeployment as Nullable - )?.reference + const pluralServiceDeploymentRef = + value?.__typename === 'PluralServiceDeployment' ? value.reference : null const hasNotFoundError = useMemo( () => !data && error && error?.message?.includes('not found'), @@ -157,7 +100,7 @@ export function ComponentDetails({ (!onlyFor || (componentKind && onlyFor.includes(componentKind))) && (!prometheus || !service?.cluster?.id || hasPrometheus) && (!onlyIfNoError || !hasNotFoundError) && - (!onlyIfDryRun || (cdView && service?.dryRun)) && + (!onlyIfDryRun || service?.dryRun) && !(path === 'info' && isUnstructured(componentKind)) && !(path === 'insights' && !component?.insight) ) @@ -168,7 +111,7 @@ export function ComponentDetails({ const pageHeaderContext = useMemo(() => ({ setHeaderContent }), []) useEffect(() => { - if (!cdView || currentTab) return + if (currentTab) return if (isEmpty(filteredDirectory)) { navigate(`/cd/clusters/${service?.cluster?.id}/services/${service?.id}`) @@ -178,7 +121,7 @@ export function ComponentDetails({ { replace: true } ) } - }, [navigate, currentTab, filteredDirectory, service, component, cdView]) + }, [navigate, currentTab, filteredDirectory, service, component]) if (!me || (!data && loading)) return diff --git a/assets/src/components/component/ComponentDryRun.tsx b/assets/src/components/component/ComponentDryRun.tsx index a916dc857c..bef3787a93 100644 --- a/assets/src/components/component/ComponentDryRun.tsx +++ b/assets/src/components/component/ComponentDryRun.tsx @@ -3,9 +3,10 @@ import { useMemo } from 'react' import { isEmpty } from 'lodash' import DiffViewer from '../utils/DiffViewer' +import { ComponentDetailsContext } from './ComponentDetails' export default function ComponentDryRun() { - const { component } = useOutletContext() + const { component } = useOutletContext() const [live, desired] = useMemo( () => [component?.content?.live ?? '', component?.content?.desired ?? ''], diff --git a/assets/src/components/component/ComponentEvents.tsx b/assets/src/components/component/ComponentEvents.tsx index e2e31f25a1..c6d56e79cb 100644 --- a/assets/src/components/component/ComponentEvents.tsx +++ b/assets/src/components/component/ComponentEvents.tsx @@ -1,18 +1,12 @@ import { useOutletContext } from 'react-router-dom' -import { Event as EventT } from 'generated/graphql' import EventsTable from '../utils/EventsTable' +import { ComponentDetailsContext } from './ComponentDetails' export default function ComponentEvents() { - const outletContext = useOutletContext() ?? {} - const data = 'data' in outletContext ? (outletContext.data ?? {}) : {} + const { componentDetails } = useOutletContext() - // To avoid mapping between component types and fields of data returned by API - // we are picking first available value from API object for now. - const value = data - ? Object.values(data).find((value) => value !== undefined) - : null - const events: EventT[] = value?.events || [] + const events = componentDetails?.events || [] return ( = { certificate: , cronjob: , deployment: , @@ -50,26 +57,13 @@ function getInfo(kind: string): JSX.Element | undefined { return componentInfoMap[kind] } -export function isUnstructured(kind: string): boolean { - return componentInfoMap[kind.toLowerCase()] === undefined -} - export default function ComponentInfo() { const theme = useTheme() const { - data, + componentDetails, component: { kind }, } = useOutletContext() const componentKind = kind.toLowerCase() - - // To avoid mapping between component types and fields of data returned by API - // we are picking first available value from API object for now. - const value: any = useMemo( - () => - data ? Object.values(data).find((value) => value !== undefined) : null, - [data] - ) - const info = useMemo(() => getInfo(componentKind), [componentKind]) return ( @@ -81,8 +75,12 @@ export default function ComponentInfo() { paddingBottom: theme.spacing.xxlarge, }} > - {hasPods(componentKind) && } - {info && value && {info}} + {hasPods(componentKind) && ( + + )} + {info && componentDetails && {info}} ) } diff --git a/assets/src/components/component/ComponentMetadata.tsx b/assets/src/components/component/ComponentMetadata.tsx index 052bf7be35..9ef133712b 100644 --- a/assets/src/components/component/ComponentMetadata.tsx +++ b/assets/src/components/component/ComponentMetadata.tsx @@ -1,28 +1,18 @@ -import { useOutletContext } from 'react-router-dom' -import { useMemo } from 'react' import { LabelsAnnotations } from 'components/cluster/LabelsAnnotations' import { MetadataGrid, MetadataItem } from 'components/utils/Metadata' +import { useOutletContext } from 'react-router-dom' +import { ComponentDetailsContext } from './ComponentDetails' import { InfoSection } from './info/common' -import { ComponentStatusChip } from '../cd/services/service/component/misc.tsx' export default function MetadataOutlet() { - const { component, data } = useOutletContext() - - // To avoid mapping between component types and fields of data returned by API - // we are picking first available value from API object for now. - const value: any = useMemo( - () => - data ? Object.values(data).find((value) => value !== undefined) : null, - [data] - ) - - const metadata: Record | null | undefined = value?.metadata + const { component, componentDetails } = + useOutletContext() return ( ) } @@ -57,11 +47,6 @@ export function MetadataBase({ )} - {component?.status && typeof component?.status === 'string' && ( - - - - )} {metadata && } diff --git a/assets/src/components/component/ComponentRaw.tsx b/assets/src/components/component/ComponentRaw.tsx index 5428f417d4..1ad8d81c7b 100644 --- a/assets/src/components/component/ComponentRaw.tsx +++ b/assets/src/components/component/ComponentRaw.tsx @@ -4,18 +4,12 @@ import { useOutletContext } from 'react-router-dom' import { stringify } from 'yaml' import isEmpty from 'lodash/isEmpty' +import { ComponentDetailsContext } from './ComponentDetails' export default function ComponentRaw() { - const { data } = useOutletContext() - const raw = useMemo(() => { - const v: any = data - ? Object.values(data).find((value) => value !== undefined) - : null + const { componentDetails } = useOutletContext() - return v?.raw - }, [data]) - - return + return } export function RawYaml({ raw }: { raw?: object | string | null | undefined }) { diff --git a/assets/src/components/component/ViewLogsButton.tsx b/assets/src/components/component/ViewLogsButton.tsx index 10be7cfb11..8489b8b06e 100644 --- a/assets/src/components/component/ViewLogsButton.tsx +++ b/assets/src/components/component/ViewLogsButton.tsx @@ -3,9 +3,10 @@ import { asQuery } from 'components/utils/query' import { Button, LogsIcon } from '@pluralsh/design-system' import { componentsWithLogs } from './ComponentInfo' +import { StructuredComponentKind } from './useFetchComponentDetails' function hasLogs(kind: string): boolean { - return componentsWithLogs.includes(kind) + return componentsWithLogs.includes(kind as StructuredComponentKind) } function getLogUrl({ name, namespace, labels }) { diff --git a/assets/src/components/component/info/Canary.tsx b/assets/src/components/component/info/Canary.tsx index c611bdd25b..87b8311f0b 100644 --- a/assets/src/components/component/info/Canary.tsx +++ b/assets/src/components/component/info/Canary.tsx @@ -1,19 +1,20 @@ +import { Chip, Modal, Table } from '@pluralsh/design-system' +import { createColumnHelper } from '@tanstack/react-table' import { useMemo, useState } from 'react' import { useOutletContext } from 'react-router-dom' import { useTheme } from 'styled-components' -import { createColumnHelper } from '@tanstack/react-table' -import { Chip, Modal, Table } from '@pluralsh/design-system' -import { Canary, Deployment, Ingress } from 'generated/graphql' +import { CanaryFragment, Deployment, Ingress } from 'generated/graphql' import { InlineLink } from 'components/utils/typography/InlineLink' import { MetadataBase } from '../ComponentMetadata' +import { ComponentDetailsContext } from '../ComponentDetails' import { InfoSection, PaddedCard, PropGroup, PropWideBold } from './common' import { ConditionsTable } from './Conditions' -import { IngressBase } from './Ingress' import { DeploymentBase } from './Deployment' +import { IngressBase } from './Ingress' const deploymentHelper = createColumnHelper() const ingressHelper = createColumnHelper() @@ -167,7 +168,7 @@ const ColIngClass = ingressHelper.accessor( const ingressColumns = [ColIngName, ColIngStatus, ColIngClass] -function CanaryDeployments({ canary }: { canary: Canary }) { +function CanaryDeployments({ canary }: { canary: CanaryFragment }) { return ( [canary.ingress, canary.ingressCanary].filter((v) => !!v), [canary.ingress, canary.ingressCanary] @@ -204,10 +205,10 @@ function CanaryIngresses({ canary }: { canary: Canary }) { export default function CanaryInfo() { const theme = useTheme() - const { data } = useOutletContext() - const canary = data?.canary as Nullable + const { componentDetails: canary } = + useOutletContext() - if (!canary) return null + if (canary?.__typename !== 'Canary') return null const { status } = canary diff --git a/assets/src/components/component/info/Certificate.tsx b/assets/src/components/component/info/Certificate.tsx index 3db8002983..fd29048ead 100644 --- a/assets/src/components/component/info/Certificate.tsx +++ b/assets/src/components/component/info/Certificate.tsx @@ -1,13 +1,15 @@ import { useOutletContext } from 'react-router-dom' import { InfoSection, PaddedCard, PropWideBold } from './common' +import { ComponentDetailsContext } from '../ComponentDetails' +import dayjs from 'dayjs' export default function Certificate() { - const { data } = useOutletContext() + const { componentDetails: certificate } = + useOutletContext() - if (!data?.certificate) return null + if (certificate?.__typename !== 'Certificate') return null - const { certificate } = data const issuer = certificate.spec?.issuerRef return ( @@ -15,13 +17,15 @@ export default function Certificate() { - {certificate.status?.renewalTime || '-'} + {dayjs(certificate.status?.renewalTime).format( + 'MM/DD/YYYY, h:mm A' + )} - {certificate.status?.notBefore || '-'} + {dayjs(certificate.status?.notBefore).format('MM/DD/YYYY, h:mm A')} - {certificate.status?.notAfter || '-'} + {dayjs(certificate.status?.notAfter).format('MM/DD/YYYY, h:mm A')} diff --git a/assets/src/components/component/info/CronJob.tsx b/assets/src/components/component/info/CronJob.tsx index 3f9d64eb78..cc14002572 100644 --- a/assets/src/components/component/info/CronJob.tsx +++ b/assets/src/components/component/info/CronJob.tsx @@ -8,10 +8,10 @@ import { useTheme } from 'styled-components' import { ComponentDetailsContext } from '../ComponentDetails' import { Kind } from 'components/kubernetes/common/types' +import { CronJobJobFragment } from 'generated/graphql' import { getResourceDetailsAbsPath } from 'routes/kubernetesRoutesConsts' import { DeleteJob } from './Job' import { InfoSection, PaddedCard, PropWideBold } from './common' -import { CronJobJobFragment, CronJobQuery } from 'generated/graphql' const columnHelper = createColumnHelper() @@ -115,13 +115,14 @@ function CronJobJobs({ } export default function CronJob() { - const { data, refetch, component } = - useOutletContext() + const { + componentDetails: cronJob, + refetch, + component, + } = useOutletContext() const namespace = component.namespace?.toLowerCase() - if (!data?.cronJob) return null - - const { cronJob } = data as CronJobQuery + if (cronJob?.__typename !== 'CronJob') return null return ( <> diff --git a/assets/src/components/component/info/Daemonset.tsx b/assets/src/components/component/info/Daemonset.tsx index e146ad46df..b72fac395b 100644 --- a/assets/src/components/component/info/Daemonset.tsx +++ b/assets/src/components/component/info/Daemonset.tsx @@ -3,19 +3,19 @@ import { useTheme } from 'styled-components' import { StatusChart } from './Deployment' import { InfoSection, PaddedCard, PropGroup, PropWideBold } from './common' +import { ComponentDetailsContext } from '../ComponentDetails' export default function DaemonSet() { const theme = useTheme() - const { data } = useOutletContext() + const { componentDetails: daemonSet } = + useOutletContext() - if (!data?.daemonSet) return null + if (daemonSet?.__typename !== 'DaemonSet') return null - const { - daemonSet: { - spec, - status: { desiredNumberScheduled, numberReady, currentNumberScheduled }, - }, - } = data + const { spec, status } = daemonSet + const desiredNumberScheduled = status?.desiredNumberScheduled ?? NaN + const numberReady = status?.numberReady ?? NaN + const currentNumberScheduled = status?.currentNumberScheduled ?? NaN return ( <> diff --git a/assets/src/components/component/info/Deployment.tsx b/assets/src/components/component/info/Deployment.tsx index f1ee63a422..ba598e9f24 100644 --- a/assets/src/components/component/info/Deployment.tsx +++ b/assets/src/components/component/info/Deployment.tsx @@ -7,6 +7,7 @@ import { DeploymentFragment } from 'generated/graphql' import { InfoSection, PaddedCard, PropGroup, PropWideBold } from './common' import { ConditionsTable } from './Conditions' +import { ComponentDetailsContext } from '../ComponentDetails' export function StatusChart({ green, @@ -63,9 +64,13 @@ export function StatusChart({ } export default function DeploymentOutlet() { - const { data } = useOutletContext() + const { componentDetails } = useOutletContext() - return + return ( + componentDetails?.__typename === 'Deployment' && ( + + ) + ) } export function DeploymentBase({ diff --git a/assets/src/components/component/info/Ingress.tsx b/assets/src/components/component/info/Ingress.tsx index 558e0e4e44..3ff6b7cce7 100644 --- a/assets/src/components/component/info/Ingress.tsx +++ b/assets/src/components/component/info/Ingress.tsx @@ -16,6 +16,7 @@ import { PaddedCard, PropWideBold, } from './common' +import { ComponentDetailsContext } from '../ComponentDetails' const COLUMN_HELPER = createColumnHelper() @@ -74,11 +75,11 @@ function Routes({ rules }) { } export default function IngressOutlet() { - const { data } = useOutletContext() + const { componentDetails } = useOutletContext() - const ingress = data?.ingress as Nullable - - return ingress ? : null + return componentDetails?.__typename === 'Ingress' ? ( + + ) : null } export function IngressBase({ ingress }: { ingress: IngressFragment }) { diff --git a/assets/src/components/component/info/Job.tsx b/assets/src/components/component/info/Job.tsx index c819007f60..2f08eb9b3a 100644 --- a/assets/src/components/component/info/Job.tsx +++ b/assets/src/components/component/info/Job.tsx @@ -5,6 +5,7 @@ import { useOutletContext } from 'react-router-dom' import { InfoSection, PaddedCard, PropWideBold } from './common' import { useDeleteJobMutation } from '../../../generated/graphql.ts' +import { ComponentDetailsContext } from '../ComponentDetails.tsx' export function DeleteJob({ name, namespace, refetch }) { const [confirm, setConfirm] = useState(false) @@ -40,11 +41,9 @@ export function DeleteJob({ name, namespace, refetch }) { } export default function Job() { - const { data } = useOutletContext() + const { componentDetails: job } = useOutletContext() - if (!data?.job) return null - - const { job } = data + if (job?.__typename !== 'Job') return null return ( <> diff --git a/assets/src/components/component/info/PluralServiceDeployment.tsx b/assets/src/components/component/info/PluralServiceDeployment.tsx index 576d00e912..d4914c8c31 100644 --- a/assets/src/components/component/info/PluralServiceDeployment.tsx +++ b/assets/src/components/component/info/PluralServiceDeployment.tsx @@ -1,11 +1,11 @@ import { useOutletContext } from 'react-router-dom' import { useTheme } from 'styled-components' -import { PluralServiceDeploymentFragment } from 'generated/graphql' import { useMemo } from 'react' import { RawYaml } from '../ComponentRaw' +import { ComponentDetailsContext } from '../ComponentDetails' import { InfoSection } from './common' import { ConditionsTable } from './Conditions' @@ -23,17 +23,16 @@ function getSpecRaw(componentRaw: Nullable) { export default function PluralServiceDeployment() { const theme = useTheme() - const { data } = useOutletContext() - - const serviceDeployment = - data?.pluralServiceDeployment as Nullable + const { componentDetails: serviceDeployment } = + useOutletContext() const specRaw = useMemo( - () => getSpecRaw(serviceDeployment?.raw), - [serviceDeployment?.raw] + () => + serviceDeployment?.__typename === 'PluralServiceDeployment' && + getSpecRaw(serviceDeployment?.raw), + [serviceDeployment] ) - - if (!serviceDeployment) return null + if (serviceDeployment?.__typename !== 'PluralServiceDeployment') return null const status = serviceDeployment?.status return ( diff --git a/assets/src/components/component/info/Pods.tsx b/assets/src/components/component/info/Pods.tsx index 4189073c7d..c39b64c769 100644 --- a/assets/src/components/component/info/Pods.tsx +++ b/assets/src/components/component/info/Pods.tsx @@ -20,6 +20,8 @@ import { ColRestarts, PodsList, } from '../../cd/cluster/pod/PodsList.tsx' +import { PodFragment } from 'generated/graphql.ts' +import { isNonNullable } from 'utils/isNonNullable.ts' const columns = [ ColName, @@ -37,7 +39,7 @@ const columns = [ ColDelete, ] -export default function Pods({ pods }) { +export default function Pods({ pods }: { pods: Nullable[] }) { const clusterId = useParams()[SERVICE_PARAM_CLUSTER_ID] const { refetch, component, ...rest } = useOutletContext() @@ -47,6 +49,8 @@ export default function Pods({ pods }) { component.kind.toLowerCase() === 'job' || component.kind.toLowerCase() === 'cronjob' + const filteredPods = pods.filter(isNonNullable) + return (
() + const { componentDetails: service } = + useOutletContext() - if (!data?.service) return null + if (service?.__typename !== 'Service') return null - const { service } = data const loadBalancer = service.status?.loadBalancer const hasIngress = !!loadBalancer?.ingress && !isEmpty(loadBalancer.ingress) - const ports = service.spec?.ports || [] + const ports = service.spec?.ports?.filter(isNonNullable) ?? [] const hasPorts = !isEmpty(ports) return ( @@ -21,7 +23,9 @@ export default function Service() { {hasIngress && ( - {loadBalancer.ingress[0].ip} + + {loadBalancer?.ingress?.[0]?.ip} + )} diff --git a/assets/src/components/component/info/StatefulSet.tsx b/assets/src/components/component/info/StatefulSet.tsx index d784fc9d34..ee154be545 100644 --- a/assets/src/components/component/info/StatefulSet.tsx +++ b/assets/src/components/component/info/StatefulSet.tsx @@ -1,21 +1,17 @@ import { useOutletContext } from 'react-router-dom' import { useTheme } from 'styled-components' +import { ComponentDetailsContext } from '../ComponentDetails' import { InfoSection, PaddedCard, PropGroup, PropWideBold } from './common' -import { StatusChart } from './Deployment' import { ConditionsTable } from './Conditions' -import { ComponentDetailsContext } from '../ComponentDetails' -import { StatefulSetQuery } from 'generated/graphql' +import { StatusChart } from './Deployment' export default function StatefulSet() { const theme = useTheme() - const { - data: { statefulSet }, - } = useOutletContext() as { - data: StatefulSetQuery - } + const { componentDetails: statefulSet } = + useOutletContext() - if (!statefulSet) return null + if (statefulSet?.__typename !== 'StatefulSet') return null const { spec, diff --git a/assets/src/components/component/useFetchComponentDetails.tsx b/assets/src/components/component/useFetchComponentDetails.tsx new file mode 100644 index 0000000000..742f3723d1 --- /dev/null +++ b/assets/src/components/component/useFetchComponentDetails.tsx @@ -0,0 +1,179 @@ +import { WatchQueryFetchPolicy } from '@apollo/client' +import { POLL_INTERVAL } from 'components/cd/ContinuousDeployment' +import { + useCertificateQuery, + useCronJobQuery, + useDeploymentQuery, + useIngressQuery, + useJobQuery, + useServiceQuery, + useStatefulSetQuery, + useDaemonSetQuery, + useCanaryQuery, + usePluralServiceDeploymentQuery, + ServiceDeploymentComponentFragment, + ServiceDeploymentDetailsFragment, + useArgoRolloutQuery, + useUnstructuredResourceQuery, + ArgoRolloutFragment, + CanaryFragment, + CertificateFragment, + CronJobFragment, + DaemonSetFragment, + DeploymentFragment, + IngressFragment, + JobFragment, + PluralServiceDeploymentFragment, + ServiceFragment, + StatefulSetFragment, + UnstructuredResourceFragment, + PodFragment, +} from 'generated/graphql' + +export type StructuredComponentKind = + (typeof STRUCTURED_COMPONENT_KINDS)[number] + +export type ComponentDetailsT = + | CertificateFragment + | CronJobFragment + | DeploymentFragment + | IngressFragment + | JobFragment + | ServiceFragment + | StatefulSetFragment + | DaemonSetFragment + | CanaryFragment + | PluralServiceDeploymentFragment + | ArgoRolloutFragment + | UnstructuredResourceFragment + +export type ComponentDetailsWithPodsT = ComponentDetailsT & { + pods: Nullable[]> +} + +export function useFetchComponentDetails({ + component, + service, +}: { + component: ServiceDeploymentComponentFragment + service?: Nullable +}) { + const kindLower = component.kind?.toLowerCase() + + // call all hooks unconditionally, skip the ones that don't match + const certificateQuery = useCertificateQuery( + getQueryOptions({ component, service, queryKind: 'certificate' }) + ) + const cronJobQuery = useCronJobQuery( + getQueryOptions({ component, service, queryKind: 'cronjob' }) + ) + const deploymentQuery = useDeploymentQuery( + getQueryOptions({ component, service, queryKind: 'deployment' }) + ) + const ingressQuery = useIngressQuery( + getQueryOptions({ component, service, queryKind: 'ingress' }) + ) + const jobQuery = useJobQuery( + getQueryOptions({ component, service, queryKind: 'job' }) + ) + const serviceQueryResult = useServiceQuery( + getQueryOptions({ component, service, queryKind: 'service' }) + ) + const statefulSetQuery = useStatefulSetQuery( + getQueryOptions({ component, service, queryKind: 'statefulset' }) + ) + const daemonSetQuery = useDaemonSetQuery( + getQueryOptions({ component, service, queryKind: 'daemonset' }) + ) + const canaryQuery = useCanaryQuery( + getQueryOptions({ component, service, queryKind: 'canary' }) + ) + const pluralServiceDeploymentQuery = usePluralServiceDeploymentQuery( + getQueryOptions({ component, service, queryKind: 'servicedeployment' }) + ) + const rolloutQuery = useArgoRolloutQuery( + getQueryOptions({ component, service, queryKind: 'rollout' }) + ) + const unstructuredQuery = useUnstructuredResourceQuery({ + skip: !isUnstructured(kindLower), + pollInterval: POLL_INTERVAL, + fetchPolicy: 'cache-and-network', + variables: { + group: component.group, + kind: component.kind, + name: component.name, + namespace: component.namespace, + serviceId: service?.id ?? '', + version: component.version ?? '', + }, + }) + + switch (kindLower) { + case 'certificate': + return certificateQuery + case 'cronjob': + return cronJobQuery + case 'deployment': + return deploymentQuery + case 'ingress': + return ingressQuery + case 'job': + return jobQuery + case 'service': + return serviceQueryResult + case 'statefulset': + return statefulSetQuery + case 'daemonset': + return daemonSetQuery + case 'canary': + return canaryQuery + case 'servicedeployment': + return pluralServiceDeploymentQuery + case 'rollout': + return rolloutQuery + default: + return unstructuredQuery + } +} + +const getQueryOptions = ({ + component, + service, + queryKind, +}: { + component: ServiceDeploymentComponentFragment + service: Nullable + queryKind?: string +}) => { + const kind = component.kind?.toLowerCase() ?? '' + return { + skip: kind !== queryKind, + pollInterval: POLL_INTERVAL, + fetchPolicy: 'cache-and-network' as WatchQueryFetchPolicy, + variables: { + name: component.name, + namespace: component.namespace ?? '', + serviceId: service?.id ?? '', + }, + } +} + +export function isUnstructured(kind: string): boolean { + return !STRUCTURED_COMPONENT_KINDS.includes( + kind.toLowerCase() as StructuredComponentKind + ) +} + +const STRUCTURED_COMPONENT_KINDS = [ + 'certificate', + 'cronjob', + 'deployment', + 'ingress', + 'job', + 'service', + 'statefulset', + 'daemonset', + 'canary', + 'servicedeployment', + 'rollout', +] as const diff --git a/assets/src/components/contexts.tsx b/assets/src/components/contexts.tsx index a6238fef68..f4d7b01fd6 100644 --- a/assets/src/components/contexts.tsx +++ b/assets/src/components/contexts.tsx @@ -1,12 +1,3 @@ -import { - ComponentProps, - createContext, - useCallback, - useContext, - useEffect, - useMemo, -} from 'react' -import { jwtDecode } from 'jwt-decode' import { fetchRefreshToken, fetchToken, @@ -14,6 +5,15 @@ import { wipeRefreshToken, wipeToken, } from 'helpers/auth' +import { jwtDecode } from 'jwt-decode' +import { + ComponentProps, + createContext, + use, + useCallback, + useEffect, + useMemo, +} from 'react' import { MeQuery, @@ -41,7 +41,7 @@ const DEFAULT_LOGIN = { } as const satisfies Partial const LoginContext = createContext>(DEFAULT_LOGIN) -export const useLogin = () => useContext(LoginContext) +export const useLogin = () => use(LoginContext) export const useIsManager = () => { const { me } = useLogin() @@ -115,7 +115,7 @@ export function LoginContextProvider({ ) return ( - diff --git a/assets/src/components/layout/Sidebar.tsx b/assets/src/components/layout/Sidebar.tsx index 9a04a0c204..27853b2c75 100644 --- a/assets/src/components/layout/Sidebar.tsx +++ b/assets/src/components/layout/Sidebar.tsx @@ -8,6 +8,8 @@ import { CatalogIcon, CostManagementIcon, Sidebar as DSSidebar, + EdgeComputeIcon, + Flex, GearTrainIcon, GitHubLogoIcon, GitPullIcon, @@ -23,11 +25,11 @@ import { SidebarSection, StackIcon, Tooltip, + useSidebar, WarningShieldIcon, - EdgeComputeIcon, } from '@pluralsh/design-system' import { ME_Q } from 'components/graphql/users' -import { Avatar, Flex, Menu, MenuItem } from 'honorable' +import { Avatar, Menu, MenuItem } from 'honorable' import { ReactElement, useCallback, useMemo, useRef, useState } from 'react' import { Link, useLocation } from 'react-router-dom' import styled, { useTheme } from 'styled-components' @@ -51,10 +53,11 @@ import HelpLauncher from '../help/HelpLauncher' import { useOutsideClick } from 'components/hooks/useOutsideClick.tsx' import { CATALOGS_ABS_PATH } from '../../routes/catalogRoutesConsts.tsx' +import { EDGE_ABS_PATH } from '../../routes/edgeRoutes.tsx' import CommandPaletteShortcuts from '../commandpalette/CommandPaletteShortcuts.tsx' import { NotificationsPanelOverlay } from './NotificationsPanelOverlay' import { MARK_READ } from './queries' -import { EDGE_ABS_PATH } from '../../routes/edgeRoutes.tsx' +import { TRUNCATE } from 'components/utils/truncate.ts' type MenuItem = { text: string @@ -289,11 +292,7 @@ export default function Sidebar() { return ( - + {menuItems.map((item, i) => ( ))} - + + {configuration?.consoleVersion && ( + + )} {/* --- NOTIFICATIONS PANEL @@ -423,7 +425,7 @@ export default function Sidebar() { > Docs - + ) } + +function ConsoleVersion({ version }: { version: string }) { + const { isExpanded } = useSidebar() + return ( + + {isExpanded ? 'Console version: v' : 'v'} + {version} + + ) +} +const ConsoleVersionSC = styled.span<{ $isExpanded?: boolean }>( + ({ theme, $isExpanded }) => ({ + ...TRUNCATE, + width: '100%', + textAlign: $isExpanded ? 'left' : 'center', + padding: theme.spacing.xxsmall, + fontFamily: theme.fontFamilies.sans, + fontSize: 10, + letterSpacing: '-0.35px', + }) +) diff --git a/assets/src/components/utils/EventsTable.tsx b/assets/src/components/utils/EventsTable.tsx index fdd6a188b3..6868523300 100644 --- a/assets/src/components/utils/EventsTable.tsx +++ b/assets/src/components/utils/EventsTable.tsx @@ -1,13 +1,13 @@ import { EmptyState, Table } from '@pluralsh/design-system' import { createColumnHelper } from '@tanstack/react-table' -import { Event as EventT } from 'generated/graphql' import isEmpty from 'lodash/isEmpty' import { ComponentProps } from 'react' import { DateTimeCol } from './table/DateTimeCol' +import { EventFragment } from 'generated/graphql' -const COLUMN_HELPER = createColumnHelper() +const COLUMN_HELPER = createColumnHelper() const columns = [ COLUMN_HELPER.accessor((event) => event.type, { @@ -40,10 +40,11 @@ const columns = [ export default function EventsTable({ events, ...props -}: { events?: (EventT | null)[] } & Partial>) { - if (!events || isEmpty(events)) { +}: { events?: Nullable[] } & Partial< + ComponentProps +>) { + if (!events || isEmpty(events)) return - } return ( | null } | null, experiment?: { __typename?: 'ArgoExperiment', templates?: Array<{ __typename?: 'ArgoExperimentTemplate', name?: string | null } | null> | null } | null, pause?: { __typename?: 'CanaryPause', duration?: string | null } | null } | null> | null } | null } | null }; -export type ArgoRolloutFragment = { __typename?: 'ArgoRollout', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ArgoRolloutStatus', abort?: boolean | null, phase?: string | null, replicas?: number | null, readyReplicas?: number | null, pauseConditions?: Array<{ __typename?: 'PauseCondition', reason?: string | null, startTime?: string | null } | null> | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'ArgoRolloutSpec', replicas?: number | null, strategy?: { __typename?: 'ArgoRolloutStrategy', blueGreen?: { __typename?: 'ArgoBlueGreenStrategy', activeService?: string | null, autoPromotionEnabled?: boolean | null, autoPromotionSeconds?: number | null } | null, canary?: { __typename?: 'ArgoCanaryStrategy', steps?: Array<{ __typename?: 'ArgoStrategyStep', setWeight?: number | null, analysis?: { __typename?: 'ArgoAnalysis', templates?: Array<{ __typename?: 'ArgoAnalysisTemplate', templateName?: string | null } | null> | null } | null, experiment?: { __typename?: 'ArgoExperiment', templates?: Array<{ __typename?: 'ArgoExperimentTemplate', name?: string | null } | null> | null } | null, pause?: { __typename?: 'CanaryPause', duration?: string | null } | null } | null> | null } | null } | null } }; +export type ArgoRolloutFragment = { __typename?: 'ArgoRollout', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ArgoRolloutStatus', abort?: boolean | null, phase?: string | null, replicas?: number | null, readyReplicas?: number | null, pauseConditions?: Array<{ __typename?: 'PauseCondition', reason?: string | null, startTime?: string | null } | null> | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'ArgoRolloutSpec', replicas?: number | null, strategy?: { __typename?: 'ArgoRolloutStrategy', blueGreen?: { __typename?: 'ArgoBlueGreenStrategy', activeService?: string | null, autoPromotionEnabled?: boolean | null, autoPromotionSeconds?: number | null } | null, canary?: { __typename?: 'ArgoCanaryStrategy', steps?: Array<{ __typename?: 'ArgoStrategyStep', setWeight?: number | null, analysis?: { __typename?: 'ArgoAnalysis', templates?: Array<{ __typename?: 'ArgoAnalysisTemplate', templateName?: string | null } | null> | null } | null, experiment?: { __typename?: 'ArgoExperiment', templates?: Array<{ __typename?: 'ArgoExperimentTemplate', name?: string | null } | null> | null } | null, pause?: { __typename?: 'CanaryPause', duration?: string | null } | null } | null> | null } | null } | null }, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null }; export type ArgoRolloutQueryVariables = Exact<{ name: Scalars['String']['input']; @@ -11126,13 +11126,13 @@ export type ArgoRolloutQueryVariables = Exact<{ }>; -export type ArgoRolloutQuery = { __typename?: 'RootQueryType', argoRollout?: { __typename?: 'ArgoRollout', raw: string, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ArgoRolloutStatus', abort?: boolean | null, phase?: string | null, replicas?: number | null, readyReplicas?: number | null, pauseConditions?: Array<{ __typename?: 'PauseCondition', reason?: string | null, startTime?: string | null } | null> | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'ArgoRolloutSpec', replicas?: number | null, strategy?: { __typename?: 'ArgoRolloutStrategy', blueGreen?: { __typename?: 'ArgoBlueGreenStrategy', activeService?: string | null, autoPromotionEnabled?: boolean | null, autoPromotionSeconds?: number | null } | null, canary?: { __typename?: 'ArgoCanaryStrategy', steps?: Array<{ __typename?: 'ArgoStrategyStep', setWeight?: number | null, analysis?: { __typename?: 'ArgoAnalysis', templates?: Array<{ __typename?: 'ArgoAnalysisTemplate', templateName?: string | null } | null> | null } | null, experiment?: { __typename?: 'ArgoExperiment', templates?: Array<{ __typename?: 'ArgoExperimentTemplate', name?: string | null } | null> | null } | null, pause?: { __typename?: 'CanaryPause', duration?: string | null } | null } | null> | null } | null } | null } } | null }; +export type ArgoRolloutQuery = { __typename?: 'RootQueryType', argoRollout?: { __typename?: 'ArgoRollout', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ArgoRolloutStatus', abort?: boolean | null, phase?: string | null, replicas?: number | null, readyReplicas?: number | null, pauseConditions?: Array<{ __typename?: 'PauseCondition', reason?: string | null, startTime?: string | null } | null> | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'ArgoRolloutSpec', replicas?: number | null, strategy?: { __typename?: 'ArgoRolloutStrategy', blueGreen?: { __typename?: 'ArgoBlueGreenStrategy', activeService?: string | null, autoPromotionEnabled?: boolean | null, autoPromotionSeconds?: number | null } | null, canary?: { __typename?: 'ArgoCanaryStrategy', steps?: Array<{ __typename?: 'ArgoStrategyStep', setWeight?: number | null, analysis?: { __typename?: 'ArgoAnalysis', templates?: Array<{ __typename?: 'ArgoAnalysisTemplate', templateName?: string | null } | null> | null } | null, experiment?: { __typename?: 'ArgoExperiment', templates?: Array<{ __typename?: 'ArgoExperimentTemplate', name?: string | null } | null> | null } | null, pause?: { __typename?: 'CanaryPause', duration?: string | null } | null } | null> | null } | null } | null }, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null } | null }; export type CanaryStatusFragment = { __typename?: 'CanaryStatus', failedChecks?: number | null, canaryWeight?: number | null, iterations?: number | null, phase?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }; export type CanarySpecFragment = { __typename?: 'CanarySpec', provider?: string | null, analysis?: { __typename?: 'CanaryAnalysis', interval?: string | null, maxWeight?: number | null, stepWeight?: number | null, stepWeights?: Array | null, threshold?: number | null } | null }; -export type CanaryFragment = { __typename?: 'Canary', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CanaryStatus', failedChecks?: number | null, canaryWeight?: number | null, iterations?: number | null, phase?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CanarySpec', provider?: string | null, analysis?: { __typename?: 'CanaryAnalysis', interval?: string | null, maxWeight?: number | null, stepWeight?: number | null, stepWeights?: Array | null, threshold?: number | null } | null } }; +export type CanaryFragment = { __typename?: 'Canary', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CanaryStatus', failedChecks?: number | null, canaryWeight?: number | null, iterations?: number | null, phase?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CanarySpec', provider?: string | null, analysis?: { __typename?: 'CanaryAnalysis', interval?: string | null, maxWeight?: number | null, stepWeight?: number | null, stepWeights?: Array | null, threshold?: number | null } | null }, canaryDeployment?: { __typename?: 'Deployment', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DeploymentStatus', availableReplicas?: number | null, replicas?: number | null, unavailableReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'DeploymentSpec', replicas?: number | null, strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null, primaryDeployment?: { __typename?: 'Deployment', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DeploymentStatus', availableReplicas?: number | null, replicas?: number | null, unavailableReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'DeploymentSpec', replicas?: number | null, strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null, ingress?: { __typename?: 'Ingress', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null, hostname?: string | null } | null> | null } | null }, spec: { __typename?: 'IngressSpec', ingressClassName?: string | null, tls?: Array<{ __typename?: 'IngressTls', hosts?: Array | null } | null> | null, rules?: Array<{ __typename?: 'IngressRule', host?: string | null, http?: { __typename?: 'HttpIngressRule', paths?: Array<{ __typename?: 'IngressPath', path?: string | null, backend?: { __typename?: 'IngressBackend', serviceName?: string | null, servicePort?: string | null } | null } | null> | null } | null } | null> | null }, certificates?: Array<{ __typename?: 'Certificate', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null }, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null, ingressCanary?: { __typename?: 'Ingress', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null, hostname?: string | null } | null> | null } | null }, spec: { __typename?: 'IngressSpec', ingressClassName?: string | null, tls?: Array<{ __typename?: 'IngressTls', hosts?: Array | null } | null> | null, rules?: Array<{ __typename?: 'IngressRule', host?: string | null, http?: { __typename?: 'HttpIngressRule', paths?: Array<{ __typename?: 'IngressPath', path?: string | null, backend?: { __typename?: 'IngressBackend', serviceName?: string | null, servicePort?: string | null } | null } | null> | null } | null } | null> | null }, certificates?: Array<{ __typename?: 'Certificate', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null }, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null }; export type CanaryQueryVariables = Exact<{ name: Scalars['String']['input']; @@ -11141,7 +11141,7 @@ export type CanaryQueryVariables = Exact<{ }>; -export type CanaryQuery = { __typename?: 'RootQueryType', canary?: { __typename?: 'Canary', raw: string, canaryDeployment?: { __typename?: 'Deployment', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DeploymentStatus', availableReplicas?: number | null, replicas?: number | null, unavailableReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'DeploymentSpec', replicas?: number | null, strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null } } | null, primaryDeployment?: { __typename?: 'Deployment', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DeploymentStatus', availableReplicas?: number | null, replicas?: number | null, unavailableReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'DeploymentSpec', replicas?: number | null, strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null } } | null, ingress?: { __typename?: 'Ingress', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null, hostname?: string | null } | null> | null } | null }, spec: { __typename?: 'IngressSpec', ingressClassName?: string | null, tls?: Array<{ __typename?: 'IngressTls', hosts?: Array | null } | null> | null, rules?: Array<{ __typename?: 'IngressRule', host?: string | null, http?: { __typename?: 'HttpIngressRule', paths?: Array<{ __typename?: 'IngressPath', path?: string | null, backend?: { __typename?: 'IngressBackend', serviceName?: string | null, servicePort?: string | null } | null } | null> | null } | null } | null> | null }, certificates?: Array<{ __typename?: 'Certificate', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null } } | null> | null } | null, ingressCanary?: { __typename?: 'Ingress', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null, hostname?: string | null } | null> | null } | null }, spec: { __typename?: 'IngressSpec', ingressClassName?: string | null, tls?: Array<{ __typename?: 'IngressTls', hosts?: Array | null } | null> | null, rules?: Array<{ __typename?: 'IngressRule', host?: string | null, http?: { __typename?: 'HttpIngressRule', paths?: Array<{ __typename?: 'IngressPath', path?: string | null, backend?: { __typename?: 'IngressBackend', serviceName?: string | null, servicePort?: string | null } | null } | null> | null } | null } | null> | null }, certificates?: Array<{ __typename?: 'Certificate', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null } } | null> | null } | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CanaryStatus', failedChecks?: number | null, canaryWeight?: number | null, iterations?: number | null, phase?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CanarySpec', provider?: string | null, analysis?: { __typename?: 'CanaryAnalysis', interval?: string | null, maxWeight?: number | null, stepWeight?: number | null, stepWeights?: Array | null, threshold?: number | null } | null } } | null }; +export type CanaryQuery = { __typename?: 'RootQueryType', canary?: { __typename?: 'Canary', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CanaryStatus', failedChecks?: number | null, canaryWeight?: number | null, iterations?: number | null, phase?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CanarySpec', provider?: string | null, analysis?: { __typename?: 'CanaryAnalysis', interval?: string | null, maxWeight?: number | null, stepWeight?: number | null, stepWeights?: Array | null, threshold?: number | null } | null }, canaryDeployment?: { __typename?: 'Deployment', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DeploymentStatus', availableReplicas?: number | null, replicas?: number | null, unavailableReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'DeploymentSpec', replicas?: number | null, strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null, primaryDeployment?: { __typename?: 'Deployment', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DeploymentStatus', availableReplicas?: number | null, replicas?: number | null, unavailableReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'DeploymentSpec', replicas?: number | null, strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null, ingress?: { __typename?: 'Ingress', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null, hostname?: string | null } | null> | null } | null }, spec: { __typename?: 'IngressSpec', ingressClassName?: string | null, tls?: Array<{ __typename?: 'IngressTls', hosts?: Array | null } | null> | null, rules?: Array<{ __typename?: 'IngressRule', host?: string | null, http?: { __typename?: 'HttpIngressRule', paths?: Array<{ __typename?: 'IngressPath', path?: string | null, backend?: { __typename?: 'IngressBackend', serviceName?: string | null, servicePort?: string | null } | null } | null> | null } | null } | null> | null }, certificates?: Array<{ __typename?: 'Certificate', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null }, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null, ingressCanary?: { __typename?: 'Ingress', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null, hostname?: string | null } | null> | null } | null }, spec: { __typename?: 'IngressSpec', ingressClassName?: string | null, tls?: Array<{ __typename?: 'IngressTls', hosts?: Array | null } | null> | null, rules?: Array<{ __typename?: 'IngressRule', host?: string | null, http?: { __typename?: 'HttpIngressRule', paths?: Array<{ __typename?: 'IngressPath', path?: string | null, backend?: { __typename?: 'IngressBackend', serviceName?: string | null, servicePort?: string | null } | null } | null> | null } | null } | null> | null }, certificates?: Array<{ __typename?: 'Certificate', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null }, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null }; export type StatusConditionFragment = { __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string }; @@ -11149,7 +11149,7 @@ export type CertificateStatusFragment = { __typename?: 'CertificateStatus', rene export type CertificateSpecFragment = { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null }; -export type CertificateFragment = { __typename?: 'Certificate', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null } }; +export type CertificateFragment = { __typename?: 'Certificate', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null }, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null }; export type CertificateQueryVariables = Exact<{ name: Scalars['String']['input']; @@ -11158,9 +11158,9 @@ export type CertificateQueryVariables = Exact<{ }>; -export type CertificateQuery = { __typename?: 'RootQueryType', certificate?: { __typename?: 'Certificate', raw: string, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null } } | null }; +export type CertificateQuery = { __typename?: 'RootQueryType', certificate?: { __typename?: 'Certificate', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null }, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null }; -export type CronJobFragment = { __typename?: 'CronJob', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CronStatus', lastScheduleTime?: string | null }, spec: { __typename?: 'CronSpec', schedule: string, suspend?: boolean | null, concurrencyPolicy?: string | null } }; +export type CronJobFragment = { __typename?: 'CronJob', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CronStatus', lastScheduleTime?: string | null }, spec: { __typename?: 'CronSpec', schedule: string, suspend?: boolean | null, concurrencyPolicy?: string | null }, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, jobs?: Array<{ __typename?: 'Job', metadata: { __typename?: 'Metadata', name: string, namespace?: string | null }, status: { __typename?: 'JobStatus', active?: number | null, completionTime?: string | null, succeeded?: number | null, failed?: number | null, startTime?: string | null } } | null> | null }; export type CronJobJobFragment = { __typename?: 'Job', metadata: { __typename?: 'Metadata', name: string, namespace?: string | null }, status: { __typename?: 'JobStatus', active?: number | null, completionTime?: string | null, succeeded?: number | null, failed?: number | null, startTime?: string | null } }; @@ -11171,13 +11171,13 @@ export type CronJobQueryVariables = Exact<{ }>; -export type CronJobQuery = { __typename?: 'RootQueryType', cronJob?: { __typename?: 'CronJob', raw: string, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, jobs?: Array<{ __typename?: 'Job', metadata: { __typename?: 'Metadata', name: string, namespace?: string | null }, status: { __typename?: 'JobStatus', active?: number | null, completionTime?: string | null, succeeded?: number | null, failed?: number | null, startTime?: string | null } } | null> | null, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CronStatus', lastScheduleTime?: string | null }, spec: { __typename?: 'CronSpec', schedule: string, suspend?: boolean | null, concurrencyPolicy?: string | null } } | null }; +export type CronJobQuery = { __typename?: 'RootQueryType', cronJob?: { __typename?: 'CronJob', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CronStatus', lastScheduleTime?: string | null }, spec: { __typename?: 'CronSpec', schedule: string, suspend?: boolean | null, concurrencyPolicy?: string | null }, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, jobs?: Array<{ __typename?: 'Job', metadata: { __typename?: 'Metadata', name: string, namespace?: string | null }, status: { __typename?: 'JobStatus', active?: number | null, completionTime?: string | null, succeeded?: number | null, failed?: number | null, startTime?: string | null } } | null> | null } | null }; export type DaemonSetStatusFragment = { __typename?: 'DaemonSetStatus', currentNumberScheduled?: number | null, desiredNumberScheduled?: number | null, numberReady?: number | null }; export type DaemonSetSpecFragment = { __typename?: 'DaemonSetSpec', strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null }; -export type DaemonSetFragment = { __typename?: 'DaemonSet', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DaemonSetStatus', currentNumberScheduled?: number | null, desiredNumberScheduled?: number | null, numberReady?: number | null }, spec: { __typename?: 'DaemonSetSpec', strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null }; +export type DaemonSetFragment = { __typename?: 'DaemonSet', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DaemonSetStatus', currentNumberScheduled?: number | null, desiredNumberScheduled?: number | null, numberReady?: number | null }, spec: { __typename?: 'DaemonSetSpec', strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null }; export type DaemonSetQueryVariables = Exact<{ name: Scalars['String']['input']; @@ -11186,9 +11186,9 @@ export type DaemonSetQueryVariables = Exact<{ }>; -export type DaemonSetQuery = { __typename?: 'RootQueryType', daemonSet?: { __typename?: 'DaemonSet', raw: string, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DaemonSetStatus', currentNumberScheduled?: number | null, desiredNumberScheduled?: number | null, numberReady?: number | null }, spec: { __typename?: 'DaemonSetSpec', strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null } | null }; +export type DaemonSetQuery = { __typename?: 'RootQueryType', daemonSet?: { __typename?: 'DaemonSet', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DaemonSetStatus', currentNumberScheduled?: number | null, desiredNumberScheduled?: number | null, numberReady?: number | null }, spec: { __typename?: 'DaemonSetSpec', strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null }; -export type DeploymentFragment = { __typename?: 'Deployment', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DeploymentStatus', availableReplicas?: number | null, replicas?: number | null, unavailableReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'DeploymentSpec', replicas?: number | null, strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null } }; +export type DeploymentFragment = { __typename?: 'Deployment', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DeploymentStatus', availableReplicas?: number | null, replicas?: number | null, unavailableReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'DeploymentSpec', replicas?: number | null, strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null }; export type DeploymentQueryVariables = Exact<{ name: Scalars['String']['input']; @@ -11197,9 +11197,9 @@ export type DeploymentQueryVariables = Exact<{ }>; -export type DeploymentQuery = { __typename?: 'RootQueryType', deployment?: { __typename?: 'Deployment', raw: string, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DeploymentStatus', availableReplicas?: number | null, replicas?: number | null, unavailableReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'DeploymentSpec', replicas?: number | null, strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null } } | null }; +export type DeploymentQuery = { __typename?: 'RootQueryType', deployment?: { __typename?: 'Deployment', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'DeploymentStatus', availableReplicas?: number | null, replicas?: number | null, unavailableReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'DeploymentSpec', replicas?: number | null, strategy?: { __typename?: 'DeploymentStrategy', type?: string | null } | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null }; -export type IngressFragment = { __typename?: 'Ingress', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null, hostname?: string | null } | null> | null } | null }, spec: { __typename?: 'IngressSpec', ingressClassName?: string | null, tls?: Array<{ __typename?: 'IngressTls', hosts?: Array | null } | null> | null, rules?: Array<{ __typename?: 'IngressRule', host?: string | null, http?: { __typename?: 'HttpIngressRule', paths?: Array<{ __typename?: 'IngressPath', path?: string | null, backend?: { __typename?: 'IngressBackend', serviceName?: string | null, servicePort?: string | null } | null } | null> | null } | null } | null> | null }, certificates?: Array<{ __typename?: 'Certificate', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null } } | null> | null }; +export type IngressFragment = { __typename?: 'Ingress', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null, hostname?: string | null } | null> | null } | null }, spec: { __typename?: 'IngressSpec', ingressClassName?: string | null, tls?: Array<{ __typename?: 'IngressTls', hosts?: Array | null } | null> | null, rules?: Array<{ __typename?: 'IngressRule', host?: string | null, http?: { __typename?: 'HttpIngressRule', paths?: Array<{ __typename?: 'IngressPath', path?: string | null, backend?: { __typename?: 'IngressBackend', serviceName?: string | null, servicePort?: string | null } | null } | null> | null } | null } | null> | null }, certificates?: Array<{ __typename?: 'Certificate', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null }, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null }; export type IngressQueryVariables = Exact<{ name: Scalars['String']['input']; @@ -11208,9 +11208,9 @@ export type IngressQueryVariables = Exact<{ }>; -export type IngressQuery = { __typename?: 'RootQueryType', ingress?: { __typename?: 'Ingress', raw: string, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null, hostname?: string | null } | null> | null } | null }, spec: { __typename?: 'IngressSpec', ingressClassName?: string | null, tls?: Array<{ __typename?: 'IngressTls', hosts?: Array | null } | null> | null, rules?: Array<{ __typename?: 'IngressRule', host?: string | null, http?: { __typename?: 'HttpIngressRule', paths?: Array<{ __typename?: 'IngressPath', path?: string | null, backend?: { __typename?: 'IngressBackend', serviceName?: string | null, servicePort?: string | null } | null } | null> | null } | null } | null> | null }, certificates?: Array<{ __typename?: 'Certificate', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null } } | null> | null } | null }; +export type IngressQuery = { __typename?: 'RootQueryType', ingress?: { __typename?: 'Ingress', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null, hostname?: string | null } | null> | null } | null }, spec: { __typename?: 'IngressSpec', ingressClassName?: string | null, tls?: Array<{ __typename?: 'IngressTls', hosts?: Array | null } | null> | null, rules?: Array<{ __typename?: 'IngressRule', host?: string | null, http?: { __typename?: 'HttpIngressRule', paths?: Array<{ __typename?: 'IngressPath', path?: string | null, backend?: { __typename?: 'IngressBackend', serviceName?: string | null, servicePort?: string | null } | null } | null> | null } | null } | null> | null }, certificates?: Array<{ __typename?: 'Certificate', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'CertificateStatus', renewalTime?: string | null, notBefore?: string | null, notAfter?: string | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'CertificateSpec', dnsNames?: Array | null, secretName: string, issuerRef?: { __typename?: 'IssuerRef', group?: string | null, kind?: string | null, name?: string | null } | null }, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null }; -export type JobFragment = { __typename?: 'Job', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'JobStatus', active?: number | null, completionTime?: string | null, succeeded?: number | null, failed?: number | null, startTime?: string | null }, spec: { __typename?: 'JobSpec', backoffLimit?: number | null, parallelism?: number | null, activeDeadlineSeconds?: number | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null }; +export type JobFragment = { __typename?: 'Job', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'JobStatus', active?: number | null, completionTime?: string | null, succeeded?: number | null, failed?: number | null, startTime?: string | null }, spec: { __typename?: 'JobSpec', backoffLimit?: number | null, parallelism?: number | null, activeDeadlineSeconds?: number | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null }; export type JobQueryVariables = Exact<{ name: Scalars['String']['input']; @@ -11219,7 +11219,7 @@ export type JobQueryVariables = Exact<{ }>; -export type JobQuery = { __typename?: 'RootQueryType', job?: { __typename?: 'Job', raw: string, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'JobStatus', active?: number | null, completionTime?: string | null, succeeded?: number | null, failed?: number | null, startTime?: string | null }, spec: { __typename?: 'JobSpec', backoffLimit?: number | null, parallelism?: number | null, activeDeadlineSeconds?: number | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null } | null }; +export type JobQuery = { __typename?: 'RootQueryType', job?: { __typename?: 'Job', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'JobStatus', active?: number | null, completionTime?: string | null, succeeded?: number | null, failed?: number | null, startTime?: string | null }, spec: { __typename?: 'JobSpec', backoffLimit?: number | null, parallelism?: number | null, activeDeadlineSeconds?: number | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null }; export type DeleteJobMutationVariables = Exact<{ name: Scalars['String']['input']; @@ -11227,7 +11227,7 @@ export type DeleteJobMutationVariables = Exact<{ }>; -export type DeleteJobMutation = { __typename?: 'RootMutationType', deleteJob?: { __typename?: 'Job', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'JobStatus', active?: number | null, completionTime?: string | null, succeeded?: number | null, failed?: number | null, startTime?: string | null }, spec: { __typename?: 'JobSpec', backoffLimit?: number | null, parallelism?: number | null, activeDeadlineSeconds?: number | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null } | null }; +export type DeleteJobMutation = { __typename?: 'RootMutationType', deleteJob?: { __typename?: 'Job', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'JobStatus', active?: number | null, completionTime?: string | null, succeeded?: number | null, failed?: number | null, startTime?: string | null }, spec: { __typename?: 'JobSpec', backoffLimit?: number | null, parallelism?: number | null, activeDeadlineSeconds?: number | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null }; export type MetadataFragment = { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }; @@ -11311,7 +11311,7 @@ export type DeletePodMutationVariables = Exact<{ export type DeletePodMutation = { __typename?: 'RootMutationType', deletePod?: { __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null }; -export type ServiceFragment = { __typename?: 'Service', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null } | null> | null } | null }, spec: { __typename?: 'ServiceSpec', type?: string | null, clusterIp?: string | null, ports?: Array<{ __typename?: 'ServicePort', name?: string | null, protocol?: string | null, port?: number | null, targetPort?: string | null } | null> | null } }; +export type ServiceFragment = { __typename?: 'Service', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null } | null> | null } | null }, spec: { __typename?: 'ServiceSpec', type?: string | null, clusterIp?: string | null, ports?: Array<{ __typename?: 'ServicePort', name?: string | null, protocol?: string | null, port?: number | null, targetPort?: string | null } | null> | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null }; export type ServiceQueryVariables = Exact<{ name: Scalars['String']['input']; @@ -11320,9 +11320,9 @@ export type ServiceQueryVariables = Exact<{ }>; -export type ServiceQuery = { __typename?: 'RootQueryType', service?: { __typename?: 'Service', raw: string, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null } | null> | null } | null }, spec: { __typename?: 'ServiceSpec', type?: string | null, clusterIp?: string | null, ports?: Array<{ __typename?: 'ServicePort', name?: string | null, protocol?: string | null, port?: number | null, targetPort?: string | null } | null> | null } } | null }; +export type ServiceQuery = { __typename?: 'RootQueryType', service?: { __typename?: 'Service', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'ServiceStatus', loadBalancer?: { __typename?: 'LoadBalancerStatus', ingress?: Array<{ __typename?: 'LoadBalancerIngressStatus', ip?: string | null } | null> | null } | null }, spec: { __typename?: 'ServiceSpec', type?: string | null, clusterIp?: string | null, ports?: Array<{ __typename?: 'ServicePort', name?: string | null, protocol?: string | null, port?: number | null, targetPort?: string | null } | null> | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null }; -export type StatefulSetFragment = { __typename?: 'StatefulSet', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'StatefulSetStatus', replicas?: number | null, currentReplicas?: number | null, readyReplicas?: number | null, updatedReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'StatefulSetSpec', replicas?: number | null, serviceName?: string | null } }; +export type StatefulSetFragment = { __typename?: 'StatefulSet', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'StatefulSetStatus', replicas?: number | null, currentReplicas?: number | null, readyReplicas?: number | null, updatedReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'StatefulSetSpec', replicas?: number | null, serviceName?: string | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null }; export type StatefulSetQueryVariables = Exact<{ name: Scalars['String']['input']; @@ -11331,7 +11331,7 @@ export type StatefulSetQueryVariables = Exact<{ }>; -export type StatefulSetQuery = { __typename?: 'RootQueryType', statefulSet?: { __typename?: 'StatefulSet', raw: string, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'StatefulSetStatus', replicas?: number | null, currentReplicas?: number | null, readyReplicas?: number | null, updatedReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'StatefulSetSpec', replicas?: number | null, serviceName?: string | null } } | null }; +export type StatefulSetQuery = { __typename?: 'RootQueryType', statefulSet?: { __typename?: 'StatefulSet', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'StatefulSetStatus', replicas?: number | null, currentReplicas?: number | null, readyReplicas?: number | null, updatedReplicas?: number | null, conditions?: Array<{ __typename?: 'StatusCondition', message: string, reason: string, status: string, type: string } | null> | null }, spec: { __typename?: 'StatefulSetSpec', replicas?: number | null, serviceName?: string | null }, pods?: Array<{ __typename?: 'Pod', raw: string, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, status: { __typename?: 'PodStatus', phase?: string | null, podIp?: string | null, reason?: string | null, containerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, initContainerStatuses?: Array<{ __typename?: 'ContainerStatus', restartCount?: number | null, ready?: boolean | null, name?: string | null, state?: { __typename?: 'ContainerState', running?: { __typename?: 'RunningState', startedAt?: string | null } | null, terminated?: { __typename?: 'TerminatedState', exitCode?: number | null, message?: string | null, reason?: string | null } | null, waiting?: { __typename?: 'WaitingState', message?: string | null, reason?: string | null } | null } | null } | null> | null, conditions?: Array<{ __typename?: 'PodCondition', lastProbeTime?: string | null, lastTransitionTime?: string | null, message?: string | null, reason?: string | null, status?: string | null, type?: string | null } | null> | null }, spec: { __typename?: 'PodSpec', nodeName?: string | null, serviceAccountName?: string | null, containers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null, initContainers?: Array<{ __typename?: 'Container', name?: string | null, image?: string | null, ports?: Array<{ __typename?: 'Port', containerPort?: number | null, protocol?: string | null } | null> | null, resources?: { __typename?: 'Resources', limits?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null, requests?: { __typename?: 'ResourceSpec', cpu?: string | null, memory?: string | null } | null } | null } | null> | null } } | null> | null, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null } | null }; export type UnstructuredResourceFragment = { __typename?: 'KubernetesUnstructured', raw?: Record | null, metadata: { __typename?: 'Metadata', uid?: string | null, name: string, namespace?: string | null, creationTimestamp?: string | null, labels?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null, annotations?: Array<{ __typename?: 'LabelPair', name?: string | null, value?: string | null } | null> | null }, events?: Array<{ __typename?: 'Event', action?: string | null, lastTimestamp?: string | null, count?: number | null, message?: string | null, reason?: string | null, type?: string | null } | null> | null }; @@ -11906,7 +11906,7 @@ export type SubscriptionQuery = { __typename?: 'RootQueryType', account?: { __ty export type MeQueryVariables = Exact<{ [key: string]: never; }>; -export type MeQuery = { __typename?: 'RootQueryType', me?: { __typename?: 'User', unreadNotifications?: number | null, id: string, pluralId?: string | null, name: string, email: string, profile?: string | null, backgroundColor?: string | null, readTimestamp?: string | null, boundRoles?: Array<{ __typename?: 'Role', id: string, name: string, description?: string | null, repositories?: Array | null, permissions?: Array | null, roleBindings?: Array<{ __typename?: 'RoleBinding', id: string, user?: { __typename?: 'User', id: string, pluralId?: string | null, name: string, email: string, profile?: string | null, backgroundColor?: string | null, readTimestamp?: string | null, emailSettings?: { __typename?: 'EmailSettings', digest?: boolean | null } | null, roles?: { __typename?: 'UserRoles', admin?: boolean | null } | null, personas?: Array<{ __typename?: 'Persona', id: string, name: string, description?: string | null, bindings?: Array<{ __typename?: 'PolicyBinding', id?: string | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null, group?: { __typename?: 'Group', id: string, name: string } | null } | null> | null, configuration?: { __typename?: 'PersonaConfiguration', all?: boolean | null, deployments?: { __typename?: 'PersonaDeployment', addOns?: boolean | null, clusters?: boolean | null, pipelines?: boolean | null, providers?: boolean | null, repositories?: boolean | null, services?: boolean | null } | null, home?: { __typename?: 'PersonaHome', manager?: boolean | null, security?: boolean | null } | null, sidebar?: { __typename?: 'PersonaSidebar', audits?: boolean | null, kubernetes?: boolean | null, pullRequests?: boolean | null, settings?: boolean | null, backups?: boolean | null, stacks?: boolean | null } | null } | null } | null> | null } | null, group?: { __typename?: 'Group', id: string, name: string, description?: string | null, global?: boolean | null, insertedAt?: string | null, updatedAt?: string | null } | null } | null> | null } | null> | null, emailSettings?: { __typename?: 'EmailSettings', digest?: boolean | null } | null, roles?: { __typename?: 'UserRoles', admin?: boolean | null } | null, personas?: Array<{ __typename?: 'Persona', id: string, name: string, description?: string | null, bindings?: Array<{ __typename?: 'PolicyBinding', id?: string | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null, group?: { __typename?: 'Group', id: string, name: string } | null } | null> | null, configuration?: { __typename?: 'PersonaConfiguration', all?: boolean | null, deployments?: { __typename?: 'PersonaDeployment', addOns?: boolean | null, clusters?: boolean | null, pipelines?: boolean | null, providers?: boolean | null, repositories?: boolean | null, services?: boolean | null } | null, home?: { __typename?: 'PersonaHome', manager?: boolean | null, security?: boolean | null } | null, sidebar?: { __typename?: 'PersonaSidebar', audits?: boolean | null, kubernetes?: boolean | null, pullRequests?: boolean | null, settings?: boolean | null, backups?: boolean | null, stacks?: boolean | null } | null } | null } | null> | null } | null, clusterInfo?: { __typename?: 'ClusterInfo', version?: string | null, platform?: string | null, gitCommit?: string | null } | null, configuration?: { __typename?: 'ConsoleConfiguration', gitCommit?: string | null, isDemoProject?: boolean | null, isSandbox?: boolean | null, pluralLogin?: boolean | null, byok?: boolean | null, externalOidc?: boolean | null, cloud?: boolean | null, installed?: boolean | null, manifest?: { __typename?: 'PluralManifest', cluster?: string | null, bucketPrefix?: string | null, network?: { __typename?: 'ManifestNetwork', pluralDns?: boolean | null, subdomain?: string | null } | null } | null, gitStatus?: { __typename?: 'GitStatus', cloned?: boolean | null, output?: string | null } | null, features?: { __typename?: 'AvailableFeatures', audits?: boolean | null, cd?: boolean | null, databaseManagement?: boolean | null, userManagement?: boolean | null } | null } | null }; +export type MeQuery = { __typename?: 'RootQueryType', me?: { __typename?: 'User', unreadNotifications?: number | null, id: string, pluralId?: string | null, name: string, email: string, profile?: string | null, backgroundColor?: string | null, readTimestamp?: string | null, boundRoles?: Array<{ __typename?: 'Role', id: string, name: string, description?: string | null, repositories?: Array | null, permissions?: Array | null, roleBindings?: Array<{ __typename?: 'RoleBinding', id: string, user?: { __typename?: 'User', id: string, pluralId?: string | null, name: string, email: string, profile?: string | null, backgroundColor?: string | null, readTimestamp?: string | null, emailSettings?: { __typename?: 'EmailSettings', digest?: boolean | null } | null, roles?: { __typename?: 'UserRoles', admin?: boolean | null } | null, personas?: Array<{ __typename?: 'Persona', id: string, name: string, description?: string | null, bindings?: Array<{ __typename?: 'PolicyBinding', id?: string | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null, group?: { __typename?: 'Group', id: string, name: string } | null } | null> | null, configuration?: { __typename?: 'PersonaConfiguration', all?: boolean | null, deployments?: { __typename?: 'PersonaDeployment', addOns?: boolean | null, clusters?: boolean | null, pipelines?: boolean | null, providers?: boolean | null, repositories?: boolean | null, services?: boolean | null } | null, home?: { __typename?: 'PersonaHome', manager?: boolean | null, security?: boolean | null } | null, sidebar?: { __typename?: 'PersonaSidebar', audits?: boolean | null, kubernetes?: boolean | null, pullRequests?: boolean | null, settings?: boolean | null, backups?: boolean | null, stacks?: boolean | null } | null } | null } | null> | null } | null, group?: { __typename?: 'Group', id: string, name: string, description?: string | null, global?: boolean | null, insertedAt?: string | null, updatedAt?: string | null } | null } | null> | null } | null> | null, emailSettings?: { __typename?: 'EmailSettings', digest?: boolean | null } | null, roles?: { __typename?: 'UserRoles', admin?: boolean | null } | null, personas?: Array<{ __typename?: 'Persona', id: string, name: string, description?: string | null, bindings?: Array<{ __typename?: 'PolicyBinding', id?: string | null, user?: { __typename?: 'User', id: string, name: string, email: string } | null, group?: { __typename?: 'Group', id: string, name: string } | null } | null> | null, configuration?: { __typename?: 'PersonaConfiguration', all?: boolean | null, deployments?: { __typename?: 'PersonaDeployment', addOns?: boolean | null, clusters?: boolean | null, pipelines?: boolean | null, providers?: boolean | null, repositories?: boolean | null, services?: boolean | null } | null, home?: { __typename?: 'PersonaHome', manager?: boolean | null, security?: boolean | null } | null, sidebar?: { __typename?: 'PersonaSidebar', audits?: boolean | null, kubernetes?: boolean | null, pullRequests?: boolean | null, settings?: boolean | null, backups?: boolean | null, stacks?: boolean | null } | null } | null } | null> | null } | null, clusterInfo?: { __typename?: 'ClusterInfo', version?: string | null, platform?: string | null, gitCommit?: string | null } | null, configuration?: { __typename?: 'ConsoleConfiguration', gitCommit?: string | null, isDemoProject?: boolean | null, isSandbox?: boolean | null, pluralLogin?: boolean | null, byok?: boolean | null, externalOidc?: boolean | null, cloud?: boolean | null, installed?: boolean | null, consoleVersion?: string | null, manifest?: { __typename?: 'PluralManifest', cluster?: string | null, bucketPrefix?: string | null, network?: { __typename?: 'ManifestNetwork', pluralDns?: boolean | null, subdomain?: string | null } | null } | null, gitStatus?: { __typename?: 'GitStatus', cloned?: boolean | null, output?: string | null } | null, features?: { __typename?: 'AvailableFeatures', audits?: boolean | null, cd?: boolean | null, databaseManagement?: boolean | null, userManagement?: boolean | null } | null } | null }; export type UsersQueryVariables = Exact<{ q?: InputMaybe; @@ -13931,6 +13931,16 @@ export const ArgoRolloutSpecFragmentDoc = gql` } } `; +export const EventFragmentDoc = gql` + fragment Event on Event { + action + lastTimestamp + count + message + reason + type +} + `; export const ArgoRolloutFragmentDoc = gql` fragment ArgoRollout on ArgoRollout { metadata { @@ -13943,10 +13953,18 @@ export const ArgoRolloutFragmentDoc = gql` ...ArgoRolloutSpec } raw + events { + ...Event + } + pods { + ...Pod + } } ${MetadataFragmentDoc} ${ArgoRolloutStatusFragmentDoc} -${ArgoRolloutSpecFragmentDoc}`; +${ArgoRolloutSpecFragmentDoc} +${EventFragmentDoc} +${PodFragmentDoc}`; export const StatusConditionFragmentDoc = gql` fragment StatusCondition on StatusCondition { message @@ -13978,92 +13996,6 @@ export const CanarySpecFragmentDoc = gql` } } `; -export const CanaryFragmentDoc = gql` - fragment Canary on Canary { - metadata { - ...Metadata - } - status { - ...CanaryStatus - } - spec { - ...CanarySpec - } - raw -} - ${MetadataFragmentDoc} -${CanaryStatusFragmentDoc} -${CanarySpecFragmentDoc}`; -export const CronJobFragmentDoc = gql` - fragment CronJob on CronJob { - metadata { - ...Metadata - } - status { - lastScheduleTime - } - spec { - schedule - suspend - concurrencyPolicy - } - raw -} - ${MetadataFragmentDoc}`; -export const JobStatusFragmentDoc = gql` - fragment JobStatus on JobStatus { - active - completionTime - succeeded - failed - startTime -} - `; -export const CronJobJobFragmentDoc = gql` - fragment CronJobJob on Job { - metadata { - name - namespace - } - status { - ...JobStatus - } -} - ${JobStatusFragmentDoc}`; -export const DaemonSetStatusFragmentDoc = gql` - fragment DaemonSetStatus on DaemonSetStatus { - currentNumberScheduled - desiredNumberScheduled - numberReady -} - `; -export const DaemonSetSpecFragmentDoc = gql` - fragment DaemonSetSpec on DaemonSetSpec { - strategy { - type - } -} - `; -export const DaemonSetFragmentDoc = gql` - fragment DaemonSet on DaemonSet { - metadata { - ...Metadata - } - status { - ...DaemonSetStatus - } - spec { - ...DaemonSetSpec - } - pods { - ...Pod - } - raw -} - ${MetadataFragmentDoc} -${DaemonSetStatusFragmentDoc} -${DaemonSetSpecFragmentDoc} -${PodFragmentDoc}`; export const DeploymentFragmentDoc = gql` fragment Deployment on Deployment { metadata { @@ -14084,9 +14016,17 @@ export const DeploymentFragmentDoc = gql` } } raw + pods { + ...Pod + } + events { + ...Event + } } ${MetadataFragmentDoc} -${StatusConditionFragmentDoc}`; +${StatusConditionFragmentDoc} +${PodFragmentDoc} +${EventFragmentDoc}`; export const CertificateStatusFragmentDoc = gql` fragment CertificateStatus on CertificateStatus { renewalTime @@ -14120,10 +14060,14 @@ export const CertificateFragmentDoc = gql` ...CertificateSpec } raw + events { + ...Event + } } ${MetadataFragmentDoc} ${CertificateStatusFragmentDoc} -${CertificateSpecFragmentDoc}`; +${CertificateSpecFragmentDoc} +${EventFragmentDoc}`; export const IngressFragmentDoc = gql` fragment Ingress on Ingress { metadata { @@ -14159,9 +14103,129 @@ export const IngressFragmentDoc = gql` ...Certificate } raw + events { + ...Event + } +} + ${MetadataFragmentDoc} +${CertificateFragmentDoc} +${EventFragmentDoc}`; +export const CanaryFragmentDoc = gql` + fragment Canary on Canary { + metadata { + ...Metadata + } + status { + ...CanaryStatus + } + spec { + ...CanarySpec + } + raw + canaryDeployment { + ...Deployment + } + primaryDeployment { + ...Deployment + } + ingress { + ...Ingress + } + ingressCanary { + ...Ingress + } + events { + ...Event + } } ${MetadataFragmentDoc} -${CertificateFragmentDoc}`; +${CanaryStatusFragmentDoc} +${CanarySpecFragmentDoc} +${DeploymentFragmentDoc} +${IngressFragmentDoc} +${EventFragmentDoc}`; +export const JobStatusFragmentDoc = gql` + fragment JobStatus on JobStatus { + active + completionTime + succeeded + failed + startTime +} + `; +export const CronJobJobFragmentDoc = gql` + fragment CronJobJob on Job { + metadata { + name + namespace + } + status { + ...JobStatus + } +} + ${JobStatusFragmentDoc}`; +export const CronJobFragmentDoc = gql` + fragment CronJob on CronJob { + metadata { + ...Metadata + } + status { + lastScheduleTime + } + spec { + schedule + suspend + concurrencyPolicy + } + raw + events { + ...Event + } + jobs { + ...CronJobJob + } +} + ${MetadataFragmentDoc} +${EventFragmentDoc} +${CronJobJobFragmentDoc}`; +export const DaemonSetStatusFragmentDoc = gql` + fragment DaemonSetStatus on DaemonSetStatus { + currentNumberScheduled + desiredNumberScheduled + numberReady +} + `; +export const DaemonSetSpecFragmentDoc = gql` + fragment DaemonSetSpec on DaemonSetSpec { + strategy { + type + } +} + `; +export const DaemonSetFragmentDoc = gql` + fragment DaemonSet on DaemonSet { + metadata { + ...Metadata + } + status { + ...DaemonSetStatus + } + spec { + ...DaemonSetSpec + } + pods { + ...Pod + } + raw + events { + ...Event + } +} + ${MetadataFragmentDoc} +${DaemonSetStatusFragmentDoc} +${DaemonSetSpecFragmentDoc} +${PodFragmentDoc} +${EventFragmentDoc}`; export const JobFragmentDoc = gql` fragment Job on Job { metadata { @@ -14179,20 +14243,14 @@ export const JobFragmentDoc = gql` ...Pod } raw + events { + ...Event + } } ${MetadataFragmentDoc} ${JobStatusFragmentDoc} -${PodFragmentDoc}`; -export const EventFragmentDoc = gql` - fragment Event on Event { - action - lastTimestamp - count - message - reason - type -} - `; +${PodFragmentDoc} +${EventFragmentDoc}`; export const NodeFragmentDoc = gql` fragment Node on Node { metadata { @@ -14368,8 +14426,16 @@ export const ServiceFragmentDoc = gql` } } raw + pods { + ...Pod + } + events { + ...Event + } } - ${MetadataFragmentDoc}`; + ${MetadataFragmentDoc} +${PodFragmentDoc} +${EventFragmentDoc}`; export const StatefulSetFragmentDoc = gql` fragment StatefulSet on StatefulSet { metadata { @@ -14389,9 +14455,17 @@ export const StatefulSetFragmentDoc = gql` serviceName } raw + pods { + ...Pod + } + events { + ...Event + } } ${MetadataFragmentDoc} -${StatusConditionFragmentDoc}`; +${StatusConditionFragmentDoc} +${PodFragmentDoc} +${EventFragmentDoc}`; export const UnstructuredResourceFragmentDoc = gql` fragment UnstructuredResource on KubernetesUnstructured { raw @@ -22138,17 +22212,9 @@ export const ArgoRolloutDocument = gql` query ArgoRollout($name: String!, $namespace: String!, $serviceId: ID) { argoRollout(name: $name, namespace: $namespace, serviceId: $serviceId) { ...ArgoRollout - pods { - ...Pod - } - events { - ...Event - } } } - ${ArgoRolloutFragmentDoc} -${PodFragmentDoc} -${EventFragmentDoc}`; + ${ArgoRolloutFragmentDoc}`; /** * __useArgoRolloutQuery__ @@ -22188,27 +22254,9 @@ export const CanaryDocument = gql` query Canary($name: String!, $namespace: String!, $serviceId: ID) { canary(name: $name, namespace: $namespace, serviceId: $serviceId) { ...Canary - canaryDeployment { - ...Deployment - } - primaryDeployment { - ...Deployment - } - ingress { - ...Ingress - } - ingressCanary { - ...Ingress - } - events { - ...Event - } } } - ${CanaryFragmentDoc} -${DeploymentFragmentDoc} -${IngressFragmentDoc} -${EventFragmentDoc}`; + ${CanaryFragmentDoc}`; /** * __useCanaryQuery__ @@ -22248,13 +22296,9 @@ export const CertificateDocument = gql` query Certificate($name: String!, $namespace: String!, $serviceId: ID) { certificate(name: $name, namespace: $namespace, serviceId: $serviceId) { ...Certificate - events { - ...Event - } } } - ${CertificateFragmentDoc} -${EventFragmentDoc}`; + ${CertificateFragmentDoc}`; /** * __useCertificateQuery__ @@ -22294,17 +22338,9 @@ export const CronJobDocument = gql` query CronJob($name: String!, $namespace: String!, $serviceId: ID) { cronJob(name: $name, namespace: $namespace, serviceId: $serviceId) { ...CronJob - events { - ...Event - } - jobs { - ...CronJobJob - } } } - ${CronJobFragmentDoc} -${EventFragmentDoc} -${CronJobJobFragmentDoc}`; + ${CronJobFragmentDoc}`; /** * __useCronJobQuery__ @@ -22344,13 +22380,9 @@ export const DaemonSetDocument = gql` query DaemonSet($name: String!, $namespace: String!, $serviceId: ID) { daemonSet(name: $name, namespace: $namespace, serviceId: $serviceId) { ...DaemonSet - events { - ...Event - } } } - ${DaemonSetFragmentDoc} -${EventFragmentDoc}`; + ${DaemonSetFragmentDoc}`; /** * __useDaemonSetQuery__ @@ -22390,17 +22422,9 @@ export const DeploymentDocument = gql` query Deployment($name: String!, $namespace: String!, $serviceId: ID) { deployment(name: $name, namespace: $namespace, serviceId: $serviceId) { ...Deployment - pods { - ...Pod - } - events { - ...Event - } } } - ${DeploymentFragmentDoc} -${PodFragmentDoc} -${EventFragmentDoc}`; + ${DeploymentFragmentDoc}`; /** * __useDeploymentQuery__ @@ -22440,13 +22464,9 @@ export const IngressDocument = gql` query Ingress($name: String!, $namespace: String!, $serviceId: ID) { ingress(name: $name, namespace: $namespace, serviceId: $serviceId) { ...Ingress - events { - ...Event - } } } - ${IngressFragmentDoc} -${EventFragmentDoc}`; + ${IngressFragmentDoc}`; /** * __useIngressQuery__ @@ -22486,13 +22506,9 @@ export const JobDocument = gql` query Job($name: String!, $namespace: String!, $serviceId: ID) { job(name: $name, namespace: $namespace, serviceId: $serviceId) { ...Job - events { - ...Event - } } } - ${JobFragmentDoc} -${EventFragmentDoc}`; + ${JobFragmentDoc}`; /** * __useJobQuery__ @@ -22827,17 +22843,9 @@ export const ServiceDocument = gql` query Service($name: String!, $namespace: String!, $serviceId: ID) { service(name: $name, namespace: $namespace, serviceId: $serviceId) { ...Service - pods { - ...Pod - } - events { - ...Event - } } } - ${ServiceFragmentDoc} -${PodFragmentDoc} -${EventFragmentDoc}`; + ${ServiceFragmentDoc}`; /** * __useServiceQuery__ @@ -22877,17 +22885,9 @@ export const StatefulSetDocument = gql` query StatefulSet($name: String!, $namespace: String!, $serviceId: ID) { statefulSet(name: $name, namespace: $namespace, serviceId: $serviceId) { ...StatefulSet - pods { - ...Pod - } - events { - ...Event - } } } - ${StatefulSetFragmentDoc} -${PodFragmentDoc} -${EventFragmentDoc}`; + ${StatefulSetFragmentDoc}`; /** * __useStatefulSetQuery__ @@ -25469,6 +25469,7 @@ export const MeDocument = gql` externalOidc cloud installed + consoleVersion manifest { ...Manifest } diff --git a/assets/src/graph/kubernetes/argoRollout.graphql b/assets/src/graph/kubernetes/argoRollout.graphql index 2d40400a58..4fa125265a 100644 --- a/assets/src/graph/kubernetes/argoRollout.graphql +++ b/assets/src/graph/kubernetes/argoRollout.graphql @@ -55,16 +55,16 @@ fragment ArgoRollout on ArgoRollout { ...ArgoRolloutSpec } raw + events { + ...Event + } + pods { + ...Pod + } } query ArgoRollout($name: String!, $namespace: String!, $serviceId: ID) { argoRollout(name: $name, namespace: $namespace, serviceId: $serviceId) { ...ArgoRollout - pods { - ...Pod - } - events { - ...Event - } } } diff --git a/assets/src/graph/kubernetes/canary.graphql b/assets/src/graph/kubernetes/canary.graphql index 5169c102a5..851c402296 100644 --- a/assets/src/graph/kubernetes/canary.graphql +++ b/assets/src/graph/kubernetes/canary.graphql @@ -30,25 +30,25 @@ fragment Canary on Canary { ...CanarySpec } raw + canaryDeployment { + ...Deployment + } + primaryDeployment { + ...Deployment + } + ingress { + ...Ingress + } + ingressCanary { + ...Ingress + } + events { + ...Event + } } query Canary($name: String!, $namespace: String!, $serviceId: ID) { canary(name: $name, namespace: $namespace, serviceId: $serviceId) { ...Canary - canaryDeployment { - ...Deployment - } - primaryDeployment { - ...Deployment - } - ingress { - ...Ingress - } - ingressCanary { - ...Ingress - } - events { - ...Event - } } } diff --git a/assets/src/graph/kubernetes/certificate.graphql b/assets/src/graph/kubernetes/certificate.graphql index 7e2eb93328..c58b42c167 100644 --- a/assets/src/graph/kubernetes/certificate.graphql +++ b/assets/src/graph/kubernetes/certificate.graphql @@ -35,13 +35,13 @@ fragment Certificate on Certificate { ...CertificateSpec } raw + events { + ...Event + } } query Certificate($name: String!, $namespace: String!, $serviceId: ID) { certificate(name: $name, namespace: $namespace, serviceId: $serviceId) { ...Certificate - events { - ...Event - } } } diff --git a/assets/src/graph/kubernetes/cronJob.graphql b/assets/src/graph/kubernetes/cronJob.graphql index b724bc19ea..7846798196 100644 --- a/assets/src/graph/kubernetes/cronJob.graphql +++ b/assets/src/graph/kubernetes/cronJob.graphql @@ -11,6 +11,12 @@ fragment CronJob on CronJob { concurrencyPolicy } raw + events { + ...Event + } + jobs { + ...CronJobJob + } } fragment CronJobJob on Job { @@ -26,11 +32,5 @@ fragment CronJobJob on Job { query CronJob($name: String!, $namespace: String!, $serviceId: ID) { cronJob(name: $name, namespace: $namespace, serviceId: $serviceId) { ...CronJob - events { - ...Event - } - jobs { - ...CronJobJob - } } } diff --git a/assets/src/graph/kubernetes/daemonset.graphql b/assets/src/graph/kubernetes/daemonset.graphql index 2286ffeee1..86ea578738 100644 --- a/assets/src/graph/kubernetes/daemonset.graphql +++ b/assets/src/graph/kubernetes/daemonset.graphql @@ -24,13 +24,13 @@ fragment DaemonSet on DaemonSet { ...Pod } raw + events { + ...Event + } } query DaemonSet($name: String!, $namespace: String!, $serviceId: ID) { daemonSet(name: $name, namespace: $namespace, serviceId: $serviceId) { ...DaemonSet - events { - ...Event - } } } diff --git a/assets/src/graph/kubernetes/deployment.graphql b/assets/src/graph/kubernetes/deployment.graphql index 9f83ca343c..3f441d6e0b 100644 --- a/assets/src/graph/kubernetes/deployment.graphql +++ b/assets/src/graph/kubernetes/deployment.graphql @@ -17,16 +17,16 @@ fragment Deployment on Deployment { } } raw + pods { + ...Pod + } + events { + ...Event + } } query Deployment($name: String!, $namespace: String!, $serviceId: ID) { deployment(name: $name, namespace: $namespace, serviceId: $serviceId) { ...Deployment - pods { - ...Pod - } - events { - ...Event - } } } diff --git a/assets/src/graph/kubernetes/ingress.graphql b/assets/src/graph/kubernetes/ingress.graphql index 853b4ad9a8..651c812346 100644 --- a/assets/src/graph/kubernetes/ingress.graphql +++ b/assets/src/graph/kubernetes/ingress.graphql @@ -32,13 +32,13 @@ fragment Ingress on Ingress { ...Certificate } raw + events { + ...Event + } } query Ingress($name: String!, $namespace: String!, $serviceId: ID) { ingress(name: $name, namespace: $namespace, serviceId: $serviceId) { ...Ingress - events { - ...Event - } } } diff --git a/assets/src/graph/kubernetes/job.graphql b/assets/src/graph/kubernetes/job.graphql index 9e20bc79d6..5f56f4fa0e 100644 --- a/assets/src/graph/kubernetes/job.graphql +++ b/assets/src/graph/kubernetes/job.graphql @@ -14,14 +14,14 @@ fragment Job on Job { ...Pod } raw + events { + ...Event + } } query Job($name: String!, $namespace: String!, $serviceId: ID) { job(name: $name, namespace: $namespace, serviceId: $serviceId) { ...Job - events { - ...Event - } } } diff --git a/assets/src/graph/kubernetes/service.graphql b/assets/src/graph/kubernetes/service.graphql index 5e6f6a1762..c86a0f79fb 100644 --- a/assets/src/graph/kubernetes/service.graphql +++ b/assets/src/graph/kubernetes/service.graphql @@ -20,16 +20,16 @@ fragment Service on Service { } } raw + pods { + ...Pod + } + events { + ...Event + } } query Service($name: String!, $namespace: String!, $serviceId: ID) { service(name: $name, namespace: $namespace, serviceId: $serviceId) { ...Service - pods { - ...Pod - } - events { - ...Event - } } } diff --git a/assets/src/graph/kubernetes/statefulSet.graphql b/assets/src/graph/kubernetes/statefulSet.graphql index 4f1f6e6dae..4de544f0ed 100644 --- a/assets/src/graph/kubernetes/statefulSet.graphql +++ b/assets/src/graph/kubernetes/statefulSet.graphql @@ -16,16 +16,16 @@ fragment StatefulSet on StatefulSet { serviceName } raw + pods { + ...Pod + } + events { + ...Event + } } query StatefulSet($name: String!, $namespace: String!, $serviceId: ID) { statefulSet(name: $name, namespace: $namespace, serviceId: $serviceId) { ...StatefulSet - pods { - ...Pod - } - events { - ...Event - } } } diff --git a/assets/src/graph/users.graphql b/assets/src/graph/users.graphql index 49217cb9b3..68c36debb6 100644 --- a/assets/src/graph/users.graphql +++ b/assets/src/graph/users.graphql @@ -110,6 +110,7 @@ query Me { externalOidc cloud installed + consoleVersion manifest { ...Manifest }