2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitHubアクセス用の.dockerconfigjsonを手作業で作る

Posted at

GitHub Packagesに置いてあるプライベートなコンテナイメージをKubernetesで使うために、認証情報をシークレットとして登録したい。そのためには、.dockerconfigjsonというファイルが必要である。

認証情報が平文で~/.docker/config.jsonに置いてあればこのファイルを.dockerconfigjsonとして使えば良いが、最近はセキュアな場所に保存されていてauthsには次のように空オブジェクトがあるだけかと思う。

~/.docker/config.json
{
  "credsStore" : "desktop",
  "auths" : {
    "ghcr.io" : { }
  }
}

GitHubが求める認証情報はシンプルなので、.dockerconfigjsonは次のように手作業で作成できる。

.dockerconfigjson
{
  "auths": {
    "ghcr.io": {
      "username": "<user>",
      "password": "<token>",
      "auth": "<base64 username:token>"
    }
  }
}

<user>はGithubのアカウント名、<token>アクセストークン<base64 username:token>はアカウント名とアクセストークンをコロンで繋いだ文字列をBase64エンコードしたものをそれぞれ記入する。

ちなみに、この.dockerconfigjsonをkustomizeから使う場合、Secretの種類をkubernetes.io/dockerconfigjsonにする。

kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
secretGenerator:
  name: github
  type: kubernetes.io/dockerconfigjson

  files:
    .dockerconfigjson

参考

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?