118 lines
2.7 KiB
YAML
118 lines
2.7 KiB
YAML
---
|
|
# Prefect project config for photo-pipeline
|
|
name: photo-pipeline
|
|
prefect-version: 3.8.1
|
|
|
|
build: null
|
|
push: null
|
|
|
|
pull:
|
|
- prefect.deployments.steps.set_working_directory:
|
|
directory: /home/sam/photo-pipeline
|
|
|
|
deployments:
|
|
- name: hello
|
|
version: null
|
|
tags: [photo-pipeline]
|
|
description: "Photo pipeline hello flow"
|
|
schedule:
|
|
cron: "*/5 * * * *"
|
|
timezone: "Australia/Melbourne"
|
|
flow_name: null
|
|
entrypoint: photo_pipeline_hello.py:hello_pipeline
|
|
parameters: {}
|
|
work_pool:
|
|
name: photo-pool
|
|
work_queue_name: null
|
|
job_variables: {}
|
|
|
|
- name: ingest
|
|
version: null
|
|
tags: [photo-pipeline]
|
|
description: "Hash + dedup-check a folder against the persistent fingerprint DB"
|
|
schedule: null
|
|
flow_name: null
|
|
entrypoint: photo_ingest.py:photo_ingest
|
|
parameters:
|
|
base_dir: /mnt/data/takeout
|
|
source: takeout
|
|
register: true
|
|
work_pool:
|
|
name: photo-pool
|
|
work_queue_name: null
|
|
job_variables: {}
|
|
|
|
- name: fetch
|
|
version: null
|
|
tags: [photo-pipeline]
|
|
description: "Download + track + extract Takeout archives (resume-capable)"
|
|
schedule: null
|
|
flow_name: null
|
|
entrypoint: takeout_fetch.py:takeout_fetch
|
|
parameters:
|
|
urls: []
|
|
manifest: null
|
|
export_id: null
|
|
work_pool:
|
|
name: photo-pool
|
|
work_queue_name: null
|
|
job_variables: {}
|
|
|
|
- name: quality
|
|
version: null
|
|
tags: [photo-pipeline]
|
|
description: "CleanVision quality audit; classify into keep/review/delete staging"
|
|
schedule: null
|
|
flow_name: null
|
|
entrypoint: quality_scan.py:quality_scan
|
|
parameters:
|
|
base_dir: /mnt/data/takeout
|
|
move: false
|
|
work_pool:
|
|
name: photo-pool
|
|
work_queue_name: null
|
|
job_variables: {}
|
|
|
|
- name: import
|
|
version: null
|
|
tags: [photo-pipeline]
|
|
description: "Import staged photos into Immich via server-bundled CLI (checksum dedup)"
|
|
schedule: null
|
|
flow_name: null
|
|
entrypoint: immich_import.py:immich_import
|
|
parameters:
|
|
src_dir: /mnt/data/01_keep
|
|
dry_run: true
|
|
work_pool:
|
|
name: photo-pool
|
|
work_queue_name: null
|
|
job_variables: {}
|
|
|
|
- name: watch
|
|
version: null
|
|
tags: [photo-pipeline]
|
|
description: "Watch /mnt/data/takeout/incoming; auto-chain pipeline on new Takeout material"
|
|
schedule:
|
|
interval: 900
|
|
timezone: "Australia/Melbourne"
|
|
flow_name: null
|
|
entrypoint: photo_watch.py:photo_watch
|
|
parameters: {}
|
|
work_pool:
|
|
name: photo-pool
|
|
work_queue_name: null
|
|
job_variables: {}
|
|
|
|
- name: staging
|
|
version: null
|
|
tags: [photo-pipeline]
|
|
description: "Materialize review decisions: move approved/rejected files to staging dirs"
|
|
schedule: null
|
|
flow_name: null
|
|
entrypoint: process_staging.py:process_staging
|
|
parameters: {}
|
|
work_pool:
|
|
name: photo-pool
|
|
work_queue_name: null
|
|
job_variables: {}
|