Deploy RaaS daemon via Docker
search cancel

Deploy RaaS daemon via Docker

book

Article ID: 384309

calendar_today

Updated On:

Products

VMware Aria Suite

Issue/Introduction

In the transition from Aria Config to Tanzu Salt, some users may require the ability to test deployments, etc. These are instructions for how to manually import the provided Docker image

Environment

Aria Config 8.16+

Tanzu Salt 8.10+

SaltStack - all versions

 

Cause

Aria Config has been rebranded as Tanzu Salt and is now part of the Tanzu Platform. Tanzu Platform uses container images to deploy software within the stack instead of traditional RPM packages.

Resolution

Deploy RaaS via Docker

Steps to Deploy RaaS via Docker:

  1. Obtain the RaaS .tar.gz file.
  2. Unpack the file on the host where RaaS will run. The bundle contains:
    1. RaaS Docker image (.tar.gz file).
    2. RaaS configuration file.
  3. Import the Docker image:
    1. Run: gunzip raas-<version>.tar.gz.
    2. Run: docker load -i raas-<version>.tar.
    3. Confirm the loaded image tag in the output.
  4. Ensure the following are available:
    1. Network address and credentials for Redis and Postgres servers.
    2. Both servers configured correctly.
  5. Set up reverse proxy (e.g., nginx):
    1. Terminate SSL on the machine running RaaS.
    2. Configure nginx to forward requests to http://localhost:8080.
    3. For multiple RaaS heads, use an external load balancer and update /etc/raas/raas to listen on the external interface.
    4. Contact support if RaaS must terminate TLS.
  6. Prepare host directories for:
    1. Fileserver.
    2. Cache.
    3. Logs.
    4. Config.
  7. Update the configuration file:
    1. Add Redis and Postgres credentials.
    2. Secure the credentials as per the instructions below.
  8. If migrating an existing RaaS server:
    1. Copy the contents of /etc/raas to the new host configuration directory.
  9. For a new RaaS server:
    1. Copy raas.config from the unpacked tar.gz file to the host configuration directory.
    2. Rename raas.config to raas.
    3. Update the listen address and port to localhost:8080.
    4. Verify Redis and Postgres connectivity.
  10. Start the RaaS container:
    1. Run:
      docker run --restart unless-stopped -d --name raas -p 8080:8080 \
        -v <path to raas config directory>:/etc/raas \
        -v <path to raas logs directory>:/var/log/raas \
        -v <path to raas cache directory>:/var/cache/raas \
        -v <path to raas fileserver directory>:/srv \
        <image tag>:<version>
      
    2. Replace paths and version as needed. Example command:
      docker run --restart unless-stopped -d --name raas -p 8080:8080 \
        -v /opt/raas/config:/etc/raas \
        -v /opt/raas/log:/var/log/raas \
        -v /opt/raas/cache:/var/cache/raas \
        -v /opt/raas/srv:/srv \
        raas:8.18.0.20
      
  11. Verify the container is running:
    1. Run: curl http://localhost:8080.
    2. Ensure the output is the RaaS HTML page.
  12. Connect via browser:
    1. Access the RaaS instance through the SSL proxy.
    2. Log in using root/salt (new installation) or existing credentials (upgrades).
  1. Secure Configuration Secrets:
  1. Run the following commands:
    1. docker exec -ti <container id> bash.
    2. su -p raas.
    3. raas save_creds and provide credentials for Postgres and Redis.
  2. Edit the configuration file to remove plain-text credentials.
  3. Restart the RaaS daemon:
    1. Run: sv restart raas.

Upgrading RaaS:

  • Prepare for upgrade:
    1. Unpack the new RaaS .tar.gz file.
    2. Load the new image into Docker:
      gunzip raas-<new version>.tar.gz
      docker load -i raas-<new version>.tar
      
  • Replace the old container:
    1. Stop the container: docker stop raas.
    2. Remove the container: docker rm raas.
    3. Start a new container with the updated image:
      docker run --restart unless-stopped -d --name raas -p 8080:8080 \
        -v <path to raas config directory>:/etc/raas \
        -v <path to raas logs directory>:/var/log/raas \
        -v <path to raas cache directory>:/var/cache/raas \
        -v <path to raas fileserver directory>:/srv \
        <image tag>:<new version>
      
  • Validate the system:
    1. Check functionality and remove old images:
      docker rmi <image tag>:<old version>
      

Note: Downgrades are not supported. Using an older container version after a newer one has run will result in a mismatch between the database and RaaS versions.