diff --git a/.devcontainer/on-create.sh b/.devcontainer/on-create.sh index 7e6df42d8d..68440f5802 100755 --- a/.devcontainer/on-create.sh +++ b/.devcontainer/on-create.sh @@ -5,7 +5,7 @@ set -euo pipefail cd $(mktemp -d) # hugo -scurl -O https://github.com/gohugoio/hugo/releases/download/v0.156.0/hugo_0.156.0_linux-amd64.deb +scurl -O https://github.com/gohugoio/hugo/releases/download/v0.158.0/hugo_0.158.0_linux-amd64.deb sudo dpkg -i hugo*.deb rm hugo*.deb diff --git a/linkerd.io/README.md b/linkerd.io/README.md index 98bddea4fb..351c80d7eb 100644 --- a/linkerd.io/README.md +++ b/linkerd.io/README.md @@ -31,9 +31,9 @@ Or download the release of Hugo from the GitHub ## Hugo version requirements -The minimum version of Hugo needed to build the site is `v0.156.0`. +The minimum version of Hugo needed to build the site is `v0.158.0`. -When linkerd.io is deployed to production, we use Hugo `v0.156.0`. +When linkerd.io is deployed to production, we use Hugo `v0.158.0`. ### Run Hugo locally @@ -65,11 +65,12 @@ Next, create an `index.md` file in the folder with the following frontmatter: ```yaml title: # The title of your blog post -description: # The description of your blog post +description: # Optional meta description of your blog post, defaults to auto generated content summary date: # The date of your post in the format: `2024-01-01T00:00:00Z` -slug: # The URL slug for the page. Only set this param if you want to use a different slug than the title. +slug: # Optional URL slug for the page. Only set this param if you want to use a different slug than the title. keywords: [] # An array of keywords are used to relate blog posts params: + metaTitle: # Optional meta title of your blog post, defaults to title author: # The author of the blog post ``` diff --git a/linkerd.io/config/_default/params.yaml b/linkerd.io/config/_default/params.yaml index 9c272f5dc9..32bdf9a0a7 100644 --- a/linkerd.io/config/_default/params.yaml +++ b/linkerd.io/config/_default/params.yaml @@ -1,17 +1,16 @@ # Min/max version of Hugo required to build linkerd.io # Set `maxHugoVersion` to "latest" if there is not a max version required -minHugoVersion: "0.156.0" -maxHugoVersion: "latest" +minHugoVersion: '0.158.0' +maxHugoVersion: 'latest' # Open Graph and Twitter Card defaults description: |- Linkerd is an ultralight service mesh for Kubernetes. It gives you observability, reliability, and security without requiring any code changes. #images: [/logos/linkerd.png] - # Set the value of `twitter:site` in Twitter Card social: twitter: Linkerd # Latest major version of Linkerd -latestMajorVersion: "2.20" +latestMajorVersion: '2.20' diff --git a/linkerd.io/content/blog/2026/0624-federating-clusters-for-zero-downtime-kubernetes/index.md b/linkerd.io/content/blog/2026/0624-federating-clusters-for-zero-downtime-kubernetes/index.md index c3facd0340..f9214227d9 100644 --- a/linkerd.io/content/blog/2026/0624-federating-clusters-for-zero-downtime-kubernetes/index.md +++ b/linkerd.io/content/blog/2026/0624-federating-clusters-for-zero-downtime-kubernetes/index.md @@ -2,8 +2,12 @@ date: 2026-06-24T00:00:00Z title: |- Federating Clusters for Zero-Downtime Kubernetes +description: |- + Linkerd multicluster supports 3 modes: federated, flat, and gateway. Wire all 3 across 3 GKE clusters, run a chaos test, and see automatic failover in action. keywords: [linkerd, multicluster, federated] params: + metaTitle: |- + Linkerd Multicluster: Federation, Mirroring on GKE author: name: Dominik Táskai, Linkerd Ambassador avatar: dominik-taskai.jpg diff --git a/linkerd.io/layouts/_partials/head-meta.html b/linkerd.io/layouts/_partials/head-meta.html index d2c9cd7cdc..0cbe8aaa63 100644 --- a/linkerd.io/layouts/_partials/head-meta.html +++ b/linkerd.io/layouts/_partials/head-meta.html @@ -2,7 +2,7 @@ {{ end }} - + -{{ partial "opengraph.html" . }} -{{ partial "twitter_cards.html" . }} +{{ partial "head-opengraph.html" . }} +{{ partial "head-twitter-cards.html" . }} diff --git a/linkerd.io/layouts/_partials/head-opengraph.html b/linkerd.io/layouts/_partials/head-opengraph.html new file mode 100644 index 0000000000..5fbf51f95b --- /dev/null +++ b/linkerd.io/layouts/_partials/head-opengraph.html @@ -0,0 +1,76 @@ +{{- /* + +Modified Open Graph template +https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/_partials/opengraph.html + +*/}} + + +{{- with or site.Title site.Params.title | plainify }} + +{{- end }} + + + + + +{{- with or .Params.locale site.Language.Locale }} + +{{- end }} + +{{- if .IsPage }} + + {{- with .Section }} + + {{- end }} + {{- $ISO8601 := "2006-01-02T15:04:05-07:00" }} + {{- with .PublishDate }} + + {{- end }} + {{- with .Lastmod }} + + {{- end }} + {{- range .GetTerms "tags" | first 6 }} + + {{- end }} +{{- else }} + +{{- end }} + +{{- with partial "_funcs/get-page-images" . }} + {{- range . | first 6 }} + + {{- end }} +{{- end }} + +{{- with .Params.audio }} + {{- range . | first 6 }} + + {{- end }} +{{- end }} + +{{- with .Params.videos }} + {{- range . | first 6 }} + + {{- end }} +{{- end }} + +{{- range .GetTerms "series" }} + {{- range .Pages | first 7 }} + {{- if ne $ . }} + + {{- end }} + {{- end }} +{{- end }} + +{{- with site.Params.social }} + {{- if reflect.IsMap . }} + {{- with .facebook_app_id }} + + {{- else }} + {{- with .facebook_admin }} + + {{- end }} + {{- end }} + {{- end }} +{{- end }} diff --git a/linkerd.io/layouts/_partials/head-twitter-cards.html b/linkerd.io/layouts/_partials/head-twitter-cards.html new file mode 100644 index 0000000000..bff02454ba --- /dev/null +++ b/linkerd.io/layouts/_partials/head-twitter-cards.html @@ -0,0 +1,30 @@ +{{- /* + +Modified Twitter Cards template +https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/_partials/twitter_cards.html + +*/}} +{{- $images := partial "_funcs/get-page-images" . }} +{{- with index $images 0 }} + + +{{- else }} + +{{- end }} + + + + + +{{- $twitterSite := "" }} +{{- with site.Params.social }} + {{- if reflect.IsMap . }} + {{- with .twitter }} + {{- $content := . }} + {{- if not (strings.HasPrefix . "@") }} + {{- $content = printf "@%v" . }} + {{- end }} + + {{- end }} + {{- end }} +{{- end }} diff --git a/linkerd.io/layouts/_partials/meta-description.html b/linkerd.io/layouts/_partials/meta-description.html new file mode 100644 index 0000000000..1016e73210 --- /dev/null +++ b/linkerd.io/layouts/_partials/meta-description.html @@ -0,0 +1,3 @@ +{{- with or .Description .Summary site.Params.description | truncate 160 | plainify | htmlUnescape }} + {{- trim . "\n\r\t " | replaceRE "[\n\r\t]+" " " }} +{{- end -}} diff --git a/linkerd.io/layouts/_partials/meta-title.html b/linkerd.io/layouts/_partials/meta-title.html new file mode 100644 index 0000000000..564da36de7 --- /dev/null +++ b/linkerd.io/layouts/_partials/meta-title.html @@ -0,0 +1,3 @@ +{{- with or .Params.metaTitle .Title site.Title site.Params.title | plainify }} + {{- . }} +{{- end -}} diff --git a/linkerd.io/layouts/_partials/page-description.html b/linkerd.io/layouts/_partials/page-description.html deleted file mode 100644 index aca57e1dba..0000000000 --- a/linkerd.io/layouts/_partials/page-description.html +++ /dev/null @@ -1,3 +0,0 @@ -{{- with or .Description (.Summary | truncate 160) site.Params.description | plainify | htmlUnescape }} - {{- trim . "\n\r\t " | replaceRE "[\n\r\t]+" " " }} -{{- end -}} diff --git a/netlify.toml b/netlify.toml index ade4d0684e..5f6ad0a851 100644 --- a/netlify.toml +++ b/netlify.toml @@ -4,7 +4,7 @@ publish = "public" command = "make production-build" [build.environment] -HUGO_VERSION = "0.156.0" +HUGO_VERSION = "0.158.0" [context.deploy-preview] command = "make preview-build"