/// <summary> /// Instantiates an instance of <see cref="BuildPodWatcher" /> /// </summary> /// <param name="logger">A <see cref="ILogger">logger</see></param> /// <param name="executionContextManager">An <see cref="IExecutionContextManager"> execution context manager</see></param> /// <param name="clientFactory">A factory for creating an <see cref="IKubernetes"> kubernetes client</see></param> /// <param name="metadataFactory">A factory for creating <see cref="ImprovementMetadata" /> </param> /// <param name="buildPodProcessor">An <see cref="IBuildPodProcessor"> build pod processor</see></param> public BuildPodWatcher( ILogger logger, IExecutionContextManager executionContextManager, FactoryFor <IKubernetes> clientFactory, IImprovementMetadataFactory metadataFactory, IBuildPodProcessor buildPodProcessor ) { _clientFactory = clientFactory; _logger = logger; _executionContextManager = executionContextManager; _metadataFactory = metadataFactory; _buildPodProcessor = buildPodProcessor; }
/// <summary> /// Instantiates an instance of <see cref="Pod"/> /// </summary> /// <param name="pod">The kubernetes pod</param> /// <param name="clientFactory">A factory for creating the <see cref="IKubernetes">kubernetes client</see></param> /// <param name="metadataFactory">A factory for creating <see cref="ImprovementMetadata" /></param> public Pod(V1Pod pod, FactoryFor <IKubernetes> clientFactory, IImprovementMetadataFactory metadataFactory) { _pod = pod; _clientFactory = clientFactory; Metadata = metadataFactory.BuildFrom(pod.Metadata.Labels, pod.Metadata.Name); }