]> xn--ix-yja.es Git - alex.git/commitdiff
Draft proxmox proxy support + route53
authoralex <alex@pdp7.net>
Sat, 11 Mar 2023 11:18:03 +0000 (12:18 +0100)
committeralex <alex@pdp7.net>
Sat, 11 Mar 2023 11:18:03 +0000 (12:18 +0100)
personal_infra/playbooks/roles/proxmox_route_53/tasks/main.yml [new file with mode: 0644]
personal_infra/playbooks/site.yaml
personal_infra/puppet/modules/proxmox/manifests/proxy.pp
personal_infra/puppet/modules/proxmox/manifests/proxy_host.pp [new file with mode: 0644]
personal_infra/puppet/site/h1.pdp7.net.pp
personal_infra/requirements.txt

diff --git a/personal_infra/playbooks/roles/proxmox_route_53/tasks/main.yml b/personal_infra/playbooks/roles/proxmox_route_53/tasks/main.yml
new file mode 100644 (file)
index 0000000..b56561d
--- /dev/null
@@ -0,0 +1,11 @@
+---
+- name: create A entries
+  local_action:
+    module: amazon.aws.route53
+    zone: "{{ network.dns_zone }}"
+    record: "{{ item }}"
+    type: A
+    value: "{{ network.ip }}"
+    wait: true
+    state: present
+  loop: "{{ network.proxmox.proxy_hosts }}"
index ddeced0e5fd92bc1ba2cfdef5807e666c9dcec67..377f5647c4adbb14a6d30627a56b2ce33370fd22 100644 (file)
   tags: ipsilon
   roles:
     - deploy_ipsilon
+
+- name: proxmox route 53
+  hosts: proxmox
+  tags: proxmox_route_53
+  gather_facts: false
+  roles:
+    - proxmox_route_53
index 65f93cb6d1a5d21091df4ef69058c82b1664d8d9..2a07c44c3dbd2f1589bafeefd40a65f868b4e243 100644 (file)
@@ -21,7 +21,7 @@ class proxmox::proxy ($mail, $base_hostname) {
 
   file {'/etc/apache2/sites-enabled/test.conf':
     content => @("EOT")
-    MDomain $base_hostname
+    MDomain $base_hostname auto
     MDCertificateAgreement accepted
     MDContactEmail $mail
     MDNotifyCmd /usr/local/bin/notify_md_renewal
diff --git a/personal_infra/puppet/modules/proxmox/manifests/proxy_host.pp b/personal_infra/puppet/modules/proxmox/manifests/proxy_host.pp
new file mode 100644 (file)
index 0000000..33b28de
--- /dev/null
@@ -0,0 +1,15 @@
+define proxmox::proxy_host (String[1] $target) {
+  file {"/etc/apache2/sites-enabled/$title.conf":
+    content => @("EOT")
+      MDomain $title
+
+      <VirtualHost *:443>
+        ServerName $title
+        SSLEngine on
+      </VirtualHost>
+    | EOT
+    ,
+  }
+  ~>
+  Service['apache2']
+}
index ef0ff1eaf861508243bd28bcd5756b2e4502c4a4..b64871c1f58b7c228b4ad33868f4b64671f13d6e 100644 (file)
@@ -1,11 +1,16 @@
 node 'h1.pdp7.net' {
   class {'proxmox::freeipa':}
+  class {'dns_dhcp':}
+
+  # TODO: ugly; tinc scripts require this :(
+  package {'net-tools':}
+
   class {'proxmox::proxy':
     mail => lookup('mail.root_mail'),
     base_hostname => lookup('network.public_hostname'),
   }
-  class {'dns_dhcp':}
 
-  # TODO: ugly; tinc scripts require this :(
-  package {'net-tools':}
+  proxmox::proxy_host {'ipsilon-test.pdp7.net':
+    target => 'ipsilon-test.h1.int.pdp7.net',
+  }
 }
index 8245ee425e90a45a09449d5baaf02f247fd5891e..b0529d69780dd277fb94f0a885dd84f08a77d516 100644 (file)
@@ -1,5 +1,7 @@
 ansible==7.1.0
 ansible-core==2.14.1
+boto3==1.26.89
+botocore==1.29.89
 cachetools==5.3.0
 certifi==2022.12.7
 cffi==1.15.1
@@ -22,6 +24,7 @@ requests==2.28.2
 requests-oauthlib==1.3.1
 resolvelib==0.8.1
 rsa==4.9
+s3transfer==0.6.0
 six==1.16.0
 urllib3==1.26.14
 websocket-client==1.5.1