public ApplicationUpdateService(
     IDockerClient dockerClient,
     ApplicationDockerContainerFactory dockerContainerFactory,
     DeviceApiClient deviceApiClient,
     ILogger logger) : base(logger, dockerClient)
 {
     _dockerClient           = dockerClient ?? throw new ArgumentNullException(nameof(dockerClient));
     _dockerContainerFactory = dockerContainerFactory ?? throw new ArgumentNullException(nameof(dockerContainerFactory));
     _deviceApiClient        = deviceApiClient ?? throw new ArgumentNullException(nameof(deviceApiClient));
 }
Esempio n. 2
0
        public LogBatchCollector(DeviceApiClient deviceApiClient, ILogger logger)
        {
            _deviceApiClient = deviceApiClient ?? throw new ArgumentNullException(nameof(deviceApiClient));
            _logger          = logger.ForContext(GetType());
            _timer           = new Timer(TimerInterval)
            {
                Enabled   = false,
                AutoReset = false
            };

            _timer.Elapsed += TimerElapsed;
        }
Esempio n. 3
0
 public AgentUpdateService(
     IDockerClient dockerClient,
     AgentDockerContainerFactory dockerContainerFactory,
     IPlatformDetector platformDetecter,
     DeviceApiClient deviceApiClient,
     ILogger logger) : base(logger, dockerClient)
 {
     _dockerClient           = dockerClient ?? throw new ArgumentNullException(nameof(dockerClient));
     _dockerContainerFactory = dockerContainerFactory ?? throw new ArgumentNullException(nameof(dockerContainerFactory));
     _platformDetecter       = platformDetecter;
     _deviceApiClient        = deviceApiClient ?? throw new ArgumentNullException(nameof(deviceApiClient));
 }
Esempio n. 4
0
 public BootstrapHost(
     IDockerClient dockerClient,
     DeviceApiClient deviceApiClient,
     AgentDockerContainerFactory agentDockerContainerFactory,
     AgentUpdateService agentUpdateService,
     ILogger logger)
 {
     _dockerClient                = dockerClient;
     _deviceApiClient             = deviceApiClient;
     _agentDockerContainerFactory = agentDockerContainerFactory;
     _agentUpdateService          = agentUpdateService;
     Logger = logger.ForContext(GetType());
 }
Esempio n. 5
0
        public AgentHost(
            IDeviceConfiguration deviceConfiguration,
            IUptimeProvider uptimeProvider,
            DeviceStateProvider deviceStateProvider,
            IPathFactory pathFactory,
            DeviceApiClient deviceApiClient,
            ApplicationUpdateService applicationUpdateService,
            IRootFileSystemUpdateService rootFileSystemUpdateService,
            AgentUpdateService agentUpdateService,
            IDockerClient dockerClient,
            ApplicationLogSucker applicationLogSucker,
            ILogger logger)
        {
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            _deviceApiClient             = deviceApiClient ?? throw new ArgumentNullException(nameof(deviceApiClient));
            _applicationUpdateService    = applicationUpdateService ?? throw new ArgumentNullException(nameof(applicationUpdateService));
            _rootFileSystemUpdateService = rootFileSystemUpdateService ?? throw new ArgumentNullException(nameof(rootFileSystemUpdateService));
            _agentUpdateService          = agentUpdateService ?? throw new ArgumentNullException(nameof(agentUpdateService));
            _dockerClient         = dockerClient ?? throw new ArgumentNullException(nameof(dockerClient));
            _applicationLogSucker = applicationLogSucker ?? throw new ArgumentNullException(nameof(applicationLogSucker));
            _logger = logger.ForContext(GetType());
            _deviceStateProvider = deviceStateProvider ?? throw new ArgumentNullException(nameof(deviceStateProvider));
            _uptimeProvider      = uptimeProvider ?? throw new ArgumentNullException(nameof(uptimeProvider));
            _deviceConfiguration = deviceConfiguration;

            //Config
            _logger.Information("Docker Endpoint: {DockerSocket}", pathFactory.DockerEndpoint);
            _logger.Information("DeviceId: {DeviceId}", deviceConfiguration?.DeviceId);
            _logger.Information("DeviceApi Url: {DeviceApiUrl}", deviceConfiguration?.DeviceApiUrl);

            //The agent should be updated before the application
            _updateServices = new UpdateService[]
            {
                _agentUpdateService,
                _applicationUpdateService
            };
        }