Installing an Edge as a Binary

The standalone edge is currently built from source. The source code is available in the PlakarKorp/plakar-edge repository.

Build it with:

Shell
$ make
# OR
$ go build -o plakar-edge .

Enroll the edge

Start the edge with the Control Plane URL and the enrollment key of the edge pool it should join. The pool decides the organization the edge joins:

Shell
$ plakar-edge \
  -control-plane https://plakman.example.com \
  -pool-enroll <pool-enrollment-key> \
  -name edge-paris-1 \
  -state-dir /var/lib/plakar-edge \
  -pkg /var/lib/plakar-edge/pkgs

The enrollment key is only required for the first startup. After successful enrollment, the edge stores its identity and authentication token in its state directory and reuses them on subsequent starts.

For subsequent starts, you can therefore run:

Shell
$ plakar-edge \
  -control-plane https://plakman.example.com \
  -name edge-paris-1 \
  -state-dir /var/lib/plakar-edge \
  -pkg /var/lib/plakar-edge/pkgs

Configuring the edge

The most important options are:

Option Required Description
-control-plane Yes Base URL of the Plakar Control Plane.
-pool-enroll First run Enrollment key of the edge pool the edge joins. It can also be provided through PLAKAR_EDGE_POOL_ENROLL_KEY.
-name No Name displayed for the edge in PCP. Defaults to the hostname.
-state-dir No Directory used to store the edge identity and authentication token. Defaults to /var/lib/plakar-edge.
-pkg No Directory used for downloaded connector packages. Defaults to <state-dir>/pkg.
-max-parallel No Maximum number of tasks the edge runs concurrently. Defaults to 5.
-poll-hold No Expected server-side long-poll duration. Defaults to 30s.
-listen No Address of the supervision HTTP server. Defaults to 127.0.0.1:9877. Set it to an empty string to disable the server.
-metrics No Enables the Prometheus /metrics endpoint. Defaults to true.
-scripts-dir No Directory holding the hook scripts tasks may run. Empty by default, which refuses every hook.

-max-parallel caps how much work one edge takes on at a time. The Control Plane does not assign an edge more tasks than this limit at once.