66 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
a5e784bfb0 Merge pull request #7649 from dokku/k3s-decrease-keda-resources
fix: decrease default in-use keda resources
2025-04-14 11:15:18 -04:00
Jose Diaz-Gonzalez
8aea3e273a fix: decrease default in-use keda resources
Keda isn't in use by everyone, yet commands significant resources. This change makes it so a 2GB server is enough to run Dokku and a couple of small apps.
2025-04-14 04:38:06 -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
65dd4bc1e0 feat: set shm-size volume/volumeMounts on kubernetes deployments 2025-03-06 22:59:35 -05:00
Jose Diaz-Gonzalez
dcdbe22d86 fix: add tolerations for keda 2024-11-13 20:13:38 -05:00
Jose Diaz-Gonzalez
44eab143ab fix: do not perform nil lookup 2024-11-13 17:10:41 -05:00
Jose Diaz-Gonzalez
52f08ff793 fix: do not perform nil lookup 2024-11-13 04:06:37 -05:00
Jose Diaz-Gonzalez
b98863b6a7 feat: add support for the keda-http-add-on
Externally, it is treated the same as any other scaling trigger, but requires that the chart be installed in order for it to be supported.
2024-11-13 03:29:26 -05:00
Jose Diaz-Gonzalez
f8d2768816 feat: default to no triggers on any created ScaledObject 2024-11-13 02:05:20 -05:00
Jose Diaz-Gonzalez
fd2cfe8080 fix: correctly pull the deployment id from an app's helm values when executing dokku run under the k3s scheduler
- Fix the internal identifier of deployment_id -> deployment_id
- Add tests for both enter and run.
2024-11-04 14:44:25 -05:00
Jose Diaz-Gonzalez
77d9594c09 fix: use annotation to check for ingress method 2024-03-12 07:57:20 -04:00
Jose Diaz-Gonzalez
ac2ea7597e fix: use correct variable name 2024-03-12 06:11:28 -04:00
Jose Diaz-Gonzalez
d4b484a33a fix: replace existing port-map ingress objects with domain ingress objects
Domains cannot be reused across ingress objects, and port maps are a function of a domain, so the inversion here makes most sense (at the cost of some downtime when migrating.
2024-03-12 03:55:40 -04:00
Jose Diaz-Gonzalez
7c58bbf792 feat: setup cluster trigger authentication objects 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
c0f01c58d6 feat: add initial support for interacting with ClusterTriggerAuthentication objects
These will be provisioned to the keda namespace and referenced by Triggers if they exist (as a fallback to app-specific values).
2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
0cb47f1c54 fix: include app name and use shorter prefix 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
b3b3a93789 fix: correct associated name 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
042495bcd6 fix: ensure keda auth secrets are written out 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
4ddd341184 feat: add initial support for keda authentication 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
8add9b4b13 fix: ensure the ScaledObject resource is not created if the capability does not exist 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
b7ff696507 feat: add initial support for injecting keda addons 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
7a5bd7ee0f refactor: use a helper function for printing out both labels and annotations 2024-03-01 17:42:24 -05:00
Jose Diaz-Gonzalez
9ffd5ada71 Merge pull request #6642 from dokku/k3s-ingress-global-annotations
Use correct annotations key for the ingress chart
2024-02-28 11:40:47 -05:00
Jose Diaz-Gonzalez
7c376d3e6d refactor: rename image pull secrets to standardize on secret naming pattern 2024-02-27 18:25:16 -05:00
Jose Diaz-Gonzalez
0c2307095d fix: use correct annotations key for the ingress chart 2024-02-27 18:24:12 -05:00
Jose Diaz-Gonzalez
5ae9ad46b4 feat: install keda addon in k3s cluster 2024-02-25 20:34:29 -05:00
Jose Diaz-Gonzalez
63a5fe429f Merge pull request #6629 from dokku/k3s-image-pull-secrets-short
Use smaller reference to image pull secrets in secret naming
2024-02-25 15:48:59 -05:00
Jose Diaz-Gonzalez
ab674072bc fix: use smaller reference to image pull secrets in secret naming
This fixes an issue where the secret name is too long in tests where the generated test app name includes a uuid.
2024-02-25 14:00:28 -05:00
Jose Diaz-Gonzalez
55c85fb6aa fix: ensure non-web processes do not attempt to perform web logic in k3s templates 2024-02-25 13:58:30 -05:00
Jose Diaz-Gonzalez
1ae2df52f5 fix: use image pull secrets instead of registries.yaml to reference private repositories
While this will now more or less require a local docker login - which can be overridden by setting the image-pull-secrets property - this ensures every deploy has a valid context.

One annoying thing is that the secret is per-app vs global, meaning that if the secret must be rotated, all apps need to be redeployed. A future change can fix that by deploying a global secret, or if folks really desire, this can be done by setting the image-pull-secrets property on the app/globally.
2024-02-12 17:15:37 -05:00
Jose Diaz-Gonzalez
433eb26f3c feat: always skip the https ingress/ingress-route/deployment port entry if there is a corresponding http entry
Also inject the corresponding entries as necessary
2024-02-12 01:31:39 -05:00
Jose Diaz-Gonzalez
bfccf60a37 refactor: simplify tls handling by always redirecting 2024-02-12 01:31:39 -05:00
Jose Diaz-Gonzalez
e452b9308f fix: ensure k3s can be installed with taints 2024-02-11 04:38:58 -05:00
Jose Diaz-Gonzalez
af7e720d2a fix: correct indentation when configuring https on an app 2024-02-09 13:40:00 -05:00
Jose Diaz-Gonzalez
03ae424a27 fix: ensure map keys are unique 2024-02-07 00:01:57 -05:00
Jose Diaz-Gonzalez
7dbd9adc33 fix: set log mount dir to /var/log/nginx 2024-02-06 22:12:54 -05:00
Jose Diaz-Gonzalez
1af36b609d feat: add resource-specific annotations to ingress objects 2024-02-06 22:12:41 -05:00
Jose Diaz-Gonzalez
5674a29211 feat: add ability to use ingress-nginx for routing instead of traefik 2024-02-06 21:19:51 -05:00
Jose Diaz-Gonzalez
b35d6df67c feat: add support for displaying error logs 2024-02-06 21:19:14 -05:00
Jose Diaz-Gonzalez
81286a0673 feat: add ability to install nginx instead of traefik 2024-02-06 21:19:14 -05:00
Jose Diaz-Gonzalez
f5f583b12b feat: add support for specifying annotations
As the command contains a colon, it must be handled in the commands binary as opposed to subcommands.

Also include a simple bats test.
2024-02-06 13:54:53 -05:00
Jose Diaz-Gonzalez
d7ff8552d1 fix: index the process map to ensure the correct config is pulled
Without this change, certain generated process names - like those for a cron job - may be incorrectly handled when indexing the process map.
2024-02-06 04:41:14 -05:00
Jose Diaz-Gonzalez
6625846ecc Merge pull request #6555 from dokku/service-account
Add support for app-specific service accounts when deploying via k3s
2024-02-05 17:18:20 -05:00
Jose Diaz-Gonzalez
238535be0c fix: respect the release namespace when creating resources for a k3s deploy 2024-02-05 16:50:00 -05:00
Jose Diaz-Gonzalez
d02c04c2a5 feat: add support for app-specific service accounts when deploying via k3s
Service accounts must still be bound to a role, but this ensures apps do not get access to the default service account.
2024-02-05 16:47:57 -05:00
Jose Diaz-Gonzalez
f5182aa553 feat: allow specifying an ingress class via chart value
While Dokku currently only supports traefik, providing this setting will allow swapping out the ingress to another fairly easily.
2024-01-26 03:23:34 -05:00
Jose Diaz-Gonzalez
5b8e8b91e3 fix: ensure all k3s traefik middleware resources are scoped to the process
While we currently only create the middleware for the web process, scoping it by process will allow us to expand this in the future.
2024-01-26 01:38:29 -05:00
Jose Diaz-Gonzalez
ea55db2747 refactor: install traefik via helm chart directly to avoid issues where traefik silently fails installation 2024-01-24 03:58:39 -05:00
Jose Diaz-Gonzalez
1d99e0bc6e fix: guard against missing healthcheck config
Also add support for liveness and readiness probes.
2024-01-24 02:39:39 -05:00
Jose Diaz-Gonzalez
ee23dac2f3 fix: respect the namespace 2024-01-23 10:16:40 -05:00