upd from 12-2020

This commit is contained in:
Alexey Kovrizhkin
2023-05-28 10:08:31 +03:00
parent 0f09d8c701
commit 659b99bab1
2 changed files with 88 additions and 22 deletions

23
.drone.yml Normal file
View 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

View File

@@ -1,32 +1,75 @@
SHELL = /bin/bash
CFG=.env
SOURCES=$(wildcard *.sql)
OBJECTS=$(SOURCES:.sql=.done)
SHELL = /bin/sh
CFG =.env
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
@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:
rm -rf *.done
# шаблон файла .env
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):
$(CFG).sample:
@echo "*** $@ ***"
@[ -f $@ ] || { echo "$$CONFIG_DEF" > $@ ; echo >&2 "Warning: Created default $@" ; }
@[ -f $@ ] || echo "$$CONFIG_DEF" > $@
## generate sample config
config: $(CFG).sample