Linux Package Configuration

Configure the Bindplane Linux package installation behavior

The Bindplane Linux packages can be configured before installation. This configuration is optional. Users with advanced requirements can use this configuration to customize the installation behavior.

Configuration File Location

Before installing the Bindplane package, you can create a configuration file at one of the following locations:

  • Debian-based distributions: /etc/default/bindplane

  • RHEL-based distributions: /etc/sysconfig/bindplane

The package supports either file location on all platforms. Choose the location that best matches your distribution's conventions.

File Permissions

The configuration file should have the following permissions:

  • Owner: root

  • Group: root

  • Permissions: 0640 (readable by root and group, writable only by root)

The configuration file is read by your package manager, not the Bindplane service. It unnecessary for it to be readable by unprivileged users.

Configuration Options

BINDPLANE_SKIP_RUNTIME_USER_CREATION

Controls whether the package creates the bindplane user and group during installation. This option is useful if you have advanced user requirements, such as specific uid and gid or you are integrating with an external authentication system such as LDAP.

  • Default: false

  • Values: true or false

When set to true, the package will skip creating the bindplane user and group. In this case, you must create the user and group manually before installation.

The following commands create the bindplane user and group:

groupadd bindplane
useradd \
  --shell /sbin/nologin \
  --system bindplane \
  -g bindplane

You can verify this parameter is working correctly by inspecting the output from the package installation.

The following is logged when skipping user and group creation:

BINDPLANE_SKIP_RUNTIME_USER_CREATION is set to true, skipping user and group creation

BINDPLANE_CONFIG_HOME

Specifies the directory where Bindplane stores its persistent data.

  • Default: /var/lib/bindplane

  • Values: Any valid directory path

This directory contains:

  • Prometheus data

  • Offline agent updates

  • Other persistent state required by Bindplane

Choose a location that meets your storage and backup requirements before installation.

You can verify this parameter is working correctly by checking the Systemd service file for the Bindplane service.

Read the Systemd service file for the Bindplane service:

sudo systemctl cat bindplane

The output will contain an environment variable for BINDPLANE_CONFIG_HOME matching the value you set in the configuration file.

[Unit]
Description=Bindplane is an observability pipeline that gives you the ability to collect, refine, and ship metrics, logs, and traces to any destination.
After=network.target
Documentation=https://bindplane.com/docs/getting-started/quickstart-guide

[Service]
Type=simple
User=bindplane
Group=bindplane
WorkingDirectory=/opt/bindplane/data
Environment="BINDPLANE_CONFIG_HOME=/opt/bindplane/data"
ExecStart=/usr/local/bin/bindplane serve --config /etc/bindplane/config.yaml
LimitNOFILE=65000

Restart=always
TimeoutSec=120
RestartSec=5s

[Install]
WantedBy=multi-user.target

BINDPLANE_USER and BINDPLANE_GROUP

Controls the runtime user and group. Usually used in conjunction with BDOT_UNPRIVILEGED.

NOTE

This configuration option is supported as of Bindplane version v1.94.0.

Example Configuration

Here's an example configuration file:

# Skip user creation for LDAP integration
BINDPLANE_SKIP_RUNTIME_USER_CREATION=true

# Store Bindplane data in a custom location
BINDPLANE_CONFIG_HOME=/opt/bindplane/data

# Set runtime user and group to "bpserveru" and "bpserverg"
BINDPLANE_USER=bpserveru
BINDPLANE_GROUP=bpserverg

Last updated

Was this helpful?