Commit Graph

84 Commits

Author SHA1 Message Date
moebiusband 83d04dff17 feat(auth): replace .env/godotenv secret handling with config-based secrets
Secrets (JWT keys, LDAP sync password, OIDC client id/secret, cross-login
keys) are now configured directly in config.json under the auth section
where they are used. Each secret can still be supplied via its existing
environment variable, which takes precedence over the config value.

The godotenv dependency, the .env file, configs/env-template.txt and the
loadEnvironment() bootstrap step are removed. -init now writes the demo
JWT keys into config.json instead of a .env file.

Closes #283

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: 3a7cb814c53f
2026-06-17 12:28:17 +02:00
moebiusband 2b01b57495 feat: replace gorilla/sessions with alexedwards/scs/v2
Browser sessions are now server-side, stored in the SQLite database via
scs/sqlite3store (new `sessions` table, DB migration to version 12) instead
of gorilla/sessions client-side cookie storage. Only an opaque random token
is kept in the cookie; session data lives server-side and survives restarts.

Session middleware is wired as a hybrid to avoid buffering large responses:
scs.LoadAndSave on the login/logout write paths, and a non-buffering
read-only LoadSession middleware on the secured/config/frontend read paths
so the large GraphQL /query responses stream unbuffered. JWT-only APIs
(/api, /userapi, /api/metricstore) and static files are left unwrapped.

The session cookie Secure flag is now derived from the server config (set
when cc-backend terminates TLS itself); previously it was effectively never
set. The SESSION_KEY env var is removed as server-side tokens need no
signing secret. The dormant Bearer-JWT branch in the frontend urql client
is removed; the web UI authenticates GraphQL via the session cookie.

Closes #558

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: b51075f43cc7
2026-06-17 07:54:26 +02:00
moebiusband 9c6075ebb5 Update README to reflect main branch naming 2026-06-07 08:18:46 +02:00
moebiusband 01fb4d53f1 Fix broken link in README 2026-06-07 08:12:25 +02:00
moebiusband ed236ec539 Add Make targets for formatting and linting
Add configuration and document usage in README

Entire-Checkpoint: 53425877e242
2026-03-30 16:23:12 +02:00
moebiusband df93dbed63 Add busyTimeout config setting
Entire-Checkpoint: 81097a6c52a2
2026-03-16 11:30:21 +01:00
moebiusband 6e0fe62566 Add new db config options to README 2026-03-11 14:30:41 +01:00
moebiusband 7d8b305cd9 Add format conversion to archive manager 2026-02-13 13:54:10 +01:00
moebiusband 0dff9fa07f Update docs and agent files 2026-02-10 09:17:34 +01:00
moebiusband f41301036b Move metricstore from internal to pkg 2026-01-23 07:49:47 +01:00
moebiusband 11ec2267da Major refactor of metric data handling
- make the  internal memory store required and default
- Rename memorystore to metricstore
- Rename metricDataDispatcher to metricdispatch
- Remove metricdata package
- Introduce metricsync package for upstream metric data pull
2025-12-25 08:42:54 +01:00
moebiusband 9bf5c5dc1a Update README and config schema 2025-12-23 09:34:09 +01:00
moebiusband 1cd4a57bd3 Remove support for mysql/mariadb 2025-12-20 11:13:41 +01:00
moebiusband 5698d5216f Reformat 2025-12-15 11:24:56 +01:00
Jan Eitzinger 0cb50f2f01 Add warning for master branch usability
Added warning about the master branch not being production-ready.
2025-10-28 09:11:23 +01:00
moebiusband c093cca8b1 Update README 2024-11-16 07:45:18 +01:00
moebiusband e7ae9dd06d Cleanup README 2024-02-13 11:55:00 +01:00
Jan Eitzinger d388a45630 Update README.md 2023-09-06 13:56:55 +02:00
Christoph Kluge f6c4c963ec feat: Add users rest endpoint swagger docs 2023-08-18 17:18:31 +02:00
Jan Eitzinger 2c56bfd89e Update README.md 2023-06-29 15:16:21 +02:00
moebiusband 463b60acb6 Update doc files 2023-06-26 12:39:08 +02:00
Jan Eitzinger 1ee47bbc99 Merge pull request #142 from ClusterCockpit/hotfix
Hotfix
2023-06-14 14:37:37 +02:00
Alex 8ab482d503 Fix demo password in README.md 2023-06-14 10:33:01 +02:00
moebiusband 9bdd608361 Extend docs 2023-06-14 07:31:29 +02:00
moebiusband 18bbd11c5e Update documentation 2023-06-13 14:35:57 +02:00
moebiusband 3b2fbcfb52 Update README.md 2023-04-29 06:40:12 +02:00
Jan Eitzinger 5af1fa19b9 Update README.md 2023-02-27 09:12:26 +01:00
Jan Eitzinger 2472698367 Update README.md 2023-02-27 09:12:04 +01:00
Jan Eitzinger 57951bdcc2 Update README.md 2023-02-22 10:05:16 +01:00
moebiusband 8588664043 Update README.md 2023-02-22 10:04:37 +01:00
moebiusband 15e71869a8 Add notice about required golang version 2023-02-22 10:03:41 +01:00
Jan Eitzinger 6c0d192662 Update README.md 2023-02-21 18:04:37 +01:00
moebiusband 42d3318125 Add documentation in README 2023-02-21 13:50:15 +01:00
Jan Eitzinger e00e3208ca Update README.md 2022-11-11 14:19:36 +01:00
Jan Eitzinger 126630e01f Update README.md 2022-11-11 10:52:43 +01:00
Jan Eitzinger d50b777d7b Update README.md 2022-11-05 08:31:36 +01:00
Jan Eitzinger 31bee38790 Update README.md 2022-11-05 08:30:57 +01:00
Jan Eitzinger f368f83967 Update README.md 2022-11-05 08:21:16 +01:00
Jan Eitzinger bf15bdd003 Update README.md 2022-11-05 07:51:08 +01:00
Jan Eitzinger 8cea7fcbb2 Update README.md 2022-11-05 07:48:53 +01:00
Jan Eitzinger 9d9690b2ff Update README.md 2022-09-27 07:46:18 +02:00
Jan Eitzinger 4af3b62567 Update README.md 2022-09-27 07:44:35 +02:00
Jan Eitzinger 7eebc0b5b7 Update README.md 2022-09-26 16:39:34 +02:00
Jan Eitzinger d1fefe16a3 Update README.md 2022-09-26 15:46:38 +02:00
Jan Eitzinger 2753cf5652 Update README.md 2022-09-26 14:19:15 +02:00
Jan Eitzinger 597fe955fa Update README.md 2022-09-16 07:05:44 +02:00
Jan Eitzinger ae26c86e3b Add description on Swagger UI 2022-09-16 06:39:12 +02:00
Lou Knauer f2f54bec4b Fixes #18: Update documentation 2022-07-08 11:01:51 +02:00
Jan Eitzinger c1b7c8c6ae Update README.md 2022-07-06 06:37:30 +02:00
Jan Eitzinger 17f04a12dc Update README.md 2022-07-04 13:35:49 +02:00