This project hosts the Containerfile and the required scripts to build a OpenVoxDB container image.
For compose file see: CRAFTY
The OpenVoxDB container requires a working postgres container or other suitably configured PostgreSQL database. For a Compose example see the CRAFTY OSS Demo compose.yaml
You can change configuration settings by mounting volumes containing configuration files or by using this image as a base image. For the defaults, see the Containerfile and supporting folders.
The version schema has the following layout:
<openvox.major>.<openvox.minor>.<openvox.patch>-v<container.major>.<container.minor>.<container.patch>
Example usage:
podman pull ghcr.io/openvoxproject/openvoxdb:8.9.0-v1.2.3| Name | Description |
|---|---|
| openvox.major | Describes the contained major OpenVox version |
| openvox.minor | Describes the contained minor OpenVox version |
| openvox.patch | Describes the contained patchlevel OpenVox version |
| container.major | Describes the major version of the base container (Ubunutu 24.04) or incompatible changes |
| container.minor | Describes new features or refactoring with backward compatibility |
| container.patch | Describes if minor changes or bugfixes have been implemented |
| Name | Usage / Default |
|---|---|
| CERTNAME | The DNS name used on this services SSL certificateopenvoxdb |
| DNS_ALT_NAMES | Additional DNS names to add to the services SSL certificate Unset |
| LOGDIR | Path of the log directory/opt/puppetlabs/server/data/puppetdb/logs |
| OPENVOXDB_CERTIFICATE_ALLOWLIST | Set to a comma seaprated list of allowed certnames."" |
| OPENVOXDB_JAVA_ARGS | Arguments passed directly to the JVM when starting the service-Djava.net.preferIPv4Stack=true -Xms256m -Xmx256m -XX:+UseParallelGC -Xlog:gc*:file=$LOGDIR/openvoxdb_gc.log -Djdk.tls.ephemeralDHKeySize=2048 |
| OPENVOXDB_NODE_PURGE_TTL | Automatically delete nodes that have been deactivated or expired for the specified amount of time14d |
| OPENVOXDB_NODE_TTL | Mark as ‘expired’ nodes that haven’t seen any activity (no new catalogs, facts, or reports) in the specified amount of time7d |
| OPENVOXDB_POSTGRES_DATABASE | The name of the openvoxdb database in postgresopenvoxdb |
| OPENVOXDB_POSTGRES_HOSTNAME | The DNS hostname of the postgres servicepostgres |
| OPENVOXDB_POSTGRES_PASSWORD | The openvoxdb database passwordopenvoxdb |
| OPENVOXDB_POSTGRES_PORT | The port for postgres5432 |
| OPENVOXDB_POSTGRES_USER | The openvoxdb database useropenvoxdb |
| OPENVOXDB_REPORT_TTL | Automatically delete reports that are older than the specified amount of time14d |
| OPENVOXDB_WAITFORHEALTH_SECONDS | Number of seconds to wait for OpenVoxDB to be healthy360 |
| OPENVOXDB_WAITFORHOST_SECONDS | Number of seconds to wait for OpenVoxDB to be available30 |
| OPENVOXDB_WAITFORPOSTGRES_SECONDS | Number of seconds to wait for postgres to be available60 |
| OPENVOXSERVER_HOSTNAME | The DNS hostname of the OpenVox serverpuppet |
| OPENVOXSERVER_PORT | The port of the OpenVox server8140 |
| SSLDIR | Path of the SSL directory/opt/puppetlabs/server/data/puppetdb/certs |
| USE_OPENVOXSERVER | Set to false to skip acquiring SSL certificates from a OpenVox Server.true |
| WAITFORCERT | Number of seconds to wait for certificate to be signed120 |
The directory structure follows the following conventions. The full path is always available inside the container as the environment variable $SSLDIR
-
'ssl-ca-cert'
/opt/puppetlabs/server/data/puppetdb/certs/certs/ca.pem -
'ssl-cert'
/opt/puppetlabs/server/data/puppetdb/certs/certs/<certname>.pem -
'ssl-key'
/opt/puppetlabs/server/data/puppetdb/certs/private_keys/<certname>.pem
If you would like to do additional initialization, add a directory called /container-custom-entrypoint.d/ and fill it with .sh scripts.
These scripts will be executed at the end of the entrypoint script, before the service is ran.