Stockage et santé
Stockage
Système de fichiers
[storage]
type = "filesystem"
path = "/var/cache/batlehub"Compatible S3 (AWS S3, RustFS)
[storage]
type = "s3"
bucket = "batlehub-artifacts"
region = "us-east-1"
# Pour un S3 auto-hébergé (RustFS) : déclarez un endpoint personnalisé
# endpoint_url = "http://rustfs:9900"
# force_path_style = trueLe bloc n'accepte aucun identifiant, et une clé inconnue y est ignorée plutôt que refusée. Ils viennent de la chaîne du SDK AWS — un rôle IAM, ou AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY dans l'environnement.
Stockage multi-backend
Des registres différents peuvent employer des backends différents — par exemple le système de fichiers pour la plupart et un S3 dédié aux gros artefacts de releases GitHub :
[storage]
type = "filesystem"
path = "/var/cache/batlehub"
[[storage.backends]]
name = "github-s3"
type = "s3"
bucket = "batlehub-github"
region = "us-east-1"
[[registries]]
type = "github"
name = "github"
storage = "github-s3"S3 avec RustFS (auto-hébergé)
Démarrez RustFS par le fichier Compose fourni, puis créez le bucket :
task compose:s3:db # démarre RustFS + Postgres + Authentik
rc alias set local http://localhost:9900 rustfsadmin rustfsadmin
rc bucket create local/artifacts # ou : task compose:s3:bucket:create
task run:s3 # lance le serveur avec la configuration S3Santé et observabilité
L'endpoint de santé
curl -H "Authorization: Bearer <admin-token>" \
http://localhost:8080/api/v1/admin/healthRenvoie l'état par registre (joignabilité de l'amont, taux de hit du cache) et l'état global du serveur.
Vider le cache d'un registre
Force la prochaine requête sur n'importe quel paquet du registre à repasser par l'amont :
curl -X POST \
-H "Authorization: Bearer <admin-token>" \
http://localhost:8080/api/v1/admin/registries/npm/clear-cacheOpenTelemetry (Jaeger, Tempo)
Activez le traçage distribué en ajoutant un bloc [otel] :
[otel]
endpoint = "http://jaeger:4317"Démarrez la pile d'observabilité complète en local :
task compose:otel # démarre Postgres, le serveur et JaegerPuis ouvrez http://localhost:16686 pour la console Jaeger.