Step 5: Upgrade production exports
- Last Updated: August 12, 2026
- 2 minute read
- OpenEdge MCP Server
- Version 1.1
- Documentation
Production exports require a different upgrade approach because they are self-contained deployment bundles with independent configurations. Follow these steps to upgrade production exports:
- Set the working directory to the OpenEdge MCP Server installation
directory:
cd "$OEMCP_HOME" - Find the timestamped production export directory for the profile:
# Find the production export directory EXPORT_DIR=$(find exports -maxdepth 1 -type d \ -name "export_${PROFILE}_*" -print -quit) test -n "$EXPORT_DIR"Note: This command selects the first matching export. If you have multiple exports for the same profile, setEXPORT_DIRexplicitly to the target directory. - Stop the running container and back up the export compose file:
cd "$EXPORT_DIR" # Stop the running container ./run.sh stop --port <port> --name <container-name> # Back up the compose file cp docker-compose.mcp.yml docker-compose.mcp.yml.backup - Confirm the export follows security best practices and does not include disallowed private
credentials:
Production exports intentionally omit the service-account private key and JWT. These credentials must be provided from an external secret-management system. Never copy development credentials into production bundles.test ! -e sa/private.pem # Should not exist test ! -e sa/sa.jwt # Should not exist test -f sa/public.pem # Should exist test -f server/mcp_server_config.json # Should exist - Load the target release images into Docker:
# Load new Docker images cd "$OEMCP_HOME" ./load_images.shNote: This procedure assumes that the OpenEdge MCP Server distribution is available on the production machine. - Restart the production export with the upgraded image:
# Start the upgraded container cd "$EXPORT_DIR" ./run.sh start --port <port> --name <container-name> - Confirm the container image reference and runtime status:
# Verify deployment - confirm container uses the new image CONTAINER_IMAGE_ID=$(docker inspect --format '{{.Image}}' <container-name>) EXPECTED_IMAGE_ID=$(docker image inspect openedge-mcp-server:latest --format '{{.Id}}') if [ "$CONTAINER_IMAGE_ID" = "$EXPECTED_IMAGE_ID" ]; then echo "Container is using the upgraded image" else echo " WARNING: Container image mismatch" echo " Container: $CONTAINER_IMAGE_ID" echo " Expected: $EXPECTED_IMAGE_ID" fi # Check runtime status ./run.sh status --port <port> --name <container-name>
Production validation checklist:
To confirm the production upgrade completed successfully, verify the following:
- Verify the deployed container uses the new image
- Confirm sanitized server configuration is unchanged
- Test that externally supplied credentials can list tools
- Verify authorized tool invocation succeeds
- Compare production tool catalog with pre-upgrade baseline
- Confirm production networking (DNS, service discovery, network aliases) functions correctly
Note: Production exports remove development-only
extra_hosts
mappings. Use stable DNS names, service-discovery names, or supported network
aliases for downstream OpenEdge services.