62 lines
1.6 KiB
Java
62 lines
1.6 KiB
Java
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<Deployment>
|
|
{
|
|
@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<Deployment> findByNamespace(String namespace)
|
|
{
|
|
try(AppsAPIGroupDSL dsl = clientProvider.getClient().apps())
|
|
{
|
|
return dsl.deployments().inNamespace(namespace).list().getItems();
|
|
}
|
|
}
|
|
|
|
public List<Deployment> findAll()
|
|
{
|
|
try(AppsAPIGroupDSL dsl = clientProvider.getClient().apps())
|
|
{
|
|
return dsl.deployments().inAnyNamespace().list().getItems();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public Optional<Deployment> 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);
|
|
}
|
|
}
|
|
}
|