One limitation that several customers have when using Archy is that it does not (currently) support the use of a Proxy, unlike our other developer tools, Genesys Cloud Platform API CLI and the Genesys Cloud Terraform Provider. The process discussed below is NOT an official Genesys solution, this is a simple workaround that might come in handy if you have permissions to run Docker containers either ad hoc or within your CI/CD pipeline.
[Dockerfile]
# Use a minimal Linux base
FROM debian:bullseye-slim
# Install dependencies: curl, unzip
RUN apt-get update && \
apt-get install -y curl unzip && \
apt-get clean
# Set working directory
WORKDIR /opt/archy
# Download and extract Archy CLI
RUN curl -L https://sdk-cdn.mypurecloud.com/archy/latest/archy-linux.zip -o archy.zip && \
unzip archy.zip && \
chmod +x archy && \
rm archy.zip
# Optional: Add Archy to PATH
ENV PATH="/opt/archy:${PATH}"
# Default command (can be overridden at runtime)
CMD ["./archy", "--version"]
Next, build the image:
ara@vm-azure archy $ docker build -t archy-cli .
[+] Building 14.1s (8/8) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 586B 0.0s
=> [internal] load metadata for docker.io/library/debian:bullseye-slim 1.1s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/4] FROM docker.io/library/debian:bullseye-slim@sha256:849d9d34d5fe0bf88b5fb3d09eb9684909ac4210488b52f4f7bbe683eedcb851 2.2s
=> => resolve docker.io/library/debian:bullseye-slim@sha256:849d9d34d5fe0bf88b5fb3d09eb9684909ac4210488b52f4f7bbe683eedcb851 0.0s
=> => sha256:3e41ca17193bcd7630e4dd210602930b1f94464bdd59680bbf6654206f7707b8 30.26MB / 30.26MB 0.9s
=> => sha256:849d9d34d5fe0bf88b5fb3d09eb9684909ac4210488b52f4f7bbe683eedcb851 4.54kB / 4.54kB 0.0s
=> => sha256:4edd2740ebd41d71ef78eed0081c8979e287e2496c6fca892f5936d1e22adcd3 1.02kB / 1.02kB 0.0s
=> => sha256:6a5f04a4e85f06983d64aaf124052f3d46510fd3715102bdab14f6d48e72ddbf 453B / 453B 0.0s
=> => extracting sha256:3e41ca17193bcd7630e4dd210602930b1f94464bdd59680bbf6654206f7707b8 1.2s
=> [2/4] RUN apt-get update && apt-get install -y curl unzip && apt-get clean 7.1s
=> [3/4] WORKDIR /opt/archy 0.1s
=> [4/4] RUN curl -L https://sdk-cdn.mypurecloud.com/archy/latest/archy-linux.zip -o archy.zip && unzip archy.zip && chmod +x archy && rm archy.zip 2.6s
=> exporting to image 0.6s
=> => exporting layers 0.6s
=> => writing image sha256:cd95a83c033deed395759efd612a25dbab740c3189df415c3473f025dc5376b6 0.0s
=> => naming to docker.io/library/archy-cli 0.0s
ara@vm-azure archy $
Run the image to make sure it actually works...
ara@vm-azure archy $ docker run --rm archy-cli
Architect Scripting running under Node version '20.19.4'
ArchSessionId:9KO5gGkUP
2.35.4
ara@vm-azure archy $
Run an Archy command to make sure that is working properly...
ara@vm-azure archy $ docker run --rm archy-cli ./archy createImportFile --help
Architect Scripting running under Node version '20.19.4'
ArchSessionId:BvY5-Yqwp
Usage: archy createImportFile [options]
Creates an Architect flow import file from the supplied Archy flow YAML file. This does not create a flow in
your organization or a YAML file for a flow within Architect, just a file which can be imported in to
Architect. By default, the import file will be created in the same directory where the input YAML is located if
using the --file} parameter, otherwise it will be created in the Archy home directory if using the --fileUri
parameter.
Options:
--force (optional) tells Archy to overwrite the import file if it already
exists when the command is run. (default: false)
--outputDir <outputDir> (optional) directory where Archy should save the Architect flow
import file. If the directory structure to the fully qualified file
path does not exist, Archy will attempt to create the directory
structure that contains the import file.
--file <flowYamlPath> path to the Archy flow YAML file.
...
Create a Docker container with Proxy settings:
docker run \
-e HTTP_PROXY=http://your-proxy:port \
-e HTTPS_PROXY=http://your-proxy:port \
-e NO_PROXY=localhost,127.0.0.1 \
--rm archy-cli ./archy <your-commands>