# This file was generate by Rigel.
# Feel free to alter this file and use it to configure Rigel according to your own preferences.

# Place in this sectin all global variable values to be later referenced in this file.
vars:
  ros_distro: melodic
  local_image: rigel:temp


# Place in this section all information regarding how to containerize your ROS workspace.
packages:

  -

    # Set the value of the required field 'package' to be the desired name for the containerized ROS package.
    package: my_package

    # Set the value of required field 'distro' to be the ROS distro to be used.
    distro: $ros_distro

    # Set the value of required field 'command' to be the command to launch your ROS nodes.
    command: roslaunch my_package.launch

    # Set the name for the final Docker image.
    image: $local_image

    # Set the value of required field 'compiler' to be the name of the tool your want Rigel to use when compiling your ROS workspace.
    # Rigel supports the following ROS tools: 'catkin_make' (default) and 'colcon'.
    #
    # compiler: catkin_make

    # Specify any non-ROS dependency to be installed with the package manager in the 'apt' field.
    # 
    # apt:
    #   - wget

    # Specify any extra commands that needs to be executed before the ROS workspace is compiled.
    # 
    # run:
    #   - wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
    #   - sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
    #   - apt update && apt install -y gazebo9

    # Specify any extra commands that needs to be executed before the ROS application is launched.
    # 
    # entrypoint:
    #   - source /usr/share/gazebo-9/setup.sh

    # Set the value of environment variables using the field 'env'.
    # 
    # env:
    #   - ENV_EXAMPLE: example

    # Rigel can automatically download for you any external ROS package required to containerize your ROS package.
    # You are required to have at least one .rosinstall file placed at root of yout ROS package folder listing all external ROS packages that your package depends upon.
    # Then make sure to use the field 'rosinstall' and list your .rosinstall files.
    # Also make sure to use the field 'hostname' and list the hostnames for all PUBLIC dependencies.
    #
    # rosinstall:
    #   - example.rosinstall
    # 
    # hostname:
    #   - github.com

    # In case your package depends on an external private ROS package then Rigel can also safely download it.
    # Rigel will require you to provide it with all required SSH keys. These will be kept safe and secure and will not be present in the containerized workspace.
    # You can provide private SSH keys as either files or as environment variables.
    # In the latter case you are required to export environment variables holding the values of any required private SSH key (one variable per private key).
    # Then make sure use the field 'ssh' and inside it list all required SSH keys according to the example.
    # For each key you must specify the name of the exported environment variable, the hostname associated with the key.
    #
    # ssh:
    #   -
    #     value: keys/gitlab_key
    #     hostname: gitlab.com
    #     file: True
    #   -
    #     value: BITBUCKET_SSH_KEY
    #     hostname: bitbucket.com

# List inside this section which plugins to use to deploy the built Docker image.
# deploy:
#   -
#    name: gitlab
#    kwargs:
#     user: user
#     password: GITLAB_PASSWORD
#     image: my_image:latest

# List inside this section which plugins to use to run the containerized ROS application.
# simulate:
  # -
  #  name: local