.. _start_tools_configuration_generator: Configuration generator ----------------------- Envoy configurations can become relatively complicated. The source distribution includes a version of the configuration generator that uses `jinja `_ templating to make the configurations easier to create and manage. We have also included three example configuration templates for each of the above three scenarios. * Generator script: :repo:`configs/configgen.py` * Service to service template: :repo:`configs/envoy_service_to_service.template.yaml` * Front proxy template: :repo:`configs/envoy_front_proxy.template.yaml` * Double proxy template: :repo:`configs/envoy_double_proxy.template.yaml` To generate the example configurations run the following from the root of the repo: .. code-block:: console mkdir -p generated/configs bazel build //configs:example_configs tar xvf $PWD/bazel-out/k8-fastbuild/bin/configs/example_configs.tar -C generated/configs The previous command will produce three fully expanded configurations using some variables defined inside of ``configgen.py``. See the comments inside of ``configgen.py`` for detailed information on how the different expansions work. A few notes about the example configurations: * An instance of :ref:`endpoint discovery service ` is assumed to be running at ``discovery.yourcompany.net``. * DNS for ``yourcompany.net`` is assumed to be setup for various things. Search the configuration templates for different instances of this. * Tracing is configured for `LightStep `_. To disable this or enable `Zipkin `_ or `Datadog `_ tracing, delete or change the :ref:`tracing configuration ` accordingly. * The configuration demonstrates the use of a :ref:`global rate limiting service `. To disable this delete the :ref:`rate limit configuration `. * :ref:`Route discovery service ` is configured for the service to service reference configuration and it is assumed to be running at ``rds.yourcompany.net``. * :ref:`Cluster discovery service ` is configured for the service to service reference configuration and it is assumed that be running at ``cds.yourcompany.net``.