Upgrading the PingAuthorize Policy Editor using Docker
If you originally installed the Policy Editor with Docker per Deploying PingAuthorize Policy Editor using Docker, use this procedure to upgrade the PingAuthorize Policy Editor when a new version is released.
Steps
-
In your current Policy Editor, complete the steps in Backing up policies.
-
Stop the old Docker container and start the new one.
When a new Docker image for the PingAuthorize Policy Editor is available, you stop the existing Docker container and start the new container from the new image while mounting the same volumes.
If you use a shared volume, you should always stop the Docker container running the older version of the Policy Editor before you start the new container.
The following commands stop the running container and run a new image named <pap_new>. This image uses the volumes from <pap_old> to house the policy database. Also, the command uses the same
PING_H2_FILE
location from Example: Override the configured policy database location.-
The Ping Identity DevOps Docker images use the PingAuthorize
setup
tool to update the H2 policy database on the mounted volume. If you store your policies in a PostgreSQL database, follow the instructions in Deploying PingAuthorize Policy Editor using Docker to update your policy database. -
For proper communication between containers, create a Docker network using a command such as
docker network create --driver <network_type> <network_name>
, and then connect to that network with the--network=<network_name>
option.
$ docker container stop <pap_old> $ docker run --network=<network_name> --name <pap_new> \ -p 443:1443 -d --env-file ~/.pingidentity/config \ --volumes-from <pap_old> \ --env PING_H2_FILE=/opt/out/Symphonic \ pingidentity/{PAP_CONTAINER_NAME}:<TAG>
The Docker image <TAG> used in the example is only a placeholder. For actual tag values, see Docker Hub (https://hub.docker.com/r/pingidentity/pingauthorizepap).
The
setup
tool uses the default credentials to upgrade the policy database. If the credentials no longer match the default values, the server administrator should pass the correct credentials to thesetup
tool using thePING_DB_ADMIN_USERNAME
,PING_DB_ADMIN_PASSWORD
,PING_DB_APP_USERNAME
, andPING_DB_APP_PASSWORD
UNIX environment variables.For example, if the old policy database admin credentials have been previously set to admin/Passw0rd, and the application credentials have been set to app/S3cret, the docker
run
command should include those environment variables as shown in this example.$ docker container stop <pap_old> $ docker run --network=<network_name> --name <pap_new> \ -p 443:1443 -d --env-file ~/.pingidentity/config \ --env PING_H2_FILE=/opt/out/Symphonic \ --env PING_DB_ADMIN_USERNAME=admin \ --env PING_DB_ADMIN_PASSWORD=Passw0rd \ --env PING_DB_APP_USERNAME=app \ --env PING_DB_APP_PASSWORD=S3cret \ pingidentity/{PAP_CONTAINER_NAME}:<TAG>
The Docker image <TAG> used in the example is only a placeholder. For actual tag values, see Docker Hub (https://hub.docker.com/r/pingidentity/pingauthorizepap).
This command ensures that the
setup
tool has the correct credentials to access the policy database, and that it does not reset credentials to their defaults. -
-
In the new Policy Editor, complete the steps in Upgrading the Trust Framework and policies.