gabrielgio.me @ b277b6012f631173dc48291916a092ed6a28903d

 1---
 2title:  "K8S private gitlab registry using podman"
 3date:   2021-12-28
 4tags: ['kubernetes', 'linux', 'podman', 'gitlab', 'k3s']
 5---
 6
 7This is based on [[https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/][Log in to Docker Hub]].
 8It is just a bit different to use podman
 9
10First we should take a look at podman-login man page:
11
12#+BEGIN_SRC bash
13man podman login
14#+END_SRC
15
16It will give some valueable information like the location of auth.json file.
17Now we can login using podman:
18
19#+BEGIN_SRC bash
20podman login registry.gitlab.com
21#+END_SRC
22
23Then check the ~auth.json~ file located at 
24~${XDG_RUNTIME_DIR}/containers/auth.json~ (as described by the manual).
25
26#+BEGIN_SRC bash
27cat "${XDG_RUNTIME_DIR}/containers/auth.json"
28#+END_SRC
29
30It will print your auth config:
31
32#+BEGIN_SRC json
33{
34	"auths": {
35		"registry.gitlab.com": {
36			"auth": "..."
37		}
38	}
39}
40#+END_SRC
41
42Now copy that file over to the server and register it in k8s with the following command:
43
44#+BEGIN_SRC bash
45kubectl create secret generic regcred \
46    --from-file=.dockerconfigjson=auth.json \
47    --type=kubernetes.io/dockerconfigjson
48#+END_SRC
49
50Once you have created you can list by ~kubectl get secret~:
51
52#+BEGIN_SRC
53NAME                                                    TYPE                                  DATA   AGE
54regcred                                                 kubernetes.io/dockerconfigjson        1      53s
55#+END_SRC
56
57