Compare commits

..

55 Commits

Author SHA1 Message Date
André Duffeck
41602dae0e Abort on SIGTERM after waiting for the HTTP requests to finish 2025-11-25 15:45:02 +01:00
Jörn Friedrich Dreyer
9457d264a5 benchmark client enhancements
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2025-10-27 11:57:45 +01:00
dependabot[bot]
0b4c9becfb build(deps): bump golang.org/x/oauth2 from 0.31.0 to 0.32.0
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.31.0 to 0.32.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.31.0...v0.32.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-23 10:54:58 +02:00
dependabot[bot]
c362d84f11 build(deps): bump golang.org/x/net from 0.44.0 to 0.46.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.44.0 to 0.46.0.
- [Commits](https://github.com/golang/net/compare/v0.44.0...v0.46.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.46.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-23 09:56:50 +02:00
opencloudeu
6e4e533e2c [tx] updated from transifex 2025-10-23 00:01:41 +00:00
Alex
f12a433b85 chore: add groupware capabilities (#1661) 2025-10-21 22:31:45 +02:00
Viktor Scharf
9108188e8a revaBumb: add groupware capabilities (#1689) 2025-10-21 14:27:26 +02:00
Viktor Scharf
18a6927b79 revaUpdate: adding groupware capabilities (#1659) 2025-10-20 19:19:12 +02:00
opencloudeu
3874c3e0d3 [tx] updated from transifex 2025-10-20 00:02:20 +00:00
opencloudeu
254f999382 [tx] updated from transifex 2025-10-16 08:04:58 +00:00
Ralf Haferkamp
b099dcdf6e fix: 'readyz' enpdoint check only required service
The readyz endpoint contained unconditional checks for the LDAP and nats
endpoints. Depending on configuration neihter LDAP nor NATS might be
required.
2025-10-14 16:49:46 +02:00
Ralf Haferkamp
d1a6cc22c1 graph: Allow the service to run without a NatsJS server
For running the Graph Education API we want to keep it possible
to run the service standalone. With an LDAP server as the only
external dependency.
2025-10-14 16:49:46 +02:00
Viktor Scharf
6c387336e1 chore/bump-web-4.1.0 (#1652)
CI shows a false failure. merge it
2025-10-13 16:09:44 +02:00
Ralf Haferkamp
805bd4305e bump reva to lastest main
for https://github.com/opencloud-eu/reva/pull/372
2025-10-13 15:22:00 +02:00
opencloudeu
d080d7415e [tx] updated from transifex 2025-10-13 00:01:42 +00:00
opencloudeu
4b2e6e4695 [tx] updated from transifex 2025-10-12 00:01:38 +00:00
Viktor Scharf
c916528788 [full-ci] deleted unused step definitions (#1639)
* deleted unused step definitions

* fix flaky tests. rearange ine numbers
2025-10-10 11:34:43 +02:00
opencloudeu
ba7aad174f [tx] updated from transifex 2025-10-09 00:05:33 +00:00
Ralf Haferkamp
e9a2ba8afc fix(settings): env var precedence
Fix the ordering of the env vars for the 'set_default_assignments'
setting. The service specific variable ('SETTINGS_SETUP_DEFAULT_ASSIGNMENTS')
should take precedence over other variable ('IDM_CREATE_DEMO_USERS' in
this case).
2025-10-08 18:06:35 +02:00
fschade
c0244fc977 enhancement(graph): resolve review feedback such as, use fmt for error wrapping, make use of store auth options, use a dedicated jetstream package 2025-10-08 16:45:16 +02:00
Christian Richter
2ca88e66da add mocks for natskv
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
Christian Richter
53e2398f7a set server loglevel to error
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
Christian Richter
bcafd97e31 Catch bucket not found error
Co-authored-by: Jörn Dreyer <jfd@butonic.de>

Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
Christian Richter
006051322f set server loglevel to debug
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
Christian Richter
351f4e6be2 Mock nats & adapt tests
Co-authored-by: Florian Schade <f.schade@opencloud.eu>

Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
Christian Richter
5225b66f65 Move keyvalue initialisation to options
Co-authored-by: Florian Schade <f.schade@opencloud.eu>

Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
Viktor Scharf
07a8fef80e fix clicommand test 2025-10-08 16:45:16 +02:00
Viktor Scharf
0399398bc8 do not save edited users 2025-10-08 16:45:16 +02:00
Viktor Scharf
681ed49dc4 deleting user by userId in test 2025-10-08 16:45:16 +02:00
Christian Richter
098ed082c8 attempt to fix broken soft delete
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
Christian Richter
813edc4a59 use standard errors package
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
Christian Richter
f7454e576a remove obsolete properties
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
Christian Richter
800c7bc863 revert faulty replaces
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
Christian Richter
ef920b040a add missing pointer
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
Christian Richter
b815a6e0a1 respect ldap settings, add comments
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
Christian Richter
cd295dfd9e add persistance function & userstate
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
Christian Richter
07a9308c4c add nats-js-kv connection to graph
Signed-off-by: Christian Richter <c.richter@opencloud.eu>

# Conflicts:
#	services/graph/pkg/service/v0/service.go
2025-10-08 16:45:16 +02:00
Christian Richter
63f976cac1 add nats-js-kv persistance to graph
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2025-10-08 16:45:16 +02:00
dependabot[bot]
0298e1cead build(deps): bump google.golang.org/grpc from 1.75.1 to 1.76.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.75.1 to 1.76.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.75.1...v1.76.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.76.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 14:25:43 +02:00
dependabot[bot]
ef507b1241 build(deps): bump github.com/coreos/go-oidc/v3 from 3.15.0 to 3.16.0
Bumps [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) from 3.15.0 to 3.16.0.
- [Release notes](https://github.com/coreos/go-oidc/releases)
- [Commits](https://github.com/coreos/go-oidc/compare/v3.15.0...v3.16.0)

---
updated-dependencies:
- dependency-name: github.com/coreos/go-oidc/v3
  dependency-version: 3.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 11:35:44 +02:00
dependabot[bot]
32ebeb1997 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.2 to 2.27.3.
- [Release notes](https://github.com/grpc-ecosystem/grpc-gateway/releases)
- [Changelog](https://github.com/grpc-ecosystem/grpc-gateway/blob/main/.goreleaser.yml)
- [Commits](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.27.2...v2.27.3)

---
updated-dependencies:
- dependency-name: github.com/grpc-ecosystem/grpc-gateway/v2
  dependency-version: 2.27.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-07 08:23:20 +02:00
dependabot[bot]
8b35fa46f2 build(deps): bump github.com/go-ldap/ldap/v3 from 3.4.11 to 3.4.12
Bumps [github.com/go-ldap/ldap/v3](https://github.com/go-ldap/ldap) from 3.4.11 to 3.4.12.
- [Release notes](https://github.com/go-ldap/ldap/releases)
- [Commits](https://github.com/go-ldap/ldap/compare/v3.4.11...v3.4.12)

---
updated-dependencies:
- dependency-name: github.com/go-ldap/ldap/v3
  dependency-version: 3.4.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-07 08:22:49 +02:00
Viktor Scharf
2fba3c5cdd check thumbnails in the share with me response (#1605)
* check thumbnails in the share with me response

* check preview in report response
2025-10-07 07:43:46 +02:00
opencloudeu
38b1a0feb0 [tx] updated from transifex 2025-10-07 00:01:20 +00:00
Prashant Gurung
d5eadeccda fix restore browsers cache workflow (#1615)
Signed-off-by: prashant-gurung899 <prasantgrg777@gmail.com>
2025-10-06 15:40:34 +02:00
Ralf Haferkamp
9ec532da93 deps: Bump reva to latest main
for getting https://github.com/opencloud-eu/reva/pull/360
2025-10-06 11:21:57 +02:00
Ralf Haferkamp
f096285769 feat(groups): Only allow the "null" driver for multi-tenant setups 2025-10-06 11:21:57 +02:00
Ralf Haferkamp
736fb9db1f fix: make storage system user a service account
The reva auth-middleware blocks users without a tenant id, expect
system users.
2025-10-06 11:21:57 +02:00
Ralf Haferkamp
7b5c59e827 feat(reva): Pass the multi-tenancy flag to reva services
This allows to pass the multi-tenant enablement flag as a shared config
option to the reva service. This needs to be done for all reva services
since it ends up in a global variable in reva that is only initialized
once, by the service that is the first to parse its config.
See https://github.com/opencloud-eu/opencloud/issues/1563 for details.
2025-10-06 11:21:57 +02:00
Ralf Haferkamp
8cea8c8cfd feat(proxy): account_resolver multi-tenancy
Make the account resolve reject users without a tenantid, when
multi-tenancy is enabled.
2025-10-06 11:21:57 +02:00
Ralf Haferkamp
b1c50ea5a0 feat(graph): validate identity backend value 2025-10-06 11:21:57 +02:00
Ralf Haferkamp
7e86d85d62 feat: Add a global flag to enable multi-tenant support
When enabled the graph service refuses to start with the "ldap" backend.
Additional enforcements will follow in subsequent commits.
2025-10-06 11:21:57 +02:00
opencloudeu
bbf30b5802 [tx] updated from transifex 2025-10-05 00:02:32 +00:00
dependabot[bot]
4649c6ec42 build(deps): bump google.golang.org/protobuf from 1.36.9 to 1.36.10
Bumps google.golang.org/protobuf from 1.36.9 to 1.36.10.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-version: 1.36.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-02 17:10:56 +02:00
dependabot[bot]
4c00db867c build(deps): bump github.com/onsi/ginkgo/v2 from 2.25.3 to 2.26.0
Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.25.3 to 2.26.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.25.3...v2.26.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-version: 2.26.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-02 17:10:28 +02:00
475 changed files with 12320 additions and 168789 deletions

View File

@@ -1,706 +0,0 @@
# aider chat started at 2025-05-27 11:10:03
> Newer aider version v0.83.2 is available.
> /home/jfd/.local/share/uv/tools/aider-chat/bin/python -m pip install --upgrade --upgrade-strategy only-if-needed aider-chat
> Run pip install? (Y)es/(N)o [Yes]: y
> Re-run aider to use new version.
# aider chat started at 2025-05-27 11:12:19
> You can skip this check with --no-gitignore
> Add .aider* to .gitignore (recommended)? (Y)es/(N)o [Yes]: n
> /home/jfd/.local/bin/aider
> Using openrouter/google/gemini-2.5-pro-exp-03-25:free model with API key from environment.
> Aider v0.83.2
> Model: openrouter/google/gemini-2.5-pro-exp-03-25:free with whole edit format
> Git repo: .git with 12,310 files
> Warning: For large repos, consider using --subtree-only and .aiderignore
> See: https://aider.chat/docs/faq.html#can-i-use-aider-in-a-large-mono-repo
> Repo-map: using 4096 tokens, auto refresh
> https://aider.chat/HISTORY.html#release-notes
> Would you like to see what's new in this version? (Y)es/(N)o [Yes]: n
# aider chat started at 2025-08-08 20:08:04
> Newer aider version v0.85.5 is available.
> /home/jfd/.local/share/uv/tools/aider-chat/bin/python -m pip install --upgrade --upgrade-strategy only-if-needed aider-chat
> Run pip install? (Y)es/(N)o [Yes]: y
> Re-run aider to use new version.
# aider chat started at 2025-08-08 20:08:26
> You can skip this check with --no-gitignore
> Add .aider* to .gitignore (recommended)? (Y)es/(N)o [Yes]: y
> Added .aider* to .gitignore
> /home/jfd/.local/bin/aider --model ollama/qwen3-coder:latest
> Warning for ollama/qwen3-coder:latest: Unknown context window size and costs, using sane defaults.
> You can skip this check with --no-show-model-warnings
> https://aider.chat/docs/llms/warnings.html
> Open documentation url for more info? (Y)es/(N)o/(D)on't ask again [Yes]: n
> Aider v0.85.5
> Model: ollama/qwen3-coder:latest with whole edit format
> Git repo: .git with 12,459 files
> Warning: For large repos, consider using --subtree-only and .aiderignore
> See: https://aider.chat/docs/faq.html#can-i-use-aider-in-a-large-mono-repo
> Repo-map: using 1024 tokens, auto refresh
> https://aider.chat/HISTORY.html#release-notes
> Would you like to see what's new in this version? (Y)es/(N)o [Yes]: y
# aider chat started at 2025-08-08 20:09:18
> /home/jfd/.local/bin/aider --model ollama/qwen3-coder:latest
> Aider v0.85.5
> Model: ollama/qwen3-coder:latest with whole edit format
> Git repo: .git with 12,459 files
> Warning: For large repos, consider using --subtree-only and .aiderignore
> See: https://aider.chat/docs/faq.html#can-i-use-aider-in-a-large-mono-repo
> Repo-map: using 4096 tokens, auto refresh
#### /ask what is this codebase about
#### what is this codebase about
> Initial repo scan can be slow in larger repos, but only happens once.
Dieser Codebase scheint eine Sammlung von Go-Bibliotheken zu sein, die für verschiedene Zwecke verwendet werden können, darunter:
* **Validierung:** Bibliotheken wie `github.com/invopop/validation` und `github.com/go-ldap/ldap/v3` bieten Funktionen zur Datenvalidierung.
* **Reguläre Ausdrücke:** `github.com/dlclark/regexp2` ist eine Go-Bibliothek für reguläre Ausdrücke.
* **Datenbankzugriff:** `github.com/mattn/go-sqlite3` ermöglicht den Zugriff auf SQLite-Datenbanken.
* **HTTP-Client und -Server:** Bibliotheken wie `github.com/aws/aws-sdk-go`, `github.com/go-git/go-git/v5`, `github.com/segmentio/kafka-go` und `github.com/go-redis/redis/v8` bieten Funktionen für HTTP-Anfragen, Dateioperationen, Kafka-Nachrichten und Redis-Zugriff.
* **Konfiguration:** `github.com/go-git/gcfg/types/int.go` und `github.com/go-task/slim-sprig/defaults.go` bieten Konfigurations- und Standardwert-Funktionen.
* **Formatierung und Serialisierung:** `github.com/vmihailenco/msgpack/v5` ist eine MessagePack-Serialisierungsbibliothek.
* **Fehlerbehandlung:** Bibliotheken wie `github.com/go-git/go-git/v5/plumbing/format/packfile/error.go`, `github.com/invopop/validation/error.go` und `github.com/tus/tusd/v2/pkg/handler/error.go` bieten Fehlerbehandlungsmechanismen.
* **Performance-Profiler:** `github.com/google/pprof/profile/profile.go` ist Teil des Google pprof-Profilers.
* **Netzwerkprogrammierung:** `github.com/gobwas/glob` ist eine Bibliothek zur Mustererkennung, und `github.com/segmentio/kafka-go` ist ein Kafka-Client.
* **Sicherheit:** `github.com/libregraph/lico/oidc/payload/authentication.go` und `github.com/libregraph/oidc-go/well-known.go` sind Teile eines OIDC-Authentifizierungssystems.
* **Zeitsteuerung:** `github.com/jonboulle/clockwork/clockwork.go` ist eine Bibliothek zur Zeitsteuerung.
* **Zugriffskontrolle:** `github.com/open-policy-agent/opa` ist ein Open Policy Agent, ein System zur Richtlinienverwaltung und -durchsetzung.
* **Logging:** `github.com/go-micro.dev/v4/debug/log/options.go` bietet Logging-Funktionen.
* **Cache:** `github.com/pquerna/cachecontrol/cacheobject/directive.go` ist eine Bibliothek zur Cache-Steuerung.
Zusammengefasst: Dieser Codebase enthält eine Vielzahl von Go-Bibliotheken für verschiedene Anwendungsbereiche, darunter Validierung, Datenbankzugriff, HTTP-Operationen, Fehlerbehandlung, Sicherheit, Zeitsteuerung und Performance-Profiler.
> Tokens: 8.8k sent, 704 received.
#### those are the dependencies in the vendor folder. what about the actual code
Ich verstehe, Sie möchten wissen, was der eigentliche Codebase-Inhalt ist. Ich habe nur Zugriff auf die Vendor-Abhängigkeiten, nicht auf den tatsächlichen Anwendungscode Ihres Projekts. Um Änderungen an Ihrem Code vorzunehmen, benötige ich die Dateien, die tatsächlich bearbeitet werden sollen.
Wenn Sie möchten, dass ich Änderungen an bestimmten Dateien vornehme, müssen Sie diese Dateien zunächst zu unserem Gespräch hinzufügen. Sobald Sie das tun, kann ich Ihnen helfen, den Code entsprechend Ihren Anforderungen zu ändern.
Bitte fügen Sie die relevanten Dateien hinzu, damit ich Ihnen bei der Bearbeitung Ihres Codes helfen kann.
> Tokens: 9.8k sent, 168 received.
#### /context
> Aider v0.85.5
> Model: ollama/qwen3-coder:latest with context edit format
> Git repo: .git with 12,459 files
> Warning: For large repos, consider using --subtree-only and .aiderignore
> See: https://aider.chat/docs/faq.html#can-i-use-aider-in-a-large-mono-repo
> Repo-map: using 8192 tokens, always refresh
#### /settings
> Aider v0.85.5
Model: ollama/qwen3-coder:latest with context edit format
Git repo: .git with 12,459 files
Warning: For large repos, consider using --subtree-only and .aiderignore
See: https://aider.chat/docs/faq.html#can-i-use-aider-in-a-large-mono-repo
Repo-map: using 8192 tokens, always refresh
Command Line Args: --model ollama/qwen3-coder:latest
Defaults:
--set-env: []
--api-key: []
--model-settings-file:.aider.model.settings.yml
--model-metadata-file:.aider.model.metadata.json
--cache-keepalive-pings:0
--map-refresh: auto
--map-multiplier-no-files:2
--input-history-file:/home/jfd/Repositories/opencloud/.aider.input.history
--chat-history-file:/home/jfd/Repositories/opencloud/.aider.chat.history.md
--user-input-color:#00cc00
--tool-error-color:#FF2222
--tool-warning-color:#FFA500
--assistant-output-color:#0088ff
--code-theme: default
--aiderignore: /home/jfd/Repositories/opencloud/.aiderignore
--lint-cmd: []
--test-cmd: []
--voice-format: wav
--voice-language: en
--encoding: utf-8
--line-endings: platform
--env-file: /home/jfd/Repositories/opencloud/.env
Option settings:
- 35turbo: False
- 4: False
- 4_turbo: False
- 4o: False
- add_gitignore_files: False
- aiderignore: /home/jfd/Repositories/opencloud/.aiderignore
- alias: None
- analytics: None
- analytics_disable: False
- analytics_log: None
- analytics_posthog_host: None
- analytics_posthog_project_api_key: None
- anthropic_api_key: None
- api_key: []
- apply: None
- apply_clipboard_edits: False
- assistant_output_color: #0088ff
- attribute_author: None
- attribute_co_authored_by: True
- attribute_commit_message_author: False
- attribute_commit_message_committer: False
- attribute_committer: None
- auto_accept_architect: True
- auto_commits: True
- auto_lint: True
- auto_test: False
- cache_keepalive_pings: 0
- cache_prompts: False
- chat_history_file: /home/jfd/Repositories/opencloud/.aider.chat.history.md
- chat_language: None
- check_model_accepts_settings: True
- check_update: True
- code_theme: default
- commit: False
- commit_language: None
- commit_prompt: None
- completion_menu_bg_color: None
- completion_menu_color: None
- completion_menu_current_bg_color: None
- completion_menu_current_color: None
- config: None
- copy_paste: False
- dark_mode: False
- deepseek: False
- detect_urls: True
- dirty_commits: True
- disable_playwright: False
- dry_run: False
- edit_format: None
- editor: None
- editor_edit_format: None
- editor_model: None
- encoding: utf-8
- env_file: /home/jfd/Repositories/opencloud/.env
- exit: False
- fancy_input: True
- file: None
- files: []
- git: True
- git_commit_verify: False
- gitignore: True
- gui: False
- haiku: False
- input_history_file: /home/jfd/Repositories/opencloud/.aider.input.history
- install_main_branch: False
- just_check_update: False
- light_mode: False
- line_endings: platform
- lint: False
- lint_cmd: []
- list_models: None
- llm_history_file: None
- load: None
- map_multiplier_no_files: 2
- map_refresh: auto
- map_tokens: None
- max_chat_history_tokens: None
- message: None
- message_file: None
- mini: False
- model: ollama/qwen3-coder:latest
- model_metadata_file: .aider.model.metadata.json
- model_settings_file: .aider.model.settings.yml
- multiline: False
- notifications: False
- notifications_command: None
- o1_mini: False
- o1_preview: False
- openai_api_base: None
- openai_api_deployment_id: None
- openai_api_key: None
- openai_api_type: None
- openai_api_version: None
- openai_organization_id: None
- opus: False
- pretty: True
- read: None
- reasoning_effort: None
- restore_chat_history: False
- set_env: []
- shell_completions: None
- show_diffs: False
- show_model_warnings: True
- show_prompts: False
- show_release_notes: None
- show_repo_map: False
- skip_sanity_check_repo: False
- sonnet: False
- stream: True
- subtree_only: False
- suggest_shell_commands: True
- test: False
- test_cmd: []
- thinking_tokens: None
- timeout: None
- tool_error_color: #FF2222
- tool_output_color: None
- tool_warning_color: #FFA500
- upgrade: False
- user_input_color: #00cc00
- verbose: False
- verify_ssl: True
- vim: False
- voice_format: wav
- voice_input_device: None
- voice_language: en
- watch_files: False
- weak_model: None
- yes_always: None
Main model (ollama/qwen3-coder:latest):
input_cost_per_token: 0.0
key: qwen3-coder:latest
litellm_provider: ollama
max_input_tokens: 262144
max_output_tokens: 262144
max_tokens: 262144
mode: chat
output_cost_per_token: 0.0
supported_openai_params: ['max_tokens', 'stream', 'top_p', 'temperature', 'seed', 'frequency_penalty', 'stop', 'response_format', 'max_completion_tokens']
supports_function_calling: False
Editor model (ollama/qwen3-coder:latest):
input_cost_per_token: 0.0
key: qwen3-coder:latest
litellm_provider: ollama
max_input_tokens: 262144
max_output_tokens: 262144
max_tokens: 262144
mode: chat
output_cost_per_token: 0.0
supported_openai_params: ['max_tokens', 'stream', 'top_p', 'temperature', 'seed', 'frequency_penalty', 'stop', 'response_format', 'max_completion_tokens']
supports_function_calling: False
Weak model (ollama/qwen3-coder:latest):
input_cost_per_token: 0.0
key: qwen3-coder:latest
litellm_provider: ollama
max_input_tokens: 262144
max_output_tokens: 262144
max_tokens: 262144
mode: chat
output_cost_per_token: 0.0
supported_openai_params: ['max_tokens', 'stream', 'top_p', 'temperature', 'seed', 'frequency_penalty', 'stop', 'response_format', 'max_completion_tokens']
supports_function_calling: False
#### /settings
> Aider v0.85.5
Model: ollama/qwen3-coder:latest with context edit format
Git repo: .git with 12,459 files
Warning: For large repos, consider using --subtree-only and .aiderignore
See: https://aider.chat/docs/faq.html#can-i-use-aider-in-a-large-mono-repo
Repo-map: using 8192 tokens, always refresh
Command Line Args: --model ollama/qwen3-coder:latest
Defaults:
--set-env: []
--api-key: []
--model-settings-file:.aider.model.settings.yml
--model-metadata-file:.aider.model.metadata.json
--cache-keepalive-pings:0
--map-refresh: auto
--map-multiplier-no-files:2
--input-history-file:/home/jfd/Repositories/opencloud/.aider.input.history
--chat-history-file:/home/jfd/Repositories/opencloud/.aider.chat.history.md
--user-input-color:#00cc00
--tool-error-color:#FF2222
--tool-warning-color:#FFA500
--assistant-output-color:#0088ff
--code-theme: default
--aiderignore: /home/jfd/Repositories/opencloud/.aiderignore
--lint-cmd: []
--test-cmd: []
--voice-format: wav
--voice-language: en
--encoding: utf-8
--line-endings: platform
--env-file: /home/jfd/Repositories/opencloud/.env
Option settings:
- 35turbo: False
- 4: False
- 4_turbo: False
- 4o: False
- add_gitignore_files: False
- aiderignore: /home/jfd/Repositories/opencloud/.aiderignore
- alias: None
- analytics: None
- analytics_disable: False
- analytics_log: None
- analytics_posthog_host: None
- analytics_posthog_project_api_key: None
- anthropic_api_key: None
- api_key: []
- apply: None
- apply_clipboard_edits: False
- assistant_output_color: #0088ff
- attribute_author: None
- attribute_co_authored_by: True
- attribute_commit_message_author: False
- attribute_commit_message_committer: False
- attribute_committer: None
- auto_accept_architect: True
- auto_commits: True
- auto_lint: True
- auto_test: False
- cache_keepalive_pings: 0
- cache_prompts: False
- chat_history_file: /home/jfd/Repositories/opencloud/.aider.chat.history.md
- chat_language: None
- check_model_accepts_settings: True
- check_update: True
- code_theme: default
- commit: False
- commit_language: None
- commit_prompt: None
- completion_menu_bg_color: None
- completion_menu_color: None
- completion_menu_current_bg_color: None
- completion_menu_current_color: None
- config: None
- copy_paste: False
- dark_mode: False
- deepseek: False
- detect_urls: True
- dirty_commits: True
- disable_playwright: False
- dry_run: False
- edit_format: None
- editor: None
- editor_edit_format: None
- editor_model: None
- encoding: utf-8
- env_file: /home/jfd/Repositories/opencloud/.env
- exit: False
- fancy_input: True
- file: None
- files: []
- git: True
- git_commit_verify: False
- gitignore: True
- gui: False
- haiku: False
- input_history_file: /home/jfd/Repositories/opencloud/.aider.input.history
- install_main_branch: False
- just_check_update: False
- light_mode: False
- line_endings: platform
- lint: False
- lint_cmd: []
- list_models: None
- llm_history_file: None
- load: None
- map_multiplier_no_files: 2
- map_refresh: auto
- map_tokens: None
- max_chat_history_tokens: None
- message: None
- message_file: None
- mini: False
- model: ollama/qwen3-coder:latest
- model_metadata_file: .aider.model.metadata.json
- model_settings_file: .aider.model.settings.yml
- multiline: False
- notifications: False
- notifications_command: None
- o1_mini: False
- o1_preview: False
- openai_api_base: None
- openai_api_deployment_id: None
- openai_api_key: None
- openai_api_type: None
- openai_api_version: None
- openai_organization_id: None
- opus: False
- pretty: True
- read: None
- reasoning_effort: None
- restore_chat_history: False
- set_env: []
- shell_completions: None
- show_diffs: False
- show_model_warnings: True
- show_prompts: False
- show_release_notes: None
- show_repo_map: False
- skip_sanity_check_repo: False
- sonnet: False
- stream: True
- subtree_only: False
- suggest_shell_commands: True
- test: False
- test_cmd: []
- thinking_tokens: None
- timeout: None
- tool_error_color: #FF2222
- tool_output_color: None
- tool_warning_color: #FFA500
- upgrade: False
- user_input_color: #00cc00
- verbose: False
- verify_ssl: True
- vim: False
- voice_format: wav
- voice_input_device: None
- voice_language: en
- watch_files: False
- weak_model: None
- yes_always: None
Main model (ollama/qwen3-coder:latest):
input_cost_per_token: 0.0
key: qwen3-coder:latest
litellm_provider: ollama
max_input_tokens: 262144
max_output_tokens: 262144
max_tokens: 262144
mode: chat
output_cost_per_token: 0.0
supported_openai_params: ['max_tokens', 'stream', 'top_p', 'temperature', 'seed', 'frequency_penalty', 'stop', 'response_format', 'max_completion_tokens']
supports_function_calling: False
Editor model (ollama/qwen3-coder:latest):
input_cost_per_token: 0.0
key: qwen3-coder:latest
litellm_provider: ollama
max_input_tokens: 262144
max_output_tokens: 262144
max_tokens: 262144
mode: chat
output_cost_per_token: 0.0
supported_openai_params: ['max_tokens', 'stream', 'top_p', 'temperature', 'seed', 'frequency_penalty', 'stop', 'response_format', 'max_completion_tokens']
supports_function_calling: False
Weak model (ollama/qwen3-coder:latest):
input_cost_per_token: 0.0
key: qwen3-coder:latest
litellm_provider: ollama
max_input_tokens: 262144
max_output_tokens: 262144
max_tokens: 262144
mode: chat
output_cost_per_token: 0.0
supported_openai_params: ['max_tokens', 'stream', 'top_p', 'temperature', 'seed', 'frequency_penalty', 'stop', 'response_format', 'max_completion_tokens']
supports_function_calling: False
#### /ask
> Aider v0.85.5
> Model: ollama/qwen3-coder:latest with ask edit format
> Git repo: .git with 12,459 files
> Warning: For large repos, consider using --subtree-only and .aiderignore
> See: https://aider.chat/docs/faq.html#can-i-use-aider-in-a-large-mono-repo
> Repo-map: using 4096 tokens, auto refresh
#### how is this go repository structured`?
Es ist nicht möglich, die Struktur des Go-Repositorys zu bestimmen, da keine Informationen über die Hauptdateien oder Verzeichnisse des Projekts vorliegen. Die bereitgestellten Informationen beziehen sich ausschließlich auf Abhängigkeiten im `vendor`-Ordner.
Um die Struktur des Repositorys zu verstehen, benötige ich:
1. **Hauptverzeichnisse:** Wie sind die Hauptverzeichnisse des Projekts strukturiert? (z.B. `cmd/`, `pkg/`, `internal/`, `services/`)
2. **Hauptdateien:** Welche Go-Dateien enthalten den eigentlichen Anwendungscode?
3. **Go-Mod-Datei:** Die `go.mod`-Datei enthält wichtige Informationen über die Projektstruktur und Abhängigkeiten.
Ohne diese Informationen kann ich keine Aussage über die Struktur des Repositorys treffen. Bitte fügen Sie relevante Dateien hinzu, damit ich Ihnen bei der Analyse helfen kann.
> Tokens: 9.4k sent, 231 received.
# aider chat started at 2025-08-08 20:16:44
> /home/jfd/.local/bin/aider --model ollama/qwen3-coder:latest
> Aider v0.85.5
> Model: ollama/qwen3-coder:latest with whole edit format
> Git repo: .git with 2,175 files
> Warning: For large repos, consider using --subtree-only and .aiderignore
> See: https://aider.chat/docs/faq.html#can-i-use-aider-in-a-large-mono-repo
> Repo-map: using 4096 tokens, auto refresh
#### /ask what is this codebase about
#### what is this codebase about
Dieser Codebase beschreibt ein verteiltes System, wahrscheinlich eine Cloud-Plattform namens "opencloud", das auf Go (Golang) basiert. Es besteht aus vielen verschiedenen Diensten (Services), die jeweils für spezifische Funktionen zuständig sind, wie Authentifizierung, Benutzerverwaltung, Datei-Speicherung, Suchfunktionen, Ereignisverwaltung und vieles mehr.
Die Architektur verwendet:
* **Microservices:** Jeder Dienst ist ein eigenständiger Prozess (z.B. `auth-service`, `gateway`, `storage-users`).
* **gRPC und HTTP:** Für die Kommunikation zwischen den Diensten und mit externen Clients.
* **NATS.js (JetStream):** Als Messaging-System für Ereignisse und Kommunikation.
* **Protobuf (protobuf):** Für die Definition von Datenstrukturen und RPC-Schnittstellen (z.B. `eventhistory.pb.go`, `settings.pb.go`).
* **Konfiguration:** Über YAML-Dateien, Umgebungsvariablen und spezielle Konfigurations-Tools (`envdecode`).
* **Logging:** Mit `zerolog`.
* **Dependency Injection / Registry:** Für die Dienstregistrierung und -auflösung.
* **Tests:** Enthalten Unit-Tests und Akzeptanztests (z.B. in `tests/acceptance/`).
Zusammenfassend ist es ein komplexes, modular aufgebautes Cloud-System mit starkem Fokus auf Sicherheit, Skalierbarkeit und eine Vielzahl von Funktionen wie Benutzerverwaltung, Dateioperationen, Berechtigungen, Ereignisprotokollierung und mehr.
> Tokens: 7.6k sent, 402 received.
# aider chat started at 2025-08-13 12:18:21
> Newer aider version v0.86.0 is available.
> /home/jfd/.local/share/uv/tools/aider-chat/bin/python -m pip install --upgrade --upgrade-strategy only-if-needed aider-chat
> Run pip install? (Y)es/(N)o [Yes]: y
> Re-run aider to use new version.
# aider chat started at 2025-08-13 12:18:29
> /home/jfd/.local/bin/aider --model ollama/qwen3-coder:latest
> Aider v0.86.0
> Model: ollama/qwen3-coder:latest with whole edit format
> Git repo: .git with 2,175 files
> Warning: For large repos, consider using --subtree-only and .aiderignore
> See: https://aider.chat/docs/faq.html#can-i-use-aider-in-a-large-mono-repo
> Repo-map: using 4096 tokens, auto refresh
> https://aider.chat/HISTORY.html#release-notes
> Would you like to see what's new in this version? (Y)es/(N)o [Yes]: y
#### /ask
> Aider v0.86.0
> Model: ollama/qwen3-coder:latest with ask edit format
> Git repo: .git with 2,175 files
> Warning: For large repos, consider using --subtree-only and .aiderignore
> See: https://aider.chat/docs/faq.html#can-i-use-aider-in-a-large-mono-repo
> Repo-map: using 4096 tokens, auto refresh
#### how do I configure the forward timeout for trafik for an ingress in k3s
Um das Forward Timeout für einen Ingress in K3s mit Traefik zu konfigurieren, musst du die Traefik-Konfiguration anpassen.
1. **Erstellen oder Bearbeiten der Traefik-Konfiguration:**
* Erstelle eine Datei namens `traefik.yaml` im Verzeichnis `/var/lib/rancher/k3s/server/manifests/`.
* Füge folgenden Inhalt hinzu:
```yaml
apiVersion: v1
kind: Service
metadata:
name: traefik
namespace: kube-system
spec:
selector:
app.kubernetes.io/name: traefik
ports:
- port: 80
targetPort: 80
protocol: TCP
name: http
- port: 443
targetPort: 443
protocol: TCP
name: https
---
apiVersion: v1
kind: ConfigMap
metadata:
name: traefik-config
namespace: kube-system
data:
traefik.toml: |
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.forwardedHeaders]
trustedIPs = ["10.42.0.0/16"] # Anpassen, falls nötig
[entryPoints.https]
address = ":443"
[entryPoints.https.forwardedHeaders]
trustedIPs = ["10.42.0.0/16"] # Anpassen, falls nötig
[providers.kubernetesIngress]
# Konfiguration für den Kubernetes Ingress Provider
# (Standardmäßig aktiviert)
[api]
dashboard = true
# Aktiviere die API-Endpunkte
[log]
level = "INFO"
[metrics]
[metrics.prometheus]
entryPoint = "traefik"
# Aktiviere Metriken für Prometheus
# Konfiguration des Timeouts
[http]
[http.timeouts]
# Timeout für die Verbindung zum Backend (in Sekunden)
# Standardwert ist 30s
# Anpassen nach Bedarf
forwardTimeout = "60s" # Beispiel: 60 Sekunden
```
2. **Anwenden der Konfiguration:**
* Speichere die Datei `traefik.yaml`.
* K3s wird automatisch die Konfiguration anwenden.
3. **Verwendung in Ingress-Ressourcen:**
* Um das Timeout auf einer spezifischen Ingress-Ressource anzuwenden, kannst du einen Annotation verwenden:
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
annotations:
# Setze das Forward Timeout für diesen Ingress
traefik.ingress.kubernetes.io/forward-timeout: "60s"
spec:
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: example-service
port:
number: 80
```
4. **Überprüfen der Konfiguration:**
* Überprüfe, ob die Traefik-Instanz korrekt konfiguriert wurde:
```bash
kubectl get pods -n kube-system | grep traefik
kubectl logs -n kube-system <traefik-pod-name>
```
5. **Neustart (falls erforderlich):**
* Falls du Änderungen an der Konfiguration vornimmst, kann es sein, dass du den Traefik-Pod neu starten musst:
```bash
kubectl delete pod -n kube-system <traefik-pod-name>
```
**Wichtige Hinweise:**
* Die `forwardTimeout`-Einstellung in der `traefik.toml` konfiguriert den Standardwert für alle Ingresses.
* Die Annotation `traefik.ingress.kubernetes.io/forward-timeout` überschreibt den Standardwert für einen spezifischen Ingress.
* Stelle sicher, dass die IP-Adressen in `trustedIPs` korrekt sind, um Sicherheitsprobleme zu vermeiden.
* Die Werte für `forwardTimeout` können in Sekunden (z.B. "60s"), Millisekunden (z.B. "500ms") oder Minuten (z.B. "1m") angegeben werden.
Diese Schritte helfen dir, das Forward Timeout für Traefik in K3s zu konfigurieren.
> Tokens: 7.8k sent, 1.0k received.

View File

@@ -1,36 +0,0 @@
# 2025-05-27 11:12:13.960332
+y
# 2025-05-27 11:12:24.831418
+N
# 2025-08-08 20:09:01.215861
+n
# 2025-08-08 20:10:02.002139
+/ask what is this codebase about
# 2025-08-08 20:12:31.750333
+those are the dependencies in the vendor folder. what about the actual code
# 2025-08-08 20:13:56.242508
+/context
# 2025-08-08 20:14:25.920747
+/settings
# 2025-08-08 20:14:54.465266
+/ask
# 2025-08-08 20:15:18.929199
+how is this go repository structured`?
# 2025-08-08 20:17:00.238863
+/ask what is this codebase about
# 2025-08-13 12:19:06.365022
+/ask
# 2025-08-13 12:19:50.163955
+how do I configure the forward timeout for trafik for an ingress in k3s

Some files were not shown because too many files have changed in this diff Show More