62 Commits

Author SHA1 Message Date
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
Jose Diaz-Gonzalez
6707e5f1eb feat: add redirect to https when both an http and https port mapping match 2024-01-23 09:45:20 -05:00
Jose Diaz-Gonzalez
56ee889295 chore: note that the cluster-issuer is managed by dokku 2024-01-23 09:32:52 -05:00
Jose Diaz-Gonzalez
c1b3c73096 chore: drop unnecessary key 2024-01-23 09:32:41 -05:00
Jose Diaz-Gonzalez
1f35575a2a fix: use the container port as the target to fix an issue where kubernetes will remove duplicate containerPort entries with different names 2024-01-23 08:59:44 -05:00