public static Deployment fromContainerDescriptionToDeployment( ContainerDescription description, String templateName) { if (description == null) { return null; } Deployment deployment = new Deployment(); deployment.apiVersion = KUBERNETES_API_VERSION_V1_BETA1; deployment.kind = DEPLOYMENT_TYPE; deployment.metadata = new ObjectMeta(); deployment.metadata.name = description.name; deployment.metadata.labels = new HashMap<>(); deployment.metadata.labels.put(KUBERNETES_LABEL_APP, templateName); deployment.spec = new DeploymentSpec(); deployment.spec.replicas = (description._cluster == null) ? Integer.valueOf(1) : description ._cluster; deployment.spec.template = new PodTemplateSpec(); deployment.spec.template.metadata = new ObjectMeta(); deployment.spec.template.metadata.labels = new HashMap<>(); deployment.spec.template.metadata.labels.put(KUBERNETES_LABEL_APP, templateName); deployment.spec.template.metadata.labels.put(KUBERNETES_LABEL_TIER, description.name); deployment.spec.template.spec = new PodSpec(); deployment.spec.template.spec.restartPolicy = fromContainerDescriptionRestartPolicyToPodRestartPolicy(description.restartPolicy); Container podContainer = fromContainerDescriptionToPodContainer(description); deployment.spec.template.spec.containers = Collections.singletonList(podContainer); return deployment; }