예제 #1
0
 public WatchdogProber(IAutoCraneConfig config, ILoggerFactory loggerFactory, IPodGetter podGetter, IWatchdogStatusPutter watchdogStatusPutter)
 {
     this.config               = config;
     this.podGetter            = podGetter;
     this.watchdogStatusPutter = watchdogStatusPutter;
     this.logger               = loggerFactory.CreateLogger <WatchdogProber>();
     this.httpClient           = new HttpClient();
 }
예제 #2
0
 public KubernetesClient(IKubernetesConfigProvider configProvider, IWatchdogStatusAggregator statusAggregator, ILoggerFactory loggerFactory, IAutoCraneConfig config, IDurationParser durationParser)
 {
     this.logger           = loggerFactory.CreateLogger <KubernetesClient>();
     this.client           = new Kubernetes(configProvider.Get());
     this.statusAggregator = statusAggregator;
     this.config           = config;
     this.durationParser   = durationParser;
 }
예제 #3
0
 public LeaderElection(IEndpointAnnotationAccessor client, IAutoCraneConfig config, ILoggerFactory loggerFactory)
 {
     this.logger   = loggerFactory.CreateLogger <LeaderElection>();
     this.client   = client;
     this.ns       = config.Namespaces.First();
     this.identity = Environment.MachineName;
     if (!config.IsAllowedNamespace(this.ns))
     {
         throw new ForbiddenException($"namespace: {this.ns}");
     }
 }
예제 #4
0
 public Orchestrator(IAutoCraneConfig config, ILoggerFactory loggerFactory, IFailingPodGetter failingPodGetter, IPodEvicter podEvicter, IPodDataRequestGetter podGetter, IDataRepositoryManifestFetcher manifestFetcher, IPodAnnotationPutter podAnnotationPutter, IDataRepositoryKnownGoodAccessor knownGoodAccessor, IDataRepositoryLatestVersionAccessor upgradeAccessor, IDataRepositoryUpgradeOracleFactory upgradeOracleFactory, IClock clock, ILeaderElection leaderElection, IExpiredObjectDeleter expiredObjectDeleter)
 {
     this.config               = config;
     this.failingPodGetter     = failingPodGetter;
     this.podEvicter           = podEvicter;
     this.dataRequestGetter    = podGetter;
     this.manifestFetcher      = manifestFetcher;
     this.podAnnotationPutter  = podAnnotationPutter;
     this.knownGoodAccessor    = knownGoodAccessor;
     this.upgradeAccessor      = upgradeAccessor;
     this.upgradeOracleFactory = upgradeOracleFactory;
     this.clock                = clock;
     this.leaderElection       = leaderElection;
     this.expiredObjectDeleter = expiredObjectDeleter;
     this.logger               = loggerFactory.CreateLogger <Orchestrator>();
 }