Jose Diaz-Gonzalez
1af36b609d
feat: add resource-specific annotations to ingress objects
2024-02-06 22:12:41 -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
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
029e1f5f48
feat: add the dokku logo as the chart icon
2024-01-26 06:55:46 -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
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
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
1e559f20e5
refactor: use helper function to get process resources
2024-01-23 03:00:27 -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
01ec08fd79
refactor: simplify port string
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
b64c3a1859
chore: add missing import
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
3d6225406d
chore: rename input variable
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
e4a74366ba
chore: move around structs to be closer to the functions using them
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
632b26905a
feat: use common labels instead of custom ones
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
86da40ba19
feat: add default-container annotation everywhere
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
8762bede07
feat: implement healthcheck support
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
e4855941fe
feat: allow for stable cron names
...
The cron id is too long to store in the cronjob, so we generate a short identifier and look that up each time on deploy to ensure stability across time.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
297853781f
refactor: move all k8s code behind client
...
Also fix an issue where attaching to pods fails in rare cases
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
277df036e9
feat: implement default resource limits for cron tasks
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
0127f836fa
feat: implement cron jobs
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
8b8444fb1f
feat: implement run and run:detached
...
This utilizes a Kubernetes Job to start a pod in order to take advantage of completed Job cleanup in Kubernetes. It also properly handles interactivity by ensuring the container has a TTY.
Note that there is currently no provision for parsing docker arguments and translating them into their Kubernetes equivalents.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
1e11ec3911
fix: setup all port maps correctly on service
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
2911218816
feat: add an annotations everywhere to ensure folks know what is managed by dokku
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
737f54a5c7
feat: implement dokku enter for k8s scheduler
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
6fb03eda4e
feat: implement most of deployments
...
The big feature missing from deployments today is healthchecks, which require extra parsing of the app.json format since the healthchecks there aren't immediately serializable to kubernetes deployment healthchecks.
Other smaller missing functionality from the existing OSS kubernetes scheduler are:
- The ability to set custom pod annotations
- The ability to set custom deployment annotations
- The ability to mount volumes
Exposing these pieces of functionality will come at a later date, if at all.
2024-01-23 03:00:27 -05:00