influxdata / influxdata/influxdb

Environment variables should be prefixed with `INFLUXDB3_`

Open
#26,459 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

v3
Dominant language
Rust
Stars
31.7k
Forks
3.7k
Avg merge
13h 37m
Merged PRs (30d)
8

Description

__Steps to reproduce:__

1. Download and deploy InfluxDB 3 Core container from docker hub with default options
2. View error log complaining of start up failure
3. Attempt to map environment variable names to influx3 parameters/options
4. View default environment variables that ship with container

__Expected behaviour:__
Consistent naming convention for influx environmental parameters that honour settings.

From reading and engagement with people @pauldix on Influx slack there is an expectation that all influx parameters will be prefixed with `INFLUXDB3_`.

__Actual behaviour:__
The default docker container ships with these environment parameters by default:

```dockerfile
ENV INFLUXDB3_PLUGIN_DIR=/plugins
ENV INFLUXDB3_DATA_DIR=/home/influxdb3/.influxdb3
ENV INFLUXDB_IOX_DB_DIR=/var/lib/influxdb3
ENV LOG_FILTER=info
```

You can see from the default set of parameters that this does not meet the expectation.

__Additional context__:

Upon debugging issues and setting the following parameter: `INFLUXDB3_OBJECT_STORE=file` this parameter is honoured as it should be; however, `INFLUXDB3_DATA_DIR` and `INFLUXDB_IOX_DB_DIR`, which are set by default are not honoured, as start up will error with the following:

```
Serve command failed: Cannot parse object store config: Specified File for the object store, required configuration missing for data-dir
```

which according to the docs should be picked up with INFLUXDB3_DATA_DIR's destination.

__Environment info:__

Tested on a Fedora 40 host, current patch level using podman, as well as a Synology NAS
* Fedora 40 Podman 5.4.2
* Synology NAS docker 24.0.2

__Config:__

Example config file being used to deploy the container

```json
{
"CapAdd": null,
"CapDrop": null,
"cmd": "influxdb3 serve",
"cpu_priority": 50,
"enable_publish_all_ports": false,
"enable_restart_policy": false,
"enable_service_portal": false,
"enabled": true,
"env_variables": [
{
"key": "PATH",
"value": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
},
{
"key": "INFLUXDB_VERSION",
"value": "3.0.3"
},
{
"key": "INFLUXDB3_PLUGIN_DIR",
"value": "/plugins"
},
{
"key": "INFLUXDB3_DATA_DIR",
"value": "/home/influxdb3/.influxdb3"
},
{
"key": "INFLUXDB_IOX_DB_DIR",
"value": "/var/lib/influxdb3"
},
{
"key": "LOG_FILTER",
"value": "info"
},
{
"key": "INFLUXDB3_NODE_IDENTIFIER_PREFIX",
"value": "test01"
},
{
"key": "INFLUXDB3_OBJECT_STORE",
"value": "File"
}

],
"exporting": false,
"id": "3f4da0e0bc7f2f953d1a80926c77551100478976a975dfb0dc908a64cdb671e8",
"image": "influxdb:3-core",
"is_ddsm": false,
"is_package": false,
"labels": {
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.version": "24.04"
},
"links": [],
"memory_limit": 0,
"name": "influx3-prod",
"network": [
{
"driver": "host",
"name": "host"
}
],
"network_mode": "host",
"port_bindings": [],
"privileged": false,
"service_portals": [],
"shortcut": {
"enable_shortcut": false,
"enable_status_page": false,
"enable_web_page": false,
"web_page_url": ""
},
"use_host_network": true,
"version": 2,
"volume_bindings": [
{
"host_volume_file": "/docker/influx3/plugins",
"is_directory": true,
"mount_point": "/plugins",
"type": "rw"
}
]
}
```


__Logs:__

N/A

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Dockerfile ENV declarations and the serve command's environment-variable parsing, comparing INFLUXDB3_DATA_DIR with INFLUXDB_IOX_DB_DIR and the documented configuration. Verify the container starts with file object storage and that the expected INFLUXDB3_ names are honored consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, dockerfile, rust
Domain
databases, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.