.. _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 `_ If you want to use the Windows based Envoy images make sure that you `switch Docker to use Windows containers `_. .. _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_netcat: netcat ~~~~~~ Binary distributions of `Netcat `_ are available for Mac OS with `brew `_ and in most flavours of Linux. Ncat is integrated with Nmap and is available in the standard Nmap download packages (including source code and Linux, Windows, and Mac binaries) available from the `Nmap download page `_. .. _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.