upd from 12-2020
This commit is contained in:
23
.drone.yml
Normal file
23
.drone.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: powerdns
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: deploy_local
|
||||||
|
pull: never
|
||||||
|
image: ${DCAPE_COMPOSE}
|
||||||
|
commands:
|
||||||
|
- . setup config
|
||||||
|
- make update
|
||||||
|
volumes:
|
||||||
|
- name: dockersock
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: dockersock
|
||||||
|
host:
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
|
||||||
|
# docker run powerdns pdnsutil check-zone
|
||||||
87
Makefile
87
Makefile
@@ -1,32 +1,75 @@
|
|||||||
SHELL = /bin/bash
|
SHELL = /bin/sh
|
||||||
CFG=.env
|
CFG =.env
|
||||||
SOURCES=$(wildcard *.sql)
|
|
||||||
OBJECTS=$(SOURCES:.sql=.done)
|
|
||||||
|
|
||||||
all: $(CFG) $(OBJECTS)
|
SOURCES ?= $(wildcard *.sql)
|
||||||
|
OBJECTS = $(SOURCES:.sql=.done)
|
||||||
|
OBJECTSDIRECT = $(SOURCES:.sql=.direct)
|
||||||
|
|
||||||
up: all
|
# ------------------------------------------------------------------------------
|
||||||
|
# шаблон файла .env
|
||||||
|
|
||||||
|
define CONFIG_DEF
|
||||||
|
# dcape-dns config file, generated by make $(CFG)
|
||||||
|
|
||||||
|
# Postgresql container name (access via docker)
|
||||||
|
PG_CONTAINER=dcape_db_1
|
||||||
|
|
||||||
|
# PowerDNS DB user name
|
||||||
|
PGUSER=pdns
|
||||||
|
|
||||||
|
# PowerDNS DB name
|
||||||
|
PGDATABASE=pdns
|
||||||
|
|
||||||
|
# Used ONLY for direct DB access without docker (start-direct)
|
||||||
|
PGPASSWORD=
|
||||||
|
|
||||||
|
endef
|
||||||
|
export CONFIG_DEF
|
||||||
|
|
||||||
|
all: help
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
-include $(CFG)
|
||||||
|
export
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# dcape v1 comparibility
|
||||||
|
|
||||||
|
start-hook: update
|
||||||
|
|
||||||
|
start-direct: update-direct
|
||||||
|
|
||||||
|
stop:
|
||||||
|
|
||||||
|
$(CFG): $(CFG).sample
|
||||||
|
@[ -f $@ ] || cp $< $@
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
update: $(OBJECTS)
|
||||||
|
|
||||||
%.done: %.sql
|
%.done: %.sql
|
||||||
@echo "*** $< ***"
|
@echo "*** $< ***"
|
||||||
@cat $< | docker exec -i $$PG_CONTAINER psql -U $$PG_USER > $@
|
@csum=$$(md5sum $< | sed 's/ .*//') ; \
|
||||||
|
cat $< | docker exec -i $$PG_CONTAINER psql -U $$PGUSER -d $$PGDATABASE -vcsum=$$csum > $@
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
update-direct: $(CFG) $(OBJECTSDIRECT)
|
||||||
|
|
||||||
|
%.direct: %.sql
|
||||||
|
@echo "*** $< ***"
|
||||||
|
@source $(CFG) && cat $< | PGPASSWORD=$$PGPASSWORD psql -h localhost -U $$PGUSER > $@
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf *.done
|
rm -rf *.done
|
||||||
|
|
||||||
# шаблон файла .env
|
$(CFG).sample:
|
||||||
|
|
||||||
define CONFIG_DEF
|
|
||||||
# dcape-dns-config $(CFG) file, generated by make $(CFG)
|
|
||||||
|
|
||||||
# Postgresql container name
|
|
||||||
PG_CONTAINER=dcape_db_1
|
|
||||||
|
|
||||||
# PowerDNS DB user (and database) name
|
|
||||||
PG_USER=dns
|
|
||||||
endef
|
|
||||||
export CONFIG_DEF
|
|
||||||
|
|
||||||
$(CFG):
|
|
||||||
@echo "*** $@ ***"
|
@echo "*** $@ ***"
|
||||||
@[ -f $@ ] || { echo "$$CONFIG_DEF" > $@ ; echo >&2 "Warning: Created default $@" ; }
|
@[ -f $@ ] || echo "$$CONFIG_DEF" > $@
|
||||||
|
|
||||||
|
## generate sample config
|
||||||
|
config: $(CFG).sample
|
||||||
|
|||||||
Reference in New Issue
Block a user