Example #1
0
        private static async Task RunAsync(string orgName, string outputFileName, string cacheLocation, string githubToken, string ospoToken, string policyRepo)
        {
            var isForExcel   = outputFileName == null;
            var gitHubClient = await GitHubClientFactory.CreateAsync(githubToken);

            var ospoClient = await OspoClientFactory.CreateAsync(ospoToken);

            var cachedOrg = await CachedOrg.LoadAsync(gitHubClient, orgName, Console.Out, cacheLocation, forceUpdate : false);

            var userLinks = await MicrosoftUserLinks.LoadAsync(ospoClient);

            var context    = new PolicyAnalysisContext(cachedOrg, userLinks);
            var violations = PolicyRunner.Run(context);

            SaveVioloations(orgName, outputFileName, isForExcel, violations);

            if (!string.IsNullOrEmpty(policyRepo))
            {
                await FilePolicyViolationsAsync(gitHubClient, orgName, policyRepo, violations);
            }
        }
Example #2
0
        private void StartupRetry(object source, ElapsedEventArgs e)
        {
            new ServiceActiveComServer().Set();
            _hubConnection = _serviceSocket.ConnectSocket();
            var result = new PolicyRunner(EnumPolicy.Trigger.Startup).Run();

            if (result)
            {
                _checkinTimer          = new Timer(DtoGobalSettings.CheckinTime * MillisecondsPerMinute);
                _checkinTimer.Elapsed += RecurringCheckin;
                _checkinTimer.Enabled  = true;
                _startupRetryTime.Stop();
                _startupRetryTime.Enabled = false;

                Logger.Info("Trigger Action: Startup. Complete.");
            }
            else
            {
                Logger.Error("Checkin Failed.  Trying Again In 5 Minutes");
            }
        }
Example #3
0
        public void Startup()
        {
            _hubConnection = _serviceSocket.ConnectSocket();
            Logger.Info("Checking For Startup Policies");
            var result = new PolicyRunner(EnumPolicy.Trigger.Startup).Run();

            if (result)
            {
                Logger.Info(string.Format("Check In Time Set To {0}", DtoGobalSettings.CheckinTime));
                _checkinTimer          = new Timer(DtoGobalSettings.CheckinTime * MillisecondsPerMinute);
                _checkinTimer.Elapsed += RecurringCheckin;
                _checkinTimer.Enabled  = true;
                Logger.Info("Trigger Action: Startup. Complete.");
            }
            else
            {
                Logger.Error("Startup Checkin Failed.  Trying Again In 5 Minutes");
                //start a timer to try and check in every 5 minutes if checkin failed
                _startupRetryTime          = new Timer(5 * MillisecondsPerMinute);
                _startupRetryTime.Elapsed += StartupRetry;
                _startupRetryTime.Enabled  = true;
            }
        }
 public PolicyRunnerComponent()
 {
     _microComponent = new PolicyRunner();
 }