32 Commits

Author SHA1 Message Date
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
Jose Diaz-Gonzalez
d8fcabdf40 fix: always route to http instead of https
Otherwise, we're assuming the app pod is going to handle https requests and not the ingress
2024-01-23 08:10:16 -05:00
Jose Diaz-Gonzalez
7b2484962b fix: set tls field on ingress-route 2024-01-23 07:59:14 -05:00
Jose Diaz-Gonzalez
1d07801f3c fix: set ttl property at correct level for cronjobs 2024-01-23 07:25:51 -05:00
Jose Diaz-Gonzalez
4a7db5ce24 feat: apply the cluster issuers on every app deploy
This ensures we can always get certificates regardless of what app gets deployed with whatever configuration.
2024-01-23 07:25:03 -05:00
Jose Diaz-Gonzalez
c8f5ad9029 fix: correct issues in certificate generation 2024-01-23 06:18:25 -05:00
Jose Diaz-Gonzalez
cc62bc080b fix: use correct field for comparison 2024-01-23 04:55:38 -05:00
Jose Diaz-Gonzalez
a0811c2cb3 fix: move field to correct location 2024-01-23 04:42:20 -05:00
Jose Diaz-Gonzalez
2336063ca2 refactor: move templating into pseudo-generated helm chart
The previous mechanism of constructing the helm chart was pretty obnoxious due to needing to have some things in the object and some in template files that were appended afterwards. This change simplifies that by using template files per type with minimal replacements.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
29760e8ecd feat: add support to tls for ingress-route
If tls is enabled on the process, we create add the https entrypoint and also add the requisite tls secret-name
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
63a6e9087f feat: create tls certificate if tls is enabled and the app has domains 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
b0485495e4 refactor: make domains a helm value
This will allow updating domains on the fly
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
2619c3db08 fix: ensure critical addons come up when the node is tainted
Rather than taint on `node-role.kubernetes.io/master=true:NoSchedule`, we check for `CriticalAddonsOnly=true:NoSchedule` and taint on that.
2024-01-23 03:00:27 -05:00