From 91c4928ec7c67d7ad261eaae30731fe8e259c7a5 Mon Sep 17 00:00:00 2001 From: Pierre Geeraert Date: Tue, 29 Jul 2025 11:27:47 +0100 Subject: [PATCH] add namespace and purge --- django_code/stash_management/apps.py | 117 +-------------------------- 1 file changed, 2 insertions(+), 115 deletions(-) diff --git a/django_code/stash_management/apps.py b/django_code/stash_management/apps.py index 6fa4669..eadf3bb 100644 --- a/django_code/stash_management/apps.py +++ b/django_code/stash_management/apps.py @@ -29,123 +29,10 @@ def handle_survey_form(request): environment = Environment(loader=FileSystemLoader("django_code/stash_management/templates/")) template = environment.get_template("template.stash-pornpics-dowloader.job.yml") pod_manifest_job = template.render(name=name, url=url) + - api_response = v1.create_namespaced_job(body=pod_manifest_job) + api_response = v1.create_namespaced_job(body=pod_manifest_job,namespace='stash') return HttpResponse(api_response) - # You can now process or store the data - #return HttpResponse(f"Received: {name}, {url}") - #return HttpResponse(content) - -def scale_up(request,namespace_name,deploy_name): - config.load_kube_config(config_file='/kubeconfig/config') - api = client.AppsV1Api() - deployment = api.read_namespaced_deployment(name=deploy_name, namespace=namespace_name) - deployment.spec.replicas = 1 - resp = api.patch_namespaced_deployment( - name=deploy_name, namespace=namespace_name, body=deployment); - #return HttpResponse('

Scaled up !

') - return render(request, 'start.html', {'namespace':namespace_name,'deployment': deploy_name, 'url': 'https://namespace.com'}) - - -def scale_down(request,namespace_name,deploy_name): - config.load_kube_config(config_file='/kubeconfig/config') - api = client.AppsV1Api() - deployment = api.read_namespaced_deployment(name=deploy_name, namespace=namespace_name) - deployment.spec.replicas = 0 - resp = api.patch_namespaced_deployment( - name=deploy_name, namespace=namespace_name, body=deployment); - #return HttpResponse('

Scaled down !

') - return render(request, 'shutdown.html', - {'namespace': namespace_name, 'deployment': deploy_name, 'url': 'https://namespace.com'}) - -def nodes(request): - config.load_kube_config(config_file='/code/kubeconfig') - v1 = client.CoreV1Api() -# v1.list_node() - pod_manifest = { - 'apiVersion': 'v1', - 'kind': 'Pod', - 'metadata': { - 'labels': { - 'bot': 'current-bot' - }, - 'name': 'podname', - 'namespace': 'echo-server' - - }, - 'spec': { - - 'containers': [{ - 'image': 'gitea.tryton.geeraert.eu/pi-ux-ce/bitwarden_cli:1.0.1', -# 'pod-running-timeout': '5m0s', - 'name': 'testpython', - 'env': [ - {'name': 'env_variable', 'value': 'env_value'}, - ] - }], - 'restartPolicy': 'Always', -# 'serviceAccountName': 'bots-service-account' - } - } - -# print(f'POD MANIFEST:\n{pod_manifest}') - api_response = v1.create_namespaced_pod(body=pod_manifest,namespace='echo-server') - return HttpResponse(api_response) - -def backup_job(request): - config.load_kube_config(config_file='/code/kubeconfig') - v1 = client.CoreV1Api() - #v1 = client.BatchV1Api() -# v1.list_node() - pod_manifest_job = { - 'apiVersion': 'batch/v1', - 'kind': 'Job', - 'metadata': { - 'name': 'bitwarden-backup-django', - 'namespace': 'bwbackup' - - }, - 'spec': { - 'template': { - 'spec': { - - 'containers': [{ - 'image': 'gitea.tryton.geeraert.eu/pi-ux-ce/bitwarden_cli:1.0.1', - 'name': 'testpython', - 'command': ['/bin/sh -c /config/export_bitwarden.sh'], - 'env': [ - {'name': 'env_variable', 'value': 'env_value'}, - ], - 'volumeMounts': [ - {'name': 'scripts', 'configMap': [{'name':'bitwarden-export-scripts'},]}, - ] - }], - 'restartPolicy': 'Always', - } - } - } - } - - api_response = v1.create_namespaced_job(body=pod_manifest_job) - return HttpResponse(api_response) - - -#help with yaml import -#https://github.com/kubernetes-client/python/issues/589 - -def backup_job_yaml(request,sync_target): - config.load_kube_config(config_file='/code/kubeconfig') - v1 = client.BatchV1Api() - - yaml_location = { - "synology" : "https://gitea.tryton.geeraert.eu/pi-ux-ce/Backup_kube/raw/branch/main/Infrequent_access/synology_pod.yaml", - "openmediavault":"https://gitea.tryton.geeraert.eu/pi-ux-ce/Backup_kube/raw/branch/main/Infrequent_access/openmediavault_pod.yaml" - } - print(yaml_location[sync_target]) - url_to_select=yaml_location[sync_target] - api_response = v1.create_namespaced_job(body=pod_manifest_job) - - return HttpResponse(api_response)