Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OCI registry as alternative to storing release assets in Github #157

Closed
1 of 2 tasks
guettli opened this issue May 23, 2024 · 0 comments · Fixed by #238
Closed
1 of 2 tasks

OCI registry as alternative to storing release assets in Github #157

guettli opened this issue May 23, 2024 · 0 comments · Fixed by #238
Assignees
Labels
Container Issues or pull requests relevant for Team 2: Container Infra and Tooling
Milestone

Comments

@guettli
Copy link
Contributor

guettli commented May 23, 2024

/kind feature

OCI registry as alternative to storing release assets in Github

We want to add a new plugin to OCI registries, to allow a generic form of storing release assets that is not dependent on a certain provider (e.g. Github).

For this, we need multiple steps.

  1. We have to re-write current code that is Github-specific. We already have an interface approach, which is good, but the interface contains Github-specific code, which we have to change.
  2. We rename the interface to a generic naming pattern that is not Githubspecific.
  3. We add a new implementation of the existing interface, so that we have Github and OCI.

We will use the Go package https://github.com/oras-project/oras-go.

The interface will look something like this:

type Client interface {
    ListRelease(ctx context.Context) ([]string, error)
    DownloadReleaseAssets(ctx context.Context, releaseTag, path string) error
}

We can use the method https://pkg.go.dev/oras.land/oras-go/v2/registry/remote#example-Repository.Tags to list releases and https://pkg.go.dev/oras.land/oras-go/v2#example-Copy-RemoteToLocal to download the assets.

Tasks

@janiskemper janiskemper added the Container Issues or pull requests relevant for Team 2: Container Infra and Tooling label May 23, 2024
@janiskemper janiskemper moved this from Backlog to Doing in Sovereign Cloud Stack May 24, 2024
@jschoone jschoone added the epic Issues that are spread across multiple sprints label May 28, 2024
@jschoone jschoone removed the epic Issues that are spread across multiple sprints label Jun 25, 2024
@jschoone jschoone added this to the R7 (v8.0.0) milestone Jul 12, 2024
@jschoone jschoone moved this from Doing to In Review in Sovereign Cloud Stack Aug 8, 2024
@github-project-automation github-project-automation bot moved this from In Review to Done in Sovereign Cloud Stack Sep 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Container Issues or pull requests relevant for Team 2: Container Infra and Tooling
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants