Giter VIP home page Giter VIP logo

website's Introduction

Source code for the linkerd.io website.

General development instructions

  1. Install Hugo:

    go get -v github.com/spf13/hugo

    or possibly:

    brew install hugo
  2. From the root /website directory, build site and run Hugo in development mode:

    hugo serve -s linkerd.io
  3. Also in the root directory, run checks on any changes you make:

    make check lint

You should see the site on localhost:1313, and it should reload automatically upon file write.

To change the way the site looks

CSS/HTML

Images and static CSS and JavaScript files are located in the static directory. These files are served as-is. Some of the site's CSS, however, is generated from Sass sources in assets/scss by Hugo. When you change those files, Hugo updates the CSS for the site automatically and refreshes the page.

The files in layouts/ are the HTML for the site (including layout/index.html for the front page.) These files are Go templates with a couple extra Hugo goodies thrown in. See the hugo documentation for details.

If you're running hugo server (see above) then updates should be reflected in your browser window via some fancy javascript magic.

Install scripts for linkerd as well as demo applications such as emojivoto.

Location for existing installations to check and see if they're up to date or not.

To build and serve against the latest Linkerd2 release:

make serve-versioncheck.linkerd.io

API docs for linkerd1.

Note: this does not deploy by default as part of make publish. It needs to be released separately.

Updating docs from Linkerd

See slate documentation ./build will grab whatever's on master from slate-linkerd and add it to the public dir.

Creating a new release

  1. From the linkerd.io directory, run:

    ./release-next-version <new version>
  2. Run ./release-next-version <release-tag> <new version> in slate-linkerd

  3. Then check locally

    make serve-api.linkerd.io
  4. Finally push to production

    make deploy-api.linkerd.io

Publishing

  1. Make sure your gcloud tooling is up to date:

    gcloud components update
    gcloud auth login
  2. Do a dry run and make sure everything works:

    make publish DRY_RUN=true
  3. Update the website:

    make publish

Notes

  • This does not update api.linkerd.io, see the section for that specifically to update it.

  • There is no caching in front of run.linkerd.io and versioncheck.linkerd.io. You should see updates there immediately.

  • There is caching for non-html pages in front of linkerd.io. If you're updating a non-html page for linkerd.io, it might be worth flushing the cache (cloudflare) and waiting awhile.

If you have to create a new bucket

You probably won't have to do this, but if you do, don't forget to do this stuff too to set up the bucket for public serving:

gsutil defacl ch -u AllUsers:R gs://bucketname
gsutil web set -m index.html -e 404.html gs://bucketname

Verifying cache updates

Turn off all caching on all files:

gsutil -m setmeta -r -h "Cache-Control: no-cache, no-store, must-revalidate" gs://linkerd.io/

Turn caching back on:

gsutil -m setmeta -r -h "Cache-Control:" gs://linkerd.io/

Enable access logs (should only need to be run once)

gsutil logging set on -b gs://linkerd2-access-logs -o AccessLog gs://linkerd.io

Get access logs

# note: this will download ALL logs. probably not what you want.
gsutil -m rsync gs://linkerd2-access-logs logs/

Set CORS policy (should only need to be run once)

gsutil cors set versioncheck.linkerd.io.cors.json gs://versioncheck.linkerd.io

website's People

Contributors

grampelberg avatar klingerf avatar siggy avatar lucperkins avatar wmorgan avatar ihcsim avatar alpeb avatar adleong avatar olix0r avatar zparnold avatar benjdlambert avatar codeman9 avatar joewrightss avatar jonrichards avatar kleimkuhler avatar martinmosegaard avatar nathanpeck avatar tsupertramp avatar yb172 avatar mbanikazemi avatar zknill avatar

Watchers

HARUN PEHLİVAN avatar  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.