diff --git a/packages/k8s/src/hooks/prepare-job.ts b/packages/k8s/src/hooks/prepare-job.ts index 12fc1b8..488206d 100644 --- a/packages/k8s/src/hooks/prepare-job.ts +++ b/packages/k8s/src/hooks/prepare-job.ts @@ -46,7 +46,7 @@ export async function prepareJob( } let createdPod: k8s.V1Pod | undefined = undefined try { - createdPod = await createPod(container, services, args.registry) + createdPod = await createPod(container, services, args.container.registry) } catch (err) { await prunePods() throw new Error(`failed to create job pod: ${err}`) diff --git a/packages/k8s/src/k8s/index.ts b/packages/k8s/src/k8s/index.ts index 637856b..721bac7 100644 --- a/packages/k8s/src/k8s/index.ts +++ b/packages/k8s/src/k8s/index.ts @@ -233,13 +233,12 @@ export async function createDockerSecret( ): Promise { const authContent = { auths: { - [registry.serverUrl]: { + [registry.serverUrl || 'https://index.docker.io/v1/']: { username: registry.username, password: registry.password, - auth: Buffer.from( - `${registry.username}:${registry.password}`, + auth: Buffer.from(`${registry.username}:${registry.password}`).toString( 'base64' - ).toString() + ) } } } @@ -252,15 +251,16 @@ export async function createDockerSecret( secret.apiVersion = 'v1' secret.metadata = new k8s.V1ObjectMeta() secret.metadata.name = secretName + secret.metadata.namespace = namespace() secret.metadata.labels = { [runnerInstanceLabel.key]: runnerInstanceLabel.value } + secret.type = 'kubernetes.io/dockerconfigjson' secret.kind = 'Secret' secret.data = { - '.dockerconfigjson': Buffer.from( - JSON.stringify(authContent), + '.dockerconfigjson': Buffer.from(JSON.stringify(authContent)).toString( 'base64' - ).toString() + ) } const { body } = await k8sApi.createNamespacedSecret(namespace(), secret)