diff --git a/README.md b/README.md index 80fa61b..092ea50 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,33 @@ You can build the docker container by running: docker build . ``` +# Usage + +## Envorinment config + +* `NSM_NAME` - Name of Endpoint (default: "forwarder") +* `NSM_LABELS` - Labels related to this forwarder-vpp instance (default: "p2p:true") +* `NSM_NSNAME` - Name of Network Service to Register with Registry (default: "forwarder") +* `NSM_BRIDGE_NAME` - Name of the OvS bridge (default: "br-nsm") +* `NSM_TUNNEL_IP` - IP or CIDR to use for tunnels +* `NSM_VXLAN_PORT` - VXLAN port to use (default: "4789") +* `NSM_CONNECT_TO` - url to connect to (default: "unix:///connect.to.socket") +* `NSM_DIAL_TIMEOUT` - Timeout for the dial the next endpoint (default: "50ms") +* `NSM_MAX_TOKEN_LIFETIME` - maximum lifetime of tokens (default: "24h") +* `NSM_REGISTRY_CLIENT_POLICIES` - paths to files and directories that contain registry client policies (default: "etc/nsm/opa/common/.*.rego,etc/nsm/opa/registry/.*.rego,etc/nsm/opa/client/.*.rego") +* `NSM_RESOURCE_POLL_TIMEOUT` - device plugin polling timeout (default: "30s") +* `NSM_DEVICE_PLUGIN_PATH` - path to the device plugin directory (default: "/var/lib/kubelet/device-plugins/") +* `NSM_POD_RESOURCES_PATH` - path to the pod resources directory (default: "/var/lib/kubelet/pod-resources/") +* `NSM_SRIOV_CONFIG_FILE` - PCI resources config path (default: "pci.config") +* `NSM_L2_RESOURCE_SELECTOR_FILE` - config file for resource to label matching +* `NSM_PCI_DEVICES_PATH` - path to the PCI devices directory (default: "/sys/bus/pci/devices") +* `NSM_PCI_DRIVERS_PATH` - path to the PCI drivers directory (default: "/sys/bus/pci/drivers") +* `NSM_CGROUP_PATH` - path to the host cgroup directory (default: "/host/sys/fs/cgroup/devices") +* `NSM_VFIO_PATH` - path to the host VFIO directory (default: "/host/dev/vfio") +* `NSM_LOG_LEVEL` - Log level (default: "INFO") +* `NSM_OPEN_TELEMETRY_ENDPOINT` - OpenTelemetry Collector Endpoint (default: "otel-collector.observability.svc.cluster.local:4317") +* `NSM_METRICS_EXPORT_INTERVAL` - interval between mertics exports (default: "10s") + # Testing ## Testing Docker container @@ -72,4 +99,4 @@ docker run --privileged -e DLV_LISTEN_FORWARDER=:50000 -p 40000:40000 -p 50000:5 ``` Please note, the tests **start** the cmd, so until you connect to port 40000 with your debugger and walk the tests -through to the point of running cmd, you will not be able to attach a debugger on port 50000 to the cmd. \ No newline at end of file +through to the point of running cmd, you will not be able to attach a debugger on port 50000 to the cmd. diff --git a/main.go b/main.go index 5b9f13b..95a0e43 100644 --- a/main.go +++ b/main.go @@ -80,7 +80,7 @@ type Config struct { Name string `default:"forwarder" desc:"Name of Endpoint"` Labels map[string]string `default:"p2p:true" desc:"Labels related to this forwarder-vpp instance"` NSName string `default:"forwarder" desc:"Name of Network Service to Register with Registry"` - BridgeName string `default:"br-nsm" desc:"Name of the OvS bridge"` + BridgeName string `default:"br-nsm" desc:"Name of the OvS bridge" split_words:"true"` TunnelIP string `desc:"IP or CIDR to use for tunnels" split_words:"true"` VxlanPort uint16 `default:"4789" desc:"VXLAN port to use" split_words:"true"` ConnectTo url.URL `default:"unix:///connect.to.socket" desc:"url to connect to" split_words:"true"` @@ -97,7 +97,7 @@ type Config struct { CgroupPath string `default:"/host/sys/fs/cgroup/devices" desc:"path to the host cgroup directory" split_words:"true"` VFIOPath string `default:"/host/dev/vfio" desc:"path to the host VFIO directory" split_words:"true"` LogLevel string `default:"INFO" desc:"Log level" split_words:"true"` - OpenTelemetryEndpoint string `default:"otel-collector.observability.svc.cluster.local:4317" desc:"OpenTelemetry Collector Endpoint"` + OpenTelemetryEndpoint string `default:"otel-collector.observability.svc.cluster.local:4317" desc:"OpenTelemetry Collector Endpoint" split_words:"true"` MetricsExportInterval time.Duration `default:"10s" desc:"interval between mertics exports" split_words:"true"` }