/// <summary> /// Create a new <see cref="KubeApiClient"/> using pod-level configuration. /// </summary> /// <param name="loggerFactory"> /// An optional <see cref="ILoggerFactory"/> used to create loggers for client components. /// </param> /// <returns> /// The configured <see cref="KubeApiClient"/>. /// </returns> /// <remarks> /// Only works from within a container running in a Kubernetes Pod. /// </remarks> public static KubeApiClient CreateFromPodServiceAccount(ILoggerFactory loggerFactory = null) { return(Create( KubeClientOptions.FromPodServiceAccount(), loggerFactory )); }
/// <summary> /// Create a new <see cref="KubeApiClient"/> using pod-level configuration. /// </summary> /// <param name="loggerFactory"> /// An optional <see cref="ILoggerFactory"/> used to create loggers for client components. /// </param> /// <returns> /// The configured <see cref="KubeApiClient"/>. /// </returns> /// <remarks> /// Only works from within a container running in a Kubernetes Pod. /// </remarks> public static KubeApiClient CreateFromPodServiceAccount(ILoggerFactory loggerFactory = null) { KubeClientOptions clientOptions = KubeClientOptions.FromPodServiceAccount(); clientOptions.LoggerFactory = loggerFactory; return(Create(clientOptions)); }
/// <summary> /// Add a <see cref="KubeApiClient" /> to the service collection. Automatically use a pod service account if no API endpoint is configured. /// </summary> /// <param name="services"> /// The service collection to configure. /// </param> /// <param name="configuration"> /// Configuration to be deserialized as <see cref="KubeClientOptions"/>. /// </param> public static IServiceCollection AddKubeClient(this IServiceCollection services, IConfiguration configuration) { var options = new KubeClientOptions(); configuration.Bind(options); if (options.ApiEndPoint == null) { options = KubeClientOptions.FromPodServiceAccount(); configuration.Bind(options); } services.AddKubeClient(options); return(services); }