k3d with container registry
diff --git a/apps/container-registry/install.yaml b/apps/container-registry/install.yaml
new file mode 100644
index 0000000..7eb5024
--- /dev/null
+++ b/apps/container-registry/install.yaml
@@ -0,0 +1,74 @@
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: container-registry
+---
+apiVersion: v1
+kind: Service 
+metadata:
+  name: registry
+  namespace: container-registry
+spec:
+  type: ClusterIP
+  selector:
+    app: registry
+  ports:
+    - nodePort: 
+      port: 5000
+      targetPort: 5000
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: ingress
+  namespace: container-registry
+  annotations:
+    kubernetes.io/ingress.class: "traefik"
+spec:
+  rules:
+  - host: "dev-container-registry"
+    http:
+      paths:
+      - pathType: Prefix
+        path: "/"
+        backend:
+          service:
+            name: container-registry
+            port:
+              number: 5000
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: registry
+  namespace: container-registry
+spec:
+  selector:
+    matchLabels:
+      app: registry
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: registry
+    spec:
+      containers:
+      - name: registry
+        image: registry:2
+        imagePullPolicy: IfNotPresent
+        env:
+        # - name: REGISTRY_REDIRECT_DISABLE
+        #   value: "true"
+        # - name: REGISTRY_LOG_LEVEL
+        #   value: "debug"
+        # - name: REGISTRY_LOG_ACCESSLOG_DISABLED
+        #   value: "false"
+        # - name: REGISTRY_HTTP_RELATIVEURLS
+        #   value: "true"
+        # - name: REGISTRY_HTTP_HOST
+        #   value: "http://dev-container-registry:8080"
+        - name: REGISTRY_HTTP_ADDR
+          value: 0.0.0.0:5000
+        ports:
+        - containerPort: 5000
diff --git a/dev/k3d.sh b/dev/k3d.sh
new file mode 100755
index 0000000..2f8b6a1
--- /dev/null
+++ b/dev/k3d.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+ROOT="$(dirname -- $(pwd))"
+
+k3d cluster create pcloud-dev \
+    --servers=1 \
+    --k3s-server-arg="--disable=traefik" \
+    --port="8080:80@loadbalancer"
+k3d kubeconfig merge pcloud-dev --switch-context
+
+# Traefik
+helm repo add traefik https://containous.github.io/traefik-helm-chart
+helm repo update
+kubectl create namespace traefik
+helm --namespace=traefik install traefik traefik/traefik \
+     --set additionalArguments="{--providers.kubernetesingress,--global.checknewversion=true}" \
+     --set ports.traefik.expose=True
+
+# Container Registry
+kubectl apply -f $ROOT/apps/container-registry/install.yaml
+## Right now ingress on container registry does not work for some reason.
+## Use kubectl port-forward bellow to expose registry on localhost.
+##  kubectl port-forward service/registry -n container-registry 8090:5000
+## And add "127.0.0.1 pcloud-dev-container-registry" to /etc/hosts
+## After that one can:
+##  docker build --tag=pcloud-dev-container-registry:8090/foo/bar:latest .
+##  docker push pcloud-dev-container-registry:8090/foo/bar:latest