dpndncY

Getting the software

dpndncY is one container image, a Helm chart and a small set of deployment files. There are three ways to receive them. Pick the one that fits the customer's network.

Route Best for Needs
A. From the registry Machines that can reach the internet A registry login, unless the image is public
B. From a file Air-gapped sites, or when you would rather hand over files Nothing at install time
C. Through the customer's own registry Kubernetes clusters that may only pull from an internal registry An internal registry

Whichever route you use, the installation steps afterwards are the same (Deploying dpndncY).

#What is delivered

Item What it is
dpndncy-<version>-image.tar.gz The container image, for route B and C
dpndncy-deploy.tar.gz Docker Compose file, proxy configuration and .env.example
install.sh The installer for one Linux machine
dpndncy-<version>.tgz The Helm chart
SHA256SUMS Checksums for the files above. Verify them before use
Documentation This documentation, as files, for sites that cannot browse the web

The command line client is not delivered separately: every installation serves it to its own pipelines at https://<api address>/releases/.

#A. From the registry

The image is ghcr.io/dpndncy-sca/platform, tagged with a version such as 2.9.0 and with stable for the newest release.

If it is not public, dpndncY gives the customer a read-only token. On a machine:

echo "<token>" | docker login ghcr.io -u <user> --password-stdin

then continue with install.sh or Docker Compose as usual.

On Kubernetes create a pull secret and give it to the chart:

kubectl -n dpndncy create secret docker-registry dpndncy-registry \
  --docker-server=ghcr.io --docker-username=<user> --docker-password=<token>
# values.yaml
imagePullSecrets:
  - name: dpndncy-registry

Add the chart repository and install:

helm repo add dpndncy https://dpndncy.com/charts
helm repo update
helm install dpndncy dpndncy/dpndncy -n dpndncy --create-namespace -f values.yaml

#B. From a file

Verify, then load the image on the machine that will run it:

sha256sum -c SHA256SUMS
gunzip -c dpndncy-2.9.0-image.tar.gz | docker load

docker load prints the image name it created (ghcr.io/dpndncy-sca/platform:2.9.0). Then install pinning that version; the installer notices the image is already on the machine and does not try to pull it:

sudo bash install.sh --domain dpndncy.example.com --email [email protected] --version 2.9.0

For Docker Compose set DPNDNCY_IMAGE=ghcr.io/dpndncy-sca/platform:2.9.0 in .env and run docker compose up -d --pull missing.

#C. Through the customer's own registry

Load the image once, then retag and push it to the internal registry:

gunzip -c dpndncy-2.9.0-image.tar.gz | docker load
docker tag ghcr.io/dpndncy-sca/platform:2.9.0 registry.corp.example/security/dpndncy:2.9.0
docker push registry.corp.example/security/dpndncy:2.9.0

Tell the installation to use it:

# Helm values
image:
  repository: registry.corp.example/security/dpndncy
  tag: "2.9.0"
  pullPolicy: IfNotPresent

For Docker Compose set DPNDNCY_IMAGE=registry.corp.example/security/dpndncy:2.9.0.

Install the chart from the file: helm install dpndncy ./dpndncy-2.9.0.tgz -n dpndncy --create-namespace -f values.yaml.

#Updates

A new version arrives the same way. Check the checksums, load or pull the new image, take a backup (Running dpndncY), then upgrade: change the version in .env or the Helm values and run docker compose up -d or helm upgrade.

#Offline vulnerability data

A site with no internet access also needs the offline advisory database, which is built on a connected machine and carried across. See Running dpndncY without internet access (air-gapped).