fix(demo): migrate Reactive Resume to SeaweedFS, fix Kiwix/Apple Health

- Replace MinIO + Chrome with SeaweedFS (S3) + bucket init container
- Update Reactive Resume to v5 config (S3_* env vars, APP_URL, AUTH_SECRET)
- Fix Kiwix: smaller ZIM download, graceful fallback on failure, start_period
- Fix Apple Health: use InfluxDB ping() instead of deprecated ready()
- Remove stale RESUME_CHROME_TOKEN and RESUME_REFRESH_TOKEN_SECRET
- Add .yamllint config to relax line-length for compose template
- Update validate-all.sh to use local yamllint config and new image refs
- Update unit tests for createbucket service (replaces chrome)

💘 Generated with Crush

Assisted-by: GLM-5.1 via Crush <crush@charm.land>
This commit is contained in:
2026-05-08 14:22:57 -05:00
parent ad59acbc28
commit b286b0a305
7 changed files with 79 additions and 72 deletions

View File

@@ -30,7 +30,7 @@ validate_yaml_files() {
)
for yaml_file in "${yaml_files[@]}"; do
if [[ -f "$DEMO_DIR/$yaml_file" ]]; then
if docker run --rm -v "$DEMO_DIR:/data" cytopia/yamllint /data/"$yaml_file" 2>&1; then
if docker run --rm -v "$DEMO_DIR:/data" cytopia/yamllint -c /data/.yamllint /data/"$yaml_file" 2>&1; then
log_pass "YAML validation: $yaml_file"
else
log_fail "YAML validation: $yaml_file"
@@ -85,8 +85,8 @@ validate_docker_images() {
"ghcr.io/atuinsh/atuin:v18.10.0"
"amruthpillai/reactive-resume:latest"
"postgres:16-alpine"
"minio/minio"
"ghcr.io/browserless/chromium:latest"
"chrislusf/seaweedfs:latest"
"quay.io/minio/mc:latest"
"ghcr.io/lowlighter/metrics:latest"
"ghcr.io/kiwix/kiwix-serve:latest"
"ghcr.io/srbhr/resume-matcher:latest"
@@ -195,8 +195,8 @@ validate_health_endpoints() {
"ta-elasticsearch:9200:/_cluster/health"
"reactiveresume-app:3000:/api/health"
"reactiveresume-postgres:5432:pg_isready"
"reactiveresume-minio:9000:/minio/health/live"
"reactiveresume-chrome:3000:/health"
"reactiveresume-minio:8888:/"
"reactiveresume-createbucket:N/A:mc"
"metrics:3000:/"
"kiwix:8080:/"
"resumematcher:3000:/api/v1/health"
@@ -214,7 +214,7 @@ validate_dependencies() {
log_pass "Dependency: Grafana -> InfluxDB"
log_pass "Dependency: Dockhand -> Docker Socket"
log_pass "Dependency: TubeArchivist -> Redis + Elasticsearch"
log_pass "Dependency: ReactiveResume -> Postgres + Minio + Chrome"
log_pass "Dependency: ReactiveResume -> Postgres + SeaweedFS"
log_pass "Dependency: AppleHealth -> InfluxDB"
log_pass "Dependency: All other services -> Standalone"
}