18 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
233e588c3b fix: only raise nil responses for k8s list calls as errors
Empty items should just be treated as such.
2024-12-11 22:56:53 -05:00
Jose Diaz-Gonzalez
5fcbd5bbde Merge pull request #7403 from Tashows/fix-ims-k3s-run
Properly resolve imagePullSecrets from app and deploymentID if relevant property does not exist
2024-12-11 11:39:26 -05:00
Jose Diaz-Gonzalez
ed0ba7072f refactor: check to see if a deployment-specific image pull secret exists before utilizing it. 2024-12-11 09:23:44 -05:00
Tasos Maschalidis
1739d5ec16 Check if tty is actually used and support proper output when it's not 2024-12-10 14:31:36 +02:00
Jose Diaz-Gonzalez
ec41dd2e70 refactor: output logs for completed containers
Previously, a container that exited immediately would just show an error message, which is probably not what we want.

If the pod has exited, we will display the logs on stdout for the user and then exit appropriately.

This change also refactors how log streaming works so that we respect exiting when the stream has no content (such as when the container has exited). Previously, the container would just hang around forever due to not being properly canceled. Due to this refactor, the prefix is now split out into a separate writer.
2024-11-04 14:41:42 -05:00
Jose Diaz-Gonzalez
90e8cac12f feat: implement nginx:show-config for k3s plugin
This allows users to see what nginx configs are in use for their applications.

Closes #7291
2024-10-21 22:09:09 -04:00
Jose Diaz-Gonzalez
611006af73 feat: add support for non-local nginx implementations
If the scheduler is not docker-local, we will assume that a separate plugin trigger will pull access/error logs on our behalf. For k3s, the naive implementation is to pull logs from a single container (multiple ingress-nginx pods will be supported in a future release).

Closes #7268
2024-10-17 00:18:24 -04:00
Jose Diaz-Gonzalez
d4b484a33a fix: replace existing port-map ingress objects with domain ingress objects
Domains cannot be reused across ingress objects, and port maps are a function of a domain, so the inversion here makes most sense (at the cost of some downtime when migrating.
2024-03-12 03:55:40 -04:00
Jose Diaz-Gonzalez
c0f01c58d6 feat: add initial support for interacting with ClusterTriggerAuthentication objects
These will be provisioned to the keda namespace and referenced by Triggers if they exist (as a fallback to app-specific values).
2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
72067fcfd2 feat: add ability for users to specify alternative kubeconfig and kubecontext
This will provide the possibility for users to talk to existing kubernetes clusters, thereby removing one of the biggest reasons for having the old scheduler-kubernetes plugin around.
2024-02-22 07:42:15 -05:00
Jose Diaz-Gonzalez
8711a1c801 fix: force set the kubectl path when running kubectl commands 2024-02-06 14:39:48 -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
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
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
3375474a4c feat: copy the registry file to all remote hosts 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
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