.. _start_sandboxes_setup: Setup the sandbox environment ============================= Before you can run the Envoy sandboxes you will need to set up your environment with :ref:`Docker ` and :ref:`Docker Compose `. You should also clone the :ref:`Envoy repository ` with :ref:`Git ` Some of the examples require the installation of :ref:`additional dependencies `. It is indicated in the sandbox documentation where this is the case. .. tip:: If you are working on a Mac OS or Windows system, a simple way to install both :ref:`Docker ` and :ref:`Docker Compose ` is with `Docker Desktop `_. .. _start_sandboxes_setup_docker: Install Docker -------------- Ensure that you have a recent versions of ``docker`` installed. You will need a minimum version of ``18.06.0+``. Version ``19.03`` is well tested. The user account running the examples will need to have permission to use Docker on your system. Full instructions for installing Docker can be found on the `Docker website `_ .. _start_sandboxes_setup_docker_compose: Install Docker Compose ---------------------- The examples use `Docker compose configuration version 3.7 `_. You will need to install a fairly recent version of `Docker Compose `_. Version ``1.27.4`` is well tested. Docker Compose is a `python application `_ and can be installed through a variety of methods including `pip `_ and `native operating system installation `_. .. _start_sandboxes_setup_git: Install Git ----------- The Envoy project is managed using `Git `_. You can `find instructions for installing Git on various operating systems here `_. .. _start_sandboxes_setup_envoy: Clone the Envoy repository -------------------------- If you have not cloned the `Envoy repository `_ already, clone it with: .. tabs:: .. code-tab:: console SSH git clone git@github.com:envoyproxy/envoy .. code-tab:: console HTTPS git clone https://github.com/envoyproxy/envoy.git .. _start_sandboxes_setup_additional: Additional dependencies ----------------------- The following utilities are used in only some of the sandbox examples, and installation is therefore optional. .. _start_sandboxes_setup_curl: curl ~~~~ Many of the examples use the `curl `_ utility to make ``HTTP`` requests. Instructions for installing `curl `_ on many platforms and operating systems can be `found on the curl website `_. .. _start_sandboxes_setup_jq: jq ~~~ The `jq `_ tool is very useful for parsing ``json`` data, whether it be ``HTTP`` response data, logs or statistics. Instructions for installing `jq `_ on many platforms and operating systems can be `found on the jq website `_. .. _start_sandboxes_setup_openssl: openssl ~~~~~~~ `OpenSSL `_ is a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (``TLS``) and Secure Sockets Layer (``SSL``) protocols. Binary distributions of `OpenSSL `_ are available for Mac OS with `brew `_ and in most if not all flavours of Linux. Windows users can either use an `unofficial binary `_ or compile from source. Check for installation instructions specific to your operating system. .. _start_sandboxes_setup_redis: redis ~~~~~ Binary distributions of `Redis `_ are available for Mac OS with `brew `_ and in most flavours of Linux. Windows users should check out the `Windows port of Redis `_. Check for installation instructions specific to your operating system.