{ if (e.detail) { bucket_config = { type: 'S3', bucket: '', region: '', access_key: '', secret_key: '', endpoint: '' } } else { bucket_config = undefined } }} />
{#if bucket_config}
{#if loading}
{:else}
{/if} Test from a server
{ if (e.detail === 'S3' && bucket_config?.type !== 'S3') { bucket_config = { type: 'S3', bucket: '', region: '', access_key: '', secret_key: '', endpoint: '' } } else if (e.detail === 'Azure' && bucket_config?.type !== 'Azure') { bucket_config = { type: 'Azure', accountName: '', containerName: '', useSSL: false, tenantId: '', clientId: '', accessKey: '' } } else if (e.detail === 'Gcs' && bucket_config?.type !== 'Gcs') { bucket_config = { type: 'Gcs', bucket: '', serviceAccountKey: {} } } else if (e.detail === 'AwsOidc' && bucket_config?.type !== 'AwsOidc') { bucket_config = { type: 'AwsOidc', bucket: '', region: '', roleArn: '' } } }} >
{#if bucket_config.type === 'S3'}
Bucket
Region
If left empty, will be derived automatically from $AWS_REGION
Access key ID
If left empty, will be derived automatically from $AWS_ACCESS_KEY_ID, pod or ec2 profile
Secret key
If left empty, will be derived automatically from $AWS_SECRET_KEY, pod or ec2 profile
Endpoint
Only needed for non AWS S3 providers like R2 or MinIo
Disable if using https only policy
{:else if bucket_config.type === 'Azure'}
Account name
Container name
Access key
Tenant ID
(optional)
Client ID
(optional)
Endpoint
(optional)
Only needed for non Azure Blob providers like Azurite
{:else if bucket_config.type === 'AwsOidc'}
Bucket
Region
Role ARN
{:else if bucket_config.type === 'Gcs'}
Bucket
Service Account Key
JSON content of the service account key file
{ if (bucket_config?.type === 'Gcs') { return JSON.stringify(bucket_config.serviceAccountKey) } else { return '{}' } }, (v) => { if (bucket_config?.type === 'Gcs') { try { bucket_config.serviceAccountKey = JSON.parse(v ?? '{}') } catch (_) { bucket_config.serviceAccountKey = {} } } } } class="h-80" />
{:else}
Unknown bucket type {bucket_config['type']}
{/if}
{/if}