diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 5e42ad949..5cef07377 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -212,11 +212,16 @@ jobs: id: semver with: version: ${{ steps.tag.outputs.VERSION }} - - name: Git Release + - name: Create Release if: startsWith(github.ref, 'refs/tags/') - uses: anton-yurchenko/git-release@v4 - env: - PRE_RELEASE: "${{ steps.semver.outputs.prerelease }}" - ALLOW_EMPTY_CHANGELOG: "false" + uses: ncipollo/release-action@v1 with: - args: _dist/* + allowUpdates: true + artifactErrorsFailBuild: true + artifacts: _dist/* + discussionCategory: releases + generateReleaseNotes: true + prerelease: ${{ steps.semver.outputs.prerelease != '' }} + replacesArtifacts: true + token: ${{ secrets.GITHUB_TOKEN }} + diff --git a/Makefile b/Makefile index 586653c06..6732441fd 100644 --- a/Makefile +++ b/Makefile @@ -135,12 +135,12 @@ build-docker-%: build-helper-images: build-proxy-image build-tools-image build-proxy-image: - @echo "Building docker image rancher/k3d-proxy:$(K3D_IMAGE_TAG)" - DOCKER_BUILDKIT=1 docker build --quiet --no-cache proxy/ -f proxy/Dockerfile -t rancher/k3d-proxy:$(K3D_IMAGE_TAG) + @echo "Building docker image ghcr.io/k3d-io/k3d-proxy:$(K3D_IMAGE_TAG)" + DOCKER_BUILDKIT=1 docker build --quiet --no-cache proxy/ -f proxy/Dockerfile -t ghcr.io/k3d-io/k3d-proxy:$(K3D_IMAGE_TAG) build-tools-image: - @echo "Building docker image rancher/k3d-tools:$(K3D_IMAGE_TAG)" - DOCKER_BUILDKIT=1 docker build --quiet --no-cache tools/ -f tools/Dockerfile -t rancher/k3d-tools:$(K3D_IMAGE_TAG) --build-arg GIT_TAG=$(GIT_TAG) + @echo "Building docker image ghcr.io/k3d-io/k3d-tools:$(K3D_IMAGE_TAG)" + DOCKER_BUILDKIT=1 docker build --quiet --no-cache tools/ -f tools/Dockerfile -t ghcr.io/k3d-io/k3d-tools:$(K3D_IMAGE_TAG) --build-arg GIT_TAG=$(GIT_TAG) ############################## ########## Cleaning ########## diff --git a/dind-manifest.tmpl b/dind-manifest.tmpl deleted file mode 100644 index 600c56136..000000000 --- a/dind-manifest.tmpl +++ /dev/null @@ -1,27 +0,0 @@ -image: rancher/k3d:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-dind -{{#if build.tags}} -tags: -{{#each build.tags}} - - {{this}} -{{/each}} -{{/if}} -manifests: - - image: rancher/k3d:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}dind-linux-amd64 - platform: - architecture: amd64 - os: linux - - image: rancher/k3d:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}dind-linux-arm64 - platform: - variant: v8 - architecture: arm64 - os: linux - - image: rancher/k3d:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}dind-linux-arm - platform: - variant: v7 - architecture: arm - os: linux - - image: rancher/k3d:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}dind-linux-arm - platform: - variant: v6 - architecture: arm - os: linux diff --git a/docs/design/project.md b/docs/design/project.md index f3f4b8199..7cc3520f1 100644 --- a/docs/design/project.md +++ b/docs/design/project.md @@ -20,13 +20,13 @@ On this page we'll try to give an overview of all the moving bits and pieces in - all function calls within [`cmd/`](https://github.com/k3d-io/k3d/tree/main/cmd) that do non-trivial things are imported from here - this (or rather sub-packages) is what other projects would import as a module to work with k3d without using the CLI - [`proxy/`](https://github.com/k3d-io/k3d/tree/main/proxy) - - configuration to build the [`rancher/k3d-proxy`](https://hub.docker.com/r/rancher/k3d-proxy/) container image which is used as a loadbalancer/proxy in front of (almost) every k3d cluster + - configuration to build the [`k3d-io/k3d-proxy`](https://github.com/k3d-io/k3d/pkgs/container/k3d-proxy) container image which is used as a loadbalancer/proxy in front of (almost) every k3d cluster - this is basically just a combination of NGINX with confd and some k3d-specific configuration details - [`tests/`](https://github.com/k3d-io/k3d/tree/main/tests) - a set of bash scripts used for end-to-end (E2E) tests of k3d - mostly used for all the functionality of the k3d CLI which cannot be tested using Go unit tests - [`tools/`](https://github.com/k3d-io/k3d/tree/main/tools) - - sub-module used to build the [`rancher/k3d-tools`](https://hub.docker.com/r/rancher/k3d-tools) container image which supports some k3d functionality like `k3d image import` + - sub-module used to build the [`k3d-io/k3d-tools`](https://github.com/k3d-io/k3d/pkgs/container/k3d-tools) container image which supports some k3d functionality like `k3d image import` - [`vendor/`](https://github.com/k3d-io/k3d/tree/main/vendor) - result of `go mod vendor`, which contains all dependencies of k3d - [`version/`](https://github.com/k3d-io/k3d/tree/main/version) @@ -49,7 +49,7 @@ On this page we'll try to give an overview of all the moving bits and pieces in - interface and implementations of runtimes that power k3d (currently, that's only Docker) - functions in [`client/`](https://github.com/k3d-io/k3d/tree/main/pkg/client) eventually call runtime functions to "materialize" nodes and clusters - [`tools/`](https://github.com/k3d-io/k3d/tree/main/pkg/tools) - - functions eventually calling the [`k3d-tools`](https://hub.docker.com/r/rancher/k3d-tools) container (see [`tools/`](https://github.com/k3d-io/k3d/tree/main/tools) in the repo root) + - functions eventually calling the [`k3d-tools`](https://github.com/k3d-io/k3d/pkgs/container/k3d-tools) container (see [`tools/`](https://github.com/k3d-io/k3d/tree/main/tools) in the repo root) - [`types/`](https://github.com/k3d-io/k3d/tree/main/pkg/types) - definition of all k3d primitives and many other details and defaults - e.g. contains the definition of a `Node` or a `Cluster` in k3d @@ -62,7 +62,7 @@ By default, every k3d cluster consists of at least 2 containers (nodes): 1. (optional, but default and strongly recommended) loadbalancer - - image: [`rancher/k3d-proxy`](https://hub.docker.com/r/rancher/k3d-proxy/), built from [`proxy/`](https://github.com/k3d-io/k3d/tree/main/proxy) + - image: [`ghcr.io/k3d-io/k3d-proxy`](https://github.com/k3d-io/k3d/pkgs/container/k3d-proxy), built from [`proxy/`](https://github.com/k3d-io/k3d/tree/main/proxy) - purpose: proxy and load balance requests from the outside (i.e. most of the times your local host) to the cluster - by default, it e.g. proxies all the traffic for the Kubernetes API to port `6443` (default listening port of K3s) to all the server nodes in the cluster - can be used for multiple port-mappings to one or more nodes in your cluster @@ -91,16 +91,12 @@ The k3d repository mainly leverages the following two CI systems: - GitHub Actions - 2 workflows in to push the artifact to AUR (Arch Linux User Repository) - logs/history can be seen in the Actions tab: -- DroneCI - - a set of pipelines in a single file: - static code analysis - build - tests - docker builds + pushes - render + push docs - (pre-) release to GitHub - - `push` events end up here (also does the releases, when a tag is pushed): - - `pr`s end up here: ## Documentation diff --git a/docs/usage/advanced/podman.md b/docs/usage/advanced/podman.md index 0721fe1bf..92d224d59 100644 --- a/docs/usage/advanced/podman.md +++ b/docs/usage/advanced/podman.md @@ -3,7 +3,7 @@ Podman has an [Docker API compatibility layer](https://podman.io/blogs/2020/06/29/podman-v2-announce.html#restful-api). k3d uses the Docker API and is compatible with Podman v4 and higher. !!! important "Podman support is experimental" - k3d is not guaranteed to work with Podman. If you find a bug, do help by [filing an issue](https://github.com/rancher/k3d/issues/new?labels=bug&template=bug_report.md&title=%5BBUG%5D+Podman) + k3d is not guaranteed to work with Podman. If you find a bug, do help by [filing an issue](https://github.com/k3d-io/k3d/issues/new?labels=bug&template=bug_report.md&title=%5BBUG%5D+Podman) ## Using Podman diff --git a/manifest.tmpl b/manifest.tmpl deleted file mode 100644 index dc73c6767..000000000 --- a/manifest.tmpl +++ /dev/null @@ -1,27 +0,0 @@ -image: rancher/k3d:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}} -{{#if build.tags}} -tags: -{{#each build.tags}} - - {{this}} -{{/each}} -{{/if}} -manifests: - - image: rancher/k3d:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-amd64 - platform: - architecture: amd64 - os: linux - - image: rancher/k3d:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm64 - platform: - variant: v8 - architecture: arm64 - os: linux - - image: rancher/k3d:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm - platform: - variant: v7 - architecture: arm - os: linux - - image: rancher/k3d:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm - platform: - variant: v6 - architecture: arm - os: linux diff --git a/pkg/types/images.go b/pkg/types/images.go index f4faa8b46..a34564119 100644 --- a/pkg/types/images.go +++ b/pkg/types/images.go @@ -34,10 +34,10 @@ import ( const DefaultK3sImageRepo = "docker.io/rancher/k3s" // DefaultLBImageRepo defines the default cluster load balancer image -const DefaultLBImageRepo = "docker.io/rancher/k3d-proxy" +const DefaultLBImageRepo = "ghcr.io/k3d-io/k3d-proxy" // DefaultToolsImageRepo defines the default image used for the tools container -const DefaultToolsImageRepo = "docker.io/rancher/k3d-tools" +const DefaultToolsImageRepo = "ghcr.io/k3d-io/k3d-tools" // DefaultRegistryImageRepo defines the default image used for the k3d-managed registry const DefaultRegistryImageRepo = "docker.io/library/registry" diff --git a/proxy/Makefile b/proxy/Makefile index 53b943de3..6fd94a633 100644 --- a/proxy/Makefile +++ b/proxy/Makefile @@ -1,5 +1,5 @@ .PHONY: test test: - docker build . -t rancher/k3d-proxy:dev --no-cache - docker run --rm -v $(shell pwd)/test/portmap.yaml:/etc/confd/values.yaml rancher/k3d-proxy:dev \ No newline at end of file + docker build . -t ghcr.io/k3d-io/k3d-proxy:dev --no-cache + docker run --rm -v $(shell pwd)/test/portmap.yaml:/etc/confd/values.yaml ghcr.io/k3d-io/k3d-proxy:dev diff --git a/proxy/manifest.tmpl b/proxy/manifest.tmpl deleted file mode 100644 index 0dd79bc61..000000000 --- a/proxy/manifest.tmpl +++ /dev/null @@ -1,27 +0,0 @@ -image: rancher/k3d-proxy:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}} -{{#if build.tags}} -tags: -{{#each build.tags}} - - {{this}} -{{/each}} -{{/if}} -manifests: - - image: rancher/k3d-proxy:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-amd64 - platform: - architecture: amd64 - os: linux - - image: rancher/k3d-proxy:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm64 - platform: - variant: v8 - architecture: arm64 - os: linux - - image: rancher/k3d-proxy:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm - platform: - variant: v7 - architecture: arm - os: linux - - image: rancher/k3d-proxy:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm - platform: - variant: v6 - architecture: arm - os: linux diff --git a/tools/manifest.tmpl b/tools/manifest.tmpl deleted file mode 100644 index d762785cd..000000000 --- a/tools/manifest.tmpl +++ /dev/null @@ -1,27 +0,0 @@ -image: rancher/k3d-tools:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}} -{{#if build.tags}} -tags: -{{#each build.tags}} - - {{this}} -{{/each}} -{{/if}} -manifests: - - image: rancher/k3d-tools:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-amd64 - platform: - architecture: amd64 - os: linux - - image: rancher/k3d-tools:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm64 - platform: - variant: v8 - architecture: arm64 - os: linux - - image: rancher/k3d-tools:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm - platform: - variant: v7 - architecture: arm - os: linux - - image: rancher/k3d-tools:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm - platform: - variant: v6 - architecture: arm - os: linux