This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/ferretdb/ferretdb](https://www.ferretdb.com/) ([source](https://github.com/FerretDB/FerretDB)) | minor | `2.5.0` -> `2.7.0` | --- ### Release Notes <details> <summary>FerretDB/FerretDB (ghcr.io/ferretdb/ferretdb)</summary> ### [`v2.7.0`](https://github.com/FerretDB/FerretDB/blob/HEAD/CHANGELOG.md#v270-2025-11-10) [Compare Source](https://github.com/FerretDB/FerretDB/compare/v2.5.0...v2.7.0) (We skipped v2.6.0 to align DocumentDB and FerretDB version numbers.) This version works best with [DocumentDB v0.107.0-ferretdb-2.7.0](https://github.com/FerretDB/documentdb/releases/tag/v0.107.0-ferretdb-2.7.0). ##### Breaking changes There are some changes in our Prometheus metrics and OpenTelemetry traces. Please note that they are [not stable yet](https://docs.ferretdb.io/v2.7/configuration/observability/). ##### What's Changed ##### Basic MCP server This release adds basic MCP server support. Future release will bring additional functionality. ##### Connectivity improvements PostgreSQL connections are now reused, often yielding modest performance gains. ##### New Features 🎉 - Add basic MCP server by [@​chilagrow](https://github.com/chilagrow) in [#​5279](https://github.com/FerretDB/FerretDB/pull/5279) - Implement DataAPI graceful shutdown and add OpenAPI spec endpoint by [@​chilagrow](https://github.com/chilagrow) in [#​5357](https://github.com/FerretDB/FerretDB/pull/5357) - Improve proxy mode observability by [@​AlekSi](https://github.com/AlekSi) in [#​5440](https://github.com/FerretDB/FerretDB/pull/5440) - Add tracing of SQL queries by [@​AlekSi](https://github.com/AlekSi) in [#​5514](https://github.com/FerretDB/FerretDB/pull/5514) ##### Enhancements 🛠 - Add `PostgreSQL` metrics by [@​chilagrow](https://github.com/chilagrow) in [#​5427](https://github.com/FerretDB/FerretDB/pull/5427) - Rename OpenTelemetry spans by [@​AlekSi](https://github.com/AlekSi) in [#​5512](https://github.com/FerretDB/FerretDB/pull/5512) ##### Documentation 📄 - Add blog post on Formio by [@​Fashander](https://github.com/Fashander) in [#​5395](https://github.com/FerretDB/FerretDB/pull/5395) - Document cloud instance deployment and setup by [@​Fashander](https://github.com/Fashander) in [#​5424](https://github.com/FerretDB/FerretDB/pull/5424) - Update content guide by [@​Fashander](https://github.com/Fashander) in [#​5441](https://github.com/FerretDB/FerretDB/pull/5441) - Update compatible apps by [@​Fashander](https://github.com/Fashander) in [#​5442](https://github.com/FerretDB/FerretDB/pull/5442) - Add documentation page stub for MCP server by [@​AlekSi](https://github.com/AlekSi) in [#​5451](https://github.com/FerretDB/FerretDB/pull/5451) - Add FerretDB Cloud blog post by [@​AlekSi](https://github.com/AlekSi) in [#​5461](https://github.com/FerretDB/FerretDB/pull/5461) - Update cloud installation docs by [@​Fashander](https://github.com/Fashander) in [#​5466](https://github.com/FerretDB/FerretDB/pull/5466) ##### Other Changes 🤖 - Use middleware by [@​AlekSi](https://github.com/AlekSi) in [#​5377](https://github.com/FerretDB/FerretDB/pull/5377) - Use generated structs in Data API by [@​noisersup](https://github.com/noisersup) in [#​5382](https://github.com/FerretDB/FerretDB/pull/5382) - Upload YugabyteDB log files by [@​chilagrow](https://github.com/chilagrow) in [#​5401](https://github.com/FerretDB/FerretDB/pull/5401) - Update documentation to point to the next release by [@​AlekSi](https://github.com/AlekSi) in [#​5423](https://github.com/FerretDB/FerretDB/pull/5423) - Bump YugabyteDB to stable version by [@​chilagrow](https://github.com/chilagrow) in [#​5428](https://github.com/FerretDB/FerretDB/pull/5428) - Use QEMU on arm64 for Yugabyte for now by [@​AlekSi](https://github.com/AlekSi) in [#​5429](https://github.com/FerretDB/FerretDB/pull/5429) - Add comments to supervisord config by [@​AlekSi](https://github.com/AlekSi) in [#​5430](https://github.com/FerretDB/FerretDB/pull/5430) - Update DocumentDB by [@​AlekSi](https://github.com/AlekSi) in [#​5431](https://github.com/FerretDB/FerretDB/pull/5431) - Make `Run` wait for all `Handle` calls to finish by [@​AlekSi](https://github.com/AlekSi) in [#​5434](https://github.com/FerretDB/FerretDB/pull/5434) - Tweak `conninfo` by [@​AlekSi](https://github.com/AlekSi) in [#​5435](https://github.com/FerretDB/FerretDB/pull/5435) - Add middleware by [@​AlekSi](https://github.com/AlekSi) in [#​5437](https://github.com/FerretDB/FerretDB/pull/5437) - Update expected PostgreSQL version by [@​AlekSi](https://github.com/AlekSi) in [#​5438](https://github.com/FerretDB/FerretDB/pull/5438) - Avoid hijacking connections from the pool and immediately closing them by [@​chilagrow](https://github.com/chilagrow) in [#​5443](https://github.com/FerretDB/FerretDB/pull/5443) - Remove flaky test by [@​AlekSi](https://github.com/AlekSi) in [#​5444](https://github.com/FerretDB/FerretDB/pull/5444) - Add TODO comment about Debian 13 Trixie by [@​AlekSi](https://github.com/AlekSi) in [#​5450](https://github.com/FerretDB/FerretDB/pull/5450) - Add MCP tools by [@​chilagrow](https://github.com/chilagrow) in [#​5452](https://github.com/FerretDB/FerretDB/pull/5452) - Bump deps by [@​AlekSi](https://github.com/AlekSi) in [#​5455](https://github.com/FerretDB/FerretDB/pull/5455) - Update `wire` dependency by [@​noisersup](https://github.com/noisersup) in [#​5465](https://github.com/FerretDB/FerretDB/pull/5465) - Add helpers for lazy logging by [@​AlekSi](https://github.com/AlekSi) in [#​5467](https://github.com/FerretDB/FerretDB/pull/5467) - Move to `documentdb/documentdb` by [@​AlekSi](https://github.com/AlekSi) in [#​5468](https://github.com/FerretDB/FerretDB/pull/5468) - Update dependencies by [@​AlekSi](https://github.com/AlekSi) in [#​5479](https://github.com/FerretDB/FerretDB/pull/5479) - Add a test for `*documentdb.Conn` finalizing by [@​noisersup](https://github.com/noisersup) in [#​5484](https://github.com/FerretDB/FerretDB/pull/5484) - Finalize PostgreSQL metrics by [@​AlekSi](https://github.com/AlekSi) in [#​5485](https://github.com/FerretDB/FerretDB/pull/5485) - Fix spelling in `.go` files by [@​jsoref](https://github.com/jsoref) in [#​5492](https://github.com/FerretDB/FerretDB/pull/5492) - Fix `CODEOWNERS` grammar by [@​jsoref](https://github.com/jsoref) in [#​5495](https://github.com/FerretDB/FerretDB/pull/5495) - Use Go 1.25.1 by [@​AlekSi](https://github.com/AlekSi) in [#​5508](https://github.com/FerretDB/FerretDB/pull/5508) - Bump deps by [@​AlekSi](https://github.com/AlekSi) in [#​5509](https://github.com/FerretDB/FerretDB/pull/5509) - Minor observability cleanup by [@​AlekSi](https://github.com/AlekSi) in [#​5511](https://github.com/FerretDB/FerretDB/pull/5511) - Bump dependencies by [@​AlekSi](https://github.com/AlekSi) in [#​5519](https://github.com/FerretDB/FerretDB/pull/5519) - Use Go 1.25.3 by [@​AlekSi](https://github.com/AlekSi) in [#​5525](https://github.com/FerretDB/FerretDB/pull/5525) - Skip flaky test for now by [@​AlekSi](https://github.com/AlekSi) in [#​5526](https://github.com/FerretDB/FerretDB/pull/5526) - Use forked lazyerrors by [@​AlekSi](https://github.com/AlekSi) in [#​5527](https://github.com/FerretDB/FerretDB/pull/5527) - Update DocumentDB by [@​AlekSi](https://github.com/AlekSi) in [#​5528](https://github.com/FerretDB/FerretDB/pull/5528) - Use Go 1.25.4 by [@​AlekSi](https://github.com/AlekSi) in [#​5534](https://github.com/FerretDB/FerretDB/pull/5534) - Bump DocumentDB by [@​AlekSi](https://github.com/AlekSi) in [#​5536](https://github.com/FerretDB/FerretDB/pull/5536) - Bump deps by [@​AlekSi](https://github.com/AlekSi) in [#​5537](https://github.com/FerretDB/FerretDB/pull/5537) ##### New Contributors - [@​jsoref](https://github.com/jsoref) made their first contribution in [#​5486](https://github.com/FerretDB/FerretDB/pull/5486) [All closed issues and pull requests](https://github.com/FerretDB/FerretDB/milestone/80?closed=1). [All commits](https://github.com/FerretDB/FerretDB/compare/v2.5.0...v2.7.0). </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19--> Reviewed-on: #2003 Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net> Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
237 lines
7.3 KiB
YAML
237 lines
7.3 KiB
YAML
komodo:
|
|
controllers:
|
|
main:
|
|
type: deployment
|
|
replicas: 1
|
|
strategy: Recreate
|
|
revisionHistoryLimit: 3
|
|
containers:
|
|
main:
|
|
image:
|
|
repository: ghcr.io/moghtech/komodo-core
|
|
tag: 1.19.5
|
|
pullPolicy: IfNotPresent
|
|
env:
|
|
- name: COMPOSE_LOGGING_DRIVER
|
|
value: local
|
|
- name: KOMODO_HOST
|
|
value: https://komodo.alexlebens.net
|
|
- name: KOMODO_TITLE
|
|
value: Komodo
|
|
- name: PASSKEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: komodo-secret
|
|
key: passkey
|
|
- name: KOMODO_MONITORING_INTERVAL
|
|
value: 15-sec
|
|
- name: KOMODO_RESOURCE_POLL_INTERVAL
|
|
value: 5-min
|
|
- name: KOMODO_PASSKEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: komodo-secret
|
|
key: passkey
|
|
- name: KOMODO_WEBHOOK_SECRET
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: komodo-secret
|
|
key: webhook
|
|
- name: KOMODO_JWT_SECRET
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: komodo-secret
|
|
key: jwt
|
|
- name: KOMODO_LOCAL_AUTH
|
|
value: true
|
|
- name: KOMODO_ENABLE_NEW_USERS
|
|
value: true
|
|
- name: KOMODO_DISABLE_NON_ADMIN_CREATE
|
|
value: true
|
|
- name: KOMODO_TRANSPARENT_MODE
|
|
value: false
|
|
- name: PERIPHERY_SSL_ENABLED
|
|
value: false
|
|
- name: DB_USERNAME
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: komodo-postgresql-17-fdb-cluster-app
|
|
key: user
|
|
- name: DB_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: komodo-postgresql-17-fdb-cluster-app
|
|
key: password
|
|
- name: KOMODO_DATABASE_URI
|
|
value: mongodb://$(DB_USERNAME):$(DB_PASSWORD)@komodo-ferretdb-2.komodo:27017/komodo
|
|
- name: KOMODO_OIDC_ENABLED
|
|
value: true
|
|
- name: KOMODO_OIDC_PROVIDER
|
|
value: http://authentik-server.authentik/application/o/komodo/
|
|
- name: KOMODO_OIDC_REDIRECT_HOST
|
|
value: https://authentik.alexlebens.net
|
|
- name: KOMODO_OIDC_CLIENT_ID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: komodo-secret
|
|
key: oidc-client-id
|
|
- name: KOMODO_OIDC_CLIENT_SECRET
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: komodo-secret
|
|
key: oidc-client-secret
|
|
- name: KOMODO_OIDC_USE_FULL_EMAIL
|
|
value: true
|
|
resources:
|
|
requests:
|
|
cpu: 10m
|
|
memory: 128Mi
|
|
ferretdb-2:
|
|
type: deployment
|
|
replicas: 1
|
|
strategy: Recreate
|
|
revisionHistoryLimit: 3
|
|
containers:
|
|
main:
|
|
image:
|
|
repository: ghcr.io/ferretdb/ferretdb
|
|
tag: 2.7.0
|
|
pullPolicy: IfNotPresent
|
|
env:
|
|
- name: FERRETDB_POSTGRESQL_URL
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: komodo-postgresql-17-fdb-cluster-app
|
|
key: uri
|
|
resources:
|
|
requests:
|
|
cpu: 10m
|
|
memory: 128Mi
|
|
service:
|
|
main:
|
|
controller: main
|
|
ports:
|
|
http:
|
|
port: 80
|
|
targetPort: 9120
|
|
protocol: HTTP
|
|
ferretdb-2:
|
|
controller: ferretdb-2
|
|
ports:
|
|
http:
|
|
port: 27017
|
|
targetPort: 27017
|
|
protocol: HTTP
|
|
persistence:
|
|
cache:
|
|
storageClass: ceph-block
|
|
accessMode: ReadWriteOnce
|
|
size: 5Gi
|
|
retain: true
|
|
advancedMounts:
|
|
main:
|
|
main:
|
|
- path: /repo-cache
|
|
readOnly: false
|
|
syncs:
|
|
storageClass: ceph-block
|
|
accessMode: ReadWriteOnce
|
|
size: 5Gi
|
|
retain: true
|
|
advancedMounts:
|
|
main:
|
|
main:
|
|
- path: /syncs
|
|
readOnly: false
|
|
postgresql-17-fdb-cluster:
|
|
nameOverride: komodo-postgresql-17-fdb
|
|
mode: standalone
|
|
cluster:
|
|
image:
|
|
repository: ghcr.io/ferretdb/postgres-documentdb
|
|
tag: "17-0.106.0-ferretdb-2.5.0"
|
|
storage:
|
|
storageClass: local-path
|
|
walStorage:
|
|
storageClass: local-path
|
|
postgresUID: 999
|
|
postgresGID: 999
|
|
enableSuperuserAccess: true
|
|
monitoring:
|
|
enabled: true
|
|
prometheusRule:
|
|
enabled: true
|
|
postgresql:
|
|
parameters:
|
|
cron.database_name: 'ferretDB'
|
|
documentdb.enableCompact: "true"
|
|
documentdb.enableLetAndCollationForQueryMatch: "true"
|
|
documentdb.enableNowSystemVariable: "true"
|
|
documentdb.enableSortbyIdPushDownToPrimaryKey: "true"
|
|
documentdb.enableSchemaValidation: "true"
|
|
documentdb.enableBypassDocumentValidation: "true"
|
|
documentdb.enableUserCrud: "true"
|
|
documentdb.maxUserLimit: "100"
|
|
shared_buffers: 128MB
|
|
max_slot_wal_keep_size: 2000MB
|
|
hot_standby_feedback: "on"
|
|
pg_hba:
|
|
- host ferretDB postgres localhost trust
|
|
- host ferretDB ferret localhost trust
|
|
shared_preload_libraries:
|
|
- pg_cron
|
|
- pg_documentdb_core
|
|
- pg_documentdb
|
|
initdb:
|
|
database: ferretDB
|
|
owner: ferret
|
|
postInitApplicationSQL:
|
|
- create extension if not exists pg_cron;
|
|
- create extension if not exists documentdb cascade;
|
|
- grant documentdb_admin_role to ferret;
|
|
recovery:
|
|
method: objectStore
|
|
objectStore:
|
|
destinationPath: s3://postgres-backups/cl01tl/komodo/komodo-postgresql-17-fdb-cluster
|
|
endpointURL: http://garage-main.garage:3900
|
|
index: 1
|
|
endpointCredentials: komodo-postgresql-17-cluster-backup-secret-garage
|
|
backup:
|
|
objectStore:
|
|
- name: external
|
|
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/komodo/komodo-postgresql-17-fdb-cluster
|
|
index: 2
|
|
retentionPolicy: "30d"
|
|
isWALArchiver: false
|
|
- name: garage-local
|
|
destinationPath: s3://postgres-backups/cl01tl/komodo/komodo-postgresql-17-cluster
|
|
index: 1
|
|
endpointURL: http://garage-main.garage:3900
|
|
endpointCredentials: komodo-postgresql-17-cluster-backup-secret-garage
|
|
endpointCredentialsIncludeRegion: true
|
|
retentionPolicy: "3d"
|
|
isWALArchiver: true
|
|
# - name: garage-remote
|
|
# destinationPath: s3://postgres-backups/cl01tl/komodo/komodo-postgresql-17-cluster
|
|
# index: 1
|
|
# endpointURL: https://garage-ps10rp.boreal-beaufort.ts.net:3900
|
|
# endpointCredentials: komodo-postgresql-17-cluster-backup-secret-garage
|
|
# retentionPolicy: "30d"
|
|
# data:
|
|
# compression: bzip2
|
|
# jobs: 2
|
|
scheduledBackups:
|
|
- name: daily-backup
|
|
suspend: false
|
|
schedule: "0 0 0 * * *"
|
|
backupName: external
|
|
- name: live-backup
|
|
suspend: false
|
|
immediate: true
|
|
schedule: "0 0 0 * * *"
|
|
backupName: garage-local
|
|
# - name: weekly-backup
|
|
# suspend: false
|
|
# schedule: "0 0 4 * * SAT"
|
|
# backupName: garage-remote
|