add whois
This commit is contained in:
parent
05343066f7
commit
081978670a
@ -2,18 +2,25 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
DNS_ENDPOINT="https://hatecomputers.club/dns"
|
prompt_with_default() {
|
||||||
BIND_FILE="roles/nameservers/templates/db.simponic.xyz.j2"
|
local prompt_message="$1"
|
||||||
|
local default_value="$2"
|
||||||
|
read -p "$prompt_message [$default_value]: " input
|
||||||
|
echo "${input:-$default_value}"
|
||||||
|
}
|
||||||
|
|
||||||
SERVICE_TITLE="phoneof simponic."
|
DNS_ENDPOINT=$(prompt_with_default "Enter DNS endpoint" "https://hatecomputers.club/dns")
|
||||||
SERVICE="phoneof"
|
BIND_FILE=$(prompt_with_default "Enter bind file path" "roles/nameservers/templates/db.simponic.xyz.j2")
|
||||||
SERVICE_PORT="6363"
|
|
||||||
SERVICE_REPO="git.simponic.xyz/simponic/$SERVICE"
|
SERVICE_TITLE=$(prompt_with_default "Enter service title" "phoneof simponic.")
|
||||||
SERVICE_ORIGIN="git@git.simponic.xyz:simponic/$SERVICE"
|
SERVICE=$(prompt_with_default "Enter service name" "phoneof")
|
||||||
INTERNAL="no"
|
SERVICE_PORT=$(prompt_with_default "Enter service port" "6363")
|
||||||
SERVICE_HOST="ryo"
|
SERVICE_REPO=$(prompt_with_default "Enter service repository URL" "git.simponic.xyz/simponic/$SERVICE")
|
||||||
PACKAGE_PATH="$HOME/git/simponic/$SERVICE"
|
SERVICE_ORIGIN=$(prompt_with_default "Enter service origin URL" "git@git.simponic.xyz:simponic/$SERVICE")
|
||||||
HATECOMPUTERS_API_KEY="$(pbpaste)"
|
INTERNAL=$(prompt_with_default "Is the service internal? (yes/no)" "no")
|
||||||
|
SERVICE_HOST=$(prompt_with_default "Enter service host" "ryo")
|
||||||
|
PACKAGE_PATH=$(prompt_with_default "Enter package path" "$HOME/git/simponic/$SERVICE")
|
||||||
|
HATECOMPUTERS_API_KEY=$(prompt_with_default "Enter hatecomputers API key (paste from clipboard)" "$(pbpaste)")
|
||||||
|
|
||||||
|
|
||||||
function render_template() {
|
function render_template() {
|
||||||
|
4
deploy-whois.yml
Normal file
4
deploy-whois.yml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
- name: deploy whois
|
||||||
|
hosts: whois
|
||||||
|
roles:
|
||||||
|
- whois
|
@ -91,4 +91,6 @@ raspberrypi ansible_user=root ansible_connection=ssh
|
|||||||
ryo ansible_user=root ansible_connection=ssh
|
ryo ansible_user=root ansible_connection=ssh
|
||||||
|
|
||||||
[something]
|
[something]
|
||||||
|
ryo ansible_user=root ansible_connection=ssh
|
||||||
|
[whois]
|
||||||
ryo ansible_user=root ansible_connection=ssh
|
ryo ansible_user=root ansible_connection=ssh
|
@ -27,6 +27,7 @@ simponic.xyz. 1 IN A 23.95.214.176
|
|||||||
chesshbot.simponic.xyz. 1 IN A 129.123.76.14
|
chesshbot.simponic.xyz. 1 IN A 129.123.76.14
|
||||||
|
|
||||||
;; CNAME Records
|
;; CNAME Records
|
||||||
|
whois.simponic.xyz. 43200 IN CNAME ryo.simponic.xyz.
|
||||||
something.simponic.xyz. 43200 IN CNAME ryo.simponic.xyz.
|
something.simponic.xyz. 43200 IN CNAME ryo.simponic.xyz.
|
||||||
phoneof.simponic.xyz. 43200 IN CNAME ryo.simponic.xyz.
|
phoneof.simponic.xyz. 43200 IN CNAME ryo.simponic.xyz.
|
||||||
secure.tunnel.simponic.xyz. 1 IN CNAME simponic.xyz.
|
secure.tunnel.simponic.xyz. 1 IN CNAME simponic.xyz.
|
||||||
|
13
roles/webservers/files/ryo/http.whois.simponic.xyz.conf
Normal file
13
roles/webservers/files/ryo/http.whois.simponic.xyz.conf
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name whois.simponic.xyz;
|
||||||
|
|
||||||
|
location /.well-known/acme-challenge {
|
||||||
|
root /var/www/letsencrypt;
|
||||||
|
try_files $uri $uri/ =404;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
rewrite ^ https://whois.simponic.xyz$request_uri? permanent;
|
||||||
|
}
|
||||||
|
}
|
32
roles/webservers/files/ryo/https.whois.simponic.xyz.conf
Normal file
32
roles/webservers/files/ryo/https.whois.simponic.xyz.conf
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name whois.simponic.xyz;
|
||||||
|
|
||||||
|
ssl_certificate /etc/letsencrypt/live/whois.simponic.xyz/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/whois.simponic.xyz/privkey.pem;
|
||||||
|
ssl_trusted_certificate /etc/letsencrypt/live/whois.simponic.xyz/fullchain.pem;
|
||||||
|
|
||||||
|
ssl_session_cache shared:SSL:50m;
|
||||||
|
ssl_session_timeout 5m;
|
||||||
|
ssl_stapling on;
|
||||||
|
ssl_stapling_verify on;
|
||||||
|
|
||||||
|
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
|
||||||
|
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
|
||||||
|
|
||||||
|
ssl_dhparam /etc/nginx/dhparams.pem;
|
||||||
|
ssl_prefer_server_ciphers on;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://127.0.0.1:8466;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
proxy_set_header Host $server_name;
|
||||||
|
proxy_buffering off;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
|
||||||
|
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
|
||||||
|
}
|
||||||
|
}
|
30
roles/whois/tasks/main.yml
Normal file
30
roles/whois/tasks/main.yml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
- name: ensure whois docker/compose exist
|
||||||
|
file:
|
||||||
|
path: /etc/docker/compose/whois
|
||||||
|
state: directory
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0700
|
||||||
|
|
||||||
|
- name: ensure whois db exist
|
||||||
|
file:
|
||||||
|
path: /etc/docker/compose/whois/db
|
||||||
|
state: directory
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0777
|
||||||
|
|
||||||
|
- name: build whois docker-compose.yml.j2
|
||||||
|
template:
|
||||||
|
src: ../templates/docker-compose.yml.j2
|
||||||
|
dest: /etc/docker/compose/whois/docker-compose.yml
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: u=rw,g=r,o=r
|
||||||
|
|
||||||
|
- name: daemon-reload and enable whois
|
||||||
|
ansible.builtin.systemd_service:
|
||||||
|
state: restarted
|
||||||
|
enabled: true
|
||||||
|
name: docker-compose@whois
|
16
roles/whois/templates/docker-compose.yml.j2
Normal file
16
roles/whois/templates/docker-compose.yml.j2
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
api:
|
||||||
|
restart: always
|
||||||
|
image: git.simponic.xyz/simponic/whois
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "wget", "--spider", "http://localhost:8080/api/health"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 5
|
||||||
|
env_file: .env
|
||||||
|
volumes:
|
||||||
|
- ./db:/app/db
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:8466:8080"
|
Loading…
x
Reference in New Issue
Block a user