+
+
+ {name}
+
+
+ {isSystemIngress && (
+
+ system
+
+ )}
+
);
}
diff --git a/app/react/kubernetes/ingresses/IngressDatatable/columns/type.tsx b/app/react/kubernetes/ingresses/IngressDatatable/columns/type.tsx
index 1a165071b..8ad56b94a 100644
--- a/app/react/kubernetes/ingresses/IngressDatatable/columns/type.tsx
+++ b/app/react/kubernetes/ingresses/IngressDatatable/columns/type.tsx
@@ -3,4 +3,5 @@ import { columnHelper } from './helper';
export const type = columnHelper.accessor('Type', {
header: 'Type',
id: 'type',
+ cell: ({ row }) => row.original.Type || '-',
});
diff --git a/app/react/kubernetes/ingresses/queries.ts b/app/react/kubernetes/ingresses/queries.ts
index 78940173f..86ea4a380 100644
--- a/app/react/kubernetes/ingresses/queries.ts
+++ b/app/react/kubernetes/ingresses/queries.ts
@@ -55,7 +55,8 @@ export function useIngress(
export function useIngresses(
environmentId: EnvironmentId,
- namespaces?: string[]
+ namespaces?: string[],
+ options?: { autoRefreshRate?: number }
) {
return useQuery(
[
@@ -117,6 +118,9 @@ export function useIngresses(
{
enabled: !!namespaces?.length,
...withError('Unable to get ingresses'),
+ refetchInterval() {
+ return options?.autoRefreshRate ?? false;
+ },
}
);
}
diff --git a/app/react/kubernetes/services/ServicesView/ServicesDatatable/ServicesDatatable.tsx b/app/react/kubernetes/services/ServicesView/ServicesDatatable/ServicesDatatable.tsx
index edab47c50..038924ad5 100644
--- a/app/react/kubernetes/services/ServicesView/ServicesDatatable/ServicesDatatable.tsx
+++ b/app/react/kubernetes/services/ServicesView/ServicesDatatable/ServicesDatatable.tsx
@@ -4,11 +4,7 @@ import clsx from 'clsx';
import { Row } from '@tanstack/react-table';
import { useEnvironmentId } from '@/react/hooks/useEnvironmentId';
-import {
- Authorized,
- useAuthorizations,
- useCurrentUser,
-} from '@/react/hooks/useUser';
+import { Authorized, useAuthorizations } from '@/react/hooks/useUser';
import { notifyError, notifySuccess } from '@/portainer/services/notifications';
import { pluralize } from '@/portainer/helpers/strings';
@@ -48,11 +44,13 @@ export function ServicesDatatable() {
);
const readOnly = !useAuthorizations(['K8sServiceW']);
- const { isAdmin } = useCurrentUser();
+ const canAccessSystemResources = useAuthorizations(
+ 'K8sAccessSystemNamespaces'
+ );
const filteredServices = services?.filter(
(service) =>
- (isAdmin && tableState.showSystemResources) ||
+ (canAccessSystemResources && tableState.showSystemResources) ||
!isSystemNamespace(service.Namespace)
);
@@ -75,13 +73,15 @@ export function ServicesDatatable() {