diff options
author | Alejandro Colomar <Colomar.6.4.3@GMail.com> | 2020-05-29 10:06:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-29 10:06:03 +0200 |
commit | 819c965f5ea26e4b75c8e5bef5fcf33c3383c37c (patch) | |
tree | a9dfa8f34190254026141ded2db92834d34f5f88 | |
parent | f4c98cb8566292d3fad47da5ce25286f7b028455 (diff) | |
parent | b0cead4580ae83a79f30d925623cf9ae7587e4c0 (diff) |
Merge pull request #18 from secobau/bind
Use bind as a DNS for internal network
-rw-r--r-- | bind/Dockerfile | 15 | ||||
-rw-r--r-- | bind/Dockerfile-devel | 36 | ||||
-rw-r--r-- | docker/docker-compose.yaml-PASSED | 0 | ||||
-rw-r--r-- | etc/docker/compose/docker-compose.yaml (renamed from docker/docker-compose.yaml) | 12 | ||||
-rw-r--r-- | etc/docker/kubernetes/kube-compose.yaml (renamed from kubernetes/kube-compose.yaml) | 135 | ||||
-rw-r--r-- | etc/docker/kubernetes/kube-secrets.yaml (renamed from kubernetes/kube-secrets.yaml) | 0 | ||||
-rw-r--r-- | etc/docker/swarm/release/dns-blue.yaml | 38 | ||||
-rw-r--r-- | etc/docker/swarm/release/dns.yaml | 38 | ||||
-rw-r--r-- | kubernetes/kube-compose.yaml-PASSED | 0 | ||||
-rw-r--r-- | run/configs/etc/bind/named.conf | 20 | ||||
-rw-r--r-- | run/secrets/var/bind/master/10.168 | 9 | ||||
-rw-r--r-- | run/secrets/var/bind/master/alejandro-colomar.com | 11 |
12 files changed, 251 insertions, 63 deletions
diff --git a/bind/Dockerfile b/bind/Dockerfile new file mode 100644 index 0000000..74f4a57 --- /dev/null +++ b/bind/Dockerfile @@ -0,0 +1,15 @@ +############################################################################### +# Copyright (C) 2020 Sebastian Francisco Colomar Bauza # +# Copyright (C) 2020 Alejandro Colomar Andrés # +# SPDX-License-Identifier: GPL-2.0-only # +############################################################################### + +## alpine:latest +FROM alpine@sha256:39eda93d15866957feaee28f8fc5adb545276a64147445c64992ef69804dbf01 \ + AS dns + +RUN apk add --no-cache --upgrade bind + +CMD ["named", "-c", "/etc/bind/named.conf", "-g"] + +############################################################################### diff --git a/bind/Dockerfile-devel b/bind/Dockerfile-devel new file mode 100644 index 0000000..1ee30fc --- /dev/null +++ b/bind/Dockerfile-devel @@ -0,0 +1,36 @@ +############################################################################### +# Copyright (C) 2020 Sebastian Francisco Colomar Bauza # +# Copyright (C) 2020 Alejandro Colomar Andrés # +# SPDX-License-Identifier: GPL-2.0-only # +############################################################################### + +## alpine/git:latest +FROM alpine/git@sha256:8d2aedf3898243892d170f033603b40a55e0b0a8ab68ba9762f9c0dae40b5c8d \ + AS git + +RUN \ + git clone \ + --single-branch \ + --branch version-0.5 \ + https://github.com/alejandro-colomar/rob_cam.git \ + /repo + +############################################################################### + +## alpine:latest +FROM alpine@sha256:39eda93d15866957feaee28f8fc5adb545276a64147445c64992ef69804dbf01 \ + AS dns + +RUN apk add --no-cache --upgrade bind + +## configure dns server +COPY --from=git /repo/bind/run/configs/etc/bind/named.conf \ + /etc/bind/named.conf +COPY --from=git /repo/bind/run/secrets/var/bind/master \ + /run/secrets/var/bind/master + +RUN ln --symbolic /run/secrets/var/bind/master /var/bind + +CMD ["named", "-c", "/etc/bind/named.conf", "-g"] + +############################################################################### diff --git a/docker/docker-compose.yaml-PASSED b/docker/docker-compose.yaml-PASSED deleted file mode 100644 index e69de29..0000000 --- a/docker/docker-compose.yaml-PASSED +++ /dev/null diff --git a/docker/docker-compose.yaml b/etc/docker/compose/docker-compose.yaml index 2f2255f..b7c0efe 100644 --- a/docker/docker-compose.yaml +++ b/etc/docker/compose/docker-compose.yaml @@ -9,7 +9,8 @@ version: "2" services: cam: - image: alejandrocolomar/rob_cam:cam_0.5 + depends_on: + - rob devices: - "/dev/video0:/dev/video0" environment: @@ -17,12 +18,12 @@ services: - DELAY_US=10000 - ROB_ADDR=rob - ROB_PORT=13100 - depends_on: - - rob + image: alejandrocolomar/rob_cam:cam_0.5 restart: always rob: - image: alejandrocolomar/rob_cam:rob_0.5 + depends_on: + - robot environment: - DELAY_LOGIN=1000000 - DELAY_US=100000 @@ -35,8 +36,7 @@ services: # - ROBOT_TYPE=kwr - ROBOT_TYPE=ur - ROBOT_USER= - depends_on: - - robot + image: alejandrocolomar/rob_cam:rob_0.5 restart: always robot: diff --git a/kubernetes/kube-compose.yaml b/etc/docker/kubernetes/kube-compose.yaml index 3146d09..a50a7cd 100644 --- a/kubernetes/kube-compose.yaml +++ b/etc/docker/kubernetes/kube-compose.yaml @@ -17,8 +17,9 @@ spec: name: robot spec: containers: - - name: robot + - image: alejandrocolomar/rob_cam:ur-sim_0.5 + name: robot --- apiVersion: apps/v1 kind: Deployment @@ -33,67 +34,79 @@ spec: labels: name: rob spec: - initContainers: - - name: init - image: busybox - command: - - sh - - -c - - sleep 1 containers: - - name: rob - image: alejandrocolomar/rob_cam:rob_0.5 + - env: - - name: DELAY_LOGIN + - + name: DELAY_LOGIN valueFrom: secretKeyRef: - name: rob-secret key: DELAY_LOGIN - - name: DELAY_US + name: rob-secret + - + name: DELAY_US valueFrom: secretKeyRef: - name: rob-secret key: DELAY_US - - name: ROB_CAMS_MAX + name: rob-secret + - + name: ROB_CAMS_MAX valueFrom: secretKeyRef: - name: rob-secret key: ROB_CAMS_MAX - - name: ROB_PORT + name: rob-secret + - + name: ROB_PORT valueFrom: secretKeyRef: - name: rob-secret key: ROB_PORT - - name: ROBOT_ADDR + name: rob-secret + - + name: ROBOT_ADDR valueFrom: secretKeyRef: - name: rob-secret key: ROBOT_ADDR - - name: ROBOT_PASSWD + name: rob-secret + - + name: ROBOT_PASSWD valueFrom: secretKeyRef: - name: rob-secret key: ROBOT_PASSWD - - name: ROBOT_PORT + name: rob-secret + - + name: ROBOT_PORT valueFrom: secretKeyRef: - name: rob-secret key: ROBOT_PORT - - name: ROBOT_STATUS_FNAME + name: rob-secret + - + name: ROBOT_STATUS_FNAME valueFrom: secretKeyRef: - name: rob-secret key: ROBOT_STATUS_FNAME - - name: ROBOT_TYPE + name: rob-secret + - + name: ROBOT_TYPE valueFrom: secretKeyRef: - name: rob-secret key: ROBOT_TYPE - - name: ROBOT_USER + name: rob-secret + - + name: ROBOT_USER valueFrom: secretKeyRef: - name: rob-secret key: ROBOT_USER + name: rob-secret + image: alejandrocolomar/rob_cam:rob_0.5 + name: rob + initContainers: + - + command: + - sh + - -c + - sleep 1 + image: busybox + name: init --- apiVersion: apps/v1 kind: Deployment @@ -108,66 +121,74 @@ spec: labels: name: cam spec: - initContainers: - - name: init - image: busybox - command: - - sh - - -c - - sleep 2 containers: - - name: cam - image: alejandrocolomar/rob_cam:cam_0.5 - volumeMounts: - - name: dev-video0 - mountPath: /dev/video0 - securityContext: - privileged: true + - env: - - name: CAMERA_IDX + - + name: CAMERA_IDX valueFrom: secretKeyRef: - name: cam-secret key: CAMERA_IDX - - name: DELAY_US + name: cam-secret + - + name: DELAY_US valueFrom: secretKeyRef: - name: cam-secret key: DELAY_US - - name: ROB_ADDR + name: cam-secret + - + name: ROB_ADDR valueFrom: secretKeyRef: - name: cam-secret key: ROB_ADDR - - name: ROB_PORT + name: cam-secret + - + name: ROB_PORT valueFrom: secretKeyRef: - name: cam-secret key: ROB_PORT + name: cam-secret + image: alejandrocolomar/rob_cam:cam_0.5 + name: cam + securityContext: + privileged: true + volumeMounts: + - + mountPath: /dev/video0 + name: dev-video0 + initContainers: + - + command: + - sh + - -c + - sleep 2 + image: busybox + name: init volumes: - - name: dev-video0 + - hostPath: path: /dev/video0 + name: dev-video0 --- apiVersion: v1 kind: Service metadata: name: robot spec: - selector: - name: robot ports: - port: 30002 + selector: + name: robot --- apiVersion: v1 kind: Service metadata: name: rob spec: - selector: - name: rob ports: - port: 13100 + selector: + name: rob ################################################################################ #sudo apt-get update && sudo apt-get install -y apt-transport-https curl ; diff --git a/kubernetes/kube-secrets.yaml b/etc/docker/kubernetes/kube-secrets.yaml index 7ab36ba..7ab36ba 100644 --- a/kubernetes/kube-secrets.yaml +++ b/etc/docker/kubernetes/kube-secrets.yaml diff --git a/etc/docker/swarm/release/dns-blue.yaml b/etc/docker/swarm/release/dns-blue.yaml new file mode 100644 index 0000000..1cc4981 --- /dev/null +++ b/etc/docker/swarm/release/dns-blue.yaml @@ -0,0 +1,38 @@ +######################################################################### +# Copyright (C) 2020 Sebastian Francisco Colomar Bauza # +# SPDX-License-Identifier: GPL-2.0-only # +######################################################################### + +configs: + named: + file: /run/configs/etc/bind/named.conf + +secrets: + forward: + file: /run/secrets/var/bind/master/alejandro-colomar.com + reverse: + file: /run/secrets/var/bind/master/10.168 + +services: + dns: + configs: + - + mode: 0440 + source: named + target: /etc/bind/named.conf + deploy: + mode: global + image: "alejandrocolomar/rob_cam:dns_0.5" + ports: + - "5353:53/udp" + secrets: + - + mode: 0440 + source: forward + target: var/bind/master/alejandro-colomar.com + - + mode: 0440 + source: reverse + target: var/bind/master/10.168 + +version: '3.8' diff --git a/etc/docker/swarm/release/dns.yaml b/etc/docker/swarm/release/dns.yaml new file mode 100644 index 0000000..173d3a6 --- /dev/null +++ b/etc/docker/swarm/release/dns.yaml @@ -0,0 +1,38 @@ +######################################################################### +# Copyright (C) 2020 Sebastian Francisco Colomar Bauza # +# SPDX-License-Identifier: GPL-2.0-only # +######################################################################### + +configs: + named: + file: /run/configs/etc/bind/named.conf + +secrets: + forward: + file: /run/secrets/var/bind/master/alejandro-colomar.com + reverse: + file: /run/secrets/var/bind/master/10.168 + +services: + dns: + configs: + - + mode: 0440 + source: named + target: /etc/bind/named.conf + deploy: + mode: global + image: "alejandrocolomar/rob_cam:dns_0.5" + ports: + - "53:53/udp" + secrets: + - + mode: 0440 + source: forward + target: var/bind/master/alejandro-colomar.com + - + mode: 0440 + source: reverse + target: var/bind/master/10.168 + +version: '3.8' diff --git a/kubernetes/kube-compose.yaml-PASSED b/kubernetes/kube-compose.yaml-PASSED deleted file mode 100644 index e69de29..0000000 --- a/kubernetes/kube-compose.yaml-PASSED +++ /dev/null diff --git a/run/configs/etc/bind/named.conf b/run/configs/etc/bind/named.conf new file mode 100644 index 0000000..e05e8f7 --- /dev/null +++ b/run/configs/etc/bind/named.conf @@ -0,0 +1,20 @@ +options { + allow-query { any; }; + allow-recursion { none; }; + allow-transfer { none; }; + directory "/var/bind"; + listen-on-v6 { none; }; + pid-file "/var/run/named/named.pid"; + recursion no; +}; + +zone "alejandro-colomar.com" { + file "master/alejandro-colomar.com"; + type master; +}; + +zone "168.10.in-addr.arpa" IN { + file "master/10.168"; + type master; +}; + diff --git a/run/secrets/var/bind/master/10.168 b/run/secrets/var/bind/master/10.168 new file mode 100644 index 0000000..75e8b60 --- /dev/null +++ b/run/secrets/var/bind/master/10.168 @@ -0,0 +1,9 @@ +$TTL 604800 +@ IN SOA dns.alejandro-colomar.com. root.dns.alejandro-colomar.com. ( + 1 + 604800 + 86400 + 2419200 + 604800 ) + IN NS dns.alejandro-colomar.com. +100.6 IN PTR robot.alejandro-colomar.com. diff --git a/run/secrets/var/bind/master/alejandro-colomar.com b/run/secrets/var/bind/master/alejandro-colomar.com new file mode 100644 index 0000000..18358ac --- /dev/null +++ b/run/secrets/var/bind/master/alejandro-colomar.com @@ -0,0 +1,11 @@ +$TTL 604800 +@ IN SOA dns.alejandro-colomar.com. root.dns.alejandro-colomar.com. ( + 2 + 604800 + 86400 + 2419200 + 604800 ) + IN NS dns.alejandro-colomar.com. +dns IN A 127.0.0.1 +kube-apiserver IN CNAME dns +robot IN A 10.168.6.100 |