Git Product home page Git Product logo

gvisor-website's Introduction

NOTE: This repository is no longer maintained. The website is now maintained as part of the core gVisor repository.

gVisor Website

This repository holds the content for the gVisor website. It uses hugo to generate the website and Docsy as the theme.

Using Github

The easiest way to contribute to the documentation is to use the "Edit this page" link on any documentation page to edit the page content directly via GitHub and submit a pull request. This should generally be done for changes to a single page.

Using Git

You can submit pull requests by making changes in a Git branch. See more information on GitHub pull requests here.

Documentation is located in the content/docs/ directory. Documentation is written in markdown with hugo extensions. Please read more about content management in the hugo documentation.

Requirements

Building the website requires Docker. Please install it before building.

Building

If you want to simply build the website, you can do that using make. This will output the App Engine application code, configuration, and html and CSS into the public/ directory.

make

Testing

You can use the hugo web server for testing documentation or style changes. This will start a webserver that will rebuild the site when you make content changes:

make devserver

Access the site at http://localhost:8080

If you need to test all functionality including redirects you can start the App Engine app locally. However, you will need to restart the app when making content changes:

make server

Updating Styles

If you want to update style on the website you can do this by updating templates or CSS for the website. Check out the Hugo documentation for info on hugo templating. Check out the Docsy documentation for info on the Docsy theme.

Custom templates, partials, and shortcodes

Custom templates, including partials and shortcodes, should go under the layouts/ directory.

Custom CSS

Custom CSS styles should go into the _styles_project.scss file.

If you need to override or create variables used in scss styles, update the _variables_project.scss file.

gvisor-website's People

Contributors

0x646e78 avatar amscanne avatar dependabot[bot] avatar domesticmouse avatar fvoznika avatar gophernani avatar henryrlee avatar iangudger avatar ianlewis avatar jakibaki avatar kevingc avatar moricho avatar nlacasse avatar prattmic avatar seeekr avatar sriv1211 avatar tktech avatar ustiugov avatar zkoopmans avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gvisor-website's Issues

Build using Docker

Update the Makefile to build the website using Docker to make dealing with build dependencies easier.

rel=noreferrer checks in html-proofer

Use the hrefTargetBlank = true and noreferrerLinks = true and add a check to html-proofer to make sure that rel=noreferrer is added to links targeting external urls.

Improve SEO

The search engine optimization of the website isn't great and could be improved. Work needs to be scoped out. This will act as an umbrella issue.

Docs search

Add a feature to allow searching gVisor docs

Performance Guide - Grammar issue - 'This an implementation cost'

Second, as gVisor is an independent implementation of the system call surface, many of the subsystems or specific calls are not as optimized as more mature implementations. A good example here is the network stack, which is continuing to evolve but does not support all the advanced recovery mechanisms offered by other stacks and is less CPU efficient. This an implementation cost and is distinct from structural costs. Improvements here are ongoing and driven by the workloads that matter to gVisor users and contributors.

This an implementation cost should be This is an implementation cost, right?

Use of Content Delivery Network

Use of Content Delivery Network to serve static components

  • It will increase the overall page speed
  • Reduced Page Size
There are 9 static components that are not on CDN.

https://gvisor.dev/scss/main.min.a6b803b675e6be3fa855ba1c5de7a6a3c6e0aa5a48b97fa1c41128e8e9b7cb8d.css
https://gvisor.dev/background_hu7001f5438b9e69fd36c11bbcd7ce28bc_1070364_1920x1080_fill_q75_catmullrom_top.jpg
https://gvisor.dev/js/jquery-3.3.1.min.js
https://gvisor.dev/js/d3.v4.min.js
https://gvisor.dev/logo_huecc535c5c6d57d0972f257cbe0c4e09e_8387_70x70_fit_catmullrom_2.png
https://gvisor.dev/img/powered-gvisor.png
https://gvisor.dev/js/popper.min.js
https://gvisor.dev/js/bootstrap.min.js
https://gvisor.dev/js/main.min.bdc747859423a89c29f21e41c5dfda2cefbfe771ea5fe61e56871467c5473856.js

The static components should be hosted on CDN and served from there.

graphs not rendered on Performance Guide

https://gvisor.dev/docs/architecture_guide/performance/ has literal text like this:

{{< graph id=“sysbench-memory” url=“/performance/sysbench-memory.csv” title=“perf.py sysbench.memory –runtime=runc –runtime=runsc” >}}

{{< graph id=“density” url=“/performance/density.csv” title=“perf.py density –runtime=runc –runtime=runsc” log=“true” y_min=“100000” >}}

Presumably meant to be rendered as an actual graph. Perhaps HTML escaping was accidentally introduced 12 days ago:

46ee887#diff-55762dff9d787999779edd14062dab33L111

Edit page links are broken

For example, on the community page, the edit link points to https://github.com/google/gvisor-website/edit/master/content/en/docs/community/_index.md instead of https://github.com/google/gvisor-website/edit/master/content/docs/community/_index.md.

FAQ section

Add a FAQ that includes how to catch if you are using the wrong hugo version. Incorrect version yield errors like the following:

ERROR 2019/04/03 11:25:58 Failed to add template "partials/navbar.html" in path "/usr/local/google/home/ascannell/gvisor-website/layouts/partials/navbar.html": template: partials/navbar.html:5: function "resources" not defined
ERROR 2019/04/03 11:25:58 partials/navbar.html : template: partials/navbar.html:5: function "resources" not defined
ERROR 2019/04/03 11:25:58 Unable to locate template for shortcode "readfile" in page "docs/user_guide/docker.md"
ERROR 2019/04/03 11:25:58 Unable to locate template for shortcode "readfile" in page "docs/user_guide/oci.md"
ERROR 2019/04/03 11:25:58 Unable to locate template for shortcode "blocks" in page "_index.html"

Build using Docker

Use Docker images to build the website in order to simplify dependencies.

Add FAQ for pivot root error

Pivot root doesn't work on a ramfs. If the roofs for an oci bundle is located on a initramfs or tmpfs then runsc will fail with the error

FATAL ERROR: running container: creating container: waiting for sandbox to start: EOF

This error can be found in the log:

FATAL ERROR: error setting up chroot: error changing root filesystem: invalid argument

Docker Quick Start

docker: Error response from daemon: OCI runtime start failed: /usr/local/bin/runsc did not terminate sucessfully: starting container: setting up network: creating interfaces from net namespace "/proc/7074/ns/net": creating links and routes: urpc method "Network.CreateLinksAndRoutes" failed: EOF
: unknown.

Performance Guide

Hi,

In the performance guide page, the graphs aren't showing up for me. I just get raw text like

{{< graph id=“sysbench-memory” url=“/performance/sysbench-memory.csv” title=“perf.py sysbench.memory –runtime=runc –runtime=runsc” >}}

instead of the embedding graph which should presumably be displayed instead.

Thanks

Matt

Update CONTRIBUTING.md

CONTRIBUTING.md needs to be updated to include more info about gVisor project contributing
guidelines, governance etc.

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.