s integration) artifacts are hosted in a bucket owned by kubernetes.io (community-managed via sig-k8s-infra) rewrite ^/ci/?(.*)$ https://storage.googleapis.com/k8s-release-dev/ci/$1 redirect; # Release artifacts are hosted in a bucket owned by google.com (the google-containers project) rewrite ^/(.*)$ https://cdn.dl.k8s.io/$1 redirect; } } server { server_name docs.k8s.io docs.kubernetes.io; listen 80; location / { rewrite ^/v[0-9]+\.[0-9]+(/.*)?$ https://kubernetes.io/docs$1 redirect; # legacy rewrite ^/(.*)$ https://kubernetes.io/docs/$1 redirect; } } server { server_name examples.k8s.io examples.kubernetes.io; listen 80; location / { rewrite ^/v([0-9]+\.[0-9]+)(/.*)?$ https://github.com/kubernetes/kubernetes/tree/release-$1/examples$2 redirect; rewrite ^/(.*)$ https://github.com/kubernetes/examples/tree/master/$1 redirect; } } server { server_name feature.k8s.io features.k8s.io feature.kubernetes.io features.kubernetes.io; listen 80; location / { rewrite ^/(.*)$ https://github.com/kubernetes/features/issues/$1 redirect; } } server { server_name get.k8s.io get.kubernetes.io; listen 80; location = / { # $https is set to 'on' when connecting to nginx via HTTPS directly. set $https_status $https; if ($http_x_forwarded_proto = 'https') { set $https_status 'on'; } # If not connecting securely, explicitly return the insecure script. if ($https_status != 'on') { rewrite ^/$ /get-kube-insecure.sh; } # Otherwise, proxy through to the real script. proxy_set_header Host raw.githubusercontent.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout http_500 http_502 http_503 http_504; proxy_pass https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/get-kube.sh; } location / { root /www/get; index get-kube-insecure.sh; } } server { server_name git.k8s.io git.kubernetes.io; listen 80; location / { rewrite ^/$ https://github.com/kubernetes/ redirect; rewrite ^/([^/]*)/?$ https://github.com/kubernetes/$1/ redirect; rewrite ^/([^/]*)/(.*)$ https://github.com/kubernetes/$1/blob/master/$2 redirect; } } server { server_name go.k8s.io go.kubernetes.io; listen 80; # Please update README.md when you update the list below. location / { rewrite ^/api-review$ https://github.com/kubernetes/community/blob/master/sig-architecture/api-review-process.md redirect; rewrite ^/bot-commands$ https://prow.k8s.io/command-help redirect; rewrite ^/bsky$ https://bsky.app/profile/did:plc:kfztyuziv2i44b5kpecth77y/lists/3lau2wjkn3g2s redirect; rewrite ^/calendar$ https://www.k8s.dev/calendar redirect; rewrite ^/github-labels$ https://github.com/kubernetes/test-infra/blob/master/label_sync/labels.md redirect; rewrite ^/good-first-issue$ https://github.com/search?q=org%3Akubernetes+org%3Akubernetes-sigs+org%3Akubernetes-csi+org%3Akubernetes-client+is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22+no%3Aassignee redirect; rewrite ^/help-wanted$ https://github.com/search?q=org%3Akubernetes+org%3Akubernetes-sigs+org%3Akubernetes-csi+org%3Akubernetes-client+is%3Aopen+is%3Aissue+label%3A%22help+wanted%22+no%3Aassignee redirect; rewrite ^/needs-ok-to-test$ https://github.com/pulls?q=org%3Akubernetes+org%3Akubernetes-sigs+org%3Akubernetes-csi+org%3Akubernetes-client+is%3Aopen+is%3Apr+label%3Aneeds-ok-to-test+label%3A%22cncf-cla%3A+yes%22+-label%3Aneeds-rebase redirect; rewrite ^/oncall$ https://storage.googleapis.com/test-infra-oncall/oncall.html redirect; rewrite ^/oncall-hotlist$ https://github.com/kubernetes/test-infra/search?q=label%3Akind%2Foncall-hotlist+is%3Aopen&type=Issues redirect; rewrite ^/owners$ https://www.kubernetes.dev/docs/guide/owners/ redirect; rewrite ^/owners/([^/]*)/?$ https://cs.k8s.io/?q=$1&i=fosho&files=OWNERS&excludeFiles=vendor%2F&repos= redirect; rewrite ^/partner-request$ https://docs.google.com/forms/d/e/1FAIpQLSdN1KtSKX2VAOPGABFlShkSd6CajQynoL4QCVtY0dj76MNDKg/viewform redirect; rewrite ^/redirects$ https://github.com/kubernetes/k8s.io/tree/main/apps/k8s-io/README.md#redirections redirect; rewrite ^/sig-k8s-infra$ https://github.com/kubernetes/community/tree/master/sig-k8s-infra redirect; rewrite ^/sig-k8s-infra-notes$ https://docs.google.com/document/d/1VGMyAn_Pixdg0mTwbjxRcq_-oI7xtyomG9Hoa_RpryQ redirect; rewrite ^/sig-k8s-infra-playlist$ https://www.youtube.com/playlist?list=PL69nYSiGNLP2Ghq7VW8rFbMFoHwvORuDL redirect; rewrite ^/start$ https://kubernetes.io/docs/setup/ redirect; rewrite ^/stuck-prs$ https://github.com/kubernetes/kubernetes/pulls?utf8=%E2%9C%93&q=is%3Apr%20is%3Aopen%20label%3Algtm%20label%3Aapproved%20-label%3Ado-not-merge%20-label%3Aneeds-rebase%20sort%3Aupdated-asc%20-status%3Asuccess redirect; rewrite ^/test-history$ https://storage.googleapis.com/kubernetes-test-history/static/index.html redirect; rewrite ^/triage$ https://storage.googleapis.com/k8s-triage/index.html redirect; rewrite ^/logo$ https://branding.cncf.io/projects/kubernetes/ redirect; rewrite ^/contact$ https://github.com/kubernetes/community/tree/master/communication/ redirect; rewrite ^/contact/([^/]*)/?$ https://github.com/kubernetes/community/tree/master/$1#contact redirect; } } server { server_name issue.k8s.io issues.k8s.io issue.kubernetes.io issues.kubernetes.io; listen 80; location / { rewrite ^/(.*)$ https://github.com/kubernetes/kubernetes/issues/$1 redirect; } } server { server_name kep.k8s.io kep.kubernetes.io; listen 80; location / { rewrite ^/(.*)$ https://github.com/kubernetes/enhancements/issues/$1 redirect; } } server { server_name pr.k8s.io prs.k8s.io pr.kubernetes.io prs.kubernetes.io; listen 80; location / { rewrite ^/$ https://github.com/kubernetes/kubernetes/pulls redirect; rewrite ^/(.*)$ https://github.com/kubernetes/kubernetes/pull/$1 redirect; } } server { server_name releases.k8s.io rel.k8s.io releases.kubernetes.io rel.kubernetes.io; listen 80; location / { rewrite ^/$ https://github.com/kubernetes/kubernetes/releases redirect; rewrite ^/k8s-release-cal https://calendar.google.com/calendar/embed?src=kipmnllvl17vl9m98jen6ujcrs%40group.calendar.google.com redirect; rewrite ^/k8s-sig-release-videos https://youtube.com/playlist?list=PL69nYSiGNLP3QKkOsDsO6A0Y1rhgP84iZ&si=Mi095CYuJuz8LjN- redirect; rewrite ^/v([0-9])([0-9]+)/([a-zA-Z]+)$ https://github.com/kubernetes/sig-release/tree/master/releases/release-$1.$2/links.md#$3 redirect; rewrite ^/([^/]*)(/.*)?$ https://github.com/kubernetes/kubernetes/tree/$1$2 redirect; } } server { server_name sbom.k8s.io sbom.kubernetes.io; listen 80; rewrite ^/(.*)?/release(\.cert|\.sig|\.sha256|\.sha512)?$ https://dl.k8s.io/release/$1/kubernetes-release.spdx$2 redirect; rewrite ^/(.*)?/source(\.cert|\.sig|\.sha256|\.sha512)?$ https://dl.k8s.io/release/$1/kubernetes-source.spdx$2 redirect; } server { server_name slack.k8s.io slack.kubernetes.io; listen 80; location / { rewrite ^/.*$ https://communityinviter.com/apps/kubernetes/community permanent; } } server { server_name submit-queue.k8s.io submit-queue.kubernetes.io; listen 80; location / { rewrite ^/.*$ https://prow.k8s.io/tide redirect; } } server { server_name yt.k8s.io youtube.k8s.io youtube.kubernetes.io yt.kubernetes.io; listen 80; location / { rewrite ^/.*$ https://www.youtube.com/c/kubernetescommunity redirect; } } }