Read-only mirror of https://github.com/SwissFederalArchives/lindas-cube-manager — Schweizerisches Bundesarchiv. Issues & pull requests at the source.
  • JavaScript 74.3%
  • HTML 13.9%
  • CSS 9.8%
  • PowerShell 0.8%
  • Shell 0.7%
  • Other 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Giulio V 8b42967ec8 Fix Dockerfile HEALTHCHECK to use /api/health endpoint
The Kubernetes deployment probes use /api/health for readiness and
liveness checks. The Dockerfile HEALTHCHECK was still using the root
path /, causing inconsistent health reporting between Docker and
Kubernetes environments.
2026-02-25 10:12:40 +01:00
.github/workflows Add service-deployment mode, Keycloak auth, CI/CD workflows and GitOps manifests 2026-02-24 15:06:30 +01:00
docs Add unified documentation replacing scattered docs 2026-02-20 11:09:40 +01:00
queries Fix security issues, SPARQL bugs, and large-cube timeout on delete 2026-02-20 09:39:52 +01:00
web-app Fix four bugs found in second code review 2026-02-24 16:34:10 +01:00
.dockerignore Reorganize project: archive deprecated components, consolidate docs, add Docker support 2026-02-03 10:06:12 +01:00
.gitignore Reorganize project: archive deprecated components, consolidate docs, add Docker support 2026-02-03 10:06:12 +01:00
changelog.md Fix Dockerfile HEALTHCHECK to use /api/health endpoint 2026-02-25 10:12:40 +01:00
docker-compose.yml Fix security issues, SPARQL bugs, and large-cube timeout on delete 2026-02-20 09:39:52 +01:00
Dockerfile Fix Dockerfile HEALTHCHECK to use /api/health endpoint 2026-02-25 10:12:40 +01:00
README.md Add README 2026-02-20 13:58:51 +01:00

LINDAS Cube Manager

A web application for cleaning up old cube versions in a LINDAS-compatible RDF triplestore. It identifies cube versions older than the N most recent per base cube, backs them up, and deletes them.

Features

  • Interactive deletion wizard (select graph → preview → backup → delete → summary)
  • Chunked SPARQL DELETE to handle large cube versions without proxy timeouts
  • ZIP backup with selective restore per cube
  • Orphan SHACL shape detection and cleanup
  • Supports Apache Fuseki, Stardog, and GraphDB

Quick Start

cd web-app
npm install
ENABLE_DESTRUCTIVE_API=true node server.js

Open http://localhost:3001.

Docker

docker-compose up -d

The destructive API is disabled by default. Uncomment ENABLE_DESTRUCTIVE_API=true in docker-compose.yml to enable deletions.

Environment Variables

Variable Default Description
PORT 3001 Web server port
ENABLE_DESTRUCTIVE_API false Must be true to run deletions
API_AUTH_TOKEN (none) Optional bearer token for destructive endpoints

Infrastructure Note

When running against Stardog behind a reverse proxy, set the proxy read timeout to at least 300 seconds for SPARQL UPDATE endpoints. The default 30-second timeout causes failures on large cube versions.

Documentation

See docs/DOCUMENTATION.md for full reference.