26 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
52b26a3760 feat: add vector-cron-sink for scheduled cron task output
Scheduled cron task output previously reached only the `dokku` user's cron mail, and could not be redirected because `app.json` rejects bare shell operators in a cron `command`. Setting `vector-cron-sink` on an app or globally routes that output to a dedicated sink instead, on both the `docker-local` and `k3s` schedulers, which keeps log destinations under operator control rather than in a deployed repository. Cron events carry `dokku_app` and `dokku_cron_id` fields so a sink can give each task its own destination. This also fixes a `k3s` bug where configuring a global `vector-sink` silently removed the vector prometheus exporter sink.
2026-08-09 01:10:21 -04:00
Jose Diaz-Gonzalez
d00a7d741a feat: attach vector container to additional docker networks
Adds a new global `vector-networks` property on the logs plugin that takes a comma-separated list of Docker networks. When set, the rendered compose file declares each network plus `bridge` as external and joins them on the vector service, so `docker compose up` reconciles attachments on every `logs:vector-start`. When unset, the existing `network_mode: bridge` template is preserved unchanged. The value is validated against `docker network inspect` at set time, rejects the reserved `bridge` entry, and is surfaced in `dokku logs:report` via `--logs-vector-global-networks`.
2026-05-12 22:05:50 -04:00
Jose Diaz-Gonzalez
9c41bed78b feat: allow specifying base64-encoded values in vector-sink DSN urls
This will allow Vector templating to work when using Kubernetes as the scheduler.
2025-08-23 15:46:57 -04:00
Jose Diaz-Gonzalez
b0c2912453 fix: use newer qson to add support for escaped = (equals) signs
Equal signs should be escaped - %3D - in order to be used in values.
2025-08-12 20:15:27 -04:00
Jose Diaz-Gonzalez
3eeb9be292 chore: add trailing newline 2025-08-12 19:35:44 -04:00
leksyib14
c44d729831 fix: vector sink format issue 2025-08-12 19:35:44 -04:00
Jose Diaz-Gonzalez
b97e8f3601 feat: add ability to ship k3s container logs via vector
If a global vector-sink property on the logs plugin is set, we will use that to configure a log sink (defaulting to console output otherwise). Note that the actual configuration still needs to be a valid DSN representing a Vector log sink.

While this does not support pinning log sinks to specific apps, it opens up integration for those who use a single k3s cluster in shared tenancy.
2025-04-14 04:35:21 -04:00
Jose Diaz-Gonzalez
869f9a0346 feat: allow specifying a custom app label alias when shipping logs via vector
Closes #7354
2025-01-03 23:38:20 -05:00
Jose Diaz-Gonzalez
bb5ab0a777 refactor: use CallPlugnTrigger instead of PlugnTrigger
Refs #6422
2024-03-14 03:11:37 -04:00
Jose Diaz-Gonzalez
1c0bd39d42 feat: ensure referenced images get updated by dependabot
Dokku uses a few external images for various bits of functionality, but these must be manually updated every so often due to being referenced in code.

By moving the references to Dockerfiles, we can take advantage of dependabot to issue automatic PRs when they are out of date.
2024-02-25 00:54:11 -05:00
Jose Diaz-Gonzalez
c49322bd34 feat: manage vector container via compose
Using compose instead of manual docker calls allows folks to customize the vector container by using a custom compose.yml template file. This opens us up to more customizations while aligning container management with how we do other external containers (such as for the proxy plugins).

Refs #5784
2024-01-26 06:46:18 -05:00
Jose Diaz-Gonzalez
ed152ccd83 feat: upgrade vector image to 0.35.x
This is backwards compatible for Dokku's usage, so should be fine to ship.
2024-01-26 04:24:04 -05:00
Jose Diaz-Gonzalez
aa05a95243 feat: allow setting the vector image as a global property 2024-01-25 04:26:57 -05:00
Jose Diaz-Gonzalez
56e18be2cf feat: upgrade vector image from 0.23.x to 0.31.x 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
f60e0d7c8a feat: update vector image
Also drop value for --watch-config flag, as this is now properly parsed as a boolean value.

Refs #5197
2022-08-10 16:46:56 -04:00
Jose Diaz-Gonzalez
c74c542b1f feat: upgrade vector and set default sink variable 2021-10-24 15:14:37 -04:00
Jose Diaz-Gonzalez
cdc5eb9909 feat: upgrade vector image to 0.16.x 2021-09-14 02:19:49 -04:00
Lee Unsworth
ae6452e6e4 Bumps vector image version 2021-03-15 08:55:28 +00:00
Jose Diaz-Gonzalez
4c74e0dfba fix: correct docblock 2021-01-23 16:19:12 -05:00
Jose Diaz-Gonzalez
8c81d520f6 fix: correct stickler 2021-01-23 12:45:05 -05:00
Jose Diaz-Gonzalez
afe1e8b33c refactor: use log:set for logs and add global support 2021-01-23 12:45:05 -05:00
Jose Diaz-Gonzalez
d6acf5530e fix: add some comments 2021-01-04 01:14:40 -05:00
Jose Diaz-Gonzalez
43d6a2ad94 feat: add ability to set a global vector sink 2021-01-04 01:11:49 -05:00
Jose Diaz-Gonzalez
e1425a85e4 feat: add ability to set global properties
Not all properties can be set globally, and the "appName" in the global case is currently defaulted to `--global`. This is okay because domain label names cannot start with hyphens, and all app names must be valid domain label names.
2021-01-04 00:50:14 -05:00
Jose Diaz-Gonzalez
fd85b1f605 feat: add vector integration
This currently is missing a few features:

- global sinks
- logrotation

But works fairly well otherwise.
2021-01-04 00:30:22 -05:00
Jose Diaz-Gonzalez
7cdc68a007 refactor: use framework for running function against all apps 2020-11-22 15:01:36 -05:00