py-pve-cloud-backup 3.1.2__tar.gz → 3.2.1__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.
Files changed (25) hide show
  1. {py_pve_cloud_backup-3.1.2/src/py_pve_cloud_backup.egg-info → py_pve_cloud_backup-3.2.1}/PKG-INFO +2 -2
  2. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/requirements.txt +1 -1
  3. py_pve_cloud_backup-3.2.1/src/pve_cloud_backup/_version.py +1 -0
  4. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/pve_cloud_backup/daemon/brctl.py +33 -8
  5. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1/src/py_pve_cloud_backup.egg-info}/PKG-INFO +2 -2
  6. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/py_pve_cloud_backup.egg-info/requires.txt +1 -1
  7. py_pve_cloud_backup-3.1.2/src/pve_cloud_backup/_version.py +0 -1
  8. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/LICENSE.md +0 -0
  9. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/README.md +0 -0
  10. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/pyproject.toml +0 -0
  11. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/setup.cfg +0 -0
  12. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/pve_cloud_backup/daemon/bdd.py +0 -0
  13. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/pve_cloud_backup/daemon/funcs.py +0 -0
  14. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/pve_cloud_backup/daemon/restore.py +0 -0
  15. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/pve_cloud_backup/daemon/rpc.py +0 -0
  16. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/pve_cloud_backup/fetcher/funcs.py +0 -0
  17. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/pve_cloud_backup/fetcher/git.py +0 -0
  18. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/pve_cloud_backup/fetcher/main.py +0 -0
  19. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/pve_cloud_backup/fetcher/net.py +0 -0
  20. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/pve_cloud_backup/fetcher/nextcloud.py +0 -0
  21. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/pve_cloud_backup/fetcher/patroni.py +0 -0
  22. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/py_pve_cloud_backup.egg-info/SOURCES.txt +0 -0
  23. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/py_pve_cloud_backup.egg-info/dependency_links.txt +0 -0
  24. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/py_pve_cloud_backup.egg-info/entry_points.txt +0 -0
  25. {py_pve_cloud_backup-3.1.2 → py_pve_cloud_backup-3.2.1}/src/py_pve_cloud_backup.egg-info/top_level.txt +0 -0
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: py-pve-cloud-backup
3
- Version: 3.1.2
3
+ Version: 3.2.1
4
4
  Author-email: Tobias Huebner <tobias.huebner@vmzberlin.com>
5
5
  License-Expression: GPL-3.0-or-later
6
6
  License-File: LICENSE.md
7
- Requires-Dist: py-pve-cloud<3.1.0,>=3.0.10
7
+ Requires-Dist: py-pve-cloud<3.2.0,>=3.1.1
8
8
  Requires-Dist: kubernetes==34.1.0
9
9
  Requires-Dist: requests==2.32.5
10
10
  Requires-Dist: zstandard==0.25.0
@@ -1,5 +1,5 @@
1
1
  # pessimistic operator for local tdd installs (pip install -e .)
2
- py-pve-cloud>=3.0.10,<3.1.0
2
+ py-pve-cloud>=3.1.1,<3.2.0
3
3
  kubernetes==34.1.0
4
4
  requests==2.32.5
5
5
  zstandard==0.25.0
@@ -0,0 +1 @@
1
+ __version__ = "3.2.1"
@@ -16,9 +16,10 @@ from kubernetes.client import (V1ConfigMapVolumeSource, V1Container, V1EnvVar,
16
16
  V1PodTemplateSpec, V1SecretVolumeSource,
17
17
  V1Volume, V1VolumeMount)
18
18
  from kubernetes.config.kube_config import KubeConfigLoader
19
- from pve_cloud.cli.pvclu import (get_cloud_domain, get_cluster_vars,
20
- get_ssh_master_kubeconfig)
21
- from pve_cloud.lib.inventory import get_online_pve_host
19
+ from pve_cloud.cli.pvclu import (get_cloud_domain, get_ssh_master_kubeconfig,
20
+ get_ssh_remote_master_kubeconfig)
21
+ from pve_cloud.lib.inventory import (get_cluster_vars,
22
+ get_online_pve_host_from_target_pve)
22
23
  from pve_cloud_backup._version import __version__ as bkp_version
23
24
 
24
25
  from pve_cloud_backup.daemon.funcs import get_backup_base_dir
@@ -159,14 +160,38 @@ async def launch_restore_job(args):
159
160
  kubespray_inv = yaml.safe_load(file)
160
161
 
161
162
  # fetch the kubeconfig of the cluster we want to launch the restore job in
162
- online_pve_host = get_online_pve_host(kubespray_inv["target_pve"])
163
- cluster_vars = get_cluster_vars(online_pve_host)
164
- cloud_domain = get_cloud_domain(kubespray_inv["target_pve"])
163
+ online_pve_host, jump_host = get_online_pve_host_from_target_pve(
164
+ kubespray_inv["target_pve"]
165
+ )
165
166
 
166
- kubeconfig_dict = yaml.safe_load(
167
- get_ssh_master_kubeconfig(cluster_vars, kubespray_inv["stack_name"])
167
+ external_cp_defined = (
168
+ "extra_control_plane_sans" in kubespray_inv
169
+ and kubespray_inv["extra_control_plane_sans"]
168
170
  )
169
171
 
172
+ if jump_host and not external_cp_defined:
173
+ raise NotImplementedError(
174
+ "Jump host functionality requires external san to be set for the kubernetes cluster!"
175
+ )
176
+
177
+ cloud_domain = get_cloud_domain(kubespray_inv["target_pve"])
178
+
179
+ if jump_host:
180
+ kubeconfig_dict = yaml.safe_load(
181
+ get_ssh_remote_master_kubeconfig(
182
+ kubespray_inv["stack_name"],
183
+ kubespray_inv["extra_control_plane_sans"][0],
184
+ jump_host,
185
+ online_pve_host,
186
+ )
187
+ )
188
+ else:
189
+ cluster_vars = get_cluster_vars(online_pve_host)
190
+
191
+ kubeconfig_dict = yaml.safe_load(
192
+ get_ssh_master_kubeconfig(cluster_vars, kubespray_inv["stack_name"])
193
+ )
194
+
170
195
  # init kube client for launching the restore job
171
196
  loader = KubeConfigLoader(config_dict=kubeconfig_dict)
172
197
  configuration = client.Configuration()
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: py-pve-cloud-backup
3
- Version: 3.1.2
3
+ Version: 3.2.1
4
4
  Author-email: Tobias Huebner <tobias.huebner@vmzberlin.com>
5
5
  License-Expression: GPL-3.0-or-later
6
6
  License-File: LICENSE.md
7
- Requires-Dist: py-pve-cloud<3.1.0,>=3.0.10
7
+ Requires-Dist: py-pve-cloud<3.2.0,>=3.1.1
8
8
  Requires-Dist: kubernetes==34.1.0
9
9
  Requires-Dist: requests==2.32.5
10
10
  Requires-Dist: zstandard==0.25.0
@@ -1,4 +1,4 @@
1
- py-pve-cloud<3.1.0,>=3.0.10
1
+ py-pve-cloud<3.2.0,>=3.1.1
2
2
  kubernetes==34.1.0
3
3
  requests==2.32.5
4
4
  zstandard==0.25.0
@@ -1 +0,0 @@
1
- __version__ = "3.1.2"