-
Notifications
You must be signed in to change notification settings - Fork 3
Deployment Status
This page provides a comprehensive overview of the deployment status for all LINDAS components across the three environments (Test, Integration, Production).
For CI/CD pipeline details, see CI/CD Mechanisms.
| Environment | LINDAS Portal | Cube Creator | Cube Validator | LD Widget |
|---|---|---|---|---|
| Test | https://test.lindas.admin.ch | https://test.cube-creator.lindas.admin.ch | - | - |
| Integration | https://int.lindas.admin.ch | https://int.cube-creator.lindas.admin.ch | - | - |
| Production | https://lindas.admin.ch | https://cube-creator.lindas.admin.ch | https://cube-validator.lindas.admin.ch | https://widget.lindas.admin.ch |
The production environment serves the following specialized domains:
-
ld.admin.ch- Main Linked Data portal -
schema.ld.admin.ch- Schema definitions -
culture.ld.admin.ch- Cultural data -
energy.ld.admin.ch- Energy data -
education.ld.admin.ch- Education data -
agriculture.ld.admin.ch- Agricultural data -
environment.ld.admin.ch- Environmental data -
finance.ld.admin.ch- Financial data -
register.ld.admin.ch- Register data -
politics.ld.admin.ch- Political data -
health.ld.admin.ch- Health data -
communication.ld.admin.ch- Communication data -
transport.ld.admin.ch- Transport data -
population.ld.admin.ch- Population data -
ld.zh.ch- Canton Zurich data
This diagram shows the overall deployment architecture from GitHub repositories to Kubernetes clusters.

View Mermaid Source
flowchart TB
subgraph GITHUB["GitHub Repositories"]
direction TB
CC["lindas-cube-creator"]
AC["lindas-admin-ch"]
CV["lindas-cube-validator"]
LW["lindas-ld-widget"]
VP["lindas-varnish-post"]
CSC["lindas-clear-sparql-cache"]
SL["lindas-stack-libraries"]
B59["lindas-barnard59"]
TF["lindas-trifid"]
CL["lindas-cube-link"]
end
subgraph CICD["GitHub Actions CI/CD"]
direction TB
BUILD["Build & Test"]
DOCKER["Docker Build"]
NPM["NPM Publish"]
end
subgraph REGISTRIES["Container Registries"]
direction TB
GHCR["ghcr.io/swissfederalarchives"]
ZAZUKO["ghcr.io/zazuko"]
GITLAB["registry.ldbar.ch"]
end
subgraph GITOPS["GitOps - FluxCD"]
direction TB
GITOPSREPO["gitops-main"]
FLUX["FluxCD Controllers"]
end
subgraph K8S["Kubernetes Clusters"]
direction TB
subgraph SBAR["sbar cluster"]
TEST["zazuko-test"]
INT["zazuko-int"]
PROD["zazuko-prod"]
end
subgraph PROD1["c-sbar-prod1 cluster"]
CVNS["cube-validator"]
LDWNS["ld-widget"]
SD["stardog-*"]
end
end
GITHUB --> CICD
CICD --> BUILD
BUILD --> DOCKER
BUILD --> NPM
DOCKER --> REGISTRIES
NPM -->|"@lindas/* packages"| NPMREG["npm registry"]
REGISTRIES --> GITOPS
GITOPS --> FLUX
FLUX --> K8S
This diagram illustrates the CI/CD pipeline stages from code commit to deployment.

View Mermaid Source
flowchart LR
subgraph TRIGGER["Trigger"]
PUSH["Push to Branch"]
PR["Pull Request"]
TAG["Git Tag"]
end
subgraph LINT["Code Quality"]
ESLINT["ESLint"]
TYPECHECK["TypeScript Check"]
AUDIT["npm audit"]
end
subgraph TEST["Testing"]
UNIT["Unit Tests"]
E2E["E2E Tests"]
INTEG["Integration Tests"]
end
subgraph BUILD["Build"]
COMPILE["Compile/Bundle"]
DOCKERBUILD["Docker Build"]
SIGN["Image Signing"]
end
subgraph PUBLISH["Publish"]
GHCR["Push to GHCR"]
NPMREG["npm publish"]
SENTRY["Sentry Release"]
end
subgraph DEPLOY["Deploy via GitOps"]
IRC["Image Reflector"]
IAC["Image Automation"]
SYNC["Flux Sync"]
end
TRIGGER --> LINT
LINT --> TEST
TEST --> BUILD
BUILD --> PUBLISH
PUBLISH --> DEPLOY
PUSH -->|"develop/main"| LINT
PR -->|"feature/*"| LINT
TAG -->|"v*.*.*"| BUILD
This diagram shows how FluxCD manages deployments from container registries to Kubernetes environments.

View Mermaid Source
flowchart TB
subgraph GHCR["Container Registry (GHCR)"]
IMG_TEST["test_* images"]
IMG_INT["pipeline-* images"]
IMG_PROD["prod_* / v*.*.* images"]
end
subgraph FLUX["FluxCD Controllers"]
IRC["Image Reflector Controller<br/>Polls every 5 min"]
IAC["Image Automation Controller"]
SC["Source Controller"]
KC["Kustomize Controller"]
HC["Helm Controller"]
end
subgraph GITOPS["GitOps Repository"]
YAML["Deployment YAMLs"]
HELM["Helm Releases"]
SECRETS["Sealed Secrets"]
end
subgraph K8S_TEST["TEST Environment"]
TRIFID_T["Trifid"]
CC_T["Cube Creator"]
VARNISH_T["Varnish"]
end
subgraph K8S_INT["INT Environment"]
TRIFID_I["Trifid"]
CC_I["Cube Creator"]
VARNISH_I["Varnish"]
end
subgraph K8S_PROD["PROD Environment"]
TRIFID_P["Trifid"]
CC_P["Cube Creator"]
VARNISH_P["Varnish"]
CV_P["Cube Validator"]
LDW_P["LD Widget"]
end
GHCR --> IRC
IRC -->|"Detect new images"| IAC
IAC -->|"Update image tags"| GITOPS
GITOPS --> SC
SC --> KC
SC --> HC
KC --> K8S_TEST
KC --> K8S_INT
KC --> K8S_PROD
HC --> K8S_PROD
IMG_TEST -.->|"Auto-update"| K8S_TEST
IMG_INT -.->|"Auto-update"| K8S_INT
IMG_PROD -.->|"Manual update"| K8S_PROD
This diagram shows how container images are promoted across environments.

View Mermaid Source
flowchart LR
subgraph DEV["Development"]
CODE["Code Changes"]
PR["Pull Request"]
MERGE["Merge to main"]
end
subgraph TEST_ENV["TEST Environment"]
TEST_IMG["latest tag<br/>imagePullPolicy: Always"]
TEST_DEPLOY["Auto-deploy<br/>on every push"]
end
subgraph INT_ENV["INT Environment"]
INT_IMG["pipeline-master-*<br/>imagePullPolicy: IfNotPresent"]
INT_DEPLOY["Auto-deploy<br/>via FluxCD"]
end
subgraph PROD_ENV["PROD Environment"]
PROD_IMG["v*.*.* or prod_*<br/>imagePullPolicy: IfNotPresent"]
PROD_DEPLOY["Manual deploy<br/>Git commit required"]
end
CODE --> PR
PR -->|"Tests pass"| MERGE
MERGE -->|"Build & Push"| TEST_IMG
TEST_IMG --> TEST_DEPLOY
MERGE -->|"Tagged build"| INT_IMG
INT_IMG --> INT_DEPLOY
INT_DEPLOY -->|"QA Approved"| PROD_IMG
PROD_IMG -->|"Manual promotion"| PROD_DEPLOY
This diagram shows how data pipelines interact with the CI/CD process and deployed services.

View Mermaid Source
flowchart TB
subgraph USER["User Interaction"]
UPLOAD["Upload CSV/Data"]
CONFIG["Configure Mapping"]
TRIGGER["Trigger Pipeline"]
end
subgraph CC_UI["Cube Creator UI"]
PROJ["Create Project"]
MAP["Define Mappings"]
PREVIEW["Preview Data"]
end
subgraph CC_API["Cube Creator API"]
STORE["Store to S3/MinIO"]
GITLAB_TRIGGER["Trigger GitLab CI"]
STATUS["Monitor Status"]
end
subgraph GITLAB["GitLab CI Pipeline"]
FETCH["Fetch Data from S3"]
TRANSFORM["barnard59 Transform<br/>CSV to RDF"]
VALIDATE["SHACL Validation"]
PUBLISH["Publish to Stardog"]
end
subgraph STARDOG["Stardog Triplestore"]
SD_TEST["stardog-test"]
SD_INT["stardog-int"]
SD_PROD["stardog-prod"]
end
subgraph CACHE["Cache Layer"]
PURGE["clear-sparql-cache<br/>CronJob every 2min"]
VARNISH["Varnish Cache"]
end
subgraph TRIFID["Trifid Portal"]
QUERY["SPARQL Queries"]
BROWSE["Browse Entities"]
end
USER --> CC_UI
CC_UI --> CC_API
CC_API --> GITLAB
GITLAB --> STARDOG
STARDOG --> CACHE
CACHE --> TRIFID
PUBLISH -->|"INT"| SD_INT
PUBLISH -->|"PROD"| SD_PROD
PUBLISH -->|"TEST"| SD_TEST
PURGE -->|"Detect changes"| VARNISH
LINDAS portal based on Trifid for browsing and querying linked data.
| Environment | Image Repository | Image Tag | Helm Chart |
|---|---|---|---|
| Test | ghcr.io/swissfederalarchives/lindas-admin-ch |
test_2025-12-15_102219 |
trifid 2.0.2 |
| Integration | ghcr.io/swissfederalarchives/lindas-admin-ch |
int_2025-10-14_112922 |
trifid 2.0.2 |
| Production | ghcr.io/swissfederalarchives/lindas-admin-ch |
prod_2025-10-14_112954 |
trifid 2.0.2 |
Local Package Version: 0.14.0
Key Dependencies:
-
@lindas/trifid^6.0.2 -
@lindas/trifid-core^6.0.0 - Various trifid plugins (entity-renderer, ckan, graph-explorer, yasgui, etc.)
GitOps Location: gitops-main/clusters/sbar/zazuko/{env}/lindas/release.yaml
Web application for creating and managing RDF data cubes.
| Environment | Image Repository | Image Tag | Replicas |
|---|---|---|---|
| Test | ghcr.io/swissfederalarchives/lindas-cube-creator-api |
latest |
3 |
| Integration | ghcr.io/swissfederalarchives/lindas-cube-creator-api |
pipeline-master-19136902977 |
3 |
| Production | ghcr.io/zazuko/cube-creator-api |
v2.4.2 |
3 |
| Environment | Image Repository | Image Tag | Replicas |
|---|---|---|---|
| Test | ghcr.io/swissfederalarchives/lindas-cube-creator-app |
latest |
3 |
| Integration | ghcr.io/swissfederalarchives/lindas-cube-creator-app |
pipeline-master-19136902971 |
3 |
| Production | ghcr.io/zazuko/cube-creator-app |
v1.15.0 |
3 |
Note: Test and Integration use LINDAS fork images, while Production uses original Zazuko images.
GitOps Location: gitops-main/clusters/sbar/zazuko/{env}/cube-creator/{api,app}/deployment.yaml
Angular-based web application for validating RDF data cubes against SHACL shapes.
| Cluster | Image Repository | Image Tag |
|---|---|---|
| sbar (Production) | registry.ldbar.ch/zazuko/cube-validator |
branch-main-20240701220857 |
| c-sbar-prod1 (Production) | registry.ldbar.ch/zazuko/cube-validator |
branch-main-20240701220857 |
Key Dependencies:
- Angular 19.x
-
@lindas/env^3.0.4 -
@lindas/formats-lazy^1.0.2 -
@lindas/shacl-playground^3.0.1
Note: Cube Validator is deployed only to production environments on both clusters.
GitOps Location:
gitops-main/clusters/sbar/zazuko/cube-validator/deployment.yamlgitops-main/clusters/c-sbar-prod1/zazuko/cube-validator/deployment.yaml
Varnish-based HTTP cache for LINDAS SPARQL endpoints.
| Environment | Image Repository | Image Tag | Cache Size |
|---|---|---|---|
| Test | ghcr.io/swissfederalarchives/lindas-varnish-post |
v2.8.0 |
9GB |
| Integration | ghcr.io/zazuko/varnish-post |
v2.8.0 |
9GB |
| Production | ghcr.io/zazuko/varnish-post |
v2.8.0 |
39GB |
Local Package Version: 2.8.0
Configuration:
- Backend timeout: 600s
- Cache TTL: 23h
- Error caching disabled (30s TTL for errors)
- Prometheus metrics enabled on port 9131
GitOps Location: gitops-main/clusters/sbar/zazuko/{env}/varnish/deployment.yaml
Embeddable widget for displaying linked data.
| Cluster | Image Repository | Image Tag |
|---|---|---|
| sbar | ghcr.io/zazuko/ld-widget |
pipeline-main-8245427970 |
| c-sbar-prod1 | ghcr.io/zazuko/ld-widget |
pipeline-main-8245427970 |
Note: LD Widget is deployed only to production on both clusters.
GitOps Location:
gitops-main/clusters/sbar/zazuko/ld-widget/deployment.yamlgitops-main/clusters/c-sbar-prod1/zazuko/ld-widget/deployment.yaml
Automated cache purging service that runs as a CronJob.
| Environment | Image | Schedule |
|---|---|---|
| Test | ghcr.io/zazuko/clear-sparql-cache-endpoint:v0.3.2 |
Every 2 minutes |
| Integration | ghcr.io/zazuko/clear-sparql-cache-endpoint:v0.3.2 |
Every 2 minutes |
| Production | ghcr.io/zazuko/clear-sparql-cache-endpoint:v0.3.2 |
Every 2 minutes |
Local Package Version: 0.3.2
Purpose: Monitors SPARQL endpoint for data changes and triggers Varnish cache purge when needed.
GitOps Location: gitops-main/clusters/sbar/zazuko/{env}/varnish/purge.yaml
These repositories contain NPM packages that are used as dependencies by the deployed services.
Monorepo containing core RDF libraries for the LINDAS stack.
| Property | Value |
|---|---|
| Root Version | 0.0.4 |
| Package Count | 23 packages |
| Build System | Turbo |
Packages:
-
@lindas/clownface- RDF graph traversal -
@lindas/env,@lindas/env-core,@lindas/env-node- Environment utilities -
@lindas/formats-lazy- Lazy RDF format loading -
@lindas/prefixes,@lindas/rdf-vocabularies- RDF vocabulary helpers -
@lindas/shacl-playground,@lindas/shacl-test- SHACL validation tools -
@lindas/yasgui,@lindas/yasqe,@lindas/yasr- SPARQL query UI components - And more...
Monorepo for Linked Data pipeline tools.
| Property | Value |
|---|---|
| Root Version | 1.1.4 |
| Package Count | 15 packages |
Packages:
-
@lindas/barnard59- Main CLI -
@lindas/barnard59-core,@lindas/barnard59-base- Core pipeline functionality -
@lindas/barnard59-cube- Cube creation operations -
@lindas/barnard59-csvw- CSV to RDF transformation -
@lindas/barnard59-sparql- SPARQL operations -
@lindas/barnard59-http,@lindas/barnard59-s3,@lindas/barnard59-ftp- I/O operations -
@lindas/barnard59-shacl,@lindas/barnard59-validation- Validation tools - And more...
Monorepo for Trifid Linked Data browser and its plugins.
| Property | Value |
|---|---|
| Package Count | 12 packages |
Packages:
-
@lindas/trifid- Main Trifid application -
@lindas/trifid-core- Core framework -
@lindas/trifid-entity-renderer- Entity display -
@lindas/trifid-plugin-ckan- CKAN integration -
@lindas/trifid-plugin-graph-explorer- Graph visualization -
@lindas/trifid-plugin-yasgui- SPARQL query interface -
@lindas/trifid-plugin-sparql-proxy- SPARQL proxy with caching -
@lindas/trifid-plugin-spex- SPARQL explorer - And more...
SHACL validation schemas for LINDAS cubes.
| Property | Value |
|---|---|
| Package Name | lindas-cube-link |
| Current Version | 0.2.4 |
| Repository | https://github.com/SwissFederalArchives/lindas-cube-link |
| Type | NPM Package (private) |
Key Dependencies:
-
@lindas/trifid^6.0.1 - Various
@lindas/barnard59-*packages for testing
| Cluster | Purpose | Components |
|---|---|---|
| sbar | Main application cluster | Trifid, Cube Creator, Varnish, LD Widget, Cube Validator |
| c-sbar-prod1 | Production infrastructure | Cube Validator, LD Widget, Stardog instances |
| Namespace | Environment | Components |
|---|---|---|
zazuko-test |
Test | Trifid, Cube Creator, Varnish, Cache Purge |
zazuko-int |
Integration | Trifid, Cube Creator, Varnish, Cache Purge |
zazuko-prod |
Production | Trifid, Cube Creator, Varnish, Cache Purge |
zazuko-cube-validator |
Production | Cube Validator |
zazuko-ld-widget |
Production | LD Widget |
| Instance | Namespace | Purpose |
|---|---|---|
stardog-test |
stardog-test | Test environment triplestore |
stardog-int |
stardog-int | Integration environment triplestore |
stardog-prod |
stardog-prod | Production environment triplestore |
All deployments are managed via FluxCD GitOps. See CI/CD Mechanisms for detailed pipeline information.
| Environment | Strategy | Pull Policy |
|---|---|---|
| Test |
latest tag |
Always |
| Integration | Pipeline-generated tags (pipeline-master-{buildId}) |
IfNotPresent |
| Production | Semantic versions (v2.4.2) or dated tags (prod_YYYY-MM-DD) |
IfNotPresent |
- Image Reflector Controller: Polls container registries every 5 minutes
- Image Automation Controller: Updates Git with new image tags
- INT/TEST: Automatic updates enabled
- PROD: Manual updates via Git commits (automation suspended)
| Component | CPU Request | CPU Limit | Memory Request | Memory Limit |
|---|---|---|---|---|
| API | 200m | 500m | 500Mi | 1000Mi |
| App | 100m | 200m | 50Mi | 100Mi |
| Component | CPU Request | CPU Limit | Memory Request | Memory Limit |
|---|---|---|---|---|
| Varnish | 200m | 400m | 256Mi | 1Gi |
| HAProxy Purge | 100m | 200m | 128Mi | 256Mi |
| Component | CPU Request | CPU Limit | Memory Request | Memory Limit |
|---|---|---|---|---|
| Validator | 200m | 200m | 256Mi | 256Mi |
| LD Widget | 200m | 200m | 256Mi | 256Mi |
- Prometheus: Metrics collection from Varnish (port 9131) and other services
- Grafana: Dashboard visualization (available on sbar cluster)
- Graylog: Log aggregation (see Graylog Guide)
LINDAS Documentation | Home | Architecture | LINDASnext and Migration
Core Documentation
Operations & Monitoring
Dependencies & Architecture
- Ecosystem Dependencies Overview
- Inter-Component Dependencies
- External NPM Dependencies
- Legacy Dependencies Analysis
Current Migration: Stardog → GraphDB EE