1
0
mirror of https://github.com/owncloud/ocis.git synced 2026-10-23 23:29:02 +03:00
Commit Graph

823 Commits

Author SHA1 Message Date
Roman Perekhod
703bbe1113 fix: [OCISDEV-1523] fix the LDAP master-ID filter for an empty base filter (#13100)
* fix: [OCISDEV-1523] fix the LDAP master-ID filter for an empty base filter

EnhanceFilterWithMasterID replaced an empty LDAP filter with a master-ID-only
filter. This action restricted an unrestricted search to master-ID users
only. The bug broke the cross-instance user search in multi-instance
deployments. The function now keeps an empty filter unchanged.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix: [OCISDEV-1523] require an explicit LDAP user filter with a master ID

EnhanceFilterWithMasterID in ocis-pkg/ldap/filter.go now keeps an empty
LDAP filter unchanged instead of restricting it to master-ID users only.
The auth-basic, users, groups, and graph services reuse this function to
compute their default LDAP user filter at startup.

An unset filter now means these services resolve or authenticate every
user in the shared LDAP directory, not only master-ID users. This action
is a behavior change for a deployment that sets
OCIS_MULTI_INSTANCE_MASTER_ID without an explicit OCIS_LDAP_USER_FILTER.

Each service now rejects startup when OCIS_MULTI_INSTANCE_MASTER_ID is
set and its own user filter is empty. This action keeps a multi-instance
deployment scoped to its own users by default.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* refactor: [OCISDEV-1523] simplify EnhanceFilterWithMasterID guard clauses

The function collapses three early-return guards into one condition.
This action removes a duplicated rationale comment between filter.go
and filter_test.go.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* docs: [OCISDEV-1523] point the changelog entry at the master backport PR

The changelog entry pointed at PR 13096, the stable-8.2 backport. This
commit points the entry at the master-branch PR number instead.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-09 15:27:27 +02:00
kobergj
76a9cb8042 docs: replace envvar introductionVersion 8.3.0 with 9.0.0 (#13106)
The next oCIS release is 9.0.0, so all envvars that were annotated with
the previously planned 8.3.0 introduction version need to be updated.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-10-09 10:20:09 +02:00
Roman Perekhod
9143307b70 fix: [ocisdev-1433] fix public share, add The grpc clients keepalive and more (#13020) (#13068)
* fix: the public share configuration and fixed graceful shutdown

* fix: [OCISDEV-1433] remove GRPC_MAX_CONNECTION_AGE

The setting closed healthy grpc connections on a timer so that clients would redo
their DNS lookup. It never helped against the failure it was reached for - a
connection whose peer stopped answering - because the age limit is enforced by
the server, the grace period was left at infinity so a request already in flight
was never ended, and any value without a unit suffix silently disabled it again.

Detecting a peer that stops answering is now the job of the grpc clients, which
ping the peer while a request is in flight. The servers here got the matching
enforcement policy so they accept those pings; the client side arrives with the
next reva bump.

* fix: Added the new variable OCDAV_DISABLE_PROPFIND_PUBLIC_LINK_RESOLUTION that disable the resolution of public link shares when answering PROPFIND requests.

* chore: bump reva

* fix: The keepalive added to grpc clinet

* chore: bump reva

* build(deps): bump go 1.26.8, grpc-go dependency

---------

(cherry picked from commit e86eb4d210)

For the 9.0 branch, the reva dependency was pointed at reva's main-branch
merge of PR #748 (commit 373f9509a, pseudo-version
v2.0.0-20261005091647-373f9509a363) instead of the 8.2-targeted
e0beaa380005, since the 8.2 merge predates the VaultMode/UploadSessionFilter.Orphaned
APIs already present on the 9.0 reva lineage.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

# Conflicts:
#	changelog/unreleased/security-bump-grpc.md
#	go.mod
#	go.sum
#	vendor/google.golang.org/grpc/server.go
#	vendor/google.golang.org/grpc/stream.go
#	vendor/google.golang.org/grpc/version.go
#	vendor/modules.txt
2026-10-06 17:21:46 +02:00
Roman Perekhod
c4a6948a67 chore: bump deps (reva, web, golang) (#13066)
* chore: bump reva

* chore: bump pnpm dependencies

* fix: avoid go vet false positive in userlog conversion.go

The go.mod bump to go 1.26.8 made go vet flag loadTemplates' calls to
t.Get(nt.Subject/nt.Message) as non-constant format strings, breaking
the build for services/userlog/pkg/service. These are translation
lookup keys, not printf format strings, so route the call through a
local func value to defeat vet's static trace.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* chore: bump grpc

Fixes GO-2026-6443, a server panic when handling requests missing
authority or Host headers, flagged by govulncheck in CI.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-05 11:59:28 +00:00
Michal Klos
dc33f20fee feat: [OCISDEV-1411] don't logout users on a transient IdP userinfo failure (#12999)
* test: [OCISDEV-1411] regression test for userinfo-timeout 401

* fix: [OCISDEV-1411] don't logout users on a transient IdP userinfo failure

* fix: [OCISDEV-1411] don't logout users on a transient IdP userinfo failure

* feat: review

* feat: review

* feat: review
2026-09-29 09:37:48 +02:00
Michal Klos
83cc6fc95e fix: [OCISDEV-55] never combine wildcard CORS origin with credentials (#12983) 2026-09-24 09:42:15 +00:00
Roman Perekhod
d857d272d3 docs: [OCISDEV-1115] clarify nats store tls insecure options (#12941)
Document that the *_TLS_INSECURE options for the nats-js-kv store, cache and
service registry disable authentication of the NATS server and are for testing
only, so operators securing a multi-node deployment are not misled into
weakening the connection they just enabled TLS on.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-14 10:05:49 +00:00
Sujeito Operator
5d0d780d83 fix(registry): stop logging every service re-registration (#8274) (#12833)
fix(registry): stop logging every service re-registration

RegisterService re-registers the service on a ticker so its TTL does
not lapse, and logged a debug line carrying the whole service record
on every tick. At the default 25s interval that is 3456 lines per
registration per day, and this tree has 20 non-test callers, so an
idle deployment at debug level writes tens of thousands of them with
no user interaction at all.

This is what the issue thread already agreed: only the error case is
worth a log there. The error branch is untouched, so a refresh that
fails still logs. The one-shot lines on first registration and on
deregistration are untouched too, because they fire once per process
rather than once per tick.

The test runs against the in-memory registry and fails on the
unmodified file. It lowers zerolog's global level first, because
importing ocis-pkg/log raises it to fatal in init() and the assertion
would otherwise pass on an empty buffer, and it requires the service
to still resolve after more than one TTL so the absence of a line
cannot be explained by a dead refresh loop.

The three review fixups are folded in here rather than kept as
separate commits: the changelog entry links the pull request ahead of
the issue, and the explanatory comment in register.go was dropped in
favour of this message.

Closes #8274.

Co-authored-by: Lukas Hirt <info@hirt.cz>
2026-08-25 15:55:59 +02:00
Lukas Hirt
5cd3a2675a chore: sync version and changelog with released 8.1.0/8.2.0 branches (#12821)
Master's LatestTag was still "8.0.0+dev" and its changelog/ folder
stopped at 8.0.4, even though 8.0.5-8.0.7, 8.1.0, and 8.2.0 have since
been released on their stable branches. The "bump master version"
step that normally follows a stable branch cut was skipped for both
the 8.1 and 8.2 cuts.

- Bump LatestTag to 8.2.0+dev, matching the latest actual release
  (v8.2.0), consistent with how master has always been bumped after
  a release (last released version + "+dev" placeholder, not the
  next unreleased minor).
- Backport the missing changelog/8.0.5, 8.0.6, 8.0.7, 8.1.0, and
  8.2.0 folders from their respective stable branches.
- Remove the now-duplicate fragments from changelog/unreleased/ that
  those folders already cover (106 files) - verified by content/PR
  match against every release folder, not just filename.

Signed-off-by: Lukas Hirt <info@hirt.cz>
2026-08-20 16:01:24 +02:00
Michal Klos
d9bae04aee feat: [OCISDEV-1115] harden nats communication (#12777)
* feat: [OCISDEV-1115] harden nats communication

* feat: bump reva for tls-enabled stores
2026-08-13 09:56:24 +00:00
Matteo
4ba02000fa fix: bump reva to allow space managers to remove others' shares (#12705)
* fix: bump reva to allow space managers to remove others' shares

Space managers with the RemoveGrant permission on a resource could not
remove user shares created by other users; the share manager only allowed
the share's creator to remove it. This bumps reva to the commit that fixes
Unshare to also honor the RemoveGrant permission.

* fix(l10n): route gotext.Locale calls through func fields to satisfy go vet

Bumping reva pulled in reva's go 1.26 requirement, and go 1.26's stricter
printf vet analyzer now sees through the OcisLocale interface to flag
gotext.Locale.Get as a printf-wrapper, breaking go test across 5 packages.
Forwarding through func fields hides that static trail from vet.
2026-08-04 13:42:08 +02:00
David Walter
5a23c88296 feat(invitations): configurable Keycloak required actions and working ocis_full SMTP (#12467)
* feat(invitations): configurable Keycloak actions + working ocis_full SMTP

The invitations service already triggers Keycloak execute-actions-email after
provisioning a guest (service.Invite -> backend.SendMail ->
gocloak.ExecuteActionsEmail). Two things still limited it:

- The required actions were hardcoded to UPDATE_PASSWORD,VERIFY_EMAIL. They are
  now configurable via INVITATIONS_KEYCLOAK_EXECUTE_ACTIONS (comma-separated,
  same default). Unknown actions are logged and skipped, and the service falls
  back to the defaults if none remain valid so a guest always has a setup path.

- The Keycloak realm shipped with the ocis_full example had an empty smtpServer,
  so Keycloak silently dropped every mail it tried to send, including the guest
  invitation mail. The realm now points SMTP at the bundled mailpit
  (mailserver:1025).

Verified: execute-actions-email delivers to mailpit against the ocis_full realm;
go test ./services/invitations/... ./ocis-pkg/keycloak/... -race passes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: David Walter <david.walter@kiteworks.com>

* fix(invitations): return the created user as invitedUser in the response

service.Invite echoed the request body unchanged, leaving the invitedUser
relation of the Graph invitation response empty, so a client could not learn
the identity of the guest that was just created. The keycloak backend now
records the created user (OWNCLOUD_ID, email, user type) on the invitation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: David Walter <david.walter@kiteworks.com>

* refactor(invitations): pass Keycloak actions through verbatim (no allowlist)

Address review (@kobergj): the configured execute-actions no longer need to
match a hardcoded enum. UserAction is now a string type passed to Keycloak
as-is, so operators can configure any required action their Keycloak supports
without oCIS keeping a list in sync. The convenience constants remain, the
default (UPDATE_PASSWORD, VERIFY_EMAIL) is unchanged, and validation is left to
Keycloak. Removes UserActionFromString and the two lookup maps.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: David Walter <david.walter@kiteworks.com>

---------

Signed-off-by: David Walter <david.walter@kiteworks.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 15:54:23 +02:00
Roman Perekhod
1a32e4d8c5 chore: [OCISDEV-1021] Add audience restriction for OIDC access tokens (#12634)
* chore: Add audience restriction for OIDC access tokens

* fix: add new envvar to added table

Signed-off-by: Martin Mattel <github@diemattels.at>

* fix: add updated env_vars.yaml file

* chore: var name to plural. update config

---------

Signed-off-by: Martin Mattel <github@diemattels.at>
Co-authored-by: Martin Mattel <github@diemattels.at>
2026-07-30 15:22:36 +03:00
Roman Perekhod
c66464cab6 fix: [OCISDEV-825] Rate-limit the exportPersonalData endpoint (#12519)
* fix: Rate-limit the exportPersonalData endpoint

* fix: the RequreSelfUserID validation middleware added
2026-07-08 14:57:44 +02:00
Roman Perekhod
6855942f49 Fix/ocisdev 884 (#12442)
* fix(proxy,graph): do not disable personal space on inconclusive permission check

When a user's role is (re-)assigned, both the proxy (on OIDC login) and the
graph appRoleAssignment handler check the Drives.Create permission to decide
whether to restore or disable the user's personal space. An indeterminate
permission result (transport error or a non-OK status other than
PERMISSION_DENIED) was treated as a denial, which disabled (trashed) the
personal space on a transient settings/gateway fault — with no automatic
re-enable. See OCISDEV-884.

Both call sites now fail closed: on an indeterminate result they leave the
personal space untouched, revert the just-persisted role assignment so the
user is not left in a half-applied state, and surface the error (the proxy
retries on the next login, the graph handler returns 500). Relies on the
matching reva utils.CheckPermission change that surfaces non-authoritative
statuses as an error.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* rebased

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 13:22:08 +00:00
Juan Pablo Villafañez
4945eb6833 Autoprop (#12386)
* feat: metadata autopropagation

* feat: autoprop support for MFA / vault mode

* fix: replace some http clients with reva ones

* chore: required lib update

* fix: adjust unit tests and generate new mocks

* fix: apply autopropagation to all regular graph routes

* chore: updated reva dependency

* fix: return the right decorator for the thumbnails

* fix: remove autopropagation headers in the proxy
2026-06-19 10:43:41 +02:00
Roman Perekhod
39e3d33820 [full-ci] feat: ocisdev-533 graph (#12108)
* feat: Implemet the vault-storage

feat: Separate the storage-users and graph to handle

feat: move the space create cache

configurate the vault srorage Postprocessing

hide the assignment of the MountID to VaultStorageProviderID behind a flag to avoid the ID mismatch

configurate the proxy to create the vault home space

update the filter

Make the graph able to handle vault prefix. no extra service needed

apply the vault filter to sharedbyme and sharedwithme

added vault-storage docker

use squashed reva

fix the finishUpload event

restict webdav copy/move from the vault

feat: provide the mfa to webdav and grpc

feat: refactoring: provide the mfa to webdav and grpc

mfa collaboration

fix GetRootDriveChildren and more

fix: send the MFA header in HTTP clients from the collaboration service

provide the default storage user vault configuration

update create_home middleware

Update deployments/examples/ocis_full/vault-storage.yml

Co-authored-by: Martin <github@diemattels.at>

Update services/gateway/pkg/config/config.go

Co-authored-by: Martin <github@diemattels.at>

Update services/graph/pkg/config/config.go

Co-authored-by: Martin <github@diemattels.at>

Update services/graph/pkg/config/config.go

Co-authored-by: Martin <github@diemattels.at>

Update services/storage-users/pkg/config/config.go

Co-authored-by: Martin <github@diemattels.at>

Update services/proxy/pkg/config/config.go

Co-authored-by: Martin <github@diemattels.at>

Update services/storage-users/pkg/config/config.go

Co-authored-by: Martin <github@diemattels.at>

Update deployments/examples/ocis_full/vault-storage.yml

Co-authored-by: Martin <github@diemattels.at>

bump reva

deduplicate the requireMFA middeware on vault routes. fix AppendPlainToOpaque.

added the changlog and comments

* feat: add the vault mode search

* Update changelog/unreleased/enhancement-vault-storage.md

Co-authored-by: Martin <github@diemattels.at>

* update the readme. the reva vault storage provider configuration disabled by default

* feat: [OCISDEV-531] add vault capabilities to the OCS capabilities endpoint

* the port range allocated. the configuration updated.

---------

Co-authored-by: Martin <github@diemattels.at>
2026-05-15 16:53:05 +02:00
Michal Klos
234e665699 feat: [OCISDEV-670] add masterID for EK users (#12101)
* feat: add masterID for EK users

* Update deployments/examples/ocis_multi/README.md

Co-authored-by: Martin <github@diemattels.at>

* Update deployments/examples/ocis_multi/README.md

Co-authored-by: Martin <github@diemattels.at>

* review comments

---------

Co-authored-by: Martin <github@diemattels.at>
2026-05-06 16:15:32 +02:00
Paul Faure
4b7349037f feat(kql): support numeric range queries (>=, <=, >, <)
Add NumericRestrictionNode to the KQL PEG grammar so that range
operators work with numeric values, not just DateTimes. This enables
queries like `size>=1048576`, `photo.iso>=100`, `photo.fNumber>=2.8`,
and `photo.focalLength<50`.

Changes:
- ast: add NumericNode with Key, Operator, Value (float64)
- kql/dictionary.peg: add NumericRestrictionNode and Number rules
- kql/factory.go: add buildNumericNode()
- kql/cast.go: add toFloat64()
- bleve/compiler.go: compile NumericNode to NumericRangeQuery

Fixes: #12093

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 23:51:08 -05:00
Julian Koberg
93d9fe1812 chore: adjustments for master branch
Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
2026-02-16 11:43:45 +01:00
Julian Koberg
40f59e3158 chore: release 8.0.0
Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
2026-02-16 11:18:59 +01:00
Julian Koberg
0f59a0965a chore: release 8.0.0-rc.1
Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
2026-02-16 11:14:56 +01:00
Roman Perekhod
da5e63dfe3 feat: bump go to 1.25
feat: bump mockery to v2.53.5

feat: bump govulncheck

feat: bump bingo to v0.10.0

force go-1.25.7

update thumbnail images for test

bump reva to latest
2026-02-10 16:27:52 +01:00
Juan Pablo Villafáñez
d3f328320a feat: propagate GRPC metadata across go-micro services
The server handlers for go-micro reuse the data from reva so the
propagation also works with reva services.
Both reva and go-micro services will propagate the data correctly.
2026-01-23 12:05:18 +01:00
Paul Faure
f551e410b9 feat(search): Add photo EXIF metadata to search index and results
This change enables photo gallery applications to access EXIF metadata
through the search API.

Changes:
- Add KQL query support for photo fields:
  - photo.takenDateTime (datetime range queries)
  - photo.cameraMake, photo.cameraModel (keyword queries)
  - photo.fNumber, photo.focalLength, photo.iso (numeric queries)
- Configure Bleve index to store photo fields (Store=true)
- Map photo metadata from Bleve hits to Entity.Photo protobuf
- Add oc:photo-* properties to WebDAV search responses
- Add unit tests for photo field queries

The photo metadata is extracted by Tika during indexing and stored
in the Bleve search index. This enables queries like:
  photo.takenDateTime:[2023-01-01 TO 2023-12-31]
  photo.cameraMake:Canon

Signed-off-by: Paul Faure <paul@faure.ca>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 15:05:30 +01:00
Dominik Schmidt
ad0adfc6f9 fix: WEB_OPTION_EMBED_ENABLED should be a bool
fix: implement *bool config type, so Embed.Enabled can still be explicitly disabled

feat: added changelog

fix: sanitize config
2026-01-07 11:45:11 +01:00
Julian Koberg
a507104ab5 chore: Release 7.3.1
Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
2025-11-27 09:05:22 +01:00
oidq
516da81e91 test: convert TestSplitHostPort to table driven test 2025-11-11 22:19:57 +01:00
oidq
356e98e2bf fix: Add IPv6 handling to handlers.FailSaveAddress()
On IPv6-only deployment I encountered two problem with collaboration service
and CheckHandler:
* getOutBoundIP() did not allow IPv6 addresses to be used as outbound
* FailSaveAddress() did double interpolation of the "::" literal on
  GUA IPv6 addresses containing "::"
2025-11-10 21:41:37 +01:00
Julian Koberg
e3a2a148ff fix: [OCISDEV-449] fix user light creation
Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
2025-10-28 15:56:16 +01:00
Julian Koberg
76241b9ea6 fix: master branch adjustments
Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
2025-10-14 10:48:30 +02:00
Julian Koberg
2d320c0ce8 feat: release 7.3.0
Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
2025-10-14 10:45:05 +02:00
Julian Koberg
b7674528cf feat: release 7.3.0-rc.1
Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
2025-10-14 10:45:05 +02:00
Roman Perekhod
fb2e048864 feat: [OCISDEV-284] Respect changed user type in OIDC claim (#11684)
* feat: [OCISDEV-284] Respect changed user type in OIDC claim

* check the permission insted of the role
2025-10-02 15:37:48 +02:00
Roman Perekhod
c2e75a05a2 feat: [OCISDEV-285] Add Cli to delete personal spaces (#11701)
* Add Cli to delete personal spaces

* fix EnsurePersonalSpace

* Purge disabled spaces 'personal' or 'project'

* bump reva

* update the test
2025-10-02 09:25:26 +02:00
Roman Perekhod
2c7f57865f feat: [OCISDEV-282] user type upgrade/downgrade (#11678)
* feat: [OCISDEV-282] user type upgrade/downgrade
* the storage utils pkg separated
* extended the test coverage
* the failures added to expected
2025-09-26 17:04:01 +02:00
Julian Koberg
04b829e8a7 feat: expand mfa checks also to queries
Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
2025-09-23 14:03:32 +02:00
Julian Koberg
dda6104722 feat: document mfa package
Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
2025-09-18 16:23:14 +02:00
Julian Koberg
824a71dbe2 feat: clean up mfa middleware
Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
2025-09-17 15:56:04 +02:00
Julian Koberg
eeeeba199b feat: move mfa checks to handlers
Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
2025-09-17 12:42:28 +02:00
Juan Pablo Villafáñez
c0e5c1678d feat: allow custom headers on authentication failures 2025-09-17 12:42:28 +02:00
Juan Pablo Villafáñez
789ac03817 fix: CI complains 2025-09-17 12:42:28 +02:00
Juan Pablo Villafáñez
ed95f21269 feat: add a way to check for specific OIDC claims
For now, only some hardcoded paths will check the claims (if there is a
checker configured). If the check fails for those paths, the
authentication will fail and it will return a 401 error
2025-09-17 12:42:28 +02:00
Roman Perekhod
55fe5bd3ec feat: [OCISDEV-147] use the signing-key for a public link 2025-08-19 17:42:26 +02:00
Michal Klos
d1bd475af0 fix: make docs-generate
fix: error GOMEMLIMIT in doc-generate

fix: docs-generate protobuf

fix: GOMEMLIMIT error log
2025-08-12 15:17:36 +02:00
Juan Pablo Villafañez
a46cd29cc9 Merge pull request #11573 from owncloud/otelhttp_for_tracing
Otelhttp for tracing
2025-08-07 13:48:02 +02:00
Michal Klos
c55cc70aaa fix: grpc client, allow insecure only in dev 2025-08-07 12:17:12 +02:00
Juan Pablo Villafáñez
9eb4b76dd4 feat: set global tracing propagator for go-micro 2025-07-31 11:06:33 +02:00
Juan Pablo Villafáñez
0aa20cbf05 feat: propagate data from http to go-micro, add missing middleware
Middleware in the webdav service was missing. Telemetry for webdav was
relying on the otelchi middleware that was added afterwards and removed
in the previous commit. New (otelhttp) telemetry has been added to the
middlewares for the service.

Incoming telemetry data from HTTP (captured with otelhttp) with also be
stored so the telemetry for go-micro's requests can be picked up and
propagate properly.
2025-07-31 11:06:33 +02:00
Juan Pablo Villafáñez
01a9713b52 feat: use otelhttp for tracing, fix tracing in proxy
otelchi and other custom solutions have been replaced with otelhttp to
trace HTTP requests; new middleware is provided to be used across the
platform.

The proxy service will use a custom HTTP client to forward the headers
needed for telemetry automatically (also based on otelhttp)
2025-07-31 11:06:33 +02:00