Merge pull request #680 from Kayphoon/codex/s3-backup-user-agent

feat(admin): configure S3 backup User-Agent
This commit is contained in:
fawney19
2026-07-16 23:30:30 +08:00
committed by GitHub
8 changed files with 46 additions and 1 deletions
+1
View File
@@ -964,6 +964,7 @@ export const MOCK_SYSTEM_CONFIGS: Array<{ key: string; value: unknown; descripti
{ key: 'backup_s3_scope', value: 'data', description: 'S3 备份范围' },
{ key: 'backup_s3_endpoint', value: null, description: 'S3 Endpoint' },
{ key: 'backup_s3_region', value: 'auto', description: 'S3 Region' },
{ key: 'backup_s3_user_agent', value: 'rclone/v1.68.0', description: 'S3 User-Agent' },
{ key: 'backup_s3_bucket', value: null, description: 'S3 Bucket' },
{ key: 'backup_s3_prefix', value: 'aether/backups/', description: 'S3 备份前缀' },
{ key: 'backup_s3_access_key_id', value: null, description: 'S3 Access Key ID' },
@@ -275,6 +275,21 @@
@update:model-value="backup.config.value.region = String($event)"
/>
</div>
<div>
<Label
for="backup-user-agent"
class="block text-sm font-medium"
>
User-Agent
</Label>
<Input
id="backup-user-agent"
:model-value="backup.config.value.userAgent"
class="mt-1"
placeholder="rclone/v1.68.0"
@update:model-value="backup.config.value.userAgent = String($event)"
/>
</div>
<div>
<Label
for="backup-prefix"
@@ -11,6 +11,7 @@ export interface S3BackupConfig {
scope: S3BackupScope
endpoint: string
region: string
userAgent: string
bucket: string
prefix: string
accessKeyId: string
@@ -34,6 +35,7 @@ const CONFIG_KEY_BY_FIELD: Record<ConfigField, string> = {
scope: 'backup_s3_scope',
endpoint: 'backup_s3_endpoint',
region: 'backup_s3_region',
userAgent: 'backup_s3_user_agent',
bucket: 'backup_s3_bucket',
prefix: 'backup_s3_prefix',
accessKeyId: 'backup_s3_access_key_id',
@@ -63,6 +65,7 @@ function defaultS3BackupConfig(): S3BackupConfig {
scope: 'data',
endpoint: '',
region: 'auto',
userAgent: 'rclone/v1.68.0',
bucket: '',
prefix: 'aether/backups/',
accessKeyId: '',
@@ -192,6 +195,7 @@ export function useS3BackupConfig() {
{ key: 'backup_s3_scope', value: config.value.scope, description: 'S3 备份范围' },
{ key: 'backup_s3_endpoint', value: config.value.endpoint.trim() || null, description: 'S3 Endpoint' },
{ key: 'backup_s3_region', value: config.value.region.trim() || 'auto', description: 'S3 Region' },
{ key: 'backup_s3_user_agent', value: config.value.userAgent.trim() || 'rclone/v1.68.0', description: 'S3 User-Agent' },
{ key: 'backup_s3_bucket', value: config.value.bucket.trim() || null, description: 'S3 Bucket' },
{ key: 'backup_s3_prefix', value: config.value.prefix.trim() || 'aether/backups/', description: 'S3 备份前缀' },
{ key: 'backup_s3_access_key_id', value: config.value.accessKeyId.trim() || null, description: 'S3 Access Key ID' },