using k8s;
using Microsoft.AspNetCore.Mvc;
namespace webApiDependencyInjection.Controllers
{
[ApiController]
[Route("[controller]")]
public class ExampleDependencyInjectionOnConstructorController : ControllerBase
{
private readonly IKubernetes kubernetesClient;
///
/// Inject the kubernets class in the constructor.
///
///
public ExampleDependencyInjectionOnConstructorController(IKubernetes kubernetesClient)
{
this.kubernetesClient = kubernetesClient;
}
///
/// Example using the kubernetes client obtained from the constructor (this.kubernetesClient).
///
///
[HttpGet()]
public IEnumerable GetPods()
{
// Read the list of pods contained in default namespace
var podList = this.kubernetesClient.CoreV1.ListNamespacedPod("default");
// Return names of pods
return podList.Items.Select(pod => pod.Metadata.Name);
}
}
}