Read-only mirror of https://github.com/SwissFederalArchives/lindas-admin-ch — Schweizerisches Bundesarchiv. Issues & pull requests at the source.
  • CSS 70.8%
  • Handlebars 17.8%
  • JavaScript 7.1%
  • Hurl 4.1%
  • Dockerfile 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-12 09:17:13 +02:00
.changeset chore: version packages 2026-08-12 09:17:13 +02:00
.github ci: fix the release flow not to build versioned images on ordinary push to main 2026-04-14 23:53:49 +02:00
content chore: fix outdated URLs 2 (Sven's confirmation) 2026-08-11 16:17:59 +02:00
docs Merge feature/devops-overhaul into main 2026-03-24 21:12:02 +01:00
locales add how-to-contribute locales 2025-06-05 20:26:08 +02:00
overlay [gitlab-228]: disable banner 2026-04-14 23:14:51 +02:00
plugins Make reload intervals configurable, add fast local dev mode 2026-02-26 18:46:00 +01:00
static Add LindasNext migration banner with multilingual messages 2026-02-27 14:28:38 +01:00
template [gitlab-173]: service desk url instead of email address (#136) 2026-05-05 11:29:59 +02:00
test ci: fix test deployment and e2e content-type checks 2026-04-15 00:09:41 +02:00
views gitlab-269: add status and usage guidance to key pages 2026-08-04 18:45:49 +02:00
.dockerignore chore: configure local environments 2023-02-09 11:43:33 +01:00
.editorconfig chore: move some old files in an old directory and remove the rest 2023-02-09 11:24:55 +01:00
.eslintrc chore: configure local environments 2023-02-09 11:43:33 +01:00
.gitignore chore: configure local environments 2023-02-09 11:43:33 +01:00
CHANGELOG.md chore: version packages 2026-08-12 09:17:13 +02:00
changelog.md v0.16.0 2026-03-30 22:54:28 +02:00
config.local.yaml Make reload intervals configurable, add fast local dev mode 2026-02-26 18:46:00 +01:00
config.norewrite.yaml Migrate to @lindas/* scoped npm packages 2025-12-15 11:18:49 +01:00
config.yaml v0.16.0 2026-03-30 22:54:28 +02:00
Dockerfile Migrate to @lindas/* scoped npm packages 2025-12-15 11:18:49 +01:00
menu.json Add dynamic menu and content hot-reload (#282 Phase 2) 2026-02-26 16:44:52 +01:00
package-lock.json chore: refresh YAS dependency lockfile 2026-08-04 17:01:28 +02:00
package.json chore: version packages 2026-08-12 09:17:13 +02:00
README.md docs: tests 2024-06-04 17:01:57 +02:00
RELEASE.md Review fixes: E2E condition, git config, concurrency, docs 2026-02-04 19:47:55 +01:00

lindas.admin.ch-site

This provides a server for the domain lindas.admin.ch and also ld.admin.ch.

Purpose

  • Website of lindas.admin.ch
  • Dereferencing of https://lindas.admin.ch/* and https://ld.admin.ch/*

Local deployment

You need to have Docker installed.

docker build -t lindas-admin-ch .
docker run --rm -p 8080:8080 lindas-admin-ch

Anatonomy of Website

Simple changes

Simple changes can be done through clicking on the (c) symbol on the bottom of the page, followed by mergin them on the subsequent web page.

Web pages are defined through

The web pages are in ./views defined with and need to be referenced themselfs in the Routing below. Best is to copy a basic site (e.g. publish.html) to start a new web page.

The web pages themself do refer in the code for the content to the multilingual versions of Markdown formated files in ./content. (It is important to use the same name for the _.html and _.md similar that the link from (c) works.)

The paths and the menu is specified in ./config.json:

  • Routing: staticViews Describes the URL paths and the files.
  • Navigation: content.navigation Describe the menu entries, titles and URL paths. (The titles are translated in /locales with the key navigation prefixed.)

Word based translations

All other non-page wide translations are done through the files in /locales

Deployment

There are three different environments:

  • test (TEST),
  • integration (INT),
  • production (PROD).

CI is configured for two branches: main and develop. The idea is to always deploy on INT before PROD. Everything that is on develop is deployed on TEST. If something needs to be deployed quickly on PROD, there is no need to go through TEST first ; INT -> PROD is enough for such situations.

Test

Every commit to develop branch creates a new test_<date_time> container image. The gitops-main detects new images and deploys them automatically to https://test.lindas.admin.ch.

Integration

Every commit to main branch creates a new int_<date_time> container image. The gitops-main detects new images and deploys them automatically to https://int.lindas.admin.ch.

Production

To push the current version that is deployed on integration to production:

  • Go to the Actions tab.
  • On the left, select the CI Workflow workflow.
  • You will see a table of all past runs of that workflow. On the first line, there is a select called Run workflow. Click on it, make sure main is the selected branch, and click the Run workflow button.

Quality Checks

It is important to make sure that the deployed instances are working as expected. For this, some tests are in place, in order to prevent most of the issues already.

Mandatory checks

Right now, some basic tests are run to check that the Trifid instance is able to start. If the tests are failing, nothing will be deployed, as this will make the pipeline fail.

You can also try those checks locally:

npm run test

Manual checks

It is also possible to trigger a manual action to test the current deployed instances on all environments.

For this, follow those steps:

  • Go to the Actions tab.
  • On the left, select the Manual Test workflow.
  • You will see a table of all past runs of that workflow. On the first line, there is a select called Run workflow. Click on it, make sure main is the selected branch, select the environment you want to check, and click the Run workflow button.

This allows you to check the current deployed version on the selected environment and notice any error. If the error is coming from a new change, the best thing to do is to revert the change and fix it before deploying again.

Those checks are not run on any commit in the default pipeline, as if the store is not reachable, it will make the pipeline fail and will block any deployment.