package dev.dinauer.service; import dev.dinauer.utils.ClientProvider; import io.fabric8.kubernetes.api.model.apps.Deployment; import io.fabric8.kubernetes.client.dsl.AppsAPIGroupDSL; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import org.jboss.resteasy.reactive.common.NotImplementedYet; import java.util.List; import java.util.Optional; @ApplicationScoped public class DeploymentService implements ResourceService { @Inject ClientProvider clientProvider; @Override public void delete(String name, String namespace) { throw new NotImplementedYet(); } @Override public Deployment findByNameAndNamespace(String name, String namespace) { return null; } @Override public List findByNamespace(String namespace) { try(AppsAPIGroupDSL dsl = clientProvider.getClient().apps()) { return dsl.deployments().inNamespace(namespace).list().getItems(); } } public List findAll() { try(AppsAPIGroupDSL dsl = clientProvider.getClient().apps()) { return dsl.deployments().inAnyNamespace().list().getItems(); } } @Override public Optional findOptionalByNameAndNamespace(String name, String namespace) { return Optional.empty(); } public void rescale(String namespace, String name, int replicaCount) { try(AppsAPIGroupDSL dsl = clientProvider.getClient().apps()) { dsl.deployments().inNamespace(namespace).withName(name).scale(replicaCount); } } }