Giter Site home page Giter Site logo

envoy-website's Introduction

Envoy Proxy Website

This is the repo for the Envoy Proxy website.

This website is built using Jekyll and Sphinx to generate static html files, which are then deployed with netlify.

Using Bazel on your host development system

If you have Bazel installed on your host system you can use that to manage and develop the site directly.

The expected version of Bazel can be seen in .bazelversion.

If you use Bazel directly on your host, you will need some minimum system requirements. These requirements can be seen for a Ubuntu-based system in the provided Dockerfile.

Using Bazel in a Docker container

You can also run the necessary Bazel commands inside a Docker container.

A docker-compose file has been provided for your convenience, which uses a Docker image containing the system requirements expected by Bazel.

The composition is designed to make use of the Bazel cache on your host system.

You may need to export the UID of your user to run the container.

$ export UID

The Bazel Ruby toolchain

As Ruby is required to build the website, a Ruby toolchain is included in the Bazel rules.

This will look for any available Ruby binaries in its environment.

If it finds a version matching the one specified in .ruby-version it will use that one.

Otherwise, it will compile the required Ruby version, caching the binary for further use.

If you run Bazel commands inside a Docker container it will need to compile Ruby unless it finds a previously compiled and cached version.

Running the live site locally (Bazel)

$ bazel run //site:live

The site should now be available by visiting http://localhost:4000.

By default only the website and not the documentation is served by this environment.

You can view the entire site, built with the latest documentation, with the following:

$ export ENVOY_COMMIT="$(bazel run //docs:latest_version)"
$ bazel run --action_env=ENVOY_COMMIT //site:live_docs

Changes made to content in the underscore-prefixed jekyll folders will trigger an immediate server reload.

Running the site locally (Docker)

You can run the website inside a Docker container with the provided compose recipe.

$ docker-compose up live

By default only the website and not the documentation is served by this environment.

You can view the entire site, built with the latest documentation, with the following:

$ docker-compose up live_docs

Changes made to content in the underscore-prefixed jekyll folders will trigger an immediate server reload.

Building the site locally (Bazel)

The Bazel target to build the entire website is:

$ export ENVOY_COMMIT="$(bazel run //docs:latest_version)"
$ bazel build --action_env=ENVOY_COMMIT //site:html

There is a convenience script (as used in CI) that will build into a _site folder in the current directory:

$ ./build-website.sh

Building the site locally (Docker)

The following command will build the entire website, including all documentation, into a _site folder in the current directory:

$ docker-compose run build

Running Bazel commands inside a container.

To drop into a Docker container, with the port mappings configured in the composition file:

$ docker-compose run -p 4000:4000 live bash

From there you can run Bazel commands directly, for example:

username@73deecbfaf55:/src/workspace/envoy-website$ bazel run //docs:latest_version
...
b200312ddcbc4d237cd197a42cdd8c66cc8c6af0

Site content

Item Path
Home page content _data/home.yml
Nav links on the main page _data/nav.yml
Documentation (auto-generated) docs

Creating New Pages

To create a new page, all you need to do is create a new file in the root directory. This file can be either a Markdown file or an HTML file.

The new file should contain what Jekyll calls front matter, which is essentially YAML markup that lets you set options like the template, the permalink, and the title of the page.

Add Envoy Adopter Logo

Envoy is happy to recognize projects that use the software in production. These are not intended to be an advertisement, but a show of support for the project. All supporting organizations will be listed in alphabetical order. To be added to our adopter list, you must meet these criteria:

  • Be a participant and active contributor in the community, this can be contributing code, issues or sponsoring EnvoyCon
  • Publicly disclose your usage of Envoy via a talk, blog CNCF case study or social media
  • Submit a high quality grayscale vector SVG logo, we scale the height to 52px (see example)
  • Have an existing Envoy maintainer vouch for and approve your pull request

To add your logo, please send a pull request (see this as an example).

The Envoy blog

The official Envoy blog is hosted on Medium at https://blog.envoyproxy.io.

envoy-website's People

Contributors

phlax avatar richarddli avatar dansipple avatar lucperkins avatar caniszczyk avatar dependabot[bot] avatar mattklein123 avatar alyssawilk avatar trjordan avatar moderation avatar chalin avatar stevesloka avatar thejohnrichard avatar zacharysarah avatar chaspy avatar taiki45 avatar devadvocado avatar jpeach avatar ilevine avatar cpakulski avatar benhall avatar shubhambhattar avatar slovdahl avatar ryantheoptimist avatar euroelessar avatar shikugawa avatar peterj avatar ned1313 avatar nate-double-u avatar mbrukman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.