diff --git a/examples/MANUAL.md b/examples/MANUAL.md index 3296e3a2..49f264b1 100644 --- a/examples/MANUAL.md +++ b/examples/MANUAL.md @@ -24,12 +24,18 @@ examples and default configurations. OPTIONS --- -`unifi-poller [-c ,[config-file]] [-j ] [-h] [-v]` +`unifi-poller [-c ,[config-file]] [-j ] [-e ] [-h] [-v]` -c, --config ,[config-file] Provide a configuration file (instead of the default). You may provide multiple file paths separated by commas. The first file found is used. + -e, --encrypt + Encrypts a password with bcrypt. This is useful to make an account + password for the built-in web server. You may provide the password + on the CLI, or use "-" as the pass to be prompted for the password + without echo. + -v, --version Display version and exit. @@ -56,13 +62,14 @@ CONFIGURATION * Windows: `C:\\ProgramData\\unifi-poller\\up.conf` * Others: `/etc/unifi-poller/up.conf` * Config File Default Format: `TOML` -* Possible formats: `XML`, `JSON`, `TOML`, `YAML` +* Possible formats: `JSON`, `TOML`, `YAML` The config file can be written in four different syntax formats. The application -decides which one to use based on the file's name. If it contains `.xml` it will -be parsed as XML. The same goes for `.json` and `.yaml`. If the filename contains -none of these strings, then it is parsed as the default format, TOML. This option -is provided so the application can be easily adapted to any environment. +decides which one to use based on the file's name. If it contains `.json` it will +be parsed as JSON. The same goes for `.yaml`. If the filename contains neither +of these strings, then it is parsed as the default format, TOML. This feature +is provided so the application can be easily adapted to any environment. `XML` +used to work but no longer does. `Config File Parameters` diff --git a/examples/README.md b/examples/README.md index 82f81ae0..aa97d781 100644 --- a/examples/README.md +++ b/examples/README.md @@ -3,9 +3,9 @@ This folder contains example configuration files in four supported formats. You can use any format you want for the config file, just give it the appropriate suffix for -the format. An XML file should end with `.xml`, a JSON -file with `.json`, and YAML with `.yaml`. The default -format is always TOML and may have any _other_ suffix. +the format. A JSON file should end with `.json`, and +YAML with `.yaml`. The default format is always TOML and +may have any _other_ suffix. #### Dashboards diff --git a/examples/up.conf.example b/examples/up.conf.example index 3a9873be..06c5b59d 100644 --- a/examples/up.conf.example +++ b/examples/up.conf.example @@ -43,6 +43,42 @@ # If you're getting zeros now, set this to "1m" interval = "30s" +# To enable output of UniFi Events to Loki, add a URL. +# User, pass and tenant_id are optional and most folks wont set them. +# Pick which logs you want per-controller in the [unifi.controller] section. +# This is a new feature. Feedback welcome! +[loki] + url = "" + # The rest of this is advanced & optional. + user = "" + pass = "" + verify_ssl = false + tenant_id = "" + interval = "2m" + timeout = "10s" + +# Poller has an optional web server. To turn it on, set enable to true. If you +# wish to use SSL, provide SSL cert and key paths. This interface is currently +# read-only; it just displays information, like logs, devices and clients. +# Notice: Enabling the web server with many clients will increase memory usage. +# This is a new feature. Feedback welcome! +[webserver] + enable = false + port = 37288 + # The HTML path is different on Windows and BSD/macOS. + html_path = "/usr/lib/unifi-poller/web" + ssl_cert_path = "" + ssl_key_path = "" + # How many events per source to hold. 200-2000. Use fewer with many clients. + max_events = 200 + +# By default the web interface does not require authentication. You can change +# that by adding a username and password hash (or multiple) below. +# To create a hash, run unifi-poller with the -e CLI argument. +[webserver.accounts] +# username = "password-hash" +# captain = "$2a$04$mxw6i0LKH6u46oaLK2cq5eCTAAFkfNiRpzNbz.EyvJZZWNa2FzIlS" + #### INPUTS [unifi] diff --git a/examples/up.json.example b/examples/up.json.example index 63d05010..d67897d6 100644 --- a/examples/up.json.example +++ b/examples/up.json.example @@ -21,6 +21,18 @@ "interval": "30s" }, + "webserver": { + "enable": false, + "port": 37288, + "html_path": "/usr/lib/unifi-poller/web", + "ssl_cert_path": "" + "ssl_key_path": "" + "max_events": 200 + "accounts": { + "captain": "$2a$04$mxw6i0LKH6u46oaLK2cq5eCTAAFkfNiRpzNbz.EyvJZZWNa2FzIlS" + } + }, + "unifi": { "dynamic": false, "defaults": { diff --git a/examples/up.xml.example b/examples/up.xml.example deleted file mode 100644 index 4e9a6a26..00000000 --- a/examples/up.xml.example +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - 0.0.0.0:9130 - false - - - - 30s - http://127.0.0.1:8086 - unifipoller - unifipoller - unifi - false - - - - - all - unifipoller - unifipoller - https://127.0.0.1:8443 - false - false - false - false - false - true - false - false - - - - - all - unifipoller - unifipoller - https://127.0.0.1:8443 - false - false - false - false - false - true - false - false - - - - diff --git a/examples/up.yaml.example b/examples/up.yaml.example index a81b40d5..76eeac48 100644 --- a/examples/up.yaml.example +++ b/examples/up.yaml.example @@ -24,6 +24,16 @@ influxdb: db: "unifi" verify_ssl: false +webserver: + enable: false + port: 37288 + html_path: "/usr/lib/unifi-poller/web" + ssl_cert_path: "" + ssl_key_path: "" + max_events: 200 + accounts: + captain: "$2a$04$mxw6i0LKH6u46oaLK2cq5eCTAAFkfNiRpzNbz.EyvJZZWNa2FzIlS" + unifi: dynamic: false defaults: diff --git a/go.mod b/go.mod index 3cac4a19..b4c85d22 100644 --- a/go.mod +++ b/go.mod @@ -15,12 +15,12 @@ require ( github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/unifi-poller/influxunifi v0.0.10-0.20200628212559-02c131d5ab9f - github.com/unifi-poller/inputunifi v0.0.8-0.20200628124735-b6af0039a275 + github.com/unifi-poller/inputunifi v0.0.8-0.20200629074959-35d6603f1831 github.com/unifi-poller/lokiunifi v0.0.0-20200628212531-964d320957e4 github.com/unifi-poller/poller v0.0.8-0.20200628131550-26430cac16c1 github.com/unifi-poller/promunifi v0.0.9-0.20200628212620-13ccb1ce3beb - github.com/unifi-poller/unifi v0.0.6-0.20200625090439-421046871a37 - github.com/unifi-poller/webserver v0.0.0-20200628220857-bb444cf7da24 + github.com/unifi-poller/unifi v0.0.6-0.20200628213309-a22ea217874f + github.com/unifi-poller/webserver v0.0.0-20200630053536-1a5a6430daf4 golang.org/x/net v0.0.0-20200625001655-4c5254603344 // indirect golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae // indirect golift.io/cnfg v0.0.5 // indirect diff --git a/go.sum b/go.sum index 57b00066..a702b8d5 100644 --- a/go.sum +++ b/go.sum @@ -118,6 +118,10 @@ github.com/unifi-poller/inputunifi v0.0.8-0.20200628114724-8b60ff573a49 h1:ce5cX github.com/unifi-poller/inputunifi v0.0.8-0.20200628114724-8b60ff573a49/go.mod h1:Rb9C8xi/qgxOO/IbwyO4Uu77qVkIhGiQv4cA2jnmNMI= github.com/unifi-poller/inputunifi v0.0.8-0.20200628124735-b6af0039a275 h1:pbC+9LglWSAg6EE0AQPxk/Z2WowrVvEzH6cVVi/mcGo= github.com/unifi-poller/inputunifi v0.0.8-0.20200628124735-b6af0039a275/go.mod h1:Rb9C8xi/qgxOO/IbwyO4Uu77qVkIhGiQv4cA2jnmNMI= +github.com/unifi-poller/inputunifi v0.0.8-0.20200629073944-889691ff1096 h1:0e66nCzeonQtrzX/zdNJdQHcoo6z2/rCmUaiAJU0tIM= +github.com/unifi-poller/inputunifi v0.0.8-0.20200629073944-889691ff1096/go.mod h1:iJT8Y3KwSV/ceqOikamlhw2c0EMHTFv47TxKKFThx8I= +github.com/unifi-poller/inputunifi v0.0.8-0.20200629074959-35d6603f1831 h1:fBPfSPtGCmpv5BMwk+oorS672fd7L8vFbX/DTOC+2C4= +github.com/unifi-poller/inputunifi v0.0.8-0.20200629074959-35d6603f1831/go.mod h1:iJT8Y3KwSV/ceqOikamlhw2c0EMHTFv47TxKKFThx8I= github.com/unifi-poller/lokiunifi v0.0.0-20200626040346-12af563d2a99/go.mod h1:7+uUJT6nnXVPad/Omsj+lPD80Cshg4L8TPUkV72JNM8= github.com/unifi-poller/lokiunifi v0.0.0-20200626052645-b0336442237e h1:MoyVcBNks+p1tYCu67UyQycyHpeCqzafWpjMir/Mjh8= github.com/unifi-poller/lokiunifi v0.0.0-20200626052645-b0336442237e/go.mod h1:7+uUJT6nnXVPad/Omsj+lPD80Cshg4L8TPUkV72JNM8= @@ -149,6 +153,8 @@ github.com/unifi-poller/promunifi v0.0.9-0.20200628212620-13ccb1ce3beb/go.mod h1 github.com/unifi-poller/unifi v0.0.5-0.20200620103801-b927287ea1cd/go.mod h1:L1kMRH2buZhB31vZnRC1im7Tk/4uD3ET4biwl2faYy8= github.com/unifi-poller/unifi v0.0.6-0.20200625090439-421046871a37 h1:T2y8JWkjZd1vz2ZKu4vmmAk9s6PUwupuTldwhfww5xY= github.com/unifi-poller/unifi v0.0.6-0.20200625090439-421046871a37/go.mod h1:L1kMRH2buZhB31vZnRC1im7Tk/4uD3ET4biwl2faYy8= +github.com/unifi-poller/unifi v0.0.6-0.20200628213309-a22ea217874f h1:5aLy4Ac0vFhaEikq04oPAFqhygVv0lq77/ZJ4aBEnkc= +github.com/unifi-poller/unifi v0.0.6-0.20200628213309-a22ea217874f/go.mod h1:uqBaNCon8FTw6nwGsAYHz/HwBgEYepS0XB5XW+OdBts= github.com/unifi-poller/webserver v0.0.0-20200626113232-24ae3f02067d h1:iTp4YWGqBmDRxsMjLnJymmDzhO9b+Jvjly7hqLJnPdY= github.com/unifi-poller/webserver v0.0.0-20200626113232-24ae3f02067d/go.mod h1:Ydcz7GN8uSpIoAI7h7+v89Q4peWaeq7jIAfsG0vfQKE= github.com/unifi-poller/webserver v0.0.0-20200627075529-02f6c576d7bc h1:O5qrJOu2E+WB5b5vSDDFrxW/Y7KBm+QdTRHc2Bad30Y= @@ -163,8 +169,13 @@ github.com/unifi-poller/webserver v0.0.0-20200628115531-e071827d7598 h1:Nmo1arOO github.com/unifi-poller/webserver v0.0.0-20200628115531-e071827d7598/go.mod h1:rlM8tRx7wCxqj4+6ZkuFVt2voFoAlHhS/XTrHd7T57s= github.com/unifi-poller/webserver v0.0.0-20200628212441-340749c94743 h1:B0K4P+dCLW5qG8hRhdMlrNEU+Yy0kAm9C2lCUmfBhPI= github.com/unifi-poller/webserver v0.0.0-20200628212441-340749c94743/go.mod h1:ekoFVYoCWwn2CjQVTC9PNF6OaXYzr7HSnfc1BDQxxjA= +github.com/unifi-poller/webserver v0.0.0-20200628214116-5bead091e113/go.mod h1:08IX30eb93+VbhiFqgMBXQD52+djPwivBcx5C8fH92M= github.com/unifi-poller/webserver v0.0.0-20200628220857-bb444cf7da24 h1:1X1DPZdpjPamherE0mfcs+O+hl/M+stilDk5+88U9ak= github.com/unifi-poller/webserver v0.0.0-20200628220857-bb444cf7da24/go.mod h1:08IX30eb93+VbhiFqgMBXQD52+djPwivBcx5C8fH92M= +github.com/unifi-poller/webserver v0.0.0-20200629073701-8b95a5ac3e49 h1:8qVHNZg2Cf1dchBVCc8omU1ty56JQIQ9ZsyPg08EIs8= +github.com/unifi-poller/webserver v0.0.0-20200629073701-8b95a5ac3e49/go.mod h1:08IX30eb93+VbhiFqgMBXQD52+djPwivBcx5C8fH92M= +github.com/unifi-poller/webserver v0.0.0-20200630053536-1a5a6430daf4 h1:0II3Z/THLBBx8TCEYQkSlwn1KFLbGVe/OS/uNENvaS4= +github.com/unifi-poller/webserver v0.0.0-20200630053536-1a5a6430daf4/go.mod h1:08IX30eb93+VbhiFqgMBXQD52+djPwivBcx5C8fH92M= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI=