Ejemplo n.º 1
0
 /// <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
                ));
 }
Ejemplo n.º 2
0
        /// <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);
        }