├── .github └── ISSUE_TEMPLATE │ ├── ---bug-report.md │ ├── ---feature-request.md │ └── --questions.md ├── .gitignore ├── .pre-commit-config.yaml ├── .travis.yml ├── LICENSE ├── NOTICE.txt ├── README.md ├── _config.yml ├── api ├── pacman-api-admin │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── tmobile │ │ │ │ └── pacman │ │ │ │ └── api │ │ │ │ └── admin │ │ │ │ ├── AdminApplication.java │ │ │ │ ├── EsIndexInitializer.java │ │ │ │ ├── common │ │ │ │ └── AdminConstants.java │ │ │ │ ├── config │ │ │ │ ├── AuthConfig.java │ │ │ │ ├── CrossOriginFilter.java │ │ │ │ ├── GlobalConfig.java │ │ │ │ └── PacmanConfiguration.java │ │ │ │ ├── controller │ │ │ │ ├── AdminController.java │ │ │ │ ├── AssetGroupController.java │ │ │ │ ├── AssetGroupExceptionController.java │ │ │ │ ├── ConfigPropertyController.java │ │ │ │ ├── DatasourceController.java │ │ │ │ ├── DomainController.java │ │ │ │ ├── JobExecutionManagerController.java │ │ │ │ ├── PluginController.java │ │ │ │ ├── PolicyController.java │ │ │ │ ├── RuleController.java │ │ │ │ ├── TargetTypesController.java │ │ │ │ ├── UserController.java │ │ │ │ ├── UserRolesController.java │ │ │ │ └── UserRolesMappingController.java │ │ │ │ ├── domain │ │ │ │ ├── AWSCredentials.java │ │ │ │ ├── AdminProperty.java │ │ │ │ ├── AssetGroupDetailsResponse.java │ │ │ │ ├── AssetGroupExceptionDetailsForES.java │ │ │ │ ├── AssetGroupExceptionDetailsRequest.java │ │ │ │ ├── AssetGroupExceptionProjections.java │ │ │ │ ├── AssetGroupProjections.java │ │ │ │ ├── AssetGroupTargetDetailsDomain.java │ │ │ │ ├── AssetGroupTargetProjections.java │ │ │ │ ├── AssetGroupTargetTypes.java │ │ │ │ ├── AssetGroupView.java │ │ │ │ ├── AttributeDetails.java │ │ │ │ ├── AttributeValuesRequest.java │ │ │ │ ├── Client.java │ │ │ │ ├── ConfigPropertyAuditItem.java │ │ │ │ ├── ConfigPropertyAuditTrail.java │ │ │ │ ├── ConfigPropertyDataChange.java │ │ │ │ ├── ConfigPropertyItem.java │ │ │ │ ├── ConfigPropertyNode.java │ │ │ │ ├── ConfigPropertyRequest.java │ │ │ │ ├── ConfigPropertyRollBackItem.java │ │ │ │ ├── ConfigPropertyRollbackPreview.java │ │ │ │ ├── ConfigTreeNode.java │ │ │ │ ├── CreateAssetGroupExceptionDetailsRequest.java │ │ │ │ ├── CreatePolicyDetails.java │ │ │ │ ├── CreateRoleDetailsRequest.java │ │ │ │ ├── CreateUpdateAssetGroupDetails.java │ │ │ │ ├── CreateUpdateDomain.java │ │ │ │ ├── CreateUpdateRuleDetails.java │ │ │ │ ├── CreateUpdateTargetTypeDetailsRequest.java │ │ │ │ ├── DeleteAssetGroupExceptionRequest.java │ │ │ │ ├── DeleteAssetGroupRequest.java │ │ │ │ ├── ElasticSearchProperty.java │ │ │ │ ├── ExceptionDetails.java │ │ │ │ ├── JobDetails.java │ │ │ │ ├── JobExecutionManagerListProjections.java │ │ │ │ ├── JobProperty.java │ │ │ │ ├── LambdaProperty.java │ │ │ │ ├── Oauth2.java │ │ │ │ ├── PluginDetails.java │ │ │ │ ├── PolicyListProjections.java │ │ │ │ ├── Response.java │ │ │ │ ├── RoleBase.java │ │ │ │ ├── RuleDetails.java │ │ │ │ ├── RuleProjection.java │ │ │ │ ├── RuleProperty.java │ │ │ │ ├── S3Property.java │ │ │ │ ├── SecurityProperty.java │ │ │ │ ├── StickyExceptionResponse.java │ │ │ │ ├── TargetTypeAttribute.java │ │ │ │ ├── TargetTypeRuleBase.java │ │ │ │ ├── TargetTypeRuleDetails.java │ │ │ │ ├── TargetTypeRuleViewDetails.java │ │ │ │ ├── TargetTypesDetails.java │ │ │ │ ├── TargetTypesProjection.java │ │ │ │ ├── TargetTypesProjections.java │ │ │ │ ├── TargetTypesProperty.java │ │ │ │ ├── UpdateAssetGroupDetails.java │ │ │ │ ├── UpdatePolicyDetails.java │ │ │ │ ├── UpdateRoleDetailsRequest.java │ │ │ │ ├── UserDetails.java │ │ │ │ ├── UserDetailsRequest.java │ │ │ │ ├── UserLoginDetails.java │ │ │ │ ├── UserRoleConfigRequest.java │ │ │ │ ├── UserRolesMappingResponse.java │ │ │ │ ├── UserRolesProjections.java │ │ │ │ └── UserRolesResponse.java │ │ │ │ ├── exceptions │ │ │ │ ├── CustomizedResponseEntityExceptionHandler.java │ │ │ │ ├── ExceptionResponse.java │ │ │ │ ├── PacManException.java │ │ │ │ ├── PacManReturnException.java │ │ │ │ └── RuleJarFileMissingException.java │ │ │ │ ├── repository │ │ │ │ ├── AssetGroupExceptionRepository.java │ │ │ │ ├── AssetGroupRepository.java │ │ │ │ ├── AssetGroupTargetDetailsRepository.java │ │ │ │ ├── AssetGroupTargetTypeRepository.java │ │ │ │ ├── ConfigPropertyAuditRepository.java │ │ │ │ ├── ConfigPropertyMetadataRepository.java │ │ │ │ ├── ConfigPropertyRelationRepository.java │ │ │ │ ├── ConfigPropertyRepository.java │ │ │ │ ├── DatasourceRepository.java │ │ │ │ ├── DomainRepository.java │ │ │ │ ├── JobExecutionManagerRepository.java │ │ │ │ ├── PolicyRepository.java │ │ │ │ ├── RuleCategoryRepository.java │ │ │ │ ├── RuleRepository.java │ │ │ │ ├── TargetTypesRepository.java │ │ │ │ ├── TaskRepository.java │ │ │ │ ├── UserPreferencesRepository.java │ │ │ │ ├── UserRepository.java │ │ │ │ ├── UserRolesMappingRepository.java │ │ │ │ ├── UserRolesRepository.java │ │ │ │ ├── model │ │ │ │ │ ├── AssetGroupDetails.java │ │ │ │ │ ├── AssetGroupException.java │ │ │ │ │ ├── AssetGroupTargetDetails.java │ │ │ │ │ ├── ConfigProperty.java │ │ │ │ │ ├── ConfigPropertyAudit.java │ │ │ │ │ ├── ConfigPropertyKey.java │ │ │ │ │ ├── ConfigPropertyMetadata.java │ │ │ │ │ ├── ConfigPropertyRelation.java │ │ │ │ │ ├── Datasource.java │ │ │ │ │ ├── Domain.java │ │ │ │ │ ├── JobExecutionManager.java │ │ │ │ │ ├── Policy.java │ │ │ │ │ ├── Rule.java │ │ │ │ │ ├── RuleCategory.java │ │ │ │ │ ├── TargetTypes.java │ │ │ │ │ ├── Task.java │ │ │ │ │ ├── User.java │ │ │ │ │ ├── UserPreferences.java │ │ │ │ │ ├── UserRoles.java │ │ │ │ │ └── UserRolesMapping.java │ │ │ │ └── service │ │ │ │ │ ├── AdminService.java │ │ │ │ │ ├── AssetGroupExceptionService.java │ │ │ │ │ ├── AssetGroupExceptionServiceImpl.java │ │ │ │ │ ├── AssetGroupService.java │ │ │ │ │ ├── AssetGroupServiceImpl.java │ │ │ │ │ ├── AssetGroupTargetDetailsService.java │ │ │ │ │ ├── AssetGroupTargetDetailsServiceImpl.java │ │ │ │ │ ├── ConfigPropertyService.java │ │ │ │ │ ├── ConfigPropertyServiceImpl.java │ │ │ │ │ ├── DatasourceService.java │ │ │ │ │ ├── DatasourceServiceImpl.java │ │ │ │ │ ├── DomainService.java │ │ │ │ │ ├── DomainServiceImpl.java │ │ │ │ │ ├── EsIndexInitializerService.java │ │ │ │ │ ├── EsIndexInitializerServiceImpl.java │ │ │ │ │ ├── JobExecutionManagerService.java │ │ │ │ │ ├── JobExecutionManagerServiceImpl.java │ │ │ │ │ ├── PluginService.java │ │ │ │ │ ├── PluginServiceImpl.java │ │ │ │ │ ├── PolicyService.java │ │ │ │ │ ├── PolicyServiceImpl.java │ │ │ │ │ ├── RuleService.java │ │ │ │ │ ├── RuleServiceImpl.java │ │ │ │ │ ├── TargetTypesService.java │ │ │ │ │ ├── TargetTypesServiceImpl.java │ │ │ │ │ ├── UserPreferencesService.java │ │ │ │ │ ├── UserPreferencesServiceImpl.java │ │ │ │ │ ├── UserRolesMappingService.java │ │ │ │ │ ├── UserRolesMappingServiceImpl.java │ │ │ │ │ ├── UserRolesService.java │ │ │ │ │ ├── UserRolesServiceImpl.java │ │ │ │ │ ├── UserService.java │ │ │ │ │ └── UserServiceImpl.java │ │ │ │ ├── service │ │ │ │ ├── AmazonClientBuilderService.java │ │ │ │ ├── AwsS3BucketService.java │ │ │ │ ├── CommonService.java │ │ │ │ └── NotificationUtil.java │ │ │ │ └── util │ │ │ │ └── AdminUtils.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── additional-spring-configuration-metadata.json │ │ │ ├── banner.txt │ │ │ ├── bootstrap.yml │ │ │ └── spring-logback.xml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── tmobile │ │ │ └── pacman │ │ │ └── api │ │ │ └── admin │ │ │ ├── AdminApplicationTest.java │ │ │ ├── config │ │ │ └── PacmanConfigurationTest.java │ │ │ ├── controller │ │ │ ├── AssetGroupControllerTest.java │ │ │ ├── AssetGroupExceptionControllerTest.java │ │ │ ├── DatasourceControllerTest.java │ │ │ ├── DomainControllerTest.java │ │ │ ├── JobExecutionManagerControllerTest.java │ │ │ ├── PolicyControllerTest.java │ │ │ ├── RuleControllerTest.java │ │ │ ├── TargetTypesControllerTest.java │ │ │ ├── UserControllerTest.java │ │ │ ├── UserRolesControllerTest.java │ │ │ └── UserRolesMappingControllerTest.java │ │ │ └── repository │ │ │ └── service │ │ │ ├── AssetGroupExceptionServiceImplTest.java │ │ │ ├── AssetGroupServiceImplTest.java │ │ │ ├── AssetGroupTargetDetailsServiceImplTest.java │ │ │ ├── ConfigPropertyServiceImplTest.java │ │ │ ├── DatasourceServiceImplTest.java │ │ │ ├── DomainServiceImplTest.java │ │ │ ├── JobExecutionManagerServiceImplTest.java │ │ │ ├── PolicyServiceImplTest.java │ │ │ ├── RuleServiceImplTest.java │ │ │ ├── TargetTypesServiceImplTest.java │ │ │ ├── UserPreferencesServiceImplTest.java │ │ │ ├── UserRolesMappingServiceImplTest.java │ │ │ ├── UserRolesServiceImplTest.java │ │ │ └── UserServiceImplTest.java │ │ └── resources │ │ ├── application.yml │ │ └── bootstrap.yml ├── pacman-api-asset │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── tmobile │ │ │ │ └── pacman │ │ │ │ └── api │ │ │ │ └── asset │ │ │ │ ├── AssetApplication.java │ │ │ │ ├── AssetConstants.java │ │ │ │ ├── RefreshScopeConfig.java │ │ │ │ ├── client │ │ │ │ └── ComplianceServiceClient.java │ │ │ │ ├── config │ │ │ │ ├── SpringSecurityConfig.java │ │ │ │ └── WebConfigCORS.java │ │ │ │ ├── controller │ │ │ │ ├── AssetController.java │ │ │ │ ├── AssetCountController.java │ │ │ │ ├── AssetDetailController.java │ │ │ │ ├── AssetListController.java │ │ │ │ ├── AssetTrendController.java │ │ │ │ ├── CloudNotificationsController.java │ │ │ │ ├── ErrorHandler.java │ │ │ │ ├── RecommendationsController.java │ │ │ │ ├── SearchController.java │ │ │ │ └── Util.java │ │ │ │ ├── domain │ │ │ │ ├── AssetUpdateRequest.java │ │ │ │ ├── EventInfoResponse.java │ │ │ │ ├── PageFilterRequest.java │ │ │ │ ├── PolicyViolationApi.java │ │ │ │ ├── PolicyViolationApiData.java │ │ │ │ ├── Request.java │ │ │ │ ├── ResourceResponse.java │ │ │ │ ├── Response.java │ │ │ │ ├── ResponseWithCount.java │ │ │ │ ├── ResponseWithEditableFields.java │ │ │ │ ├── ResponseWithFieldsByTargetType.java │ │ │ │ ├── SearchCriteria.java │ │ │ │ ├── SearchException.java │ │ │ │ ├── SearchFilter.java │ │ │ │ ├── SearchFilterAttribute.java │ │ │ │ ├── SearchFilterAttributeGroup.java │ │ │ │ ├── SearchFilterItem.java │ │ │ │ ├── SearchResult.java │ │ │ │ └── TimePeriod.java │ │ │ │ ├── model │ │ │ │ └── DefaultUserAssetGroup.java │ │ │ │ ├── repository │ │ │ │ ├── AssetRepository.java │ │ │ │ ├── AssetRepositoryImpl.java │ │ │ │ ├── CloudNotificationsRepository.java │ │ │ │ ├── CloudNotificationsRepositoryImpl.java │ │ │ │ ├── CostRepository.java │ │ │ │ ├── PacmanRedshiftRepository.java │ │ │ │ ├── RecommendationsRepository.java │ │ │ │ ├── SearchRepository.java │ │ │ │ └── SearchRepositoryImpl.java │ │ │ │ └── service │ │ │ │ ├── AssetService.java │ │ │ │ ├── AssetServiceImpl.java │ │ │ │ ├── CloudNotificationService.java │ │ │ │ ├── CloudNotificationServiceImpl.java │ │ │ │ ├── RecommendationsService.java │ │ │ │ ├── RefineByBuilder.java │ │ │ │ ├── SearchCategorySubListBuilder.java │ │ │ │ ├── SearchPerformer.java │ │ │ │ ├── SearchService.java │ │ │ │ └── SearchServiceImpl.java │ │ └── resources │ │ │ ├── banner.txt │ │ │ ├── bootstrap.yml │ │ │ └── spring-logback.xml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── tmobile │ │ │ └── pacman │ │ │ └── api │ │ │ └── asset │ │ │ ├── controller │ │ │ ├── AssetControllerTest.java │ │ │ ├── AssetCountControllerTest.java │ │ │ ├── AssetDetailControllerTest.java │ │ │ ├── AssetListControllerTest.java │ │ │ ├── AssetTrendControllerTest.java │ │ │ ├── ErrorHandlerTest.java │ │ │ ├── RecommendationsControllerTest.java │ │ │ ├── SearchControllerTest.java │ │ │ └── UtilTest.java │ │ │ ├── repository │ │ │ ├── AssetRepositoryTest.java │ │ │ ├── CostRepositoryTest.java │ │ │ ├── PacmanRedshiftRepositoryTest.java │ │ │ ├── RecommendationsRepositoryTest.java │ │ │ └── SearchRepositoryTest.java │ │ │ └── service │ │ │ ├── AssetServiceTest.java │ │ │ ├── RecommendationServiceTest.java │ │ │ └── SearchServiceTest.java │ │ └── resources │ │ ├── application.yml │ │ └── bootstrap.yml ├── pacman-api-auth │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── tmobile │ │ │ │ └── pacman │ │ │ │ └── api │ │ │ │ └── auth │ │ │ │ ├── AuthServerApplication.java │ │ │ │ ├── RefreshScopeConfig.java │ │ │ │ ├── common │ │ │ │ └── Constants.java │ │ │ │ ├── config │ │ │ │ ├── AuthSwaggerConfig.java │ │ │ │ ├── AuthorizationServerConfig.java │ │ │ │ ├── CustomTokenEnhancerConfig.java │ │ │ │ ├── ResourceServerConfig.java │ │ │ │ ├── SimpleCORSFilter.java │ │ │ │ └── WebSecurityConfig.java │ │ │ │ ├── controller │ │ │ │ ├── AuthController.java │ │ │ │ └── ErrorHandler.java │ │ │ │ ├── domain │ │ │ │ ├── ResponseDetails.java │ │ │ │ ├── TokenDetails.java │ │ │ │ ├── UserClientCredentials.java │ │ │ │ └── UserLoginCredentials.java │ │ │ │ ├── model │ │ │ │ ├── User.java │ │ │ │ ├── UserCredentials.java │ │ │ │ ├── UserRoles.java │ │ │ │ └── UserRolesMapping.java │ │ │ │ ├── repository │ │ │ │ ├── AuthRepository.java │ │ │ │ ├── AuthRepositoryImpl.java │ │ │ │ ├── UserCredentialsRepository.java │ │ │ │ ├── UserRepository.java │ │ │ │ └── UserRolesMappingRepository.java │ │ │ │ ├── services │ │ │ │ ├── ApiService.java │ │ │ │ ├── AuthService.java │ │ │ │ ├── AzureAdAuthServiceImpl.java │ │ │ │ ├── CustomUserDetailsService.java │ │ │ │ ├── CustomUserService.java │ │ │ │ ├── DataBaseAuthServiceImpl.java │ │ │ │ ├── LdapAuthServiceImpl.java │ │ │ │ └── PacmanAuthenticationProvider.java │ │ │ │ └── utils │ │ │ │ └── AuthUtils.java │ │ └── resources │ │ │ ├── banner.txt │ │ │ ├── bootstrap.yml │ │ │ ├── spring-logback.xml │ │ │ └── templates │ │ │ ├── error2.html │ │ │ ├── form.html │ │ │ ├── index.html │ │ │ └── login.html │ │ └── test │ │ └── java │ │ └── com │ │ └── tmobile │ │ └── pacman │ │ └── api │ │ └── auth │ │ └── AuthServerApplicationTest.java ├── pacman-api-compliance │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── tmobile │ │ │ │ └── pacman │ │ │ │ └── api │ │ │ │ └── compliance │ │ │ │ ├── ComplianceApplication.java │ │ │ │ ├── RefreshScopeConfig.java │ │ │ │ ├── client │ │ │ │ ├── AssetServiceClient.java │ │ │ │ └── AuthServiceClient.java │ │ │ │ ├── config │ │ │ │ ├── CrossOriginFilter.java │ │ │ │ └── SpringSecurityConfig.java │ │ │ │ ├── controller │ │ │ │ ├── AssetGroupController.java │ │ │ │ ├── CertificateController.java │ │ │ │ ├── ComplianceController.java │ │ │ │ ├── DownloadController.java │ │ │ │ ├── ErrorHandler.java │ │ │ │ ├── FAQSController.java │ │ │ │ ├── FilterController.java │ │ │ │ ├── PatchingController.java │ │ │ │ ├── PolicyAssetController.java │ │ │ │ ├── ProjectionController.java │ │ │ │ ├── RecommendedActionController.java │ │ │ │ ├── RuleEngineController.java │ │ │ │ ├── TaggingController.java │ │ │ │ └── TrendController.java │ │ │ │ ├── domain │ │ │ │ ├── Asset.java │ │ │ │ ├── AssetApi.java │ │ │ │ ├── AssetApiData.java │ │ │ │ ├── AssetCount.java │ │ │ │ ├── AssetCountByAppEnvDTO.java │ │ │ │ ├── AssetCountDTO.java │ │ │ │ ├── AssetCountData.java │ │ │ │ ├── AssetCountEnvCount.java │ │ │ │ ├── Compare.java │ │ │ │ ├── CompliantTrendRequest.java │ │ │ │ ├── DitributionDTO.java │ │ │ │ ├── Ec2Instance.java │ │ │ │ ├── ExemptedAssetByPolicy.java │ │ │ │ ├── ExemptedAssetByPolicyData.java │ │ │ │ ├── IssueAuditLogRequest.java │ │ │ │ ├── IssueExceptionResponse.java │ │ │ │ ├── IssueResponse.java │ │ │ │ ├── IssuesException.java │ │ │ │ ├── KernelVersion.java │ │ │ │ ├── Medal.java │ │ │ │ ├── NonComplaincePolicyRequest.java │ │ │ │ ├── NonCompliancePolicyResponse.java │ │ │ │ ├── OutputDTO.java │ │ │ │ ├── PatchingProgressResponse.java │ │ │ │ ├── PatchingRequest.java │ │ │ │ ├── PolicyDescription.java │ │ │ │ ├── PolicyScanInfo.java │ │ │ │ ├── PolicyVialationSummary.java │ │ │ │ ├── PolicyViolationDetails.java │ │ │ │ ├── ProjectionRequest.java │ │ │ │ ├── ProjectionResponse.java │ │ │ │ ├── Request.java │ │ │ │ ├── ResourceTypeResponse.java │ │ │ │ ├── ResponseDTO.java │ │ │ │ ├── ResponseData.java │ │ │ │ ├── ResponseWithCount.java │ │ │ │ ├── ResponseWithOrder.java │ │ │ │ ├── RevokeIssuesException.java │ │ │ │ ├── RuleDetails.java │ │ │ │ ├── RuleTrendRequest.java │ │ │ │ ├── SevInfo.java │ │ │ │ ├── TaggingResponse.java │ │ │ │ ├── TimePeriod.java │ │ │ │ ├── TrendNote.java │ │ │ │ ├── TrendRequest.java │ │ │ │ └── UntaggedTargetTypeRequest.java │ │ │ │ ├── repository │ │ │ │ ├── CertificateRepository.java │ │ │ │ ├── ComplianceRepository.java │ │ │ │ ├── ComplianceRepositoryImpl.java │ │ │ │ ├── DownloadRepository.java │ │ │ │ ├── DownloadRepositoryImpl.java │ │ │ │ ├── FAQRepository.java │ │ │ │ ├── FAQRespositoryImpl.java │ │ │ │ ├── FilterRepository.java │ │ │ │ ├── FilterRepositoryImpl.java │ │ │ │ ├── PacRuleEngineAutofixActionsRepository.java │ │ │ │ ├── PatchingRepository.java │ │ │ │ ├── PatchingRepositoryImpl.java │ │ │ │ ├── PolicyAssetRepository.java │ │ │ │ ├── PolicyAssetRepositoryImpl.java │ │ │ │ ├── ProjectionRepository.java │ │ │ │ ├── ProjectionRepositoryImpl.java │ │ │ │ ├── RhnSystemDetailsRepository.java │ │ │ │ ├── RuleInstanceRepository.java │ │ │ │ ├── SystemConfigurationRepository.java │ │ │ │ ├── TaggingRepository.java │ │ │ │ ├── TaggingRepositoryImpl.java │ │ │ │ ├── TrendRepository.java │ │ │ │ ├── TrendRepositoryImpl.java │ │ │ │ └── model │ │ │ │ │ ├── PacRuleEngineAutofixActions.java │ │ │ │ │ ├── PacRuleEngineAutofixActionsIdentity.java │ │ │ │ │ ├── RhnSystemDetails.java │ │ │ │ │ ├── RuleInstance.java │ │ │ │ │ ├── SystemConfiguration.java │ │ │ │ │ └── SystemConfigurationIdentity.java │ │ │ │ ├── service │ │ │ │ ├── AssetGroupService.java │ │ │ │ ├── CertificateService.java │ │ │ │ ├── ComplianceService.java │ │ │ │ ├── ComplianceServiceImpl.java │ │ │ │ ├── DownloadFileService.java │ │ │ │ ├── FAQService.java │ │ │ │ ├── FAQServiceImpl.java │ │ │ │ ├── FilterService.java │ │ │ │ ├── FilterServiceImpl.java │ │ │ │ ├── IssueTrendService.java │ │ │ │ ├── IssueTrendServiceImpl.java │ │ │ │ ├── PatchingService.java │ │ │ │ ├── PatchingServiceImpl.java │ │ │ │ ├── PolicyAssetService.java │ │ │ │ ├── PolicyAssetServiceImpl.java │ │ │ │ ├── ProjectionService.java │ │ │ │ ├── ProjectionServiceImpl.java │ │ │ │ ├── RangeGenerator.java │ │ │ │ ├── RecommendedActionService.java │ │ │ │ ├── RecommendedActionServiceImpl.java │ │ │ │ ├── RuleEngineService.java │ │ │ │ ├── RuleEngineServiceImpl.java │ │ │ │ ├── RuleInstanceService.java │ │ │ │ ├── RuleInstanceServiceImpl.java │ │ │ │ ├── SystemConfigurationService.java │ │ │ │ ├── SystemConfigurationServiceImpl.java │ │ │ │ ├── TaggingService.java │ │ │ │ ├── TaggingServiceImpl.java │ │ │ │ ├── TrendGenerator.java │ │ │ │ └── TrendGeneratorImpl.java │ │ │ │ └── util │ │ │ │ ├── CommonUtil.java │ │ │ │ ├── CommonUtils.java │ │ │ │ └── PacHttpUtils.java │ │ └── resources │ │ │ ├── banner.txt │ │ │ ├── bootstrap.yml │ │ │ ├── spring-logback.xml │ │ │ └── templates │ │ │ ├── defaultTemplate.html │ │ │ └── forgotPassword.html │ │ └── test │ │ └── java │ │ └── com │ │ └── tmobile │ │ └── pacman │ │ └── api │ │ └── compliance │ │ ├── AccountServiceApplicationTests.java │ │ ├── controller │ │ ├── CertificateControllerTest.java │ │ ├── ComplianceControllerTest.java │ │ ├── DownloadControllerTest.java │ │ ├── FAQSControllerTest.java │ │ ├── FilterControllerTest.java │ │ ├── PatchingControllerTest.java │ │ ├── ProjectionControllerTest.java │ │ ├── TaggingControllerTest.java │ │ └── TrendControllerTest.java │ │ ├── repository │ │ ├── CertificateRepositoryTest.java │ │ ├── ComplianceRepositoryImplTest.java │ │ ├── DownloadRepositoryImplTest.java │ │ ├── FAQRespositoryImplTest.java │ │ ├── FilterRepositoryImplTest.java │ │ ├── PatchingRepositoryImplTest.java │ │ ├── ProjectionRepositoryImplTest.java │ │ ├── TaggingRepositoryImplTest.java │ │ └── TrendRepositoryImplTest.java │ │ ├── service │ │ ├── AccountServiceTest.java │ │ ├── CertificateServiceTest.java │ │ ├── ComplianceServiceImplTest.java │ │ ├── DownloadFileServiceTest.java │ │ ├── FAQServiceImplTest.java │ │ ├── FilterServiceImplTest.java │ │ ├── IssueTrendServiceImplTest.java │ │ ├── PatchingServiceImplTest.java │ │ ├── ProjectionServiceImplTest.java │ │ └── TaggingServiceImplTest.java │ │ └── util │ │ └── CommonTestUtil.java ├── pacman-api-config │ ├── README.md │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── tmobile │ │ │ └── pacman │ │ │ └── config │ │ │ └── ConfigApplication.java │ │ └── resources │ │ ├── application.yml │ │ └── shared │ │ ├── README.md │ │ ├── admin-service.yml │ │ ├── api.yml │ │ ├── application.yml │ │ ├── asset-service.yml │ │ ├── auth-service.yml │ │ ├── compliance-service.yml │ │ ├── monitor-service.yml │ │ ├── notification-service.yml │ │ ├── statistics-service.yml │ │ └── vulnerability-service.yml ├── pacman-api-notifications │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── tmobile │ │ │ │ └── pacman │ │ │ │ └── api │ │ │ │ └── notification │ │ │ │ ├── NotificationApplication.java │ │ │ │ ├── client │ │ │ │ ├── ComplianceServiceClient.java │ │ │ │ └── StatisticsServiceClient.java │ │ │ │ ├── config │ │ │ │ ├── AuthConfig.java │ │ │ │ ├── AutowiringSpringBeanJobFactory.java │ │ │ │ ├── CrossOriginFilter.java │ │ │ │ ├── GlobalConfig.java │ │ │ │ ├── PacmanQuartzConfiguration.java │ │ │ │ └── RefreshScopeConfig.java │ │ │ │ ├── controller │ │ │ │ ├── ErrorHandler.java │ │ │ │ ├── NotificationController.java │ │ │ │ └── NotificationWebController.java │ │ │ │ ├── domain │ │ │ │ ├── Response.java │ │ │ │ └── TimePeriod.java │ │ │ │ ├── dto │ │ │ │ ├── MailMessageRequestBody.java │ │ │ │ └── MailTemplateRequestBody.java │ │ │ │ ├── job │ │ │ │ └── WeeklyScheduleJob.java │ │ │ │ └── service │ │ │ │ ├── AssetGroupEmailService.java │ │ │ │ ├── MailContentBuilderService.java │ │ │ │ ├── MailService.java │ │ │ │ ├── NotificationService.java │ │ │ │ ├── NotificationServiceImpl.java │ │ │ │ └── NotificationUtil.java │ │ └── resources │ │ │ ├── banner.txt │ │ │ ├── bootstrap.yml │ │ │ ├── quartz.properties │ │ │ ├── spring-logback.xml │ │ │ ├── static │ │ │ ├── css │ │ │ │ ├── custom.css │ │ │ │ ├── font.css │ │ │ │ └── fonts │ │ │ │ │ ├── cyrillic-ext.woff2 │ │ │ │ │ ├── cyrillic.woff2 │ │ │ │ │ ├── latin-ext.woff2 │ │ │ │ │ ├── latin.woff2 │ │ │ │ │ ├── pt-sans-narrow-v8-latin-regular.eot │ │ │ │ │ ├── pt-sans-narrow-v8-latin-regular.svg │ │ │ │ │ ├── pt-sans-narrow-v8-latin-regular.ttf │ │ │ │ │ ├── pt-sans-narrow-v8-latin-regular.woff │ │ │ │ │ └── pt-sans-narrow-v8-latin-regular.woff2 │ │ │ └── imgs │ │ │ │ ├── background.jpg │ │ │ │ ├── check.png │ │ │ │ ├── error.png │ │ │ │ ├── favicon.png │ │ │ │ ├── p.png │ │ │ │ └── tick.png │ │ │ └── templates │ │ │ ├── defaultTemplate.html │ │ │ ├── error.html │ │ │ ├── forgotPassword.html │ │ │ ├── subscribe.html │ │ │ └── un-subscribe.html │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── tmobile │ │ │ └── pacman │ │ │ └── api │ │ │ ├── asset │ │ │ ├── AccountServiceApplicationTests.java │ │ │ └── controller │ │ │ │ ├── AccountControllerTest.java │ │ │ │ ├── NotificationControllerTest.java │ │ │ │ └── NotificationWebControllerTest.java │ │ │ └── notification │ │ │ └── service │ │ │ ├── AssetGroupEmailServiceTest.java │ │ │ ├── MailContentBuilderServiceTest.java │ │ │ ├── MailServiceTest.java │ │ │ ├── NotificationServiceImplTest.java │ │ │ ├── NotificationUtilTest.java │ │ │ └── WeeklyScheduleJobTest.java │ │ └── resources │ │ ├── application.yml │ │ └── bootstrap.yml ├── pacman-api-statistics │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── tmobile │ │ │ │ └── pacman │ │ │ │ └── api │ │ │ │ └── statistics │ │ │ │ ├── RefreshScopeConfig.java │ │ │ │ ├── StatisticsApplication.java │ │ │ │ ├── StatsConstants.java │ │ │ │ ├── client │ │ │ │ ├── AssetServiceClient.java │ │ │ │ ├── ComplianceServiceClient.java │ │ │ │ └── domain │ │ │ │ │ └── ResponseVO.java │ │ │ │ ├── config │ │ │ │ ├── SpringSecurityConfig.java │ │ │ │ └── WebConfigCORS.java │ │ │ │ ├── controller │ │ │ │ └── StatisticsController.java │ │ │ │ ├── domain │ │ │ │ ├── AssetApi.java │ │ │ │ ├── AssetApiData.java │ │ │ │ └── AssetApiName.java │ │ │ │ ├── repository │ │ │ │ ├── StatisticsRepository.java │ │ │ │ └── StatisticsRepositoryImpl.java │ │ │ │ └── service │ │ │ │ ├── StatisticsService.java │ │ │ │ └── StatisticsServiceImpl.java │ │ └── resources │ │ │ ├── banner.txt │ │ │ ├── bootstrap.yml │ │ │ └── spring-logback.xml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── tmobile │ │ │ └── pacman │ │ │ └── api │ │ │ └── statistics │ │ │ ├── controller │ │ │ └── StatisticsControllerTest.java │ │ │ ├── repository │ │ │ └── StatisticsRepositoryTest.java │ │ │ └── service │ │ │ └── StatisticsServiceTest.java │ │ └── resources │ │ ├── application.yml │ │ └── bootstrap.yml ├── pacman-api-vulnerability │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── tmobile │ │ │ │ └── pacman │ │ │ │ └── api │ │ │ │ └── vulnerability │ │ │ │ ├── RefreshScopeConfig.java │ │ │ │ ├── VulnerabilityApplication.java │ │ │ │ ├── client │ │ │ │ ├── AssetServiceClient.java │ │ │ │ └── ComplianceServiceClient.java │ │ │ │ ├── config │ │ │ │ ├── CrossOriginFilter.java │ │ │ │ └── SpringSecurityConfig.java │ │ │ │ ├── controller │ │ │ │ └── VulnerabilityController.java │ │ │ │ ├── domain │ │ │ │ ├── AssetApi.java │ │ │ │ ├── AssetApiData.java │ │ │ │ ├── AssetCount.java │ │ │ │ ├── AssetCountByAppEnvDTO.java │ │ │ │ ├── AssetCountDTO.java │ │ │ │ ├── AssetCountData.java │ │ │ │ ├── AssetCountEnvCount.java │ │ │ │ ├── CompliantTrendRequest.java │ │ │ │ ├── DitributionDTO.java │ │ │ │ ├── OutputDTO.java │ │ │ │ ├── Request.java │ │ │ │ ├── ResponseDTO.java │ │ │ │ ├── ResponseData.java │ │ │ │ ├── ResponseWithCount.java │ │ │ │ ├── ResponseWithOrder.java │ │ │ │ ├── TrendNote.java │ │ │ │ ├── TrendRequest.java │ │ │ │ └── VulnerabilityRequest.java │ │ │ │ ├── repository │ │ │ │ ├── VulnerabilityRepository.java │ │ │ │ ├── VulnerabilityTrendGenerator.java │ │ │ │ └── VulnerabilityTrendGenerator2.java │ │ │ │ └── service │ │ │ │ └── VulnerabilityService.java │ │ └── resources │ │ │ ├── banner.txt │ │ │ ├── bootstrap.yml │ │ │ └── spring-logback.xml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── tmobile │ │ │ └── pacman │ │ │ └── api │ │ │ └── vulnerability │ │ │ ├── controller │ │ │ └── VulnerabilityControllerTest.java │ │ │ ├── repository │ │ │ └── VulnerabilityRepositoryTest.java │ │ │ └── service │ │ │ └── VulnerabilityServiceTest.java │ │ └── resources │ │ ├── application.yml │ │ └── bootstrap.yml └── pom.xml ├── code_of_conduct.md ├── commons ├── pac-api-commons │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── tmobile │ │ │ │ └── pacman │ │ │ │ └── api │ │ │ │ └── commons │ │ │ │ ├── Constants.java │ │ │ │ ├── MethodExecutionAspect.java │ │ │ │ ├── conditions │ │ │ │ └── CheckSecurityConfigCondition.java │ │ │ │ ├── config │ │ │ │ ├── BaseWebSecurityConfig.java │ │ │ │ ├── SleuthZipkinConfig.java │ │ │ │ ├── SwaggerConfig.java │ │ │ │ └── SwaggerServicesConfig.java │ │ │ │ ├── controller │ │ │ │ └── BaseContoller.java │ │ │ │ ├── exception │ │ │ │ ├── DataException.java │ │ │ │ ├── NoDataFoundException.java │ │ │ │ └── ServiceException.java │ │ │ │ ├── provider │ │ │ │ └── PropertyResourceProvider.java │ │ │ │ ├── repo │ │ │ │ ├── BaseRepo.java │ │ │ │ ├── ElasticSearchRepository.java │ │ │ │ ├── HeimdallElasticSearchRepository.java │ │ │ │ └── PacmanRdsRepository.java │ │ │ │ ├── service │ │ │ │ ├── BaseService.java │ │ │ │ ├── SecurityService.java │ │ │ │ └── SwaggerService.java │ │ │ │ └── utils │ │ │ │ ├── CommonUtils.java │ │ │ │ ├── DateUtils.java │ │ │ │ ├── PacHttpUtils.java │ │ │ │ └── ResponseUtils.java │ │ └── resources │ │ │ └── docs │ │ │ └── v1 │ │ │ ├── api.html │ │ │ ├── css │ │ │ └── styles.css │ │ │ ├── images │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-32x32.png │ │ │ ├── favicon.ico │ │ │ └── pacman_logo.svg │ │ │ ├── js │ │ │ ├── swagger-oauth.js │ │ │ ├── swagger-ui.js │ │ │ └── swagger.js │ │ │ └── swagger-ui.html │ │ └── test │ │ └── java │ │ └── com │ │ └── tmobile │ │ ├── api │ │ └── commons │ │ │ └── AppTest.java │ │ └── pacman │ │ └── api │ │ └── commons │ │ ├── repo │ │ ├── ElasticSearchRepositoryTest.java │ │ └── HeimdallElasticSearchRepositoryTest.java │ │ └── utils │ │ ├── CommonUtilsTest.java │ │ ├── DateUtilsTest.java │ │ ├── ForTestUtils.java │ │ └── ResponseUtilsTest.java ├── pac-batch-commons │ ├── .gitignore │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── tmobile │ │ │ └── pacman │ │ │ └── commons │ │ │ ├── AWSService.java │ │ │ ├── PacmanSdkConstants.java │ │ │ ├── aws │ │ │ └── clients │ │ │ │ ├── AWSClientManager.java │ │ │ │ ├── impl │ │ │ │ ├── AWSClientManagerImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── azure │ │ │ ├── clients │ │ │ │ └── AzureCredentialManager.java │ │ │ └── sqlserver │ │ │ │ └── CloudInsightSqlServer.java │ │ │ ├── exception │ │ │ ├── InvalidInputException.java │ │ │ ├── RuleExecutionFailedExeption.java │ │ │ ├── ServerlessRuleFailedException.java │ │ │ ├── UnableToCreateClientException.java │ │ │ └── package-info.java │ │ │ ├── jobs │ │ │ └── PacmanJob.java │ │ │ ├── logging │ │ │ └── package-info.java │ │ │ ├── rule │ │ │ ├── Annotation.java │ │ │ ├── AnnotationCollectResult.java │ │ │ ├── BaseRule.java │ │ │ ├── PacmanExecute.java │ │ │ ├── PacmanRule.java │ │ │ ├── Rule.java │ │ │ ├── RuleExecutionRequest.java │ │ │ ├── RuleParams.java │ │ │ ├── RuleResult.java │ │ │ └── package-info.java │ │ │ └── utils │ │ │ ├── CommonUtils.java │ │ │ ├── ESUtils.java │ │ │ └── Ec2Utils.java │ │ └── test │ │ └── java │ │ └── com │ │ └── tmobile │ │ └── pacman │ │ └── commons │ │ └── AppTest.java └── pom.xml ├── emailTemplates ├── pacman-email-assets │ └── html.handlebars └── pacman-v2-email-template │ ├── Character1.png │ ├── Flag-Critical.png │ ├── Lock-Open.png │ ├── Security.png │ └── html.handlebars ├── installer ├── .gitignore ├── FAQs.md ├── README.md ├── core │ ├── __init__.py │ ├── command.py │ ├── commands │ │ ├── __init__.py │ │ ├── destroy.py │ │ ├── install.py │ │ └── status.py │ ├── config │ │ ├── __init__.py │ │ └── main_settings.py │ ├── constants.py │ ├── kernel.py │ ├── lib │ │ └── python_terraform │ │ │ └── __init__.py │ ├── log.py │ ├── mixins.py │ ├── providers │ │ ├── __init__.py │ │ └── aws │ │ │ ├── __init__.py │ │ │ ├── boto3 │ │ │ ├── __init__.py │ │ │ ├── aws_lambda.py │ │ │ ├── batch.py │ │ │ ├── cloudwatch_event.py │ │ │ ├── cloudwatch_log.py │ │ │ ├── ecr.py │ │ │ ├── ecs.py │ │ │ ├── elb.py │ │ │ ├── es.py │ │ │ ├── iam.py │ │ │ ├── rds.py │ │ │ ├── redshift.py │ │ │ ├── s3.py │ │ │ ├── sts.py │ │ │ └── vpc.py │ │ │ ├── destroy.py │ │ │ ├── input.py │ │ │ ├── install.py │ │ │ ├── reinstall.py │ │ │ └── validate.py │ ├── terraform │ │ ├── __init__.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── aws │ │ │ │ ├── __init__.py │ │ │ │ ├── aws_lambda.py │ │ │ │ ├── batch.py │ │ │ │ ├── cloudwatch.py │ │ │ │ ├── ecr.py │ │ │ │ ├── ecs.py │ │ │ │ ├── elasticsearch.py │ │ │ │ ├── iam.py │ │ │ │ ├── load_balancer.py │ │ │ │ ├── misc.py │ │ │ │ ├── rds.py │ │ │ │ ├── redshift.py │ │ │ │ ├── s3.py │ │ │ │ └── vpc.py │ │ │ ├── misc.py │ │ │ └── variable.py │ │ └── utils.py │ └── utils.py ├── custom │ └── commands │ │ ├── __init__.py │ │ ├── redeploy.py │ │ ├── redeployv1.py │ │ └── upgrade.py ├── data │ ├── output │ │ ├── .gitignore │ │ └── status │ │ │ └── .gitignore │ └── terraform │ │ └── .gitignore ├── files │ ├── pacbot-SubmitRuleExecutionJob.zip │ ├── pacbot-submitBatchjob.zip │ └── scripts │ │ ├── __init__.py │ │ ├── build_pacbot.py │ │ ├── create_docker_image_and_push_to_ecr.py │ │ ├── sql_replace_placeholder.py │ │ └── utils.py ├── log │ └── .gitignore ├── manager.py ├── provison.sh ├── requirements.txt ├── resources │ ├── __init__.py │ ├── batch │ │ ├── __init__.py │ │ ├── ecr.py │ │ ├── env.py │ │ ├── files │ │ │ └── batch_docker │ │ │ │ ├── dockerfile │ │ │ │ └── fetch_and_run.sh.tpl │ │ ├── job.py │ │ └── utils.py │ ├── data │ │ ├── __init__.py │ │ └── aws_info.py │ ├── datastore │ │ ├── __init__.py │ │ ├── db.py │ │ ├── es.py │ │ └── redshift.py │ ├── iam │ │ ├── __init__.py │ │ ├── all_read_role.py │ │ ├── base_role.py │ │ ├── base_role_policy.py │ │ ├── batch_role.py │ │ ├── ecs_role.py │ │ └── lambda_role.py │ ├── lambda_rule_engine │ │ ├── __init__.py │ │ ├── files │ │ │ └── rule_engine_cloudwatch_rules.json │ │ ├── function.py │ │ ├── s3_upload.py │ │ └── utils.py │ ├── lambda_submit │ │ ├── __init__.py │ │ ├── function.py │ │ └── s3_upload.py │ ├── pacbot_app │ │ ├── __init__.py │ │ ├── alb.py │ │ ├── alb_https_listener.py │ │ ├── alb_listener_rules.py │ │ ├── alb_target_groups.py │ │ ├── build_ui_and_api.py │ │ ├── cloudwatch_log_groups.py │ │ ├── ecr.py │ │ ├── ecs_services.py │ │ ├── ecs_task_defintions.py │ │ ├── files │ │ │ ├── DB.sql │ │ │ ├── api_docker │ │ │ │ ├── dockerfile │ │ │ │ └── entrypoint.sh.tpl │ │ │ └── ui_docker │ │ │ │ ├── dockerfile │ │ │ │ ├── entrypoint.sh.tpl │ │ │ │ └── nginx.conf │ │ ├── import_db.py │ │ ├── task_def_variables.py │ │ ├── upload_terraform.py │ │ └── utils.py │ ├── s3 │ │ ├── __init__.py │ │ └── bucket.py │ └── vpc │ │ ├── __init__.py │ │ └── security_group.py └── settings │ ├── __init__.py │ ├── common.py │ ├── default.local.py │ └── loader ├── jobs ├── azure-discovery │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── tmobile │ │ └── pacbot │ │ └── azure │ │ └── inventory │ │ ├── AzureDiscoveryApplication.java │ │ ├── AzureDiscoveryJob.java │ │ ├── AzureFetchOrchestrator.java │ │ ├── ErrorManageUtil.java │ │ ├── InventoryConstants.java │ │ ├── auth │ │ ├── AWSCredentialProvider.java │ │ └── AzureCredentialProvider.java │ │ ├── collector │ │ ├── BatchAccountInventoryCollector.java │ │ ├── BlobContainerInventoryCollector.java │ │ ├── CosmosDBInventoryCollector.java │ │ ├── DatabricksInventoryCollector.java │ │ ├── DiskInventoryCollector.java │ │ ├── LoadBalancerInventoryCollector.java │ │ ├── MariaDBInventoryCollector.java │ │ ├── MySQLInventoryCollector.java │ │ ├── NSGInventoryCollector.java │ │ ├── NamespaceInventoryCollector.java │ │ ├── NetworkInterfaceInventoryCollector.java │ │ ├── NetworkInventoryCollector.java │ │ ├── PolicyDefinitionInventoryCollector.java │ │ ├── PolicyStatesInventoryCollector.java │ │ ├── PostgreSQLInventoryCollector.java │ │ ├── PublicIpAddressInventoryCollector.java │ │ ├── RegisteredApplicationInventoryCollector.java │ │ ├── ResourceGroupInventoryCollector.java │ │ ├── RouteTableInventoryCollector.java │ │ ├── SCRecommendationsCollector.java │ │ ├── SQLDatabaseInventoryCollector.java │ │ ├── SQLServerInventoryCollector.java │ │ ├── SearchServiceInventoryCollector.java │ │ ├── SecurityAlertsInventoryCollector.java │ │ ├── SitesInventoryCollector.java │ │ ├── SnapshotInventoryCollector.java │ │ ├── StorageAccountInventoryCollector.java │ │ ├── SubnetInventoryCollector.java │ │ ├── Util.java │ │ ├── VMInventoryCollector.java │ │ ├── VaultInventoryCollector.java │ │ └── WorkflowInventoryCollector.java │ │ ├── config │ │ └── ConfigUtil.java │ │ ├── file │ │ ├── AssetFileGenerator.java │ │ ├── FileGenerator.java │ │ ├── FileManager.java │ │ └── S3Uploader.java │ │ └── vo │ │ ├── AzureVH.java │ │ ├── BatchAccountVH.java │ │ ├── BlobContainerVH.java │ │ ├── CosmosDBVH.java │ │ ├── DataDiskVH.java │ │ ├── DatabricksVH.java │ │ ├── ElasticPoolVH.java │ │ ├── ErrorVH.java │ │ ├── FailoverGroupVH.java │ │ ├── FirewallRules.java │ │ ├── IPconfigurationVH.java │ │ ├── LoadBalancerVH.java │ │ ├── MariaDBVH.java │ │ ├── MySQLServerVH.java │ │ ├── NIIPConfigVH.java │ │ ├── NSGSecurityRule.java │ │ ├── NSGSubnet.java │ │ ├── NamespaceVH.java │ │ ├── NetworkInterfaceVH.java │ │ ├── NetworkVH.java │ │ ├── PolicyDefinitionVH.java │ │ ├── PolicyStatesVH.java │ │ ├── PostgreSQLServerVH.java │ │ ├── PublicIpAddressVH.java │ │ ├── RecommendationVH.java │ │ ├── RegAppCertificateVH.java │ │ ├── RegAppSecretVH.java │ │ ├── RegisteredApplicationVH.java │ │ ├── ResourceGroupVH.java │ │ ├── RouteTableSubnet.java │ │ ├── RouteTableVH.java │ │ ├── RouteVH.java │ │ ├── SQLDatabaseVH.java │ │ ├── SQLServerVH.java │ │ ├── SearchServiceVH.java │ │ ├── SecurityAlertsVH.java │ │ ├── SecurityGroupVH.java │ │ ├── SitesVH.java │ │ ├── SnapshotVH.java │ │ ├── StorageAccountVH.java │ │ ├── SubnetVH.java │ │ ├── SubscriptionVH.java │ │ ├── VMDiskVH.java │ │ ├── VaultVH.java │ │ ├── VirtualMachineVH.java │ │ ├── VirtualNetworkRuleVH.java │ │ └── WorkflowVH.java ├── pacman-awsrules │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── tmobile │ │ │ └── cloud │ │ │ ├── awsrules │ │ │ ├── adgroup │ │ │ │ ├── CheckImproperRolesNamesRule.java │ │ │ │ ├── CheckNestedRolesRule.java │ │ │ │ ├── CheckNonRoleTasksMemberRule.java │ │ │ │ ├── ProperRolesNameRule.java │ │ │ │ └── UnownedAdGroupsRule.java │ │ │ ├── apigateway │ │ │ │ └── CheckForApiGatewayProtected.java │ │ │ ├── cloudfront │ │ │ │ ├── CloudfrontAuthorizedContentDistributionRule.java │ │ │ │ └── CloudfrontAuthorizedHTMLContentDistributionRule.java │ │ │ ├── cloudwatchevent │ │ │ │ └── CheckCloudWatchEventsForAllAccountsRule.java │ │ │ ├── compliance │ │ │ │ ├── ComplianceType.java │ │ │ │ ├── DefaultTargetCriteriaDataProvider.java │ │ │ │ ├── KernelComplianceRule.java │ │ │ │ ├── LDAPManager.java │ │ │ │ ├── PacmanTableAPI.java │ │ │ │ ├── RHNServer.java │ │ │ │ ├── SSHManager.java │ │ │ │ └── SpacewalkAndSatelliteManager.java │ │ │ ├── config │ │ │ │ └── ConfigManager.java │ │ │ ├── ebs │ │ │ │ ├── EbsSnapshotWithPublicAccess.java │ │ │ │ ├── UnderutilizedAmazonEBSVolumesRule.java │ │ │ │ ├── UnusedEBSRule.java │ │ │ │ └── UnusedOrUntaggedEBSRule.java │ │ │ ├── ec2 │ │ │ │ ├── AmazonEC2ReservedInstanceLeaseExpirationRule.java │ │ │ │ ├── CheckApplicationTagRule.java │ │ │ │ ├── EC2DeprecatedInstanceTypeRule.java │ │ │ │ ├── EC2PublicAccessForConfiguredPortRule.java │ │ │ │ ├── EC2StoppedInstanceForLongRule.java │ │ │ │ ├── EC2WithPublicIPAccess.java │ │ │ │ ├── EC2withSeverityVulnerabilityRule.java │ │ │ │ ├── Ec2PublicAccessPortWithS5vulnerabilitiesRule.java │ │ │ │ ├── ElasticSearchInternalAccessRule.java │ │ │ │ ├── LowUtilizationAmazonEC2InstancesRule.java │ │ │ │ ├── ResourceScannedByQualysRule.java │ │ │ │ ├── ResourceWithSeverityVulnerabilityRule.java │ │ │ │ ├── SSMAgentCheckRule.java │ │ │ │ ├── TaggingRule.java │ │ │ │ └── UnProtectedMongoDBAccess.java │ │ │ ├── elasticip │ │ │ │ └── UnusedElasticIpRule.java │ │ │ ├── elasticsearch │ │ │ │ └── ElasticSearchPublicAccessRule.java │ │ │ ├── elb │ │ │ │ ├── CheckForIdleLoadBalancersRule.java │ │ │ │ ├── ElbPublicAccessRule.java │ │ │ │ ├── SSLCertificateExpiryRule.java │ │ │ │ ├── UnusedApplicationElbRule.java │ │ │ │ └── UnusedClassicElbRule.java │ │ │ ├── federated │ │ │ │ ├── ACMCertificateExpiryRule.java │ │ │ │ ├── AccessLogForCloudFront.java │ │ │ │ ├── AccessLogForELB.java │ │ │ │ ├── CheckCloudTrailMultiRegionEnabled.java │ │ │ │ ├── IAMCertificateExpiryRule.java │ │ │ │ └── RootUserMFACheck.java │ │ │ ├── guardduty │ │ │ │ ├── CheckGuardDutyFindingsExists.java │ │ │ │ └── CheckGuardDutyForAllAccountsRule.java │ │ │ ├── iam │ │ │ │ ├── AccessKeyRotatedRule.java │ │ │ │ ├── AwsIamAccountWithPermanentAccessKeysRule.java │ │ │ │ ├── CheckIamIdentityProviderWithADFSRule.java │ │ │ │ ├── CheckIamPasswordPolicyRule.java │ │ │ │ ├── CheckInactiveIamUsersRule.java │ │ │ │ ├── IAMAccessGrantForNonAdminAccountRule.java │ │ │ │ ├── IAMRoleWithUnapprovedAccessRule.java │ │ │ │ ├── IAMUserWithUnapprovedAccessRule.java │ │ │ │ └── ServiceAccountPrivilegesRule.java │ │ │ ├── lambda │ │ │ │ ├── CheckAccessToHost.java │ │ │ │ ├── CheckLambdaFunWithAdminOrIamPrivileges.java │ │ │ │ ├── CheckPublicAcessService.java │ │ │ │ ├── LambdaCostFunction.java │ │ │ │ ├── LambdaFunctionInvocationCountRule.java │ │ │ │ └── LambdaFunctionThrottleInvocationsRule.java │ │ │ ├── misc │ │ │ │ ├── CheckAWSCloudTrailConfig.java │ │ │ │ ├── CheckAWSConfigEnabled.java │ │ │ │ ├── CheckAwsActivityInBlacklistedRegionRule.java │ │ │ │ ├── NonStandardRegionsRule.java │ │ │ │ └── VpcFlowLogsEnabled.java │ │ │ ├── onprem │ │ │ │ ├── OnPremiseServerKernelComplianceRule.java │ │ │ │ └── OnpremScannedByQualysRule.java │ │ │ ├── rds │ │ │ │ ├── AmazonRDSIdleDBInstancesRule.java │ │ │ │ ├── CheckForRDSSnapshotWithPublicAccess.java │ │ │ │ └── RDSDBPublicAcessRule.java │ │ │ ├── redshift │ │ │ │ ├── RedShiftPublicAccessRule.java │ │ │ │ └── UnderutilizedAmazonRedshiftClustersRule.java │ │ │ ├── route53 │ │ │ │ └── CheckAwsRoute53DNSForAccountsRule.java │ │ │ ├── s3 │ │ │ │ ├── CheckMFADeleteEnabledRule.java │ │ │ │ ├── S3AccessLogsRule.java │ │ │ │ ├── S3GlobalAccessRule.java │ │ │ │ └── S3HostsWebsiteRule.java │ │ │ ├── securitycenter │ │ │ │ └── AzureSecurityCenterRule.java │ │ │ ├── securitygroup │ │ │ │ ├── CheckForSecurityGroupWithAnywhereAccess.java │ │ │ │ └── SecurityGroupNotUsedRule.java │ │ │ ├── service │ │ │ │ └── ServiceLimitRule.java │ │ │ ├── serviceaccounts │ │ │ │ ├── CheckImproperAccountNamesRule.java │ │ │ │ ├── ServiceAccountAdministratorsRule.java │ │ │ │ └── ServiceAccountWithSvcRule.java │ │ │ └── utils │ │ │ │ ├── ConfigUtils.java │ │ │ │ ├── IAMUtils.java │ │ │ │ ├── PacmanEc2Utils.java │ │ │ │ ├── PacmanUtils.java │ │ │ │ ├── RulesElasticSearchRepositoryUtil.java │ │ │ │ └── S3PacbotUtils.java │ │ │ ├── azurerules │ │ │ └── policies │ │ │ │ └── AzurePolicyEvaluationRule.java │ │ │ └── constants │ │ │ └── PacmanRuleConstants.java │ │ └── test │ │ └── java │ │ └── com │ │ └── tmobile │ │ └── cloud │ │ └── awsrules │ │ ├── adgroup │ │ ├── CheckImproperRolesNamesRuleTest.java │ │ ├── CheckNestedRolesRuleTest.java │ │ ├── CheckNonRoleTasksMemberRuleTest.java │ │ ├── ProperRolesNameRuleTest.java │ │ └── UnownedAdGroupsRuleTest.java │ │ ├── apigateway │ │ └── CheckForApiGatewayProtectedTest.java │ │ ├── cloudfront │ │ ├── CloudfrontAuthorizedContentDistributionRuleTest.java │ │ └── CloudfrontAuthorizedHTMLContentDistributionRuleTest.java │ │ ├── cloudwatchevent │ │ └── CheckCloudWatchEventsForAllAccountsRuleTest.java │ │ ├── compliance │ │ └── KernelComplianceRuleTest.java │ │ ├── config │ │ └── ConfigManagerTest.java │ │ ├── ebs │ │ ├── EbsSnapshotWithPublicAccessTest.java │ │ ├── UnderutilizedAmazonEBSVolumesRuleTest.java │ │ └── UnusedEBSRuleTest.java │ │ ├── ec2 │ │ ├── AmazonEC2ReservedInstanceLeaseExpirationRuleTest.java │ │ ├── CheckApplicationTagRuleTest.java │ │ ├── EC2DeprecatedInstanceTypeRuleTest.java │ │ ├── EC2PublicAccessForConfiguredPortRuleTest.java │ │ ├── EC2StoppedInstanceForLongRuleTest.java │ │ ├── EC2WithPublicIPAccessTest.java │ │ ├── EC2withSeverityVulnerabilityRuleTest.java │ │ ├── Ec2PublicAccessPortWithS5vulnerabilitiesRuleTest.java │ │ ├── ElasticSearchInternalAccessRuleTest.java │ │ ├── LowUtilizationAmazonEC2InstancesRuleTest.java │ │ ├── ResourceScannedByQualysRuleTest.java │ │ ├── ResourceWithSeverityVulnerabilityRuleTest.java │ │ ├── SSMAgentCheckRuleTest.java │ │ ├── TaggingRuleTest.java │ │ └── UnProtetcedMongoDBAccessTest.java │ │ ├── elasticip │ │ └── UnusedElasticIpRuleTest.java │ │ ├── elasticsearch │ │ └── ElasticSearchPublicAccessRuleTest.java │ │ ├── elb │ │ ├── CheckForIdleLoadBalancersRuleTest.java │ │ ├── ElbPublicAccessRuleTest.java │ │ ├── SSLCertificateExpiryRuleTest.java │ │ ├── UnusedApplicationElbRuleTest.java │ │ └── UnusedClassicElbRuleTest.java │ │ ├── guardduty │ │ ├── CheckGuardDutyFindingsExistsTest.java │ │ └── CheckGuardDutyForAllAccountsRuleTest.java │ │ ├── iam │ │ ├── AccessKeyRotatedRuleTest.java │ │ ├── AwsIamAccountWithPermanentAccessKeysRuleTest.java │ │ ├── CheckIamIdentityProviderWithADFSRuleTest.java │ │ ├── CheckIamPasswordPolicyRuleTest.java │ │ ├── CheckInactiveIamUsersRuleTest.java │ │ ├── IAMAccessGrantForNonAdminAccountRuleTest.java │ │ ├── IAMRoleWithUnapprovedAccessRuleTest.java │ │ ├── IAMUserWithUnapprovedAccessRuleTest.java │ │ └── ServiceAccountPrivilegesRuleTest.java │ │ ├── lambda │ │ ├── CheckLambdaFunWithAdminOrIAMPrivilegesTest.java │ │ ├── LambdaFunctionInvocationCountRuleTest.java │ │ └── LambdaFunctionThrottleInvocationsRuleTest.java │ │ ├── misc │ │ ├── CheckAWSCloudTrailConfigTest.java │ │ ├── CheckAWSConfigEnabledTest.java │ │ ├── CheckAwsActivityInBlacklistedRegionRuleTest.java │ │ ├── NonStandardRegionsRuleTest.java │ │ └── VpcFlowLogsEnabledTest.java │ │ ├── onprem │ │ ├── OnPremiseServerKernelComplianceRuleTest.java │ │ └── OnpremScannedByQualysRuleTest.java │ │ ├── rds │ │ ├── AmazonRDSIdleDBInstancesRuleTest.java │ │ ├── CheckForRDSSnapshotWithPublicAccessTest.java │ │ └── RDSDBPublicAcessRuleTest.java │ │ ├── redshift │ │ ├── RedShiftPublicAccessRuleTest.java │ │ └── UnderutilizedAmazonRedshiftClustersRuleTest.java │ │ ├── route53 │ │ └── CheckAwsRoute53DNSForAccountsRuleTest.java │ │ ├── s3 │ │ ├── CheckMFADeleteEnabledRuleTest.java │ │ ├── S3AccessLogsRuleTest.java │ │ └── S3HostsWebsiteRuleTest.java │ │ ├── securitygroup │ │ ├── CheckForSecurityGroupWithAnywhereAccessTest.java │ │ └── SecurityGroupNotUsedRuleTest.java │ │ ├── service │ │ └── ServiceLimitRuleTest.java │ │ ├── serviceaccounts │ │ ├── CheckImproperAccountNamesRuleTest.java │ │ ├── ServiceAccountAdministratorsRuleTest.java │ │ └── ServiceAccountWithSvcRuleTest.java │ │ └── utils │ │ ├── CommonTestUtils.java │ │ ├── IAMUtilsTest.java │ │ ├── PacmanEc2UtilsTest.java │ │ └── PacmanUtilsTest.java ├── pacman-cloud-discovery │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── tmobile │ │ │ └── cso │ │ │ └── pacman │ │ │ └── inventory │ │ │ ├── InventoryCollectionJob.java │ │ │ ├── InventoryConstants.java │ │ │ ├── InventoryFetchApplication.java │ │ │ ├── InventoryFetchOrchestrator.java │ │ │ ├── auth │ │ │ └── CredentialProvider.java │ │ │ ├── config │ │ │ └── ConfigUtil.java │ │ │ ├── dao │ │ │ └── RDSDBManager.java │ │ │ ├── file │ │ │ ├── AssetFileGenerator.java │ │ │ ├── ErrorManageUtil.java │ │ │ ├── FileGenerator.java │ │ │ ├── FileManager.java │ │ │ └── S3Uploader.java │ │ │ ├── util │ │ │ ├── ASGInventoryUtil.java │ │ │ ├── DirectConnectionInventoryUtil.java │ │ │ ├── EC2InventoryUtil.java │ │ │ ├── ESInventoryUtil.java │ │ │ ├── ElastiCacheUtil.java │ │ │ ├── InventoryUtil.java │ │ │ ├── KinesisInventoryUtil.java │ │ │ ├── SNSInventoryUtil.java │ │ │ └── Util.java │ │ │ └── vo │ │ │ ├── AccessKeyMetadataVH.java │ │ │ ├── AccountVH.java │ │ │ ├── Attribute.java │ │ │ ├── BucketVH.java │ │ │ ├── CheckVH.java │ │ │ ├── ClassicELBVH.java │ │ │ ├── CloudFrontVH.java │ │ │ ├── DBClusterVH.java │ │ │ ├── DBInstanceVH.java │ │ │ ├── DataStreamVH.java │ │ │ ├── DeliveryStreamVH.java │ │ │ ├── DynamoVH.java │ │ │ ├── EbsVH.java │ │ │ ├── EfsVH.java │ │ │ ├── ElastiCacheNodeVH.java │ │ │ ├── ElastiCacheVH.java │ │ │ ├── ElasticsearchDomainVH.java │ │ │ ├── ErrorVH.java │ │ │ ├── GroupVH.java │ │ │ ├── IAMCertificateVH.java │ │ │ ├── KMSKeyVH.java │ │ │ ├── LambdaVH.java │ │ │ ├── LoadBalancerVH.java │ │ │ ├── PhdVH.java │ │ │ ├── RedshiftVH.java │ │ │ ├── Resource.java │ │ │ ├── SGRuleVH.java │ │ │ ├── SQS.java │ │ │ ├── SQSVH.java │ │ │ ├── SSLCertificateVH.java │ │ │ ├── TargetGroupVH.java │ │ │ ├── UserVH.java │ │ │ ├── VideoStreamVH.java │ │ │ ├── VpcEndPointVH.java │ │ │ └── VpcVH.java │ │ └── test │ │ └── java │ │ └── com │ │ └── tmobile │ │ └── cso │ │ └── pacman │ │ └── inventory │ │ ├── file │ │ ├── AssetFileGeneratorTest.java │ │ ├── ErrorManageUtilTest.java │ │ └── FileManagerTest.java │ │ └── util │ │ ├── ASGInventoryUtilTest.java │ │ ├── DirectConnectionInventoryUtilTest.java │ │ ├── EC2InventoryUtilTest.java │ │ ├── ESInventoryUtilTest.java │ │ ├── InventoryUtilTest.java │ │ └── SNSInventoryUtilTest.java ├── pacman-cloud-notifications │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── tmobile │ │ └── pacman │ │ └── cloud │ │ ├── CloudNotificationApplication.java │ │ ├── CloudNotificationDataCollectionOrchestrator.java │ │ ├── CloudNotificationJob.java │ │ ├── config │ │ └── ConfigManager.java │ │ ├── dao │ │ └── RDSDBManager.java │ │ ├── es │ │ └── ElasticSearchRepository.java │ │ ├── exception │ │ ├── DataException.java │ │ └── UnAuthorisedException.java │ │ └── util │ │ ├── ConfigUtil.java │ │ ├── Constants.java │ │ ├── HttpUtil.java │ │ └── Util.java ├── pacman-data-shipper │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── tmobile │ │ │ └── cso │ │ │ └── pacman │ │ │ └── datashipper │ │ │ ├── Main.java │ │ │ ├── MainUtil.java │ │ │ ├── config │ │ │ ├── ConfigManager.java │ │ │ └── CredentialProvider.java │ │ │ ├── dao │ │ │ └── RDSDBManager.java │ │ │ ├── entity │ │ │ ├── AWSErrorManager.java │ │ │ ├── AssetGroupStatsCollector.java │ │ │ ├── EntityAssociationManager.java │ │ │ └── EntityManager.java │ │ │ ├── error │ │ │ ├── AwsErrorManager.java │ │ │ ├── AzureErrorManager.java │ │ │ └── ErrorManager.java │ │ │ ├── es │ │ │ └── ESManager.java │ │ │ ├── exception │ │ │ └── UnAuthorisedException.java │ │ │ └── util │ │ │ ├── AssetGroupUtil.java │ │ │ ├── AuthManager.java │ │ │ ├── ConfigUtil.java │ │ │ ├── Constants.java │ │ │ ├── ErrorManageUtil.java │ │ │ ├── HttpUtil.java │ │ │ └── Util.java │ │ └── test │ │ └── java │ │ └── com │ │ └── tmobile │ │ └── cso │ │ └── pacman │ │ └── datashipper │ │ ├── entity │ │ ├── AssetGroupStatsCollectorTest.java │ │ ├── EntityAssociationManagerTest.java │ │ └── EntityManagerTest.java │ │ ├── es │ │ └── ESManagerTest.java │ │ └── util │ │ ├── AssetGroupUtilTest.java │ │ └── UtilTest.java ├── pacman-qualys-enricher │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── tmobile │ │ └── cso │ │ └── pacman │ │ └── qualys │ │ ├── Constants.java │ │ ├── Main.java │ │ ├── MainUtil.java │ │ ├── dto │ │ ├── KNOWLEDGEBASEVULNLISTOUTPUT.java │ │ └── Vuln.java │ │ ├── exception │ │ └── UnAuthorisedException.java │ │ ├── jobs │ │ ├── HostAssetDataImporter.java │ │ ├── HostAssetsEsIndexer.java │ │ ├── KBDataImporter.java │ │ ├── QualysDataImporter.java │ │ └── Util.java │ │ └── util │ │ ├── ConfigUtil.java │ │ ├── ElasticSearchManager.java │ │ ├── ErrorManageUtil.java │ │ ├── HttpUtil.java │ │ └── Util.java ├── pacman-rule-engine-2.0 │ ├── .gitignore │ ├── cloudresources │ │ ├── docker │ │ │ ├── Dockerfile │ │ │ └── fetch_and_run.sh │ │ └── lambda │ │ │ ├── pac_submit_batch_job.py │ │ │ └── pac_submit_rule_to_aws_batch.py │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── tmobile │ │ │ │ └── pacman │ │ │ │ ├── autofix │ │ │ │ ├── ec2 │ │ │ │ │ └── Ec2GlobalAccessFix.java │ │ │ │ ├── elasticip │ │ │ │ │ └── UnusedElasticIPAutofix.java │ │ │ │ ├── elasticsearch │ │ │ │ │ └── ElasticSearchPublicAccessAutoFix.java │ │ │ │ ├── elb │ │ │ │ │ ├── ApplicationELBPublicAccessAutoFix.java │ │ │ │ │ └── ClassicELBPublicAccessAutoFix.java │ │ │ │ ├── publicaccess │ │ │ │ │ └── PublicAccessAutoFix.java │ │ │ │ ├── rds │ │ │ │ │ └── RdsDbPublicAccessAutoFix.java │ │ │ │ ├── redshift │ │ │ │ │ └── RedshiftClusterPublicAccessAutoFix.java │ │ │ │ ├── s3 │ │ │ │ │ └── S3GlobalAccessAutoFix.java │ │ │ │ └── sg │ │ │ │ │ └── UnusedSgAutoFix.java │ │ │ │ ├── common │ │ │ │ ├── AutoFixAction.java │ │ │ │ ├── PacmanSdkConstants.java │ │ │ │ └── exception │ │ │ │ │ ├── AutoFixException.java │ │ │ │ │ ├── FailedExecutionException.java │ │ │ │ │ ├── RuleEngineRunTimeException.java │ │ │ │ │ ├── ServerlessRuleFailedException.java │ │ │ │ │ └── SuccessfulExecutionException.java │ │ │ │ ├── commons │ │ │ │ └── autofix │ │ │ │ │ ├── AutoFix.java │ │ │ │ │ ├── AutoFixPlan.java │ │ │ │ │ ├── BaseFix.java │ │ │ │ │ ├── ConfigChangeManager.java │ │ │ │ │ ├── FixResult.java │ │ │ │ │ ├── PacmanFix.java │ │ │ │ │ ├── PlanItem.java │ │ │ │ │ ├── Status.java │ │ │ │ │ └── manager │ │ │ │ │ ├── AuthManager.java │ │ │ │ │ ├── AutoFixManager.java │ │ │ │ │ ├── AutoFixPlanManager.java │ │ │ │ │ ├── NextStepManager.java │ │ │ │ │ └── ResourceTaggingManager.java │ │ │ │ ├── config │ │ │ │ └── ConfigManager.java │ │ │ │ ├── dto │ │ │ │ ├── AutoFixTransaction.java │ │ │ │ ├── ExceptionType.java │ │ │ │ ├── ExemptedResource.java │ │ │ │ ├── IssueException.java │ │ │ │ └── ResourceOwner.java │ │ │ │ ├── executor │ │ │ │ ├── JobExecutor.java │ │ │ │ ├── MultiThreadedRuleRunner.java │ │ │ │ ├── RuleEngineUncaughtExceptionHandler.java │ │ │ │ ├── RuleExecutor.java │ │ │ │ ├── RuleHandler.java │ │ │ │ ├── RuleRunner.java │ │ │ │ ├── ServerlessRuleHandler.java │ │ │ │ ├── ShutDownHook.java │ │ │ │ └── SingleThreadRuleRunner.java │ │ │ │ ├── integrations │ │ │ │ └── slack │ │ │ │ │ └── SlackMessageRelay.java │ │ │ │ ├── publisher │ │ │ │ └── impl │ │ │ │ │ ├── AnnotationPublisher.java │ │ │ │ │ ├── ElasticSearchDataInterface.java │ │ │ │ │ ├── ElasticSearchDataPublisher.java │ │ │ │ │ └── ElasticSearchDataReader.java │ │ │ │ ├── reactors │ │ │ │ ├── BaseReactor.java │ │ │ │ ├── PacEventHandler.java │ │ │ │ ├── PacReactor.java │ │ │ │ ├── ReactException.java │ │ │ │ ├── Reaction.java │ │ │ │ ├── Reactor.java │ │ │ │ ├── ReactorShell.java │ │ │ │ ├── commons │ │ │ │ │ ├── PacEventStatus.java │ │ │ │ │ ├── ReactorCommonValues.java │ │ │ │ │ └── ReactorConstants.java │ │ │ │ └── dto │ │ │ │ │ └── PacEvent.java │ │ │ │ ├── service │ │ │ │ ├── ExceptionManager.java │ │ │ │ ├── ExceptionManagerImpl.java │ │ │ │ └── ResourceOwnerService.java │ │ │ │ └── util │ │ │ │ ├── AuditUtils.java │ │ │ │ ├── CommonHttpUtils.java │ │ │ │ ├── CommonUtils.java │ │ │ │ ├── ESUtils.java │ │ │ │ ├── MailUtils.java │ │ │ │ ├── ProgramExitUtils.java │ │ │ │ ├── ReflectionUtils.java │ │ │ │ └── RuleExecutionUtils.java │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── logback.xml │ │ │ └── template │ │ │ ├── autofix-silent-autoapptag-usernotification-info.html │ │ │ ├── autofix-user-notification-action-common.html │ │ │ ├── autofix-user-notification-action-exception-expiry.html │ │ │ ├── autofix-user-notification-action.html │ │ │ ├── autofix-user-notification-exemption-granted.html │ │ │ └── autofix-user-notification-info.html │ │ └── test │ │ └── java │ │ └── com │ │ └── tmobile │ │ └── pacman │ │ ├── PacmanRuleEngineApplicationTests.java │ │ ├── autofix │ │ └── elasticsearch │ │ │ └── ElasticSearchPublicAccessAutoFixTest.java │ │ ├── commons │ │ └── autofix │ │ │ └── manager │ │ │ ├── AutoFixManagerTest.java │ │ │ ├── AutoFixPlanManagerTest.java │ │ │ ├── NextStepManagerTest.java │ │ │ └── ResourceTaggingManagerTest.java │ │ ├── config │ │ └── ConfigManagerTest.java │ │ ├── executor │ │ ├── JobExecutorTest.java │ │ ├── RuleExecutorTest.java │ │ ├── jobs │ │ │ └── TestJob.java │ │ └── rules │ │ │ ├── TestPacRule.java │ │ │ └── TestPacRuleFailure.java │ │ ├── publisher │ │ └── impl │ │ │ ├── AnnotationPublisherTest.java │ │ │ └── ElasticSearchDataPublisherTest.java │ │ ├── service │ │ └── ExceptionManagerImplTest.java │ │ └── util │ │ ├── AuditUtilsTest.java │ │ ├── CommonHttpUtilsTest.java │ │ ├── CommonTestUtils.java │ │ ├── CommonUtilsTest.java │ │ ├── ESUtilsTest.java │ │ ├── MailUtilsTest.java │ │ ├── ReflectionUtilsTest.java │ │ └── RuleExecutionUtilsTest.java ├── pom.xml └── recommendation-enricher │ ├── pom.xml │ └── src │ └── main │ └── java │ └── com │ └── tmobile │ └── cso │ └── pacbot │ └── recommendation │ ├── Main.java │ ├── MainUtil.java │ ├── dao │ └── RDSDBManager.java │ ├── entity │ └── RecommendationCollector.java │ ├── es │ └── ESManager.java │ ├── exception │ └── UnAuthorisedException.java │ └── util │ ├── ConfigUtil.java │ ├── Constants.java │ ├── ErrorManageUtil.java │ ├── HttpUtil.java │ └── Util.java ├── pom.xml ├── webapp ├── .angular-cli.json ├── .gitignore ├── e2e │ ├── 01.00-login │ │ └── login.e2e-spec.ts │ ├── 01.01-overview │ │ └── overview.e2e-spec.ts │ ├── 01.02-compliance-policy │ │ └── compliance-policy.e2e-spec.ts │ ├── 01.03-policy-violations │ │ └── policy-violations.e2e-spec.ts │ ├── 01.04-policy-violation-details │ │ └── policy-violation-details.e2e-spec.ts │ ├── 01.05-tagging │ │ └── tagging.e2e-spec.ts │ ├── 01.06-all-vulnerabilities │ │ └── all-vulnerabilities.e2e-spec.ts │ ├── 01.07-policy-knowledgebase │ │ └── policy-knowledge-base.e2e-spec.ts │ ├── 01.08-certificate-compliance │ │ └── certificate-compliance.e2e-spec.ts │ ├── 01.09-vulnerability-compliance │ │ └── vulnerability-compliance.e2e-spec.ts │ ├── 01.10-vulnerability-details │ │ └── vulnerability-details.e2e-spec.ts │ ├── 01.11-certificate-listing │ │ └── certificate-listing.e2e-spec.ts │ ├── 01.12-patching-compliance │ │ └── patching-compliance.e2e-spec.ts │ ├── 01.13-digital-dev-dashboard │ │ └── digital-dev-dashboard.e2e-spec.ts │ ├── 02.1-asset-dashboard │ │ └── asset-dashboard.e2e-spec.ts │ ├── 02.2-asset-list │ │ └── asset-list.e2e-spec.ts │ ├── 03.1-omni-search │ │ └── Omnisearch.e2e-spec.ts │ ├── 04.1-menu │ │ └── menu.e2e-spec.ts │ ├── 05.1-pacman-statistics │ │ └── pacman-statistics.e2e-spec.ts │ ├── 06.1-asset-groups │ │ └── asset-groups.e2e-spec.ts │ ├── 07.1-compliance-summary │ │ └── compliance-summary.e2e-spec.ts │ ├── 08.1-tools │ │ └── tools.e2e-spec.ts │ ├── 09.1-know-your-application │ │ └── know-your-application.e2e-spec.ts │ ├── 10.1-vulnerability-report │ │ └── vulnerability-report.e2e-spec.ts │ ├── page-objects │ │ ├── all-vulnerabilities.po.ts │ │ ├── asset-dashboard.po.ts │ │ ├── asset-details.po.ts │ │ ├── asset-groups.po.ts │ │ ├── asset-list.po.ts │ │ ├── assetdashboard.po.ts │ │ ├── certificate-compliance.po.ts │ │ ├── certificate-listing.po.ts │ │ ├── compliance-policy.po.ts │ │ ├── compliance-summary.po.ts │ │ ├── digital-dev-dashboard.po.ts │ │ ├── login.po.ts │ │ ├── menu.po.ts │ │ ├── omnisearch.po.ts │ │ ├── overview.po.ts │ │ ├── pacman-statistics.po.ts │ │ ├── patching-compliance.po.ts │ │ ├── policy-details.po.ts │ │ ├── policy-knowledgebase.po.ts │ │ ├── policy-violations-detail.po.ts │ │ ├── policy-violations.po.ts │ │ ├── tagging-compliance.po.ts │ │ ├── tools.po.ts │ │ ├── vulnerability-compliance.po.ts │ │ ├── vulnerability-details.po.ts │ │ └── vulnerability-report.po.ts │ └── tsconfig.e2e.json ├── karma.conf.js ├── package.json ├── pom.xml ├── protractor.conf.js ├── readme.md ├── replace.build.js ├── sonar-project.properties ├── src │ ├── android-chrome-192x192.png │ ├── android-chrome-256x256.png │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app.component.css │ │ ├── app.component.html │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── core │ │ │ ├── core.module.ts │ │ │ └── services │ │ │ │ ├── adal-angular.d.ts │ │ │ │ ├── adal.interceptor.ts │ │ │ │ ├── adal.service.ts │ │ │ │ ├── asset-group-observable.service.ts │ │ │ │ ├── asset-tiles.service.ts │ │ │ │ ├── auth-session-storage.service.ts │ │ │ │ ├── auth.service.ts │ │ │ │ ├── data-cache.service.ts │ │ │ │ ├── domain-mapping.service.ts │ │ │ │ ├── domain-type-observable.service.ts │ │ │ │ ├── onprem-authentication.service.ts │ │ │ │ ├── permission-guard.service.ts │ │ │ │ ├── recently-viewed-observable.service.ts │ │ │ │ ├── request-interceptor.service.ts │ │ │ │ ├── routing.service.ts │ │ │ │ ├── server-errors-interceptor.service.ts │ │ │ │ ├── theme-observable.service.ts │ │ │ │ └── workflow.service.ts │ │ ├── landing-page │ │ │ ├── common │ │ │ │ ├── animations │ │ │ │ │ └── animations.ts │ │ │ │ ├── feature │ │ │ │ │ ├── feature.component.css │ │ │ │ │ ├── feature.component.html │ │ │ │ │ ├── feature.component.spec.ts │ │ │ │ │ └── feature.component.ts │ │ │ │ ├── glow-traveller │ │ │ │ │ ├── glow-traveller.component.css │ │ │ │ │ ├── glow-traveller.component.html │ │ │ │ │ ├── glow-traveller.component.spec.ts │ │ │ │ │ └── glow-traveller.component.ts │ │ │ │ ├── landing-diamond │ │ │ │ │ ├── landing-diamond.component.css │ │ │ │ │ ├── landing-diamond.component.html │ │ │ │ │ ├── landing-diamond.component.spec.ts │ │ │ │ │ └── landing-diamond.component.ts │ │ │ │ ├── landing-page-header │ │ │ │ │ ├── landing-page-header.component.css │ │ │ │ │ ├── landing-page-header.component.html │ │ │ │ │ ├── landing-page-header.component.spec.ts │ │ │ │ │ └── landing-page-header.component.ts │ │ │ │ ├── pulse-ball │ │ │ │ │ ├── pulse-ball.component.css │ │ │ │ │ ├── pulse-ball.component.html │ │ │ │ │ ├── pulse-ball.component.spec.ts │ │ │ │ │ └── pulse-ball.component.ts │ │ │ │ └── top-glow-traveller │ │ │ │ │ ├── top-glow-traveller.component.css │ │ │ │ │ ├── top-glow-traveller.component.html │ │ │ │ │ ├── top-glow-traveller.component.spec.ts │ │ │ │ │ └── top-glow-traveller.component.ts │ │ │ ├── home-page │ │ │ │ ├── home-page.component.css │ │ │ │ ├── home-page.component.html │ │ │ │ ├── home-page.component.spec.ts │ │ │ │ └── home-page.component.ts │ │ │ ├── landing-page.module.ts │ │ │ ├── landing-page.routing.module.ts │ │ │ └── login │ │ │ │ ├── login.component.css │ │ │ │ ├── login.component.html │ │ │ │ ├── login.component.spec.ts │ │ │ │ └── login.component.ts │ │ ├── pacman-features │ │ │ ├── animations │ │ │ │ └── animations.ts │ │ │ ├── modules │ │ │ │ ├── admin │ │ │ │ │ ├── account-management-details │ │ │ │ │ │ ├── account-management-details.component.css │ │ │ │ │ │ ├── account-management-details.component.html │ │ │ │ │ │ ├── account-management-details.component.spec.ts │ │ │ │ │ │ └── account-management-details.component.ts │ │ │ │ │ ├── account-management │ │ │ │ │ │ ├── account-management.component.css │ │ │ │ │ │ ├── account-management.component.html │ │ │ │ │ │ ├── account-management.component.spec.ts │ │ │ │ │ │ └── account-management.component.ts │ │ │ │ │ ├── admin-routing.module.ts │ │ │ │ │ ├── admin.component.css │ │ │ │ │ ├── admin.component.html │ │ │ │ │ ├── admin.component.spec.ts │ │ │ │ │ ├── admin.component.ts │ │ │ │ │ ├── admin.module.ts │ │ │ │ │ ├── asset-groups │ │ │ │ │ │ ├── asset-groups.component.css │ │ │ │ │ │ ├── asset-groups.component.html │ │ │ │ │ │ ├── asset-groups.component.spec.ts │ │ │ │ │ │ ├── asset-groups.component.ts │ │ │ │ │ │ ├── create-asset-groups │ │ │ │ │ │ │ ├── create-asset-groups.component.css │ │ │ │ │ │ │ ├── create-asset-groups.component.html │ │ │ │ │ │ │ ├── create-asset-groups.component.spec.ts │ │ │ │ │ │ │ └── create-asset-groups.component.ts │ │ │ │ │ │ ├── delete-asset-groups │ │ │ │ │ │ │ ├── delete-asset-groups.component.css │ │ │ │ │ │ │ ├── delete-asset-groups.component.html │ │ │ │ │ │ │ ├── delete-asset-groups.component.spec.ts │ │ │ │ │ │ │ └── delete-asset-groups.component.ts │ │ │ │ │ │ ├── domains │ │ │ │ │ │ │ ├── create-update-domain │ │ │ │ │ │ │ │ ├── create-update-domain.component.css │ │ │ │ │ │ │ │ ├── create-update-domain.component.html │ │ │ │ │ │ │ │ ├── create-update-domain.component.spec.ts │ │ │ │ │ │ │ │ └── create-update-domain.component.ts │ │ │ │ │ │ │ ├── domains.component.css │ │ │ │ │ │ │ ├── domains.component.html │ │ │ │ │ │ │ ├── domains.component.spec.ts │ │ │ │ │ │ │ └── domains.component.ts │ │ │ │ │ │ └── target-types │ │ │ │ │ │ │ ├── create-update-target-types │ │ │ │ │ │ │ ├── create-update-target-types.component.css │ │ │ │ │ │ │ ├── create-update-target-types.component.html │ │ │ │ │ │ │ ├── create-update-target-types.component.spec.ts │ │ │ │ │ │ │ └── create-update-target-types.component.ts │ │ │ │ │ │ │ ├── target-types.component.css │ │ │ │ │ │ │ ├── target-types.component.html │ │ │ │ │ │ │ ├── target-types.component.spec.ts │ │ │ │ │ │ │ └── target-types.component.ts │ │ │ │ │ ├── commons │ │ │ │ │ │ ├── pacman-loader │ │ │ │ │ │ │ ├── pacman-loader.component.css │ │ │ │ │ │ │ ├── pacman-loader.component.html │ │ │ │ │ │ │ ├── pacman-loader.component.spec.ts │ │ │ │ │ │ │ └── pacman-loader.component.ts │ │ │ │ │ │ └── utility-service.ts │ │ │ │ │ ├── config-management │ │ │ │ │ │ ├── config-management.component.css │ │ │ │ │ │ ├── config-management.component.html │ │ │ │ │ │ ├── config-management.component.spec.ts │ │ │ │ │ │ └── config-management.component.ts │ │ │ │ │ ├── create-edit-policy │ │ │ │ │ │ ├── create-edit-policy.component.css │ │ │ │ │ │ ├── create-edit-policy.component.html │ │ │ │ │ │ ├── create-edit-policy.component.spec.ts │ │ │ │ │ │ └── create-edit-policy.component.ts │ │ │ │ │ ├── create-rule │ │ │ │ │ │ ├── create-rule.component.css │ │ │ │ │ │ ├── create-rule.component.html │ │ │ │ │ │ ├── create-rule.component.spec.ts │ │ │ │ │ │ └── create-rule.component.ts │ │ │ │ │ ├── enable-disable-rule │ │ │ │ │ │ ├── enable-disable-rule.component.css │ │ │ │ │ │ ├── enable-disable-rule.component.html │ │ │ │ │ │ ├── enable-disable-rule.component.spec.ts │ │ │ │ │ │ └── enable-disable-rule.component.ts │ │ │ │ │ ├── enable-disable │ │ │ │ │ │ ├── enable-disable.component.css │ │ │ │ │ │ ├── enable-disable.component.html │ │ │ │ │ │ ├── enable-disable.component.spec.ts │ │ │ │ │ │ └── enable-disable.component.ts │ │ │ │ │ ├── invoke-rule │ │ │ │ │ │ ├── invoke-rule.component.css │ │ │ │ │ │ ├── invoke-rule.component.html │ │ │ │ │ │ ├── invoke-rule.component.spec.ts │ │ │ │ │ │ └── invoke-rule.component.ts │ │ │ │ │ ├── job-execution-manager │ │ │ │ │ │ ├── create-job-execution-manager │ │ │ │ │ │ │ ├── create-job-execution-manager.component.css │ │ │ │ │ │ │ ├── create-job-execution-manager.component.html │ │ │ │ │ │ │ ├── create-job-execution-manager.component.spec.ts │ │ │ │ │ │ │ └── create-job-execution-manager.component.ts │ │ │ │ │ │ ├── job-execution-manager.component.css │ │ │ │ │ │ ├── job-execution-manager.component.html │ │ │ │ │ │ ├── job-execution-manager.component.spec.ts │ │ │ │ │ │ ├── job-execution-manager.component.ts │ │ │ │ │ │ └── update-job-execution-manager │ │ │ │ │ │ │ ├── update-job-execution-manager.component.css │ │ │ │ │ │ │ ├── update-job-execution-manager.component.html │ │ │ │ │ │ │ ├── update-job-execution-manager.component.spec.ts │ │ │ │ │ │ │ └── update-job-execution-manager.component.ts │ │ │ │ │ ├── plugin-management-details │ │ │ │ │ │ ├── plugin-management-details.component.css │ │ │ │ │ │ ├── plugin-management-details.component.html │ │ │ │ │ │ ├── plugin-management-details.component.spec.ts │ │ │ │ │ │ └── plugin-management-details.component.ts │ │ │ │ │ ├── plugin-management │ │ │ │ │ │ ├── plugin-management.component.css │ │ │ │ │ │ ├── plugin-management.component.html │ │ │ │ │ │ ├── plugin-management.component.spec.ts │ │ │ │ │ │ └── plugin-management.component.ts │ │ │ │ │ ├── policies │ │ │ │ │ │ ├── policies.component.css │ │ │ │ │ │ ├── policies.component.html │ │ │ │ │ │ ├── policies.component.spec.ts │ │ │ │ │ │ └── policies.component.ts │ │ │ │ │ ├── roles-allocation │ │ │ │ │ │ ├── roles-allocation.component.css │ │ │ │ │ │ ├── roles-allocation.component.html │ │ │ │ │ │ ├── roles-allocation.component.spec.ts │ │ │ │ │ │ └── roles-allocation.component.ts │ │ │ │ │ ├── roles │ │ │ │ │ │ ├── config-users │ │ │ │ │ │ │ ├── config-users.component.css │ │ │ │ │ │ │ ├── config-users.component.html │ │ │ │ │ │ │ ├── config-users.component.spec.ts │ │ │ │ │ │ │ └── config-users.component.ts │ │ │ │ │ │ ├── create-update-roles │ │ │ │ │ │ │ ├── create-update-roles.component.css │ │ │ │ │ │ │ ├── create-update-roles.component.html │ │ │ │ │ │ │ ├── create-update-roles.component.spec.ts │ │ │ │ │ │ │ └── create-update-roles.component.ts │ │ │ │ │ │ ├── roles.component.css │ │ │ │ │ │ ├── roles.component.html │ │ │ │ │ │ ├── roles.component.spec.ts │ │ │ │ │ │ └── roles.component.ts │ │ │ │ │ ├── rules │ │ │ │ │ │ ├── rules.component.css │ │ │ │ │ │ ├── rules.component.html │ │ │ │ │ │ ├── rules.component.spec.ts │ │ │ │ │ │ └── rules.component.ts │ │ │ │ │ ├── sticky-exceptions │ │ │ │ │ │ ├── create-sticky-exceptions │ │ │ │ │ │ │ ├── create-sticky-exceptions.component.css │ │ │ │ │ │ │ ├── create-sticky-exceptions.component.html │ │ │ │ │ │ │ ├── create-sticky-exceptions.component.spec.ts │ │ │ │ │ │ │ └── create-sticky-exceptions.component.ts │ │ │ │ │ │ ├── delete-sticky-exceptions │ │ │ │ │ │ │ ├── delete-sticky-exceptions.component.css │ │ │ │ │ │ │ ├── delete-sticky-exceptions.component.html │ │ │ │ │ │ │ ├── delete-sticky-exceptions.component.spec.ts │ │ │ │ │ │ │ └── delete-sticky-exceptions.component.ts │ │ │ │ │ │ ├── sticky-exceptions.component.css │ │ │ │ │ │ ├── sticky-exceptions.component.html │ │ │ │ │ │ ├── sticky-exceptions.component.spec.ts │ │ │ │ │ │ └── sticky-exceptions.component.ts │ │ │ │ │ ├── system-management │ │ │ │ │ │ ├── system-management.component.css │ │ │ │ │ │ ├── system-management.component.html │ │ │ │ │ │ ├── system-management.component.spec.ts │ │ │ │ │ │ └── system-management.component.ts │ │ │ │ │ └── update-rule │ │ │ │ │ │ ├── update-rule.component.css │ │ │ │ │ │ ├── update-rule.component.html │ │ │ │ │ │ ├── update-rule.component.spec.ts │ │ │ │ │ │ └── update-rule.component.ts │ │ │ │ ├── assets │ │ │ │ │ ├── asset-dashboard │ │ │ │ │ │ ├── asset-dashboard.component.css │ │ │ │ │ │ ├── asset-dashboard.component.html │ │ │ │ │ │ ├── asset-dashboard.component.spec.ts │ │ │ │ │ │ └── asset-dashboard.component.ts │ │ │ │ │ ├── asset-details │ │ │ │ │ │ ├── asset-details.component.css │ │ │ │ │ │ ├── asset-details.component.html │ │ │ │ │ │ ├── asset-details.component.spec.ts │ │ │ │ │ │ └── asset-details.component.ts │ │ │ │ │ ├── asset-list │ │ │ │ │ │ ├── asset-list.component.css │ │ │ │ │ │ ├── asset-list.component.html │ │ │ │ │ │ ├── asset-list.component.spec.ts │ │ │ │ │ │ └── asset-list.component.ts │ │ │ │ │ ├── assets-routing.module.ts │ │ │ │ │ ├── assets.component.css │ │ │ │ │ ├── assets.component.html │ │ │ │ │ ├── assets.component.spec.ts │ │ │ │ │ ├── assets.component.ts │ │ │ │ │ ├── assets.module.ts │ │ │ │ │ ├── aws-notifications │ │ │ │ │ │ ├── aws-notifications.component.css │ │ │ │ │ │ ├── aws-notifications.component.html │ │ │ │ │ │ ├── aws-notifications.component.spec.ts │ │ │ │ │ │ └── aws-notifications.component.ts │ │ │ │ │ └── onprem-assets │ │ │ │ │ │ ├── onprem-assets.component.css │ │ │ │ │ │ ├── onprem-assets.component.html │ │ │ │ │ │ ├── onprem-assets.component.spec.ts │ │ │ │ │ │ └── onprem-assets.component.ts │ │ │ │ ├── compliance │ │ │ │ │ ├── certificate-compliance │ │ │ │ │ │ ├── certificate-compliance.component.css │ │ │ │ │ │ ├── certificate-compliance.component.html │ │ │ │ │ │ ├── certificate-compliance.component.spec.ts │ │ │ │ │ │ └── certificate-compliance.component.ts │ │ │ │ │ ├── certificates │ │ │ │ │ │ ├── certificates.component.css │ │ │ │ │ │ ├── certificates.component.html │ │ │ │ │ │ ├── certificates.component.spec.ts │ │ │ │ │ │ └── certificates.component.ts │ │ │ │ │ ├── cloud-notifications │ │ │ │ │ │ ├── cloud-notifications.component.css │ │ │ │ │ │ ├── cloud-notifications.component.html │ │ │ │ │ │ ├── cloud-notifications.component.spec.ts │ │ │ │ │ │ └── cloud-notifications.component.ts │ │ │ │ │ ├── compliance-dashboard │ │ │ │ │ │ ├── compliance-dashboard.component.css │ │ │ │ │ │ ├── compliance-dashboard.component.html │ │ │ │ │ │ ├── compliance-dashboard.component.spec.ts │ │ │ │ │ │ └── compliance-dashboard.component.ts │ │ │ │ │ ├── compliance-routing.module.ts │ │ │ │ │ ├── compliance.component.css │ │ │ │ │ ├── compliance.component.html │ │ │ │ │ ├── compliance.component.spec.ts │ │ │ │ │ ├── compliance.component.ts │ │ │ │ │ ├── compliance.module.ts │ │ │ │ │ ├── digital-dev-dashboard │ │ │ │ │ │ ├── digital-dev-dashboard.component.css │ │ │ │ │ │ ├── digital-dev-dashboard.component.html │ │ │ │ │ │ ├── digital-dev-dashboard.component.spec.ts │ │ │ │ │ │ └── digital-dev-dashboard.component.ts │ │ │ │ │ ├── event-details │ │ │ │ │ │ ├── event-details.component.css │ │ │ │ │ │ ├── event-details.component.html │ │ │ │ │ │ ├── event-details.component.spec.ts │ │ │ │ │ │ └── event-details.component.ts │ │ │ │ │ ├── issue-details │ │ │ │ │ │ ├── issue-details.component.css │ │ │ │ │ │ ├── issue-details.component.html │ │ │ │ │ │ ├── issue-details.component.spec.ts │ │ │ │ │ │ └── issue-details.component.ts │ │ │ │ │ ├── issue-listing │ │ │ │ │ │ ├── issue-listing.component.css │ │ │ │ │ │ ├── issue-listing.component.html │ │ │ │ │ │ ├── issue-listing.component.spec.ts │ │ │ │ │ │ └── issue-listing.component.ts │ │ │ │ │ ├── patching-compliance │ │ │ │ │ │ ├── patching-compliance.component.css │ │ │ │ │ │ ├── patching-compliance.component.html │ │ │ │ │ │ ├── patching-compliance.component.spec.ts │ │ │ │ │ │ └── patching-compliance.component.ts │ │ │ │ │ ├── patching-projections │ │ │ │ │ │ ├── patching-projections.component.css │ │ │ │ │ │ ├── patching-projections.component.html │ │ │ │ │ │ ├── patching-projections.component.spec.ts │ │ │ │ │ │ └── patching-projections.component.ts │ │ │ │ │ ├── policy-details │ │ │ │ │ │ ├── policy-details.component.css │ │ │ │ │ │ ├── policy-details.component.html │ │ │ │ │ │ ├── policy-details.component.spec.ts │ │ │ │ │ │ └── policy-details.component.ts │ │ │ │ │ ├── policy-knowledgebase-details │ │ │ │ │ │ ├── policy-knowledgebase-details.component.css │ │ │ │ │ │ ├── policy-knowledgebase-details.component.html │ │ │ │ │ │ ├── policy-knowledgebase-details.component.spec.ts │ │ │ │ │ │ └── policy-knowledgebase-details.component.ts │ │ │ │ │ ├── policy-knowledgebase │ │ │ │ │ │ ├── policy-knowledgebase.component.css │ │ │ │ │ │ ├── policy-knowledgebase.component.html │ │ │ │ │ │ ├── policy-knowledgebase.component.spec.ts │ │ │ │ │ │ └── policy-knowledgebase.component.ts │ │ │ │ │ ├── policy-violations-list │ │ │ │ │ │ ├── policy-violations-list.component.css │ │ │ │ │ │ ├── policy-violations-list.component.html │ │ │ │ │ │ ├── policy-violations-list.component.spec.ts │ │ │ │ │ │ └── policy-violations-list.component.ts │ │ │ │ │ ├── recommendations-details │ │ │ │ │ │ ├── recommendations-details.component.css │ │ │ │ │ │ ├── recommendations-details.component.html │ │ │ │ │ │ ├── recommendations-details.component.spec.ts │ │ │ │ │ │ └── recommendations-details.component.ts │ │ │ │ │ ├── recommendations │ │ │ │ │ │ ├── recommendations.component.css │ │ │ │ │ │ ├── recommendations.component.html │ │ │ │ │ │ ├── recommendations.component.spec.ts │ │ │ │ │ │ └── recommendations.component.ts │ │ │ │ │ ├── tagging-compliance │ │ │ │ │ │ ├── tagging-compliance.component.css │ │ │ │ │ │ ├── tagging-compliance.component.html │ │ │ │ │ │ ├── tagging-compliance.component.spec.ts │ │ │ │ │ │ └── tagging-compliance.component.ts │ │ │ │ │ ├── vulnerabilities-compliance │ │ │ │ │ │ ├── vulnerabilities-compliance.component.css │ │ │ │ │ │ ├── vulnerabilities-compliance.component.html │ │ │ │ │ │ ├── vulnerabilities-compliance.component.spec.ts │ │ │ │ │ │ └── vulnerabilities-compliance.component.ts │ │ │ │ │ ├── vulnerabilities │ │ │ │ │ │ ├── vulnerabilities.component.css │ │ │ │ │ │ ├── vulnerabilities.component.html │ │ │ │ │ │ ├── vulnerabilities.component.spec.ts │ │ │ │ │ │ └── vulnerabilities.component.ts │ │ │ │ │ └── vulnerability-details │ │ │ │ │ │ ├── vulnerability-details.component.css │ │ │ │ │ │ ├── vulnerability-details.component.html │ │ │ │ │ │ ├── vulnerability-details.component.spec.ts │ │ │ │ │ │ └── vulnerability-details.component.ts │ │ │ │ ├── omnisearch │ │ │ │ │ ├── omni-search-details │ │ │ │ │ │ ├── omni-search-details.component.css │ │ │ │ │ │ ├── omni-search-details.component.html │ │ │ │ │ │ ├── omni-search-details.component.spec.ts │ │ │ │ │ │ └── omni-search-details.component.ts │ │ │ │ │ ├── omni-search-page │ │ │ │ │ │ ├── omni-search-page.component.css │ │ │ │ │ │ ├── omni-search-page.component.html │ │ │ │ │ │ ├── omni-search-page.component.spec.ts │ │ │ │ │ │ └── omni-search-page.component.ts │ │ │ │ │ ├── omnisearch-routing.module.ts │ │ │ │ │ ├── omnisearch.component.css │ │ │ │ │ ├── omnisearch.component.html │ │ │ │ │ ├── omnisearch.component.spec.ts │ │ │ │ │ ├── omnisearch.component.ts │ │ │ │ │ └── omnisearch.module.ts │ │ │ │ └── tools │ │ │ │ │ ├── tools-landing-page │ │ │ │ │ ├── tools-landing-page.component.css │ │ │ │ │ ├── tools-landing-page.component.html │ │ │ │ │ ├── tools-landing-page.component.spec.ts │ │ │ │ │ └── tools-landing-page.component.ts │ │ │ │ │ ├── tools-routing.module.ts │ │ │ │ │ ├── tools.component.css │ │ │ │ │ ├── tools.component.html │ │ │ │ │ ├── tools.component.spec.ts │ │ │ │ │ ├── tools.component.ts │ │ │ │ │ └── tools.module.ts │ │ │ ├── secondary-components │ │ │ │ ├── access-groups │ │ │ │ │ ├── access-groups.component.css │ │ │ │ │ ├── access-groups.component.html │ │ │ │ │ ├── access-groups.component.spec.ts │ │ │ │ │ └── access-groups.component.ts │ │ │ │ ├── all-certificate-table │ │ │ │ │ ├── all-certificate-table.component.css │ │ │ │ │ ├── all-certificate-table.component.html │ │ │ │ │ ├── all-certificate-table.component.spec.ts │ │ │ │ │ └── all-certificate-table.component.ts │ │ │ │ ├── all-patching-table │ │ │ │ │ ├── all-patching-table.component.css │ │ │ │ │ ├── all-patching-table.component.html │ │ │ │ │ ├── all-patching-table.component.spec.ts │ │ │ │ │ └── all-patching-table.component.ts │ │ │ │ ├── all-policy-violations │ │ │ │ │ ├── all-policy-violations.component.css │ │ │ │ │ ├── all-policy-violations.component.html │ │ │ │ │ ├── all-policy-violations.component.spec.ts │ │ │ │ │ └── all-policy-violations.component.ts │ │ │ │ ├── all-vulnerability-table │ │ │ │ │ ├── all-vulnerability-table.component.css │ │ │ │ │ ├── all-vulnerability-table.component.html │ │ │ │ │ ├── all-vulnerability-table.component.spec.ts │ │ │ │ │ └── all-vulnerability-table.component.ts │ │ │ │ ├── asset-application │ │ │ │ │ ├── asset-application.component.css │ │ │ │ │ ├── asset-application.component.html │ │ │ │ │ ├── asset-application.component.spec.ts │ │ │ │ │ └── asset-application.component.ts │ │ │ │ ├── asset-certificate │ │ │ │ │ ├── asset-certificate.component.css │ │ │ │ │ ├── asset-certificate.component.html │ │ │ │ │ ├── asset-certificate.component.spec.ts │ │ │ │ │ └── asset-certificate.component.ts │ │ │ │ ├── asset-contents │ │ │ │ │ ├── asset-contents.component.css │ │ │ │ │ ├── asset-contents.component.html │ │ │ │ │ ├── asset-contents.component.spec.ts │ │ │ │ │ └── asset-contents.component.ts │ │ │ │ ├── asset-crop │ │ │ │ │ ├── asset-crop.component.css │ │ │ │ │ ├── asset-crop.component.html │ │ │ │ │ ├── asset-crop.component.spec.ts │ │ │ │ │ └── asset-crop.component.ts │ │ │ │ ├── asset-info │ │ │ │ │ ├── asset-info.component.css │ │ │ │ │ ├── asset-info.component.html │ │ │ │ │ ├── asset-info.component.spec.ts │ │ │ │ │ └── asset-info.component.ts │ │ │ │ ├── asset-summary │ │ │ │ │ ├── asset-summary.component.css │ │ │ │ │ ├── asset-summary.component.html │ │ │ │ │ ├── asset-summary.component.spec.ts │ │ │ │ │ └── asset-summary.component.ts │ │ │ │ ├── asset-tracker │ │ │ │ │ ├── asset-tracker.component.css │ │ │ │ │ ├── asset-tracker.component.html │ │ │ │ │ ├── asset-tracker.component.spec.ts │ │ │ │ │ └── asset-tracker.component.ts │ │ │ │ ├── asset-type │ │ │ │ │ ├── asset-type.component.css │ │ │ │ │ ├── asset-type.component.html │ │ │ │ │ ├── asset-type.component.spec.ts │ │ │ │ │ └── asset-type.component.ts │ │ │ │ ├── asset-waf │ │ │ │ │ ├── asset-waf.component.css │ │ │ │ │ ├── asset-waf.component.html │ │ │ │ │ ├── asset-waf.component.spec.ts │ │ │ │ │ └── asset-waf.component.ts │ │ │ │ ├── attribute │ │ │ │ │ ├── attribute.component.css │ │ │ │ │ ├── attribute.component.html │ │ │ │ │ ├── attribute.component.spec.ts │ │ │ │ │ └── attribute.component.ts │ │ │ │ ├── autofix-schedule │ │ │ │ │ ├── autofix-schedule.component.css │ │ │ │ │ ├── autofix-schedule.component.html │ │ │ │ │ ├── autofix-schedule.component.spec.ts │ │ │ │ │ └── autofix-schedule.component.ts │ │ │ │ ├── aws-app-tile │ │ │ │ │ ├── aws-app-tile.component.css │ │ │ │ │ ├── aws-app-tile.component.html │ │ │ │ │ ├── aws-app-tile.component.spec.ts │ │ │ │ │ └── aws-app-tile.component.ts │ │ │ │ ├── aws-resource-details │ │ │ │ │ ├── aws-resource-details.component.css │ │ │ │ │ ├── aws-resource-details.component.html │ │ │ │ │ ├── aws-resource-details.component.spec.ts │ │ │ │ │ └── aws-resource-details.component.ts │ │ │ │ ├── certificate-assets-trend │ │ │ │ │ ├── certificate-assets-trend.component.css │ │ │ │ │ ├── certificate-assets-trend.component.html │ │ │ │ │ ├── certificate-assets-trend.component.spec.ts │ │ │ │ │ └── certificate-assets-trend.component.ts │ │ │ │ ├── certificate-stage │ │ │ │ │ ├── certificate-stage.component.css │ │ │ │ │ ├── certificate-stage.component.html │ │ │ │ │ ├── certificate-stage.component.spec.ts │ │ │ │ │ └── certificate-stage.component.ts │ │ │ │ ├── certificate-summary │ │ │ │ │ ├── certificate-summary.component.css │ │ │ │ │ ├── certificate-summary.component.html │ │ │ │ │ ├── certificate-summary.component.spec.ts │ │ │ │ │ └── certificate-summary.component.ts │ │ │ │ ├── certificate-trend │ │ │ │ │ ├── certificate-trend.component.css │ │ │ │ │ ├── certificate-trend.component.html │ │ │ │ │ ├── certificate-trend.component.spec.ts │ │ │ │ │ └── certificate-trend.component.ts │ │ │ │ ├── certificates-compliance-trend │ │ │ │ │ ├── certificates-compliance-trend.component.css │ │ │ │ │ ├── certificates-compliance-trend.component.html │ │ │ │ │ ├── certificates-compliance-trend.component.spec.ts │ │ │ │ │ └── certificates-compliance-trend.component.ts │ │ │ │ ├── compliance-issues │ │ │ │ │ ├── compliance-issues.component.css │ │ │ │ │ ├── compliance-issues.component.html │ │ │ │ │ ├── compliance-issues.component.spec.ts │ │ │ │ │ └── compliance-issues.component.ts │ │ │ │ ├── compliance-overview-trend │ │ │ │ │ ├── compliance-overview-trend.component.css │ │ │ │ │ ├── compliance-overview-trend.component.html │ │ │ │ │ ├── compliance-overview-trend.component.spec.ts │ │ │ │ │ └── compliance-overview-trend.component.ts │ │ │ │ ├── details-info │ │ │ │ │ ├── details-info.component.css │ │ │ │ │ ├── details-info.component.html │ │ │ │ │ ├── details-info.component.spec.ts │ │ │ │ │ └── details-info.component.ts │ │ │ │ ├── dev-pull-request-applications │ │ │ │ │ ├── dev-pull-request-applications.component.css │ │ │ │ │ ├── dev-pull-request-applications.component.html │ │ │ │ │ ├── dev-pull-request-applications.component.spec.ts │ │ │ │ │ └── dev-pull-request-applications.component.ts │ │ │ │ ├── dev-stale-branch-applications │ │ │ │ │ ├── dev-stale-branch-applications.component.css │ │ │ │ │ ├── dev-stale-branch-applications.component.html │ │ │ │ │ ├── dev-stale-branch-applications.component.spec.ts │ │ │ │ │ └── dev-stale-branch-applications.component.ts │ │ │ │ ├── dev-standard-pull-request-age │ │ │ │ │ ├── dev-standard-pull-request-age.component.css │ │ │ │ │ ├── dev-standard-pull-request-age.component.html │ │ │ │ │ ├── dev-standard-pull-request-age.component.spec.ts │ │ │ │ │ └── dev-standard-pull-request-age.component.ts │ │ │ │ ├── dev-standard-stale-branch-age │ │ │ │ │ ├── dev-standard-stale-branch-age.component.css │ │ │ │ │ ├── dev-standard-stale-branch-age.component.html │ │ │ │ │ ├── dev-standard-stale-branch-age.component.spec.ts │ │ │ │ │ └── dev-standard-stale-branch-age.component.ts │ │ │ │ ├── dev-standard-total-stale-branches │ │ │ │ │ ├── dev-standard-total-stale-branches.component.css │ │ │ │ │ ├── dev-standard-total-stale-branches.component.html │ │ │ │ │ ├── dev-standard-total-stale-branches.component.spec.ts │ │ │ │ │ └── dev-standard-total-stale-branches.component.ts │ │ │ │ ├── digital-application-distribution │ │ │ │ │ ├── digital-application-distribution.component.css │ │ │ │ │ ├── digital-application-distribution.component.html │ │ │ │ │ ├── digital-application-distribution.component.spec.ts │ │ │ │ │ └── digital-application-distribution.component.ts │ │ │ │ ├── digital-dev-strategy-distribution │ │ │ │ │ ├── digital-dev-strategy-distribution.component.css │ │ │ │ │ ├── digital-dev-strategy-distribution.component.html │ │ │ │ │ ├── digital-dev-strategy-distribution.component.spec.ts │ │ │ │ │ └── digital-dev-strategy-distribution.component.ts │ │ │ │ ├── host-vulnerabilities │ │ │ │ │ ├── host-vulnerabilities.component.css │ │ │ │ │ ├── host-vulnerabilities.component.html │ │ │ │ │ ├── host-vulnerabilities.component.spec.ts │ │ │ │ │ └── host-vulnerabilities.component.ts │ │ │ │ ├── installed-softwares │ │ │ │ │ ├── installed-softwares.component.css │ │ │ │ │ ├── installed-softwares.component.html │ │ │ │ │ ├── installed-softwares.component.spec.ts │ │ │ │ │ └── installed-softwares.component.ts │ │ │ │ ├── inventory-container │ │ │ │ │ ├── inventory-container.component.css │ │ │ │ │ ├── inventory-container.component.html │ │ │ │ │ ├── inventory-container.component.spec.ts │ │ │ │ │ └── inventory-container.component.ts │ │ │ │ ├── issue-blocks │ │ │ │ │ ├── issue-blocks.component.css │ │ │ │ │ ├── issue-blocks.component.html │ │ │ │ │ ├── issue-blocks.component.spec.ts │ │ │ │ │ └── issue-blocks.component.ts │ │ │ │ ├── issue-exception │ │ │ │ │ ├── issue-exception.component.css │ │ │ │ │ ├── issue-exception.component.html │ │ │ │ │ ├── issue-exception.component.spec.ts │ │ │ │ │ └── issue-exception.component.ts │ │ │ │ ├── issues-category │ │ │ │ │ ├── issues-category.component.css │ │ │ │ │ ├── issues-category.component.html │ │ │ │ │ ├── issues-category.component.spec.ts │ │ │ │ │ └── issues-category.component.ts │ │ │ │ ├── issues-trend-history │ │ │ │ │ ├── issues-trend-history.component.css │ │ │ │ │ ├── issues-trend-history.component.html │ │ │ │ │ ├── issues-trend-history.component.spec.ts │ │ │ │ │ └── issues-trend-history.component.ts │ │ │ │ ├── list-table │ │ │ │ │ ├── list-table.component.css │ │ │ │ │ ├── list-table.component.html │ │ │ │ │ ├── list-table.component.spec.ts │ │ │ │ │ └── list-table.component.ts │ │ │ │ ├── multi-band-donut │ │ │ │ │ ├── multi-band-donut.component.css │ │ │ │ │ ├── multi-band-donut.component.html │ │ │ │ │ ├── multi-band-donut.component.spec.ts │ │ │ │ │ └── multi-band-donut.component.ts │ │ │ │ ├── multiline-brush-zoom │ │ │ │ │ ├── multiline-brush-zoom.component.css │ │ │ │ │ ├── multiline-brush-zoom.component.html │ │ │ │ │ ├── multiline-brush-zoom.component.spec.ts │ │ │ │ │ └── multiline-brush-zoom.component.ts │ │ │ │ ├── multiline-chart │ │ │ │ │ ├── multiline-chart.component.css │ │ │ │ │ ├── multiline-chart.component.html │ │ │ │ │ ├── multiline-chart.component.spec.ts │ │ │ │ │ └── multiline-chart.component.ts │ │ │ │ ├── onprem-patching-graph │ │ │ │ │ ├── onprem-patching-graph.component.css │ │ │ │ │ ├── onprem-patching-graph.component.html │ │ │ │ │ ├── onprem-patching-graph.component.spec.ts │ │ │ │ │ └── onprem-patching-graph.component.ts │ │ │ │ ├── open-ports │ │ │ │ │ ├── open-ports.component.css │ │ │ │ │ ├── open-ports.component.html │ │ │ │ │ ├── open-ports.component.spec.ts │ │ │ │ │ └── open-ports.component.ts │ │ │ │ ├── overall-compliance │ │ │ │ │ ├── overall-compliance.component.css │ │ │ │ │ ├── overall-compliance.component.html │ │ │ │ │ ├── overall-compliance.component.spec.ts │ │ │ │ │ └── overall-compliance.component.ts │ │ │ │ ├── overall-vulnerabilities │ │ │ │ │ ├── overall-vulnerabilities.component.css │ │ │ │ │ ├── overall-vulnerabilities.component.html │ │ │ │ │ ├── overall-vulnerabilities.component.spec.ts │ │ │ │ │ └── overall-vulnerabilities.component.ts │ │ │ │ ├── overview-certificates │ │ │ │ │ ├── overview-certificates.component.css │ │ │ │ │ ├── overview-certificates.component.html │ │ │ │ │ ├── overview-certificates.component.spec.ts │ │ │ │ │ └── overview-certificates.component.ts │ │ │ │ ├── overview-patching │ │ │ │ │ ├── overview-patching.component.css │ │ │ │ │ ├── overview-patching.component.html │ │ │ │ │ ├── overview-patching.component.spec.ts │ │ │ │ │ └── overview-patching.component.ts │ │ │ │ ├── overview-tagging │ │ │ │ │ ├── overview-tagging.component.css │ │ │ │ │ ├── overview-tagging.component.html │ │ │ │ │ ├── overview-tagging.component.spec.ts │ │ │ │ │ └── overview-tagging.component.ts │ │ │ │ ├── overview-vulnerabilities │ │ │ │ │ ├── overview-vulnerabilities.component.css │ │ │ │ │ ├── overview-vulnerabilities.component.html │ │ │ │ │ ├── overview-vulnerabilities.component.spec.ts │ │ │ │ │ └── overview-vulnerabilities.component.ts │ │ │ │ ├── pacman-issues │ │ │ │ │ ├── pacman-issues.component.css │ │ │ │ │ ├── pacman-issues.component.html │ │ │ │ │ ├── pacman-issues.component.spec.ts │ │ │ │ │ └── pacman-issues.component.ts │ │ │ │ ├── pacman-policy-violations │ │ │ │ │ ├── pacman-policy-violations.component.css │ │ │ │ │ ├── pacman-policy-violations.component.html │ │ │ │ │ ├── pacman-policy-violations.component.spec.ts │ │ │ │ │ └── pacman-policy-violations.component.ts │ │ │ │ ├── patching-current-state │ │ │ │ │ ├── patching-current-state.component.css │ │ │ │ │ ├── patching-current-state.component.html │ │ │ │ │ ├── patching-current-state.component.spec.ts │ │ │ │ │ └── patching-current-state.component.ts │ │ │ │ ├── patching-graph │ │ │ │ │ ├── patching-graph.component.css │ │ │ │ │ ├── patching-graph.component.html │ │ │ │ │ ├── patching-graph.component.spec.ts │ │ │ │ │ └── patching-graph.component.ts │ │ │ │ ├── patching-issue │ │ │ │ │ ├── patching-issue.component.css │ │ │ │ │ ├── patching-issue.component.html │ │ │ │ │ ├── patching-issue.component.spec.ts │ │ │ │ │ └── patching-issue.component.ts │ │ │ │ ├── patching-snapshot │ │ │ │ │ ├── patching-snapshot.component.css │ │ │ │ │ ├── patching-snapshot.component.html │ │ │ │ │ ├── patching-snapshot.component.spec.ts │ │ │ │ │ └── patching-snapshot.component.ts │ │ │ │ ├── patching-sponsor │ │ │ │ │ ├── patching-sponsor.component.css │ │ │ │ │ ├── patching-sponsor.component.html │ │ │ │ │ ├── patching-sponsor.component.spec.ts │ │ │ │ │ └── patching-sponsor.component.ts │ │ │ │ ├── patching-trend │ │ │ │ │ ├── patching-trend.component.css │ │ │ │ │ ├── patching-trend.component.html │ │ │ │ │ ├── patching-trend.component.spec.ts │ │ │ │ │ └── patching-trend.component.ts │ │ │ │ ├── policy-across-application │ │ │ │ │ ├── policy-across-application.component.css │ │ │ │ │ ├── policy-across-application.component.html │ │ │ │ │ ├── policy-across-application.component.spec.ts │ │ │ │ │ └── policy-across-application.component.ts │ │ │ │ ├── policy-assets-trend │ │ │ │ │ ├── policy-assets-trend.component.css │ │ │ │ │ ├── policy-assets-trend.component.html │ │ │ │ │ ├── policy-assets-trend.component.spec.ts │ │ │ │ │ └── policy-assets-trend.component.ts │ │ │ │ ├── policy-content-slider │ │ │ │ │ ├── policy-content-slider.component.css │ │ │ │ │ ├── policy-content-slider.component.html │ │ │ │ │ ├── policy-content-slider.component.spec.ts │ │ │ │ │ └── policy-content-slider.component.ts │ │ │ │ ├── policy-summary │ │ │ │ │ ├── policy-summary.component.css │ │ │ │ │ ├── policy-summary.component.html │ │ │ │ │ ├── policy-summary.component.spec.ts │ │ │ │ │ └── policy-summary.component.ts │ │ │ │ ├── policy-trend │ │ │ │ │ ├── policy-trend.component.css │ │ │ │ │ ├── policy-trend.component.html │ │ │ │ │ ├── policy-trend.component.spec.ts │ │ │ │ │ └── policy-trend.component.ts │ │ │ │ ├── policy-violation-desc │ │ │ │ │ ├── policy-violation-desc.component.css │ │ │ │ │ ├── policy-violation-desc.component.html │ │ │ │ │ ├── policy-violation-desc.component.spec.ts │ │ │ │ │ └── policy-violation-desc.component.ts │ │ │ │ ├── progress-summary │ │ │ │ │ ├── progress-summary.component.css │ │ │ │ │ ├── progress-summary.component.html │ │ │ │ │ ├── progress-summary.component.spec.ts │ │ │ │ │ └── progress-summary.component.ts │ │ │ │ ├── pull-request-line-metrics │ │ │ │ │ ├── pull-request-line-metrics.component.css │ │ │ │ │ ├── pull-request-line-metrics.component.html │ │ │ │ │ ├── pull-request-line-metrics.component.spec.ts │ │ │ │ │ └── pull-request-line-metrics.component.ts │ │ │ │ ├── quarter-graph │ │ │ │ │ ├── quarter-graph.component.css │ │ │ │ │ ├── quarter-graph.component.html │ │ │ │ │ ├── quarter-graph.component.spec.ts │ │ │ │ │ └── quarter-graph.component.ts │ │ │ │ ├── recommand-category │ │ │ │ │ ├── recommand-category.component.css │ │ │ │ │ ├── recommand-category.component.html │ │ │ │ │ ├── recommand-category.component.spec.ts │ │ │ │ │ └── recommand-category.component.ts │ │ │ │ ├── recommendation │ │ │ │ │ ├── recommendation.component.css │ │ │ │ │ ├── recommendation.component.html │ │ │ │ │ ├── recommendation.component.spec.ts │ │ │ │ │ └── recommendation.component.ts │ │ │ │ ├── state-table │ │ │ │ │ ├── state-table.component.css │ │ │ │ │ ├── state-table.component.html │ │ │ │ │ ├── state-table.component.spec.ts │ │ │ │ │ └── state-table.component.ts │ │ │ │ ├── tagging-across-target-type │ │ │ │ │ ├── tagging-across-target-type.component.css │ │ │ │ │ ├── tagging-across-target-type.component.html │ │ │ │ │ ├── tagging-across-target-type.component.spec.ts │ │ │ │ │ └── tagging-across-target-type.component.ts │ │ │ │ ├── tagging-assets-trend │ │ │ │ │ ├── tagging-assets-trend.component.css │ │ │ │ │ ├── tagging-assets-trend.component.html │ │ │ │ │ ├── tagging-assets-trend.component.spec.ts │ │ │ │ │ └── tagging-assets-trend.component.ts │ │ │ │ ├── tagging-compliance-trend │ │ │ │ │ ├── tagging-compliance-trend.component.css │ │ │ │ │ ├── tagging-compliance-trend.component.html │ │ │ │ │ ├── tagging-compliance-trend.component.spec.ts │ │ │ │ │ └── tagging-compliance-trend.component.ts │ │ │ │ ├── tagging-instances-table │ │ │ │ │ ├── tagging-instances-table.component.css │ │ │ │ │ ├── tagging-instances-table.component.html │ │ │ │ │ ├── tagging-instances-table.component.spec.ts │ │ │ │ │ └── tagging-instances-table.component.ts │ │ │ │ ├── tagging-summary │ │ │ │ │ ├── tagging-summary.component.css │ │ │ │ │ ├── tagging-summary.component.html │ │ │ │ │ ├── tagging-summary.component.spec.ts │ │ │ │ │ └── tagging-summary.component.ts │ │ │ │ ├── tagging-trend │ │ │ │ │ ├── tagging-trend.component.css │ │ │ │ │ ├── tagging-trend.component.html │ │ │ │ │ ├── tagging-trend.component.spec.ts │ │ │ │ │ └── tagging-trend.component.ts │ │ │ │ ├── target-type-tagging-tile │ │ │ │ │ ├── target-type-tagging-tile.component.css │ │ │ │ │ ├── target-type-tagging-tile.component.html │ │ │ │ │ ├── target-type-tagging-tile.component.spec.ts │ │ │ │ │ └── target-type-tagging-tile.component.ts │ │ │ │ ├── total-tag-compliance │ │ │ │ │ ├── total-tag-compliance.component.css │ │ │ │ │ ├── total-tag-compliance.component.html │ │ │ │ │ ├── total-tag-compliance.component.spec.ts │ │ │ │ │ └── total-tag-compliance.component.ts │ │ │ │ ├── tracker-bar │ │ │ │ │ ├── tracker-bar.component.css │ │ │ │ │ ├── tracker-bar.component.html │ │ │ │ │ ├── tracker-bar.component.spec.ts │ │ │ │ │ └── tracker-bar.component.ts │ │ │ │ ├── utilization-container │ │ │ │ │ ├── utilization-container.component.css │ │ │ │ │ ├── utilization-container.component.html │ │ │ │ │ ├── utilization-container.component.spec.ts │ │ │ │ │ └── utilization-container.component.ts │ │ │ │ ├── view-all-resources │ │ │ │ │ ├── view-all-resources.component.css │ │ │ │ │ ├── view-all-resources.component.html │ │ │ │ │ ├── view-all-resources.component.spec.ts │ │ │ │ │ └── view-all-resources.component.ts │ │ │ │ ├── vulnerabilities-compliance-trend │ │ │ │ │ ├── vulnerabilities-compliance-trend.component.css │ │ │ │ │ ├── vulnerabilities-compliance-trend.component.html │ │ │ │ │ ├── vulnerabilities-compliance-trend.component.spec.ts │ │ │ │ │ └── vulnerabilities-compliance-trend.component.ts │ │ │ │ ├── vulnerability-across-application │ │ │ │ │ ├── vulnerability-across-application.component.css │ │ │ │ │ ├── vulnerability-across-application.component.html │ │ │ │ │ ├── vulnerability-across-application.component.spec.ts │ │ │ │ │ └── vulnerability-across-application.component.ts │ │ │ │ ├── vulnerability-aging-graph │ │ │ │ │ ├── vulnerability-aging-graph.component.css │ │ │ │ │ ├── vulnerability-aging-graph.component.html │ │ │ │ │ ├── vulnerability-aging-graph.component.spec.ts │ │ │ │ │ └── vulnerability-aging-graph.component.ts │ │ │ │ ├── vulnerability-assets-trend │ │ │ │ │ ├── vulnerability-assets-trend.component.css │ │ │ │ │ ├── vulnerability-assets-trend.component.html │ │ │ │ │ ├── vulnerability-assets-trend.component.spec.ts │ │ │ │ │ └── vulnerability-assets-trend.component.ts │ │ │ │ ├── vulnerability-issue │ │ │ │ │ ├── vulnerability-issue.component.css │ │ │ │ │ ├── vulnerability-issue.component.html │ │ │ │ │ ├── vulnerability-issue.component.spec.ts │ │ │ │ │ └── vulnerability-issue.component.ts │ │ │ │ ├── vulnerability-overall │ │ │ │ │ ├── vulnerability-overall.component.css │ │ │ │ │ ├── vulnerability-overall.component.html │ │ │ │ │ ├── vulnerability-overall.component.spec.ts │ │ │ │ │ └── vulnerability-overall.component.ts │ │ │ │ ├── vulnerability-summary-table │ │ │ │ │ ├── vulnerability-summary-table.component.css │ │ │ │ │ ├── vulnerability-summary-table.component.html │ │ │ │ │ ├── vulnerability-summary-table.component.spec.ts │ │ │ │ │ └── vulnerability-summary-table.component.ts │ │ │ │ └── vulnerability-trend │ │ │ │ │ ├── vulnerability-trend.component.css │ │ │ │ │ ├── vulnerability-trend.component.html │ │ │ │ │ ├── vulnerability-trend.component.spec.ts │ │ │ │ │ └── vulnerability-trend.component.ts │ │ │ └── services │ │ │ │ ├── all-admin.service.ts │ │ │ │ ├── asset-cost.service.ts │ │ │ │ ├── autorefresh.service.ts │ │ │ │ ├── aws-resource-type-selection.service.ts │ │ │ │ ├── compliance-categories.service.ts │ │ │ │ ├── compliance-overview.service.ts │ │ │ │ ├── cpu-utilization.service.ts │ │ │ │ ├── dashboard-route.service.ts │ │ │ │ ├── dev-pull-request-application.service.ts │ │ │ │ ├── dev-stale-branch-application.service.ts │ │ │ │ ├── digital-dev-management.service.ts │ │ │ │ ├── disk-utilization.service.ts │ │ │ │ ├── fetch-resources.service.ts │ │ │ │ ├── host-vulnerabilities-summary.service.ts │ │ │ │ ├── issue-audit.service.ts │ │ │ │ ├── issue-filter.service.ts │ │ │ │ ├── issue-listing.service.ts │ │ │ │ ├── issues-history.service.ts │ │ │ │ ├── multilineCpu.service.ts │ │ │ │ ├── multilineNetwork.service.ts │ │ │ │ ├── multilinechart.service.ts │ │ │ │ ├── multilinedisk.service.ts │ │ │ │ ├── omni-search-data.service.ts │ │ │ │ ├── overall-compliance.service.ts │ │ │ │ ├── pacman-issues.service.ts │ │ │ │ ├── patching-progress.service.ts │ │ │ │ ├── patching-snapshot.service.ts │ │ │ │ ├── patching-sponsor.service.ts │ │ │ │ ├── policy-across-application.service.ts │ │ │ │ ├── policy-trend.service.ts │ │ │ │ ├── policy-violation-summary.service.ts │ │ │ │ ├── select-compliance-dropdown.service.ts │ │ │ │ ├── set-asset-group.service.ts │ │ │ │ ├── tagging-compliance.service.ts │ │ │ │ ├── upload-file-service.ts │ │ │ │ ├── vulnerability-across-application.service.ts │ │ │ │ ├── vulnerability-aging-summary-distribution.service.ts │ │ │ │ ├── vulnerability-details.service.ts │ │ │ │ ├── vulnerability-summary-distribution.service.ts │ │ │ │ ├── vulnerability.service.ts │ │ │ │ └── window.service.ts │ │ ├── post-login-app │ │ │ ├── asset-groups │ │ │ │ ├── asset-groups.component.css │ │ │ │ ├── asset-groups.component.html │ │ │ │ ├── asset-groups.component.spec.ts │ │ │ │ └── asset-groups.component.ts │ │ │ ├── change-default-asset-group │ │ │ │ ├── change-default-asset-group.component.css │ │ │ │ ├── change-default-asset-group.component.html │ │ │ │ ├── change-default-asset-group.component.spec.ts │ │ │ │ └── change-default-asset-group.component.ts │ │ │ ├── common │ │ │ │ ├── animations │ │ │ │ │ └── animations.ts │ │ │ │ ├── asset-group-details │ │ │ │ │ ├── asset-group-details.component.css │ │ │ │ │ ├── asset-group-details.component.html │ │ │ │ │ ├── asset-group-details.component.spec.ts │ │ │ │ │ └── asset-group-details.component.ts │ │ │ │ ├── asset-group-search │ │ │ │ │ ├── asset-group-search.component.css │ │ │ │ │ ├── asset-group-search.component.html │ │ │ │ │ ├── asset-group-search.component.spec.ts │ │ │ │ │ └── asset-group-search.component.ts │ │ │ │ ├── asset-group-tabs │ │ │ │ │ ├── asset-group-tabs.component.css │ │ │ │ │ ├── asset-group-tabs.component.html │ │ │ │ │ ├── asset-group-tabs.component.spec.ts │ │ │ │ │ └── asset-group-tabs.component.ts │ │ │ │ ├── domain-dropdown │ │ │ │ │ ├── domain-dropdown.component.css │ │ │ │ │ ├── domain-dropdown.component.html │ │ │ │ │ ├── domain-dropdown.component.spec.ts │ │ │ │ │ └── domain-dropdown.component.ts │ │ │ │ ├── nav-icon │ │ │ │ │ ├── nav-icon.component.css │ │ │ │ │ ├── nav-icon.component.html │ │ │ │ │ ├── nav-icon.component.spec.ts │ │ │ │ │ └── nav-icon.component.ts │ │ │ │ ├── post-login-header │ │ │ │ │ ├── post-login-header.component.css │ │ │ │ │ ├── post-login-header.component.html │ │ │ │ │ ├── post-login-header.component.spec.ts │ │ │ │ │ └── post-login-header.component.ts │ │ │ │ ├── services │ │ │ │ │ ├── help-observable.service.ts │ │ │ │ │ ├── state-management.service.ts │ │ │ │ │ ├── toast-observable.service.ts │ │ │ │ │ └── update-recent-ag.service.ts │ │ │ │ ├── user-info │ │ │ │ │ ├── user-info.component.css │ │ │ │ │ ├── user-info.component.html │ │ │ │ │ ├── user-info.component.spec.ts │ │ │ │ │ └── user-info.component.ts │ │ │ │ ├── vuln-report-distribution │ │ │ │ │ ├── vuln-report-distribution.component.css │ │ │ │ │ ├── vuln-report-distribution.component.html │ │ │ │ │ ├── vuln-report-distribution.component.spec.ts │ │ │ │ │ └── vuln-report-distribution.component.ts │ │ │ │ ├── vuln-report-stats │ │ │ │ │ ├── vuln-report-stats.component.css │ │ │ │ │ ├── vuln-report-stats.component.html │ │ │ │ │ ├── vuln-report-stats.component.spec.ts │ │ │ │ │ └── vuln-report-stats.component.ts │ │ │ │ ├── vuln-report-tables │ │ │ │ │ ├── vuln-report-tables.component.css │ │ │ │ │ ├── vuln-report-tables.component.html │ │ │ │ │ ├── vuln-report-tables.component.spec.ts │ │ │ │ │ └── vuln-report-tables.component.ts │ │ │ │ ├── vuln-report-trend │ │ │ │ │ ├── vuln-report-trend.component.css │ │ │ │ │ ├── vuln-report-trend.component.html │ │ │ │ │ ├── vuln-report-trend.component.spec.ts │ │ │ │ │ └── vuln-report-trend.component.ts │ │ │ │ ├── vuln-report-workflow │ │ │ │ │ ├── vuln-report-workflow.component.css │ │ │ │ │ ├── vuln-report-workflow.component.html │ │ │ │ │ ├── vuln-report-workflow.component.spec.ts │ │ │ │ │ └── vuln-report-workflow.component.ts │ │ │ │ └── vuln-trend-graph │ │ │ │ │ ├── vuln-trend-graph.component.css │ │ │ │ │ ├── vuln-trend-graph.component.html │ │ │ │ │ ├── vuln-trend-graph.component.spec.ts │ │ │ │ │ └── vuln-trend-graph.component.ts │ │ │ ├── default-asset-group │ │ │ │ ├── default-asset-group.component.css │ │ │ │ ├── default-asset-group.component.html │ │ │ │ ├── default-asset-group.component.spec.ts │ │ │ │ └── default-asset-group.component.ts │ │ │ ├── domain-group │ │ │ │ ├── domain-group.component.css │ │ │ │ ├── domain-group.component.html │ │ │ │ ├── domain-group.component.spec.ts │ │ │ │ └── domain-group.component.ts │ │ │ ├── domain-overlay │ │ │ │ ├── domain-overlay.component.css │ │ │ │ ├── domain-overlay.component.html │ │ │ │ ├── domain-overlay.component.spec.ts │ │ │ │ └── domain-overlay.component.ts │ │ │ ├── first-time-user-journey │ │ │ │ ├── first-time-user-journey.component.css │ │ │ │ ├── first-time-user-journey.component.html │ │ │ │ ├── first-time-user-journey.component.spec.ts │ │ │ │ └── first-time-user-journey.component.ts │ │ │ ├── know-your-dashboard │ │ │ │ ├── know-your-dashboard.component.css │ │ │ │ ├── know-your-dashboard.component.html │ │ │ │ ├── know-your-dashboard.component.spec.ts │ │ │ │ └── know-your-dashboard.component.ts │ │ │ ├── post-login-app-routing.module.ts │ │ │ ├── post-login-app.component.css │ │ │ ├── post-login-app.component.html │ │ │ ├── post-login-app.component.spec.ts │ │ │ ├── post-login-app.component.ts │ │ │ ├── post-login-app.module.ts │ │ │ ├── stats-overlay │ │ │ │ ├── stats-overlay.component.css │ │ │ │ ├── stats-overlay.component.html │ │ │ │ ├── stats-overlay.component.spec.ts │ │ │ │ └── stats-overlay.component.ts │ │ │ └── vulnerability-report │ │ │ │ ├── vulnerability-report.component.css │ │ │ │ ├── vulnerability-report.component.html │ │ │ │ ├── vulnerability-report.component.spec.ts │ │ │ │ └── vulnerability-report.component.ts │ │ └── shared │ │ │ ├── ag-grid-table │ │ │ ├── ag-grid-table.component.css │ │ │ ├── ag-grid-table.component.html │ │ │ ├── ag-grid-table.component.spec.ts │ │ │ └── ag-grid-table.component.ts │ │ │ ├── animations │ │ │ └── animations.ts │ │ │ ├── back-navigation │ │ │ ├── back-navigation.component.css │ │ │ ├── back-navigation.component.html │ │ │ ├── back-navigation.component.spec.ts │ │ │ └── back-navigation.component.ts │ │ │ ├── bar-chart │ │ │ ├── bar-chart.component.css │ │ │ ├── bar-chart.component.html │ │ │ ├── bar-chart.component.spec.ts │ │ │ └── bar-chart.component.ts │ │ │ ├── breadcrumb │ │ │ ├── breadcrumb.component.css │ │ │ ├── breadcrumb.component.html │ │ │ ├── breadcrumb.component.spec.ts │ │ │ └── breadcrumb.component.ts │ │ │ ├── button-icon │ │ │ ├── button-icon.component.css │ │ │ ├── button-icon.component.html │ │ │ ├── button-icon.component.spec.ts │ │ │ └── button-icon.component.ts │ │ │ ├── button │ │ │ ├── button.component.css │ │ │ ├── button.component.html │ │ │ ├── button.component.spec.ts │ │ │ └── button.component.ts │ │ │ ├── canvas-side-panel │ │ │ ├── canvas-side-panel.component.css │ │ │ ├── canvas-side-panel.component.html │ │ │ ├── canvas-side-panel.component.spec.ts │ │ │ └── canvas-side-panel.component.ts │ │ │ ├── check-box-btn │ │ │ ├── check-box-btn.component.css │ │ │ ├── check-box-btn.component.html │ │ │ ├── check-box-btn.component.spec.ts │ │ │ └── check-box-btn.component.ts │ │ │ ├── common-page-template │ │ │ ├── common-page-template.component.css │ │ │ ├── common-page-template.component.html │ │ │ ├── common-page-template.component.spec.ts │ │ │ └── common-page-template.component.ts │ │ │ ├── config-history-dropdown │ │ │ ├── config-history-dropdown.component.css │ │ │ ├── config-history-dropdown.component.html │ │ │ └── config-history-dropdown.component.ts │ │ │ ├── confirmation-box │ │ │ ├── confirmation-box.component.css │ │ │ ├── confirmation-box.component.html │ │ │ ├── confirmation-box.component.spec.ts │ │ │ └── confirmation-box.component.ts │ │ │ ├── constants │ │ │ ├── field-display-name-mapping.ts │ │ │ ├── icons-mapping.ts │ │ │ ├── messages.ts │ │ │ ├── quarter.ts │ │ │ └── routes.ts │ │ │ ├── content-slider │ │ │ ├── content-slider.component.css │ │ │ ├── content-slider.component.html │ │ │ ├── content-slider.component.spec.ts │ │ │ └── content-slider.component.ts │ │ │ ├── contextual-menu │ │ │ ├── contextual-menu.component.css │ │ │ ├── contextual-menu.component.html │ │ │ ├── contextual-menu.component.spec.ts │ │ │ └── contextual-menu.component.ts │ │ │ ├── copy-element │ │ │ ├── copy-element.component.css │ │ │ ├── copy-element.component.html │ │ │ ├── copy-element.component.spec.ts │ │ │ └── copy-element.component.ts │ │ │ ├── data-table │ │ │ ├── data-table.component.css │ │ │ ├── data-table.component.html │ │ │ ├── data-table.component.spec.ts │ │ │ └── data-table.component.ts │ │ │ ├── date-dropdown │ │ │ ├── date-dropdown.component.css │ │ │ ├── date-dropdown.component.html │ │ │ ├── date-dropdown.component.spec.ts │ │ │ └── date-dropdown.component.ts │ │ │ ├── directives │ │ │ └── only-number.directive.ts │ │ │ ├── doughnut-chart │ │ │ ├── doughnut-chart.component.css │ │ │ ├── doughnut-chart.component.html │ │ │ ├── doughnut-chart.component.spec.ts │ │ │ └── doughnut-chart.component.ts │ │ │ ├── error-message │ │ │ ├── error-message.component.css │ │ │ ├── error-message.component.html │ │ │ ├── error-message.component.spec.ts │ │ │ └── error-message.component.ts │ │ │ ├── filter-info │ │ │ ├── filter-info.component.css │ │ │ ├── filter-info.component.html │ │ │ ├── filter-info.component.spec.ts │ │ │ └── filter-info.component.ts │ │ │ ├── filtered-selector │ │ │ ├── filtered-selector.component.css │ │ │ ├── filtered-selector.component.html │ │ │ ├── filtered-selector.component.spec.ts │ │ │ └── filtered-selector.component.ts │ │ │ ├── form-input │ │ │ ├── form-input.component.css │ │ │ ├── form-input.component.html │ │ │ ├── form-input.component.spec.ts │ │ │ └── form-input.component.ts │ │ │ ├── forms │ │ │ ├── forms.component.css │ │ │ ├── forms.component.html │ │ │ ├── forms.component.spec.ts │ │ │ └── forms.component.ts │ │ │ ├── generic-modal │ │ │ ├── generic-modal.component.css │ │ │ ├── generic-modal.component.html │ │ │ ├── generic-modal.component.spec.ts │ │ │ └── generic-modal.component.ts │ │ │ ├── generic-page-filter │ │ │ ├── generic-page-filter.component.css │ │ │ ├── generic-page-filter.component.html │ │ │ ├── generic-page-filter.component.spec.ts │ │ │ └── generic-page-filter.component.ts │ │ │ ├── generic-summary │ │ │ ├── generic-summary.component.css │ │ │ ├── generic-summary.component.html │ │ │ ├── generic-summary.component.spec.ts │ │ │ └── generic-summary.component.ts │ │ │ ├── help-text │ │ │ ├── help-text.component.css │ │ │ ├── help-text.component.html │ │ │ ├── help-text.component.spec.ts │ │ │ └── help-text.component.ts │ │ │ ├── input-modal │ │ │ ├── input-modal.component.css │ │ │ ├── input-modal.component.html │ │ │ └── input-modal.component.ts │ │ │ ├── link │ │ │ ├── link.component.css │ │ │ ├── link.component.html │ │ │ ├── link.component.spec.ts │ │ │ └── link.component.ts │ │ │ ├── loader-msg │ │ │ ├── loader-msg.component.css │ │ │ ├── loader-msg.component.html │ │ │ ├── loader-msg.component.spec.ts │ │ │ └── loader-msg.component.ts │ │ │ ├── main-filter │ │ │ ├── main-filter.component.css │ │ │ ├── main-filter.component.html │ │ │ ├── main-filter.component.spec.ts │ │ │ └── main-filter.component.ts │ │ │ ├── models │ │ │ ├── exception-input.model.ts │ │ │ ├── exception.model.ts │ │ │ └── http-response.ts │ │ │ ├── mulitidoughnutband │ │ │ ├── mulitidoughnutband.component.css │ │ │ ├── mulitidoughnutband.component.html │ │ │ ├── mulitidoughnutband.component.spec.ts │ │ │ └── mulitidoughnutband.component.ts │ │ │ ├── multiline-trend │ │ │ ├── multiline-trend.component.css │ │ │ ├── multiline-trend.component.html │ │ │ ├── multiline-trend.component.spec.ts │ │ │ └── multiline-trend.component.ts │ │ │ ├── nested-accordion │ │ │ ├── nested-accordion.component.css │ │ │ ├── nested-accordion.component.html │ │ │ ├── nested-accordion.component.spec.ts │ │ │ └── nested-accordion.component.ts │ │ │ ├── overlay │ │ │ ├── overlay.component.css │ │ │ ├── overlay.component.html │ │ │ ├── overlay.component.spec.ts │ │ │ └── overlay.component.ts │ │ │ ├── pipes │ │ │ ├── order-by-sum.pipe.ts │ │ │ ├── order-by.pipe.ts │ │ │ └── search-filter.pipe.ts │ │ │ ├── primary-pie-chart │ │ │ ├── primary-pie-chart.component.css │ │ │ ├── primary-pie-chart.component.html │ │ │ ├── primary-pie-chart.component.spec.ts │ │ │ └── primary-pie-chart.component.ts │ │ │ ├── radio-button │ │ │ ├── radio-button.component.css │ │ │ ├── radio-button.component.html │ │ │ ├── radio-button.component.spec.ts │ │ │ └── radio-button.component.ts │ │ │ ├── search-bar │ │ │ ├── search-bar.component.css │ │ │ ├── search-bar.component.html │ │ │ ├── search-bar.component.spec.ts │ │ │ └── search-bar.component.ts │ │ │ ├── search-info │ │ │ ├── search-info.component.css │ │ │ ├── search-info.component.html │ │ │ ├── search-info.component.spec.ts │ │ │ └── search-info.component.ts │ │ │ ├── searchable-dropdown │ │ │ ├── searchable-dropdown.component.css │ │ │ ├── searchable-dropdown.component.html │ │ │ ├── searchable-dropdown.component.spec.ts │ │ │ └── searchable-dropdown.component.ts │ │ │ ├── searchbar-dropdown │ │ │ ├── searchbar-dropdown.component.css │ │ │ ├── searchbar-dropdown.component.html │ │ │ ├── searchbar-dropdown.component.spec.ts │ │ │ └── searchbar-dropdown.component.ts │ │ │ ├── services │ │ │ ├── auth-guard.service.ts │ │ │ ├── common-response.service.ts │ │ │ ├── copy-element.service.ts │ │ │ ├── copy-to-clipboard.service.ts │ │ │ ├── download.service.ts │ │ │ ├── error-handling.service.ts │ │ │ ├── exception-management.service.ts │ │ │ ├── filter-management.service.ts │ │ │ ├── form.service.ts │ │ │ ├── http-response.service.ts │ │ │ ├── logger.service.ts │ │ │ ├── main-routing-animation-event.service.ts │ │ │ ├── page-side-navigation.service.ts │ │ │ ├── refactor-fields.service.ts │ │ │ ├── router-utility.service.ts │ │ │ ├── toast-observable.service.ts │ │ │ └── utils.service.ts │ │ │ ├── shared.module.ts │ │ │ ├── sub-footer │ │ │ ├── sub-footer.component.css │ │ │ ├── sub-footer.component.html │ │ │ ├── sub-footer.component.spec.ts │ │ │ └── sub-footer.component.ts │ │ │ ├── table-list │ │ │ ├── table-list.component.css │ │ │ ├── table-list.component.html │ │ │ ├── table-list.component.spec.ts │ │ │ └── table-list.component.ts │ │ │ ├── table-tabs │ │ │ ├── table-tabs.component.css │ │ │ ├── table-tabs.component.html │ │ │ ├── table-tabs.component.spec.ts │ │ │ └── table-tabs.component.ts │ │ │ ├── title-burger-head │ │ │ ├── title-burger-head.component.css │ │ │ ├── title-burger-head.component.html │ │ │ ├── title-burger-head.component.spec.ts │ │ │ └── title-burger-head.component.ts │ │ │ ├── toast-notification │ │ │ ├── toast-notification.component.css │ │ │ ├── toast-notification.component.html │ │ │ ├── toast-notification.component.spec.ts │ │ │ └── toast-notification.component.ts │ │ │ └── widget-section-starter │ │ │ ├── widget-section-starter.component.css │ │ │ ├── widget-section-starter.component.html │ │ │ ├── widget-section-starter.component.spec.ts │ │ │ └── widget-section-starter.component.ts │ ├── apple-touch-icon.png │ ├── assets │ │ ├── .gitkeep │ │ ├── aws-icons │ │ │ ├── Analytics │ │ │ │ ├── elasticsearch.svg │ │ │ │ └── emr.svg │ │ │ ├── Application Service │ │ │ │ └── api.svg │ │ │ ├── Compute │ │ │ │ ├── appelb.svg │ │ │ │ ├── asg.svg │ │ │ │ ├── asgpolicy.svg │ │ │ │ ├── classicelb.svg │ │ │ │ ├── ec2.svg │ │ │ │ ├── eni.svg │ │ │ │ ├── lambda.svg │ │ │ │ ├── launchconfig.svg │ │ │ │ ├── nat.svg │ │ │ │ ├── sg.svg │ │ │ │ ├── snapshot.svg │ │ │ │ ├── subnet.svg │ │ │ │ ├── targetgroup.svg │ │ │ │ └── vpc.svg │ │ │ ├── Database │ │ │ │ ├── dynamodb.svg │ │ │ │ ├── rdscluster.svg │ │ │ │ ├── rdsdb.svg │ │ │ │ ├── rdssnapshot.svg │ │ │ │ └── redshift.svg │ │ │ ├── Extra │ │ │ │ └── Extra.svg │ │ │ ├── Identity │ │ │ │ ├── iamrole.svg │ │ │ │ ├── iamuser.svg │ │ │ │ └── kms.svg │ │ │ ├── Management Tools │ │ │ │ └── stack.svg │ │ │ ├── Networking & Content Delivery │ │ │ │ ├── cloudfront.svg │ │ │ │ ├── customergateway.svg │ │ │ │ ├── dhcpoption.svg │ │ │ │ ├── directconnect.svg │ │ │ │ ├── elasticip.svg │ │ │ │ ├── internetgateway.svg │ │ │ │ ├── networkacl.svg │ │ │ │ ├── peeringconnection.svg │ │ │ │ ├── routetable.svg │ │ │ │ ├── virtualinterface.svg │ │ │ │ ├── vpnconnection.svg │ │ │ │ └── vpngateway.svg │ │ │ └── Storage │ │ │ │ ├── efs.svg │ │ │ │ ├── s3.svg │ │ │ │ └── volume.svg │ │ ├── fonts │ │ │ └── ex2 │ │ │ │ ├── Ex2_ttf │ │ │ │ ├── Exo2-Black.ttf │ │ │ │ ├── Exo2-BlackItalic.ttf │ │ │ │ ├── Exo2-Bold.ttf │ │ │ │ ├── Exo2-BoldItalic.ttf │ │ │ │ ├── Exo2-ExtraBold.ttf │ │ │ │ ├── Exo2-ExtraBoldItalic.ttf │ │ │ │ ├── Exo2-ExtraLight.ttf │ │ │ │ ├── Exo2-ExtraLightItalic.ttf │ │ │ │ ├── Exo2-Italic.ttf │ │ │ │ ├── Exo2-Light.ttf │ │ │ │ ├── Exo2-LightItalic.ttf │ │ │ │ ├── Exo2-Medium.ttf │ │ │ │ ├── Exo2-MediumItalic.ttf │ │ │ │ ├── Exo2-Regular.ttf │ │ │ │ ├── Exo2-SemiBold.ttf │ │ │ │ ├── Exo2-SemiBoldItalic.ttf │ │ │ │ ├── Exo2-Thin.ttf │ │ │ │ └── Exo2-ThinItalic.ttf │ │ │ │ ├── Exo2_Woff │ │ │ │ ├── Exo2-Black.woff │ │ │ │ ├── Exo2-BlackItalic.woff │ │ │ │ ├── Exo2-Bold.woff │ │ │ │ ├── Exo2-BoldItalic.woff │ │ │ │ ├── Exo2-ExtraBold.woff │ │ │ │ ├── Exo2-ExtraBoldItalic.woff │ │ │ │ ├── Exo2-ExtraLight.woff │ │ │ │ ├── Exo2-ExtraLightItalic.woff │ │ │ │ ├── Exo2-Italic.woff │ │ │ │ ├── Exo2-Light.woff │ │ │ │ ├── Exo2-LightItalic.woff │ │ │ │ ├── Exo2-Medium.woff │ │ │ │ ├── Exo2-MediumItalic.woff │ │ │ │ ├── Exo2-Regular.woff │ │ │ │ ├── Exo2-SemiBold.woff │ │ │ │ ├── Exo2-SemiBoldItalic.woff │ │ │ │ ├── Exo2-Thin.woff │ │ │ │ └── Exo2-ThinItalic.woff │ │ │ │ ├── Exo2_eot │ │ │ │ ├── Exo2-Black.eot │ │ │ │ ├── Exo2-BlackItalic.eot │ │ │ │ ├── Exo2-Bold.eot │ │ │ │ ├── Exo2-BoldItalic.eot │ │ │ │ ├── Exo2-ExtraBold.eot │ │ │ │ ├── Exo2-ExtraBoldItalic.eot │ │ │ │ ├── Exo2-ExtraLight.eot │ │ │ │ ├── Exo2-ExtraLightItalic.eot │ │ │ │ ├── Exo2-Italic.eot │ │ │ │ ├── Exo2-Light.eot │ │ │ │ ├── Exo2-LightItalic.eot │ │ │ │ ├── Exo2-Medium.eot │ │ │ │ ├── Exo2-MediumItalic.eot │ │ │ │ ├── Exo2-Regular.eot │ │ │ │ ├── Exo2-SemiBold.eot │ │ │ │ ├── Exo2-SemiBoldItalic.eot │ │ │ │ ├── Exo2-Thin.eot │ │ │ │ └── Exo2-ThinItalic.eot │ │ │ │ └── Exo2_woff2 │ │ │ │ ├── Exo2-Black.woff2 │ │ │ │ ├── Exo2-Bold.woff2 │ │ │ │ ├── Exo2-BoldItalic.woff2 │ │ │ │ ├── Exo2-ExtraBold.woff2 │ │ │ │ ├── Exo2-ExtraBoldItalic.woff2 │ │ │ │ ├── Exo2-ExtraLight.woff2 │ │ │ │ ├── Exo2-ExtraLightItalic.woff2 │ │ │ │ ├── Exo2-Italic.woff2 │ │ │ │ ├── Exo2-Light.woff2 │ │ │ │ ├── Exo2-LightItalic.woff2 │ │ │ │ ├── Exo2-Medium.woff2 │ │ │ │ ├── Exo2-MediumItalic.woff2 │ │ │ │ ├── Exo2-Regular.woff2 │ │ │ │ ├── Exo2-SemiBold.woff2 │ │ │ │ ├── Exo2-SemiBoldItalic.woff2 │ │ │ │ ├── Exo2-Thin.woff2 │ │ │ │ └── Exo2-ThinItalic.woff2 │ │ ├── icons │ │ │ ├── AWS.svg │ │ │ ├── Assets-context.svg │ │ │ ├── BackArrow.svg │ │ │ ├── Barcode.svg │ │ │ ├── Certificates.svg │ │ │ ├── Compliant.svg │ │ │ ├── Download-active.svg │ │ │ ├── Download.svg │ │ │ ├── Edit.svg │ │ │ ├── Enforce.svg │ │ │ ├── Error.svg │ │ │ ├── Filter-magenta.svg │ │ │ ├── Flag-Critical.svg │ │ │ ├── Governance.svg │ │ │ ├── Help.svg │ │ │ ├── Info-Filled-White.svg │ │ │ ├── Info-Filled.svg │ │ │ ├── Info-inactive.svg │ │ │ ├── Info.svg │ │ │ ├── Lock-Closed.svg │ │ │ ├── Lock-Open.svg │ │ │ ├── Occurrences.svg │ │ │ ├── PacBot-logo-white.svg │ │ │ ├── PacMan-logo-white.svg │ │ │ ├── Patching.svg │ │ │ ├── Processed.svg │ │ │ ├── Rocket.svg │ │ │ ├── Scanned-Assets.svg │ │ │ ├── Security.svg │ │ │ ├── Shield.svg │ │ │ ├── Statistics.svg │ │ │ ├── Success.svg │ │ │ ├── Tagging.svg │ │ │ ├── Terminated.svg │ │ │ ├── URL.svg │ │ │ ├── Vulnerabilities-magenta.svg │ │ │ ├── Vulnerabilities.svg │ │ │ ├── Warning.svg │ │ │ ├── admin-active.svg │ │ │ ├── admin.svg │ │ │ ├── alarm.svg │ │ │ ├── app-loader.gif │ │ │ ├── application-logo-gradient.png │ │ │ ├── application-logo-loader.gif │ │ │ ├── application-logo-magenta.svg │ │ │ ├── application-logo.svg │ │ │ ├── apps.svg │ │ │ ├── assess-icon.svg │ │ │ ├── asset-group-magenta.svg │ │ │ ├── asset-group.svg │ │ │ ├── assets-active.svg │ │ │ ├── assets.svg │ │ │ ├── auto-fix-enabled.svg │ │ │ ├── aws-color.svg │ │ │ ├── aws-grey.svg │ │ │ ├── aws-magenta.svg │ │ │ ├── aws-white.svg │ │ │ ├── azure-color.svg │ │ │ ├── azure-grey.svg │ │ │ ├── azure-magenta.svg │ │ │ ├── azure-white.svg │ │ │ ├── back-arrow.svg │ │ │ ├── bad-compliance.svg │ │ │ ├── black-arrow.svg │ │ │ ├── certificates_type2.svg │ │ │ ├── compliance-active.svg │ │ │ ├── compliance.svg │ │ │ ├── contact.svg │ │ │ ├── contextual-menu.svg │ │ │ ├── corpdomains.svg │ │ │ ├── critical.svg │ │ │ ├── cross-white.svg │ │ │ ├── download-magenta.svg │ │ │ ├── earth-grid-symbol-blue.svg │ │ │ ├── earth-grid-symbol-grey.svg │ │ │ ├── earth-grid-symbol.svg │ │ │ ├── email.svg │ │ │ ├── front-arrow.svg │ │ │ ├── good-compliance.svg │ │ │ ├── grey-arr-left.svg │ │ │ ├── grey-arr-right.svg │ │ │ ├── icon-grp.svg │ │ │ ├── instanceState.gif │ │ │ ├── jira.svg │ │ │ ├── left-arrow.svg │ │ │ ├── lightbulb.svg │ │ │ ├── low.svg │ │ │ ├── multi-cloud-white.svg │ │ │ ├── multi-cloud.svg │ │ │ ├── my-dashboard.svg │ │ │ ├── not-scanned.svg │ │ │ ├── omni-search-active.svg │ │ │ ├── omni-search.svg │ │ │ ├── pacbot-color-text-logo.svg │ │ │ ├── pacbot-white-text-logo.svg │ │ │ ├── pacbot-white.svg │ │ │ ├── pacman-color-text-logo.svg │ │ │ ├── pacman-white-text-logo.svg │ │ │ ├── policies-star-badge.svg │ │ │ ├── print.svg │ │ │ ├── profile-picture.svg │ │ │ ├── question.svg │ │ │ ├── reactors-icon.svg │ │ │ ├── recommand_cost_optimizing.svg │ │ │ ├── recommand_fault_tolerance.svg │ │ │ ├── recommand_performance.svg │ │ │ ├── recommand_security.svg │ │ │ ├── recommand_service_limits.svg │ │ │ ├── remediate-icon.svg │ │ │ ├── report-icon.svg │ │ │ ├── right-arrow.svg │ │ │ ├── scheduled.svg │ │ │ ├── search.svg │ │ │ ├── slack-icon.png │ │ │ ├── social.svg │ │ │ ├── tmo-black.svg │ │ │ ├── tools-active.svg │ │ │ ├── tools.svg │ │ │ ├── wafsites.svg │ │ │ └── white-tick.svg │ │ ├── images │ │ │ ├── BG_gray_image.png │ │ │ ├── FooterBG.png │ │ │ ├── JIRAissue.png │ │ │ ├── PacBot.svg │ │ │ ├── bg-header.png │ │ │ ├── bg │ │ │ │ ├── background.png │ │ │ │ ├── bg-domain1.png │ │ │ │ ├── bg-domain2.png │ │ │ │ ├── bg-domain3.png │ │ │ │ ├── landing-page-header-bg.png │ │ │ │ └── workflow-bg-bottom.png │ │ │ ├── blackbox.svg │ │ │ ├── cloud_icon.png │ │ │ ├── delta.svg │ │ │ ├── get-started-section.png │ │ │ ├── icon-search.png │ │ │ ├── icon_filter_filtered.png │ │ │ ├── icon_filter_nonfiltered.png │ │ │ ├── incident.svg │ │ │ ├── know-your-dashboard │ │ │ │ ├── know-your-dashboard-1.png │ │ │ │ ├── know-your-dashboard-2.png │ │ │ │ ├── know-your-dashboard-3.png │ │ │ │ ├── know-your-dashboard-4.png │ │ │ │ ├── know-your-dashboard-5.png │ │ │ │ └── know-your-dashboard-6.png │ │ │ ├── monitor.svg │ │ │ ├── omni_search_BG1.svg │ │ │ ├── on-prem_icon.png │ │ │ ├── pacman.gif │ │ │ ├── pacman_both_hands_down.png │ │ │ ├── pacman_both_hands_up.png │ │ │ ├── pacman_happy.png │ │ │ ├── pacman_loader-2.gif │ │ │ ├── pacman_one_hand_up.png │ │ │ ├── periscope.svg │ │ │ ├── reporting.svg │ │ │ ├── security-auto.svg │ │ │ ├── security-deep.svg │ │ │ ├── security-wide.svg │ │ │ ├── self-service.svg │ │ │ └── vault.svg │ │ └── png │ │ │ ├── delete.png │ │ │ └── search.png │ ├── browserconfig.xml │ ├── config │ │ ├── configurations.ts │ │ ├── domain-mapping.ts │ │ ├── static-content.ts │ │ └── themes.ts │ ├── environments │ │ ├── environment.prod.ts │ │ ├── environment.stg.ts │ │ └── environment.ts │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ ├── mstile-150x150.png │ ├── polyfills.ts │ ├── reset.css │ ├── safari-pinned-tab.svg │ ├── site.webmanifest │ ├── style-app-loading.css │ ├── styles.css │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.spec.json │ └── typings.d.ts ├── tsconfig.json └── tslint.json └── wiki ├── images ├── Pacman-vuln-report.png ├── Q2 delivered.PNG ├── Q3.PNG ├── Roadmap - Q2 2019.PNG ├── Roadmap19-Q1.PNG ├── Roadmap2019.PNG ├── asset-details.png ├── asset-group-applications.png ├── asset-group-selection.png ├── asset-recommendation.png ├── assets-dashboard.jpg ├── assets-list.jpg ├── assets.png ├── banner_magenta.jpeg ├── banner_magenta.png ├── branching-strategy.png ├── certificate-compliance.png ├── chat.svg ├── compliance-domains.png ├── compliance-overview-chart.jpg ├── compliance-overview.jpg ├── compliance-trend.jpg ├── compliance-trend.png ├── compliance.png ├── compliance2.png ├── configmgmt.png ├── dev-metrics.png ├── gitter.svg ├── linux-patch-compliance.png ├── omni-search.png ├── overall-compliance.png ├── pacbot.gif ├── pacbot.mp4 ├── pacman_horz_banner_magenta.png ├── policy-compliance.png ├── q34.PNG ├── search-results.png ├── tagging-summary.png ├── ui │ └── modules.png ├── violations-summary.png └── vulnerability-compliance.png ├── javadoc.svg ├── license_apache.svg ├── pacbot-landing.png └── pacman_logo.svg /.github/ISSUE_TEMPLATE/--questions.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "❔ Questions" 3 | about: " Have any questions regarding how PacBot works?" 4 | 5 | --- 6 | 7 | # ❔ Question 8 | 9 | 10 | 11 | ## 🔦 Context 12 | 13 | 14 | 15 | 16 | 17 | ## 💻 Code Sample 18 | 19 | 20 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | repos: 2 | - repo: https://github.com/pre-commit/pre-commit-hooks 3 | rev: v1.4.0-1 4 | hooks: 5 | - id: trailing-whitespace 6 | - id: detect-aws-credentials 7 | - id: detect-private-key 8 | 9 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-architect -------------------------------------------------------------------------------- /api/pacman-api-admin/README.md: -------------------------------------------------------------------------------- 1 | # PacMan - API - Admin 2 | This is a microservice which contains APIs related to Admin screens for PacMan 3 | 4 | ## How to set it up? 5 | This microservice should be setup and connected to the Spring Cloud Config microservice. It will pull all the configurations from the Spring Cloud Config microservice. 6 | -------------------------------------------------------------------------------- /api/pacman-api-admin/src/main/java/com/tmobile/pacman/api/admin/EsIndexInitializer.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacman.api.admin; 2 | 3 | import org.springframework.beans.factory.annotation.Autowired; 4 | import org.springframework.context.ApplicationListener; 5 | import org.springframework.context.event.ContextRefreshedEvent; 6 | import org.springframework.stereotype.Component; 7 | 8 | import com.tmobile.pacman.api.admin.repository.service.EsIndexInitializerService; 9 | 10 | @Component 11 | public class EsIndexInitializer implements ApplicationListener { 12 | 13 | @Autowired 14 | private EsIndexInitializerService esIndexInitializerService; 15 | 16 | @Override 17 | public void onApplicationEvent(final ContextRefreshedEvent event) { 18 | esIndexInitializerService.executeEsIndexInitializer(); 19 | } 20 | } -------------------------------------------------------------------------------- /api/pacman-api-admin/src/main/java/com/tmobile/pacman/api/admin/domain/ConfigPropertyAuditTrail.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacman.api.admin.domain; 2 | 3 | import java.util.List; 4 | 5 | 6 | /** 7 | * The Class ConfigPropertyAuditTrail. 8 | */ 9 | public class ConfigPropertyAuditTrail { 10 | 11 | /** The config property audit. */ 12 | private List configPropertyAudit; 13 | 14 | /** 15 | * Gets the config property audit. 16 | * 17 | * @return the config property audit 18 | */ 19 | public List getConfigPropertyAudit() { 20 | return configPropertyAudit; 21 | } 22 | 23 | /** 24 | * Sets the config property audit. 25 | * 26 | * @param configPropertyAudit the new config property audit 27 | */ 28 | public void setConfigPropertyAudit(List configPropertyAudit) { 29 | this.configPropertyAudit = configPropertyAudit; 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /api/pacman-api-admin/src/main/java/com/tmobile/pacman/api/admin/repository/ConfigPropertyAuditRepository.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacman.api.admin.repository; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | 7 | import com.tmobile.pacman.api.admin.repository.model.ConfigPropertyAudit; 8 | 9 | /** 10 | * The Interface ConfigPropertyAuditRepository. 11 | */ 12 | public interface ConfigPropertyAuditRepository extends JpaRepository{ 13 | 14 | /** 15 | * Find all by order by modified date desc modified by asc. 16 | * 17 | * @return the list 18 | */ 19 | List findAllByOrderByModifiedDateDescModifiedByAsc(); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /api/pacman-api-admin/src/main/java/com/tmobile/pacman/api/admin/repository/RuleCategoryRepository.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacman.api.admin.repository; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | import org.springframework.stereotype.Repository; 5 | 6 | import com.tmobile.pacman.api.admin.repository.model.RuleCategory; 7 | 8 | /** 9 | * The Interface RuleCategoryRepository. 10 | */ 11 | @Repository 12 | public interface RuleCategoryRepository extends JpaRepository { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /api/pacman-api-admin/src/main/resources/META-INF/additional-spring-configuration-metadata.json: -------------------------------------------------------------------------------- 1 | {"properties": [ 2 | { 3 | "name": "rule.s3-bucket-name", 4 | "type": "java.lang.String", 5 | "description": "A description for 'rule.s3-bucket-name'" 6 | }, 7 | { 8 | "name": "app.notification.domain", 9 | "type": "java.lang.String", 10 | "description": "A description for 'app.notification.domain'" 11 | } 12 | ]} -------------------------------------------------------------------------------- /api/pacman-api-admin/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | security: 2 | oauth2: 3 | resource: 4 | user-info-uri: ${PACMAN_HOST_NAME}/api/auth/user 5 | spring: 6 | application: 7 | name: admin-service 8 | title: Pacman Service 9 | description: Pacman Admin API provides admin capabilities 10 | cloud: 11 | config: 12 | uri: ${CONFIG_SERVER_URL:http://localhost:8888/api/config/} 13 | enabled: true 14 | fail-fast: true 15 | name: api,admin-service 16 | password: ${CONFIG_PASSWORD} 17 | username: user 18 | label: latest 19 | jpa: 20 | hibernate: 21 | naming: 22 | physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl 23 | profiles: 24 | active: ${ENVIRONMENT:prd} 25 | servlet: 26 | multipart: 27 | max-file-size: 100MB 28 | max-request-size: 100MB 29 | -------------------------------------------------------------------------------- /api/pacman-api-admin/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | data: 3 | mongodb: 4 | database: piggymetrics 5 | port: 0 -------------------------------------------------------------------------------- /api/pacman-api-admin/src/test/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | eureka: 2 | client: 3 | enabled: false -------------------------------------------------------------------------------- /api/pacman-api-asset/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application: 3 | name: asset-service 4 | title: Pacman Service 5 | description: Pacman Asset API provides Asset capabilities 6 | cloud: 7 | config: 8 | uri: ${CONFIG_SERVER_URL:http://localhost:8888/api/config/} 9 | enabled: true 10 | fail-fast: true 11 | name: api,asset-service 12 | password: ${CONFIG_PASSWORD} 13 | username: user 14 | label: latest 15 | 16 | profiles: 17 | active: ${ENVIRONMENT:prd} 18 | 19 | security: 20 | oauth2: 21 | resource: 22 | user-info-uri: ${PACMAN_HOST_NAME}/api/auth/user 23 | -------------------------------------------------------------------------------- /api/pacman-api-asset/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | data: 3 | mongodb: 4 | database: piggymetrics 5 | port: 0 -------------------------------------------------------------------------------- /api/pacman-api-asset/src/test/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application: 3 | name: asset-service 4 | cloud: 5 | config: 6 | uri: ${CONFIG_SERVER_URL:http://localhost:8888/config/} 7 | enabled: true 8 | fail-fast: true 9 | password: "pacman" 10 | username: user 11 | label: ${ENVIRONMENT:prd} 12 | 13 | profiles: 14 | active: ${ENVIRONMENT:prd} 15 | 16 | pacman: 17 | service-password: ${PACMAN_SERVICE_PASSWORD} 18 | -------------------------------------------------------------------------------- /api/pacman-api-auth/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /api/pacman-api-auth/README.md: -------------------------------------------------------------------------------- 1 | # PacBot - API - Auth 2 | This is a microservice which contains APIs related to OAuth for authentication of API requests 3 | 4 | ## How to set it up? 5 | This microservice should be setup and connected to the Spring Cloud Config microservice. It will pull all the configurations from the Spring Cloud Config microservice. 6 | -------------------------------------------------------------------------------- /api/pacman-api-auth/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application: 3 | name: auth-service 4 | title: Pacman Auth Service 5 | description: Pacman Auth API provides auth capabilities 6 | cloud: 7 | config: 8 | uri: ${CONFIG_SERVER_URL:http://localhost:8888/api/config/} 9 | enabled: true 10 | fail-fast: true 11 | name: api,auth-service 12 | password: ${CONFIG_PASSWORD} 13 | username: user 14 | label: latest 15 | profiles: 16 | active: ${ENVIRONMENT:prd} 17 | jpa: 18 | hibernate: 19 | naming: 20 | physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl 21 | 22 | logging: 23 | level: 24 | com.tmobile: DEBUG 25 | com.unboundid.ldap.sdk: DEBUG 26 | pacman.api.oauth2.client-secret: csrWpc5p7JFF4vEZBkwGCAh67kGQGwXv46qug7v5ZwtKg -------------------------------------------------------------------------------- /api/pacman-api-auth/src/main/resources/templates/error2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | OAuth Server Error 6 | 7 | 8 | 9 |
10 |
11 |
12 |
13 |

Error

14 |
15 |

OAuth Server Error

16 |
17 |
18 |
19 |
20 |
21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /api/pacman-api-auth/src/test/java/com/tmobile/pacman/api/auth/AuthServerApplicationTest.java: -------------------------------------------------------------------------------- 1 | /*package com.tmobile.pacman.api.auth; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest 10 | public class AuthServerApplicationTest { 11 | 12 | @Test 13 | public void contextLoads() { 14 | } 15 | 16 | }*/ -------------------------------------------------------------------------------- /api/pacman-api-compliance/src/main/java/com/tmobile/pacman/api/compliance/domain/ExemptedAssetByPolicy.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacman.api.compliance.domain; 2 | 3 | public class ExemptedAssetByPolicy { 4 | 5 | private String message; 6 | 7 | private ExemptedAssetByPolicyData data; 8 | 9 | public String getMessage() { 10 | return message; 11 | } 12 | 13 | public void setMessage(String message) { 14 | this.message = message; 15 | } 16 | 17 | public ExemptedAssetByPolicyData getData() { 18 | return data; 19 | } 20 | 21 | public void setData(ExemptedAssetByPolicyData data) { 22 | this.data = data; 23 | } 24 | 25 | @Override 26 | public String toString() { 27 | return "ExemptedAssetByPolicy [message=" + message + ", data=" + data 28 | + "]"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /api/pacman-api-compliance/src/main/java/com/tmobile/pacman/api/compliance/domain/ExemptedAssetByPolicyData.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacman.api.compliance.domain; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | public class ExemptedAssetByPolicyData { 7 | 8 | private String totalExempted; 9 | 10 | private List> exempted; 11 | 12 | public String getTotalExempted() { 13 | return totalExempted; 14 | } 15 | 16 | public void setTotalExempted(String totalExempted) { 17 | this.totalExempted = totalExempted; 18 | } 19 | 20 | public List> getExempted() { 21 | return exempted; 22 | } 23 | 24 | public void setExempted(List> exempted) { 25 | this.exempted = exempted; 26 | } 27 | 28 | @Override 29 | public String toString() { 30 | return "ExemptedAssetByPolicyData [totalExempted=" + totalExempted 31 | + ", exempted=" + exempted + "]"; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /api/pacman-api-compliance/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application: 3 | name: compliance-service 4 | title: Pacman Service 5 | description: Pacman API provides compliance capabilities 6 | cloud: 7 | config: 8 | uri: ${CONFIG_SERVER_URL:http://localhost:8888/api/config/} 9 | enabled: true 10 | fail-fast: true 11 | name: api,compliance-service 12 | password: ${CONFIG_PASSWORD} 13 | username: user 14 | label: latest 15 | 16 | profiles: 17 | active: ${ENVIRONMENT:prd} 18 | 19 | 20 | security: 21 | oauth2: 22 | resource: 23 | user-info-uri: ${PACMAN_HOST_NAME}/api/auth/user 24 | query: 25 | assetGroupQuery: SELECT groupName, targetType, attributeName, attributeValue, dataSource, aliasQuery FROM cf_AssetGroups 26 | 27 | spring.jpa.hibernate.naming.physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl -------------------------------------------------------------------------------- /api/pacman-api-compliance/src/main/resources/templates/defaultTemplate.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /api/pacman-api-config/README.md: -------------------------------------------------------------------------------- 1 | # PacMan - API - Config 2 | This is a Spring Cloud Config service. This picks up the configuration files hosted on a repository and makes it available to all microservices which connect to it. 3 | 4 | ## How to set it up? 5 | This microservice can run standalone and has no dependencies. But quite a few other microservices are dependent on this. -------------------------------------------------------------------------------- /api/pacman-api-config/src/main/java/com/tmobile/pacman/config/ConfigApplication.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacman.config; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cloud.config.server.EnableConfigServer; 6 | 7 | @SpringBootApplication 8 | @EnableConfigServer 9 | public class ConfigApplication { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(ConfigApplication.class, args); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /api/pacman-api-config/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | config: 4 | server: 5 | jdbc: 6 | sql: SELECT cfkey, value from pac_config_properties where application=? and profile=? and label=? 7 | native: 8 | search-locations: classpath:/shared 9 | datasource: 10 | url: ${RDS_URL} 11 | driver-class-name: com.mysql.jdbc.Driver 12 | username: ${RDS_USERNAME} 13 | password: ${RDS_PASSWORD} 14 | hikari: 15 | maximum-pool-size: 10 16 | connection-timeout: 5000 17 | profiles: 18 | active: ${CONFIG_SOURCE:jdbc} 19 | security: 20 | user: 21 | name: user 22 | password: ${CONFIG_PASSWORD} 23 | 24 | server: 25 | port: 8888 26 | servlet: 27 | context-path: /api/config 28 | 29 | 30 | -------------------------------------------------------------------------------- /api/pacman-api-config/src/main/resources/shared/README.md: -------------------------------------------------------------------------------- 1 | # PacMan - Config 2 | This is a configuration repository. This repository will be read by the Spring Cloud Config microservice. The Cloud Config will feed these configurations to all microservices. These configurations can be changed on the fly. As soon as any commit is done to this repository, the changes can be propagated to any individual microservice without any restart, by invoking the http://{contextRoot}/refresh endpoint on the microservice(using HTTP POST method). All beans in all microservice have been given a spring scope of 'refresh', in order to enable this feature. 3 | 4 | ## How to set it up? 5 | There should be one branch for each environment. For e.g., if you have a dev, stage and a prod environment, you should have 3 branches, one for each environment. The URL for this repository should be provided to the Spring Cloud Config microservice so that it reads and keeps monitoring the repository for any commits. 6 | -------------------------------------------------------------------------------- /api/pacman-api-config/src/main/resources/shared/asset-service.yml: -------------------------------------------------------------------------------- 1 | server: 2 | servlet: 3 | context-path: /api/asset 4 | cloudinsights: 5 | tokenurl: ${CLOUD_INSIGHTS_TOKEN_URL} 6 | costurl: ${CLOUD_INSIGHTS_COST_URL} 7 | corp-user-id: ${SVC_CORP_USER_ID} 8 | corp-password: ${SVC_CORP_PASSWORD} -------------------------------------------------------------------------------- /api/pacman-api-config/src/main/resources/shared/auth-service.yml: -------------------------------------------------------------------------------- 1 | server: 2 | servlet: 3 | context-path: /api/auth 4 | 5 | pacman: 6 | api: 7 | oauth2: 8 | client-id: 22e14922-87d7-4ee4-a470-da0bb10d45d3 9 | client-secret: csrWpc5p7JFF4vEZBkwGCAh67kGQGwXv46qug7v5ZwtKg -------------------------------------------------------------------------------- /api/pacman-api-config/src/main/resources/shared/compliance-service.yml: -------------------------------------------------------------------------------- 1 | server: 2 | servlet: 3 | context-path: /api/compliance 4 | rule-engine: 5 | invoke: 6 | url: submitRuleExecutionJob 7 | 8 | projections: 9 | assetgroups: cloud-vm,onprem-vm,all-vm 10 | targetTypes: onpremserver,ec2 11 | 12 | features: 13 | certificate: 14 | enabled: ${CERTIFICATE_FEATURE_ENABLED} 15 | patching: 16 | enabled: ${PATCHING_FEATURE_ENABLED} 17 | vulnerability: 18 | enabled: ${VULNERABILITY_FEATURE_ENABLED} 19 | -------------------------------------------------------------------------------- /api/pacman-api-config/src/main/resources/shared/monitor-service.yml: -------------------------------------------------------------------------------- 1 | server: 2 | contextPath: /api/pacmonitor 3 | 4 | -------------------------------------------------------------------------------- /api/pacman-api-config/src/main/resources/shared/statistics-service.yml: -------------------------------------------------------------------------------- 1 | server: 2 | servlet: 3 | context-path: /api/statistics -------------------------------------------------------------------------------- /api/pacman-api-config/src/main/resources/shared/vulnerability-service.yml: -------------------------------------------------------------------------------- 1 | server: 2 | servlet: 3 | context-path: /api/vulnerability -------------------------------------------------------------------------------- /api/pacman-api-notifications/README.md: -------------------------------------------------------------------------------- 1 | # PacMan - API - Notifications 2 | This is the notification microservice. This microservice contains APIs for sending out email notifications to users that can be configured. 3 | 4 | ## How to set it up? 5 | This microservice should be setup and connected to the Spring Cloud Config microservice. It will pull all the configurations from the Spring Cloud Config microservice. -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application: 3 | name: notification-service 4 | title: Pacman Service 5 | description: Pacman Notification API provides notification capabilities 6 | cloud: 7 | config: 8 | uri: ${CONFIG_SERVER_URL:http://localhost:8888/api/config/} 9 | enabled: true 10 | fail-fast: true 11 | name: api,notification-service 12 | password: ${CONFIG_PASSWORD} 13 | username: user 14 | label: latest 15 | 16 | profiles: 17 | active: ${ENVIRONMENT:prd} 18 | 19 | freemarker: 20 | template-loader-path: / 21 | suffix: .html 22 | 23 | quartz: 24 | enabled: true 25 | 26 | security: 27 | oauth2: 28 | resource: 29 | user-info-uri: ${PACMAN_HOST_NAME}/api/auth/user -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/quartz.properties: -------------------------------------------------------------------------------- 1 | org.quartz.scheduler.instanceName=springBootQuartzApp 2 | org.quartz.scheduler.instanceId=AUTO 3 | org.quartz.threadPool.threadCount=5 4 | org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX 5 | org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate 6 | org.quartz.jobStore.useProperties=true 7 | org.quartz.jobStore.misfireThreshold=60000 8 | org.quartz.jobStore.tablePrefix=qartz_ 9 | org.quartz.jobStore.isClustered=true 10 | org.quartz.jobStore.clusterCheckinInterval=20000 11 | org.quartz.plugin.shutdownHook.class=org.quartz.plugins.management.ShutdownHookPlugin 12 | org.quartz.plugin.shutdownHook.cleanShutdown=TRUE -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/css/fonts/cyrillic-ext.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/css/fonts/cyrillic-ext.woff2 -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/css/fonts/cyrillic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/css/fonts/cyrillic.woff2 -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/css/fonts/latin-ext.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/css/fonts/latin-ext.woff2 -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/css/fonts/latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/css/fonts/latin.woff2 -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/css/fonts/pt-sans-narrow-v8-latin-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/css/fonts/pt-sans-narrow-v8-latin-regular.eot -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/css/fonts/pt-sans-narrow-v8-latin-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/css/fonts/pt-sans-narrow-v8-latin-regular.ttf -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/css/fonts/pt-sans-narrow-v8-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/css/fonts/pt-sans-narrow-v8-latin-regular.woff -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/css/fonts/pt-sans-narrow-v8-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/css/fonts/pt-sans-narrow-v8-latin-regular.woff2 -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/imgs/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/imgs/background.jpg -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/imgs/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/imgs/check.png -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/imgs/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/imgs/error.png -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/imgs/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/imgs/favicon.png -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/imgs/p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/imgs/p.png -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/static/imgs/tick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/api/pacman-api-notifications/src/main/resources/static/imgs/tick.png -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/main/resources/templates/defaultTemplate.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

This comes from embeded templates (defaultTemplate)

6 | ${message} 7 | 8 | -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | data: 3 | mongodb: 4 | database: piggymetrics 5 | port: 0 -------------------------------------------------------------------------------- /api/pacman-api-notifications/src/test/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | eureka: 2 | client: 3 | enabled: false -------------------------------------------------------------------------------- /api/pacman-api-statistics/README.md: -------------------------------------------------------------------------------- 1 | # PacMan - API - Statistics 2 | This micro service is responsible for providing all the services for querying continuous compliance statistics Data. It provides all supporting APIs required to host the Statistics Dashboard 3 | 4 | ## How to set it up? 5 | The application can be started by running the Java class com.tmobile.pacman.api.statistics.StatisticsApplication which is the Spring Boot starter class. 6 | 7 | This microservice should be connected to the Spring Cloud Config microservice. It will pull all the configurations from the Spring Cloud Config microservice. 8 | The URL of the config microservice should be provided as a program argument while starting up the statistics service. 9 | For e.g.: 10 | CONFIG_SERVER_URL=https://dev-api.pacman.your-company.com/config 11 | The context root for the service is /statistics. The URL would be: 12 | https://{host}/statistics -------------------------------------------------------------------------------- /api/pacman-api-statistics/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application: 3 | name: statistics-service 4 | title: Pacman Service 5 | description: Pacman API provides statistics capabilities 6 | cloud: 7 | config: 8 | uri: ${CONFIG_SERVER_URL:http://localhost:8888/api/config/} 9 | enabled: true 10 | fail-fast: true 11 | name: api,statistics-service 12 | password: ${CONFIG_PASSWORD} 13 | username: user 14 | label: latest 15 | profiles: 16 | active: ${ENVIRONMENT:prd} 17 | security: 18 | oauth2: 19 | resource: 20 | user-info-uri: ${PACMAN_HOST_NAME}/api/auth/user -------------------------------------------------------------------------------- /api/pacman-api-statistics/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | data: 3 | mongodb: 4 | database: piggymetrics 5 | port: 0 -------------------------------------------------------------------------------- /api/pacman-api-statistics/src/test/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | eureka: 2 | client: 3 | enabled: false -------------------------------------------------------------------------------- /api/pacman-api-vulnerability/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application: 3 | name: vulnerability-service 4 | title: Pacman Service 5 | description: Pacman API provides vulnerability capabilities 6 | cloud: 7 | config: 8 | uri: ${CONFIG_SERVER_URL:http://localhost:8888/api/config/} 9 | enabled: true 10 | fail-fast: true 11 | name: api,vulnerability-service 12 | password: ${CONFIG_PASSWORD} 13 | username: user 14 | label: latest 15 | profiles: 16 | active: ${ENVIRONMENT:prd} 17 | 18 | security: 19 | oauth2: 20 | resource: 21 | user-info-uri: ${PACMAN_HOST_NAME}/api/auth/user 22 | -------------------------------------------------------------------------------- /api/pacman-api-vulnerability/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | data: 3 | mongodb: 4 | database: piggymetrics 5 | port: 0 -------------------------------------------------------------------------------- /api/pacman-api-vulnerability/src/test/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | eureka: 2 | client: 3 | enabled: false -------------------------------------------------------------------------------- /commons/pac-api-commons/README.md: -------------------------------------------------------------------------------- 1 | # PacMan - Commons 2 | This is a commons library. This contains common utilities which are used across Pacman utilities. Utilities include APIs to invoke ElasticSearch requests etc. 3 | 4 | ## How to set it up? 5 | This is a library on which other apis like compliance, assets etc. depend on. This cannot be run standalone. 6 | 7 | -------------------------------------------------------------------------------- /commons/pac-api-commons/src/main/resources/docs/v1/images/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/commons/pac-api-commons/src/main/resources/docs/v1/images/favicon-16x16.png -------------------------------------------------------------------------------- /commons/pac-api-commons/src/main/resources/docs/v1/images/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/commons/pac-api-commons/src/main/resources/docs/v1/images/favicon-32x32.png -------------------------------------------------------------------------------- /commons/pac-api-commons/src/main/resources/docs/v1/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/commons/pac-api-commons/src/main/resources/docs/v1/images/favicon.ico -------------------------------------------------------------------------------- /commons/pac-api-commons/src/main/resources/docs/v1/images/pacman_logo.svg: -------------------------------------------------------------------------------- 1 | Artboard 1 copy 5 -------------------------------------------------------------------------------- /commons/pac-api-commons/src/main/resources/docs/v1/swagger-ui.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /commons/pac-batch-commons/.gitignore: -------------------------------------------------------------------------------- 1 | build-info.json 2 | .settings/org.eclipse.core.resources.prefs 3 | .settings/org.eclipse.jdt.core.prefs 4 | .settings/org.eclipse.m2e.core.prefs 5 | /target/ 6 | -------------------------------------------------------------------------------- /emailTemplates/pacman-email-assets/html.handlebars: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | Hi 24 | 25 | 26 | Please access all the details of resourceId ${resourceId} under target type ${targetType} at the below mentioned link: 27 | 28 | 29 | ${link} 30 | 31 | 32 |
33 | 34 | -------------------------------------------------------------------------------- /emailTemplates/pacman-v2-email-template/Character1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/emailTemplates/pacman-v2-email-template/Character1.png -------------------------------------------------------------------------------- /emailTemplates/pacman-v2-email-template/Flag-Critical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/emailTemplates/pacman-v2-email-template/Flag-Critical.png -------------------------------------------------------------------------------- /emailTemplates/pacman-v2-email-template/Lock-Open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/emailTemplates/pacman-v2-email-template/Lock-Open.png -------------------------------------------------------------------------------- /emailTemplates/pacman-v2-email-template/Security.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/emailTemplates/pacman-v2-email-template/Security.png -------------------------------------------------------------------------------- /installer/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.swp 3 | *~ 4 | settings/main_local.py 5 | settings/local.py 6 | settings/*.txt 7 | -------------------------------------------------------------------------------- /installer/core/config/main_settings.py: -------------------------------------------------------------------------------- 1 | DEBUG = True 2 | 3 | LOG_PATH = None 4 | 5 | ROOT_DIR = None 6 | 7 | BRAND_NAME = "" 8 | 9 | VPC = { 10 | 'NAME': '', 11 | 'CIDR': '', 12 | 'SUBNETS': [] 13 | } 14 | 15 | PROVIDER = "AWS" 16 | -------------------------------------------------------------------------------- /installer/core/providers/__init__.py: -------------------------------------------------------------------------------- 1 | from core.config import Settings 2 | 3 | 4 | class Provider: 5 | providers = ['AWS'] 6 | valid = False 7 | 8 | def __init__(self, provider_name): 9 | if provider_name in self.providers: 10 | self.valid = True 11 | self.provider_module = "core.providers." + provider_name.lower() 12 | -------------------------------------------------------------------------------- /installer/core/providers/aws/boto3/s3.py: -------------------------------------------------------------------------------- 1 | from core.providers.aws.boto3 import prepare_aws_client_with_given_cred 2 | 3 | 4 | def get_s3_client(aws_auth_cred): 5 | """ 6 | Returns the client object for AWS EC2 7 | 8 | Args: 9 | aws_auth (dict): Dict containing AWS credentials 10 | 11 | Returns: 12 | obj: AWS EC2 Client Object 13 | """ 14 | return prepare_aws_client_with_given_cred('s3', aws_auth_cred) 15 | -------------------------------------------------------------------------------- /installer/core/terraform/resources/aws/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/core/terraform/resources/aws/__init__.py -------------------------------------------------------------------------------- /installer/core/terraform/resources/aws/misc.py: -------------------------------------------------------------------------------- 1 | from core.terraform.resources import TerraformData 2 | 3 | 4 | class AwsCallerIdData(TerraformData): 5 | """ 6 | Base resource class for Terraform AWS Caller ID data resource 7 | 8 | Attributes: 9 | resource_instance_name (str): Type of resource instance 10 | available_args (dict): Instance configurations 11 | """ 12 | resource_instance_name = "aws_caller_identity" 13 | available_args = { 14 | } 15 | 16 | 17 | class AwsRegionData(TerraformData): 18 | """ 19 | Base resource class for Terraform AWS region data resource 20 | 21 | Attributes: 22 | resource_instance_name (str): Type of resource instance 23 | available_args (dict): Instance configurations 24 | """ 25 | resource_instance_name = "aws_region" 26 | available_args = { 27 | } 28 | -------------------------------------------------------------------------------- /installer/core/terraform/resources/misc.py: -------------------------------------------------------------------------------- 1 | from core.terraform.resources import TerraformResource 2 | from core.config import Settings 3 | 4 | 5 | class NullResource(TerraformResource): 6 | """ 7 | Base resource class for Terraform Null resource 8 | 9 | Attributes: 10 | resource_instance_name (str): Type of resource instance 11 | available_args (dict): Instance configurations 12 | """ 13 | resource_instance_name = "null_resource" 14 | available_args = { 15 | 'triggers': {'required': False}, 16 | } 17 | -------------------------------------------------------------------------------- /installer/core/terraform/resources/variable.py: -------------------------------------------------------------------------------- 1 | from core.terraform.resources import BaseTerraformVariable 2 | 3 | 4 | class TerraformVariable(BaseTerraformVariable): 5 | """ 6 | Base resource class for Terraform tfvar variable 7 | 8 | Attributes: 9 | variable_dict_input (dict/none): Var dict values 10 | available_args (dict): Instance configurations 11 | variable_type (str): Define the variable i.e. terraform list var or terraform dict var etc 12 | """ 13 | variable_dict_input = None 14 | variable_type = None 15 | available_args = { 16 | 'variable_name': {'required': True}, 17 | 'variable_type': {'required': False}, 18 | 'default_value': {'required': False} 19 | } 20 | -------------------------------------------------------------------------------- /installer/custom/commands/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/custom/commands/__init__.py -------------------------------------------------------------------------------- /installer/data/output/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /installer/data/output/status/.gitignore: -------------------------------------------------------------------------------- 1 | * -------------------------------------------------------------------------------- /installer/data/terraform/.gitignore: -------------------------------------------------------------------------------- 1 | .terraform 2 | * 3 | -------------------------------------------------------------------------------- /installer/files/pacbot-SubmitRuleExecutionJob.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/files/pacbot-SubmitRuleExecutionJob.zip -------------------------------------------------------------------------------- /installer/files/pacbot-submitBatchjob.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/files/pacbot-submitBatchjob.zip -------------------------------------------------------------------------------- /installer/files/scripts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/files/scripts/__init__.py -------------------------------------------------------------------------------- /installer/log/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /installer/requirements.txt: -------------------------------------------------------------------------------- 1 | docker-py==1.10.6 2 | python-terraform==0.10.0 3 | boto3==1.9.48 -------------------------------------------------------------------------------- /installer/resources/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/resources/__init__.py -------------------------------------------------------------------------------- /installer/resources/batch/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/resources/batch/__init__.py -------------------------------------------------------------------------------- /installer/resources/batch/files/batch_docker/dockerfile: -------------------------------------------------------------------------------- 1 | FROM anapsix/alpine-java 2 | MAINTAINER pacman-rule-execution-engine 3 | RUN \ 4 | mkdir -p /aws && \ 5 | apk -Uuv add groff less python py-pip && \ 6 | pip install awscli && \ 7 | apk --purge -v del py-pip && \ 8 | rm /var/cache/apk/* 9 | 10 | ADD fetch_and_run.sh ~/fetch_and_run.sh 11 | RUN chmod 755 /~/fetch_and_run.sh 12 | -------------------------------------------------------------------------------- /installer/resources/batch/files/batch_docker/fetch_and_run.sh.tpl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "fetching the executor...." 3 | aws s3 cp s3://{{s3-bucket-base-path}}/$4 ~/$4 4 | echo "got the executor file ==>" 5 | echo $4 6 | echo "fetching the executable...." 7 | aws s3 cp s3://{{s3-bucket-base-path}}/$1 ~/$1 8 | echo "got the executable file==>" 9 | echo $1 10 | echo "Launching jvm with following params" 11 | echo $@ 12 | cd ~ 13 | echo "running at" 14 | echo $PWD 15 | echo "list of files here" 16 | echo . * 17 | java $3 -cp "./*:." $5 "$2" 18 | -------------------------------------------------------------------------------- /installer/resources/data/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/resources/data/__init__.py -------------------------------------------------------------------------------- /installer/resources/data/aws_info.py: -------------------------------------------------------------------------------- 1 | from core.terraform.resources.aws.misc import AwsCallerIdData, AwsRegionData 2 | from core.config import Settings 3 | 4 | 5 | class AwsAccount(AwsCallerIdData): 6 | pass 7 | 8 | 9 | class AwsRegion(AwsRegionData): 10 | pass 11 | -------------------------------------------------------------------------------- /installer/resources/datastore/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/resources/datastore/__init__.py -------------------------------------------------------------------------------- /installer/resources/iam/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/resources/iam/__init__.py -------------------------------------------------------------------------------- /installer/resources/lambda_rule_engine/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/resources/lambda_rule_engine/__init__.py -------------------------------------------------------------------------------- /installer/resources/lambda_rule_engine/s3_upload.py: -------------------------------------------------------------------------------- 1 | from core.terraform.resources.aws.s3 import S3BucketObject 2 | from resources.s3.bucket import BucketStorage 3 | from core.terraform.utils import get_terraform_scripts_and_files_dir 4 | from core.config import Settings 5 | import os 6 | 7 | 8 | RULE_ENGINE_JOB_FILE_NAME = "pacbot-SubmitRuleExecutionJob" 9 | 10 | 11 | class UploadLambdaRuleEngineZipFile(S3BucketObject): 12 | bucket = BucketStorage.get_output_attr('bucket') 13 | key = Settings.RESOURCE_NAME_PREFIX + "/" + RULE_ENGINE_JOB_FILE_NAME + ".zip" 14 | source = os.path.join( 15 | get_terraform_scripts_and_files_dir(), 16 | RULE_ENGINE_JOB_FILE_NAME + ".zip") 17 | -------------------------------------------------------------------------------- /installer/resources/lambda_submit/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/resources/lambda_submit/__init__.py -------------------------------------------------------------------------------- /installer/resources/lambda_submit/s3_upload.py: -------------------------------------------------------------------------------- 1 | from core.terraform.resources.aws.s3 import S3BucketObject 2 | from resources.s3.bucket import BucketStorage 3 | from core.terraform.utils import get_terraform_scripts_and_files_dir 4 | from core.config import Settings 5 | import os 6 | 7 | 8 | BATCH_JOB_FILE_NAME = "pacbot-submitBatchjob" 9 | 10 | 11 | class UploadLambdaSubmitJobZipFile(S3BucketObject): 12 | bucket = BucketStorage.get_output_attr('bucket') 13 | key = Settings.RESOURCE_NAME_PREFIX + "/" + BATCH_JOB_FILE_NAME + ".zip" 14 | source = os.path.join( 15 | get_terraform_scripts_and_files_dir(), 16 | BATCH_JOB_FILE_NAME + ".zip") 17 | -------------------------------------------------------------------------------- /installer/resources/pacbot_app/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/resources/pacbot_app/__init__.py -------------------------------------------------------------------------------- /installer/resources/pacbot_app/cloudwatch_log_groups.py: -------------------------------------------------------------------------------- 1 | from core.terraform.resources.aws.cloudwatch import CloudWatchLogGroupResource 2 | 3 | 4 | class ApiCloudWatchLogGroup(CloudWatchLogGroupResource): 5 | name = "apis" 6 | retention_in_days = 7 7 | 8 | 9 | class UiCloudWatchLogGroup(CloudWatchLogGroupResource): 10 | name = "ui" 11 | retention_in_days = 7 12 | -------------------------------------------------------------------------------- /installer/resources/pacbot_app/files/api_docker/dockerfile: -------------------------------------------------------------------------------- 1 | FROM openjdk:8 2 | ENV RUN_ARGS="--server.port=80 --server.ssl.enabled=false" 3 | RUN cd /tmp/ && curl -O https://bootstrap.pypa.io/get-pip.py && python get-pip.py && pip install awscli && cd - 4 | COPY entrypoint.sh ./entrypoint.sh 5 | RUN chmod +x ./entrypoint.sh 6 | #ENTRYPOINT ["./entrypoint.sh"] 7 | 8 | -------------------------------------------------------------------------------- /installer/resources/pacbot_app/files/api_docker/entrypoint.sh.tpl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | aws s3 cp s3://{{s3-bucket-base-path}}/${JAR_FILE} /root && chmod 755 /root/${JAR_FILE} 3 | /root/${JAR_FILE} 4 | -------------------------------------------------------------------------------- /installer/resources/pacbot_app/files/ui_docker/entrypoint.sh.tpl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | mkdir /tmp/dist && aws s3 cp s3://{{s3-bucket-base-path}}/dist.zip /tmp && unzip /tmp/dist.zip -d /tmp/dist && cp -r /tmp/dist/* /etc/nginx/html/ && chmod -R 755 /etc/nginx/html/ 4 | 5 | nginx -g "daemon off;" 6 | -------------------------------------------------------------------------------- /installer/resources/pacbot_app/utils.py: -------------------------------------------------------------------------------- 1 | from core.config import Settings 2 | 3 | 4 | def need_to_deploy_vulnerability_service(): 5 | feature_status = Settings.get('ENABLE_VULNERABILITY_FEATURE', False) 6 | 7 | return feature_status 8 | 9 | 10 | def need_to_enable_azure(): 11 | feature_status = Settings.get('ENABLE_AZURE', False) 12 | 13 | return feature_status 14 | 15 | 16 | def get_azure_tenants(): 17 | if need_to_enable_azure(): 18 | tenants = Settings.get('AZURE_TENANTS', []) 19 | tenant_ids = [tenant['tenantId'] for tenant in tenants] 20 | 21 | return ",".join(tenant_ids) 22 | else: 23 | return "" 24 | -------------------------------------------------------------------------------- /installer/resources/s3/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/resources/s3/__init__.py -------------------------------------------------------------------------------- /installer/resources/vpc/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/resources/vpc/__init__.py -------------------------------------------------------------------------------- /installer/settings/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/installer/settings/__init__.py -------------------------------------------------------------------------------- /installer/settings/loader: -------------------------------------------------------------------------------- 1 | ########################################################################################################################### 2 | ####################################### ____ ____ ###################################### 3 | ####################################### |/||\| PacBot |/||\| ###################################### 4 | ####################################### . || . Infra setup and deployment . || . ###################################### 5 | ####################################### || || ###################################### 6 | ########################################################################################################################### 7 | -------------------------------------------------------------------------------- /jobs/azure-discovery/src/main/java/com/tmobile/pacbot/azure/inventory/AzureDiscoveryApplication.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacbot.azure.inventory; 2 | 3 | import java.util.Map; 4 | 5 | import org.springframework.context.ApplicationContext; 6 | import org.springframework.context.annotation.AnnotationConfigApplicationContext; 7 | import org.springframework.context.annotation.ComponentScan; 8 | import org.springframework.context.annotation.Configuration; 9 | 10 | 11 | @Configuration 12 | @ComponentScan 13 | public class AzureDiscoveryApplication { 14 | 15 | public static Map collect(String[] args) { 16 | ApplicationContext context = new AnnotationConfigApplicationContext(AzureDiscoveryApplication.class); 17 | AzureFetchOrchestrator orchestrator = context.getBean(AzureFetchOrchestrator.class); 18 | return orchestrator.orchestrate(); 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /jobs/azure-discovery/src/main/java/com/tmobile/pacbot/azure/inventory/vo/NSGSubnet.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacbot.azure.inventory.vo; 2 | 3 | public class NSGSubnet { 4 | 5 | private String addressPrefix; 6 | private String name; 7 | private String vnet; 8 | 9 | public String getVnet() { 10 | return vnet; 11 | } 12 | 13 | public void setVnet(String vnet) { 14 | this.vnet = vnet; 15 | } 16 | 17 | public String getAddressPrefix() { 18 | return addressPrefix; 19 | } 20 | 21 | public void setAddressPrefix(String addressPrefix) { 22 | this.addressPrefix = addressPrefix; 23 | } 24 | 25 | public String getName() { 26 | return name; 27 | } 28 | 29 | public void setName(String name) { 30 | this.name = name; 31 | } 32 | 33 | 34 | } 35 | -------------------------------------------------------------------------------- /jobs/azure-discovery/src/main/java/com/tmobile/pacbot/azure/inventory/vo/RecommendationVH.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacbot.azure.inventory.vo; 2 | 3 | import java.util.Map; 4 | 5 | public class RecommendationVH extends AzureVH{ 6 | 7 | private Map recommendation; 8 | 9 | public Map getRecommendation() { 10 | return recommendation; 11 | } 12 | 13 | public void setRecommendation(Map recommendation) { 14 | this.recommendation = recommendation; 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /jobs/azure-discovery/src/main/java/com/tmobile/pacbot/azure/inventory/vo/RouteTableSubnet.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacbot.azure.inventory.vo; 2 | 3 | public class RouteTableSubnet { 4 | 5 | private String addressPrefix; 6 | private String name; 7 | private String vnet; 8 | 9 | public String getVnet() { 10 | return vnet; 11 | } 12 | 13 | public void setVnet(String vnet) { 14 | this.vnet = vnet; 15 | } 16 | 17 | public String getAddressPrefix() { 18 | return addressPrefix; 19 | } 20 | 21 | public void setAddressPrefix(String addressPrefix) { 22 | this.addressPrefix = addressPrefix; 23 | } 24 | 25 | public String getName() { 26 | return name; 27 | } 28 | 29 | public void setName(String name) { 30 | this.name = name; 31 | } 32 | 33 | 34 | 35 | } 36 | -------------------------------------------------------------------------------- /jobs/azure-discovery/src/main/java/com/tmobile/pacbot/azure/inventory/vo/RouteVH.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacbot.azure.inventory.vo; 2 | 3 | public class RouteVH { 4 | private String name; 5 | private String addressPrefix; 6 | private String nextHop; 7 | 8 | public String getName() { 9 | return name; 10 | } 11 | 12 | public String getAddressPrefix() { 13 | return addressPrefix; 14 | } 15 | 16 | public String getNextHop() { 17 | return nextHop; 18 | } 19 | 20 | public void setName(String name) { 21 | this.name = name; 22 | } 23 | 24 | public void setAddressPrefix(String addressPrefix) { 25 | this.addressPrefix = addressPrefix; 26 | } 27 | 28 | public void setNextHop(String nextHop) { 29 | this.nextHop = nextHop; 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /jobs/azure-discovery/src/main/java/com/tmobile/pacbot/azure/inventory/vo/SecurityAlertsVH.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacbot.azure.inventory.vo; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | public class SecurityAlertsVH extends AzureVH { 7 | private String name; 8 | private String type; 9 | private HashMap propertiesMap; 10 | 11 | public String getName() { 12 | return name; 13 | } 14 | 15 | public String getType() { 16 | return type; 17 | } 18 | 19 | public HashMap getPropertiesMap() { 20 | return propertiesMap; 21 | } 22 | 23 | public void setName(String name) { 24 | this.name = name; 25 | } 26 | 27 | public void setType(String type) { 28 | this.type = type; 29 | } 30 | 31 | public void setPropertiesMap(HashMap propertiesMap) { 32 | this.propertiesMap = propertiesMap; 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /jobs/azure-discovery/src/main/java/com/tmobile/pacbot/azure/inventory/vo/SubscriptionVH.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacbot.azure.inventory.vo; 2 | 3 | public class SubscriptionVH { 4 | 5 | @Override 6 | public String toString() { 7 | return "{ subscriptionName=" + subscriptionName + ", subscriptionId=" + subscriptionId +", tenant="+tenant +"}"; 8 | } 9 | private String subscriptionId; 10 | private String subscriptionName; 11 | private String tenant; 12 | 13 | public String getTenant() { 14 | return tenant; 15 | } 16 | public void setTenant(String tenant) { 17 | this.tenant = tenant; 18 | } 19 | public String getSubscriptionId() { 20 | return subscriptionId; 21 | } 22 | public void setSubscriptionId(String subscription) { 23 | this.subscriptionId = subscription; 24 | } 25 | public String getSubscriptionName() { 26 | return subscriptionName; 27 | } 28 | public void setSubscriptionName(String subscriptionName) { 29 | this.subscriptionName = subscriptionName; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /jobs/azure-discovery/src/main/java/com/tmobile/pacbot/azure/inventory/vo/VirtualNetworkRuleVH.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.pacbot.azure.inventory.vo; 2 | 3 | public class VirtualNetworkRuleVH { 4 | private String id; 5 | private boolean ignoreMissingVNetServiceEndpoint; 6 | 7 | public String getId() { 8 | return id; 9 | } 10 | 11 | public boolean isIgnoreMissingVNetServiceEndpoint() { 12 | return ignoreMissingVNetServiceEndpoint; 13 | } 14 | 15 | public void setId(String id) { 16 | this.id = id; 17 | } 18 | 19 | public void setIgnoreMissingVNetServiceEndpoint(boolean ignoreMissingVNetServiceEndpoint) { 20 | this.ignoreMissingVNetServiceEndpoint = ignoreMissingVNetServiceEndpoint; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /jobs/pacman-cloud-discovery/README.md: -------------------------------------------------------------------------------- 1 | # PacBot - Cloud Discovery 2 | This is a batch job that pull data from the cloud (E.g. AWS). The data is written to flat files. These files are uploaded to a storage bucket (like AWS S3). And also get stored in a database. 3 | 4 | ## How to set it up? 5 | This program can be invoked on demand or can be scheduled as a batch job. 6 | -------------------------------------------------------------------------------- /jobs/pacman-cloud-discovery/src/main/java/com/tmobile/cso/pacman/inventory/vo/ElastiCacheNodeVH.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.cso.pacman.inventory.vo; 2 | 3 | import com.amazonaws.services.elasticache.model.CacheNode; 4 | 5 | public class ElastiCacheNodeVH { 6 | 7 | /** The node. */ 8 | CacheNode node; 9 | 10 | /** The tags. */ 11 | String tags; 12 | 13 | 14 | String nodeName ; 15 | 16 | public String getNodeName() { 17 | return nodeName; 18 | } 19 | 20 | public void setNodeName(String nodeName) { 21 | this.nodeName = nodeName; 22 | } 23 | 24 | public CacheNode getNode() { 25 | return node; 26 | } 27 | 28 | public void setNode(CacheNode node) { 29 | this.node = node; 30 | } 31 | 32 | 33 | 34 | public String getTags() { 35 | return tags; 36 | } 37 | 38 | public void setTags(String tags) { 39 | this.tags = tags; 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /jobs/pacman-cloud-discovery/src/main/java/com/tmobile/cso/pacman/inventory/vo/IAMCertificateVH.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.cso.pacman.inventory.vo; 2 | 3 | import java.util.Date; 4 | 5 | public class IAMCertificateVH { 6 | 7 | /** The serverCertificateName. */ 8 | String serverCertificateName; 9 | 10 | /** The arn. */ 11 | String arn; 12 | 13 | /** The expiryDate. */ 14 | Date expiryDate; 15 | 16 | public String getServerCertificateName() { 17 | return serverCertificateName; 18 | } 19 | 20 | public void setServerCertificateName(String serverCertificateName) { 21 | this.serverCertificateName = serverCertificateName; 22 | } 23 | 24 | public String getArn() { 25 | return arn; 26 | } 27 | 28 | public void setArn(String arn) { 29 | this.arn = arn; 30 | } 31 | 32 | public Date getExpiryDate() { 33 | return expiryDate; 34 | } 35 | 36 | public void setExpiryDate(Date expiryDate) { 37 | this.expiryDate = expiryDate; 38 | } 39 | 40 | 41 | 42 | } 43 | -------------------------------------------------------------------------------- /jobs/pacman-cloud-discovery/src/main/java/com/tmobile/cso/pacman/inventory/vo/RedshiftVH.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.cso.pacman.inventory.vo; 2 | 3 | import java.util.List; 4 | 5 | import com.amazonaws.services.redshift.model.Cluster; 6 | 7 | public class RedshiftVH { 8 | 9 | Cluster cluster; 10 | List subnets; 11 | 12 | public RedshiftVH(Cluster cluster){ 13 | this.cluster = cluster; 14 | } 15 | 16 | public Cluster getCluster() { 17 | return cluster; 18 | } 19 | 20 | public void setCluster(Cluster cluster) { 21 | this.cluster = cluster; 22 | } 23 | 24 | public List getSubnets() { 25 | return subnets; 26 | } 27 | 28 | public void setSubnets(List subnets) { 29 | this.subnets = subnets; 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /jobs/pacman-cloud-discovery/src/main/java/com/tmobile/cso/pacman/inventory/vo/VideoStreamVH.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.cso.pacman.inventory.vo; 2 | 3 | import java.util.List; 4 | 5 | import com.amazonaws.services.kinesisvideo.model.StreamInfo; 6 | 7 | public class VideoStreamVH { 8 | 9 | private StreamInfo streamInfo; 10 | 11 | private List tags; 12 | 13 | public VideoStreamVH(StreamInfo streamInfo, List tags) { 14 | super(); 15 | this.streamInfo = streamInfo; 16 | this.tags = tags; 17 | } 18 | 19 | public StreamInfo getStreamInfo() { 20 | return streamInfo; 21 | } 22 | 23 | public void setStreamInfo(StreamInfo streamInfo) { 24 | this.streamInfo = streamInfo; 25 | } 26 | 27 | public List getTags() { 28 | return tags; 29 | } 30 | 31 | public void setTags(List tags) { 32 | this.tags = tags; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /jobs/pacman-data-shipper/README.md: -------------------------------------------------------------------------------- 1 | # PacBot - Data Shipper 2 | This is a batch job that queries a database in which asset related information is stored such as vulnerability, compliance etc. and uploads them into an Elastic Search Index 3 | 4 | ## How to set it up? 5 | This program can be invoked on demand or can be scheduled as a batch job. 6 | -------------------------------------------------------------------------------- /jobs/pacman-data-shipper/src/main/java/com/tmobile/cso/pacman/datashipper/error/AzureErrorManager.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.cso.pacman.datashipper.error; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | public class AzureErrorManager extends ErrorManager { 7 | 8 | protected AzureErrorManager() { 9 | 10 | } 11 | @Override 12 | public Map handleError(String index, String type, String loaddate, 13 | List> errorList, boolean checkLatest) { 14 | // TODO Auto-generated method stub 15 | return null; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /jobs/pacman-data-shipper/src/main/java/com/tmobile/cso/pacman/datashipper/exception/UnAuthorisedException.java: -------------------------------------------------------------------------------- 1 | package com.tmobile.cso.pacman.datashipper.exception; 2 | 3 | public class UnAuthorisedException extends Exception { 4 | /** 5 | * 6 | */ 7 | private static final long serialVersionUID = 1L; 8 | 9 | /** 10 | * 11 | */ 12 | public UnAuthorisedException() { 13 | } 14 | 15 | /** 16 | * 17 | */ 18 | public UnAuthorisedException(String msg) { 19 | super(msg); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /jobs/pacman-rule-engine-2.0/cloudresources/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | #FROM amazonlinux:latest 2 | FROM anapsix/alpine-java 3 | MAINTAINER pacman-rule-execution-engine 4 | RUN \ 5 | mkdir -p /aws && \ 6 | apk -Uuv add groff less python py-pip && \ 7 | pip install awscli && \ 8 | apk --purge -v del py-pip && \ 9 | rm /var/cache/apk/* 10 | ADD fetch_and_run.sh ~/fetch_and_run.sh 11 | 12 | -------------------------------------------------------------------------------- /jobs/pacman-rule-engine-2.0/cloudresources/docker/fetch_and_run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "fetching the executor...." 3 | aws s3 cp s3://pacman-aws-rule-executables/$4 ~/$4 4 | echo "got the executor file ==>" 5 | echo $4 6 | echo "fetching the executable...." 7 | aws s3 cp s3://pacman-aws-rule-executables/$1 ~/$1 8 | echo "got the executable file==>" 9 | echo $1 10 | echo "Launching jvm with following params" 11 | echo $@ 12 | cd ~ 13 | echo "running at" 14 | echo $PWD 15 | echo "list of files here" 16 | echo . * 17 | java $3 -cp "./*:." $5 "$2" 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /jobs/pacman-rule-engine-2.0/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/jobs/pacman-rule-engine-2.0/src/main/resources/application.properties -------------------------------------------------------------------------------- /jobs/pacman-rule-engine-2.0/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | %d{yyyy-MM-dd HH:mm:ss} %X{executionId} [%thread] %-5level %logger{36} - %msg%n 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /webapp/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /tmp 5 | /out-tsc 6 | /dist 7 | package-lock.json 8 | 9 | node/* 10 | # dependencies 11 | /node_modules 12 | /bower_components 13 | /**/*.orig 14 | # cached files 15 | .serverless 16 | .DS_Store 17 | *.pyc 18 | .cache 19 | __pycache__ 20 | 21 | 22 | # IDEs and editors 23 | /.idea 24 | .project 25 | .classpath 26 | .c9/ 27 | *.launch 28 | .settings/ 29 | *.sublime-workspace 30 | *.icloud 31 | # IDE - VSCode 32 | 33 | .vscode/* 34 | .vscode/settings.json 35 | !.vscode/tasks.json 36 | !.vscode/launch.json 37 | !.vscode/extensions.json 38 | 39 | # misc 40 | /.sass-cache 41 | /connect.lock 42 | /coverage 43 | /libpeerconnection.log 44 | npm-debug.log 45 | testem.log 46 | /typings 47 | 48 | # e2e 49 | /e2e/*.js 50 | /e2e/*.map 51 | 52 | # System Files 53 | .DS_Store 54 | Thumbs.db 55 | -------------------------------------------------------------------------------- /webapp/e2e/page-objects/policy-details.po.ts: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | import { by, element } from 'protractor'; 16 | 17 | export class PolicyDetails { 18 | 19 | getPolicyDetailsHeading() { 20 | return element.all(by.css('.title-text')).first(); 21 | } 22 | 23 | getBackArrow() { 24 | return element(by.css('.arrow-img')); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /webapp/e2e/page-objects/tools.po.ts: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | import { browser, by, element, $ } from 'protractor'; 16 | 17 | export class ToolsPage { 18 | 19 | getTitle() { 20 | return $('.tools-outer-wrapper .tools-header'); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /webapp/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | { 16 | "extends": "../tsconfig.json", 17 | "compilerOptions": { 18 | "outDir": "../out-tsc/e2e", 19 | "baseUrl": "./", 20 | "module": "commonjs", 21 | "target": "es5", 22 | "types": [ 23 | "jasmine", 24 | "jasminewd2", 25 | "node" 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /webapp/sonar-project.properties: -------------------------------------------------------------------------------- 1 | # Required metadata 2 | sonar.projectKey=pacman-spa 3 | sonar.projectName=pacman-spa 4 | sonar.projectVersion=1.0 5 | sonar.sources=src/app 6 | sonar.test=src/app 7 | sonar.test.inclusions=**/*.spec.ts 8 | sonar.exclusions=**/*.module.ts 9 | sonar.ts.tslint.configPath=tslint.json -------------------------------------------------------------------------------- /webapp/src/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/android-chrome-192x192.png -------------------------------------------------------------------------------- /webapp/src/android-chrome-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/android-chrome-256x256.png -------------------------------------------------------------------------------- /webapp/src/app/app.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/landing-page/common/feature/feature.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 |
17 | 18 |
19 |
{{featureTitle}}
20 |
{{featureSubTitle}}
21 |
-------------------------------------------------------------------------------- /webapp/src/app/landing-page/common/glow-traveller/glow-traveller.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | .app-glow-traveller { 16 | position: absolute; 17 | background-color: #F5006D; 18 | box-shadow: 0 0 5px #F5006D; 19 | color: white; 20 | z-index: -1; 21 | } 22 | 23 | .vertical { 24 | width: 3px; 25 | } 26 | 27 | .horizontal { 28 | height: 3px; 29 | } -------------------------------------------------------------------------------- /webapp/src/app/landing-page/common/pulse-ball/pulse-ball.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 |
17 |
18 |
-------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/admin/account-management-details/account-management-details.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { AccountManagementDetailsComponent } from './account-management-details.component'; 4 | 5 | describe('AccountManagementDetailsComponent', () => { 6 | let component: AccountManagementDetailsComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ AccountManagementDetailsComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(AccountManagementDetailsComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/admin/account-management/account-management.component.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 100%; 3 | } 4 | 5 | /deep/ .ac-man-wrap .data-table-inner-wrap:hover { 6 | overflow-y: hidden!important; 7 | } -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/admin/account-management/account-management.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { AccountManagementComponent } from './account-management.component'; 4 | 5 | describe('AccountManagementComponent', () => { 6 | let component: AccountManagementComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ AccountManagementComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(AccountManagementComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/admin/admin.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | .admin-wrapper { 16 | width: 100%; 17 | height: 100%; 18 | font-size: 1em; 19 | } 20 | 21 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/admin/commons/pacman-loader/pacman-loader.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
-------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/admin/commons/pacman-loader/pacman-loader.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { PacmanLoaderComponent } from './pacman-loader.component'; 4 | 5 | describe('PacmanLoaderComponent', () => { 6 | let component: PacmanLoaderComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ PacmanLoaderComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(PacmanLoaderComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/admin/commons/pacman-loader/pacman-loader.component.ts: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | import { Component } from '@angular/core'; 16 | 17 | @Component({ 18 | selector: 'app-pacman-loader', 19 | styleUrls: ['./pacman-loader.component.css'], 20 | templateUrl: './pacman-loader.component.html' 21 | }) 22 | 23 | export class PacmanLoaderComponent { 24 | 25 | } 26 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/admin/config-management/config-management.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { ConfigManagementComponent } from './config-management.component'; 4 | 5 | describe('ConfigManagementComponent', () => { 6 | let component: ConfigManagementComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ ConfigManagementComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(ConfigManagementComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/admin/plugin-management-details/plugin-management-details.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { PluginManagementDetailsComponent } from './plugin-management-details.component'; 4 | 5 | describe('PluginManagementDetailsComponent', () => { 6 | let component: PluginManagementDetailsComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ PluginManagementDetailsComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(PluginManagementDetailsComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/admin/plugin-management/plugin-management.component.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 100%; 3 | } 4 | 5 | /deep/ .ac-man-wrap .data-table-inner-wrap:hover { 6 | overflow-y: hidden!important; 7 | } -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/admin/plugin-management/plugin-management.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { PluginManagementComponent } from './plugin-management.component'; 4 | 5 | describe('PluginManagementComponent', () => { 6 | let component: PluginManagementComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ PluginManagementComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(PluginManagementComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/assets/assets.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | .asset-wrapper { 16 | width: 100%; 17 | height: 100%; 18 | font-size: 1em; 19 | } 20 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/compliance/certificate-compliance/certificate-compliance.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | .certificates-wrapper /deep/ .data-table-wrap .table-cells:nth-child(1) { 16 | width: 285px; 17 | } 18 | 19 | .certificates-wrapper /deep/ .data-table-wrap .table-cells { 20 | width: 120px; 21 | } -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/compliance/compliance.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | .compliance-wrapper { 16 | width: 100%; 17 | height: 100%; 18 | font-size: 1em; 19 | } 20 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/compliance/event-details/event-details.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { EventDetailsComponent } from './event-details.component'; 4 | 5 | describe('EventDetailsComponent', () => { 6 | let component: EventDetailsComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ EventDetailsComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(EventDetailsComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/compliance/policy-violations-list/policy-violations-list.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { PolicyViolationsListComponent } from './policy-violations-list.component'; 4 | 5 | describe('PolicyViolationsListComponent', () => { 6 | let component: PolicyViolationsListComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ PolicyViolationsListComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(PolicyViolationsListComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/compliance/recommendations-details/recommendations-details.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { RecommendationsDetailsComponent } from './recommendations-details.component'; 4 | 5 | describe('RecommendationsDetailsComponent', () => { 6 | let component: RecommendationsDetailsComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ RecommendationsDetailsComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(RecommendationsDetailsComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/modules/omnisearch/omnisearch.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | .compliance-wrapper { 16 | width: 100%; 17 | height: 100%; 18 | font-size: 1em; 19 | } -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/asset-application/asset-application.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/asset-certificate/asset-certificate.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/asset-crop/asset-crop.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/asset-summary/asset-summary.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | .sub-head{ 16 | padding: 0.6em 0.5em 0.7em 1em; 17 | background-color: #dce3e9; 18 | } -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/asset-summary/asset-summary.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 | 19 |
20 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/asset-tracker/asset-tracker.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/asset-waf/asset-waf.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/issue-blocks/issue-blocks.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 |
{{header}}
17 |
18 | 19 |
20 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/multiline-chart/multiline-chart.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 | 17 |
18 | 19 |
20 |
-------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/overview-patching/overview-patching.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | .sub-head { 16 | padding: 0.6em 0.5em 0.7em 1em; 17 | font-size: 1em; 18 | background-color: #dce3e9; 19 | color: #3f4a59; 20 | } 21 | 22 | .post{ 23 | top: 60% 24 | } 25 | 26 | :host ::ng-deep .error_message_post .error-handling { 27 | top: 60%; 28 | } -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/overview-tagging/overview-tagging.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | .sub-head { 16 | padding: 0.6em 0.5em 0.7em 1em; 17 | font-size: 1em; 18 | background-color: #dce3e9; 19 | color: #3f4a59; 20 | } 21 | 22 | .post{ 23 | top: 60% 24 | } 25 | 26 | :host ::ng-deep .error_message_post .error-handling { 27 | top: 60%; 28 | } -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/patching-graph/patching-graph.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/patching-graph/patching-graph.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 | 17 |
-------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/policy-content-slider/policy-content-slider.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | .policy-cont-slider-wrapper{ 16 | min-height: 6em; 17 | 18 | } 19 | .policy-cont-slider-wrapper.wrapper-shadow{ 20 | box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.15); 21 | border: solid 1px #d6e2f1; 22 | } 23 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/quarter-graph/quarter-graph.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 | 17 |
18 | 19 |
20 | 21 |
-------------------------------------------------------------------------------- /webapp/src/app/pacman-features/secondary-components/vulnerability-aging-graph/vulnerability-aging-graph.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/pacman-features/services/window.service.ts: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | import { Injectable } from '@angular/core'; 16 | 17 | function getWindow (): any { 18 | return window; 19 | } 20 | 21 | @Injectable() 22 | export class WindowRefService { 23 | get nativeWindow (): any { 24 | return getWindow(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /webapp/src/app/post-login-app/change-default-asset-group/change-default-asset-group.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/post-login-app/change-default-asset-group/change-default-asset-group.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /webapp/src/app/post-login-app/common/asset-group-search/asset-group-search.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 | 17 | 18 |
-------------------------------------------------------------------------------- /webapp/src/app/post-login-app/first-time-user-journey/first-time-user-journey.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/shared/ag-grid-table/ag-grid-table.component.css: -------------------------------------------------------------------------------- 1 | .data-table-paginator-wrap { 2 | background-color: #fff; 3 | width: 100%; 4 | height: 4.66em; 5 | border-top: solid 1.5px #efefef; 6 | box-shadow: 0px -1.5px 6px -3px rgba(0, 0, 0, 0.16); 7 | position: relative; 8 | flex-shrink: 0; 9 | } 10 | .sub-head { 11 | min-height: 3em; 12 | line-height: 1.5; 13 | vertical-align: middle; 14 | border-radius: 3px; 15 | } 16 | .paginator-txt { 17 | letter-spacing: 0.2px; 18 | color: #555555; 19 | margin: 0 1.5em; 20 | min-width: 10em; 21 | text-align: right; 22 | } 23 | .fade { 24 | opacity: 0.3; 25 | } 26 | 27 | .paginator-arrow img { 28 | height: 1em; 29 | } 30 | .paginator-arrow img :hover { 31 | transform: scale(1.2); 32 | } 33 | .paginator-arrow { 34 | margin: 0 1.5em; 35 | cursor: pointer; 36 | } 37 | .paginator-arrow.rotate180 { 38 | transform: translateY(-1px) rotate(180deg); 39 | } -------------------------------------------------------------------------------- /webapp/src/app/shared/ag-grid-table/ag-grid-table.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { AgGridTableComponent } from './ag-grid-table.component'; 4 | 5 | describe('AgGridTableComponent', () => { 6 | let component: AgGridTableComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ AgGridTableComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(AgGridTableComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/shared/back-navigation/back-navigation.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 | 16 | 17 |

{{pageTitle}}

-------------------------------------------------------------------------------- /webapp/src/app/shared/bar-chart/bar-chart.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 | 17 |
-------------------------------------------------------------------------------- /webapp/src/app/shared/button-icon/button-icon.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/shared/button/button.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/shared/canvas-side-panel/canvas-side-panel.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 | 16 | 17 |

18 | 19 |

20 |
-------------------------------------------------------------------------------- /webapp/src/app/shared/check-box-btn/check-box-btn.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/shared/common-page-template/common-page-template.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/shared/confirmation-box/confirmation-box.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { ConfirmationBoxComponent } from './confirmation-box.component'; 4 | 5 | describe('ConfirmationBoxComponent', () => { 6 | let component: ConfirmationBoxComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ ConfirmationBoxComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(ConfirmationBoxComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/shared/copy-element/copy-element.component.css: -------------------------------------------------------------------------------- 1 | .icon-color { 2 | color:#e20074; 3 | padding: 0 .5em; 4 | } -------------------------------------------------------------------------------- /webapp/src/app/shared/copy-element/copy-element.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /webapp/src/app/shared/copy-element/copy-element.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { CopyElementComponent } from './copy-element.component'; 4 | 5 | describe('CopyElementComponent', () => { 6 | let component: CopyElementComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ CopyElementComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(CopyElementComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/shared/date-dropdown/date-dropdown.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 | 17 |
-------------------------------------------------------------------------------- /webapp/src/app/shared/error-message/error-message.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 |

17 | {{errorMessages.title}} 18 |

19 |

20 | {{errorMessages.description}} 21 |

22 |
-------------------------------------------------------------------------------- /webapp/src/app/shared/forms/forms.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { FormsComponent } from './forms.component'; 4 | 5 | describe('FormsComponent', () => { 6 | let component: FormsComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ FormsComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(FormsComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/shared/generic-page-filter/generic-page-filter.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/shared/input-modal/input-modal.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit, Output, Input, EventEmitter } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-input-modal', 5 | templateUrl: './input-modal.component.html', 6 | styleUrls: ['./input-modal.component.css'] 7 | }) 8 | export class InputModalComponent implements OnInit { 9 | 10 | constructor() { } 11 | 12 | @Output() emitClose = new EventEmitter(); 13 | @Output() emitSave = new EventEmitter(); 14 | @Input() dropdownArray; 15 | @Input() errorValue; 16 | @Input() errorMessage; 17 | createObject = {}; 18 | key: any; 19 | value: any; 20 | 21 | ngOnInit() { 22 | } 23 | 24 | cancel() { 25 | this.emitClose.emit(); 26 | } 27 | 28 | save() { 29 | this.createObject[this.key] = this.value; 30 | this.emitSave.emit(this.createObject); 31 | } 32 | 33 | selected(key) { 34 | this.key = key.value; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /webapp/src/app/shared/link/link.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/shared/loader-msg/loader-msg.component.css: -------------------------------------------------------------------------------- 1 | .traction-respone-wrapper { 2 | text-align: center; 3 | } 4 | .generic-msg { 5 | text-align: center; 6 | margin-bottom: 30px 7 | } 8 | .generic-msg .title { 9 | padding: 8px 0; 10 | font-size: 1.2em; 11 | font-family: ex2-regular; 12 | } 13 | .generic-msg .details { 14 | padding: 8px 0; 15 | font-size: 1.2em; 16 | } 17 | .generic-msg .description { 18 | padding: 8px 0; 19 | font-size: 1.2em; 20 | } 21 | 22 | .generic-msg.success .title { 23 | color: green; 24 | } 25 | .generic-msg.error .title { 26 | color: red; 27 | } -------------------------------------------------------------------------------- /webapp/src/app/shared/loader-msg/loader-msg.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { LoaderMsgComponent } from './loader-msg.component'; 4 | 5 | describe('LoaderMsgComponent', () => { 6 | let component: LoaderMsgComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ LoaderMsgComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(LoaderMsgComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /webapp/src/app/shared/loader-msg/loader-msg.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; 2 | import {Router} from '@angular/router'; 3 | 4 | @Component({ 5 | selector: 'app-loader-msg', 6 | templateUrl: './loader-msg.component.html', 7 | styleUrls: ['./loader-msg.component.css'] 8 | }) 9 | export class LoaderMsgComponent implements OnInit { 10 | @Input() response; 11 | @Output() actionClick = new EventEmitter(); 12 | @Input() ifCancelRequired = true; 13 | 14 | constructor(private router: Router) { } 15 | 16 | ngOnInit() { 17 | } 18 | 19 | takeAction(clickType, $event) { 20 | this.actionClick.emit(clickType); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /webapp/src/app/shared/models/exception-input.model.ts: -------------------------------------------------------------------------------- 1 | export class ExceptionInput { 2 | common: { 3 | allResourceIds: Array; 4 | allTargetTypes: Array; 5 | resourceType: string; 6 | disablePolicy: Boolean; 7 | }; 8 | ruleId: string; 9 | ruleName: string; 10 | expiringIn: any; 11 | exceptionReason: string; 12 | exceptionEndDate: Date; 13 | allPolicyIds: Array; 14 | } 15 | -------------------------------------------------------------------------------- /webapp/src/app/shared/models/exception.model.ts: -------------------------------------------------------------------------------- 1 | export class Exception { 2 | disablePolicy: Boolean; 3 | selectedDate: string; 4 | minDate: Date; 5 | exceptionReason: String; 6 | targetTypeExemptionMap: Array; 7 | allPolicyIds: Array; 8 | allTargetTypes: Array; 9 | allResourceIds: Array; 10 | } 11 | -------------------------------------------------------------------------------- /webapp/src/app/shared/models/http-response.ts: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /** 16 | * Created by aditya on 10/24/17. 17 | */ 18 | 19 | 20 | export class HttpResponse { 21 | data: any; 22 | } 23 | -------------------------------------------------------------------------------- /webapp/src/app/shared/multiline-trend/multiline-trend.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/shared/multiline-trend/multiline-trend.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 | Graph component 17 |
-------------------------------------------------------------------------------- /webapp/src/app/shared/overlay/overlay.component.css: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | .overlay-state-con { 16 | position: fixed; 17 | left: 0; 18 | right: 0; 19 | top: 0; 20 | bottom: 0; 21 | z-index: 13; 22 | } 23 | 24 | .overlay-state { 25 | height: 100%; 26 | background-color: rgba(24, 33, 44, 0.5); 27 | cursor: default; 28 | } -------------------------------------------------------------------------------- /webapp/src/app/shared/overlay/overlay.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 |
17 |
-------------------------------------------------------------------------------- /webapp/src/app/shared/overlay/overlay.component.ts: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | import { Component } from '@angular/core'; 16 | 17 | @Component({ 18 | selector: 'app-overlay', 19 | templateUrl: './overlay.component.html', 20 | styleUrls: ['./overlay.component.css'] 21 | }) 22 | export class OverlayComponent { 23 | 24 | constructor() { } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /webapp/src/app/shared/radio-button/radio-button.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/shared/search-bar/search-bar.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 | 17 | 18 |
-------------------------------------------------------------------------------- /webapp/src/app/shared/search-info/search-info.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 | 17 | 18 |
-------------------------------------------------------------------------------- /webapp/src/app/shared/sub-footer/sub-footer.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/app/shared/widget-section-starter/widget-section-starter.component.html: -------------------------------------------------------------------------------- 1 | 14 | 15 |
16 |

{{title}}

17 |

18 |
19 | -------------------------------------------------------------------------------- /webapp/src/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/apple-touch-icon.png -------------------------------------------------------------------------------- /webapp/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/.gitkeep -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Black.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-BlackItalic.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Bold.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-BoldItalic.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-ExtraBold.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-ExtraLight.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Italic.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Light.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-LightItalic.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Medium.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-MediumItalic.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Regular.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-SemiBold.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-Thin.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Ex2_ttf/Exo2-ThinItalic.ttf -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Black.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Black.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-BlackItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-BlackItalic.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Bold.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-BoldItalic.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-ExtraBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-ExtraBold.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-ExtraBoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-ExtraBoldItalic.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-ExtraLight.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-ExtraLight.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-ExtraLightItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-ExtraLightItalic.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Italic.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Light.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-LightItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-LightItalic.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Medium.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-MediumItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-MediumItalic.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Regular.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-SemiBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-SemiBold.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-SemiBoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-SemiBoldItalic.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Thin.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-Thin.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-ThinItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_Woff/Exo2-ThinItalic.woff -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Black.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Black.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-BlackItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-BlackItalic.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Bold.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-BoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-BoldItalic.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-ExtraBold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-ExtraBold.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-ExtraBoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-ExtraBoldItalic.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-ExtraLight.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-ExtraLight.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-ExtraLightItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-ExtraLightItalic.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Italic.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Light.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-LightItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-LightItalic.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Medium.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Medium.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-MediumItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-MediumItalic.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Regular.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-SemiBold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-SemiBold.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-SemiBoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-SemiBoldItalic.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Thin.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-Thin.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-ThinItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_eot/Exo2-ThinItalic.eot -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Black.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Black.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Bold.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-BoldItalic.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-ExtraBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-ExtraBold.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-ExtraBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-ExtraBoldItalic.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-ExtraLight.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-ExtraLight.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-ExtraLightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-ExtraLightItalic.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Italic.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Light.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-LightItalic.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Medium.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-MediumItalic.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Regular.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-SemiBold.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-SemiBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-SemiBoldItalic.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-Thin.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-ThinItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/fonts/ex2/Exo2_woff2/Exo2-ThinItalic.woff2 -------------------------------------------------------------------------------- /webapp/src/assets/icons/Info-Filled-White.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Info-Filled 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/Terminated.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Terminated 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/alarm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/app-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/icons/app-loader.gif -------------------------------------------------------------------------------- /webapp/src/assets/icons/application-logo-gradient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/icons/application-logo-gradient.png -------------------------------------------------------------------------------- /webapp/src/assets/icons/application-logo-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/icons/application-logo-loader.gif -------------------------------------------------------------------------------- /webapp/src/assets/icons/application-logo-magenta.svg: -------------------------------------------------------------------------------- 1 | Artboard 1 copy 4 -------------------------------------------------------------------------------- /webapp/src/assets/icons/application-logo.svg: -------------------------------------------------------------------------------- 1 | Artboard 1 copy 5 -------------------------------------------------------------------------------- /webapp/src/assets/icons/asset-group-magenta.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic/layers/grey600 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/asset-group.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic/layers/grey600 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/assets.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic/storage/grey600 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/back-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_arrow_back_ios_24px 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/black-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_arrow_back_ios_24px 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/cross-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.15, written by Peter Selinger 2001-2017 9 | 10 | 12 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/front-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_arrow_back_ios_24px 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/grey-arr-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/grey-arr-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/instanceState.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/icons/instanceState.gif -------------------------------------------------------------------------------- /webapp/src/assets/icons/left-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic_arrow_forward_24px 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/my-dashboard.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ic/dashboard/grey600 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/omni-search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/right-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/scheduled.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /webapp/src/assets/icons/slack-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/icons/slack-icon.png -------------------------------------------------------------------------------- /webapp/src/assets/icons/white-tick.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /webapp/src/assets/images/BG_gray_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/BG_gray_image.png -------------------------------------------------------------------------------- /webapp/src/assets/images/FooterBG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/FooterBG.png -------------------------------------------------------------------------------- /webapp/src/assets/images/JIRAissue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/JIRAissue.png -------------------------------------------------------------------------------- /webapp/src/assets/images/bg-header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/bg-header.png -------------------------------------------------------------------------------- /webapp/src/assets/images/bg/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/bg/background.png -------------------------------------------------------------------------------- /webapp/src/assets/images/bg/bg-domain1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/bg/bg-domain1.png -------------------------------------------------------------------------------- /webapp/src/assets/images/bg/bg-domain2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/bg/bg-domain2.png -------------------------------------------------------------------------------- /webapp/src/assets/images/bg/bg-domain3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/bg/bg-domain3.png -------------------------------------------------------------------------------- /webapp/src/assets/images/bg/landing-page-header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/bg/landing-page-header-bg.png -------------------------------------------------------------------------------- /webapp/src/assets/images/bg/workflow-bg-bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/bg/workflow-bg-bottom.png -------------------------------------------------------------------------------- /webapp/src/assets/images/cloud_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/cloud_icon.png -------------------------------------------------------------------------------- /webapp/src/assets/images/get-started-section.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/get-started-section.png -------------------------------------------------------------------------------- /webapp/src/assets/images/icon-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/icon-search.png -------------------------------------------------------------------------------- /webapp/src/assets/images/icon_filter_filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/icon_filter_filtered.png -------------------------------------------------------------------------------- /webapp/src/assets/images/icon_filter_nonfiltered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/icon_filter_nonfiltered.png -------------------------------------------------------------------------------- /webapp/src/assets/images/incident.svg: -------------------------------------------------------------------------------- 1 | Artboard 12 copy 5 -------------------------------------------------------------------------------- /webapp/src/assets/images/know-your-dashboard/know-your-dashboard-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/know-your-dashboard/know-your-dashboard-1.png -------------------------------------------------------------------------------- /webapp/src/assets/images/know-your-dashboard/know-your-dashboard-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/know-your-dashboard/know-your-dashboard-2.png -------------------------------------------------------------------------------- /webapp/src/assets/images/know-your-dashboard/know-your-dashboard-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/know-your-dashboard/know-your-dashboard-3.png -------------------------------------------------------------------------------- /webapp/src/assets/images/know-your-dashboard/know-your-dashboard-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/know-your-dashboard/know-your-dashboard-4.png -------------------------------------------------------------------------------- /webapp/src/assets/images/know-your-dashboard/know-your-dashboard-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/know-your-dashboard/know-your-dashboard-5.png -------------------------------------------------------------------------------- /webapp/src/assets/images/know-your-dashboard/know-your-dashboard-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/know-your-dashboard/know-your-dashboard-6.png -------------------------------------------------------------------------------- /webapp/src/assets/images/monitor.svg: -------------------------------------------------------------------------------- 1 | Artboard 12 copy 3 -------------------------------------------------------------------------------- /webapp/src/assets/images/on-prem_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/on-prem_icon.png -------------------------------------------------------------------------------- /webapp/src/assets/images/pacman.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/pacman.gif -------------------------------------------------------------------------------- /webapp/src/assets/images/pacman_both_hands_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/pacman_both_hands_down.png -------------------------------------------------------------------------------- /webapp/src/assets/images/pacman_both_hands_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/pacman_both_hands_up.png -------------------------------------------------------------------------------- /webapp/src/assets/images/pacman_happy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/pacman_happy.png -------------------------------------------------------------------------------- /webapp/src/assets/images/pacman_loader-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/pacman_loader-2.gif -------------------------------------------------------------------------------- /webapp/src/assets/images/pacman_one_hand_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/images/pacman_one_hand_up.png -------------------------------------------------------------------------------- /webapp/src/assets/images/reporting.svg: -------------------------------------------------------------------------------- 1 | Artboard 12 copy 4 -------------------------------------------------------------------------------- /webapp/src/assets/images/security-auto.svg: -------------------------------------------------------------------------------- 1 | Artboard 12 copy 2 -------------------------------------------------------------------------------- /webapp/src/assets/images/security-deep.svg: -------------------------------------------------------------------------------- 1 | Artboard 12 copy -------------------------------------------------------------------------------- /webapp/src/assets/images/security-wide.svg: -------------------------------------------------------------------------------- 1 | Artboard 12 -------------------------------------------------------------------------------- /webapp/src/assets/png/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/png/delete.png -------------------------------------------------------------------------------- /webapp/src/assets/png/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/assets/png/search.png -------------------------------------------------------------------------------- /webapp/src/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #da532c 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /webapp/src/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/favicon-16x16.png -------------------------------------------------------------------------------- /webapp/src/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/favicon-32x32.png -------------------------------------------------------------------------------- /webapp/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/favicon.ico -------------------------------------------------------------------------------- /webapp/src/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/webapp/src/mstile-150x150.png -------------------------------------------------------------------------------- /webapp/src/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "short_name": "", 4 | "icons": [ 5 | { 6 | "src": "/android-chrome-192x192.png", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "/android-chrome-256x256.png", 12 | "sizes": "256x256", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /webapp/src/style-app-loading.css: -------------------------------------------------------------------------------- 1 | .app-loading .logo { 2 | width: 180px; 3 | height: 180px; 4 | background: url(./assets/icons/app-loader.gif) center center no-repeat; 5 | background-size: contain; 6 | } -------------------------------------------------------------------------------- /webapp/src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | { 16 | "extends": "../tsconfig.json", 17 | "compilerOptions": { 18 | "outDir": "../out-tsc/app", 19 | "baseUrl": "./", 20 | "module": "es2015", 21 | "types": [] 22 | }, 23 | "exclude": [ 24 | "test.ts", 25 | "**/*.spec.ts" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /webapp/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | /* 2 | *Copyright 2018 T Mobile, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); You may not use 5 | * this file except in compliance with the License. A copy of the License is located at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * or in the "license" file accompanying this file. This file is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 11 | * implied. See the License for the specific language governing permissions and 12 | * limitations under the License. 13 | */ 14 | 15 | /* SystemJS module definition */ 16 | declare var module: NodeModule; 17 | interface NodeModule { 18 | id: string; 19 | } 20 | -------------------------------------------------------------------------------- /webapp/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compileOnSave": false, 3 | "compilerOptions": { 4 | "outDir": "./dist/out-tsc", 5 | "sourceMap": true, 6 | "declaration": false, 7 | "moduleResolution": "node", 8 | "emitDecoratorMetadata": true, 9 | "experimentalDecorators": true, 10 | "target": "es5", 11 | "typeRoots": [ 12 | "node_modules/@types" 13 | ], 14 | "lib": [ 15 | "es2017", 16 | "dom" 17 | ] 18 | }, 19 | "exclude": [ 20 | "node_modules" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /wiki/images/Pacman-vuln-report.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/Pacman-vuln-report.png -------------------------------------------------------------------------------- /wiki/images/Q2 delivered.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/Q2 delivered.PNG -------------------------------------------------------------------------------- /wiki/images/Q3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/Q3.PNG -------------------------------------------------------------------------------- /wiki/images/Roadmap - Q2 2019.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/Roadmap - Q2 2019.PNG -------------------------------------------------------------------------------- /wiki/images/Roadmap19-Q1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/Roadmap19-Q1.PNG -------------------------------------------------------------------------------- /wiki/images/Roadmap2019.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/Roadmap2019.PNG -------------------------------------------------------------------------------- /wiki/images/asset-details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/asset-details.png -------------------------------------------------------------------------------- /wiki/images/asset-group-applications.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/asset-group-applications.png -------------------------------------------------------------------------------- /wiki/images/asset-group-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/asset-group-selection.png -------------------------------------------------------------------------------- /wiki/images/asset-recommendation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/asset-recommendation.png -------------------------------------------------------------------------------- /wiki/images/assets-dashboard.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/assets-dashboard.jpg -------------------------------------------------------------------------------- /wiki/images/assets-list.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/assets-list.jpg -------------------------------------------------------------------------------- /wiki/images/assets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/assets.png -------------------------------------------------------------------------------- /wiki/images/banner_magenta.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/banner_magenta.jpeg -------------------------------------------------------------------------------- /wiki/images/banner_magenta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/banner_magenta.png -------------------------------------------------------------------------------- /wiki/images/branching-strategy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/branching-strategy.png -------------------------------------------------------------------------------- /wiki/images/certificate-compliance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/certificate-compliance.png -------------------------------------------------------------------------------- /wiki/images/chat.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | chat 16 | chat 17 | on gitter 18 | on gitter 19 | 20 | 21 | -------------------------------------------------------------------------------- /wiki/images/compliance-domains.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/compliance-domains.png -------------------------------------------------------------------------------- /wiki/images/compliance-overview-chart.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/compliance-overview-chart.jpg -------------------------------------------------------------------------------- /wiki/images/compliance-overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/compliance-overview.jpg -------------------------------------------------------------------------------- /wiki/images/compliance-trend.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/compliance-trend.jpg -------------------------------------------------------------------------------- /wiki/images/compliance-trend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/compliance-trend.png -------------------------------------------------------------------------------- /wiki/images/compliance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/compliance.png -------------------------------------------------------------------------------- /wiki/images/compliance2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/compliance2.png -------------------------------------------------------------------------------- /wiki/images/configmgmt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/configmgmt.png -------------------------------------------------------------------------------- /wiki/images/dev-metrics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/dev-metrics.png -------------------------------------------------------------------------------- /wiki/images/gitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | build 12 | build 13 | passing 14 | passing 15 | 16 | 17 | -------------------------------------------------------------------------------- /wiki/images/linux-patch-compliance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/linux-patch-compliance.png -------------------------------------------------------------------------------- /wiki/images/omni-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/omni-search.png -------------------------------------------------------------------------------- /wiki/images/overall-compliance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/overall-compliance.png -------------------------------------------------------------------------------- /wiki/images/pacbot.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/pacbot.gif -------------------------------------------------------------------------------- /wiki/images/pacbot.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/pacbot.mp4 -------------------------------------------------------------------------------- /wiki/images/pacman_horz_banner_magenta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/pacman_horz_banner_magenta.png -------------------------------------------------------------------------------- /wiki/images/policy-compliance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/policy-compliance.png -------------------------------------------------------------------------------- /wiki/images/q34.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/q34.PNG -------------------------------------------------------------------------------- /wiki/images/search-results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/search-results.png -------------------------------------------------------------------------------- /wiki/images/tagging-summary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/tagging-summary.png -------------------------------------------------------------------------------- /wiki/images/ui/modules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/ui/modules.png -------------------------------------------------------------------------------- /wiki/images/violations-summary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/violations-summary.png -------------------------------------------------------------------------------- /wiki/images/vulnerability-compliance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/images/vulnerability-compliance.png -------------------------------------------------------------------------------- /wiki/javadoc.svg: -------------------------------------------------------------------------------- 1 | javadocjavadoc1.6.01.6.0 -------------------------------------------------------------------------------- /wiki/pacbot-landing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmobile/pacbot/997c240c123d81cf3f55ff5093127c5fda6119c3/wiki/pacbot-landing.png --------------------------------------------------------------------------------