Pascal Bleser
b397cd461e
refactored the Session object, refactored the services/groupware directory, and started Swagger documentation implementation
2026-02-27 14:46:42 +01:00
Pascal Bleser
0ba962bda1
groupware: refactoring the API mechanisms
2026-02-27 14:46:42 +01:00
Pascal Bleser
1b5932da07
groupware: implement JSON:API's error response format, with a revamped error handling in jmap and services/groupware
2026-02-27 14:46:42 +01:00
Pascal Bleser
1b8f17439e
Refactor groupware service after ADR decision on the Groupware API
...
* after having decided that the Groupware API should be a standalone
independent custom REST API that is using JMAP data models as much as
possible,
* removed Groupware APIs from the Graph service
* moved Groupware implementation to the Groupware service, and
refactored a few things accordingly
2026-02-27 14:46:42 +01:00
Pascal Bleser
b830e24239
Groupware and jmap: cleanup and API documentation
2026-02-27 14:46:42 +01:00
Pascal Bleser
a7f5ce0547
groupware: remove unneeded messages.go that was a remainder from an earlier implementation attempt, which also fixes compilation issues due to changes in main
2026-02-27 14:46:42 +01:00
Pascal Bleser
7c572f98bd
opencloud_full: upgrade Stalwart to 0.12.5, and use the ghcr.io container repository to avoid Hub limits
2026-02-27 14:46:42 +01:00
Pascal Bleser
eca28fd996
Groupware improvements: refactoring, k6 tests
...
* refactored the models to be strongly typed with structs and mapstruct
to decompose the dynamic parts of the JMAP payloads
* externalized large JSON strings for tests into .json files under
testdata/
* added a couple of fantasy Graph groupware APIs to explore further
options
* added k6 scripts to test those graph/me/messages APIs, with a setup
program to set up users in LDAP, fill their IMAP inbox, activate them
in Stalwart, cleaning things up, etc...
2026-02-27 14:46:42 +01:00
Pascal Bleser
8b28e5312b
fix Stalwart LDAP configuration
2026-02-27 14:46:42 +01:00
Pascal Bleser
04266bc8ab
Use password policy overlay in LDAP and configure Stalwart to use it
2026-02-27 14:46:42 +01:00
Pascal Bleser
4a620a66ee
upgrade Stalwart to 0.12.4
2026-02-27 14:46:42 +01:00
Pascal Bleser
05a3b8fc32
groupware: removed debugging logs
2026-02-27 14:46:42 +01:00
Pascal Bleser
482d81bc89
jwkset: remove debugging printlns
2026-02-27 14:46:42 +01:00
Pascal Bleser
5d67e7b515
auth-api: fix: was missing newly introduced metrics
2026-02-27 14:46:42 +01:00
Pascal Bleser
b09161cfcb
groupware and jmap improvements and refactoring
2026-02-27 14:46:42 +01:00
Pascal Bleser
78264ed7c8
upgrade Stalwart to 0.12
2026-02-27 14:46:42 +01:00
Pascal Bleser
19725610c1
minor corrections to the Stalwart configuration
2026-02-27 14:46:42 +01:00
Pascal Bleser
75dac3645b
Introduce a the auth-api service
...
* primitive implementation to demonstrate how it could work, still to
be considered WIP at best
* add new dependency: MicahParks/jwkset and MicahParks/keyfunc to
retrieve the JWK set from KeyCloak to verify the signature of the
JWTs sent as part of Bearer authentication in the /auth API
* (minor) opencloud/.../service.go: clean up a logging statement that
was introduced earlier to hunt down why the auth-api service was not
being started
2026-02-27 14:46:41 +01:00
Pascal Bleser
bb2874177f
add an auth-api service to make an exemplary implementation of an external authentication API for third party services such as Stalwart
2026-02-27 14:46:41 +01:00
Pascal Bleser
de4b154391
move services/groupware/pkg/jmap to pkg/jmap
2026-02-27 14:46:41 +01:00
Pascal Bleser
46aa800152
WIP: restructure the Jmap client, and implement the /me/messages Graph API endpoint with it
2026-02-27 14:46:41 +01:00
Pascal Bleser
f43880d75b
add an OIDC Directory to Stalwart, requires exposing Keycloak port 8080 directly to access the userinfo endpoint using HTTP since the certificates in traefik are self-signed and end up being rejected by Stalwart with no option to bypass the certificate check
2026-02-27 14:46:41 +01:00
Pascal Bleser
116cecd84f
rename Stalwart fallback admin username from 'admin' to 'mailadmin' since 'admin' exists as a regular user in LDAP and thus won't have access to the administration
2026-02-27 14:46:41 +01:00
Pascal Bleser
df5514a1ed
add missing routing for /groupware (currently unprotected for testing)
2026-02-27 14:46:41 +01:00
Pascal Bleser
b12e0d5b29
WIP: initial implementation of the groupware service
2026-02-27 14:46:41 +01:00
Pascal Bleser
8c9a71a17d
Add Stalwart container to the opencloud_full deployment, using the OpenLDAP container as a directory for user authentication
2026-02-27 14:46:41 +01:00
dependabot[bot]
6cdf229979
build(deps): bump github.com/kovidgoyal/imaging from 1.8.19 to 1.8.20
...
Bumps [github.com/kovidgoyal/imaging](https://github.com/kovidgoyal/imaging ) from 1.8.19 to 1.8.20.
- [Release notes](https://github.com/kovidgoyal/imaging/releases )
- [Commits](https://github.com/kovidgoyal/imaging/compare/v1.8.19...v1.8.20 )
---
updated-dependencies:
- dependency-name: github.com/kovidgoyal/imaging
dependency-version: 1.8.20
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-26 18:38:29 +01:00
Mahdi Baghbani
d7cb432b4d
fix(ocm): allow insecure tls for wayf discovery ( #2404 )
...
* fix(ocm): allow insecure tls for wayf discovery
Signed-off-by: Mahdi Baghbani <mahdi-baghbani@azadehafzar.io >
2026-02-26 14:44:38 +01:00
Florian Schade
b69b9cd569
fix: simplify subject.session key parsing
2026-02-25 14:02:09 +01:00
Florian Schade
e8ecbd7af1
refactor: make the logout mode private
2026-02-25 14:02:09 +01:00
Florian Schade
fd614eacf1
fix: use base64 record keys to prevent separator clashes with subjects or sessionIds that contain a dot
2026-02-25 14:02:09 +01:00
Florian Schade
910298aa05
chore: change naming
2026-02-25 14:02:09 +01:00
Florian Schade
7350050a05
test: add more backchannellogout tests
2026-02-25 14:02:09 +01:00
Florian Schade
f72e3f1e32
chore: cleanup backchannel logout pr for review
2026-02-25 14:02:09 +01:00
Florian Schade
0c62c45494
enhancement: document idp side-effects
2026-02-25 14:02:09 +01:00
Florian Schade
f6553498f6
enhancement: finalize backchannel logout
2026-02-25 14:02:09 +01:00
Christian Richter
6a0fd89475
refactor deletion
...
Co-authored-by: Jörn Dreyer <j.dreyer@opencloud.eu >
Co-authored-by: Michael Barz <m.barz@opencloud.eu >
Signed-off-by: Christian Richter <c.richter@opencloud.eu >
2026-02-25 14:02:09 +01:00
Christian Richter
cb38aaab16
create mapping in cache for subject => sessionid
...
Signed-off-by: Christian Richter <c.richter@opencloud.eu >
2026-02-25 14:02:09 +01:00
Christian Richter
762062bfa3
add mapping to backchannel logout for subject => sessionid
...
Signed-off-by: Christian Richter <c.richter@opencloud.eu >
2026-02-25 14:02:09 +01:00
Christian Richter
291265afb0
add additional validation to logout token
...
Signed-off-by: Christian Richter <c.richter@opencloud.eu >
Co-authored-by: Michael Barz <m.barz@opencloud.eu >
2026-02-25 14:02:09 +01:00
opencloudeu
49a018e973
[tx] updated from transifex
2026-02-24 00:12:39 +00:00
Ralf Haferkamp
372bb04ee8
chore(idp): Bump dependencies
...
The axios bump addresses CVE-2025-7783
2026-02-23 09:38:12 +01:00
dependabot[bot]
b7eb6f768d
build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2
...
Bumps [github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway ) from 2.27.7 to 2.28.0.
- [Release notes](https://github.com/grpc-ecosystem/grpc-gateway/releases )
- [Commits](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.27.7...v2.28.0 )
---
updated-dependencies:
- dependency-name: github.com/grpc-ecosystem/grpc-gateway/v2
dependency-version: 2.28.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-23 09:34:09 +01:00
dependabot[bot]
e13ba4af06
build(deps): bump github.com/open-policy-agent/opa from 1.13.1 to 1.13.2
...
Bumps [github.com/open-policy-agent/opa](https://github.com/open-policy-agent/opa ) from 1.13.1 to 1.13.2.
- [Release notes](https://github.com/open-policy-agent/opa/releases )
- [Changelog](https://github.com/open-policy-agent/opa/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-policy-agent/opa/compare/v1.13.1...v1.13.2 )
---
updated-dependencies:
- dependency-name: github.com/open-policy-agent/opa
dependency-version: 1.13.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-23 09:31:49 +01:00
Jannik Stehle
2a2e882a59
Merge pull request #2377 from opencloud-eu/feat/web-adjust-surface-colors
...
feat(web): change surface colors to more modern ones
2026-02-23 07:34:59 +01:00
opencloudeu
42e9c27174
[tx] updated from transifex
2026-02-22 00:13:15 +00:00
Jannik Stehle
02d73157c1
feat(web): change surface colors to more modern ones
2026-02-20 16:13:32 +01:00
dependabot[bot]
801a4ce8c4
build(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.1
...
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go ) from 1.78.0 to 1.79.1.
- [Release notes](https://github.com/grpc/grpc-go/releases )
- [Commits](https://github.com/grpc/grpc-go/compare/v1.78.0...v1.79.1 )
---
updated-dependencies:
- dependency-name: google.golang.org/grpc
dependency-version: 1.79.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-19 18:27:12 +01:00
dependabot[bot]
74ff47e4c2
build(deps): bump github.com/onsi/ginkgo/v2 from 2.28.0 to 2.28.1
...
Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo ) from 2.28.0 to 2.28.1.
- [Release notes](https://github.com/onsi/ginkgo/releases )
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md )
- [Commits](https://github.com/onsi/ginkgo/compare/v2.28.0...v2.28.1 )
---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
dependency-version: 2.28.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-19 17:04:06 +01:00
dependabot[bot]
5851db3d93
build(deps): bump go.opentelemetry.io/contrib/zpages
...
Bumps [go.opentelemetry.io/contrib/zpages](https://github.com/open-telemetry/opentelemetry-go-contrib ) from 0.64.0 to 0.65.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.64.0...zpages/v0.65.0 )
---
updated-dependencies:
- dependency-name: go.opentelemetry.io/contrib/zpages
dependency-version: 0.65.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-19 13:27:49 +01:00