source.type: filesystem читает указанные пути на
той же машине, где запущен агент, и выдаёт один
поток — содержимое в формате gzip-сжатый tar
(как один логический артефакт).
paths; каждый корень
обходится рекурсивно
(filepath.WalkDir).paths идёт по порядку
их перечисления в YAML.filesystem_backup.tar.gz (независимо от
содержимого).application/gzip.backup задают параметры пайплайна
(например checksum), но имя архива задаёт именно
источник filesystem.source.config| Поле | Обязательно | По умолчанию | Смысл |
|---|---|---|---|
paths |
да | — | Непустой массив путей файловой системы (абсолютные пути — обычный выбор). |
exclude |
нет | [] |
Паттерны в синтаксисе Go filepath.Match:
*, ?, [chars]. Совпадение
проверяется и по filepath.Base (имя в
каталоге), и по относительному пути после отрезания одного ведущего
/ от полного пути. Для
каталога при совпадении весь каталог пропускается
(SkipDir). |
include_hidden |
нет | false |
Если false: любые элементы с именем, начинающимся с
., пропускаются (в том числе «точечные»
каталоги целиком). Если true: точечные имена включаются в
обход как обычные. |
follow_symlinks |
нет | false |
Если false (по умолчанию):
символические ссылки не попадают в архив (файлы за
ссылкой не читаются). Если true: ссылки обрабатываются
через tar так, как задаёт файловый metadata (ожидайте
запись заголовков symlink/целей согласно archive/tar и
режимам ОС). |
exclude не является glob по полному дереву вида
**; для сложной логики задавайте более узкие
paths или несколько задач/jobs.SupportsStream, SupportsFile,
SupportsDirectory → совместимо с типичными job в режиме
spec.artifact.mode: auto (поток в
destination без staging).job validate … --deep)Провайдер выполняет Probe: для каждого пути из
paths вызывается os.Stat.
Пути должны существовать и быть доступны для статистики процессом
агента.
Минимальный фрагмент:
source:
type: filesystem
config:
paths:
- /var/www/app/data
- /etc/myapp
include_hidden: false
follow_symlinks: false
exclude:
- "*.tmp"
- "*.log"Готовые job-примеры (репозиторий examples/, на сайте —
каталог с просмотром):
filesystem.local.yaml
· YAMLfilesystem.s3.streaming.yaml
· YAMLfilesystem.s3.aws-docker-fallback.yaml
· YAMLfilesystem.s3.env.streaming.yaml
· YAMLfilesystem.ssh.streaming.yaml
· YAMLЛокальный smoke-сценарий: runbook, §10.