py-pve-cloud 0.1.2__tar.gz → 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of py-pve-cloud might be problematic. Click here for more details.

Files changed (24) hide show
  1. {py_pve_cloud-0.1.2/src/py_pve_cloud.egg-info → py_pve_cloud-0.2.0}/PKG-INFO +1 -1
  2. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/pyproject.toml +1 -1
  3. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/pve_cloud/cli/pvclu.py +11 -3
  4. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0/src/py_pve_cloud.egg-info}/PKG-INFO +1 -1
  5. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/LICENSE +0 -0
  6. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/README.md +0 -0
  7. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/setup.cfg +0 -0
  8. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/pve_cloud/cli/pvcli.py +0 -0
  9. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/pve_cloud/lib/inventory.py +0 -0
  10. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/pve_cloud/orm/alchemy.py +0 -0
  11. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/pve_cloud/orm/alembic.ini +0 -0
  12. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/pve_cloud/orm/migrations/env.py +0 -0
  13. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/pve_cloud/orm/migrations/versions/24a548bfce3e_len_rules_enforcements.py +0 -0
  14. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/pve_cloud/orm/migrations/versions/27724e407e2b_proxy_fqdn.py +0 -0
  15. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/pve_cloud/orm/migrations/versions/3c95509a5de9_fix.py +0 -0
  16. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/pve_cloud/orm/migrations/versions/7868bcd05006_migrate_old.py +0 -0
  17. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/pve_cloud/orm/migrations/versions/7dea8c4ee39f_init.py +0 -0
  18. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/pve_cloud/orm/migrations/versions/944a8fd5d5bc_ext_ctrl_plns.py +0 -0
  19. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/pve_cloud/orm/migrations/versions/d9b711555be8_ext_control_plane.py +0 -0
  20. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/py_pve_cloud.egg-info/SOURCES.txt +0 -0
  21. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/py_pve_cloud.egg-info/dependency_links.txt +0 -0
  22. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/py_pve_cloud.egg-info/entry_points.txt +0 -0
  23. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/py_pve_cloud.egg-info/requires.txt +0 -0
  24. {py_pve_cloud-0.1.2 → py_pve_cloud-0.2.0}/src/py_pve_cloud.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: py-pve-cloud
3
- Version: 0.1.2
3
+ Version: 0.2.0
4
4
  Author-email: Tobias Huebner <tobias.huebner@vmzberlin.com>
5
5
  License-Expression: GPL-3.0-or-later
6
6
  License-File: LICENSE
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "py-pve-cloud"
7
- version = "0.1.2"
7
+ version = "0.2.0"
8
8
  authors = [{ name = "Tobias Huebner", email = "tobias.huebner@vmzberlin.com" }]
9
9
  license = "GPL-3.0-or-later"
10
10
  license-files = ["LICENSE"]
@@ -5,6 +5,7 @@ import socket
5
5
  import paramiko
6
6
  import dns.resolver
7
7
  import base64
8
+ import re
8
9
 
9
10
 
10
11
  def get_cloud_domain(target_pve):
@@ -59,7 +60,13 @@ def get_cloud_env(pve_host):
59
60
 
60
61
  patroni_pass = stdout.read().decode('utf-8').strip()
61
62
 
62
- return cluster_vars, patroni_pass
63
+ # fetch bind update key for ingress dns validation
64
+ _, stdout, _ = ssh.exec_command("sudo cat /etc/pve/cloud/secrets/internal.key")
65
+ bind_key_file = stdout.read().decode('utf-8')
66
+
67
+ bind_internal_key = re.search(r'secret\s+"([^"]+)";', bind_key_file).group(1)
68
+
69
+ return cluster_vars, patroni_pass, bind_internal_key
63
70
 
64
71
 
65
72
  def get_online_pve_host_prsr(args):
@@ -90,7 +97,7 @@ def get_ssh_master_kubeconfig(cluster_vars, stack_name):
90
97
  def export_envr(args):
91
98
  ansible_host = get_online_pve_host(args.target_pve)
92
99
  cloud_domain = get_cloud_domain(args.target_pve)
93
- cluster_vars, patroni_pass = get_cloud_env(ansible_host)
100
+ cluster_vars, patroni_pass, bind_internal_key = get_cloud_env(ansible_host)
94
101
  print(f"export PVE_ANSIBLE_HOST='{ansible_host}'")
95
102
  print(f"export PVE_CLOUD_DOMAIN='{cloud_domain}'")
96
103
 
@@ -101,7 +108,8 @@ def export_envr(args):
101
108
  print(f"export TF_VAR_cluster_proxy_ip='{cluster_vars['pve_haproxy_floating_ip_internal']}'")
102
109
  print(f"export TF_VAR_pve_cloud_pg_cstr=\"postgresql+psycopg2://postgres:{patroni_pass}@{cluster_vars['pve_haproxy_floating_ip_internal']}:5000/pve_cloud?sslmode=disable\"")
103
110
  print(f"export TF_VAR_master_b64_kubeconf='{get_ssh_master_kubeconfig(cluster_vars, args.stack_name)}'")
104
-
111
+ print(f"export TF_VAR_bind_master_ip='{cluster_vars['bind_master_ip']}'")
112
+ print(f"export TF_VAR_bind_internal_key='{bind_internal_key}'")
105
113
 
106
114
 
107
115
  def main():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: py-pve-cloud
3
- Version: 0.1.2
3
+ Version: 0.2.0
4
4
  Author-email: Tobias Huebner <tobias.huebner@vmzberlin.com>
5
5
  License-Expression: GPL-3.0-or-later
6
6
  License-File: LICENSE
File without changes
File without changes
File without changes