Web service for validating Bento discovery configuration files.
An all-in-one image with the server and client is available as
ghcr.io/bento-platform/discovery_config_validator:edge.
- To enable JSON logs (presumably for production), set the environment variable
USE_JSON_LOGS=True. - To prevent the server from trying to serve client files, set
SERVE_CLIENT=False. - To change where the server tries to serve client files from, set
CLIENT_PATHto another path.
The manifests can be applied directly to a cluster:
kubectl apply -k https://github.com/bento-platform/discovery_config_validator//manifests?ref=<BRANCH || TAG>
Alternatively, reference the manifests from a downstream kustomization to customize parameters like the image tag:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
# include remote resource
resources:
- https://github.com/bento-platform/discovery_config_validator//manifests?ref=<BRANCH || TAG>
# patch the image tag
images:
- name: ghcr.io/bento-platform/discovery_config_validator
newName: ghcr.io/bento-platform/discovery_config_validator
newTag: <SOME OTHER IMAGE TAG WANTED FOR A DEPLOYMENT>- Install
uv(see https://github.com/astral-sh/uv?tab=readme-ov-file#installation) - Clone the repository:
git clone git@github.com:bento-platform/discovery_config_validator.git - Install dependencies:
uv install - Run the server with auto-reloading:
uv run uvicorn --reload dcv_server.main:app. This will by default run the server and serve client files built using the instructions below.
- Install NodeJS 24.x and NPM.
- Go to the client directory:
cd dcv_client - Install dependencies:
npm install - Run the Webpack watch script to build the client and automatically rebuild it upon changes:
npm run watch