Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions locales/en/plugin__odf-console.json
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@
"404: Not Found": "404: Not Found",
"8 {{sizeUnit}}": "8 {{sizeUnit}}",
"A BackingStore represents a storage target to be used as the underlying storage layer in Multicloud Object Gateway buckets.": "A BackingStore represents a storage target to be used as the underlying storage layer in Multicloud Object Gateway buckets.",
"A dimension is the number of values in a vector. Larger dimensions require more storage.": "A dimension is the number of values in a vector. Larger dimensions require more storage.",
"A dimension must be an integer between 1 and 4096": "A dimension must be an integer between 1 and 4096",
"A failover will occur for all namespaces currently under this DRPC.": "A failover will occur for all namespaces currently under this DRPC.",
"A list of all Multicloud Object Gateway resources that are currently in use. Those resources are used to store data according to the buckets' policies and can be a cloud-based resource or a bare metal resource.": "A list of all Multicloud Object Gateway resources that are currently in use. Those resources are used to store data according to the buckets' policies and can be a cloud-based resource or a bare metal resource.",
Expand Down Expand Up @@ -180,7 +181,7 @@
"A unique name for your bucket.": "A unique name for your bucket.",
"A unique name to identify and manage this protection.": "A unique name to identify and manage this protection.",
"A unique name within this vector bucket.": "A unique name within this vector bucket.",
"A vector bucket stores vector indexes for semantic search and similar workloads. You can create one with an Object Bucket Claim or directly through the S3 Vectors API.": "A vector bucket stores vector indexes for semantic search and similar workloads. You can create one with an Object Bucket Claim or directly through the S3 Vectors API.",
"A vector bucket is a storage container that organizes and manages vector datasets (indexes), allowing users to store, retrieve and control access to data efficiently.": "A vector bucket is a storage container that organizes and manages vector datasets (indexes), allowing users to store, retrieve and control access to data efficiently.",
"Abort incomplete multipart uploads after {{ days }} days.": "Abort incomplete multipart uploads after {{ days }} days.",
"Above object tags and object size filters are not applicable for this rule action. Expired object delete markers will be removed from the bucket regardless of any filters you have configured.": "Above object tags and object size filters are not applicable for this rule action. Expired object delete markers will be removed from the bucket regardless of any filters you have configured.",
"Above object tags and object size filters are not applicable for this rule action. Incomplete multipart uploads will be removed from the bucket regardless of any filters you have configured.": "Above object tags and object size filters are not applicable for this rule action. Incomplete multipart uploads will be removed from the bucket regardless of any filters you have configured.",
Expand Down Expand Up @@ -276,7 +277,6 @@
"All required fields are not set": "All required fields are not set",
"All resources are unhealthy": "All resources are unhealthy",
"All selected nodes must have the network.rook.io/mon-ip annotation when using a dedicated storage network.": "All selected nodes must have the network.rook.io/mon-ip annotation when using a dedicated storage network.",
"All vectors in the index will be permanently removed. If you delete this index, you can create another index with the same name later.": "All vectors in the index will be permanently removed. If you delete this index, you can create another index with the same name later.",
"All volumes & Kubernetes resources are synced": "All volumes & Kubernetes resources are synced",
"All volumes are synced": "All volumes are synced",
"Allocate quota": "Allocate quota",
Expand Down Expand Up @@ -663,7 +663,6 @@
"Create a vector bucket to store and manage your vector indexes.": "Create a vector bucket to store and manage your vector indexes.",
"Create a vector index to start storing AI-ready vectors in this bucket.": "Create a vector index to start storing AI-ready vectors in this bucket.",
"Create and manage your buckets": "Create and manage your buckets",
"Create and manage your vector buckets": "Create and manage your vector buckets",
"Create BackingStore": "Create BackingStore",
"Create BackingStore ": "Create BackingStore ",
"Create bucket": "Create bucket",
Expand All @@ -674,7 +673,6 @@
"Create folder": "Create folder",
"Create IAM user": "Create IAM user",
"Create IBM Scale (CNSA)": "Create IBM Scale (CNSA)",
"Create index": "Create index",
"Create lifecycle rule": "Create lifecycle rule",
"Create local volume set": "Create local volume set",
"Create LocalVolumeSet": "Create LocalVolumeSet",
Expand Down Expand Up @@ -840,7 +838,6 @@
"Deleting": "Deleting",
"Deleting a bucket cannot be undone.": "Deleting a bucket cannot be undone.",
"Deleting a bucket cannot be undone. Bucket names are unique. If you delete a bucket, another S3 user can use the name.": "Deleting a bucket cannot be undone. Bucket names are unique. If you delete a bucket, another S3 user can use the name.",
"Deleting a vector index cannot be undone.": "Deleting a vector index cannot be undone.",
"Deleting this lifecycle rule may prevent the removal of existing objects, potentially increasing storage costs.": "Deleting this lifecycle rule may prevent the removal of existing objects, potentially increasing storage costs.",
"Deletion policy": "Deletion policy",
"Denies access to the bucket if the request is not made over HTTPS": "Denies access to the bucket if the request is not made over HTTPS",
Expand Down Expand Up @@ -956,7 +953,6 @@
"Edit Storage Pool": "Edit Storage Pool",
"Edit storage quota": "Edit storage quota",
"Edit to add resources": "Edit to add resources",
"Edit vector bucket policy": "Edit vector bucket policy",
"Effective capacity": "Effective capacity",
"Egress": "Egress",
"Egress Per Provider": "Egress Per Provider",
Expand Down Expand Up @@ -1031,6 +1027,7 @@
"Enter a prefix": "Enter a prefix",
"Enter a unique name": "Enter a unique name",
"Enter a valid rule name": "Enter a valid rule name",
"Enter a valid unix path": "Enter a valid unix path",
"Enter an exposed header": "Enter an exposed header",
"Enter at least one IBM Scale management endpoint to authenticate and configure the remote cluster (For high availability, define 2 or more endpoints). Use valid credentials to verify and establish a connection to the remote cluster.": "Enter at least one IBM Scale management endpoint to authenticate and configure the remote cluster (For high availability, define 2 or more endpoints). Use valid credentials to verify and establish a connection to the remote cluster.",
"Enter client": "Enter client",
Expand Down Expand Up @@ -1400,8 +1397,8 @@
"Maximum available:": "Maximum available:",
"Maximum disks limit": "Maximum disks limit",
"MCG endpoint": "MCG endpoint",
"Measures straight-line distance between vectors.": "Measures straight-line distance between vectors.",
"Measures the angle between vectors. Best for normalized vectors.": "Measures the angle between vectors. Best for normalized vectors.",
"Measures similarity between two vectors based only on direction.": "Measures similarity between two vectors based only on direction.",
"Measures straight-line distance between two vectors using both direction and magnitude.": "Measures straight-line distance between two vectors using both direction and magnitude.",
"Memory": "Memory",
"Memory required": "Memory required",
"Message": "Message",
Expand Down Expand Up @@ -2245,6 +2242,7 @@
"The Data Foundation operator is the primary operator of Data Foundation": "The Data Foundation operator is the primary operator of Data Foundation",
"The data resiliency includes 2 services": "The data resiliency includes 2 services",
"The data will be temporarily copied on a backing store in order to later access it much more quickly.": "The data will be temporarily copied on a backing store in order to later access it much more quickly.",
"The distance metric measures the distance between a query vector and stored vector.": "The distance metric measures the distance between a query vector and stored vector.",
"The DR Policy validation failed": "The DR Policy validation failed",
"The endpoint is not a valid IP address": "The endpoint is not a valid IP address",
"The endpoint server name. Useful when the KMIP endpoint does not have a DNS entry.": "The endpoint server name. Useful when the KMIP endpoint does not have a DNS entry.",
Expand Down Expand Up @@ -2286,6 +2284,7 @@
"Thick": "Thick",
"Thin": "Thin",
"This action cannot be undone": "This action cannot be undone",
"This action deletes the vector index within the bucket. This cannot be undone.": "This action deletes the vector index within the bucket. This cannot be undone.",
"This action may expose the bucket's contents to the public and introduce potential risks. Are you sure you want to proceed?": "This action may expose the bucket's contents to the public and introduce potential risks. Are you sure you want to proceed?",
"This action will overwrite the existing configuration, and any updates will immediately affect access permissions for users and applications. Review your changes carefully before proceeding.": "This action will overwrite the existing configuration, and any updates will immediately affect access permissions for users and applications. Review your changes carefully before proceeding.",
"This action will remove all associated access permissions, and any users or applications relying on this policy may lose access. This change cannot be undone.": "This action will remove all associated access permissions, and any users or applications relying on this policy may lose access. This change cannot be undone.",
Expand Down Expand Up @@ -2425,6 +2424,7 @@
"Use a predefined policy configuration?": "Use a predefined policy configuration?",
"Use an existing StorageClass": "Use an existing StorageClass",
"Use bucket policy to grant public or restricted access to the objects stored in the bucket.": "Use bucket policy to grant public or restricted access to the objects stored in the bucket.",
"Use bucket policy to grant public or restricted access to the vectors stored in the bucket.": "Use bucket policy to grant public or restricted access to the vectors stored in the bucket.",
"Use Ceph RBD as the default StorageClass": "Use Ceph RBD as the default StorageClass",
"Use CIDR notation. Eg: 192.168.200.0/24": "Use CIDR notation. Eg: 192.168.200.0/24",
"Use cluster network": "Use cluster network",
Expand All @@ -2442,7 +2442,6 @@
"Use the default OVN network for all internal communication.": "Use the default OVN network for all internal communication.",
"Use the host network to allow external access, support custom networking, or connect additional clusters to the storage provider. If no networks are specified, the default network will be used.": "Use the host network to allow external access, support custom networking, or connect additional clusters to the storage provider. If no networks are specified, the default network will be used.",
"Use the same S3 connection details as the first cluster": "Use the same S3 connection details as the first cluster",
"Use vector bucket policy to grant public or restricted access to the vector indexes stored in the bucket.": "Use vector bucket policy to grant public or restricted access to the vector indexes stored in the bucket.",
"used": "used",
"Used": "Used",
"Used / Total": "Used / Total",
Expand Down Expand Up @@ -2482,7 +2481,6 @@
"Vector": "Vector",
"Vector bucket policy applied.": "Vector bucket policy applied.",
"Vector buckets": "Vector buckets",
"Vector Buckets": "Vector Buckets",
"Vector DB type": "Vector DB type",
"Vector index": "Vector index",
"Vector index name": "Vector index name",
Expand All @@ -2497,6 +2495,7 @@
"Versions": "Versions",
"View {{title}} metrics in query browser": "View {{title}} metrics in query browser",
"View all": "View all",
"View and manage your vector buckets": "View and manage your vector buckets",
"View buckets": "View buckets",
"View details": "View details",
"View did not complete successfully.": "View did not complete successfully.",
Expand Down Expand Up @@ -2568,7 +2567,6 @@
"You can now delete the access key.": "You can now delete the access key.",
"You cannot (connect or) attach additional cluster to the storage provider.": "You cannot (connect or) attach additional cluster to the storage provider.",
"You do not have an active bucket policy.": "You do not have an active bucket policy.",
"You do not have an active vector bucket policy.": "You do not have an active vector bucket policy.",
"You do not have any CORS rule.": "You do not have any CORS rule.",
"You do not have any objects in this bucket": "You do not have any objects in this bucket",
"You do not have any SSD/NVMe disks available. Data Foundation supports only SSD/NVMe disk type in internal mode.": "You do not have any SSD/NVMe disks available. Data Foundation supports only SSD/NVMe disk type in internal mode.",
Expand Down
1 change: 1 addition & 0 deletions packages/odf/components/mcg/CreateObjectBucketClaim.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,7 @@ export const CreateOBCForm: React.FC<CreateOBCFormProps> = (props) => {
<TextInput
id="vector-bucket-subpath-obc"
type="text"
placeholder={t('Enter a valid unix path')}
value={s3VectorSubpath}
onChange={(_event, value) => setS3VectorSubpath(value)}
className="pf-v6-c-form-control"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,6 @@ const BucketPolicyContent: React.FC<BucketPolicyContentProps> = ({
editTooltip={t(
'Edit or delete the current bucket policy to customize access permissions or remove the existing configuration.'
)}
editButtonLabel={t('Edit bucket policy')}
emptyStateTitle={t('You do not have an active bucket policy.')}
schemaUri={BUCKET_POLICY_SCHEMA_URI}
>
{edit && <PreConfiguredPolicies setCode={setCode} />}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,6 @@ export type PolicyBodyProps = {
setCode: React.Dispatch<React.SetStateAction<string>>;
noPolicyExists: boolean;
editTooltip: string;
editButtonLabel: string;
emptyStateTitle: string;
schemaUri: string;
children?: React.ReactNode;
};
Expand All @@ -74,8 +72,6 @@ export const PolicyBody: React.FC<PolicyBodyProps> = ({
setEdit,
noPolicyExists,
editTooltip,
editButtonLabel,
emptyStateTitle,
schemaUri,
children,
}) => {
Expand Down Expand Up @@ -115,7 +111,7 @@ export const PolicyBody: React.FC<PolicyBodyProps> = ({
onClick={onEdit}
className="pf-v6-u-my-sm s3-policy-edit--margin"
>
{editButtonLabel}{' '}
{t('Edit bucket policy')}
</Button>
</Tooltip>
)}
Expand All @@ -131,7 +127,7 @@ export const PolicyBody: React.FC<PolicyBodyProps> = ({
setCode(value);
!edit && onEdit();
}}
emptyStateTitle={emptyStateTitle}
emptyStateTitle={t('You do not have an active bucket policy.')}
emptyStateBody={t(
'Drag a file here, upload files, or start from scratch.'
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ const CreateVectorBucket: React.FC<{}> = () => {
<CreateS3Bucket
title={t('Create vector bucket')}
description={t(
'A vector bucket stores vector indexes for semantic search and similar workloads. You can create one with an Object Bucket Claim or directly through the S3 Vectors API.'
'A vector bucket is a storage container that organizes and manages vector datasets (indexes), allowing users to store, retrieve and control access to data efficiently.'
)}
showNamespaceSelector={true}
bucketType={BucketType.S3Vector}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,17 @@ const CreateVectorBucketForm: React.FC = () => {
<TextInput
id="vector-bucket-subpath-s3"
type="text"
placeholder={t('Enter a valid unix path')}
value={subpathValue}
onChange={(_event, value) => setSubpathValue(value)}
className="pf-v6-c-form-control"
data-test-id="vector-bucket-subpath-s3"
/>
<div className="pf-v6-c-form__helper-text">
{t(
'An optional path within the bucket used to separate vector storage.'
)}
</div>
</FormGroup>
<ButtonBar errorMessage={errorMessage} inProgress={inProgress}>
<ActionGroup className="pf-v6-c-form">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {
useYupValidationResolver,
formSettings,
useCustomTranslation,
FieldLevelHelp,
} from '@odf/shared';
import PageHeading from '@odf/shared/heading/page-heading';
import { useForm } from 'react-hook-form';
Expand All @@ -30,6 +31,7 @@ import {
HelperText,
HelperTextItem,
NumberInput,
PopoverPosition,
Radio,
} from '@patternfly/react-core';
import { useS3BucketFormValidation as useS3VectorIndexFormValidation } from '../../s3-common/hooks/useS3BucketFormValidation';
Expand Down Expand Up @@ -152,7 +154,7 @@ const CreateVectorIndexForm: React.FC = () => {
return (
<>
<PageHeading breadcrumbs={breadcrumbs} title={t('Create vector index')}>
<Content component={ContentVariants.p} className="text-muted">
<Content component={ContentVariants.p}>
{t(
'Create a vector index to start storing AI-ready vectors in this bucket.'
)}
Expand Down Expand Up @@ -189,6 +191,13 @@ const CreateVectorIndexForm: React.FC = () => {
label={t('Dimension')}
className="pf-v6-u-mb-sm"
isRequired
labelHelp={
<FieldLevelHelp position={PopoverPosition.topStart}>
{t(
'A dimension is the number of values in a vector. Larger dimensions require more storage.'
)}
</FieldLevelHelp>
}
>
<NumberInput
id="vector-index-dimension-input"
Expand All @@ -214,12 +223,19 @@ const CreateVectorIndexForm: React.FC = () => {
isRequired
fieldId="distance-metric"
className="pf-v6-u-mb-md"
labelHelp={
<FieldLevelHelp position={PopoverPosition.topStart}>
{t(
'The distance metric measures the distance between a query vector and stored vector.'
)}
</FieldLevelHelp>
}
>
<span className="pf-v6-u-display-flex pf-v6-u-flex-direction-column">
<Radio
label={t('Cosine')}
description={t(
'Measures the angle between vectors. Best for normalized vectors.'
'Measures similarity between two vectors based only on direction.'
)}
name="distance-metric-radio"
isChecked={distanceMetric === DistanceMetric.Cosine}
Expand All @@ -230,7 +246,7 @@ const CreateVectorIndexForm: React.FC = () => {
<Radio
label={t('Euclidean')}
description={t(
'Measures straight-line distance between vectors.'
'Measures straight-line distance between two vectors using both direction and magnitude.'
)}
name="distance-metric-radio"
isChecked={distanceMetric === DistanceMetric.Euclidean}
Expand Down
Loading
Loading