Commit Graph

3359 Commits

Author SHA1 Message Date
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
cf7d35601d fix: delete the temporary helm chart on disk 2024-01-23 07:25:42 -05:00
Jose Diaz-Gonzalez
99f20a962e refactor: rename helm chart to app name 2024-01-23 07:25:28 -05:00
Jose Diaz-Gonzalez
25925c0ae2 chore: remove logging from inside helm client 2024-01-23 07:25:18 -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
a9e6e96697 feat: implement scheduler-k3s:report 2024-01-23 05:01:23 -05:00
Jose Diaz-Gonzalez
cc62bc080b fix: use correct field for comparison 2024-01-23 04:55:38 -05:00
Jose Diaz-Gonzalez
fbbc967e8d chore: add todo 2024-01-23 04:55:24 -05:00
Jose Diaz-Gonzalez
a0811c2cb3 fix: move field to correct location 2024-01-23 04:42:20 -05:00
Jose Diaz-Gonzalez
57e76e29d1 fix: correct the scope on the token 2024-01-23 04:25:41 -05:00
Jose Diaz-Gonzalez
ff849cd4f8 fix: touch the known hosts file earlier 2024-01-23 04:25:25 -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
c6838b645e chore: update go mod 2024-01-23 03:21:21 -05:00
Jose Diaz-Gonzalez
56f25c4855 fix: ensure the known_hosts file exists before attempting to ssh onto a server 2024-01-23 03:21:05 -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
2eb346d50d fix: allow setting letsencrypt-server globally 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
b1802547ae feat: add letsencrypt support 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
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
2bee070e78 chore: unify context handling 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
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
3ddfd2bc7d feat: install cert-manager 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
f7acbb1e7c refactor: place all required manifests in a single location
This will make it easier for us to apply the installs.
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
309256955d feat: label the k3s server nodes as capable of fronting traffic
The idea here is that only k3s nodes can/should handle certificate requests. While users may wish to force these onto dedicated lb nodes in the future, at least for now, separating app workloads with routing seems like an okay trade-off.
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
d494e01c7b chore: update error message 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
33a3e6a2fc chore: drop unused node label 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
3375474a4c feat: copy the registry file to all remote hosts 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
a354210f67 fix: treat the registry file as a pointer 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
09ca1f1299 fix: correct issue with file copygin 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
78bc2849cb feat: add longhorn 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
34b06d488f fix: add missing makefile and dokku entries for uninstall and cluster-add 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
a1428ceb74 fix: do not set a static token and generate one as needed 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
af3009f0da chore: bump go modules 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