Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

faucet-nix

Nix wrapper for Faucet SDN — the production OpenFlow controller.

Usage

Add to your flake inputs:

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    faucet-nix = {
      url = "github:your-org/faucet-nix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };
}

NixOS Module

{
  imports = [ inputs.faucet-nix.nixosModules.default ];

  services.faucet = {
    enable = true;
    configFile = ./faucet.yaml;
  };
}

Options

services.faucet

Option Type Default Description
enable bool false Enable Faucet OpenFlow controller
package package faucet Faucet package to use
configFile path bundled example Path to faucet.yaml
ryuConfig path bundled example Path to Ryu/os-ken framework config
listenPort port 6653 OpenFlow TCP listen port
prometheusPort port 9302 Prometheus metrics port
logDir path /var/log/faucet Log directory
extraArgs list of string [] Extra arguments

services.gauge

Option Type Default Description
enable bool false Enable Gauge statistics controller
package package faucet Faucet package (same, gauge entry point)
configFile path bundled example Path to gauge.yaml
ryuConfig path bundled example Path to Ryu/os-ken framework config
listenPort port 6654 OpenFlow TCP listen port
logDir path /var/log/faucet Log directory
extraArgs list of string [] Extra arguments

Custom Configuration

The bundled defaults include example configs. For production, point to your own:

{
  services.faucet = {
    enable = true;
    configFile = ./config/faucet.yaml;
    ryuConfig = ./config/ryu.conf;
  };
  services.gauge = {
    enable = true;
    configFile = ./config/gauge.yaml;
  };
}

Development

nix develop           # enter dev shell
setup-local-source    # copy upstream source for editing
build-local           # build from local copy
nix build             # build from pinned flake input

License

Apache 2.0 — matches upstream Faucet SDN.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages