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

workflows: move tasks container to ghcr.io #604

Merged
merged 2 commits into from
Mar 18, 2024
Merged

Conversation

allisonkarlitskaya
Copy link
Member

This speeds things up (due to having the runner closer to the registry) and simplifies credentials management: we'll be able to drop our quay.io environment after this.

Move the amd64 and manifest jobs back to GitHub so they can run on GitHub infra, closer to the container registry.

I already did a run of this and it worked nicely. See https://github.com/cockpit-project/cockpituous/actions/runs/8307247489 and https://github.com/orgs/cockpit-project/packages

I also started to try porting the container-file-updater-script to GitHub's API. That was fairly straight-forward, but with an important caveat: in its first iteration, it was not possible to use ghcr at all without a GitHub token, even on public repos. Since then, they've carved out enough of an exception to allow podman pull to function, but iterating over available tags via the REST API (or the docker protocol one) is still not possible without a token... :(

@martinpitt
Copy link
Member

A bit early to review the precise diff, as this needs lots of other places changed (Ansible, install-service, integration tests, documentation, etc.) But I do agree to moving it to ghcr.io.

@allisonkarlitskaya how about this, to avoid having to log in?

❱❱ skopeo list-tags --tls-verify --no-creds docker://ghcr.io/cockpit-project/tasks
{
    "Repository": "ghcr.io/cockpit-project/tasks",
    "Tags": [
        "2024-03-16",
        "latest"
    ]
}

@allisonkarlitskaya
Copy link
Member Author

A bit early to review the precise diff, as this needs lots of other places changed (Ansible, install-service, integration tests, documentation, etc.) But I do agree to moving it to ghcr.io.

@allisonkarlitskaya how about this, to avoid having to log in?

❱❱ skopeo list-tags --tls-verify --no-creds docker://ghcr.io/cockpit-project/tasks
{
    "Repository": "ghcr.io/cockpit-project/tasks",
    "Tags": [
        "2024-03-16",
        "latest"
    ]
}

This is wonderful, thanks!!

This speeds things up (due to having the runner closer to the registry)
and simplifies credentials management: we'll be able to drop our quay.io
environment after this.

Move the amd64 and manifest jobs back to GitHub so they can run on
GitHub infra, closer to the container registry.
The tasks container is now on ghcr.io, not quay.io.  Update everything
that refers to it.

This was mostly a sed patch (with exceptions for related URLs in docs).
@martinpitt martinpitt marked this pull request as ready for review March 18, 2024 10:14
Copy link
Member

@martinpitt martinpitt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! After this and cockpit-project/bots#6095 we need to update our projects to pull in the new tasks container, and updating their container update workflow for the renamed script.

@allisonkarlitskaya allisonkarlitskaya merged commit 1316cd4 into main Mar 18, 2024
3 checks passed
@allisonkarlitskaya allisonkarlitskaya deleted the ghcr-tasks branch March 18, 2024 10:19
@martinpitt
Copy link
Member

I deployed that change to our infra now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants