Pascal Bleser
3640ce65cd
groupware: rebump go from 1.25.0 to 1.25.8, as done by dependeabot in 5e27a70
2026-07-01 14:57:32 +02:00
Pascal Bleser
3e4325e408
groupware: downgrade to Go 1.25 since our building images are only available for 1.25 at the moment
...
* retrofit from using self-referencing generics parameters that were
introduced with Go 1.26, will re-enable when we upgrade to 1.26
* re-introduce a 'ptr' func since we don't have the new 'new' func yet
that comes with 1.26
2026-07-01 14:57:31 +02:00
Pascal Bleser
fbede45a34
groupware: port tests to Stalwart 0.16.7
2026-07-01 14:57:31 +02:00
Pascal Bleser
15d708fa37
groupware: refactoring for pagination and support for multiple query suppliers
...
* refactor APIs in JMAP and Groupware in order to implement pagination
across multiple accountIds and multiple suppliers (currently
implemented using a mock supplier for contacts)
* requires go 1.26 due to use of self-reflecting generics type
constraints
* still missing: query criteria and sorting parameters
* still missing: multi-accountId support for emails
* errors are now all just 'error' in the APIs, instead of the
specialized implementations, and are interpreted dynamically where
necessary in order to transform them into HTTP responses
* remove position, anchor, anchorOffset as individual query parameters
as we now only support a 'next=...' token for subsequent pages
(except in emails for now), and use jmap.QueryParams instead; those
tokens have a header character for the format, followed by a JSON
encoded QueryParams map, all wrapped into base62 to make it clearer
that it is meant to be an opaque token, and not a parameter clients
should tinker with or construct themselves
* introduce QueryParamsSupplier as an interface to provide QueryParams
for various scenarios (single supplier, multiple supplier, ...) per
accountId
* implement multi-supplier template methods slist and squery
2026-07-01 14:57:31 +02:00
Pascal Bleser
d1d88a5f9e
groupware: model refactoring, introducing typed interfaces and Foo
...
* move ContactCard from jscontact to jmap, as it is actually a JMAP
specification item, but also was causing too many issues with
circular references from jscontact -> jmap
* introduce Foo, Idable, GetRequest, GetResponse, etc... types and
generics
* first attempt at a Foo factory type for Mailboxes, needs to be
expanded to further minimize repetition
* add more specialized template functions to avoid repetition
* introduce ChangesTemplate[T] for *Changes structs
2026-07-01 14:57:31 +02:00
Pascal Bleser
a26e7f483c
groupware: add OIDC authentication support between Groupware backend and Stalwart
...
* re-implement the auth-api service to authenticate Reva tokens
following the OIDC Userinfo endpoint specification
* pass the context where necessary and add an authenticator interface
to the JMAP HTTP driver, in order to select between master
authentication (which is used when GROUPWARE_JMAP_MASTER_USERNAME and
GROUPWARE_JMAP_MASTER_PASSWORD are both set) and OIDC token
forwarding through bearer auth
* add Stalwart directory configuration "idmoidc" which uses the
OpenCloud auth-api service API (/auth/) to validate the token it
received as bearer auth from the Groupware backend's JMAP client,
using it as an OIDC Userinfo endpoint
* implement optional additional shared secret to secure the Userinfo
service, as an additional path parameter
2026-07-01 14:57:30 +02:00
Pascal Bleser
d5cb48ab03
fix go.mod by tidying after a significant rebase
2026-07-01 14:57:30 +02:00
Pascal Bleser
2e7eba5c71
groupware: add email HTML sanitization
...
* sanitize email text/html body parts using bluemonday
* deps(groupware):
- new dependency: github.com/microcosm-cc/bluemonday
- transitive dependencies:
- github.com/aymerick/douceur
- github.com/gorilla/css
2026-07-01 14:57:28 +02:00
Pascal Bleser
3f72fc52f0
groupware: improve jmap integration tests
...
* use gofakeit instead of loremipsum, as it can also fake images for
attachments
* random emails for testing: generate threads, add attachments
2026-07-01 14:57:28 +02:00
Pascal Bleser
d2362b5782
start websocket implementation, add endpoint for email summaries
...
* feat(groupware): start implementing JMAP websocket support for push
notifications (unfinished)
* groupware: add GetLatestEmailsSummaryForAllAccounts
* add new vendored dependency: github.com/gorilla/websocket
* jmap: add QueryEmailSummaries
* openapi: start adding examples
* openapi: add new tooling for api-examples.yaml injection
* apidoc-process.ts: make it more typescript-y
* bump @redocly/cli from 2.0.8 to latest 2.2.0
2026-07-01 14:57:27 +02:00
Pascal Bleser
e75216e898
test(groupware): add testcontainers based jmap test
...
* adds pkg/jmap/jmap_integration_test.go
* uses ghcr.io/stalwartlabs/stalwart:v0.13.2-alpine
* can be disabled by setting one of the following environment
variables, in the same fashion as ca0493b28
- CI=woodpecker
- CI_SYSTEM_NAME=woodpecker
- USE_TESTCONTAINERS=false
* dependencies:
- bump github.com/go-test/deep from 1.1.0 to 1.1.1
- add github.com/cention-sany/utf7
- add github.com/dustinkirkland/golang-petname
- add github.com/emersion/go-imap/v2
- add github.com/emersion/go-message
- add github.com/emersion/go-sasl
- add github.com/go-crypt/crypt
- add github.com/go-crypt/x
- add github.com/gogs/chardet
- add github.com/inbucket/html2text
- add github.com/jhilleryerd/enmime/v2
- add github.com/ssor/bom
- add gopkg.in/loremipsum.v1
2026-07-01 14:57:26 +02:00
Pascal Bleser
8e9981ff42
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-07-01 14:56:55 +02:00
Pascal Bleser
3f92844dcd
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-07-01 14:56:55 +02:00
dependabot[bot]
e599fa57aa
build(deps): bump github.com/jellydator/ttlcache/v3 from 3.4.0 to 3.4.1
...
Bumps [github.com/jellydator/ttlcache/v3](https://github.com/jellydator/ttlcache ) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/jellydator/ttlcache/releases )
- [Commits](https://github.com/jellydator/ttlcache/compare/v3.4.0...v3.4.1 )
---
updated-dependencies:
- dependency-name: github.com/jellydator/ttlcache/v3
dependency-version: 3.4.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-01 09:57:45 +02:00
dependabot[bot]
00ec9a8898
build(deps): bump go.etcd.io/bbolt from 1.4.3 to 1.5.0
...
Bumps [go.etcd.io/bbolt](https://github.com/etcd-io/bbolt ) from 1.4.3 to 1.5.0.
- [Release notes](https://github.com/etcd-io/bbolt/releases )
- [Commits](https://github.com/etcd-io/bbolt/compare/v1.4.3...v1.5.0 )
---
updated-dependencies:
- dependency-name: go.etcd.io/bbolt
dependency-version: 1.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-01 09:56:17 +02:00
Ralf Haferkamp
ab7cf4655a
Merge pull request #3023 from opencloud-eu/dependabot/go_modules/github.com/testcontainers/testcontainers-go/modules/opensearch-0.43.0
...
build(deps): bump github.com/testcontainers/testcontainers-go/modules/opensearch from 0.42.0 to 0.43.0
2026-06-26 12:53:53 +02:00
Ralf Haferkamp
9318001dcc
Merge pull request #3024 from opencloud-eu/dependabot/go_modules/go.opentelemetry.io/contrib/zpages-0.69.0
...
build(deps): bump go.opentelemetry.io/contrib/zpages from 0.68.0 to 0.69.0
2026-06-26 11:37:38 +02:00
Ralf Haferkamp
a7b57ccfc2
Merge pull request #3022 from opencloud-eu/dependabot/go_modules/github.com/onsi/ginkgo/v2-2.32.0
...
build(deps): bump github.com/onsi/ginkgo/v2 from 2.31.0 to 2.32.0
2026-06-26 09:19:09 +02:00
Ralf Haferkamp
b9a945c5b9
chore: switch reva back from fork
2026-06-25 17:25:56 +02:00
dependabot[bot]
a06ad04701
build(deps): bump github.com/onsi/ginkgo/v2 from 2.31.0 to 2.32.0
...
Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo ) from 2.31.0 to 2.32.0.
- [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.31.0...v2.32.0 )
---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
dependency-version: 2.32.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-25 14:58:01 +00:00
Ralf Haferkamp
ca3757152f
Merge pull request #2889 from rhafer/reva-655
...
Update tests for opencloud-eu/reva#655
2026-06-25 16:55:18 +02:00
dependabot[bot]
c23a439332
build(deps): bump go.opentelemetry.io/contrib/zpages
...
Bumps [go.opentelemetry.io/contrib/zpages](https://github.com/open-telemetry/opentelemetry-go-contrib ) from 0.68.0 to 0.69.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.68.0...zpages/v0.69.0 )
---
updated-dependencies:
- dependency-name: go.opentelemetry.io/contrib/zpages
dependency-version: 0.69.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-25 14:44:38 +00:00
dependabot[bot]
0a4741e4df
build(deps): bump github.com/testcontainers/testcontainers-go/modules/opensearch
...
Bumps [github.com/testcontainers/testcontainers-go/modules/opensearch](https://github.com/testcontainers/testcontainers-go ) from 0.42.0 to 0.43.0.
- [Release notes](https://github.com/testcontainers/testcontainers-go/releases )
- [Commits](https://github.com/testcontainers/testcontainers-go/compare/v0.42.0...v0.43.0 )
---
updated-dependencies:
- dependency-name: github.com/testcontainers/testcontainers-go/modules/opensearch
dependency-version: 0.43.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-25 14:44:19 +00:00
Ralf Haferkamp
868d61a839
bump reva to fork for adjusting tests
2026-06-25 16:11:22 +02:00
Ralf Haferkamp
29d004b22d
Merge pull request #3015 from opencloud-eu/dependabot/go_modules/github.com/gookit/config/v2-2.2.8
...
build(deps): bump github.com/gookit/config/v2 from 2.2.7 to 2.2.8
2026-06-25 08:48:01 +02:00
dependabot[bot]
261540ad42
build(deps): bump github.com/gookit/config/v2 from 2.2.7 to 2.2.8
...
Bumps [github.com/gookit/config/v2](https://github.com/gookit/config ) from 2.2.7 to 2.2.8.
- [Release notes](https://github.com/gookit/config/releases )
- [Commits](https://github.com/gookit/config/compare/v2.2.7...v2.2.8 )
---
updated-dependencies:
- dependency-name: github.com/gookit/config/v2
dependency-version: 2.2.8
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-24 14:44:07 +00:00
dependabot[bot]
5abfaabae6
build(deps): bump github.com/onsi/gomega from 1.40.0 to 1.42.1
...
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega ) from 1.40.0 to 1.42.1.
- [Release notes](https://github.com/onsi/gomega/releases )
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md )
- [Commits](https://github.com/onsi/gomega/compare/v1.40.0...v1.42.1 )
---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
dependency-version: 1.42.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-24 14:43:40 +00:00
Ralf Haferkamp
c1278f4b99
Merge pull request #3006 from opencloud-eu/dependabot/go_modules/github.com/tus/tusd/v2-2.10.0
...
build(deps): bump github.com/tus/tusd/v2 from 2.9.2 to 2.10.0
2026-06-24 12:14:13 +02:00
Ralf Haferkamp
b486a72021
Merge pull request #3007 from opencloud-eu/dependabot/go_modules/github.com/coreos/go-oidc/v3-3.19.0
...
build(deps): bump github.com/coreos/go-oidc/v3 from 3.18.0 to 3.19.0
2026-06-24 12:12:03 +02:00
Ralf Haferkamp
c361da5c9d
Merge pull request #2968 from opencloud-eu/dependabot/go_modules/github.com/nats-io/nats.go-1.52.0
...
build(deps): bump github.com/nats-io/nats.go from 1.51.0 to 1.52.0
2026-06-24 10:42:51 +02:00
dependabot[bot]
f4120ad602
build(deps): bump github.com/coreos/go-oidc/v3 from 3.18.0 to 3.19.0
...
Bumps [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc ) from 3.18.0 to 3.19.0.
- [Release notes](https://github.com/coreos/go-oidc/releases )
- [Commits](https://github.com/coreos/go-oidc/compare/v3.18.0...v3.19.0 )
---
updated-dependencies:
- dependency-name: github.com/coreos/go-oidc/v3
dependency-version: 3.19.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-23 14:44:03 +00:00
dependabot[bot]
5e27a7023a
build(deps): bump github.com/tus/tusd/v2 from 2.9.2 to 2.10.0
...
Bumps [github.com/tus/tusd/v2](https://github.com/tus/tusd ) from 2.9.2 to 2.10.0.
- [Release notes](https://github.com/tus/tusd/releases )
- [Commits](https://github.com/tus/tusd/compare/v2.9.2...v2.10.0 )
---
updated-dependencies:
- dependency-name: github.com/tus/tusd/v2
dependency-version: 2.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-23 14:43:53 +00:00
Ralf Haferkamp
8cd085914a
Merge pull request #2954 from opencloud-eu/dependabot/go_modules/go.opentelemetry.io/otel/exporters/stdout/stdouttrace-1.44.0
...
build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.43.0 to 1.44.0
2026-06-23 12:32:48 +02:00
Ralf Haferkamp
17ec90892a
chore: bump reva to latest main
2026-06-22 10:47:44 +02:00
dependabot[bot]
bc6862ef5d
build(deps): bump github.com/nats-io/nats.go from 1.51.0 to 1.52.0
...
Bumps [github.com/nats-io/nats.go](https://github.com/nats-io/nats.go ) from 1.51.0 to 1.52.0.
- [Release notes](https://github.com/nats-io/nats.go/releases )
- [Commits](https://github.com/nats-io/nats.go/compare/v1.51.0...v1.52.0 )
---
updated-dependencies:
- dependency-name: github.com/nats-io/nats.go
dependency-version: 1.52.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-17 14:45:23 +00:00
Ralf Haferkamp
346cfab35d
Merge pull request #2956 from opencloud-eu/dependabot/go_modules/golang.org/x/text-0.38.0
...
build(deps): bump golang.org/x/text from 0.37.0 to 0.38.0
2026-06-17 10:18:46 +02:00
dependabot[bot]
f7c4fcd0f1
build(deps): bump golang.org/x/text from 0.37.0 to 0.38.0
...
Bumps [golang.org/x/text](https://github.com/golang/text ) from 0.37.0 to 0.38.0.
- [Release notes](https://github.com/golang/text/releases )
- [Commits](https://github.com/golang/text/compare/v0.37.0...v0.38.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/text
dependency-version: 0.38.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-16 14:45:42 +00:00
dependabot[bot]
fd8948575a
build(deps): bump github.com/kovidgoyal/imaging from 1.8.20 to 1.8.21
...
Bumps [github.com/kovidgoyal/imaging](https://github.com/kovidgoyal/imaging ) from 1.8.20 to 1.8.21.
- [Release notes](https://github.com/kovidgoyal/imaging/releases )
- [Commits](https://github.com/kovidgoyal/imaging/compare/v1.8.20...v1.8.21 )
---
updated-dependencies:
- dependency-name: github.com/kovidgoyal/imaging
dependency-version: 1.8.21
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-16 14:45:34 +00:00
dependabot[bot]
90be6089a5
build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace
...
Bumps [go.opentelemetry.io/otel/exporters/stdout/stdouttrace](https://github.com/open-telemetry/opentelemetry-go ) from 1.43.0 to 1.44.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.43.0...v1.44.0 )
---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/exporters/stdout/stdouttrace
dependency-version: 1.44.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-16 14:45:24 +00:00
dependabot[bot]
9ac5ed9274
build(deps): bump github.com/go-chi/chi/v5 from 5.2.5 to 5.3.0
...
Bumps [github.com/go-chi/chi/v5](https://github.com/go-chi/chi ) from 5.2.5 to 5.3.0.
- [Release notes](https://github.com/go-chi/chi/releases )
- [Changelog](https://github.com/go-chi/chi/blob/master/CHANGELOG.md )
- [Commits](https://github.com/go-chi/chi/compare/v5.2.5...v5.3.0 )
---
updated-dependencies:
- dependency-name: github.com/go-chi/chi/v5
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-16 10:55:28 +00:00
Ralf Haferkamp
49aacef240
Merge pull request #2885 from opencloud-eu/dependabot/go_modules/github.com/nats-io/nats-server/v2-2.14.2
...
build(deps): bump github.com/nats-io/nats-server/v2 from 2.14.0 to 2.14.2
2026-06-16 12:53:57 +02:00
Ralf Haferkamp
46daf3f065
Merge pull request #2858 from opencloud-eu/dependabot/go_modules/github.com/open-policy-agent/opa-1.17.0
...
build(deps): bump github.com/open-policy-agent/opa from 1.15.2 to 1.17.1
2026-06-16 12:53:09 +02:00
Ralf Haferkamp
996c3b1ead
Merge pull request #2797 from opencloud-eu/dependabot/go_modules/github.com/blevesearch/bleve/v2-2.6.0
...
build(deps): bump github.com/blevesearch/bleve/v2 from 2.5.7 to 2.6.0
2026-06-16 12:52:16 +02:00
dependabot[bot]
42987b038b
build(deps): bump github.com/open-policy-agent/opa from 1.15.2 to 1.17.1
...
Bumps [github.com/open-policy-agent/opa](https://github.com/open-policy-agent/opa ) from 1.15.2 to 1.17.1.
- [Release notes](https://github.com/open-policy-agent/opa/releases )
- [Changelog](https://github.com/open-policy-agent/opa/blob/v1.17.1/CHANGELOG.md )
- [Commits](https://github.com/open-policy-agent/opa/compare/v1.15.2...v1.17.1 )
---
updated-dependencies:
- dependency-name: github.com/open-policy-agent/opa
dependency-version: 1.17.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-16 08:40:16 +00:00
Christian Richter
f3f14e4a04
bump reva
...
Signed-off-by: Christian Richter <c.richter@opencloud.eu >
2026-06-16 10:37:12 +02:00
Michael Barz
5cb2b2e089
chore: bump reva to latest main
2026-06-12 14:30:12 +02:00
Michael Barz
42dfc8b04f
feat: add more roles
2026-06-12 10:51:10 +02:00
Ralf Haferkamp
a532da40dc
bump reva to latest main
2026-06-10 11:44:11 +02:00
André Duffeck
b921be3796
Bump reva
...
remove the now uneeded replace on inotifywaitgo
2026-06-09 17:36:19 +02:00
dependabot[bot]
5f88cc686c
build(deps): bump github.com/nats-io/nats-server/v2
...
Bumps [github.com/nats-io/nats-server/v2](https://github.com/nats-io/nats-server ) from 2.14.0 to 2.14.2.
- [Release notes](https://github.com/nats-io/nats-server/releases )
- [Changelog](https://github.com/nats-io/nats-server/blob/main/RELEASES.md )
- [Commits](https://github.com/nats-io/nats-server/compare/v2.14.0...v2.14.2 )
---
updated-dependencies:
- dependency-name: github.com/nats-io/nats-server/v2
dependency-version: 2.14.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-04 10:15:07 +00:00