23 lines
		
	
	
		
			901 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			901 B
		
	
	
	
		
			Python
		
	
	
	
	
	
"""outpost tasks"""
 | 
						|
from passbook.outposts.models import Outpost, OutpostDeploymentType, OutpostType
 | 
						|
from passbook.providers.proxy.controllers.kubernetes import ProxyKubernetesController
 | 
						|
from passbook.root.celery import CELERY_APP
 | 
						|
 | 
						|
 | 
						|
@CELERY_APP.task(bind=True)
 | 
						|
# pylint: disable=unused-argument
 | 
						|
def outpost_k8s_controller(self):
 | 
						|
    """Launch Kubernetes Controller for all Outposts which are deployed in kubernetes"""
 | 
						|
    for outpost in Outpost.objects.filter(
 | 
						|
        deployment_type=OutpostDeploymentType.KUBERNETES
 | 
						|
    ):
 | 
						|
        outpost_k8s_controller_single.delay(outpost.pk.hex, outpost.type)
 | 
						|
 | 
						|
 | 
						|
@CELERY_APP.task(bind=True)
 | 
						|
# pylint: disable=unused-argument
 | 
						|
def outpost_k8s_controller_single(self, outpost: str, outpost_type: str):
 | 
						|
    """Launch Kubernetes manager and reconcile deployment/service/etc"""
 | 
						|
    if outpost_type == OutpostType.PROXY:
 | 
						|
        ProxyKubernetesController(outpost).run()
 |