1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-22 23:09:41 +02:00

fix(namespace): create ns qa feedback [EE-2226] (#10474)

This commit is contained in:
Ali 2023-10-16 19:15:44 +01:00 committed by GitHub
parent bcb3f918d1
commit 07ec2ffe5e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 34 additions and 43 deletions

View file

@ -97,9 +97,7 @@ export function NamespaceInnerForm({
}
errors={errors.registries}
/>
{storageClasses.length > 0 && (
<StorageQuotaFormSection storageClasses={storageClasses} />
)}
{storageClasses.length > 0 && <StorageQuotaFormSection />}
<NamespaceSummary
initialValues={initialValues}
values={values}

View file

@ -8,6 +8,7 @@ import { useEnvironmentId } from '@/react/hooks/useEnvironmentId';
import { InlineLoader } from '@@/InlineLoader';
import { FormControl } from '@@/form-components/FormControl';
import { FormSection } from '@@/form-components/FormSection';
import { TextTip } from '@@/Tip/TextTip';
import { RegistriesSelector } from './RegistriesSelector';
@ -24,10 +25,13 @@ export function RegistriesFormSection({ values, onChange, errors }: Props) {
});
return (
<FormSection title="Registries">
<TextTip color="blue" className="mb-2">
Define which registries can be used by users who have access to this
namespace.
</TextTip>
<FormControl
inputId="registries"
label="Select registries"
required
errors={errors}
>
{registriesQuery.isLoading && (

View file

@ -35,22 +35,12 @@ export function ResourceQuotaFormSection({
return (
<FormSection title="Resource Quota">
{values.enabled ? (
<TextTip color="blue">
A namespace is a logical abstraction of a Kubernetes cluster, to
provide for more flexible management of resources. Best practice is to
set a quota assignment as this ensures greatest security/stability;
alternatively, you can disable assigning a quota for unrestricted
access (not recommended).
</TextTip>
) : (
<TextTip color="blue">
A namespace is a logical abstraction of a Kubernetes cluster, to
provide for more flexible management of resources. Resource
over-commit is disabled, please assign a capped limit of resources to
this namespace.
</TextTip>
)}
<TextTip color="blue">
A resource quota sets boundaries on the compute resources a namespace
can use. It&apos;s good practice to set a quota for a namespace to
manage resources effectively. Alternatively, you can disable assigning a
quota for unrestricted access (not recommended).
</TextTip>
<SwitchField
data-cy="k8sNamespaceCreate-resourceAssignmentToggle"

View file

@ -1,15 +1,9 @@
import { StorageClass } from '@/react/portainer/environments/types';
import { FormSection } from '@@/form-components/FormSection';
import { TextTip } from '@@/Tip/TextTip';
import { StorageQuotaItem } from './StorageQuotaItem';
interface Props {
storageClasses: StorageClass[];
}
export function StorageQuotaFormSection({ storageClasses }: Props) {
export function StorageQuotaFormSection() {
return (
<FormSection title="Storage">
<TextTip color="blue">
@ -19,9 +13,7 @@ export function StorageQuotaFormSection({ storageClasses }: Props) {
this namespace.
</TextTip>
{storageClasses.map((storageClass) => (
<StorageQuotaItem key={storageClass.Name} storageClass={storageClass} />
))}
<StorageQuotaItem />
</FormSection>
);
}

View file

@ -1,23 +1,18 @@
import { Database } from 'lucide-react';
import { StorageClass } from '@/react/portainer/environments/types';
import { FeatureId } from '@/react/portainer/feature-flags/enums';
import { Icon } from '@@/Icon';
import { FormSectionTitle } from '@@/form-components/FormSectionTitle';
import { SwitchField } from '@@/form-components/SwitchField';
type Props = {
storageClass: StorageClass;
};
export function StorageQuotaItem({ storageClass }: Props) {
export function StorageQuotaItem() {
return (
<div key={storageClass.Name}>
<div>
<FormSectionTitle>
<div className="vertical-center text-muted inline-flex gap-1 align-top">
<Icon icon={Database} className="!mt-0.5 flex-none" />
<span>{storageClass.Name}</span>
<span>standard</span>
</div>
</FormSectionTitle>
<hr className="mt-2 mb-0 w-full" />