Strong Installer CLI
The Strong Installer CLI (strong-cli) helps you install, upgrade, and manage Secure Developer Spaces deployments. You run the CLI from the Strong Installer container.
Overview
Use this article to:
- Install Secure Developer Spaces for the first time.
- Upgrade an existing deployment.
- Push container images to your registry.
Prerequisites
Before you begin, make sure you have:
- Docker installed and running on your local machine.
- Credentials for your container registry.
- Network access to Docker Hub and your destination registry.
- Enough disk space to download and push container images.
Run Strong Installer
Strong Installer is available as a Docker container on Docker Hub. Run this command to start it:
docker run -it --rm -v ${PWD}:/strong-network/shared \
strongnetwork/strong_installer:2026.4.5
<!--NeedCopy-->
Note:
${PWD}mounts your current directory to/strong-network/sharedinside the container. Strong Installer saves configuration files and Helm charts to this location.
Install Secure Developer Spaces
Before you begin
Make sure you have:
- The destination container registry URL.
- Authentication credentials for your registry.
- The service and workspace versions you want to install.
Installation steps
-
Start the Strong Installer container:
docker run -it --rm -v ${PWD}:/strong-network/shared \ strongnetwork/strong_installer:2026.4.5 <!--NeedCopy--> -
Run the installation command:
./strong-cli install <!--NeedCopy-->Optional: Specify the service and workspace versions with flags:
./strong-cli install -v 2026.4.5 -w 2.3.6 <!--NeedCopy--> -
Enter the initial configuration values when prompted.
-
Follow the prompts to authenticate to your cloud provider or registry.
-
Enter the full destination registry URL.
-
Wait while the CLI creates the configuration file and pushes images to your registry.
Installation flags
| Flag | Description | Default |
|---|---|---|
| -v, –version | Service version to install | Value from VERSION file |
| -w, –workspace-image-tag | Workspace image tag | Value from WORKSPACE_IMAGE_TAG file |
Registry authentication
Strong Installer detects the registry type from the URL and prompts for the appropriate credentials:
| Registry type | Authentication method |
|---|---|
| Google Cloud (GCP) | User account or service account key file |
| Amazon Web Services (AWS) | Access key ID and secret access key |
| Microsoft Azure | User account or service principal |
| Other registries | Username and password |
Important:
After you authenticate, the Helm chart file is downloaded to your shared directory. Secure this file immediately, as it contains your deployment configuration.
Upgrade an existing deployment
Before you begin
Make sure you have:
- The configuration file from your previous deployment, for example,
config_2024.5.0.yaml. - Access to the same container registry used in the original deployment.
Procedure
-
Start the Strong Installer container with the new version:
docker run -it --rm -v ${PWD}:/strong-network/shared \ strongnetwork/strong_installer:2026.4.5 <!--NeedCopy--> -
Run the upgrade command with your existing configuration file:
./strong-cli upgrade -c config_2026.4.4.yaml <!--NeedCopy--> -
Follow the prompts to complete the upgrade.
Upgrade without a configuration file
If you do not have the original configuration file, run the upgrade with the --ignore-config flag:
./strong-cli upgrade --ignore-config \
--domain your-domain.example.com \
--last-deployed-version 2026.4.4
<!--NeedCopy-->
| Flag | Description | Required |
|---|---|---|
| –ignore-config | Skip using a configuration file | Yes |
| –domain | Your deployment domain | Yes |
| –last-deployed-version | Previously deployed version | Yes |
Warning:
If you upgrade without a configuration file, you must enter all deployment parameters manually. Use this option only if the configuration file is unavailable.
Automated upgrade
For CI/CD pipelines or other automated deployments, you can run the full upgrade with one command.
Example: Google Artifact Registry
docker run -it --rm -v ${PWD}:/strong-network/shared \
--entrypoint=/strong-network/strong-cli \
strongnetwork/strong_installer:2026.4.5 \
upgrade \
-c config_2026.4.4.yaml \
--source-registry-region eu \
--dst-reg-url europe-west6-docker.pkg.dev/your-project/your-registry \
--gcp-key-file shared/your-service-account.json
<!--NeedCopy-->
Common flags
| Flag | Description |
|---|---|
| -c, –config | Path to the configuration file |
| –source-registry-region | Source registry region: us, eu, or asia |
| –dst-reg-url | Destination registry URL |
| –verbose | Enable verbose output |
Registry-specific flags
Google Artifact Registry
| Flag | Description |
|---|---|
| –gcp-key-file | Path to the service account key file (JSON) |
Amazon Elastic Container Registry
| Flag | Description |
|---|---|
| –aws-access-key-id | AWS access key ID |
| –aws-secret-access-key | AWS secret access key |
| –aws-session-token | AWS session token (optional) |
Azure Container Registry
| Flag | Description |
|---|---|
| –service-principal-app-id | Azure service principal application ID |
| –service-principal-secret | Azure service principal client secret |
| –service-principal-tenant-id | Azure service principal tenant ID |
Generic container registry (Docker login)
| Flag | Description |
|---|---|
| –use-docker-login | Use Docker login instead of cloud provider authentication |
| –registry-username | Registry username |
| –registry-password | Registry password |
Tip:
Use
--use-docker-loginwith--registry-usernameand--registry-passwordto skip cloud provider authentication prompts. This is useful for CI/CD pipelines that do not support interactive prompts.
Push images only
To push container images without running a full installation or upgrade, use the push-images command.
Procedure
-
Start the Strong Installer container:
docker run -it --rm -v ${PWD}:/strong-network/shared \ strongnetwork/strong_installer:2026.4.5 <!--NeedCopy--> -
Run the
push-imagescommand:./strong-cli push-images \ --source-registry-region eu \ -c config.yaml \ --verbose <!--NeedCopy-->
Push images with Docker login (non-interactive)
For CI/CD pipelines, use the --use-docker-login flag to skip cloud authentication prompts:
./strong-cli push-images \
--source-registry-region eu \
--use-docker-login \
--registry-username "your-username" \
--registry-password "your-password" \
-c config.yaml
<!--NeedCopy-->
Push image flags
| Flag | Description |
|---|---|
| –use-docker-login | Skip cloud provider authentication and use Docker login directly |
| –registry-username | Docker registry username |
| –registry-password | Docker registry password |
| –source-registry-region | Source registry region: us, eu, or asia |
| –skip-service-images | Skip pushing service images |
| –skip-workspace-images | Skip pushing workspace images |
| –skip-bitnami-mongodb-image | Skip pushing Bitnami MongoDB image |
| –ignore-image | Specific image name to skip (can be repeated) |
| –verbose | Enable verbose output |
Troubleshooting
Authentication prompts in CI/CD
| Issue | Resolution |
|---|---|
| The CLI prompts you to choose an authentication method even when credentials are provided. | Use --use-docker-login with --registry-username and --registry-password to skip cloud provider authentication. |
./strong-cli push-images \
--use-docker-login \
--registry-username "$USERNAME" \
--registry-password "$PASSWORD" \
...
<!--NeedCopy-->
Docker permission denied
| Issue | Resolution |
|---|---|
| Permission denied errors when you run Docker commands | Make sure your user is added to the docker group, or prefix the command with sudo. |
Image push failures
| Issue | Resolution |
|---|---|
| Images fail to push to the destination registry. | Verify that your registry credentials are correct. |
| Make sure the destination registry exists and is accessible. | |
| Check network connectivity to both the source and destination registries. | |
Use --verbose for detailed error messages. |