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