From 49562003aadbcf541cf04f31d9224989de9079c1 Mon Sep 17 00:00:00 2001 From: 012xx Date: Fri, 27 Mar 2026 08:45:19 +0000 Subject: [PATCH 1/9] Update image repositories to use cybozu-go --- Dockerfile | 2 +- charts/website-operator/values.yaml | 4 ++-- config/manager/manager.yaml | 4 ++-- config/release/manager.yaml | 2 +- config/release/ui.yaml | 2 +- config/ui/ui.yaml | 2 +- e2e/manifests/manager/ui.yaml | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index fba5dab4..9ed2a876 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM ghcr.io/zoetrope/ubuntu:22.04 as base -LABEL org.opencontainers.image.source=https://github.com/zoetrope/website-operator +LABEL org.opencontainers.image.source=https://github.com/cybozu-go/website-operator FROM base as website-operator COPY website-operator / diff --git a/charts/website-operator/values.yaml b/charts/website-operator/values.yaml index 2d9f3df6..b287e1d8 100644 --- a/charts/website-operator/values.yaml +++ b/charts/website-operator/values.yaml @@ -1,6 +1,6 @@ controller: image: - repository: ghcr.io/zoetrope/website-operator + repository: ghcr.io/cybozu-go/website-operator tag: app-version-placeholder replicas: 1 config: @@ -13,7 +13,7 @@ controller: bindAddress: 127.0.0.1:8080 ui: image: - repository: ghcr.io/zoetrope/website-operator-ui + repository: ghcr.io/cybozu-go/website-operator-ui tag: app-version-placeholder replicas: 1 service: diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index 66a26ec7..f1e13369 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -31,8 +31,8 @@ spec: - /website-operator args: - --leader-elect - - --repochecker-container-image=ghcr.io/zoetrope/repo-checker:dev - image: ghcr.io/zoetrope/website-operator:dev + - --repochecker-container-image=ghcr.io/cybozu-go/repo-checker:dev + image: ghcr.io/cybozu-go/website-operator:dev name: manager securityContext: allowPrivilegeEscalation: false diff --git a/config/release/manager.yaml b/config/release/manager.yaml index fe641a42..96cba53a 100644 --- a/config/release/manager.yaml +++ b/config/release/manager.yaml @@ -11,5 +11,5 @@ spec: - /website-operator args: - --leader-elect - image: ghcr.io/zoetrope/website-operator:dev + image: ghcr.io/cybozu-go/website-operator:dev name: manager diff --git a/config/release/ui.yaml b/config/release/ui.yaml index 09878029..9b5af729 100644 --- a/config/release/ui.yaml +++ b/config/release/ui.yaml @@ -11,5 +11,5 @@ spec: - /website-operator-ui args: - --allow-cors=false - image: ghcr.io/zoetrope/website-operator-ui:dev + image: ghcr.io/cybozu-go/website-operator-ui:dev name: ui diff --git a/config/ui/ui.yaml b/config/ui/ui.yaml index 77ac1757..1349a4d1 100644 --- a/config/ui/ui.yaml +++ b/config/ui/ui.yaml @@ -20,7 +20,7 @@ spec: - /website-operator-ui args: - --allow-cors=true - image: ghcr.io/zoetrope/website-operator-ui:dev + image: ghcr.io/cybozu-go/website-operator-ui:dev name: ui ports: - name: http diff --git a/e2e/manifests/manager/ui.yaml b/e2e/manifests/manager/ui.yaml index fbee2462..b1c33014 100644 --- a/e2e/manifests/manager/ui.yaml +++ b/e2e/manifests/manager/ui.yaml @@ -8,4 +8,4 @@ spec: spec: containers: - name: ui - image: ghcr.io/zoetrope/website-operator-ui:dev-amd64 + image: ghcr.io/cybozu-go/website-operator-ui:dev-amd64 From dc9de31df591a00a4302c964114f13fbf68d662a Mon Sep 17 00:00:00 2001 From: 012xx Date: Fri, 27 Mar 2026 08:45:41 +0000 Subject: [PATCH 2/9] Update image repositories to use cybozu --- Dockerfile | 2 +- controllers/website_controller_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9ed2a876..14d5f456 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ghcr.io/zoetrope/ubuntu:22.04 as base +FROM ghcr.io/cybozu/ubuntu:22.04 as base LABEL org.opencontainers.image.source=https://github.com/cybozu-go/website-operator diff --git a/controllers/website_controller_test.go b/controllers/website_controller_test.go index af11ce6c..1cd13043 100644 --- a/controllers/website_controller_test.go +++ b/controllers/website_controller_test.go @@ -376,7 +376,7 @@ metadata: spec: containers: - name: ubuntu - image: ghcr.io/zoetrope/ubuntu:22.04 + image: ghcr.io/cybozu/ubuntu:22.04 command: ["/usr/local/bin/pause"] `, } From dea7ac7535c347cf589f3bedd73de3c17c0dc018 Mon Sep 17 00:00:00 2001 From: 012xx Date: Thu, 16 Apr 2026 01:34:21 +0000 Subject: [PATCH 3/9] update: use 24.04 --- controllers/website_controller_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/controllers/website_controller_test.go b/controllers/website_controller_test.go index 1cd13043..061a16fa 100644 --- a/controllers/website_controller_test.go +++ b/controllers/website_controller_test.go @@ -376,7 +376,7 @@ metadata: spec: containers: - name: ubuntu - image: ghcr.io/cybozu/ubuntu:22.04 + image: ghcr.io/cybozu/ubuntu:24.04 command: ["/usr/local/bin/pause"] `, } @@ -482,6 +482,7 @@ spec: err := k8sClient.Create(ctx, site) Expect(err).NotTo(HaveOccurred()) + job := batchv1.Job{} Eventually(func() error { return k8sClient.Get(ctx, client.ObjectKey{Namespace: "test", Name: "mysite"}, &job) From 803fefc4180687d4f28088150a37a4580f999bc9 Mon Sep 17 00:00:00 2001 From: 012xx Date: Thu, 16 Apr 2026 08:05:24 +0000 Subject: [PATCH 4/9] fix: update base image to ghcr.io/cybozu/ubuntu:24.04 and install git for repo-checker --- Dockerfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 14d5f456..ba290234 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ghcr.io/cybozu/ubuntu:22.04 as base +FROM ghcr.io/cybozu/ubuntu:24.04 as base LABEL org.opencontainers.image.source=https://github.com/cybozu-go/website-operator @@ -8,6 +8,9 @@ USER 10000:10000 ENTRYPOINT ["/website-operator"] FROM base as repo-checker +RUN apt-get update \ + && apt-get install -y --no-install-recommends git openssh-client \ + && rm -rf /var/lib/apt/lists/* COPY repo-checker / USER 10000:10000 ENTRYPOINT ["/repo-checker"] From 6c272fb2a6dd34c23658adc839cc2aae727d6b42 Mon Sep 17 00:00:00 2001 From: 012xx Date: Fri, 17 Apr 2026 01:54:29 +0000 Subject: [PATCH 5/9] Migrate to GoReleaser dockers_v2 for simplified multi-arch builds - Replace deprecated dockers/docker_manifests with unified dockers_v2 - Update Dockerfile for platform-aware binary copying with $TARGETPLATFORM - Filter e2e build platforms to match host architecture --- .goreleaser.yml | 136 +++++++++++++++--------------------------------- Dockerfile | 9 ++-- e2e/Makefile | 5 +- 3 files changed, 53 insertions(+), 97 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index aad9efdf..27e5cbe0 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -43,118 +43,68 @@ builds: before: hooks: - make frontend -dockers: - - image_templates: - - "ghcr.io/cybozu-go/website-operator:{{ .Version }}-amd64" - use: buildx - dockerfile: ./Dockerfile - ids: - - website-operator - extra_files: - - LICENSE - build_flag_templates: - - "--target=website-operator" - - "--platform=linux/amd64" - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - image_templates: - - "ghcr.io/cybozu-go/website-operator:{{ .Version }}-arm64" - use: buildx +dockers_v2: + - id: website-operator dockerfile: ./Dockerfile ids: - website-operator extra_files: - LICENSE - build_flag_templates: + images: + - "ghcr.io/cybozu-go/website-operator" + tags: + - "{{ .Version }}" + - "{{ .Major }}.{{ .Minor }}" + platforms: + - linux/amd64 + - linux/arm64 + labels: + org.opencontainers.image.created: "{{ .Date }}" + org.opencontainers.image.revision: "{{ .FullCommit }}" + org.opencontainers.image.version: "{{ .Version }}" + flags: - "--target=website-operator" - - "--platform=linux/arm64" - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - image_templates: - - "ghcr.io/cybozu-go/website-operator-ui:{{ .Version }}-amd64" - use: buildx - dockerfile: ./Dockerfile - ids: - - website-operator-ui - extra_files: - - LICENSE - - ui/frontend/dist - build_flag_templates: - - "--target=ui" - - "--platform=linux/amd64" - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - image_templates: - - "ghcr.io/cybozu-go/website-operator-ui:{{ .Version }}-arm64" - use: buildx + - id: website-operator-ui dockerfile: ./Dockerfile ids: - website-operator-ui extra_files: - LICENSE - ui/frontend/dist - build_flag_templates: + images: + - "ghcr.io/cybozu-go/website-operator-ui" + tags: + - "{{ .Version }}" + - "{{ .Major }}.{{ .Minor }}" + platforms: + - linux/amd64 + - linux/arm64 + labels: + org.opencontainers.image.created: "{{ .Date }}" + org.opencontainers.image.revision: "{{ .FullCommit }}" + org.opencontainers.image.version: "{{ .Version }}" + flags: - "--target=ui" - - "--platform=linux/arm64" - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - image_templates: - - "ghcr.io/cybozu-go/repo-checker:{{ .Version }}-amd64" - use: buildx - dockerfile: ./Dockerfile - ids: - - repo-checker - extra_files: - - LICENSE - build_flag_templates: - - "--target=repo-checker" - - "--platform=linux/amd64" - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - image_templates: - - "ghcr.io/cybozu-go/repo-checker:{{ .Version }}-arm64" - use: buildx + - id: repo-checker dockerfile: ./Dockerfile ids: - repo-checker extra_files: - LICENSE - build_flag_templates: + images: + - "ghcr.io/cybozu-go/repo-checker" + tags: + - "{{ .Version }}" + - "{{ .Major }}.{{ .Minor }}" + platforms: + - linux/amd64 + - linux/arm64 + labels: + org.opencontainers.image.created: "{{ .Date }}" + org.opencontainers.image.revision: "{{ .FullCommit }}" + org.opencontainers.image.version: "{{ .Version }}" + flags: - "--target=repo-checker" - - "--platform=linux/arm64" - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" -docker_manifests: - - name_template: "ghcr.io/cybozu-go/website-operator:{{ .Version }}" - image_templates: - - "ghcr.io/cybozu-go/website-operator:{{ .Version }}-amd64" - - "ghcr.io/cybozu-go/website-operator:{{ .Version }}-arm64" - - name_template: "ghcr.io/cybozu-go/website-operator:{{ .Major }}.{{ .Minor }}" - image_templates: - - "ghcr.io/cybozu-go/website-operator:{{ .Version }}-amd64" - - "ghcr.io/cybozu-go/website-operator:{{ .Version }}-arm64" - - name_template: "ghcr.io/cybozu-go/website-operator-ui:{{ .Version }}" - image_templates: - - "ghcr.io/cybozu-go/website-operator-ui:{{ .Version }}-amd64" - - "ghcr.io/cybozu-go/website-operator-ui:{{ .Version }}-arm64" - - name_template: "ghcr.io/cybozu-go/website-operator-ui:{{ .Major }}.{{ .Minor }}" - image_templates: - - "ghcr.io/cybozu-go/website-operator-ui:{{ .Version }}-amd64" - - "ghcr.io/cybozu-go/website-operator-ui:{{ .Version }}-arm64" - - name_template: "ghcr.io/cybozu-go/repo-checker:{{ .Version }}" - image_templates: - - "ghcr.io/cybozu-go/repo-checker:{{ .Version }}-amd64" - - "ghcr.io/cybozu-go/repo-checker:{{ .Version }}-arm64" - - name_template: "ghcr.io/cybozu-go/repo-checker:{{ .Major }}.{{ .Minor }}" - image_templates: - - "ghcr.io/cybozu-go/repo-checker:{{ .Version }}-amd64" - - "ghcr.io/cybozu-go/repo-checker:{{ .Version }}-arm64" checksum: name_template: 'checksums.txt' snapshot: diff --git a/Dockerfile b/Dockerfile index ba290234..77506847 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,20 +3,23 @@ FROM ghcr.io/cybozu/ubuntu:24.04 as base LABEL org.opencontainers.image.source=https://github.com/cybozu-go/website-operator FROM base as website-operator -COPY website-operator / +ARG TARGETPLATFORM +COPY $TARGETPLATFORM/website-operator / USER 10000:10000 ENTRYPOINT ["/website-operator"] FROM base as repo-checker +ARG TARGETPLATFORM RUN apt-get update \ && apt-get install -y --no-install-recommends git openssh-client \ && rm -rf /var/lib/apt/lists/* -COPY repo-checker / +COPY $TARGETPLATFORM/repo-checker / USER 10000:10000 ENTRYPOINT ["/repo-checker"] FROM base as ui +ARG TARGETPLATFORM COPY ui/frontend/dist /dist -COPY website-operator-ui / +COPY $TARGETPLATFORM/website-operator-ui / USER 10000:10000 ENTRYPOINT ["/website-operator-ui"] diff --git a/e2e/Makefile b/e2e/Makefile index fb9c2173..0e554a09 100644 --- a/e2e/Makefile +++ b/e2e/Makefile @@ -27,7 +27,10 @@ test: launch-kind load-images setup-cluster .PHONY: load-images load-images: - cd ../ && goreleaser release --clean --snapshot --skip=publish + cd ../ && cat .goreleaser.yml \ + | PLATFORM="linux/$(shell uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')" \ + yq '(.dockers_v2[].platforms) |= map(select(. == env(PLATFORM)))' \ + | goreleaser release -f - --clean --snapshot --skip=publish ID=$$(docker image inspect --format='{{.ID}}' $(REGISTRY)website-operator:dev-amd64); \ if [ ! "$$(docker exec -it $(KIND_CLUSTER_NAME)-control-plane ctr --namespace=k8s.io images list | grep $$ID)" ]; then \ kind load docker-image --name=$(KIND_CLUSTER_NAME) $(REGISTRY)website-operator:dev-amd64; \ From 7a381ab47177959a44f08d9ae1ca9fa72fdd69a5 Mon Sep 17 00:00:00 2001 From: 012xx Date: Fri, 17 Apr 2026 04:53:59 +0000 Subject: [PATCH 6/9] fix: review --- e2e/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/Makefile b/e2e/Makefile index 0e554a09..5ee45aeb 100644 --- a/e2e/Makefile +++ b/e2e/Makefile @@ -28,7 +28,7 @@ test: launch-kind load-images setup-cluster .PHONY: load-images load-images: cd ../ && cat .goreleaser.yml \ - | PLATFORM="linux/$(shell uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')" \ + | PLATFORM="linux/$$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')" \ yq '(.dockers_v2[].platforms) |= map(select(. == env(PLATFORM)))' \ | goreleaser release -f - --clean --snapshot --skip=publish ID=$$(docker image inspect --format='{{.ID}}' $(REGISTRY)website-operator:dev-amd64); \ From 9af682def2feb2dca108f883372997d65a86d6b2 Mon Sep 17 00:00:00 2001 From: 012xx Date: Fri, 17 Apr 2026 05:53:21 +0000 Subject: [PATCH 7/9] fix: FromAsCasing warning --- Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 77506847..649bdff2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,14 @@ -FROM ghcr.io/cybozu/ubuntu:24.04 as base +FROM ghcr.io/cybozu/ubuntu:24.04 AS base LABEL org.opencontainers.image.source=https://github.com/cybozu-go/website-operator -FROM base as website-operator +FROM base AS website-operator ARG TARGETPLATFORM COPY $TARGETPLATFORM/website-operator / USER 10000:10000 ENTRYPOINT ["/website-operator"] -FROM base as repo-checker +FROM base AS repo-checker ARG TARGETPLATFORM RUN apt-get update \ && apt-get install -y --no-install-recommends git openssh-client \ @@ -17,7 +17,7 @@ COPY $TARGETPLATFORM/repo-checker / USER 10000:10000 ENTRYPOINT ["/repo-checker"] -FROM base as ui +FROM base AS ui ARG TARGETPLATFORM COPY ui/frontend/dist /dist COPY $TARGETPLATFORM/website-operator-ui / From 76456c93ebf32b6d18dfa9db6a5569c92f0f1f81 Mon Sep 17 00:00:00 2001 From: 012xx Date: Fri, 17 Apr 2026 06:13:59 +0000 Subject: [PATCH 8/9] =?UTF-8?q?fix:=20align=20runtime=20UIDs=20and=20SSH?= =?UTF-8?q?=20home=20paths=20with=20new=20base=20image=20The=20previous=20?= =?UTF-8?q?image=20family=20included=20a=20uid/gid=2010000=20user,=20but?= =?UTF-8?q?=20the=20new=20base=20image=20does=20not.=20To=20match=20the=20?= =?UTF-8?q?new=20image=E2=80=99s=20existing=20user,=20run=20repo-checker?= =?UTF-8?q?=20as=20uid/gid=201000=20and=20use=20/home/ubuntu=20for=20HOME?= =?UTF-8?q?=20and=20deploy-key=20mount,=20fixing=20SSH=20host=20key/config?= =?UTF-8?q?=20issues.=20Keep=20build/after-build=20workloads=20on=20uid/gi?= =?UTF-8?q?d=2010000=20to=20remain=20compatible=20with=20zoetrope=20build?= =?UTF-8?q?=20images=20and=20avoid=20permission/no-user=20regressions.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 6 +++--- controllers/website_controller.go | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 649bdff2..ca5a4f17 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ LABEL org.opencontainers.image.source=https://github.com/cybozu-go/website-opera FROM base AS website-operator ARG TARGETPLATFORM COPY $TARGETPLATFORM/website-operator / -USER 10000:10000 +USER 1000:1000 ENTRYPOINT ["/website-operator"] FROM base AS repo-checker @@ -14,12 +14,12 @@ RUN apt-get update \ && apt-get install -y --no-install-recommends git openssh-client \ && rm -rf /var/lib/apt/lists/* COPY $TARGETPLATFORM/repo-checker / -USER 10000:10000 +USER 1000:1000 ENTRYPOINT ["/repo-checker"] FROM base AS ui ARG TARGETPLATFORM COPY ui/frontend/dist /dist COPY $TARGETPLATFORM/website-operator-ui / -USER 10000:10000 +USER 1000:1000 ENTRYPOINT ["/website-operator-ui"] diff --git a/controllers/website_controller.go b/controllers/website_controller.go index 0e9439c6..98169422 100644 --- a/controllers/website_controller.go +++ b/controllers/website_controller.go @@ -347,8 +347,8 @@ func (r *WebSiteReconciler) makePodTemplateForRepoChecker(webSite *websitev1beta } newTemplate.Spec.SecurityContext = &corev1.PodSecurityContext{ - RunAsUser: ptr.To[int64](10000), - FSGroup: ptr.To[int64](10000), + RunAsUser: ptr.To[int64](1000), + FSGroup: ptr.To[int64](1000), } if webSite.Spec.DeployKeySecretName != nil { @@ -550,7 +550,7 @@ func (r *WebSiteReconciler) makeNginxPodTemplate(ctx context.Context, webSite *w ) } newTemplate.Spec.SecurityContext = &corev1.PodSecurityContext{ - FSGroup: ptr.To[int64](10000), + FSGroup: ptr.To[int64](1000), } newTemplate.Spec.Containers = append(newTemplate.Spec.Containers, corev1.Container{ @@ -603,7 +603,7 @@ func (r *WebSiteReconciler) makeNginxPodTemplate(ctx context.Context, webSite *w Image: webSite.Spec.BuildImage, Command: []string{"/bin/bash", "-c", "/build/" + BuildScriptName + ".sh"}, SecurityContext: &corev1.SecurityContext{ - RunAsUser: ptr.To[int64](10000), + RunAsUser: ptr.To[int64](1000), }, VolumeMounts: []corev1.VolumeMount{ { @@ -899,14 +899,14 @@ func (r *WebSiteReconciler) reconcileAfterBuildScript(ctx context.Context, webSi ) } template.Spec.SecurityContext = &corev1.PodSecurityContext{ - FSGroup: ptr.To[int64](10000), + FSGroup: ptr.To[int64](1000), } buildContainer := corev1.Container{ Name: "job", Image: webSite.Spec.BuildImage, Command: []string{"/bin/bash", "-c", "/after-build/" + AfterBuildScriptName + ".sh"}, SecurityContext: &corev1.SecurityContext{ - RunAsUser: ptr.To[int64](10000), + RunAsUser: ptr.To[int64](1000), }, VolumeMounts: []corev1.VolumeMount{ { From b29d57e66ab81e0c0f15a6d01a421c103798eb5d Mon Sep 17 00:00:00 2001 From: 012xx Date: Fri, 17 Apr 2026 06:25:39 +0000 Subject: [PATCH 9/9] remove: blank --- controllers/website_controller_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/controllers/website_controller_test.go b/controllers/website_controller_test.go index 061a16fa..f17a6fc3 100644 --- a/controllers/website_controller_test.go +++ b/controllers/website_controller_test.go @@ -482,7 +482,6 @@ spec: err := k8sClient.Create(ctx, site) Expect(err).NotTo(HaveOccurred()) - job := batchv1.Job{} Eventually(func() error { return k8sClient.Get(ctx, client.ObjectKey{Namespace: "test", Name: "mysite"}, &job)