Jose Diaz-Gonzalez
cd4f9db95b
fix: use annotation instead of location snippet
2024-02-07 13:15:16 -05:00
Jose Diaz-Gonzalez
980979ef87
feat: properly handle nginx annotation merging
2024-02-06 22:48:22 -05:00
Jose Diaz-Gonzalez
416a119904
feat: pull nginx properties as ingress annotations
2024-02-06 22:12:54 -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
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
5e1089973e
refactor: use type-specific functions for writing contents to a file
2024-02-06 01:39:44 -05:00
Jose Diaz-Gonzalez
06429a384e
feat: install kubectx and kubens
2024-01-30 08:01:42 -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
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
578afc0ef7
fix: use correct name for cluster-issuers
2024-01-24 02:19:21 -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
a9e6e96697
feat: implement scheduler-k3s:report
2024-01-23 05:01:23 -05:00
Jose Diaz-Gonzalez
204517074b
fix: allow setting a custom ip address as the ip pf the dokku server
...
This will provide the ability to override cases where the detected ip address is invalid for whatever reason.
2024-01-23 03:26:32 -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
001ae3c83b
fix: set default value for rollback-on-failure
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
62c8cb770e
feat: add support for global properties
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
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
Jose Diaz-Gonzalez
0730647af7
feat: implement :cluster-list and :cluster-remove
...
These - and the existing :cluster-add command - do not require root.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
69e9511666
feat: implement cluster joining for server and worker nodes
...
Different options get applied to each depending on what is needed for the role.
This also updates how we initialize the cluster to better support how metrics exposure and cross-server networking.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
9cd0644883
refactor: fix issues with pod entering
...
- ensure we always wait for the specific pod we want to be ready
- enter the default container if none is specified
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
7bce908c2d
fix: properly set the command for herokuish apps
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
1c5505f78b
refactor: move functions around and ensure we respect local versions of golang dependencies
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
dfa7d0f78c
feat: mark created namespaces as 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