Skip to content
Open
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
7 changes: 6 additions & 1 deletion console/spec/polaris-management-service.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1135,10 +1135,15 @@ components:
example: "https://s3.internal.example.com:1234"
pathStyleAccess:
type: boolean
description: >-
description: >-
Whether S3 requests to files in this catalog should use 'path-style addressing for buckets'.
example: true
default: false
kmsUnavailable:
type: boolean
description: >-
if set to `true`, instructs Polaris Servers to avoid adding KMS key policies. This setting is
intended for configuring catalogs with S3-compatible storage implementations that do not support KMS.

AzureStorageConfigInfo:
type: object
Expand Down
10 changes: 10 additions & 0 deletions console/src/components/forms/CreateCatalogModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ const schema = z
s3_stsEndpoint: z.string().optional(),
s3_stsUnavailable: z.boolean().optional(),
s3_pathStyleAccess: z.boolean().optional(),
s3_kmsUnavailable: z.boolean().optional(),

// Azure
azure_tenantId: z.string().optional(),
Expand Down Expand Up @@ -170,6 +171,8 @@ export function CreateCatalogModal({ open, onOpenChange, onCreated }: CreateCata
storageConfigInfo.stsUnavailable = values.s3_stsUnavailable
if (typeof values.s3_pathStyleAccess === "boolean")
storageConfigInfo.pathStyleAccess = values.s3_pathStyleAccess
if (typeof values.s3_kmsUnavailable === "boolean")
storageConfigInfo.kmsUnavailable = values.s3_kmsUnavailable
}
if (values.storageType === "AZURE") {
if (values.azure_tenantId) storageConfigInfo.tenantId = values.azure_tenantId
Expand Down Expand Up @@ -392,6 +395,13 @@ export function CreateCatalogModal({ open, onOpenChange, onCreated }: CreateCata
<p className="mt-1 text-xs text-muted-foreground">
Whether S3 requests should use path-style addressing for buckets.
</p>
<label className="flex items-center gap-2 text-sm">
<input type="checkbox" {...register("s3_kmsUnavailable")} /> KMS unavailable
</label>
<p className="mt-1 text-xs text-muted-foreground">
Indicates that Polaris should not use KMS (e.g. if KMS is not available). Use this
for S3-compatible storage backends that do not support KMS.
</p>
</div>
</div>
)}
Expand Down
11 changes: 11 additions & 0 deletions console/src/components/forms/EditCatalogModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ const schema = z
s3_stsEndpoint: z.string().optional(),
s3_stsUnavailable: z.boolean().optional(),
s3_pathStyleAccess: z.boolean().optional(),
s3_kmsUnavailable: z.boolean().optional(),

// Azure
azure_tenantId: z.string().optional(),
Expand Down Expand Up @@ -141,6 +142,8 @@ export function EditCatalogModal({
storageConfigInfo.stsUnavailable = values.s3_stsUnavailable
if (typeof values.s3_pathStyleAccess === "boolean")
storageConfigInfo.pathStyleAccess = values.s3_pathStyleAccess
if (typeof values.s3_kmsUnavailable === "boolean")
storageConfigInfo.kmsUnavailable = values.s3_kmsUnavailable
}
if (values.storageType === "AZURE") {
if (values.azure_tenantId) storageConfigInfo.tenantId = values.azure_tenantId
Expand Down Expand Up @@ -217,6 +220,7 @@ export function EditCatalogModal({
s3_stsEndpoint: storageConfig?.stsEndpoint || "",
s3_stsUnavailable: storageConfig?.stsUnavailable || false,
s3_pathStyleAccess: storageConfig?.pathStyleAccess || false,
s3_kmsUnavailable: storageConfig?.kmsUnavailable || false,
azure_tenantId: storageConfig?.tenantId || "",
azure_multiTenantAppName: storageConfig?.multiTenantAppName || "",
azure_consentUrl: storageConfig?.consentUrl || "",
Expand Down Expand Up @@ -342,6 +346,13 @@ export function EditCatalogModal({
<p className="mt-1 text-xs text-muted-foreground">
Whether S3 requests should use path-style addressing for buckets.
</p>
<label className="flex items-center gap-2 text-sm">
<input type="checkbox" {...register("s3_kmsUnavailable")} /> KMS unavailable
</label>
<p className="mt-1 text-xs text-muted-foreground">
Indicates that Polaris should not use KMS (e.g. if KMS is not available). Use this
for S3-compatible storage backends that do not support KMS.
</p>
</div>
</div>
)}
Expand Down
8 changes: 8 additions & 0 deletions console/src/pages/CatalogDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,14 @@ export function CatalogDetails() {
</span>
</div>
)}
{catalog.storageConfigInfo.kmsUnavailable && (
<div className="flex gap-2">
<span className="font-mono text-sm text-muted-foreground">
KMS Unavailable:
</span>
<span className="font-mono text-sm">true</span>
</div>
)}
</div>
)}
{catalog.storageConfigInfo.storageType === "AZURE" && (
Expand Down
1 change: 1 addition & 0 deletions console/src/types/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ export interface StorageConfigInfo {
stsEndpoint?: string
stsUnavailable?: boolean
pathStyleAccess?: boolean
kmsUnavailable?: boolean
// Azure-specific
tenantId?: string
multiTenantAppName?: string
Expand Down
Loading