Files
Sylvain Tremblay 46ac4a572a feat(fleet): local-run scripts for example_fleet_server_install + glibc fix
Two scripts for running the new install Score against a local cluster:

- examples/fleet_server_install/run.sh — generic, cwd-independent
  passthrough around `cargo run -p example_fleet_server_install`.
- fleet/scripts/run_server_install.sh — opinionated k3d test harness:
  creates `fleet-server-test` cluster if absent (with NATS port 4222
  mapped through klipper-lb), builds the operator image via
  build_docker.sh, sideloads it, runs the Score, and leaves the
  cluster up. Prints teardown + redeploy commands at the end. Header
  documents the helm-idempotency limitation: a rebuilt image won't
  redeploy on a second run unless `helm uninstall` is invoked first
  (HelmChartScore short-circuits on chart_version match). Proper fix
  is deferred — content-hash chart_version or a force_upgrade flag.

Dockerfile glibc pin: builder pinned to `rust:1.94-slim-bookworm`.
Unsuffixed `rust:slim` follows Debian's latest stable (trixie =
glibc 2.40), so binaries built there fail to start on the
`debian:bookworm-slim` runtime (glibc 2.36) with "GLIBC_2.39 not
found". Surfaced when running the new scripts end-to-end.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 16:02:23 -04:00

15 lines
466 B
Bash
Executable File

#!/usr/bin/env bash
# Thin wrapper around `cargo run -p example_fleet_server_install`. All
# flags pass through to the binary — see src/main.rs for the surface,
# or run with --help.
#
# Requires KUBECONFIG to point at a reachable cluster + helm on PATH.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
cd "$REPO_ROOT"
exec cargo run -q --release -p example_fleet_server_install -- "$@"