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 (7 or 8) |
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 |
WAITFORCERT | Number of seconds to wait for certificate to be signed120 |
USE_OPENVOXSERVER | Set to false to skip acquiring SSL certificates from a Puppet Server.true |
OPENVOXDB_CERTIFICATE_ALLOWLIST | Set to a comma seaprated list of allowed certnames."" |
OPENVOXSERVER_HOSTNAME | The DNS hostname of the puppet serverpuppet |
OPENVOXSERVER_PORT | The port of the puppet server8140 |
OPENVOXDB_POSTGRES_HOSTNAME | The DNS hostname of the postgres servicepostgres |
OPENVOXDB_POSTGRES_PORT | The port for postgres5432 |
OPENVOXDB_POSTGRES_DATABASE | The name of the openvoxdb database in postgresopenvoxdb |
OPENVOXDB_POSTGRES_USER | The openvoxdb database useropenvoxdb |
OPENVOXDB_POSTGRES_PASSWORD | The openvoxdb database passwordopenvoxdb |
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_NODE_PURGE_TTL | Automatically delete nodes that have been deactivated or expired for the specified amount of time14d |
OPENVOXDB_REPORT_TTL | Automatically delete reports that are older than the specified amount of time14d |
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 |
LOGDIR | Path of the log directory/opt/puppetlabs/server/data/puppetdb/logs |
SSLDIR | Path of the SSL directory/opt/puppetlabs/server/data/puppetdb/certs |
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 /docker-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.