dotfiles/home/apps/kubernetes.nix

59 lines
1.3 KiB
Nix
Raw Normal View History

{
2023-02-10 07:46:37 +01:00
config,
pkgs,
...
}: {
2023-04-27 09:30:26 +02:00
home.packages = with pkgs; [
2023-05-11 23:26:32 +02:00
(wrapHelm kubernetes-helm {plugins = [kubernetes-helmPlugins.helm-diff];})
cmctl
dyff
gojq
jqp
konf
kubecolor
kubeconform
kubectl
kubectx
2023-03-30 04:29:33 +02:00
kubepug
2023-05-11 23:26:32 +02:00
kubeseal
2023-03-30 04:29:33 +02:00
minikube
popeye
pv-migrate
velero
];
home.shellAliases = {
jq = "gojq";
kcn = "konf ns";
kcuc = "konf set";
kubectl = "kubecolor";
};
programs.zsh = {
initExtra = ''
# kubecolor
compdef kubecolor=kubectl
# konf
source <(konf-go shellwrapper zsh)
source <(konf-go completion zsh)
# ignore if konf store hasn't been initialized
export KUBECONFIG=$(konf-go --silent set - || true)
'';
};
2023-05-18 15:10:28 +02:00
sops.secrets = let
konfStore = "${config.xdg.configHome}/.kube/konfs/store";
in {
"konf-ctp".path = "${konfStore}/ctp_ctp.yaml";
"konf-fra1".path = "${konfStore}/fra1_fra1.yaml";
"konf-work-prod".path = "${konfStore}/work-prod_work-prod.yaml";
"konf-work-staging".path = "${konfStore}/work-staging_work-staging.yaml";
};
home.sessionVariables = {
2023-02-10 07:46:37 +01:00
KREW_ROOT = "${config.xdg.dataHome}/krew";
KUBECACHEDIR = "${config.xdg.cacheHome}/kube";
MINIKUBE_HOME = "${config.xdg.dataHome}/minikube";
};
}