Отримайте 50 ГБ безкоштовно!Зареєструйте безкоштовний акаунт та почніть міграцію сьогодні — кредитна картка не потрібна.Зареєструватися →
GodwitGodwit Sync
ГоловнаЦіниЗавантаженняДокументація
Кабінет клієнтаПочати
Почати
Довідник конфігураційного файлу

Довідник конфігураційного файлу

Godwit Sync підтримує конфігураційні файли YAML як альтернативу прапорцям CLI. Використовуйте --config (-f) для завантаження конфігураційного файлу.

Базове використання

godwit sync --config my-sync.yml
godwit sync -f my-sync.yml

# Override a config value with a CLI flag
godwit sync -f my-sync.yml --parallel 8

Пріоритет CLI

Прапорці CLI завжди мають пріоритет над значеннями конфігураційного файлу. Якщо прапорець встановлено в командному рядку, відповідне значення конфігурації ігнорується.

Змінні середовища

Значення конфігураційного файлу підтримують підстановку змінних середовища. Використовуйте синтаксис $VAR або ${VAR} для посилання на змінні середовища. Змінні розгортаються під час завантаження конфігураційного файлу.

source:
  endpoint: minio.example.com:9000
  access_key: $AWS_ACCESS_KEY_ID
  secret_key: ${AWS_SECRET_ACCESS_KEY}
  session_token: ${AWS_SESSION_TOKEN}

Невстановлені змінні середовища розгортаються в порожній рядок.

Структура конфігураційного файлу

Конфігураційний файл використовує формат YAML з такими секціями верхнього рівня:

Джерело

Налаштування endpoint джерела — локальний шлях або S3 bucket.

YAML ключТипПрапорець CLIОпис
source.urlstring--sourceШлях джерела або S3 URI (s3://bucket/prefix)
source.endpointstring--source-endpointS3 API endpoint (host:port)
source.auth_modestring--source-authРежим облікових даних (static, env, profile, iam, assume-role, anonymous, auto)
source.access_keystring--source-access-keyS3 ключ доступу
source.secret_keystring--source-secret-keyS3 секретний ключ
source.session_tokenstring--source-session-tokenНеобов’язковий токен сесії для тимчасових облікових даних
source.profilestring--source-profileІмʼя AWS-профілю (використовується з auth_mode: profile)
source.role_arnstring--source-role-arnIAM role ARN для STS AssumeRole
source.role_sessionstring--source-role-sessionІмʼя сесії для STS AssumeRole
source.regionstring--source-regionS3 регіон
source.securebool--source-secureВикористовувати TLS для S3 з’єднань
source.disable_keepalivebool--source-disable-keepaliveВимкнути HTTP keep-alive

Призначення

Налаштування endpoint призначення — локальний шлях або S3 bucket.

YAML ключТипПрапорець CLIОпис
destination.urlstring--destinationШлях призначення або S3 URI
destination.endpointstring--destination-endpointS3 API endpoint (host:port)
destination.auth_modestring--destination-authРежим облікових даних (static, env, profile, iam, assume-role, anonymous, auto)
destination.access_keystring--destination-access-keyS3 ключ доступу
destination.secret_keystring--destination-secret-keyS3 секретний ключ
destination.session_tokenstring--destination-session-tokenНеобов’язковий токен сесії для тимчасових облікових даних
destination.profilestring--destination-profileІмʼя AWS-профілю (використовується з auth_mode: profile)
destination.role_arnstring--destination-role-arnIAM role ARN для STS AssumeRole
destination.role_sessionstring--destination-role-sessionІмʼя сесії для STS AssumeRole
destination.regionstring--destination-regionS3 регіон
destination.securebool--destination-secureВикористовувати TLS для S3 з’єднань
destination.disable_keepalivebool--destination-disable-keepaliveВимкнути HTTP keep-alive

Політика

Політики порівняння та пропуску для фільтрації об’єктів.

YAML ключТипПрапорець CLIОпис
policy.comparestring--compare-policyПолітика порівняння (size,etag або size,mtime)
policy.skipstring[]--skipСписок суфіксів або шаблонів для пропуску
policy.matchstring--matchРегулярний вираз для включення лише відповідних ключів обʼєктів джерела

Параметри

Налаштування поведінки передачі — паралелізм, повтори, перезапис.

YAML ключТипПрапорець CLIОпис
options.parallelint--parallelКількість паралельних воркерів синхронізації
options.plan_parallelint--plan-parallelКількість паралельних воркерів планування
options.buffer_multiplierint--buffer-multiplierМножник довжини черги копіювання
options.multipart_thresholdint64--multipart-thresholdПоріг multipart завантаження в байтах
options.overridebool--overrideПерезаписати існуючі об’єкти призначення
options.skip_tagsbool--skip-tagsПропустити читання тегів об’єктів з джерела
options.unsupported_key_actionstring--unsupported-key-actionДія для непідтримуваних ключів обʼєктів S3: fail, skip або warn
options.retryint--retryМаксимум повторів на об’єкт
options.retry_backoffstring--retry-backoffБазова затримка між повторами
options.ram_conflict_checkbool--ram-conflict-checkВикористовувати оперативну пам'ять для виявлення конфліктів регістру (швидше, але необмежена RAM)

Запуск

Відстеження запуску — ID запуску, драйвер стану та шлях до файлу стану.

YAML ключТипПрапорець CLIОпис
run.run_idstring--run-idІдентифікатор запуску для відстеження
run.state_driverstring--state-driverДрайвер бекенду стану
run.state_pathstring--state-pathШлях до файлу бази даних стану
run.logs_dirstring--logs-dirДиректорія для логів спостережуваності

Вивід

Режим виводу в консоль — UI, стислий або тихий.

YAML ключТипПрапорець CLIОпис
output.uibool--uiУвімкнути детальне логування в консолі
output.briefbool--briefПоказувати лише основні повідомлення прогресу
output.silentbool--silentПридушити весь вивід консолі

Ліцензія

Шлях до файлу ліцензії або рядок ліцензії.

YAML ключТипПрапорець CLIОпис
license.filestring--license-fileШлях до файлу ліцензії
license.inlinestring--licenseBase64-рядок ліцензії

Обмеження швидкості

Контроль дросселювання — RPS, ширина каналу та одночасність.

YAML ключТипПрапорець CLIОпис
rate_limit.rpsfloat64--rpsЛіміт запитів на секунду (0 = вимкнено)
rate_limit.read_bpsint64--read-bpsЛіміт байтів читання на секунду (0 = вимкнено)
rate_limit.max_inflightint--max-inflightМаксимум одночасних завантажень (0 = вимкнено)

Статус

HTTP-адреса сервера метрик та статус-ендпоінту.

YAML ключТипПрапорець CLIОпис
status.addrstring--status-addrHTTP-адреса для сервера статусу/метрик
status.drain_timeoutint--drain-timeoutСекунди утримання сервера статусу/метрик активним після завершення операції, щоб читачі могли зібрати фінальні дані (за замовчуванням: 15)

Версіонування

Налаштування списку версій і фільтрації ключів джерела.

YAML ключТипПрапорець CLIОпис
versioning.modestring--version-modeРежим списку версій (latest, all, since:<RFC3339>)

Object Lock

Налаштування реплікації Object Lock для retention та legal hold.

YAML ключТипПрапорець CLIОпис
object_lock.enabledbool--object-lockРеплікувати налаштування Object Lock (retention та legal hold) з джерела на призначення

Приклади конфігурацій

Локальна файлова система → S3

Завантаження локальної директорії до S3-сумісного bucket.

source:
  url: "./data"

destination:
  url: "s3://my-bucket/backup"
  endpoint: localhost:9001
  access_key: access_key
  secret_key: secret_key
  secure: false

options:
  parallel: 3

output:
  ui: true

status:
  addr: ":8080"

S3 → Локальна файлова система

Завантаження об’єктів з S3 bucket до локальної директорії.

source:
  url: "s3://my-bucket/data"
  endpoint: localhost:9001
  access_key: access_key
  secret_key: secret_key
  secure: false

destination:
  url: "./downloads"

policy:
  skip:
    - .md5

options:
  parallel: 6

output:
  ui: true

S3 → S3

Копіювання даних між двома S3-сумісними endpoints.

source:
  url: "s3://source-bucket/data"
  endpoint: localhost:9001
  access_key: access_key
  secret_key: secret_key
  secure: false

destination:
  url: "s3://dest-bucket/backup"
  endpoint: localhost:9101
  access_key: access_key
  secret_key: secret_key
  secure: false

policy:
  skip:
    - .md5

options:
  parallel: 9

output:
  ui: true

status:
  addr: ":8080"

Повний приклад (усі секції)

Повний конфігураційний файл з усіма доступними параметрами.

source:
  url: "s3://source-bucket/prefix"
  endpoint: source.storage.example.com
  access_key: SOURCE_ACCESS_KEY
  secret_key: SOURCE_SECRET_KEY
  region: us-east-1
  secure: true

destination:
  url: "s3://dest-bucket/backup"
  endpoint: localhost:9000
  access_key: access_key
  secret_key: secret_key
  secure: false

policy:
  compare: "size,etag"
  skip:
    - .md5
    - .tmp
  match: "^data/.*\.txt$"

options:
  parallel: 4
  plan_parallel: 8
  buffer_multiplier: 4
  multipart_threshold: 67108864
  override: false
  skip_tags: false
  unsupported_key_action: "skip"
  retry: 3
  retry_backoff: "1s"

run:
  run_id: "daily-backup"
  state_driver: sqlite
  state_path: "./godwit-sync.state.db"
  logs_dir: "./logs"

output:
  ui: true
  brief: false
  silent: false

license:
  file: "./license.json"

rate_limit:
  rps: 50
  read_bps: 104857600
  max_inflight: 10

versioning:
  mode: "all"

object_lock:
  enabled: true

status:
  addr: ":8080"

Прапорці лише для CLI

Ці прапорці не мають еквіваленту в конфігураційному файлі та мають передаватися в командному рядку:

ПрапорецьОпис
--config (-f)Вибирає конфігураційний файл для завантаження
--plan-onlyПланування передачі без копіювання даних
--resumeВідновлення раніше запланованої передачі
--registerРеєстрація ліцензії на диск

Довідник CLI

Перегляньте повний список усіх прапорців CLI з типами, значеннями за замовчуванням та описами.

Переглянути довідник CLI
← ПосібникиДовідник CLI →

На цій сторінці

  • Базове використання
  • Пріоритет CLI
  • Змінні середовища
  • Структура конфігураційного файлу
    • Джерело
    • Призначення
    • Політика
    • Параметри
    • Запуск
    • Вивід
    • Ліцензія
    • Обмеження швидкості
    • Статус
    • Версіонування
    • Object Lock
  • Приклади конфігурацій
  • Прапорці лише для CLI
Godwit Sync

Міграція та синхронізація даних виробничого рівня для великих об'єктних сховищ. Контроль, передбачуваність та безпека у масштабі.

Продукт

  • Ціни
  • Документація
  • Changelog

Юридична інформація

  • Умови надання послуг
  • Угода користувача
  • Політика конфіденційності

© 2026 Godwit Sync. Усі права захищено.

Версія v1.1.5