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
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
5c4e1dfc39
fix: do not attempt to uninstall a chart that isn't available
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
cee47b4836
fix: do not try and override image repo
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
4650585ded
fix: pull pass from env var
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
27b82f77a3
fix: drop duplicate
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
5449c35dbe
fix: correct path to registry config and update go.mod
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
e13561ec4d
refactor: move registry path to const
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
da4771e6e4
fix: uninstall in foreground
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
cb62ab02f4
fix: add missing post-deploy triggers
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
c2b78bb2d7
feat: implement run:list
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
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
9d27ff39da
refactor: only delete the helm chart in the scheduler-post-delete hook
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
bb8fd39e80
chore: drop extra debugging for one-off jobs
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