release icon indicating copy to clipboard operation
release copied to clipboard

Revisit the release notes index.

Open ameukam opened this issue 1 year ago • 1 comments

We should stop use the GCS protocol for any URI part of the release notes index.

Currently:

curl -sSL https://dl.k8s.io/release/release-notes-index.json | jq '.' | grep '1.31'
  "v1.31.0": "gs://kubernetes-release/release/v1.31.0/release-notes.json",
  "v1.31.0-alpha.1": "gs://kubernetes-release/release/v1.31.0-alpha.1/release-notes.json",
  "v1.31.0-alpha.2": "gs://kubernetes-release/release/v1.31.0-alpha.2/release-notes.json",
  "v1.31.0-alpha.3": "gs://kubernetes-release/release/v1.31.0-alpha.3/release-notes.json",
  "v1.31.0-beta.0": "gs://kubernetes-release/release/v1.31.0-beta.0/release-notes.json",
  "v1.31.0-rc.0": "gs://kubernetes-release/release/v1.31.0-rc.0/release-notes.json",
  "v1.31.0-rc.1": "gs://kubernetes-release/release/v1.31.0-rc.1/release-notes.json"

Deprecation of gs://kubernetes-release (See https://github.com/kubernetes/k8s.io/issues/2396) will likely prevent release notes to be consumed using the GCS protocol.

cc @kubernetes/release-engineering

/priority important-longterm

ameukam avatar Aug 21 '24 15:08 ameukam

@ameukam we can probably migrate the JSON to use the plain URL. Right now the release notes website does a conversion like this:

  /**
   * Get cdn.dl.k8s.io path from gs:// url in release index.
   *
   * @returns Transformed URL
   */
  private cdnLinkFromGsPath(path: string): string {
    const regex = /^gs:\/\/[\w-/.]*\.json$/;
    if (!path.match(regex)) {
      throw new Error(`Asset path from remote index "${path}" does not match regex ${regex}`);
    }
    return path.replace(/^gs:\/\/[\w-]*\//, 'https://cdn.dl.k8s.io/');
  }
}

Ref: https://github.com/kubernetes-sigs/release-notes/blob/a0cac340fd14e709cf5313f87106134b8d7f63e4/src/app/notes/notes.service.ts#L100-L112

saschagrunert avatar Aug 28 '24 11:08 saschagrunert