Files
MicroServices/Tiltfile
T
2026-05-04 11:19:06 +01:00

65 lines
1.9 KiB
Python

# --- OpenStaticFish MicroServices Tiltfile ---
#
# Nix-managed dependencies:
# Run `nix develop` or use `nix run .#tilt -- up` to enter the dev shell
# with tilt, kubectl, docker, and all other deps available.
#
# Quick reference:
# nix run .#setup-kind - Create/select local Kind cluster
# tilt up - Start all services (live reload enabled)
# tilt down - Tear down all deployed resources
# tilt ui - Open the Tilt web UI (default: http://localhost:10350)
# tilt logs - Stream aggregated logs
# tilt status - Show resource status
# --- Global Settings ---
# Nix command wrapper:
# nix run .#setup-kind
#
# This creates/selects the supported local Kind context below.
allow_k8s_contexts('kind-openstaticfish')
# --- Scraper Service ---
# Builds the Docker image and deploys the manifest with live reload
docker_build('scraper', './services/scraper')
docker_build('site-analyzer', './services/site-analyzer')
k8s_yaml('./k8s/scraper.yaml')
k8s_yaml('./k8s/site-analyzer.yaml')
local_resource(
'webshare-secret',
cmd='doppler run -- bash ./scripts/apply-webshare-secret',
labels=['utility'],
)
# Watch source files for live reload
k8s_resource(
workload='scraper-deployment',
port_forwards='8080:8080',
resource_deps=['webshare-secret'],
labels=['scraper'],
)
k8s_resource(
workload='site-analyzer-deployment',
port_forwards='8090:8090',
labels=['site-analyzer'],
)
# --- Local Resources ---
# Run a simple health check as a local resource
local_resource(
'health-check',
cmd='curl -sf http://localhost:8080/health || echo "Service not ready"',
resource_deps=['scraper-deployment'],
labels=['utility'],
)
local_resource(
'site-analyzer-health-check',
cmd='curl -sf http://localhost:8090/health || echo "Site analyzer not ready"',
resource_deps=['site-analyzer-deployment'],
labels=['utility'],
)