If you are beginning your journey with Senzing, please start with Senzing Quick Start guides.
You are in the Senzing Garage where projects are "tinkered" on. Although this GitHub repository may help you understand an approach to using Senzing, it's not considered to be "production ready" and is not considered to be part of the Senzing product. Heck, it may not even be appropriate for your application of Senzing!
The configurator.py python script is used to configure Senzing via HTTP. The senzing/configurator docker image is a wrapper for use in docker formations (e.g. docker-compose, kubernetes).
To see all of the subcommands, run:
$ ./configurator.py
usage: configurator.py [-h] {service,sleep,version,docker-acceptance-test} ...
Perform Senzing configuration. For more information, see
https://github.com/senzing-garage/configurator
positional arguments:
{service,sleep,version,docker-acceptance-test}
Subcommands (SENZING_SUBCOMMAND):
service Receive HTTP requests.
sleep Do nothing but sleep. For Docker testing.
version Print version of configurator.py.
docker-acceptance-test
For Docker acceptance testing.
optional arguments:
-h, --help show this help message and exit
To see the options for a subcommand, run commands like:
./configurator.py service --help
- Demonstrate using Docker
- Demonstrate using docker-compose
- Demonstrate using Command Line
- Configuration
- References
- 🤔 - A "thinker" icon means that a little extra thinking may be required. Perhaps you'll need to make some choices. Perhaps it's an optional step.
- ✏️ - A "pencil" icon means that the instructions may need modification before performing.
⚠️ - A "warning" icon means that something tricky is happening, so pay attention.
- Space: This repository and demonstration require 6 GB free disk space.
- Time: Budget 40 minutes to get the demonstration up-and-running, depending on CPU and network speeds.
- Background knowledge: This repository assumes a working knowledge of:
-
Construct URL to database containing Senzing data. Example:
export SENZING_DATABASE_URL="postgresql://username:password@hostname:5432/G2"
-
Run docker container. Example:
docker run \ --env SENZING_DATABASE_URL \ --publish 8253:8253 \ --rm \ senzing/configurator
-
To try it out, see Test.
-
Specify a new directory to place artifacts in. Example:
export SENZING_VOLUME=~/my-senzing
-
Create directories. Example:
export PGADMIN_DIR=${SENZING_VOLUME}/pgadmin export POSTGRES_DIR=${SENZING_VOLUME}/postgres export RABBITMQ_DIR=${SENZING_VOLUME}/rabbitmq export SENZING_UID=$(id -u) export SENZING_GID=$(id -g) mkdir -p ${PGADMIN_DIR} ${POSTGRES_DIR} ${RABBITMQ_DIR} chmod -R 777 ${SENZING_VOLUME}
-
Download artifacts. Example:
wget \ -O ${SENZING_VOLUME}/docker-compose-backing-services-only.yaml \ "https://raw.githubusercontent.com/Senzing/docker-compose-demo/main/resources/postgresql/docker-compose-rabbitmq-postgresql-backing-services-only.yaml" wget \ -O ${SENZING_VOLUME}/docker-compose.yaml \ "https://raw.githubusercontent.com/Senzing/configurator/main/docker-compose.yaml"
-
Bring up a Docker Compose stack with backing services. Example:
docker-compose -f ${SENZING_VOLUME}/docker-compose-backing-services-only.yaml pull docker-compose -f ${SENZING_VOLUME}/docker-compose-backing-services-only.yaml up
-
Download
docker-compose.yaml
file and deploy stack. Note:SENZING_VOLUME
needs to be set. Example:docker-compose -f ${SENZING_VOLUME}/docker-compose.yaml pull docker-compose -f ${SENZING_VOLUME}/docker-compose.yaml up
-
To try it out, see Test.
- Install prerequisites:
- Debian-based installation - For Ubuntu and others
- RPM-based installation - For Red Hat, CentOS, openSuse and others.
-
✏️ Identify where senzing/apt placed the Senzing directories. Example:
export SENZING_DATA_VERSION_DIR=/opt/senzing/data/3.0.0 export SENZING_ETC_DIR=/etc/opt/senzing export SENZING_G2_DIR=/opt/senzing/g2 export SENZING_VAR_DIR=/var/opt/senzing
-
✏️ Identify database. Example:
export SENZING_DATABASE_URL="sqlite3://na:na@${SENZING_VAR_DIR}/sqlite/G2C.db"
-
Set environment variables. Example:
export SENZING_CONFIG_PATH=${SENZING_ETC_DIR} export SENZING_SUPPORT_PATH=${SENZING_DATA_VERSION_DIR} export PYTHONPATH=${SENZING_G2_DIR}/python export LD_LIBRARY_PATH=${SENZING_G2_DIR}/lib:${SENZING_G2_DIR}/lib/debian
-
Run command. Note: GIT_REPOSITORY_DIR needs to be set. Example:
cd ${GIT_REPOSITORY_DIR} ./configurator.py service
-
To try it out, see Test.
Configuration values specified by environment variable or command line parameter.
- Development
- Errors
- Examples
- Related artifacts: