Skip to content

CSI driver for Nixxing Kubernetes, see develop branch!

Notifications You must be signed in to change notification settings

Lillecarl/nix-csi

Repository files navigation

nix-csi

Mount /nix into Kubernetes pods using the CSI Ephemeral Volume feature. Volumes share lifetime with Pods and are embedded into the Podspec.

Deploying nix-csi

Stick your pubkeys in ./keys and they will be imported into the module system then run the following command and you'll have nix-csi deployed.

nix run --file . kubenixEval.deploymentScript -- --yes --prune

If you'd rather mangle YAML yourself you can use

nix build --file . easykubenix.manifestYAMLFile

and stuff the result into Kustomize, a blender or your Kubernetes cluster

Deploying workloads

volumeAttributes:
  # Pull storePath without eval, prio 1
  x86_64-linux: /nix/store/hello-......
  aarch64-linux: /nix/store/hello-......
  # Evaluates and builds flake, prio 2
  flakeRef: github:nixos/nixpkgs/nixos-unstable#hello
  # Evaluates and builds expression, prio 3
  nixExpr: |
    let
      nixpkgs = builtins.fetchTree {
        type = "github";
        owner = "nixos";
        repo = "nixpkgs";
        ref = "nixos-unstable";
      };
      pkgs = import nixpkgs { };
    in
    pkgs.hello

You can specify all these options but the first successful one by priority wins

About

CSI driver for Nixxing Kubernetes, see develop branch!

Topics

Resources

Stars

Watchers

Forks

Packages