K8S private gitlab registry using podman


This is based on Log in to Docker Hub. It is just a bit different to use podman

First we should take a look at podman-login man page:

man podman login

It will give some valueable information like the location of auth.json file. Now we can login using podman:

podman login registry.gitlab.com

Then check the auth.json file located at ${XDG_RUNTIME_DIR}/containers/auth.json (as described by the manual).

cat "${XDG_RUNTIME_DIR}/containers/auth.json"

It will print your auth config:

{
    "auths": {
        "registry.gitlab.com": {
            "auth": "..."
        }
    }
}

Now copy that file over to the server and register it in k8s with the following command:

kubectl create secret generic regcred \
    --from-file=.dockerconfigjson=auth.json \
    --type=kubernetes.io/dockerconfigjson

Once you have created you can list by kubectl get secret:

NAME    TYPE                           DATA AGE
regcred kubernetes.io/dockerconfigjson 1    53s