Source code for the linkerd.io website
Go to file
Travis Beckham 190547fbf0
CSS fixes (#2021)
2025-08-14 16:48:59 -05:00
.devcontainer build(deps): update linkerd/dev from v30 to v44 (#1895) 2024-12-06 13:20:45 -05:00
.github fix(deps): bump linkerd/dev from 45 to 46 (#1992) 2025-07-24 15:49:50 -04:00
api.linkerd.io Run shellcheck on all bash scripts (#1355) 2022-05-13 15:35:55 -07:00
bin fix(ci): Read releases json from file 2025-07-24 15:10:33 -04:00
linkerd.io CSS fixes (#2021) 2025-08-14 16:48:59 -05:00
multicluster Multicluster kustomize fix for demo (#1815) 2024-08-08 16:58:07 -04:00
run.linkerd.io/public Remove trailing whitespace from all files (#2014) 2025-08-07 12:17:57 -04:00
versioncheck.linkerd.io remove deprecated stable release channel (#1766) 2024-04-26 09:12:17 -05:00
.dockerignore Publish on merges to master (#202) 2019-02-28 09:40:40 -08:00
.gitignore Adds helm chart to app version matrix (#1714) 2024-01-02 22:29:46 -05:00
.prettierrc Add RFC walkthrough blog post (#706) 2020-04-08 12:22:05 -07:00
CONTRIBUTING.md Drop old discourse links (#1605) 2023-04-11 18:06:31 -04:00
DCO Initial opening of the linkerd websites 2018-08-16 14:04:35 -07:00
GOVERNANCE.md refer to main repo governance and maintainers (#1003) 2021-03-21 14:31:01 -07:00
LICENSE Initial opening of the linkerd websites 2018-08-16 14:04:35 -07:00
MAINTAINERS.md cleanup versions across docs (#1761) 2024-04-12 13:11:16 -05:00
Makefile linkerd.io rebuild (#1860) 2024-10-28 10:39:51 -05:00
README.md Improve Hugo version check (#1925) 2025-02-24 16:03:36 -06:00
netlify.toml linkerd.io rebuild (#1860) 2024-10-28 10:39:51 -05:00

README.md

linkerd.io

Source code for the linkerd.io website.

View the linkerd.io README to learn about general development instructions.

run.linkerd.io

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

versioncheck.linkerd.io

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.linkerd.io

API docs for linkerd1.

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

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

Creating a new release

  1. Run ./release-next-version <release-tag> <new version> in https://github.com/BuoyantIO/slate-linkerd/blob/master/BUOYANT-README.md

  2. Then check locally

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

    make deploy-api.linkerd.io
    
    • NB: If you're running macOS 10.14+ with ruby installed by XCode, you may have to set the SDKROOT in order to install json 1.8.3 which is a middleman dependency.

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