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-stdinthen 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-registryAdd 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 loaddocker 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.0For 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.0Tell the installation to use it:
# Helm values
image:
repository: registry.corp.example/security/dpndncy
tag: "2.9.0"
pullPolicy: IfNotPresentFor 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).