Add Kubernetes plugin#737
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Thanks for this @idorozin! We'll review today or tomorrow |
|
I’ll add that my team and I have been using this plugin lately, and it’s been working just fine. |
|
@idorozin - glad to hear it! Anything else lacking with varlock in your docker/k8s workflows? We're overdue for a deep dive into improving our support there, and looking for feedback from folks using these tools daily. |
Thanks! Honestly, the lack of a Kubernetes plugin was our single biggest blocker. |
|
I opened a PR into your fork. Normally I'd just push to the fork, but I wanted you to have a look before I merge, and it sounded like you were maybe using the fork already, so didn't want to break anything for you in the meantime. If all looks good, I'll get it all merged and published tomorrow. Thanks again - looking forward to see what you cook up for production k8s cases :) |
Sure — this sounds great. I’ll install your version on my side and run it through my setup. If everything runs smoothly, I’ll merge it soon. |
|
Tested against my setup — no regression. Existing k8sSecret(...) positional patterns still resolve |
- Add defaultSecret/defaultConfigMap to @initKubernetes() for the common one-Secret-per-app deployment pattern - Support mixed positional + named args (id=, name=, key=) on all four resolver functions, with explicit conflict errors - Rename KubernetesAuthConfig -> KubernetesInstanceConfig (now holds more than auth) - Switch icon to mdi:kubernetes - Drop dead 'unreachable' error guards in the bulk resolvers - Expand website docs and README to match other plugins (scope statement, Discord pointer for deeper k8s integration, auth priority, RBAC setup, formal Reference, troubleshooting) - Add tests for defaults, named args, and conflict errors
870bbe3 to
f633374
Compare
commit: |
Summary
Adds
@varlock/kubernetes-plugin, a read-only Varlock plugin for loading values from Kubernetes Secrets and ConfigMaps.What changed
packages/plugins/kubernetes@initKubernetes()k8sSecret()k8sConfigMap()k8sSecretBulk()k8sConfigMapBulk()clusterServer/token, namespaces, contexts, named instances, andallowMissing0.1.0releaseSecurity
The plugin is read-only. It only performs Kubernetes
getrequests for Secrets and ConfigMaps and does not create, update, or delete cluster resources.Verification
npx --yes bun@1.3.11 run lintnpx --yes bun@1.3.11 run build:libsnpx --yes bun@1.3.11 run --filter @varlock/kubernetes-plugin testnpx --yes bun@1.3.11 run --filter @varlock/kubernetes-plugin typechecknode_modules/.bin/bumpy check --hook pre-pushAlso ran a read-only live smoke test against an existing Kubernetes context by reading the standard
kube-root-ca.crtConfigMap.