diff --git a/.github/workflows/generate-manifest.yml b/.github/workflows/generate-manifest.yml index f115ac4a..1d8afc67 100644 --- a/.github/workflows/generate-manifest.yml +++ b/.github/workflows/generate-manifest.yml @@ -6,20 +6,28 @@ on: - main workflow_dispatch: +permissions: + contents: write + packages: write + jobs: build-and-commit: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - - name: Log into registry - run: echo "${{ secrets.REGISTRYPASSWORD }}" | docker login registry.nordix.org -u ${{ secrets.REGISTRYUSERNAME }} --password-stdin + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Clean workspace run: | rm -r dist | true - name: Generate manifest file run: | - IMAGE_ID=registry.nordix.org/eiffel/etos-controller + IMAGE_ID=ghcr.io/eiffel-community/etos-controller # Strip git ref prefix from version VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') # Strip "v" prefix from tag name diff --git a/Makefile b/Makefile index 1b58704e..8ca8fec4 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # Image URL to use all building/pushing image targets -IMG ?= registry.nordix.org/eiffel/etos-controller:latest +IMG ?= ghcr.io/eiffel-community/etos-controller:latest # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. ENVTEST_K8S_VERSION = 1.30.0 diff --git a/api/v1alpha1/cluster_types.go b/api/v1alpha1/cluster_types.go index 9feb1991..56dab89a 100644 --- a/api/v1alpha1/cluster_types.go +++ b/api/v1alpha1/cluster_types.go @@ -223,25 +223,25 @@ type ETOSConfig struct { // ETOS describes the deployment of an ETOS cluster. type ETOS struct { - // +kubebuilder:default={"image": "registry.nordix.org/eiffel/etos-api:latest"} + // +kubebuilder:default={"image": "ghcr.io/eiffel-community/etos-api:latest"} // +optional API ETOSAPI `json:"api"` - // +kubebuilder:default={"image": "registry.nordix.org/eiffel/etos-sse:latest"} + // +kubebuilder:default={"image": "ghcr.io/eiffel-community/etos-sse:latest"} // +optional SSE ETOSSSE `json:"sse"` - // +kubebuilder:default={"image": "registry.nordix.org/eiffel/etos-log-area:latest"} + // +kubebuilder:default={"image": "ghcr.io/eiffel-community/etos-log-area:latest"} // +optional LogArea ETOSLogArea `json:"logArea"` - // +kubebuilder:default={"image": "registry.nordix.org/eiffel/etos-suite-runner:latest", "logListener": {"image": "registry.nordix.org/eiffel/etos-log-listener:latest"}} + // +kubebuilder:default={"image": "ghcr.io/eiffel-community/etos-suite-runner:latest", "logListener": {"image": "ghcr.io/eiffel-community/etos-log-listener:latest"}} // +optional SuiteRunner ETOSSuiteRunner `json:"suiteRunner"` // +kubebuilder:default={"version": "latest"} // +optional TestRunner ETOSTestRunner `json:"testRunner"` - // +kubebuilder:default={"image": "registry.nordix.org/eiffel/etos-suite-starter:latest"} + // +kubebuilder:default={"image": "ghcr.io/eiffel-community/etos-suite-starter:latest"} // +optional SuiteStarter ETOSSuiteStarter `json:"suiteStarter"` - // +kubebuilder:default={"image": "registry.nordix.org/eiffel/etos-environment-provider:latest"} + // +kubebuilder:default={"image": "ghcr.io/eiffel-community/etos-environment-provider:latest"} // +optional EnvironmentProvider ETOSEnvironmentProvider `json:"environmentProvider"` Ingress Ingress `json:"ingress,omitempty"` diff --git a/config/crd/bases/etos.eiffel-community.github.io_clusters.yaml b/config/crd/bases/etos.eiffel-community.github.io_clusters.yaml index 90a0c488..fd419161 100644 --- a/config/crd/bases/etos.eiffel-community.github.io_clusters.yaml +++ b/config/crd/bases/etos.eiffel-community.github.io_clusters.yaml @@ -206,7 +206,7 @@ spec: type: object environmentProvider: default: - image: registry.nordix.org/eiffel/etos-environment-provider:latest + image: ghcr.io/eiffel-community/etos-environment-provider:latest description: ETOSEnvironmentProvider describes the deployment of an ETOS environment provider. properties: @@ -238,7 +238,7 @@ spec: type: object logArea: default: - image: registry.nordix.org/eiffel/etos-log-area:latest + image: ghcr.io/eiffel-community/etos-log-area:latest description: ETOSLogArea describes th deployment of an ETOS log area API. properties: @@ -254,7 +254,7 @@ spec: type: object sse: default: - image: registry.nordix.org/eiffel/etos-sse:latest + image: ghcr.io/eiffel-community/etos-sse:latest description: ETOSSSE describes th deployment of an ETOS Server Sent Events API. properties: @@ -270,9 +270,9 @@ spec: type: object suiteRunner: default: - image: registry.nordix.org/eiffel/etos-suite-runner:latest + image: ghcr.io/eiffel-community/etos-suite-runner:latest logListener: - image: registry.nordix.org/eiffel/etos-log-listener:latest + image: ghcr.io/eiffel-community/etos-log-listener:latest description: ETOSSuiteRunner describes the deployment of an ETOS suite runner. properties: @@ -309,7 +309,7 @@ spec: type: object suiteStarter: default: - image: registry.nordix.org/eiffel/etos-suite-starter:latest + image: ghcr.io/eiffel-community/etos-suite-starter:latest description: ETOSSuiteStarter describes the deployment of an ETOS suite starter. properties: diff --git a/config/manager/kustomization.yaml b/config/manager/kustomization.yaml index eadc6e4d..a9ccbdfb 100644 --- a/config/manager/kustomization.yaml +++ b/config/manager/kustomization.yaml @@ -4,5 +4,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization images: - name: controller - newName: registry.nordix.org/eiffel/etos-controller + newName: ghcr.io/eiffel-community/etos-controller newTag: 5becd344 diff --git a/config/samples/etos_v1alpha1_cluster.yaml b/config/samples/etos_v1alpha1_cluster.yaml index 7740833e..8233b70e 100644 --- a/config/samples/etos_v1alpha1_cluster.yaml +++ b/config/samples/etos_v1alpha1_cluster.yaml @@ -8,11 +8,11 @@ metadata: spec: etos: api: - image: "registry.nordix.org/eiffel/etos-api:672f982e" + image: "ghcr.io/eiffel-community/etos-api:672f982e" sse: - image: "registry.nordix.org/eiffel/etos-sse:672f982e" + image: "ghcr.io/eiffel-community/etos-sse:672f982e" logArea: - image: "registry.nordix.org/eiffel/etos-logarea:672f982e" + image: "ghcr.io/eiffel-community/etos-logarea:672f982e" ingress: enabled: true database: diff --git a/internal/etos/suitestarter/suitestarter.go b/internal/etos/suitestarter/suitestarter.go index 82e2a7a9..05dc3da8 100644 --- a/internal/etos/suitestarter/suitestarter.go +++ b/internal/etos/suitestarter/suitestarter.go @@ -605,7 +605,7 @@ func (r *ETOSSuiteStarterDeployment) suiteRunnerTemplate(templateName types.Name - mountPath: /kubexit name: kubexit - name: create-queue - image: registry.nordix.org/eiffel/etos-log-listener:4969c9b2 + image: ghcr.io/eiffel-community/etos-log-listener:4969c9b2 command: ["python", "-u", "-m", "create_queue"] envFrom: - secretRef: diff --git a/manifests/controller/install.yaml b/manifests/controller/install.yaml index 04530c1c..a36344d5 100644 --- a/manifests/controller/install.yaml +++ b/manifests/controller/install.yaml @@ -82,7 +82,7 @@ spec: properties: api: default: - image: registry.nordix.org/eiffel/etos-api:latest + image: ghcr.io/eiffel-community/etos-api:latest description: ETOSAPI describes the deployment of the ETOS API. properties: executionSpaceProviderSecret: @@ -215,7 +215,7 @@ spec: type: object environmentProvider: default: - image: registry.nordix.org/eiffel/etos-environment-provider:latest + image: ghcr.io/eiffel-community/etos-environment-provider:latest description: ETOSEnvironmentProvider describes the deployment of an ETOS environment provider. properties: @@ -247,7 +247,7 @@ spec: type: object logArea: default: - image: registry.nordix.org/eiffel/etos-log-area:latest + image: ghcr.io/eiffel-community/etos-log-area:latest description: ETOSLogArea describes th deployment of an ETOS log area API. properties: @@ -263,7 +263,7 @@ spec: type: object sse: default: - image: registry.nordix.org/eiffel/etos-sse:latest + image: ghcr.io/eiffel-community/etos-sse:latest description: ETOSSSE describes th deployment of an ETOS Server Sent Events API. properties: @@ -279,9 +279,9 @@ spec: type: object suiteRunner: default: - image: registry.nordix.org/eiffel/etos-suite-runner:latest + image: ghcr.io/eiffel-community/etos-suite-runner:latest logListener: - image: registry.nordix.org/eiffel/etos-log-listener:latest + image: ghcr.io/eiffel-community/etos-log-listener:latest description: ETOSSuiteRunner describes the deployment of an ETOS suite runner. properties: @@ -318,7 +318,7 @@ spec: type: object suiteStarter: default: - image: registry.nordix.org/eiffel/etos-suite-starter:latest + image: ghcr.io/eiffel-community/etos-suite-starter:latest description: ETOSSuiteStarter describes the deployment of an ETOS suite starter. properties: @@ -3250,7 +3250,7 @@ spec: - --health-probe-bind-address=:8081 command: - /manager - image: registry.nordix.org/eiffel/etos-controller:5becd344 + image: ghcr.io/eiffel-community/etos-controller:5becd344 livenessProbe: httpGet: path: /healthz diff --git a/skaffold.yaml b/skaffold.yaml index 28960919..56c9d689 100644 --- a/skaffold.yaml +++ b/skaffold.yaml @@ -4,7 +4,7 @@ metadata: name: etos build: artifacts: - - image: registry.nordix.org/eiffel/etos-controller + - image: ghcr.io/eiffel-community/etos-controller docker: dockerfile: Dockerfile hooks: