mirror of
https://github.com/cwchristerw/tjas-infra
synced 2025-12-02 18:53:40 +00:00
Compare commits
3 Commits
cf65e1ac85
...
54aa66e3c4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
54aa66e3c4 | ||
|
|
4b6a6b20d2 | ||
|
|
f89be43871 |
92
files/powerdns-authorative/schema.mysql.sql
Normal file
92
files/powerdns-authorative/schema.mysql.sql
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
CREATE TABLE domains (
|
||||||
|
id INT AUTO_INCREMENT,
|
||||||
|
name VARCHAR(255) NOT NULL,
|
||||||
|
master VARCHAR(128) DEFAULT NULL,
|
||||||
|
last_check INT DEFAULT NULL,
|
||||||
|
type VARCHAR(8) NOT NULL,
|
||||||
|
notified_serial INT UNSIGNED DEFAULT NULL,
|
||||||
|
account VARCHAR(40) CHARACTER SET 'utf8' DEFAULT NULL,
|
||||||
|
options VARCHAR(64000) DEFAULT NULL,
|
||||||
|
catalog VARCHAR(255) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (id)
|
||||||
|
) Engine=InnoDB CHARACTER SET 'latin1';
|
||||||
|
|
||||||
|
CREATE UNIQUE INDEX name_index ON domains(name);
|
||||||
|
CREATE INDEX catalog_idx ON domains(catalog);
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE records (
|
||||||
|
id BIGINT AUTO_INCREMENT,
|
||||||
|
domain_id INT DEFAULT NULL,
|
||||||
|
name VARCHAR(255) DEFAULT NULL,
|
||||||
|
type VARCHAR(10) DEFAULT NULL,
|
||||||
|
content VARCHAR(64000) DEFAULT NULL,
|
||||||
|
ttl INT DEFAULT NULL,
|
||||||
|
prio INT DEFAULT NULL,
|
||||||
|
disabled TINYINT(1) DEFAULT 0,
|
||||||
|
ordername VARCHAR(255) BINARY DEFAULT NULL,
|
||||||
|
auth TINYINT(1) DEFAULT 1,
|
||||||
|
PRIMARY KEY (id)
|
||||||
|
) Engine=InnoDB CHARACTER SET 'latin1';
|
||||||
|
|
||||||
|
CREATE INDEX nametype_index ON records(name,type);
|
||||||
|
CREATE INDEX domain_id ON records(domain_id);
|
||||||
|
CREATE INDEX ordername ON records (ordername);
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE supermasters (
|
||||||
|
ip VARCHAR(64) NOT NULL,
|
||||||
|
nameserver VARCHAR(255) NOT NULL,
|
||||||
|
account VARCHAR(40) CHARACTER SET 'utf8' NOT NULL,
|
||||||
|
PRIMARY KEY (ip, nameserver)
|
||||||
|
) Engine=InnoDB CHARACTER SET 'latin1';
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE comments (
|
||||||
|
id INT AUTO_INCREMENT,
|
||||||
|
domain_id INT NOT NULL,
|
||||||
|
name VARCHAR(255) NOT NULL,
|
||||||
|
type VARCHAR(10) NOT NULL,
|
||||||
|
modified_at INT NOT NULL,
|
||||||
|
account VARCHAR(40) CHARACTER SET 'utf8' DEFAULT NULL,
|
||||||
|
comment TEXT CHARACTER SET 'utf8' NOT NULL,
|
||||||
|
PRIMARY KEY (id)
|
||||||
|
) Engine=InnoDB CHARACTER SET 'latin1';
|
||||||
|
|
||||||
|
CREATE INDEX comments_name_type_idx ON comments (name, type);
|
||||||
|
CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE domainmetadata (
|
||||||
|
id INT AUTO_INCREMENT,
|
||||||
|
domain_id INT NOT NULL,
|
||||||
|
kind VARCHAR(32),
|
||||||
|
content TEXT,
|
||||||
|
PRIMARY KEY (id)
|
||||||
|
) Engine=InnoDB CHARACTER SET 'latin1';
|
||||||
|
|
||||||
|
CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind);
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE cryptokeys (
|
||||||
|
id INT AUTO_INCREMENT,
|
||||||
|
domain_id INT NOT NULL,
|
||||||
|
flags INT NOT NULL,
|
||||||
|
active BOOL,
|
||||||
|
published BOOL DEFAULT 1,
|
||||||
|
content TEXT,
|
||||||
|
PRIMARY KEY(id)
|
||||||
|
) Engine=InnoDB CHARACTER SET 'latin1';
|
||||||
|
|
||||||
|
CREATE INDEX domainidindex ON cryptokeys(domain_id);
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE tsigkeys (
|
||||||
|
id INT AUTO_INCREMENT,
|
||||||
|
name VARCHAR(255),
|
||||||
|
algorithm VARCHAR(50),
|
||||||
|
secret VARCHAR(255),
|
||||||
|
PRIMARY KEY (id)
|
||||||
|
) Engine=InnoDB CHARACTER SET 'latin1';
|
||||||
|
|
||||||
|
CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);
|
||||||
31
maintainer.sh
Executable file
31
maintainer.sh
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
underline=`tput smul`
|
||||||
|
nounderline=`tput rmul`
|
||||||
|
bold=$(tput bold)
|
||||||
|
normal=$(tput sgr0)
|
||||||
|
|
||||||
|
echo "${bold}"
|
||||||
|
echo "
|
||||||
|
.-') _ ('-. .-')
|
||||||
|
( OO) ) ( OO ).-. ( OO ).
|
||||||
|
/ '._ ,--. / . --. /(_)---\_)
|
||||||
|
|'--...__) .-')| ,| | \-. \ / _ |
|
||||||
|
'--. .--'( OO |(_|.-'-' | |\ :\` \`.
|
||||||
|
| | | \`-'| | \| |_.' | '..\`''.)
|
||||||
|
| | ,--. | | | .-. |.-._) \\
|
||||||
|
| | | '-' / | | | |\ /
|
||||||
|
\`--' \`-----' \`--' \`--' \`-----'
|
||||||
|
"
|
||||||
|
echo "
|
||||||
|
PVJJK 1.VOS NIINISALO
|
||||||
|
TIETOJÄRJESTELMÄASENTAJIEN INTRA
|
||||||
|
MAINTAINER SCRIPT
|
||||||
|
"
|
||||||
|
echo -n "${normal}"
|
||||||
|
|
||||||
|
echo "${bold}PowerDNS Authorative - MySQL Schema${normal}"
|
||||||
|
echo "Downloading..."
|
||||||
|
curl https://raw.githubusercontent.com/PowerDNS/pdns/refs/heads/master/modules/gmysqlbackend/schema.mysql.sql -o "$PWD/files/powerdns-authorative/schema.mysql.sql" -s
|
||||||
|
|
||||||
|
echo -e "\n\n\n"
|
||||||
@@ -347,6 +347,26 @@
|
|||||||
- powerdns-authorative
|
- powerdns-authorative
|
||||||
- dns
|
- dns
|
||||||
|
|
||||||
|
- name: "Deployer - PowerDNS Authorative - Database - Initialize"
|
||||||
|
community.mysql.mysql_db:
|
||||||
|
login_host: "127.0.0.1"
|
||||||
|
login_user: "{{ config.mariadb.users['powerdns'].username }}"
|
||||||
|
login_password: "{{ config.mariadb.users['powerdns'].password }}"
|
||||||
|
name: "{{ config.mariadb.users['powerdns'].database }}"
|
||||||
|
state: import
|
||||||
|
target: ',/files/powerdns-authorative/schema.mysql.sql'
|
||||||
|
failed_when: true
|
||||||
|
when:
|
||||||
|
- (deployerTaskM2 is defined and deployerTaskM2.changed) or deployerTaskM2 is undefined
|
||||||
|
- config.mariadb.users is defined
|
||||||
|
- config.mariadb.users['powerdns'] is defined
|
||||||
|
- config.mariadb.users['powerdns'].username is defined
|
||||||
|
- config.mariadb.users['powerdns'].password is defined
|
||||||
|
- config.mariadb.users['powerdns'].database is defined
|
||||||
|
tags:
|
||||||
|
- powerdns-authorative
|
||||||
|
- dns
|
||||||
|
|
||||||
- name: "Deployer - PowerDNS Authorative - Pull Image"
|
- name: "Deployer - PowerDNS Authorative - Pull Image"
|
||||||
containers.podman.podman_image:
|
containers.podman.podman_image:
|
||||||
name: docker.io/powerdns/pdns-auth-50
|
name: docker.io/powerdns/pdns-auth-50
|
||||||
|
|||||||
Reference in New Issue
Block a user