├── .gitignore ├── .murphy.yml ├── LICENSE ├── README.md ├── build.sh ├── opscloud-common ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── common │ ├── HttpResult.java │ ├── annotation │ ├── AgoWrapper.java │ ├── ArkIntercept.java │ ├── BizDocWrapper.java │ ├── BizUserWrapper.java │ ├── DsTaskLock.java │ ├── DurationWrapper.java │ ├── EnvWrapper.java │ ├── EventPublisher.java │ ├── LaterWrapper.java │ ├── RuntimeWrapper.java │ ├── ServiceExceptionCatch.java │ ├── SetSessionUser.java │ ├── SetSessionUsername.java │ ├── SingleTask.java │ ├── TagsWrapper.java │ └── WatchTask.java │ ├── aspect │ ├── SingleTaskAspect.java │ └── WatchTaskAspect.java │ ├── base │ ├── AccessLevel.java │ ├── AnsibleResult.java │ ├── Global.java │ ├── IToString.java │ ├── IToURL.java │ ├── ServerTaskStatusEnum.java │ └── ServerTaskStopType.java │ ├── builder │ ├── CredentialTemplateDictBuilder.java │ ├── GuacamoleConfigurationBuilder.java │ ├── SimpleDict.java │ └── SimpleDictBuilder.java │ ├── configuration │ ├── CachingConfiguration.java │ ├── ThreadPoolTaskConfiguration.java │ └── properties │ │ ├── CacheProperties.java │ │ ├── HostConfigurationProperties.java │ │ └── OpscloudConfigurationProperties.java │ ├── constants │ ├── CacheKeyConstants.java │ ├── GitLabAccessLevelConstants.java │ ├── KubernetesProviders.java │ ├── OsTypeConstants.java │ ├── SerDeployConstants.java │ ├── SingleTaskConstants.java │ ├── TemplateKeyConstants.java │ └── enums │ │ ├── AccountRelationTypeEnum.java │ │ ├── ApolloReleaseActionEnum.java │ │ ├── ApplicationResEnum.java │ │ ├── CredentialKindEnum.java │ │ ├── DsTypeEnum.java │ │ ├── ProtocolEnum.java │ │ ├── ServerMonitorStatusEnum.java │ │ ├── SessionSource.java │ │ ├── UserCredentialTypeEnum.java │ │ └── UserProfileKeyEnum.java │ ├── datasource │ ├── AliyunArmsConfig.java │ ├── AliyunConfig.java │ ├── AliyunDevopsConfig.java │ ├── AliyunEventBridgeConfig.java │ ├── AnsibleConfig.java │ ├── ApolloConfig.java │ ├── AwsConfig.java │ ├── ConsulConfig.java │ ├── DingtalkConfig.java │ ├── GitLabConfig.java │ ├── GuacamoleConfig.java │ ├── HuaweicloudConfig.java │ ├── JenkinsConfig.java │ ├── KubernetesConfig.java │ ├── LXHLConfig.java │ ├── LdapConfig.java │ ├── MeterSphereConfig.java │ ├── NacosConfig.java │ ├── NexusConfig.java │ ├── SerDeployConfig.java │ ├── SonarConfig.java │ ├── TencentExmailConfig.java │ ├── ZabbixConfig.java │ └── base │ │ ├── BaseDsConfig.java │ │ ├── DsManageConfig.java │ │ └── IFilterDsConfig.java │ ├── event │ ├── EventTypeConstants.java │ ├── IEvent.java │ ├── IEventType.java │ ├── NoticeEvent.java │ └── SimpleEvent.java │ ├── exception │ ├── BaseException.java │ ├── BusinessErrorCodeEnum.java │ ├── ErrorCode.java │ ├── am │ │ └── CreateUserException.java │ ├── asset │ │ └── ListEntitiesException.java │ ├── auth │ │ ├── AuthenticationException.java │ │ └── AuthorizationException.java │ ├── common │ │ └── OCException.java │ ├── datasource │ │ └── DatasourceException.java │ ├── ssh │ │ └── SshException.java │ └── template │ │ └── BusinessTemplateException.java │ ├── feign │ ├── driver │ │ └── RiskControlDriver.java │ ├── request │ │ └── RiskControlRequest.java │ ├── response │ │ └── MgwCoreResponse.java │ └── ser │ │ └── RiskControlFeign.java │ ├── function │ ├── BranchFunction.java │ ├── ThrowBaseExceptionFunction.java │ └── TrueFunction.java │ ├── helper │ └── topic │ │ └── TopicHelper.java │ ├── holder │ ├── BaseWorkOrderToken.java │ ├── SessionHolder.java │ ├── WorkOrderApolloReleaseHolder.java │ ├── WorkOrderLeoDeployHolder.java │ └── WorkOrderSerDeployHolder.java │ ├── instance │ └── OcInstance.java │ ├── leo │ ├── response │ │ └── LeoContinuousDeliveryResponse.java │ └── session │ │ ├── LeoBuildQuerySessionMap.java │ │ └── LeoDeployQuerySessionMap.java │ ├── model │ └── HostInfo.java │ ├── redis │ └── RedisUtil.java │ ├── template │ └── YamlVars.java │ ├── util │ ├── ArrayUtil.java │ ├── BeanCopierUtil.java │ ├── BeetlUtil.java │ ├── BusinessPropertyUtil.java │ ├── CredentialUtil.java │ ├── CronUtil.java │ ├── DingtalkUtil.java │ ├── DsUtil.java │ ├── EmailUtil.java │ ├── ExtendUtil.java │ ├── FunctionUtil.java │ ├── HashUtil.java │ ├── HostUtil.java │ ├── IOUtil.java │ ├── IPAddressUtil.java │ ├── IPUtil.java │ ├── IdUtil.java │ ├── InstantUtil.java │ ├── JSONMapper.java │ ├── JSONUtil.java │ ├── JacksonUtil.java │ ├── JsonNodeMapperUtil.java │ ├── MatchingUtil.java │ ├── NewTimeUtil.java │ ├── OmTools.java │ ├── PasswordUtil.java │ ├── RandomUtil.java │ ├── SSHUtil.java │ ├── SecretUtil.java │ ├── ServerAccountUtil.java │ ├── StringFormatter.java │ ├── StringToDurationUtil.java │ ├── TemplateUtil.java │ ├── TimeUtil.java │ ├── ValidationUtil.java │ ├── YamlUtil.java │ └── time │ │ ├── AgoUtil.java │ │ └── LaterUtil.java │ └── ws │ └── KubernetesDeploymentQuerySessionMap.java ├── opscloud-datasource-aliyun-acr ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── acr │ ├── delegate │ ├── AliyunAcrInstanceDelegate.java │ └── AliyunAcrRepositoryDelegate.java │ ├── driver │ ├── AliyunAcrImageDriver.java │ ├── AliyunAcrInstanceDriver.java │ ├── AliyunAcrRepositoryDriver.java │ └── base │ │ └── BaseAliyunAcrDriver.java │ └── entity │ └── AliyunAcr.java ├── opscloud-datasource-aliyun-arms ├── .gitignore ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── arms │ ├── client │ └── AliyunArmsClient.java │ └── driver │ └── AliyunArmsTraceAppDriver.java ├── opscloud-datasource-aliyun-cms ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── cms │ └── driver │ ├── AliyunCmsContactDriver.java │ └── AliyunCmsContactGroupDriver.java ├── opscloud-datasource-aliyun-core ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── core │ ├── AliyunClient.java │ └── SimpleAliyunClient.java ├── opscloud-datasource-aliyun-devops ├── .gitignore ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── devops │ ├── client │ └── AliyunDevopsClient.java │ └── driver │ ├── AliyunDevopsProjectDriver.java │ ├── AliyunDevopsSprintsDriver.java │ └── AliyunDevopsWorkitemsDriver.java ├── opscloud-datasource-aliyun-dms ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── dms │ ├── client │ ├── AliyunDmsClient.java │ └── DmsClient.java │ ├── driver │ ├── AliyunDmsTenantDriver.java │ └── AliyunDmsUserDriver.java │ └── entity │ ├── DmsTenant.java │ └── DmsUser.java ├── opscloud-datasource-aliyun-domain ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── domain │ ├── driver │ └── AliyunDomainDriver.java │ └── entity │ └── AliyunDomain.java ├── opscloud-datasource-aliyun-ecs ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── ecs │ └── driver │ ├── AliyunEcsDriver.java │ ├── AliyunTagDriver.java │ └── AliyunVpcDriver.java ├── opscloud-datasource-aliyun-eventbridge ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── eventbridge │ ├── driver │ └── AliyunEventBridgeHookDriver.java │ ├── entity │ ├── AliyunEventBridgeResult.java │ ├── CloudEvents.java │ └── LeoDeployEvent.java │ ├── feign │ └── AliyunEventBridgeHookFeign.java │ └── provider │ └── AliyunEventBridgeDeployEventProvider.java ├── opscloud-datasource-aliyun-log ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── log │ └── driver │ ├── AliyunLogDriver.java │ ├── AliyunLogMachineGroupDriver.java │ └── base │ └── AbstractAliyunLogDriver.java ├── opscloud-datasource-aliyun-ons ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── ons │ ├── client │ └── AliyunOnsV5Client.java │ ├── constants │ └── OnsMessageTypeConstants.java │ ├── driver │ ├── AliyunOnsGroupV5Driver.java │ ├── AliyunOnsInstanceV5Driver.java │ ├── AliyunOnsRocketMqGroupDriver.java │ ├── AliyunOnsRocketMqInstanceDriver.java │ ├── AliyunOnsRocketMqTopicDriver.java │ └── AliyunOnsTopicV5Driver.java │ └── entity │ ├── OnsGroupV5.java │ ├── OnsInstance.java │ ├── OnsInstanceV5.java │ ├── OnsRocketMqGroup.java │ ├── OnsRocketMqTopic.java │ └── OnsTopicV5.java ├── opscloud-datasource-aliyun-ram ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── ram │ ├── driver │ ├── AliyunRamAccessKeyDriver.java │ ├── AliyunRamPolicyDriver.java │ └── AliyunRamUserDriver.java │ └── entity │ ├── AccessKey.java │ ├── RamPolicy.java │ └── RamUser.java ├── opscloud-datasource-aliyun-rds ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── rds │ ├── driver │ ├── AliyunRdsDatabaseDriver.java │ └── AliyunRdsInstanceDriver.java │ └── entity │ └── AliyunRds.java ├── opscloud-datasource-aliyun-redis ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ └── redis │ ├── driver │ └── AliyunRedisInstanceDriver.java │ └── entity │ └── AliyunRedis.java ├── opscloud-datasource-aliyun ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aliyun │ ├── converter │ ├── ArmsAssetConverter.java │ ├── ComputeAssetConverter.java │ ├── DevopsAssetConverter.java │ ├── DmsAssetConverter.java │ └── VpcAssetConverter.java │ ├── provider │ ├── AliyunAcrInstanceProvider.java │ ├── AliyunAcrNamespaceProvider.java │ ├── AliyunAcrRepositoryProvider.java │ ├── AliyunArmsTraceAppProvider.java │ ├── AliyunDevopsProjectProvider.java │ ├── AliyunDevopsSprintProvider.java │ ├── AliyunDevopsWorkitemProvider.java │ ├── AliyunDmsUserProvider.java │ ├── AliyunDomainProvider.java │ ├── AliyunEcsImageProvider.java │ ├── AliyunEcsProvider.java │ ├── AliyunOnsGroupV5Provider.java │ ├── AliyunOnsInstanceV5Provider.java │ ├── AliyunOnsRocketMqGroupProvider.java │ ├── AliyunOnsRocketMqInstanceProvider.java │ ├── AliyunOnsRocketMqTopicProvider.java │ ├── AliyunOnsTopicV5Provider.java │ ├── AliyunRamAccessKeyProvider.java │ ├── AliyunRamPolicyProvider.java │ ├── AliyunRamUserProvider.java │ ├── AliyunRdsDatabaseProvider.java │ ├── AliyunRdsInstanceProvider.java │ ├── AliyunRedisInstanceProvider.java │ ├── AliyunSecurityGroupProvider.java │ ├── AliyunVSwitchProvider.java │ ├── AliyunVpcProvider.java │ └── push │ │ └── AliyunDmsUserPushHelper.java │ └── util │ └── AliyunRegionIdUtil.java ├── opscloud-datasource-ansible ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── ansible │ ├── GroupingTool.java │ ├── MemberExecutorLog.java │ ├── ServerGroupingAlgorithm.java │ ├── TaskStatus.java │ ├── builder │ ├── AnsibleArgumentsBuilder.java │ ├── AnsibleCommandArgsBuilder.java │ ├── AnsiblePlaybookArgumentsBuilder.java │ └── args │ │ ├── AnsibleCommandArgs.java │ │ ├── AnsiblePlaybookArgs.java │ │ └── IAnsibleArgs.java │ ├── entity │ ├── AnsibleExecuteResult.java │ ├── AnsibleHosts.java │ ├── AnsibleVersion.java │ └── ExecResult.java │ ├── exception │ ├── TaskStopException.java │ └── TaskTimeoutException.java │ ├── executor │ ├── AnsibleExecutor.java │ ├── TaskExecutor.java │ └── TaskExecutorBuilder.java │ ├── play │ ├── AbstractTaskPlayProcessor.java │ ├── ITaskPlayProcessor.java │ ├── PlayOutputMessage.java │ ├── ServerTaskPlayFactory.java │ ├── enums │ │ └── TaskMessageState.java │ ├── impl │ │ └── ServerTaskPlayProcessor.java │ ├── message │ │ ├── ServerTaskPlayMessage.java │ │ └── base │ │ │ └── BasePlayMessage.java │ └── task │ │ └── ServerTaskPlayTask.java │ ├── provider │ ├── AnsibleHostsProvider.java │ ├── AnsibleSetConfigProvider.java │ └── AnsibleVersionProvider.java │ ├── recorder │ └── TaskLogStorehouse.java │ └── task │ └── AnsibleServerTask.java ├── opscloud-datasource-apollo ├── .gitignore ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── apollo │ ├── client │ └── ApolloClient.java │ ├── converter │ └── AppConverter.java │ ├── driver │ ├── ApolloAppDriver.java │ └── ApolloEnvDriver.java │ └── provider │ ├── ApolloAppProvider.java │ └── ApolloInterceptReleaseProvider.java ├── opscloud-datasource-aws-core ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aws │ └── core │ └── helper │ └── AwsCredentialsManager.java ├── opscloud-datasource-aws-ec2 ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aws │ └── ec2 │ ├── driver │ └── AmazonEc2Driver.java │ ├── entity │ └── Ec2Instance.java │ ├── feign │ └── AmazonEc2InstanceFeign.java │ ├── helper │ └── AmazonEc2InstanceTypeHelper.java │ ├── model │ └── InstanceModel.java │ ├── service │ └── AmazonEC2Service.java │ └── util │ └── AmazonEc2Util.java ├── opscloud-datasource-aws-ecr ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aws │ └── ecr │ ├── delegate │ └── AmazonEcrDelegate.java │ ├── driver │ ├── AmazonEcrImageDriver.java │ └── AmazonEcrRepositoryDriver.java │ ├── entity │ └── AmazonEcr.java │ └── service │ └── AmazonEcrService.java ├── opscloud-datasource-aws-iam ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aws │ └── iam │ ├── driver │ ├── AmazonIdentityManagementAccessKeyDriver.java │ ├── AmazonIdentityManagementMFADriver.java │ ├── AmazonIdentityManagementPolicyDriver.java │ └── AmazonIdentityManagementUserDriver.java │ ├── entity │ ├── IamAccessKey.java │ ├── IamPolicy.java │ ├── IamPolicyDocument.java │ └── IamUser.java │ └── service │ └── AmazonIdentityManagementService.java ├── opscloud-datasource-aws-route53 ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aws │ └── domain │ ├── driver │ └── AmazonDomainDriver.java │ ├── entity │ └── AmazonDomain.java │ └── service │ ├── AmazonRoute53DomainsService.java │ └── AmazonRoute53Service.java ├── opscloud-datasource-aws-s3 ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aws │ └── s3 │ ├── driver │ └── AmazonS3Driver.java │ └── service │ └── AmazonS3Service.java ├── opscloud-datasource-aws-sqs ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aws │ └── sqs │ ├── driver │ ├── AmazonSimpleNotificationServiceDriver.java │ └── AmazonSimpleQueueServiceDriver.java │ ├── entity │ ├── SimpleNotificationService.java │ └── SimpleQueueService.java │ └── service │ ├── AmazonSNSService.java │ └── AmazonSQSService.java ├── opscloud-datasource-aws-transfer ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aws │ └── transfer │ ├── driver │ └── AwsTransferDriver.java │ └── service │ └── AwsTransferService.java ├── opscloud-datasource-aws ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── aws │ └── provider │ ├── AwsDomainProvider.java │ ├── AwsEc2Provider.java │ ├── AwsEcrRepositoryProvider.java │ ├── AwsIamAccessKeyProvider.java │ ├── AwsIamPolicyProvider.java │ ├── AwsIamUserProvider.java │ ├── AwsSnsSubscriptionProvider.java │ ├── AwsSnsTopicProvider.java │ └── AwsSqsProvider.java ├── opscloud-datasource-consul ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── consul │ ├── driver │ └── ConsulServiceDriver.java │ ├── entity │ ├── ConsulHealth.java │ └── ConsulService.java │ ├── feign │ └── ConsulServiceV1Feign.java │ └── provider │ └── ConsulServiceProvider.java ├── opscloud-datasource-core ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── core │ ├── InstanceHelper.java │ ├── asset │ ├── IAssetConverter.java │ ├── IToAsset.java │ ├── factory │ │ └── AssetConverterFactory.java │ └── impl │ │ ├── DingtalkUserAssetToUser.java │ │ ├── Ec2AssetToServer.java │ │ ├── EcsAssetToServer.java │ │ ├── HuaweicloudEcsAssetToServer.java │ │ ├── LdapGroupAssetToUserGroup.java │ │ ├── LdapUserAssetToUser.java │ │ ├── ZabbixHostAssetToServer.java │ │ └── base │ │ └── AbstractAssetToBO.java │ ├── comparer │ ├── AssetComparer.java │ └── AssetComparerBuilder.java │ ├── entity │ └── InterceptRelease.java │ ├── exception │ ├── DatasourceConfigException.java │ └── DatasourceProviderException.java │ ├── factory │ ├── AssetProviderFactory.java │ ├── AuthProviderFactory.java │ ├── DsConfigManager.java │ └── SetDsInstanceConfigFactory.java │ ├── model │ ├── Authentication.java │ └── DsInstanceContext.java │ ├── provider │ ├── annotation │ │ ├── ChildProvider.java │ │ └── EnablePullChild.java │ ├── aspect │ │ └── EnablePullChildAspect.java │ ├── asset │ │ ├── AbstractAssetBusinessRelationProvider.java │ │ ├── AbstractAssetChildProvider.java │ │ ├── AbstractAssetRelationProvider.java │ │ └── BaseAssetProvider.java │ ├── auth │ │ └── BaseAuthProvider.java │ └── base │ │ ├── asset │ │ ├── BaseAssetRegisterProvider.java │ │ ├── IAssetBusinessRelation.java │ │ ├── IAssetProvider.java │ │ └── SimpleAssetProvider.java │ │ ├── auth │ │ ├── IAuthenticationProvider.java │ │ └── SimpleAuthenticationProvider.java │ │ └── common │ │ ├── AbstractSetDsInstanceConfigProvider.java │ │ ├── ISetDsInstanceConfig.java │ │ ├── ITargetProvider.java │ │ └── SimpleDsInstanceProvider.java │ └── util │ ├── AssetUtil.java │ ├── DingtalkUtil.java │ ├── SystemEnvUtil.java │ ├── TemplateUtil.java │ ├── TimeUtil.java │ └── enums │ └── TimeZoneEnum.java ├── opscloud-datasource-dingtalk ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── dingtalk │ ├── driver │ ├── DingtalkDepartmentDriver.java │ ├── DingtalkMessageDriver.java │ ├── DingtalkTokenDriver.java │ └── DingtalkUserDriver.java │ ├── entity │ ├── DingtalkDepartment.java │ ├── DingtalkMessage.java │ ├── DingtalkResponse.java │ ├── DingtalkToken.java │ └── DingtalkUser.java │ ├── feign │ ├── DingtalkDepartmentFeign.java │ ├── DingtalkMessageFeign.java │ ├── DingtalkTokenFeign.java │ └── DingtalkUserFeign.java │ ├── param │ ├── DingtalkDepartmentParam.java │ ├── DingtalkMessageParam.java │ └── DingtalkUserParam.java │ └── provider │ ├── DingtalkDepartmentProvider.java │ ├── DingtalkUserProvider.java │ └── base │ └── AbstractDingtalkAssetProvider.java ├── opscloud-datasource-gitlab ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── gitlab │ ├── client │ └── GitLabApiBuilder.java │ ├── converter │ └── GitLabAssetConverter.java │ ├── driver │ ├── GitLabExampleDriver.java │ ├── GitLabGroupDriver.java │ ├── GitLabProjectDriver.java │ ├── GitLabRepositoryDriver.java │ ├── GitLabSshKeyDriver.java │ └── GitLabUserDriver.java │ ├── entity │ └── GitLabSshKey.java │ ├── factory │ └── GitLabApiFactory.java │ ├── feign │ └── GitLabUserFeign.java │ └── provider │ ├── GitLabGroupProvider.java │ ├── GitLabProjectProvider.java │ ├── GitLabSshKeyProvider.java │ └── GitLabUserProvider.java ├── opscloud-datasource-google-cloud-core ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── google │ └── cloud │ └── core │ └── client │ └── GoogleCloudClient.java ├── opscloud-datasource-google-cloud-iam └── pom.xml ├── opscloud-datasource-google-cloud └── pom.xml ├── opscloud-datasource-huaweicloud-core └── pom.xml ├── opscloud-datasource-huaweicloud-ecs ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── huaweicloud │ └── ecs │ ├── driver │ ├── HuaweicloudEcsDriver.java │ └── HuaweicloudVpcDriver.java │ ├── entity │ └── HuaweicloudEcs.java │ └── util │ └── HuaweicloudProjectUtil.java ├── opscloud-datasource-huaweicloud ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── huaweicloud │ └── provider │ └── HuaweicloudEcsProvider.java ├── opscloud-datasource-jenkins ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── jenkins │ ├── JenkinsServer.java │ ├── JenkinsTriggerHelper.java │ ├── client │ ├── JenkinsHttpClient.java │ ├── JenkinsHttpConnection.java │ ├── PreemptiveAuth.java │ ├── util │ │ ├── EncodingUtils.java │ │ ├── RequestReleasingInputStream.java │ │ ├── ResponseUtils.java │ │ └── UrlUtils.java │ └── validator │ │ └── HttpResponseValidator.java │ ├── converter │ └── JenkinsAssetConverter.java │ ├── driver │ ├── JenkinsJobDriver.java │ ├── JenkinsServerDriver.java │ └── JenkinsUserDriver.java │ ├── engine │ ├── JenkinsBuildExecutorHelper.java │ └── impl │ │ └── JenkinsBuildExecutorHelperImpl.java │ ├── entity │ ├── JenkinsJob.java │ ├── JenkinsPipeline.java │ └── JenkinsUser.java │ ├── feign │ ├── JenkinsPipelineFeign.java │ └── JenkinsUserFeign.java │ ├── helper │ ├── BuildConsoleStreamListener.java │ ├── ComparableVersion.java │ ├── FunctionalHelper.java │ ├── JenkinsVersion.java │ └── Range.java │ ├── message │ └── SimpleMessage.java │ ├── model │ ├── AllBuilds.java │ ├── AllMavenBuilds.java │ ├── Artifact.java │ ├── BaseModel.java │ ├── Build.java │ ├── BuildCause.java │ ├── BuildChangeSet.java │ ├── BuildChangeSetAuthor.java │ ├── BuildChangeSetItem.java │ ├── BuildChangeSetPath.java │ ├── BuildResult.java │ ├── BuildWithDetails.java │ ├── CauseAction.java │ ├── Computer.java │ ├── ComputerLabel.java │ ├── ComputerSet.java │ ├── ComputerWithDetails.java │ ├── ConsoleLog.java │ ├── Crumb.java │ ├── Executable.java │ ├── Executor.java │ ├── ExtractHeader.java │ ├── FolderJob.java │ ├── HourMinSec10.java │ ├── JacocoCoverageReport.java │ ├── JacocoCoverageResult.java │ ├── JenkinsConsoleLog.java │ ├── Job.java │ ├── JobConfiguration.java │ ├── JobWithDetails.java │ ├── LabelWithDetails.java │ ├── LoadStatistics.java │ ├── MainView.java │ ├── MavenArtifact.java │ ├── MavenBuild.java │ ├── MavenJob.java │ ├── MavenJobWithDetails.java │ ├── MavenModule.java │ ├── MavenModuleRecord.java │ ├── MavenModuleWithDetails.java │ ├── OfflineCause.java │ ├── ParameterDefinitions.java │ ├── ParametersDefinitionProperty.java │ ├── Plugin.java │ ├── PluginDependency.java │ ├── PluginManager.java │ ├── Queue.java │ ├── QueueItem.java │ ├── QueueItemActions.java │ ├── QueueReference.java │ ├── QueueTask.java │ ├── Statis.java │ ├── StringParameterDefinition.java │ ├── TestCase.java │ ├── TestChild.java │ ├── TestChildReport.java │ ├── TestReport.java │ ├── TestResult.java │ ├── TestSuites.java │ └── View.java │ ├── provider │ ├── JenkinsComputerProvider.java │ └── JenkinsTemplateProvider.java │ ├── server │ └── JenkinsServerBuilder.java │ ├── status │ └── JenkinsBuildExecutorStatusVO.java │ ├── task │ └── WatchJenkinsBuildExecutorTask.java │ └── util │ ├── ComputerNameUtil.java │ └── JenkinsAuthUtil.java ├── opscloud-datasource-kubernetes ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── kubernetes │ ├── client │ ├── MyKubernetesClientBuilder.java │ ├── istio │ │ ├── IstioClientBuilder.java │ │ └── IstioClientFactory.java │ └── provider │ │ ├── AmazonEksProvider.java │ │ ├── DefaultKubernetesProvider.java │ │ └── eks │ │ └── AmazonEksGenerator.java │ ├── converter │ ├── DeploymentAssetConverter.java │ ├── DestinationRuleConverter.java │ ├── IngressAssetConverter.java │ ├── NamespaceAssetConverter.java │ ├── NodeAssetConverter.java │ ├── PodAssetConverter.java │ ├── ServiceAssetConverter.java │ └── VirtualServiceConverter.java │ ├── driver │ ├── IstioDestinationRuleDriver.java │ ├── IstioEnvoyFilterDriver.java │ ├── IstioVirtualServiceDriver.java │ ├── KubernetesCustomResourceDriver.java │ ├── KubernetesDeploymentDriver.java │ ├── KubernetesIngressDriver.java │ ├── KubernetesNamespaceDriver.java │ ├── KubernetesNodeDriver.java │ ├── KubernetesPodDriver.java │ ├── KubernetesServiceDriver.java │ └── KubernetesTestDriver.java │ ├── event │ ├── KubernetesPodWatch.java │ └── KubernetesWatchEvent.java │ ├── exception │ ├── KubernetesDeploymentException.java │ └── KubernetesException.java │ ├── handler │ └── KubernetesPodHandler.java │ ├── model │ └── ContainerBO.java │ ├── provider │ ├── IstioDestinationRuleProvider.java │ ├── IstioVirtualServiceProvider.java │ ├── KubernetesDeploymentProvider.java │ ├── KubernetesIngressProvider.java │ ├── KubernetesNamespaceProvider.java │ ├── KubernetesNodeProvider.java │ ├── KubernetesPodProvider.java │ ├── KubernetesServiceProvider.java │ └── KubernetesSetConfigProvider.java │ └── util │ └── KubeUtil.java ├── opscloud-datasource-ldap ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── ldap │ ├── driver │ └── LdapDriver.java │ ├── entity │ ├── LdapGroup.java │ └── LdapPerson.java │ ├── factory │ └── LdapFactory.java │ ├── mapper │ ├── GroupAttributesMapper.java │ └── PersonAttributesMapper.java │ ├── provider │ ├── LdapAuthProvider.java │ ├── LdapGroupProvider.java │ └── LdapUserProvider.java │ ├── repo │ ├── GroupRepo.java │ ├── PersonRepo.java │ └── impl │ │ ├── GroupRepoImpl.java │ │ └── PersonRepoImpl.java │ └── util │ └── LdapUtil.java ├── opscloud-datasource-lxhl ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── lxhl │ ├── driver │ └── MessageServiceDriver.java │ └── feign │ └── MessageServiceFeign.java ├── opscloud-datasource-message ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── message │ ├── AliyunSmsResponse.java │ ├── AliyunVmsResponse.java │ ├── DingtalkMsg.java │ ├── LXHLMessageResponse.java │ ├── consumer │ ├── IMessageConsumer.java │ ├── MessageConsumerFactory.java │ ├── base │ │ └── AbstractMessageConsumer.java │ └── impl │ │ └── DingtalkAppMessageConsumer.java │ ├── driver │ ├── AliyunSmsDriver.java │ ├── AliyunVmsDriver.java │ └── LXHLMessageDriver.java │ ├── feign │ └── DingtalkRobotSendFeign.java │ └── notice │ ├── DingtalkSendHelper.java │ └── NoticeHelper.java ├── opscloud-datasource-metersphere ├── .gitignore ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── metersphere │ ├── driver │ ├── MeterSphereBuildHookDriver.java │ └── MeterSphereDeployHookDriver.java │ ├── entity │ ├── LeoBuildHook.java │ ├── LeoDeployHook.java │ └── LeoHookResult.java │ ├── feign │ └── MeterSphereHookV1Feign.java │ └── provider │ ├── MeterSphereBuildHookProvider.java │ └── MeterSphereDeployHookProvider.java ├── opscloud-datasource-nacos ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── nacos │ ├── driver │ ├── NacosAuthDriver.java │ └── NacosClusterDriver.java │ ├── entity │ ├── NacosCluster.java │ ├── NacosLogin.java │ ├── NacosPermission.java │ ├── NacosRole.java │ ├── NacosUser.java │ └── base │ │ └── BasePage.java │ ├── feign │ ├── NacosAuthV1Feign.java │ └── NacosClusterV1Feign.java │ ├── param │ ├── NacosClusterParam.java │ └── NacosPageParam.java │ └── provider │ ├── NacosClusterNodeProvider.java │ ├── NacosPermissionProvider.java │ └── NacosUserProvider.java ├── opscloud-datasource-nexus ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── nexus │ ├── driver │ ├── NexusAssetDriver.java │ ├── NexusComponentDriver.java │ ├── NexusRepositoryDriver.java │ └── NexusSearchDriver.java │ ├── entity │ ├── NexusAsset.java │ ├── NexusComponent.java │ └── NexusRepository.java │ ├── feign │ ├── NexusAssetsV1Feign.java │ ├── NexusComponentsV1Feign.java │ ├── NexusRepositoriesV1Feign.java │ └── NexusSearchV1Feign.java │ ├── param │ ├── IContinuationToken.java │ └── SearchParam.java │ └── provider │ └── NexusAssetProvider.java ├── opscloud-datasource-sonar ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ └── sonar │ ├── driver │ ├── SonarComponentsDriver.java │ ├── SonarMeasuresDriver.java │ ├── SonarProjectTagsDriver.java │ └── SonarProjectsDriver.java │ ├── entity │ ├── SonarComponents.java │ ├── SonarMeasures.java │ ├── SonarProjects.java │ ├── SonarQubeVO.java │ └── base │ │ └── BaseSonarElement.java │ ├── enums │ └── QualifierEnum.java │ ├── feign │ ├── SonarComponentsFeign.java │ ├── SonarMeasuresFeign.java │ ├── SonarProjectTagsFeign.java │ └── SonarProjectsFeign.java │ ├── param │ ├── PagingParam.java │ ├── SonarQubeParamMap.java │ └── SonarQubeRequestBuilder.java │ └── provider │ └── SonarProjectProvider.java ├── opscloud-datasource-tencent-exmail ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── tencent │ └── exmail │ ├── driver │ ├── TencentExmailTokenDriver.java │ └── TencentExmailUserDriver.java │ ├── entity │ ├── ExmailDept.java │ ├── ExmailDeptList.java │ ├── ExmailGroup.java │ ├── ExmailToken.java │ ├── ExmailUser.java │ └── base │ │ └── BaseExmailResult.java │ ├── feign │ ├── TencentExmailTokenFeign.java │ └── TencentExmailUserFeign.java │ ├── param │ └── ExmailParam.java │ └── provider │ └── TencentExmailUserProvider.java ├── opscloud-datasource-zabbix ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── zabbix │ ├── ConditionsBuilder.java │ ├── ZabbixUtil.java │ ├── constant │ ├── ConditionType.java │ ├── OperatorType.java │ └── SeverityType.java │ ├── helper │ ├── ZabbixGroupHelper.java │ └── impl │ │ └── ZabbixGroupHelperImpl.java │ ├── mapper │ └── ZabbixMapper.java │ ├── provider │ ├── ZabbixHostGroupProvider.java │ ├── ZabbixHostProvider.java │ ├── ZabbixHostTargetTemplateProvider.java │ ├── ZabbixHostTargetTriggerProvider.java │ ├── ZabbixTemplateProvider.java │ ├── ZabbixTriggerProvider.java │ ├── ZabbixUserGroupProvider.java │ ├── ZabbixUserProvider.java │ └── base │ │ └── AbstractZabbixHostProvider.java │ └── v5 │ ├── driver │ ├── ZabbixV5ActionDriver.java │ ├── ZabbixV5HostDriver.java │ ├── ZabbixV5HostGroupDriver.java │ ├── ZabbixV5HostMacroDriver.java │ ├── ZabbixV5HostTagDriver.java │ ├── ZabbixV5ProblemDriver.java │ ├── ZabbixV5ProxyDriver.java │ ├── ZabbixV5TemplateDriver.java │ ├── ZabbixV5TriggerDriver.java │ ├── ZabbixV5UserDriver.java │ ├── ZabbixV5UserGroupDriver.java │ └── base │ │ ├── AbstractZabbixV5ActionDriver.java │ │ ├── AbstractZabbixV5ProxyDriver.java │ │ ├── AbstractZabbixV5UserDriver.java │ │ ├── AbstractZabbixV5UserGroupDriver.java │ │ ├── SimpleZabbixAuthHolder.java │ │ └── SimpleZabbixV5HostDriver.java │ ├── entity │ ├── ZabbixAction.java │ ├── ZabbixHost.java │ ├── ZabbixHostGroup.java │ ├── ZabbixLogin.java │ ├── ZabbixMedia.java │ ├── ZabbixProblem.java │ ├── ZabbixProxy.java │ ├── ZabbixTemplate.java │ ├── ZabbixTrigger.java │ ├── ZabbixUser.java │ ├── ZabbixUserGroup.java │ └── base │ │ └── ZabbixResponse.java │ ├── feign │ ├── ZabbixActionFeign.java │ ├── ZabbixHostFeign.java │ ├── ZabbixHostGroupFeign.java │ ├── ZabbixLoginFeign.java │ ├── ZabbixProblemFeign.java │ ├── ZabbixProxyFeign.java │ ├── ZabbixTemplateFeign.java │ ├── ZabbixTriggerFeign.java │ ├── ZabbixUserFeign.java │ ├── ZabbixUserGroupFeign.java │ └── constant │ │ └── ZabbixConstant.java │ ├── param │ ├── LoginParam.java │ ├── ZabbixActionParam.java │ └── ZabbixHostParam.java │ └── request │ ├── ZabbixRequest.java │ └── builder │ ├── ZabbixFilterBuilder.java │ └── ZabbixRequestBuilder.java ├── opscloud-datasource ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── datasource │ ├── IManagerProvider.java │ ├── business │ ├── account │ │ ├── AccountGroupHandlerFactory.java │ │ ├── AccountHandlerFactory.java │ │ ├── IAccount.java │ │ ├── IAccountGroup.java │ │ ├── converter │ │ │ └── AccountConverter.java │ │ ├── impl │ │ │ ├── GitLabAccountHandler.java │ │ │ ├── IamAccountHandler.java │ │ │ ├── LdapAccountGroupHandler.java │ │ │ ├── LdapAccountHandler.java │ │ │ ├── RamAccountHandler.java │ │ │ ├── ZabbixAccountHandler.java │ │ │ └── base │ │ │ │ ├── AbstractAccountGroupHandler.java │ │ │ │ ├── AbstractAccountHandler.java │ │ │ │ └── AbstractZabbixAccountHandler.java │ │ └── util │ │ │ └── ZabbixMediaUtil.java │ └── server │ │ ├── IServer.java │ │ ├── IServerGroup.java │ │ ├── factory │ │ ├── ServerGroupHandlerFactory.java │ │ └── ServerHandlerFactory.java │ │ ├── impl │ │ ├── ZabbixHostServerHandler.java │ │ ├── ZabbixServerGroupHandler.java │ │ └── base │ │ │ ├── AbstractServerGroupHandler.java │ │ │ ├── AbstractZabbixHostServerHandler.java │ │ │ └── BaseServerHandler.java │ │ └── util │ │ ├── HostParamUtil.java │ │ └── ZabbixTemplateUtil.java │ ├── facade │ ├── DsInstanceFacade.java │ ├── UserAmFacade.java │ ├── am │ │ ├── AbstractAccessManagementProcessor.java │ │ ├── IdentityAndAccessManagementProcessor.java │ │ ├── MFADelegate.java │ │ ├── ResourceAccessManagementProcessor.java │ │ └── base │ │ │ └── IAccessManagementProcessor.java │ └── impl │ │ └── DsInstanceFacadeImpl.java │ ├── manager │ ├── DsAccountGroupManager.java │ ├── DsAccountManager.java │ ├── DsAuthManager.java │ ├── DsServerGroupManager.java │ ├── DsServerManager.java │ ├── ZabbixInstanceManager.java │ └── base │ │ ├── BaseManager.java │ │ ├── IManager.java │ │ └── NoticeManager.java │ └── packer │ └── DsInstancePacker.java ├── opscloud-domain ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── domain │ ├── BusinessWrapper.java │ ├── DataTable.java │ ├── ErrorEnum.java │ ├── alert │ ├── AlertContext.java │ ├── AlertNotifyMedia.java │ ├── AlertRuleMatchExpression.java │ └── Metadata.java │ ├── annotation │ ├── ApplicationResType.java │ ├── AssetBusinessRelation.java │ ├── AssetBusinessUnbindRelation.java │ ├── AssetType.java │ ├── BusinessObjectClear.java │ ├── BusinessType.java │ ├── Decrypt.java │ ├── DesensitizedField.java │ ├── DesensitizedMethod.java │ ├── Encrypt.java │ ├── InstanceHealth.java │ ├── PermitEmptyPasswords.java │ ├── ProjectResType.java │ ├── RevokeUserPermission.java │ └── TagClear.java │ ├── base │ ├── BaseBusiness.java │ ├── BaseProjectResource.java │ ├── IAllowOrder.java │ ├── IAppResType.java │ ├── IAssetType.java │ ├── IInstanceAsset.java │ ├── IInstanceType.java │ ├── IProjectResType.java │ ├── IRecover.java │ └── SimpleBusiness.java │ ├── builder │ └── asset │ │ ├── AssetContainer.java │ │ └── AssetContainerBuilder.java │ ├── constants │ ├── ApplicationResTypeEnum.java │ ├── BusinessPropertyConstants.java │ ├── BusinessTypeEnum.java │ ├── DeployTypeConstants.java │ ├── DsAssetKindConstants.java │ ├── DsAssetTypeConstants.java │ ├── EventActionTypeEnum.java │ ├── FrontEndTypeConstants.java │ ├── ProjectResTypeEnum.java │ ├── SensitiveTypeEnum.java │ ├── SerDeploySubTaskConstants.java │ ├── TagConstants.java │ └── VersionTypeConstants.java │ ├── generator │ └── opscloud │ │ ├── AccessToken.java │ │ ├── AlertNotifyEvent.java │ │ ├── AlertNotifyHistory.java │ │ ├── AliyunLog.java │ │ ├── AliyunLogMember.java │ │ ├── Announcement.java │ │ ├── AnsiblePlaybook.java │ │ ├── Application.java │ │ ├── ApplicationResource.java │ │ ├── AuditApi.java │ │ ├── AuthGroup.java │ │ ├── AuthMenu.java │ │ ├── AuthPlatform.java │ │ ├── AuthPlatformLog.java │ │ ├── AuthResource.java │ │ ├── AuthRole.java │ │ ├── AuthRoleMenu.java │ │ ├── AuthRoleResource.java │ │ ├── AuthUserRole.java │ │ ├── BusinessAssetRelation.java │ │ ├── BusinessDocument.java │ │ ├── BusinessProperty.java │ │ ├── BusinessRelation.java │ │ ├── BusinessTag.java │ │ ├── BusinessTemplate.java │ │ ├── Credential.java │ │ ├── DatasourceConfig.java │ │ ├── DatasourceInstance.java │ │ ├── DatasourceInstanceAsset.java │ │ ├── DatasourceInstanceAssetProperty.java │ │ ├── DatasourceInstanceAssetRelation.java │ │ ├── DatasourceInstanceAssetSubscription.java │ │ ├── Document.java │ │ ├── DocumentZone.java │ │ ├── Env.java │ │ ├── Event.java │ │ ├── EventBusiness.java │ │ ├── Instance.java │ │ ├── LeoBuild.java │ │ ├── LeoBuildImage.java │ │ ├── LeoBuildLog.java │ │ ├── LeoDeploy.java │ │ ├── LeoDeployLog.java │ │ ├── LeoJob.java │ │ ├── LeoRule.java │ │ ├── LeoTemplate.java │ │ ├── Menu.java │ │ ├── MenuChild.java │ │ ├── MessageTemplate.java │ │ ├── Nav.java │ │ ├── PlatformNotifyHistory.java │ │ ├── Project.java │ │ ├── ProjectResource.java │ │ ├── SerDeploySubtask.java │ │ ├── SerDeploySubtaskCallback.java │ │ ├── SerDeployTask.java │ │ ├── SerDeployTaskItem.java │ │ ├── Server.java │ │ ├── ServerAccount.java │ │ ├── ServerAccountPermission.java │ │ ├── ServerGroup.java │ │ ├── ServerGroupType.java │ │ ├── ServerTask.java │ │ ├── ServerTaskMember.java │ │ ├── SysAnnouncement.java │ │ ├── Tag.java │ │ ├── Template.java │ │ ├── TerminalSession.java │ │ ├── TerminalSessionInstance.java │ │ ├── TerminalSessionInstanceCommand.java │ │ ├── User.java │ │ ├── UserCredential.java │ │ ├── UserGroup.java │ │ ├── UserPermission.java │ │ ├── UserProfile.java │ │ ├── UserToken.java │ │ ├── WorkEvent.java │ │ ├── WorkEventProperty.java │ │ ├── WorkItem.java │ │ ├── WorkOrder.java │ │ ├── WorkOrderGroup.java │ │ ├── WorkOrderTicket.java │ │ ├── WorkOrderTicketEntry.java │ │ ├── WorkOrderTicketNode.java │ │ ├── WorkOrderTicketSubscriber.java │ │ └── WorkRole.java │ ├── hook │ └── leo │ │ └── LeoHook.java │ ├── model │ ├── Authorization.java │ ├── SshCredential.java │ ├── WorkOrderToken.java │ ├── message │ │ ├── ILoginMessage.java │ │ ├── ISessionType.java │ │ ├── IState.java │ │ ├── ITerminalSize.java │ │ ├── KubernetesDeploymentMessage.java │ │ └── SimpleState.java │ └── property │ │ ├── ApplicationProperty.java │ │ └── ServerProperty.java │ ├── notice │ ├── INoticeMessage.java │ └── message │ │ ├── CreateIamUserMessage.java │ │ ├── CreateRamUserMessage.java │ │ ├── UpdateIamLoginProfileMessage.java │ │ └── UpdateRamLoginProfileMessage.java │ ├── param │ ├── IExtend.java │ ├── IFilterTag.java │ ├── IRelation.java │ ├── PageParam.java │ ├── SimpleExtend.java │ ├── SimpleRelation.java │ ├── SuperPageParam.java │ ├── ansible │ │ └── AnsiblePlaybookParam.java │ ├── apollo │ │ └── ApolloParam.java │ ├── application │ │ ├── ApplicationParam.java │ │ ├── ApplicationResourceOperationParam.java │ │ └── ApplicationResourceParam.java │ ├── auth │ │ ├── AuthGroupParam.java │ │ ├── AuthPlatformParam.java │ │ ├── AuthResourceParam.java │ │ ├── AuthRoleParam.java │ │ ├── AuthRoleResourceParam.java │ │ ├── AuthUserRoleParam.java │ │ ├── IAuthPlatform.java │ │ └── LoginParam.java │ ├── datasource │ │ ├── AliyunLogMemberParam.java │ │ ├── AliyunLogParam.java │ │ ├── DsAccountGroupParam.java │ │ ├── DsAccountParam.java │ │ ├── DsAssetParam.java │ │ ├── DsAssetSubscriptionParam.java │ │ ├── DsConfigParam.java │ │ ├── DsCustomAssetParam.java │ │ ├── DsInstanceParam.java │ │ └── DsInstanceScheduleParam.java │ ├── event │ │ └── EventParam.java │ ├── guacamole │ │ └── GuacamoleParam.java │ ├── kubernetes │ │ ├── BaseKubernetesParam.java │ │ ├── KubernetesIngressParam.java │ │ ├── KubernetesIstioParam.java │ │ ├── KubernetesParam.java │ │ └── KubernetesServiceParam.java │ ├── leo │ │ ├── LeoBuildParam.java │ │ ├── LeoBuildPipelineParam.java │ │ ├── LeoDeployParam.java │ │ ├── LeoJobParam.java │ │ ├── LeoMonitorParam.java │ │ ├── LeoRuleParam.java │ │ ├── LeoTemplateParam.java │ │ └── request │ │ │ ├── ILeoRequestParam.java │ │ │ ├── LoginLeoRequestParam.java │ │ │ ├── QueryLeoBuildConsoleStreamRequestParam.java │ │ │ ├── SimpleLeoRequestParam.java │ │ │ ├── SubscribeLeoBuildRequestParam.java │ │ │ ├── SubscribeLeoDeployDetailsRequestParam.java │ │ │ ├── SubscribeLeoDeployRequestParam.java │ │ │ ├── SubscribeLeoDeploymentVersionDetailsRequestParam.java │ │ │ ├── SubscribeLeoJobRequestParam.java │ │ │ └── type │ │ │ └── LeoRequestType.java │ ├── message │ │ └── MessageParam.java │ ├── notify │ │ └── gitlab │ │ │ └── GitLabNotifyParam.java │ ├── project │ │ ├── ProjectParam.java │ │ └── ProjectResourceParam.java │ ├── report │ │ └── ApolloReportParam.java │ ├── ser │ │ └── SerDeployParam.java │ ├── server │ │ ├── ServerAccountParam.java │ │ ├── ServerGroupParam.java │ │ ├── ServerGroupTypeParam.java │ │ ├── ServerParam.java │ │ ├── ServerTaskExecutorParam.java │ │ ├── SeverGroupPropertyParam.java │ │ └── business │ │ │ ├── BusinessDocumentParam.java │ │ │ └── BusinessPropertyParam.java │ ├── sls │ │ └── SlsParam.java │ ├── sys │ │ ├── CredentialParam.java │ │ ├── DocumentParam.java │ │ ├── EnvParam.java │ │ ├── MenuParam.java │ │ └── RegisteredInstanceParam.java │ ├── tag │ │ ├── BusinessTagParam.java │ │ └── TagParam.java │ ├── task │ │ └── ServerTaskParam.java │ ├── template │ │ ├── BusinessTemplateParam.java │ │ ├── MessageTemplateParam.java │ │ └── TemplateParam.java │ ├── terminal │ │ ├── TerminalSessionInstanceCommandParam.java │ │ └── TerminalSessionParam.java │ ├── user │ │ ├── AccessTokenParam.java │ │ ├── UserAmParam.java │ │ ├── UserBusinessGroupParam.java │ │ ├── UserBusinessPermissionParam.java │ │ ├── UserCredentialParam.java │ │ ├── UserGroupParam.java │ │ ├── UserParam.java │ │ └── UserSettingParam.java │ ├── workevent │ │ └── WorkEventParam.java │ └── workorder │ │ ├── WorkOrderGroupParam.java │ │ ├── WorkOrderParam.java │ │ ├── WorkOrderTicketEntryParam.java │ │ └── WorkOrderTicketParam.java │ ├── util │ ├── GitFlowUtil.java │ └── ObjectUtil.java │ └── vo │ ├── ansible │ └── AnsiblePlaybookVO.java │ ├── application │ ├── ApplicationResourceVO.java │ └── ApplicationVO.java │ ├── auth │ ├── AuthGroupVO.java │ ├── AuthMenuVO.java │ ├── AuthPlatformVO.java │ ├── AuthResourceVO.java │ ├── AuthRoleResourceVO.java │ ├── AuthRoleVO.java │ ├── LogVO.java │ ├── UserRoleVO.java │ └── menu │ │ ├── MenuChildrenVO.java │ │ └── MenuVO.java │ ├── base │ ├── BaseVO.java │ ├── ISecret.java │ ├── ReadableTime.java │ └── ReportVO.java │ ├── business │ ├── BusinessAssetRelationVO.java │ ├── BusinessDocumentVO.java │ ├── BusinessPropertyVO.java │ ├── BusinessRelationVO.java │ └── IBusinessPermissionUser.java │ ├── common │ ├── IHeartbeat.java │ ├── OptionsVO.java │ └── TreeVO.java │ ├── datasource │ ├── DsAssetSubscriptionVO.java │ ├── DsAssetVO.java │ ├── DsConfigVO.java │ ├── DsInstanceVO.java │ ├── DsLoginAssetVO.java │ ├── ScheduleVO.java │ ├── aliyun │ │ ├── AliyunLogMemberVO.java │ │ └── AliyunLogVO.java │ └── report │ │ └── ApolloReportVO.java │ ├── env │ └── EnvVO.java │ ├── event │ └── EventVO.java │ ├── example │ └── ExampleVO.java │ ├── finops │ └── KubernetesFinOpsVO.java │ ├── jenkins │ ├── JenkinsJobVO.java │ ├── JenkinsPipelineVO.java │ └── JobTplVO.java │ ├── leo │ ├── LeoBuildPipelineVO.java │ ├── LeoBuildVO.java │ ├── LeoDeployVO.java │ ├── LeoDeployingVO.java │ ├── LeoJobVO.java │ ├── LeoJobVersionVO.java │ ├── LeoLogVO.java │ ├── LeoReportVO.java │ ├── LeoRuleVO.java │ └── LeoTemplateVO.java │ ├── project │ ├── ProjectResourceVO.java │ └── ProjectVO.java │ ├── ser │ └── SerDeployVO.java │ ├── server │ ├── ServerAccountVO.java │ ├── ServerGroupTypeVO.java │ ├── ServerGroupVO.java │ ├── ServerTreeVO.java │ └── ServerVO.java │ ├── sys │ ├── AnnouncementVO.java │ ├── CredentialVO.java │ ├── DocumentVO.java │ ├── InstanceVO.java │ ├── MenuVO.java │ ├── NavVO.java │ └── SystemVO.java │ ├── tag │ ├── BusinessTagVO.java │ └── TagVO.java │ ├── task │ ├── ServerTaskMemberVO.java │ └── ServerTaskVO.java │ ├── template │ ├── BusinessTemplateVO.java │ ├── MessageTemplateVO.java │ └── TemplateVO.java │ ├── terminal │ ├── TerminalReportVO.java │ ├── TerminalSessionInstanceCommandVO.java │ ├── TerminalSessionInstanceVO.java │ └── TerminalSessionVO.java │ ├── user │ ├── AccessManagementVO.java │ ├── AccessTokenVO.java │ ├── UIVO.java │ ├── UserCredentialVO.java │ ├── UserGroupVO.java │ ├── UserPermissionVO.java │ ├── UserProfileVO.java │ ├── UserVO.java │ └── mfa │ │ └── MfaVO.java │ ├── workevent │ ├── WorkEventReportVO.java │ └── WorkEventVO.java │ └── workorder │ ├── SimpleApprover.java │ ├── WorkOrderNodeVO.java │ ├── WorkOrderReportVO.java │ ├── WorkOrderTicketVO.java │ ├── WorkOrderVO.java │ ├── WorkOrderViewVO.java │ └── WorkflowVO.java ├── opscloud-event ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── event │ ├── IEventHandler.java │ ├── alert │ └── AlertHandler.java │ ├── converter │ └── EventConverter.java │ ├── enums │ └── EventTypeEnum.java │ ├── factory │ └── EventFactory.java │ └── handler │ ├── ZabbixEventHandler.java │ └── base │ └── AbstractEventHandler.java ├── opscloud-guacamole ├── pom.xml └── src │ └── main │ └── java │ ├── com │ └── baiyi │ │ └── opscloud │ │ └── guacamole │ │ ├── protocol │ │ ├── GuacamoleProtocolFactory.java │ │ ├── IGuacamoleProtocol.java │ │ └── impl │ │ │ ├── AbstractGuacamoleProtocol.java │ │ │ ├── RdpProtocol.java │ │ │ └── VncProtocol.java │ │ └── tunnel │ │ └── BaseGuacamoleTunnel.java │ └── org │ └── apache │ └── guacamole │ ├── GuacamoleClientBadTypeException.java │ ├── GuacamoleClientException.java │ ├── GuacamoleClientOverrunException.java │ ├── GuacamoleClientTimeoutException.java │ ├── GuacamoleClientTooManyException.java │ ├── GuacamoleConnectionClosedException.java │ ├── GuacamoleException.java │ ├── GuacamoleResourceClosedException.java │ ├── GuacamoleResourceConflictException.java │ ├── GuacamoleResourceNotFoundException.java │ ├── GuacamoleSecurityException.java │ ├── GuacamoleServerBusyException.java │ ├── GuacamoleServerException.java │ ├── GuacamoleSessionClosedException.java │ ├── GuacamoleSessionConflictException.java │ ├── GuacamoleSessionTimeoutException.java │ ├── GuacamoleUnauthorizedException.java │ ├── GuacamoleUnsupportedException.java │ ├── GuacamoleUpstreamException.java │ ├── GuacamoleUpstreamNotFoundException.java │ ├── GuacamoleUpstreamTimeoutException.java │ ├── GuacamoleUpstreamUnavailableException.java │ ├── io │ ├── GuacamoleReader.java │ ├── GuacamoleWriter.java │ ├── ReaderGuacamoleReader.java │ ├── WriterGuacamoleWriter.java │ └── package-info.java │ ├── net │ ├── AbstractGuacamoleTunnel.java │ ├── DelegatingGuacamoleSocket.java │ ├── DelegatingGuacamoleTunnel.java │ ├── GuacamoleSocket.java │ ├── GuacamoleTunnel.java │ ├── InetGuacamoleSocket.java │ ├── SSLGuacamoleSocket.java │ ├── SimpleGuacamoleTunnel.java │ └── package-info.java │ ├── package-info.java │ ├── protocol │ ├── ConfiguredGuacamoleSocket.java │ ├── FailoverGuacamoleSocket.java │ ├── FilteredGuacamoleReader.java │ ├── FilteredGuacamoleSocket.java │ ├── FilteredGuacamoleWriter.java │ ├── GuacamoleClientInformation.java │ ├── GuacamoleConfiguration.java │ ├── GuacamoleFilter.java │ ├── GuacamoleInstruction.java │ ├── GuacamoleParser.java │ ├── GuacamoleProtocolCapability.java │ ├── GuacamoleProtocolVersion.java │ ├── GuacamoleStatus.java │ └── package-info.java │ ├── servlet │ ├── GuacamoleHTTPTunnel.java │ ├── GuacamoleHTTPTunnelMap.java │ ├── GuacamoleHTTPTunnelServlet.java │ └── package-info.java │ └── websocket │ └── GuacamoleWebSocketTunnelEndpoint.java ├── opscloud-kubernetes-terminal ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── kubernetes │ └── terminal │ ├── factory │ └── KubernetesTerminalMessageHandlerFactory.java │ └── handler │ ├── AbstractKubernetesTerminalMessageHandler.java │ └── impl │ ├── KubernetesTerminalBatchCommandHandler.java │ ├── KubernetesTerminalCloseHandler.java │ ├── KubernetesTerminalCommandHandler.java │ ├── KubernetesTerminalHeartbeatHandler.java │ ├── KubernetesTerminalLoginHandler.java │ ├── KubernetesTerminalLogoutHandler.java │ └── KubernetesTerminalResizeHandler.java ├── opscloud-leo ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── leo │ ├── aop │ ├── annotation │ │ ├── LeoBuildInterceptor.java │ │ └── LeoDeployInterceptor.java │ └── aspect │ │ ├── LeoBuildInterceptorAspect.java │ │ └── LeoDeployInterceptorAspect.java │ ├── constants │ ├── BuildDictConstants.java │ ├── BuildStatusConstants.java │ ├── BuildStepConstants.java │ ├── BuildTypeConstants.java │ ├── DeployDictConstants.java │ ├── DeployStepConstants.java │ ├── ExecutionTypeConstants.java │ ├── HeartbeatTypeConstants.java │ ├── LogTypeConstants.java │ ├── MavenPublishConstants.java │ └── RuleExpressionConstants.java │ ├── converter │ ├── CompareResultsConverter.java │ ├── GitLabBranchConverter.java │ └── JenkinsPipelineConverter.java │ ├── cr │ └── CleanImage.java │ ├── delegate │ ├── GitLabRepoDelegate.java │ ├── JenkinsPipelineDelegate.java │ ├── LeoBuildDeploymentDelegate.java │ └── LeoJobVersionDelegate.java │ ├── dict │ ├── IBuildDictGenerator.java │ ├── factory │ │ └── BuildDictGeneratorFactory.java │ └── impl │ │ ├── BaseBuildDictGenerator.java │ │ ├── FrontEndBuildDictGenerator.java │ │ ├── KubernetesImageBuildDictGenerator.java │ │ └── MavenPublishBuildDictGenerator.java │ ├── domain │ ├── model │ │ ├── JenkinsInstanceTask.java │ │ ├── JenkinsPipeline.java │ │ ├── LeoBaseModel.java │ │ ├── LeoBuildModel.java │ │ ├── LeoDeployModel.java │ │ ├── LeoJobModel.java │ │ ├── LeoRuleModel.java │ │ ├── LeoTemplateModel.java │ │ ├── StopBuildFlag.java │ │ ├── StopDeployFlag.java │ │ └── base │ │ │ └── YamlDump.java │ └── param │ │ └── JenkinsBuildParamMap.java │ ├── driver │ ├── BlueRestDriver.java │ └── feign │ │ └── BlueRestFeign.java │ ├── exception │ ├── LeoBuildException.java │ ├── LeoDeployException.java │ ├── LeoInterceptorException.java │ ├── LeoJobException.java │ └── LeoTemplateException.java │ ├── facade │ └── JenkinsJobFacade.java │ ├── handler │ ├── build │ │ ├── BaseBuildChainHandler.java │ │ ├── BuildMessageCenter.java │ │ ├── LeoBuildHandler.java │ │ ├── LeoPostBuildHandler.java │ │ ├── base │ │ │ ├── BaseBuildStrategy.java │ │ │ ├── BuildStrategyFactory.java │ │ │ ├── IBuildStep.java │ │ │ └── IBuildStrategy.java │ │ ├── chain │ │ │ ├── post │ │ │ │ ├── BuildFinalProcessingChainHandler.java │ │ │ │ ├── EndBuildNotificationChainHandler.java │ │ │ │ ├── PostBuildVerificationChainHandler.java │ │ │ │ ├── RecordBuildPipelineChainHandler.java │ │ │ │ └── event │ │ │ │ │ ├── AutoDeployEventPublisher.java │ │ │ │ │ └── MeterSphereBuildEventPublisher.java │ │ │ └── pre │ │ │ │ ├── BuildingSupervisorChainHandler.java │ │ │ │ ├── CreateJobChainHandler.java │ │ │ │ ├── DeleteHistoricalBuildJobChainHandler.java │ │ │ │ ├── DoBuildChainHandler.java │ │ │ │ ├── ElectInstanceChainHandler.java │ │ │ │ └── StartBuildNotificationChainHandler.java │ │ ├── helper │ │ │ ├── ApplicationTagsHelper.java │ │ │ ├── LeoJenkinsInstanceHelper.java │ │ │ └── LeoRobotHelper.java │ │ └── strategy │ │ │ ├── build │ │ │ ├── DoBuildWithFrontEndStrategy.java │ │ │ ├── DoBuildWithKubernetesImageStrategy.java │ │ │ ├── DoBuildWithMavenPublishStrategy.java │ │ │ └── base │ │ │ │ └── BaseDoBuildStrategy.java │ │ │ └── verification │ │ │ ├── PostBuildVerificationWithKubernetesImageStrategy.java │ │ │ ├── PostBuildVerificationWithMavenPublishStrategy.java │ │ │ ├── base │ │ │ └── BasePostBuildVerificationStrategy.java │ │ │ └── validator │ │ │ ├── AcrValidator.java │ │ │ ├── EcrValidator.java │ │ │ ├── base │ │ │ └── BaseCrValidator.java │ │ │ ├── delegate │ │ │ └── EcrImageDelegate.java │ │ │ └── factory │ │ │ └── CrValidatorFactory.java │ └── deploy │ │ ├── BaseDeployChainHandler.java │ │ ├── LeoDeployHandler.java │ │ ├── LeoPostDeployHandler.java │ │ ├── base │ │ ├── BaseDeployStrategy.java │ │ ├── DeployStrategyFactory.java │ │ ├── IDeployStep.java │ │ └── IDeployStrategy.java │ │ ├── chain │ │ ├── BootDeployChainHandler.java │ │ ├── post │ │ │ ├── DeployFinalProcessingChainHandler.java │ │ │ ├── EndDeployNotificationChainHandler.java │ │ │ ├── event │ │ │ │ ├── AliyunEventBridgeDeployEventPublisher.java │ │ │ │ ├── ForkDeployEventPublisher.java │ │ │ │ └── MeterSphereDeployEventPublisher.java │ │ │ └── fork │ │ │ │ └── ForkToStable.java │ │ └── pre │ │ │ ├── DeployingSupervisorChainHandler.java │ │ │ ├── DoDeployChainHandler.java │ │ │ ├── PreInspectionChainHandler.java │ │ │ └── StartDeployNotificationChainHandler.java │ │ └── strategy │ │ ├── boot │ │ ├── BootDeployWithOfflineStrategy.java │ │ ├── BootDeployWithRedeployStrategy.java │ │ ├── BootDeployWithRollingStrategy.java │ │ └── base │ │ │ └── BootDeployStrategy.java │ │ ├── deploy │ │ ├── DoDeployWithOfflineStrategy.java │ │ ├── DoDeployWithRedeployStrategy.java │ │ ├── DoDeployWithRollingStrategy.java │ │ └── base │ │ │ └── DoDeployStrategy.java │ │ ├── inspection │ │ ├── PreInspectionWithOfflineStrategy.java │ │ ├── PreInspectionWithRedeployStrategy.java │ │ ├── PreInspectionWithRollingStrategy.java │ │ └── base │ │ │ └── BasePreInspectionStrategy.java │ │ └── notification │ │ ├── EndNotificationWithOfflineStrategy.java │ │ ├── EndNotificationWithRedeployStrategy.java │ │ ├── EndNotificationWithRollingStrategy.java │ │ ├── StartNotificationWithOfflineStrategy.java │ │ ├── StartNotificationWithRedeployStrategy.java │ │ ├── StartNotificationWithRollingStrategy.java │ │ └── base │ │ ├── BaseNotificationStrategy.java │ │ ├── EndNotificationStrategy.java │ │ └── StartNotificationStrategy.java │ ├── helper │ ├── LeoDeployPassCheck.java │ └── PodDetailsHelper.java │ ├── holder │ └── LeoHeartbeatHolder.java │ ├── interceptor │ ├── LeoExecuteJobInterceptorHandler.java │ └── rule │ │ ├── BaseLeoRuleExpression.java │ │ ├── IRuleExpression.java │ │ ├── LeoRuleExpressionFactory.java │ │ ├── RuleValidator.java │ │ └── impl │ │ ├── LeoRuleWithDailyExpression.java │ │ ├── LeoRuleWithDateExpression.java │ │ ├── LeoRuleWithMonthlyExpression.java │ │ └── LeoRuleWithWeeklyExpression.java │ ├── log │ ├── LeoBuildingLog.java │ └── LeoDeployingLog.java │ ├── message │ ├── factory │ │ └── LeoContinuousDeliveryMessageHandlerFactory.java │ ├── handler │ │ ├── base │ │ │ ├── BaseLeoContinuousDeliveryRequestHandler.java │ │ │ └── ILeoContinuousDeliveryRequestHandler.java │ │ └── impl │ │ │ ├── build │ │ │ ├── QueryLeoBuildConsoleStreamRequestHandler.java │ │ │ ├── SubscribeLeoBuildRequestHandler.java │ │ │ └── SubscribeLeoJobRequestHandler.java │ │ │ └── deploy │ │ │ ├── AuthenticationFailureRequestHandler.java │ │ │ ├── SubscribeLeoDeployDetailsRequestHandler.java │ │ │ ├── SubscribeLeoDeployRequestHandler.java │ │ │ └── SubscribeLeoDeploymentVersionDetailsRequestHandler.java │ └── util │ │ └── VersionRenderer.java │ ├── packer │ ├── DeploymentVersionPacker.java │ ├── LeoBuildResponsePacker.java │ ├── LeoDeployResponsePacker.java │ ├── LeoJobResponsePacker.java │ └── PodDetailsPacker.java │ ├── param │ └── JenkinsBuildParamBuilder.java │ ├── parser │ ├── GradleParser.java │ ├── MavenParser.java │ └── MavenPublishParser.java │ ├── supervisor │ ├── BuildingSupervisor.java │ ├── DeployingSupervisor.java │ ├── base │ │ └── ISupervisor.java │ └── strategy │ │ ├── SupervisingWithOfflineStrategy.java │ │ ├── SupervisingWithRedeployStrategy.java │ │ ├── SupervisingWithRollingStrategy.java │ │ └── base │ │ ├── SupervisingStrategy.java │ │ └── SupervisingStrategyFactory.java │ ├── task │ ├── LeoBuildCompensationTask.java │ ├── LeoDeployCompensationTask.java │ └── loop │ │ ├── LeoBuildEventLoop.java │ │ └── LeoDeployEventLoop.java │ └── util │ ├── JobUtil.java │ └── SnapshotStash.java ├── opscloud-manage ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── baiyi │ │ │ └── opscloud │ │ │ ├── ManageApplication.java │ │ │ ├── alert │ │ │ ├── notify │ │ │ │ ├── INotify.java │ │ │ │ ├── NotifyFactory.java │ │ │ │ ├── NotifyMediaEnum.java │ │ │ │ ├── NotifyStatusEnum.java │ │ │ │ └── impl │ │ │ │ │ ├── AbstractNotifyActivity.java │ │ │ │ │ ├── DingtalkNotifyActivity.java │ │ │ │ │ ├── SmsNotifyActivity.java │ │ │ │ │ └── VmsNotifyActivity.java │ │ │ ├── rule │ │ │ │ ├── IRule.java │ │ │ │ └── impl │ │ │ │ │ └── AbstractAlertRule.java │ │ │ └── strategy │ │ │ │ ├── AlertSeverityEnum.java │ │ │ │ ├── AlertStrategyFactory.java │ │ │ │ ├── IAlertStrategy.java │ │ │ │ └── impl │ │ │ │ ├── AbstractAlertActivity.java │ │ │ │ ├── LowSeverityAlertActivity.java │ │ │ │ ├── MaxSeverityAlertActivity.java │ │ │ │ └── MidSeverityAlertActivity.java │ │ │ ├── aspect │ │ │ ├── AssetBusinessRelationAspect.java │ │ │ ├── AssetBusinessUnbindRelationAspect.java │ │ │ ├── BusinessObjectClearAspect.java │ │ │ ├── DecryptAspect.java │ │ │ ├── DesensitizeAspect.java │ │ │ ├── EncryptorAspect.java │ │ │ ├── EventPublisherAspect.java │ │ │ ├── InstanceHealthAspect.java │ │ │ ├── PermitEmptyPasswordsAspect.java │ │ │ ├── RevokeUserPermissionAspect.java │ │ │ ├── TagClearAspect.java │ │ │ └── wrapper │ │ │ │ ├── AgoWrapperAspect.java │ │ │ │ ├── ArkInterceptAspect.java │ │ │ │ ├── BizDocWrapperAspect.java │ │ │ │ ├── BizUserWrapperAspect.java │ │ │ │ ├── DurationWrapperAspect.java │ │ │ │ ├── EnvWrapperAspect.java │ │ │ │ ├── LaterWrapperAspect.java │ │ │ │ └── RuntimeWrapperAspect.java │ │ │ ├── configuration │ │ │ ├── InitialDataSourceConfiguration.java │ │ │ ├── InitialInstanceSystemInfo.java │ │ │ ├── InitialRedisConfiguration.java │ │ │ ├── MvcConfiguration.java │ │ │ ├── OpenAPIConfiguration.java │ │ │ ├── QuartzConfig.java │ │ │ ├── ShedlockConfiguration.java │ │ │ ├── WebSocketConfiguration.java │ │ │ ├── condition │ │ │ │ └── EnvCondition.java │ │ │ └── properties │ │ │ │ └── WhiteConfigurationProperties.java │ │ │ ├── controller │ │ │ ├── http │ │ │ │ ├── AnnouncementController.java │ │ │ │ ├── ApplicationController.java │ │ │ │ ├── AuthController.java │ │ │ │ ├── BusinessController.java │ │ │ │ ├── CredentialController.java │ │ │ │ ├── DocumentController.java │ │ │ │ ├── DsController.java │ │ │ │ ├── DsInstanceAssetCustomController.java │ │ │ │ ├── DsInstanceController.java │ │ │ │ ├── DsInstanceScheduleController.java │ │ │ │ ├── EnvController.java │ │ │ │ ├── ExampleController.java │ │ │ │ ├── HomeController.java │ │ │ │ ├── InstanceController.java │ │ │ │ ├── KubernetesController.java │ │ │ │ ├── LeoController.java │ │ │ │ ├── LogController.java │ │ │ │ ├── MenuController.java │ │ │ │ ├── MessageController.java │ │ │ │ ├── NavController.java │ │ │ │ ├── OutApiController.java │ │ │ │ ├── ProjectController.java │ │ │ │ ├── ReceiveEventController.java │ │ │ │ ├── ReportController.java │ │ │ │ ├── SerDeployController.java │ │ │ │ ├── ServerAccountController.java │ │ │ │ ├── ServerController.java │ │ │ │ ├── ServerGroupController.java │ │ │ │ ├── ServerTaskController.java │ │ │ │ ├── TagController.java │ │ │ │ ├── TaskController.java │ │ │ │ ├── TemplateController.java │ │ │ │ ├── TerminalSessionController.java │ │ │ │ ├── UserController.java │ │ │ │ ├── WorkEventController.java │ │ │ │ └── WorkOrderController.java │ │ │ └── socket │ │ │ │ ├── ContinuousDeliveryBuildController.java │ │ │ │ ├── ContinuousDeliveryDeployController.java │ │ │ │ ├── GuacamoleController.java │ │ │ │ ├── JenkinsBuildConsoleStreamController.java │ │ │ │ ├── JenkinsBuildExecutorController.java │ │ │ │ ├── KubernetesDeploymentController.java │ │ │ │ ├── KubernetesTerminalController.java │ │ │ │ ├── ServerTaskPlayController.java │ │ │ │ ├── ServerTerminalController.java │ │ │ │ ├── TerminalSessionAuditController.java │ │ │ │ └── base │ │ │ │ └── SimpleAuthentication.java │ │ │ ├── event │ │ │ ├── consumer │ │ │ │ ├── ApplicationManager.java │ │ │ │ ├── EventConsumerFactory.java │ │ │ │ ├── IEventConsumer.java │ │ │ │ └── impl │ │ │ │ │ ├── AbstractEventConsumer.java │ │ │ │ │ ├── AliyunEventBridgeApolloReleaseEventConsumer.java │ │ │ │ │ ├── AliyunEventBridgeDeployEventConsumer.java │ │ │ │ │ ├── AutoDeployEventConsumer.java │ │ │ │ │ ├── BizAssetRelationConsumer.java │ │ │ │ │ ├── ForkDeployEventConsumer.java │ │ │ │ │ ├── MeterSphereBuildEventConsumer.java │ │ │ │ │ ├── MeterSphereDeployEventConsumer.java │ │ │ │ │ ├── ServerEventConsumer.java │ │ │ │ │ ├── ServerGroupEventConsumer.java │ │ │ │ │ ├── UserEventConsumer.java │ │ │ │ │ ├── UserGroupEventConsumer.java │ │ │ │ │ ├── UserPermissionEventConsumer.java │ │ │ │ │ └── kind │ │ │ │ │ └── EmployeeResignConsumer.java │ │ │ └── listener │ │ │ │ └── EventListener.java │ │ │ ├── example │ │ │ └── OpscloudV4API.java │ │ │ ├── facade │ │ │ ├── apollo │ │ │ │ ├── ApolloFacade.java │ │ │ │ ├── chain │ │ │ │ │ ├── AdminReleasesChainHandler.java │ │ │ │ │ ├── InterceptByActionChainHandler.java │ │ │ │ │ ├── InterceptByApplicationChainHandler.java │ │ │ │ │ ├── InterceptByEnvChainHandler.java │ │ │ │ │ ├── InterceptByNamespaceChainHandler.java │ │ │ │ │ ├── ReleaseApplicationWhiteListChainHandler.java │ │ │ │ │ ├── ReleaseForWorkOrderChainHandler.java │ │ │ │ │ └── ReleaseRuleVerificationChainHandler.java │ │ │ │ ├── consumer │ │ │ │ │ ├── ApolloEventAssetConsumer.java │ │ │ │ │ └── ApolloReleaseEventPublisher.java │ │ │ │ ├── feign │ │ │ │ │ ├── DevopsFeign.java │ │ │ │ │ └── DevopsService.java │ │ │ │ ├── handler │ │ │ │ │ ├── ApolloReleaseHandler.java │ │ │ │ │ └── BaseApolloReleaseChainHandler.java │ │ │ │ ├── holder │ │ │ │ │ └── ApolloConfigHolder.java │ │ │ │ ├── messenger │ │ │ │ │ └── ApolloReleaseMessenger.java │ │ │ │ └── validator │ │ │ │ │ └── ApolloRuleValidator.java │ │ │ ├── application │ │ │ │ ├── ApplicationAlertFacade.java │ │ │ │ ├── ApplicationFacade.java │ │ │ │ ├── ApplicationKubernetesFacade.java │ │ │ │ └── impl │ │ │ │ │ ├── ApplicationAlertFacadeImpl.java │ │ │ │ │ ├── ApplicationAlertHelper.java │ │ │ │ │ ├── ApplicationFacadeImpl.java │ │ │ │ │ └── ApplicationKubernetesFacadeImpl.java │ │ │ ├── audit │ │ │ │ ├── AuditApiBuilder.java │ │ │ │ ├── OperationalAuditFacade.java │ │ │ │ └── impl │ │ │ │ │ └── OperationalAuditFacadeImpl.java │ │ │ ├── auth │ │ │ │ ├── AuthFacade.java │ │ │ │ ├── AuthPlatformFacade.java │ │ │ │ ├── PlatformAuthValidator.java │ │ │ │ ├── UserAuthFacade.java │ │ │ │ ├── UserTokenFacade.java │ │ │ │ ├── impl │ │ │ │ │ ├── AuthFacadeImpl.java │ │ │ │ │ ├── AuthPlatformFacadeImpl.java │ │ │ │ │ ├── AuthPlatformHelperImpl.java │ │ │ │ │ ├── UserAuthFacadeImpl.java │ │ │ │ │ └── UserTokenFacadeImpl.java │ │ │ │ └── mfa │ │ │ │ │ └── MfaValidator.java │ │ │ ├── business │ │ │ │ ├── BusinessDocumentFacade.java │ │ │ │ ├── BusinessPropertyFacade.java │ │ │ │ └── impl │ │ │ │ │ ├── BusinessDocumentFacadeImpl.java │ │ │ │ │ └── BusinessPropertyFacadeImpl.java │ │ │ ├── datasource │ │ │ │ ├── BusinessAssetRelationFacade.java │ │ │ │ ├── DsFacade.java │ │ │ │ ├── DsInstanceAssetFacade.java │ │ │ │ ├── DsInstanceAssetSubscriptionFacade.java │ │ │ │ ├── DsInstanceScheduleFacade.java │ │ │ │ ├── impl │ │ │ │ │ ├── BusinessAssetRelationFacadeImpl.java │ │ │ │ │ ├── DsFacadeImpl.java │ │ │ │ │ ├── DsInstanceAssetFacadeImpl.java │ │ │ │ │ ├── DsInstanceAssetSubscriptionFacadeImpl.java │ │ │ │ │ └── DsInstanceScheduleFacadeImpl.java │ │ │ │ ├── instance │ │ │ │ │ ├── ApolloAssetFacade.java │ │ │ │ │ ├── GitLabFacade.java │ │ │ │ │ └── GitLabInstanceStore.java │ │ │ │ ├── report │ │ │ │ │ ├── ApolloReportFacade.java │ │ │ │ │ └── impl │ │ │ │ │ │ └── ApolloReportFacadeImpl.java │ │ │ │ └── resource │ │ │ │ │ ├── AbstractAppResQueryWithAsset.java │ │ │ │ │ ├── AbstractProjectResQueryWithAsset.java │ │ │ │ │ ├── AppResQueryWithDsInstance.java │ │ │ │ │ ├── AppResQueryWithGitLabGroupAsset.java │ │ │ │ │ ├── AppResQueryWithGitLabProjectAsset.java │ │ │ │ │ ├── AppResQueryWithKubernetesDeploymentAsset.java │ │ │ │ │ ├── ProjectResQueryWithAliyunDevOpsProjectAsset.java │ │ │ │ │ ├── ProjectResQueryWithAliyunDevOpsSprintAsset.java │ │ │ │ │ └── ProjectResQueryWithAliyunDevOpsWorkItemAsset.java │ │ │ ├── event │ │ │ │ ├── EventFacade.java │ │ │ │ └── impl │ │ │ │ │ └── EventFacadeImpl.java │ │ │ ├── kubernetes │ │ │ │ ├── KubernetesFacade.java │ │ │ │ ├── KubernetesFinOpsReportFacade.java │ │ │ │ ├── KubernetesIngressFacade.java │ │ │ │ ├── KubernetesIstioFacade.java │ │ │ │ ├── KubernetesServiceFacade.java │ │ │ │ ├── KubernetesTerminalFacade.java │ │ │ │ └── impl │ │ │ │ │ ├── BaseKubernetesConfig.java │ │ │ │ │ ├── KubernetesFacadeImpl.java │ │ │ │ │ ├── KubernetesFinOpsReportFacadeImpl.java │ │ │ │ │ ├── KubernetesIngressFacadeImpl.java │ │ │ │ │ ├── KubernetesIstioFacadeImpl.java │ │ │ │ │ ├── KubernetesServiceFacadeImpl.java │ │ │ │ │ └── KubernetesTerminalFacadeImpl.java │ │ │ ├── leo │ │ │ │ ├── LeoBuildFacade.java │ │ │ │ ├── LeoBuildPipelineFacade.java │ │ │ │ ├── LeoChartFacade.java │ │ │ │ ├── LeoDeployFacade.java │ │ │ │ ├── LeoJobFacade.java │ │ │ │ ├── LeoReportFacade.java │ │ │ │ ├── LeoRuleFacade.java │ │ │ │ ├── LeoTemplateFacade.java │ │ │ │ ├── impl │ │ │ │ │ ├── LabelingMachineHelper.java │ │ │ │ │ ├── LeoBuildFacadeImpl.java │ │ │ │ │ ├── LeoBuildPipelineFacadeImpl.java │ │ │ │ │ ├── LeoChartFacadeImpl.java │ │ │ │ │ ├── LeoDeployFacadeImpl.java │ │ │ │ │ ├── LeoJobFacadeImpl.java │ │ │ │ │ ├── LeoReportFacadeImpl.java │ │ │ │ │ ├── LeoRuleFacadeImpl.java │ │ │ │ │ └── LeoTemplateFacadeImpl.java │ │ │ │ └── tags │ │ │ │ │ └── LeoTagHelper.java │ │ │ ├── message │ │ │ │ ├── MessageFacade.java │ │ │ │ └── impl │ │ │ │ │ └── MessageFacadeImpl.java │ │ │ ├── project │ │ │ │ ├── IProjectResource.java │ │ │ │ ├── ProjectFacade.java │ │ │ │ └── impl │ │ │ │ │ └── ProjectFacadeImpl.java │ │ │ ├── ser │ │ │ │ ├── SerDeployFacade.java │ │ │ │ └── impl │ │ │ │ │ └── SerDeployFacadeImpl.java │ │ │ ├── server │ │ │ │ ├── ServerAccountFacade.java │ │ │ │ ├── ServerFacade.java │ │ │ │ ├── ServerGroupFacade.java │ │ │ │ ├── converter │ │ │ │ │ ├── ServerAccountConverter.java │ │ │ │ │ ├── ServerConverter.java │ │ │ │ │ └── ServerGroupConverter.java │ │ │ │ └── impl │ │ │ │ │ ├── ServerAccountFacadeImpl.java │ │ │ │ │ ├── ServerFacadeImpl.java │ │ │ │ │ └── ServerGroupFacadeImpl.java │ │ │ ├── sys │ │ │ │ ├── AnnouncementFacade.java │ │ │ │ ├── CredentialFacade.java │ │ │ │ ├── DocumentFacade.java │ │ │ │ ├── EnvFacade.java │ │ │ │ ├── InstanceFacade.java │ │ │ │ ├── MenuFacade.java │ │ │ │ ├── NavFacade.java │ │ │ │ ├── TerminalSessionFacade.java │ │ │ │ └── impl │ │ │ │ │ ├── AnnouncementFacadeImpl.java │ │ │ │ │ ├── CredentialFacadeImpl.java │ │ │ │ │ ├── DocumentFacadeImpl.java │ │ │ │ │ ├── EnvFacadeImpl.java │ │ │ │ │ ├── InstanceFacadeImpl.java │ │ │ │ │ ├── MenuFacadeImpl.java │ │ │ │ │ ├── NavFacadeImpl.java │ │ │ │ │ ├── TerminalSessionFacadeImpl.java │ │ │ │ │ └── converter │ │ │ │ │ └── CredentialConverter.java │ │ │ ├── task │ │ │ │ ├── AnsiblePlaybookFacade.java │ │ │ │ ├── ConsulAlertFacade.java │ │ │ │ ├── ServerTaskFacade.java │ │ │ │ ├── builder │ │ │ │ │ ├── ServerTaskBuilder.java │ │ │ │ │ └── ServerTaskMemberBuilder.java │ │ │ │ └── impl │ │ │ │ │ ├── AnsiblePlaybookFacadeImpl.java │ │ │ │ │ └── ServerTaskFacadeImpl.java │ │ │ ├── template │ │ │ │ ├── TemplateFacade.java │ │ │ │ ├── factory │ │ │ │ │ ├── ITemplateProvider.java │ │ │ │ │ ├── TemplateFactory.java │ │ │ │ │ ├── base │ │ │ │ │ │ └── AbstractTemplateProvider.java │ │ │ │ │ └── impl │ │ │ │ │ │ ├── IstioDestinationRuleTemplateProvider.java │ │ │ │ │ │ ├── IstioVirtualServiceTemplateProvider.java │ │ │ │ │ │ ├── KubernetesCustomResourceTemplateProvider.java │ │ │ │ │ │ ├── KubernetesDeploymentTemplateProvider.java │ │ │ │ │ │ ├── KubernetesIngressTemplateProvider.java │ │ │ │ │ │ └── KubernetesServiceTemplateProvider.java │ │ │ │ └── impl │ │ │ │ │ └── TemplateFacadeImpl.java │ │ │ ├── terminal │ │ │ │ ├── TerminalReportFacade.java │ │ │ │ └── impl │ │ │ │ │ └── TerminalReportFacadeImpl.java │ │ │ ├── user │ │ │ │ ├── UserFacade.java │ │ │ │ ├── UserGroupFacade.java │ │ │ │ ├── UserProfileFacade.java │ │ │ │ ├── UserUIFacade.java │ │ │ │ ├── base │ │ │ │ │ └── IUserBusinessPermissionPageQuery.java │ │ │ │ ├── converter │ │ │ │ │ └── UserConverter.java │ │ │ │ ├── factory │ │ │ │ │ └── UserBusinessPermissionFactory.java │ │ │ │ ├── handler │ │ │ │ │ └── UserHandler.java │ │ │ │ └── impl │ │ │ │ │ ├── UserFacadeImpl.java │ │ │ │ │ ├── UserGroupFacadeImpl.java │ │ │ │ │ ├── UserProfileFacadeImpl.java │ │ │ │ │ └── UserUIFacadeImpl.java │ │ │ ├── workevent │ │ │ │ ├── WorkEventFacade.java │ │ │ │ └── impl │ │ │ │ │ └── WorkEventFacadeImpl.java │ │ │ └── workorder │ │ │ │ ├── WorkOrderFacade.java │ │ │ │ ├── WorkOrderReportFacade.java │ │ │ │ ├── WorkOrderTicketFacade.java │ │ │ │ ├── WorkOrderTicketNodeFacade.java │ │ │ │ ├── WorkOrderTicketSubscriberFacade.java │ │ │ │ └── impl │ │ │ │ ├── WorkOrderFacadeImpl.java │ │ │ │ ├── WorkOrderReportFacadeImpl.java │ │ │ │ ├── WorkOrderTicketFacadeImpl.java │ │ │ │ ├── WorkOrderTicketNodeFacadeImpl.java │ │ │ │ └── WorkOrderTicketSubscriberFacadeImpl.java │ │ │ ├── factory │ │ │ ├── gitlab │ │ │ │ ├── GitLabEventConsumerFactory.java │ │ │ │ ├── IGitLabEventConsumer.java │ │ │ │ ├── context │ │ │ │ │ └── GitLabEventContext.java │ │ │ │ ├── converter │ │ │ │ │ └── SystemHookConverter.java │ │ │ │ ├── enums │ │ │ │ │ └── GitLabEventNameEnum.java │ │ │ │ └── impl │ │ │ │ │ ├── AbstractGitLabEventConsumer.java │ │ │ │ │ ├── GitLabKeyEventConsumer.java │ │ │ │ │ ├── GitLabProjectEventConsumer.java │ │ │ │ │ └── GitLabPushEventConsumer.java │ │ │ └── resource │ │ │ │ ├── AppResQueryFactory.java │ │ │ │ ├── IAppResQuery.java │ │ │ │ ├── IProjectResQuery.java │ │ │ │ ├── ProjectResQueryFactory.java │ │ │ │ └── base │ │ │ │ ├── AbstractAppResQuery.java │ │ │ │ └── AbstractProjectResQuery.java │ │ │ ├── filter │ │ │ └── AuthFilter.java │ │ │ ├── handler │ │ │ ├── RequestExceptionHandler.java │ │ │ └── ResponseExceptionHandler.java │ │ │ ├── loop │ │ │ ├── KubernetesDeploymentEventLoop.java │ │ │ └── kubernetes │ │ │ │ ├── BaseKubernetesDeploymentRequestHandler.java │ │ │ │ ├── IKubernetesDeploymentRequestHandler.java │ │ │ │ ├── KubernetesDeploymentResponse.java │ │ │ │ ├── factory │ │ │ │ └── KubernetesDeploymentMessageHandlerFactory.java │ │ │ │ └── impl │ │ │ │ └── KubernetesDeploymentQueryRequestHandler.java │ │ │ ├── packer │ │ │ ├── IWrapper.java │ │ │ ├── IWrapperRelation.java │ │ │ ├── application │ │ │ │ ├── ApplicationArmsPacker.java │ │ │ │ ├── ApplicationKubernetesPacker.java │ │ │ │ ├── ApplicationPacker.java │ │ │ │ ├── ApplicationResourceDsInstancePacker.java │ │ │ │ └── ApplicationResourcePacker.java │ │ │ ├── auth │ │ │ │ ├── AuthGroupPacker.java │ │ │ │ ├── AuthPlatformLogPacker.java │ │ │ │ ├── AuthResourcePacker.java │ │ │ │ └── AuthRolePacker.java │ │ │ ├── business │ │ │ │ ├── BusinessDocumentPacker.java │ │ │ │ ├── BusinessPermissionUserPacker.java │ │ │ │ └── BusinessPropertyPacker.java │ │ │ ├── datasource │ │ │ │ ├── DsAssetPacker.java │ │ │ │ ├── DsAssetSubscriptionPacker.java │ │ │ │ ├── DsConfigPacker.java │ │ │ │ └── aliyun │ │ │ │ │ ├── AliyunLogMemberPacker.java │ │ │ │ │ └── AliyunLogPacker.java │ │ │ ├── leo │ │ │ │ ├── LeoBuildVersionPacker.java │ │ │ │ ├── LeoJobPacker.java │ │ │ │ ├── LeoRulePacker.java │ │ │ │ └── LeoTemplatePacker.java │ │ │ ├── project │ │ │ │ ├── ProjectPacker.java │ │ │ │ └── ProjectResourcePacker.java │ │ │ ├── secret │ │ │ │ └── SecretPacker.java │ │ │ ├── ser │ │ │ │ ├── SerDeploySubtaskPacker.java │ │ │ │ ├── SerDeployTaskItemPacker.java │ │ │ │ └── SerDeployTaskPacker.java │ │ │ ├── server │ │ │ │ ├── ServerAccountPacker.java │ │ │ │ ├── ServerGroupPacker.java │ │ │ │ ├── ServerGroupTypePacker.java │ │ │ │ └── ServerPacker.java │ │ │ ├── sys │ │ │ │ ├── CredentialPacker.java │ │ │ │ ├── EnvPacker.java │ │ │ │ ├── MenuPacker.java │ │ │ │ ├── RegisteredInstancePacker.java │ │ │ │ ├── TerminalSessionInstanceCommandPacker.java │ │ │ │ ├── TerminalSessionInstancePacker.java │ │ │ │ ├── TerminalSessionPacker.java │ │ │ │ └── delegate │ │ │ │ │ └── CredentialPackerDelegate.java │ │ │ ├── task │ │ │ │ ├── AnsiblePlaybookPacker.java │ │ │ │ ├── ServerTaskMemberPacker.java │ │ │ │ ├── ServerTaskPacker.java │ │ │ │ └── delegate │ │ │ │ │ └── ServerTaskMemberPackerDelegate.java │ │ │ ├── template │ │ │ │ ├── BusinessTemplatePacker.java │ │ │ │ ├── MessageTemplatePacker.java │ │ │ │ └── TemplatePacker.java │ │ │ ├── user │ │ │ │ ├── UserAccessTokenPacker.java │ │ │ │ ├── UserAvatarPacker.java │ │ │ │ ├── UserCredentialPacker.java │ │ │ │ ├── UserGroupPacker.java │ │ │ │ ├── UserPacker.java │ │ │ │ ├── UserPermissionPacker.java │ │ │ │ ├── am │ │ │ │ │ ├── AccessManagementPacker.java │ │ │ │ │ ├── IAssetToAccessManagementConverter.java │ │ │ │ │ └── converter │ │ │ │ │ │ ├── AbstractAssetToAccessManagementConverter.java │ │ │ │ │ │ ├── AssetToIdentityAndAccessManagementConverter.java │ │ │ │ │ │ └── AssetToResourceAccessManagementConverter.java │ │ │ │ └── delegate │ │ │ │ │ └── UserPackerDelegate.java │ │ │ ├── workevent │ │ │ │ └── WorkEventPacker.java │ │ │ └── workorder │ │ │ │ ├── TicketEntryPacker.java │ │ │ │ ├── TicketNodePacker.java │ │ │ │ ├── TicketPacker.java │ │ │ │ ├── WorkOrderGroupPacker.java │ │ │ │ ├── WorkOrderPacker.java │ │ │ │ └── WorkOrderWorkflowPacker.java │ │ │ ├── schedule │ │ │ ├── quartz │ │ │ │ ├── example │ │ │ │ │ └── ExampleJob.java │ │ │ │ └── job │ │ │ │ │ └── AssetPullJob.java │ │ │ └── task │ │ │ │ ├── AssetSubscriptionTask.java │ │ │ │ ├── ConsulAlertTask.java │ │ │ │ ├── LeoBuildTask.java │ │ │ │ ├── LeoDeployTask.java │ │ │ │ └── ZabbixProblemEventListenerTask.java │ │ │ └── util │ │ │ ├── JasyptUtil.java │ │ │ ├── OptionsUtil.java │ │ │ ├── PlaybookUtil.java │ │ │ ├── ServerTreeUtil.java │ │ │ └── SystemInfoUtil.java │ └── resources │ │ ├── .ssh │ │ └── authorized.keys │ │ ├── application-dev.yml │ │ ├── application-github.yml │ │ ├── application-local.yml │ │ ├── application-pre.yml │ │ ├── application-prod.yml │ │ ├── application.yml │ │ ├── banner.txt │ │ ├── logback-spring.xml │ │ └── quartz.properties │ └── test │ └── java │ └── com │ └── baiyi │ └── opscloud │ ├── BaseUnit.java │ ├── application │ ├── ApplicationTest.java │ └── ApplicationTest2.java │ ├── configuration │ └── WhiteConfigTest.java │ ├── controller │ └── http │ │ └── KubernetesControllerTest.java │ ├── datasource │ ├── AssetTest.java │ ├── SetTest.java │ ├── aliyun │ │ ├── AliyunCmsTest.java │ │ ├── AliyunDmsTest.java │ │ ├── AliyunDomainTest.java │ │ ├── AliyunEcrTest.java │ │ ├── AliyunEcsTest.java │ │ ├── AliyunMsTest.java │ │ ├── AliyunOnsTest.java │ │ ├── AliyunTest.java │ │ └── base │ │ │ └── BaseAliyunTest.java │ ├── apollo │ │ └── ApolloTest.java │ ├── auth │ │ └── AuthTest.java │ ├── aws │ │ ├── Ec2Test.java │ │ ├── EcrTest.java │ │ ├── IamTest.java │ │ ├── S3Test.java │ │ ├── SnsTest.java │ │ ├── SqsTest.java │ │ └── base │ │ │ └── BaseAwsTest.java │ ├── business │ │ └── bizTagTest.java │ ├── consul │ │ ├── ConsulTest.java │ │ └── base │ │ │ └── BaseConsulUnit.java │ ├── dingtalk │ │ ├── DingtalkDeptTest.java │ │ ├── DingtalkMessageTest.java │ │ ├── DingtalkTokenTest.java │ │ ├── DingtalkUserTest.java │ │ └── base │ │ │ └── BaseDingtalkTest.java │ ├── gitlab │ │ ├── GitLabApiTest.java │ │ ├── GitLabTest.java │ │ └── base │ │ │ └── BaseGitLabApiUnit.java │ ├── huaweicloud │ │ ├── HuaweicloudEcsTest.java │ │ └── base │ │ │ └── BaseHuaweicloudTest.java │ ├── jenkins │ │ ├── JenkinsTest.java │ │ ├── JenkinsUsersTest.java │ │ └── base │ │ │ └── BaseJenkinsTest.java │ ├── kubernetes │ │ ├── AppCostTest.java │ │ ├── AppTest.java │ │ ├── KubernetesDeploymentTest.java │ │ ├── KubernetesIngressTest.java │ │ ├── KubernetesNodeTest.java │ │ ├── KubernetesPodTest.java │ │ ├── KubernetesServiceTest.java │ │ ├── KubernetesTest.java │ │ ├── arms │ │ │ ├── KubernetesCanaryTest.java │ │ │ ├── KubernetesDailyTest.java │ │ │ ├── KubernetesProdOneTest.java │ │ │ └── KubernetesProdTest.java │ │ ├── base │ │ │ └── BaseKubernetesTest.java │ │ ├── daily │ │ │ └── KubernetesDailyTest.java │ │ ├── dev │ │ │ └── KubernetesDevTest.java │ │ ├── fe │ │ │ └── KubernetesFrontEndTest.java │ │ ├── ms │ │ │ └── KubernetesMeterSphereTest.java │ │ ├── pre │ │ │ └── KubernetesPreTest.java │ │ ├── prod │ │ │ ├── KubernetesProdTest.java │ │ │ └── KubernetesVerificationGroupTest.java │ │ └── xray │ │ │ └── KubernetesProdXRayTest.java │ ├── ldap │ │ └── LdapTest.java │ ├── manager │ │ └── DsAccountManagerTest.java │ ├── nacos │ │ ├── NacosTest.java │ │ └── base │ │ │ └── BaseNacosTest.java │ ├── nexus │ │ ├── NexusTest.java │ │ └── base │ │ │ └── BaseNexusTest.java │ ├── other │ │ └── LXHLTest.java │ ├── scan │ │ └── ScanAssetTest.java │ ├── sonar │ │ ├── SonarTest.java │ │ └── base │ │ │ └── BaseSonarTest.java │ ├── subscription │ │ └── AssetSubscriptionTest.java │ ├── tencent │ │ └── ExmailTest.java │ └── zabbix │ │ ├── ZabbixTest.java │ │ ├── ZabbixTriggerTest.java │ │ ├── base │ │ └── BaseZabbixTest.java │ │ └── v5 │ │ ├── ZabbixAuthTest.java │ │ ├── ZabbixHostGroupTest.java │ │ ├── ZabbixHostTest.java │ │ ├── ZabbixProblemTest.java │ │ ├── ZabbixProxyTest.java │ │ ├── ZabbixTemplateTest.java │ │ └── ZabbixUserTest.java │ ├── event │ ├── AlertHandlerTest.java │ └── EventTest.java │ ├── example │ └── ExampleTest.java │ ├── facade │ ├── apollo │ │ └── impl │ │ │ └── ApolloFacadeImplTest.java │ ├── application │ │ └── ApplicationFacadeTest.java │ ├── datasource │ │ └── instance │ │ │ └── GitlabFacadeTest.java │ ├── kubernetes │ │ ├── IstioFacadeTest.java │ │ ├── KubernetesIngressFacadeTest.java │ │ └── impl │ │ │ └── IstioFacadeImplTest.java │ ├── leo │ │ ├── LeoDeployFacadeTest.java │ │ ├── LeoDeploymentTest.java │ │ ├── LeoJobTest.java │ │ ├── LeoServiceTest.java │ │ ├── impl │ │ │ ├── LeoBuildFacadeImplTest.java │ │ │ └── LeoReportFacadeImplTest.java │ │ └── instance │ │ │ └── LeoJenkinsInstanceHelperTest.java │ ├── server │ │ └── impl │ │ │ ├── ServerFacadeImplTest.java │ │ │ ├── ServerGroupFacadeImplTest.java │ │ │ └── ServerTest.java │ ├── sys │ │ └── DocumentFacadeTest.java │ ├── terminal │ │ └── impl │ │ │ └── TerminalReportFacadeImplTest.java │ ├── user │ │ └── impl │ │ │ └── UserFacadeImplTest.java │ ├── workevent │ │ └── impl │ │ │ └── WorkEventFacadeImplTest.java │ └── workorder │ │ └── WorkOrderTest.java │ ├── factory │ └── resource │ │ └── ApplicationResourceQueryFactoryTest.java │ ├── finops │ └── KubernetesFinOpsReportFacadeTest.java │ ├── leo │ ├── ForkToStableTest.java │ ├── LeoDeployTest.java │ ├── LeoFeX86ToArm64PreviewTest.java │ ├── LeoFeX86ToArm64Test.java │ ├── LeoJobTest.java │ ├── LeoRuleTest.java │ ├── LeoTemplateTest.java │ └── LeoTest.java │ ├── order │ └── OrderFacadeTest.java │ ├── other │ └── OtherTest.java │ ├── otp │ └── OtpTest.java │ ├── quartz │ └── QuartzTaskTest.java │ ├── rbac │ └── RbacTest.java │ ├── schedule │ └── task │ │ └── ConsulAlertTaskTest.java │ ├── service │ ├── auth │ │ ├── AuthGroupServiceTest.java │ │ ├── AuthResourceServiceTest.java │ │ └── AuthRoleServiceTest.java │ ├── server │ │ └── ServerServiceTest.java │ └── user │ │ └── AccessTokenServiceTest.java │ ├── ssh │ ├── AuditRecordHandlerTest.java │ ├── SshdTest.java │ └── TableTest.java │ ├── test │ ├── ApplicationTest.java │ ├── StatisticsLog.java │ └── YmlTest.java │ ├── user │ └── UserTest.java │ ├── util │ ├── AssetUtilTest.java │ ├── CTest.java │ ├── CalendarTest.java │ ├── CommonUtilTest.java │ ├── CredentialKindEnumTest.java │ ├── DsUtilTest.java │ ├── HostUtilTest.java │ ├── IPRegionUtilTest.java │ ├── IdUtilTest.java │ ├── InstantTest.java │ ├── PropertyUtilTest.java │ ├── SSHKeyUtilTest.java │ ├── SearchUtilTest.java │ ├── SecretUtilTest.java │ ├── ServerAccountUtilTest.java │ ├── StringFormatterTest.java │ ├── SystemUtilsTest.java │ ├── TimeUtilTest.java │ └── URLTest.java │ └── workorder │ └── EmployeeResignConsumerTest.java ├── opscloud-otp ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── otp │ ├── Base32StringUtil.java │ ├── OtpUtil.java │ ├── exception │ └── OtpException.java │ └── model │ └── OTPAccessCode.java ├── opscloud-service ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── baiyi │ │ └── opscloud │ │ ├── algorithm │ │ ├── BaseAlgorithm.java │ │ └── ServerPack.java │ │ ├── aspect │ │ ├── ServiceExceptionAspect.java │ │ ├── SetSessionUserAspect.java │ │ ├── SetSessionUsernameAspect.java │ │ └── TagsWrapperAspect.java │ │ ├── configuration │ │ └── DatasourceConfiguration.java │ │ ├── facade │ │ ├── datasource │ │ │ ├── SimpleDsAssetFacade.java │ │ │ └── impl │ │ │ │ └── SimpleDsAssetFacadeImpl.java │ │ ├── server │ │ │ └── SimpleServerNameFacade.java │ │ ├── sys │ │ │ └── SimpleEnvFacade.java │ │ ├── tag │ │ │ ├── SimpleTagFacade.java │ │ │ └── impl │ │ │ │ └── SimpleTagFacadeImpl.java │ │ └── user │ │ │ ├── UserCredentialFacade.java │ │ │ ├── UserPermissionFacade.java │ │ │ └── impl │ │ │ ├── UserCredentialFacadeImpl.java │ │ │ └── UserPermissionFacadeImpl.java │ │ ├── factory │ │ ├── business │ │ │ ├── BusinessServiceFactory.java │ │ │ └── base │ │ │ │ ├── AbstractBusinessService.java │ │ │ │ └── IBusinessService.java │ │ └── credential │ │ │ ├── AbstractCredentialCustomer.java │ │ │ ├── CredentialCustomerFactory.java │ │ │ └── base │ │ │ └── ICredentialCustomer.java │ │ ├── interceptor │ │ └── SuperAdminInterceptor.java │ │ ├── mapper │ │ ├── AccessTokenMapper.java │ │ ├── AlertNotifyEventMapper.java │ │ ├── AlertNotifyHistoryMapper.java │ │ ├── AliyunLogMapper.java │ │ ├── AliyunLogMemberMapper.java │ │ ├── AnnouncementMapper.java │ │ ├── AnsiblePlaybookMapper.java │ │ ├── ApplicationMapper.java │ │ ├── ApplicationResourceMapper.java │ │ ├── AuditApiMapper.java │ │ ├── AuthGroupMapper.java │ │ ├── AuthMenuMapper.java │ │ ├── AuthPlatformLogMapper.java │ │ ├── AuthPlatformMapper.java │ │ ├── AuthResourceMapper.java │ │ ├── AuthRoleMapper.java │ │ ├── AuthRoleMenuMapper.java │ │ ├── AuthRoleResourceMapper.java │ │ ├── AuthUserRoleMapper.java │ │ ├── BusinessAssetRelationMapper.java │ │ ├── BusinessDocumentMapper.java │ │ ├── BusinessPropertyMapper.java │ │ ├── BusinessRelationMapper.java │ │ ├── BusinessTagMapper.java │ │ ├── BusinessTemplateMapper.java │ │ ├── CredentialMapper.java │ │ ├── DatasourceConfigMapper.java │ │ ├── DatasourceInstanceAssetMapper.java │ │ ├── DatasourceInstanceAssetPropertyMapper.java │ │ ├── DatasourceInstanceAssetRelationMapper.java │ │ ├── DatasourceInstanceAssetSubscriptionMapper.java │ │ ├── DatasourceInstanceMapper.java │ │ ├── DocumentMapper.java │ │ ├── DocumentZoneMapper.java │ │ ├── EnvMapper.java │ │ ├── EventBusinessMapper.java │ │ ├── EventMapper.java │ │ ├── InstanceMapper.java │ │ ├── LeoBuildImageMapper.java │ │ ├── LeoBuildLogMapper.java │ │ ├── LeoBuildMapper.java │ │ ├── LeoDeployLogMapper.java │ │ ├── LeoDeployMapper.java │ │ ├── LeoJobMapper.java │ │ ├── LeoRuleMapper.java │ │ ├── LeoTemplateMapper.java │ │ ├── MenuChildMapper.java │ │ ├── MenuMapper.java │ │ ├── MessageTemplateMapper.java │ │ ├── NavMapper.java │ │ ├── PlatformNotifyHistoryMapper.java │ │ ├── ProjectMapper.java │ │ ├── ProjectResourceMapper.java │ │ ├── SerDeploySubtaskCallbackMapper.java │ │ ├── SerDeploySubtaskMapper.java │ │ ├── SerDeployTaskItemMapper.java │ │ ├── SerDeployTaskMapper.java │ │ ├── ServerAccountMapper.java │ │ ├── ServerAccountPermissionMapper.java │ │ ├── ServerGroupMapper.java │ │ ├── ServerGroupTypeMapper.java │ │ ├── ServerMapper.java │ │ ├── ServerTaskMapper.java │ │ ├── ServerTaskMemberMapper.java │ │ ├── SysAnnouncementMapper.java │ │ ├── TagMapper.java │ │ ├── TemplateMapper.java │ │ ├── TerminalSessionInstanceCommandMapper.java │ │ ├── TerminalSessionInstanceMapper.java │ │ ├── TerminalSessionMapper.java │ │ ├── UserCredentialMapper.java │ │ ├── UserGroupMapper.java │ │ ├── UserMapper.java │ │ ├── UserPermissionMapper.java │ │ ├── UserProfileMapper.java │ │ ├── UserTokenMapper.java │ │ ├── WorkEventMapper.java │ │ ├── WorkEventPropertyMapper.java │ │ ├── WorkItemMapper.java │ │ ├── WorkOrderGroupMapper.java │ │ ├── WorkOrderMapper.java │ │ ├── WorkOrderTicketEntryMapper.java │ │ ├── WorkOrderTicketMapper.java │ │ ├── WorkOrderTicketNodeMapper.java │ │ ├── WorkOrderTicketSubscriberMapper.java │ │ └── WorkRoleMapper.java │ │ ├── packer │ │ ├── ServerGroupPackerDelegate.java │ │ ├── ServerPackerDelegate.java │ │ └── TagPacker.java │ │ ├── scheduler │ │ └── QuartzService.java │ │ ├── service │ │ ├── alert │ │ │ ├── AlertNotifyEventService.java │ │ │ ├── AlertNotifyHistoryService.java │ │ │ └── impl │ │ │ │ ├── AlertNotifyEventServiceImpl.java │ │ │ │ └── AlertNotifyHistoryServiceImpl.java │ │ ├── ansible │ │ │ ├── AnsiblePlaybookService.java │ │ │ └── impl │ │ │ │ └── AnsiblePlaybookServiceImpl.java │ │ ├── application │ │ │ ├── ApplicationResourceService.java │ │ │ ├── ApplicationService.java │ │ │ └── impl │ │ │ │ ├── ApplicationResourceServiceImpl.java │ │ │ │ └── ApplicationServiceImpl.java │ │ ├── audit │ │ │ ├── AuditApiService.java │ │ │ └── impl │ │ │ │ └── AuditApiServiceImpl.java │ │ ├── auth │ │ │ ├── AuthGroupService.java │ │ │ ├── AuthPlatformLogService.java │ │ │ ├── AuthPlatformService.java │ │ │ ├── AuthResourceService.java │ │ │ ├── AuthRoleMenuService.java │ │ │ ├── AuthRoleResourceService.java │ │ │ ├── AuthRoleService.java │ │ │ ├── AuthUserRoleService.java │ │ │ ├── PlatformNotifyHistoryService.java │ │ │ └── impl │ │ │ │ ├── AuthGroupServiceImpl.java │ │ │ │ ├── AuthPlatformLogServiceImpl.java │ │ │ │ ├── AuthPlatformServiceImpl.java │ │ │ │ ├── AuthResourceServiceImpl.java │ │ │ │ ├── AuthRoleMenuServiceImpl.java │ │ │ │ ├── AuthRoleResourceServiceImpl.java │ │ │ │ ├── AuthRoleServiceImpl.java │ │ │ │ ├── AuthUserRoleServiceImpl.java │ │ │ │ └── PlatformNotifyHistoryServiceImpl.java │ │ ├── business │ │ │ ├── BizPropertyHelper.java │ │ │ ├── BusinessAssetRelationService.java │ │ │ ├── BusinessDocumentService.java │ │ │ ├── BusinessPropertyService.java │ │ │ └── impl │ │ │ │ ├── BusinessAssetRelationServiceImpl.java │ │ │ │ ├── BusinessDocumentServiceImpl.java │ │ │ │ └── BusinessPropertyServiceImpl.java │ │ ├── datasource │ │ │ ├── AliyunLogMemberService.java │ │ │ ├── AliyunLogService.java │ │ │ ├── DsConfigService.java │ │ │ ├── DsInstanceAssetPropertyService.java │ │ │ ├── DsInstanceAssetRelationService.java │ │ │ ├── DsInstanceAssetService.java │ │ │ ├── DsInstanceAssetSubscriptionService.java │ │ │ ├── DsInstanceService.java │ │ │ └── impl │ │ │ │ ├── AliyunLogMemberServiceImpl.java │ │ │ │ ├── AliyunLogServiceImpl.java │ │ │ │ ├── DsConfigServiceImpl.java │ │ │ │ ├── DsInstanceAssetPropertyServiceImpl.java │ │ │ │ ├── DsInstanceAssetRelationServiceImpl.java │ │ │ │ ├── DsInstanceAssetServiceImpl.java │ │ │ │ ├── DsInstanceAssetSubscriptionServiceImpl.java │ │ │ │ └── DsInstanceServiceImpl.java │ │ ├── event │ │ │ ├── EventBusinessService.java │ │ │ ├── EventService.java │ │ │ └── impl │ │ │ │ ├── EventBusinessServiceImpl.java │ │ │ │ └── EventServiceImpl.java │ │ ├── leo │ │ │ ├── LeoBuildImageService.java │ │ │ ├── LeoBuildLogService.java │ │ │ ├── LeoBuildService.java │ │ │ ├── LeoDeployLogService.java │ │ │ ├── LeoDeployService.java │ │ │ ├── LeoJobService.java │ │ │ ├── LeoRuleService.java │ │ │ ├── LeoTemplateService.java │ │ │ └── impl │ │ │ │ ├── LeoBuildImageServiceImpl.java │ │ │ │ ├── LeoBuildLogServiceImpl.java │ │ │ │ ├── LeoBuildServiceImpl.java │ │ │ │ ├── LeoDeployLogServiceImpl.java │ │ │ │ ├── LeoDeployServiceImpl.java │ │ │ │ ├── LeoJobServiceImpl.java │ │ │ │ ├── LeoRuleServiceImpl.java │ │ │ │ └── LeoTemplateServiceImpl.java │ │ ├── project │ │ │ ├── ProjectResourceService.java │ │ │ ├── ProjectService.java │ │ │ └── impl │ │ │ │ ├── ProjectResourceServiceImpl.java │ │ │ │ └── ProjectServiceImpl.java │ │ ├── ser │ │ │ ├── SerDeploySubtaskCallbackService.java │ │ │ ├── SerDeploySubtaskService.java │ │ │ ├── SerDeployTaskItemService.java │ │ │ ├── SerDeployTaskService.java │ │ │ └── impl │ │ │ │ ├── SerDeploySubtaskCallbackServiceImpl.java │ │ │ │ ├── SerDeploySubtaskServiceImpl.java │ │ │ │ ├── SerDeployTaskItemServiceImpl.java │ │ │ │ └── SerDeployTaskServiceImpl.java │ │ ├── server │ │ │ ├── ServerAccountPermissionService.java │ │ │ ├── ServerAccountService.java │ │ │ ├── ServerGroupService.java │ │ │ ├── ServerGroupTypeService.java │ │ │ ├── ServerService.java │ │ │ └── impl │ │ │ │ ├── ServerAccountPermissionServiceImpl.java │ │ │ │ ├── ServerAccountServiceImpl.java │ │ │ │ ├── ServerGroupServiceImpl.java │ │ │ │ ├── ServerGroupTypeServiceImpl.java │ │ │ │ └── ServerServiceImpl.java │ │ ├── sys │ │ │ ├── AnnouncementService.java │ │ │ ├── CredentialService.java │ │ │ ├── DocumentService.java │ │ │ ├── DocumentZoneService.java │ │ │ ├── EnvService.java │ │ │ ├── InstanceService.java │ │ │ ├── MenuChildService.java │ │ │ ├── MenuService.java │ │ │ ├── NavService.java │ │ │ └── impl │ │ │ │ ├── AnnouncementServiceImpl.java │ │ │ │ ├── CredentialServiceImpl.java │ │ │ │ ├── DocumentServiceImpl.java │ │ │ │ ├── DocumentZoneServiceImpl.java │ │ │ │ ├── EnvServiceImpl.java │ │ │ │ ├── InstanceServiceImpl.java │ │ │ │ ├── MenuChildServiceImpl.java │ │ │ │ ├── MenuServiceImpl.java │ │ │ │ └── NavServiceImpl.java │ │ ├── tag │ │ │ ├── BusinessTagService.java │ │ │ ├── SimpleTagService.java │ │ │ ├── TagService.java │ │ │ └── impl │ │ │ │ ├── BusinessTagServiceImpl.java │ │ │ │ ├── SimpleTagServiceImpl.java │ │ │ │ └── TagServiceImpl.java │ │ ├── task │ │ │ ├── ServerTaskMemberService.java │ │ │ ├── ServerTaskService.java │ │ │ └── impl │ │ │ │ ├── ServerTaskMemberServiceImpl.java │ │ │ │ └── ServerTaskServiceImpl.java │ │ ├── template │ │ │ ├── BusinessTemplateService.java │ │ │ ├── MessageTemplateService.java │ │ │ ├── TemplateService.java │ │ │ └── impl │ │ │ │ ├── BusinessTemplateServiceImpl.java │ │ │ │ ├── MessageTemplateServiceImpl.java │ │ │ │ └── TemplateServiceImpl.java │ │ ├── terminal │ │ │ ├── TerminalSessionInstanceCommandService.java │ │ │ ├── TerminalSessionInstanceService.java │ │ │ ├── TerminalSessionService.java │ │ │ └── impl │ │ │ │ ├── TerminalSessionInstanceCommandServiceImpl.java │ │ │ │ ├── TerminalSessionInstanceServiceImpl.java │ │ │ │ └── TerminalSessionServiceImpl.java │ │ ├── user │ │ │ ├── AccessTokenService.java │ │ │ ├── UserCredentialService.java │ │ │ ├── UserGroupService.java │ │ │ ├── UserPermissionService.java │ │ │ ├── UserProfileService.java │ │ │ ├── UserService.java │ │ │ ├── UserTokenService.java │ │ │ └── impl │ │ │ │ ├── AccessTokenServiceImpl.java │ │ │ │ ├── UserCredentialServiceImpl.java │ │ │ │ ├── UserGroupServiceImpl.java │ │ │ │ ├── UserPermissionServiceImpl.java │ │ │ │ ├── UserProfileServiceImpl.java │ │ │ │ ├── UserServiceImpl.java │ │ │ │ └── UserTokenServiceImpl.java │ │ ├── workevent │ │ │ ├── WorkEventPropertyService.java │ │ │ ├── WorkEventService.java │ │ │ ├── WorkItemService.java │ │ │ ├── WorkRoleService.java │ │ │ └── impl │ │ │ │ ├── WorkEventPropertyServiceImpl.java │ │ │ │ ├── WorkEventServiceImpl.java │ │ │ │ ├── WorkItemServiceImpl.java │ │ │ │ └── WorkRoleServiceImpl.java │ │ └── workorder │ │ │ ├── WorkOrderGroupService.java │ │ │ ├── WorkOrderService.java │ │ │ ├── WorkOrderTicketEntryService.java │ │ │ ├── WorkOrderTicketNodeService.java │ │ │ ├── WorkOrderTicketService.java │ │ │ ├── WorkOrderTicketSubscriberService.java │ │ │ └── impl │ │ │ ├── WorkOrderGroupServiceImpl.java │ │ │ ├── WorkOrderServiceImpl.java │ │ │ ├── WorkOrderTicketEntryServiceImpl.java │ │ │ ├── WorkOrderTicketNodeServiceImpl.java │ │ │ ├── WorkOrderTicketServiceImpl.java │ │ │ └── WorkOrderTicketSubscriberServiceImpl.java │ │ └── util │ │ └── SQLUtil.java │ └── resources │ ├── application.properties │ ├── generatorConfig.xml │ └── mapper │ ├── AccessTokenMapper.xml │ ├── AlertNotifyEventMapper.xml │ ├── AlertNotifyHistoryMapper.xml │ ├── AliyunLogMapper.xml │ ├── AliyunLogMemberMapper.xml │ ├── AnnouncementMapper.xml │ ├── AnsiblePlaybookMapper.xml │ ├── ApplicationMapper.xml │ ├── ApplicationResourceMapper.xml │ ├── AuditApiMapper.xml │ ├── AuthGroupMapper.xml │ ├── AuthMenuMapper.xml │ ├── AuthPlatformLogMapper.xml │ ├── AuthPlatformMapper.xml │ ├── AuthResourceMapper.xml │ ├── AuthRoleMapper.xml │ ├── AuthRoleMenuMapper.xml │ ├── AuthRoleResourceMapper.xml │ ├── AuthUserRoleMapper.xml │ ├── BusinessAssetRelationMapper.xml │ ├── BusinessDocumentMapper.xml │ ├── BusinessPropertyMapper.xml │ ├── BusinessRelationMapper.xml │ ├── BusinessTagMapper.xml │ ├── BusinessTemplateMapper.xml │ ├── CredentialMapper.xml │ ├── DatasourceConfigMapper.xml │ ├── DatasourceInstanceAssetMapper.xml │ ├── DatasourceInstanceAssetPropertyMapper.xml │ ├── DatasourceInstanceAssetRelationMapper.xml │ ├── DatasourceInstanceAssetSubscriptionMapper.xml │ ├── DatasourceInstanceMapper.xml │ ├── DocumentMapper.xml │ ├── DocumentZoneMapper.xml │ ├── EnvMapper.xml │ ├── EventBusinessMapper.xml │ ├── EventMapper.xml │ ├── InstanceMapper.xml │ ├── LeoBuildImageMapper.xml │ ├── LeoBuildLogMapper.xml │ ├── LeoBuildMapper.xml │ ├── LeoDeployLogMapper.xml │ ├── LeoDeployMapper.xml │ ├── LeoJobMapper.xml │ ├── LeoRuleMapper.xml │ ├── LeoTemplateMapper.xml │ ├── MenuChildMapper.xml │ ├── MenuMapper.xml │ ├── MessageTemplateMapper.xml │ ├── NavMapper.xml │ ├── PlatformNotifyHistoryMapper.xml │ ├── ProjectMapper.xml │ ├── ProjectResourceMapper.xml │ ├── SerDeploySubtaskCallbackMapper.xml │ ├── SerDeploySubtaskMapper.xml │ ├── SerDeployTaskItemMapper.xml │ ├── SerDeployTaskMapper.xml │ ├── ServerAccountMapper.xml │ ├── ServerAccountPermissionMapper.xml │ ├── ServerGroupMapper.xml │ ├── ServerGroupTypeMapper.xml │ ├── ServerMapper.xml │ ├── ServerTaskMapper.xml │ ├── ServerTaskMemberMapper.xml │ ├── SysAnnouncementMapper.xml │ ├── TagMapper.xml │ ├── TemplateMapper.xml │ ├── TerminalSessionInstanceCommandMapper.xml │ ├── TerminalSessionInstanceMapper.xml │ ├── TerminalSessionMapper.xml │ ├── UserCredentialMapper.xml │ ├── UserGroupMapper.xml │ ├── UserMapper.xml │ ├── UserPermissionMapper.xml │ ├── UserProfileMapper.xml │ ├── UserTokenMapper.xml │ ├── WorkEventMapper.xml │ ├── WorkEventPropertyMapper.xml │ ├── WorkItemMapper.xml │ ├── WorkOrderGroupMapper.xml │ ├── WorkOrderMapper.xml │ ├── WorkOrderTicketEntryMapper.xml │ ├── WorkOrderTicketMapper.xml │ ├── WorkOrderTicketNodeMapper.xml │ ├── WorkOrderTicketSubscriberMapper.xml │ └── WorkRoleMapper.xml ├── opscloud-ssh-core ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── sshcore │ ├── AuditRecordHelper.java │ ├── ITerminalMessageHandler.java │ ├── SshAccountHelper.java │ ├── audit │ ├── InstanceCommandBuilder.java │ ├── PodCommandAudit.java │ ├── ServerCommandAudit.java │ └── base │ │ └── AbstractCommandAudit.java │ ├── builder │ ├── TerminalSessionBuilder.java │ └── TerminalSessionInstanceBuilder.java │ ├── config │ └── TerminalConfigurationProperties.java │ ├── enums │ ├── InstanceSessionTypeEnum.java │ ├── MessageState.java │ └── SessionTypeEnum.java │ ├── facade │ ├── SimpleTerminalSessionFacade.java │ └── impl │ │ └── SimpleTerminalSessionFacadeImpl.java │ ├── handler │ ├── HostSystemHandler.java │ └── RemoteInvokeHandler.java │ ├── message │ ├── KubernetesMessage.java │ ├── ServerMessage.java │ ├── audit │ │ ├── BaseAuditMessage.java │ │ └── TerminalAuditPlayMessage.java │ └── base │ │ ├── BaseMessage.java │ │ └── SimpleLoginMessage.java │ ├── model │ ├── HostSystem.java │ ├── JSchSession.java │ ├── JSchSessionHolder.java │ ├── KubernetesResource.java │ ├── KubernetesSession.java │ ├── KubernetesSessionContainer.java │ ├── ServerNode.java │ ├── SessionIdMapper.java │ ├── SessionOutput.java │ ├── SshIO.java │ ├── SshSession.java │ └── UserSessionsOutput.java │ ├── table │ ├── Bordered.java │ ├── Colored.java │ ├── Converter.java │ ├── Parser.java │ ├── PrettyTable.java │ ├── converter │ │ ├── ColoredConsoleConverter.java │ │ ├── ConsoleConverter.java │ │ ├── GfmConverter.java │ │ ├── HtmlConverter.java │ │ └── PlainConsoleConverter.java │ ├── package-info.java │ └── parser │ │ └── JsonParser.java │ ├── task │ ├── audit │ │ ├── TerminalAuditOutputTask.java │ │ └── output │ │ │ └── OutputMessage.java │ ├── base │ │ ├── AbstractOutputTask.java │ │ ├── AbstractSshChannelOutputTask.java │ │ ├── IOutputTask.java │ │ └── IRecordOutputTask.java │ ├── kubernetes │ │ └── WatchKubernetesTerminalOutputTask.java │ ├── ssh │ │ ├── WatchKubernetesExecShellOutputTask.java │ │ └── WatchSshServerOutputTask.java │ └── terminal │ │ ├── SentOutputTask.java │ │ └── WatchServerTerminalOutputTask.java │ └── util │ ├── ChannelShellUtil.java │ ├── SessionConfigUtil.java │ ├── SessionOutputUtil.java │ └── TerminalSessionUtil.java ├── opscloud-ssh-server ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── sshserver │ ├── ExtendedCompleterAdapter.java │ ├── ExtendedCompletionProposal.java │ ├── ExtendedInput.java │ ├── ExtendedInteractiveShellRunner.java │ ├── ExtendedShell.java │ ├── PromptColor.java │ ├── SimpleTable.java │ ├── SshContext.java │ ├── SshIO.java │ ├── SshShellAutoConfiguration.java │ ├── SshShellCommandFactory.java │ ├── SshShellConfiguration.java │ ├── SshShellHelper.java │ ├── SshShellProperties.java │ ├── SshShellRunnable.java │ ├── SshShellTerminalDelegate.java │ ├── SshShellUtils.java │ ├── aop │ ├── annotation │ │ ├── ScreenClear.java │ │ ├── SettingContextSessionUser.java │ │ ├── SshShellComponent.java │ │ └── TerminalSize.java │ └── aspect │ │ ├── ScreenClearAspect.java │ │ ├── SettingContextSessionUserAspect.java │ │ └── TerminalSizeAspect.java │ ├── auth │ ├── PublickeyAuthenticatorProvider.java │ ├── SshAuthentication.java │ ├── SshShellAuthenticationProvider.java │ ├── SshShellPasswordAuthenticationProvider.java │ ├── SshShellPublicKeyAuthenticationProvider.java │ ├── SshShellSecurityAuthenticationProvider.java │ └── custom │ │ ├── CustomPasswordConfiguration.java │ │ ├── CustomPublicKeyConfiguration.java │ │ └── SecurityConfiguration.java │ ├── command │ ├── AbstractCommand.java │ ├── AvailabilityException.java │ ├── ColorAligner.java │ ├── CommandProperties.java │ ├── SshShellComponent.java │ ├── builtin │ │ ├── HistoryCommand.java │ │ ├── ScriptCommand.java │ │ ├── StacktraceCommand.java │ │ └── VersionCommand.java │ └── custom │ │ ├── context │ │ ├── KubernetesDsInstance.java │ │ └── SessionCommandContext.java │ │ ├── kubernetes │ │ ├── KubernetesDeploymentCommand.java │ │ ├── KubernetesPodCommand.java │ │ └── base │ │ │ ├── BaseKubernetesCommand.java │ │ │ └── PodContext.java │ │ └── server │ │ ├── BaseServerCommand.java │ │ ├── ServerListCommand.java │ │ ├── ServerLoginCommand.java │ │ └── param │ │ └── QueryServerParam.java │ ├── config │ ├── CommandRegistrationConfiguration.java │ └── SshShellListenerConfiguration.java │ ├── constants │ └── TableConstants.java │ ├── interactive │ ├── Interactive.java │ ├── InteractiveInput.java │ ├── InteractiveInputIO.java │ ├── KeyBinding.java │ ├── KeyBindingInput.java │ └── StoppableInteractiveInput.java │ ├── listeners │ ├── SshShellEvent.java │ ├── SshShellEventType.java │ ├── SshShellListener.java │ ├── SshShellListenerService.java │ └── event │ │ ├── AbstractSshShellEvent.java │ │ ├── ISshShellEvent.java │ │ ├── SshShellEventFactory.java │ │ └── impl │ │ ├── SshShellDestroyedEvent.java │ │ ├── SshShellStartedEvent.java │ │ ├── SshShellStoppedEvent.java │ │ └── SshShellUnexpectedlyEvent.java │ ├── manage │ └── SshShellSessionManager.java │ ├── packer │ └── SshServerPacker.java │ ├── pagination │ └── TableFooter.java │ ├── postprocess │ ├── ExtendedResultHandlerService.java │ ├── PostProcessor.java │ ├── PostProcessorException.java │ ├── PostProcessorObject.java │ └── provided │ │ ├── GrepPostProcessor.java │ │ ├── HighlightPostProcessor.java │ │ ├── JsonPointerPostProcessor.java │ │ ├── PrettyJsonPostProcessor.java │ │ └── SavePostProcessor.java │ ├── providers │ └── ExtendedFileValueProvider.java │ └── util │ ├── ServerUtil.java │ ├── SessionUtil.java │ └── TerminalUtil.java ├── opscloud-terminal-audit ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── terminal │ └── audit │ ├── ITerminalAuditHandler.java │ ├── TerminalAuditHandlerFactory.java │ └── impl │ ├── AbstractTerminalAuditHandler.java │ └── TerminalAuditPlayHandler.java ├── opscloud-terminal ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── terminal │ ├── factory │ └── ServerTerminalMessageHandlerFactory.java │ └── handler │ ├── AbstractServerTerminalHandler.java │ └── impl │ ├── ServerTerminalBatchCommandHandler.java │ ├── ServerTerminalCloseHandler.java │ ├── ServerTerminalCommandHandler.java │ ├── ServerTerminalDuplicateSessionHandler.java │ ├── ServerTerminalHeartbeatHandler.java │ ├── ServerTerminalLoginHandler.java │ ├── ServerTerminalLogoutHandler.java │ └── ServerTerminalResizeHandler.java ├── opscloud-workorder ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baiyi │ └── opscloud │ └── workorder │ ├── approve │ ├── ITicketApprove.java │ ├── factory │ │ └── WorkOrderTicketApproveFactory.java │ └── impl │ │ ├── AgreeApproveTicket.java │ │ ├── CancelApproveTicket.java │ │ ├── RejectApproveTicket.java │ │ └── base │ │ └── AbstractApproveTicket.java │ ├── constants │ ├── ApprovalTypeConstants.java │ ├── JvmSpecConstants.java │ ├── NodeTypeConstants.java │ ├── OrderTicketPhaseCodeConstants.java │ ├── OrderTicketStatusConstants.java │ ├── ProcessStatusConstants.java │ ├── StageConstants.java │ ├── SubscribeStatusConstants.java │ ├── UserGroupConstants.java │ ├── WorkOrderKeyConstants.java │ └── WorkOrderStatusConstants.java │ ├── delegate │ ├── GitLabGroupDelegate.java │ ├── GitLabProjectDelegate.java │ └── GitLabUserDelegate.java │ ├── entry │ ├── ApplicationDeployEntry.java │ ├── ApplicationReduceReplicasEntry.java │ ├── ApplicationScaleReplicasEntry.java │ ├── AwsTransferCreateUserEntry.java │ ├── KubernetesContainerJvmSpecEntry.java │ ├── KubernetesDeploymentIstioEntry.java │ └── NewApplicationEntry.java │ ├── exception │ ├── BaseTicketException.java │ ├── TicketException.java │ ├── TicketProcessException.java │ └── TicketVerifyException.java │ ├── helper │ ├── ContainerJvmSpecHelper.java │ ├── TicketApproveHelper.java │ ├── TicketNoticeHelper.java │ └── strategy │ │ ├── base │ │ ├── AbstractSendNotice.java │ │ └── ISendNotice.java │ │ └── impl │ │ ├── SendAuditNotice.java │ │ └── SendEndNotice.java │ ├── model │ └── TicketNoticeModel.java │ ├── processor │ ├── ITicketProcessor.java │ ├── factory │ │ └── WorkOrderTicketProcessorFactory.java │ └── impl │ │ ├── AliyunRamUpdateLoginProfileTicketProcessor.java │ │ ├── ApolloReleaseFaultEmergencyTicketProcessor.java │ │ ├── ApolloReleaseTicketProcessor.java │ │ ├── ApolloTicketProcessor.java │ │ ├── ApplicationDeployFaultEmergencyTicketProcessor.java │ │ ├── ApplicationDeployTicketProcessor.java │ │ ├── ApplicationFinOpsTagTicketProcessor.java │ │ ├── ApplicationPermissionTicketProcessor.java │ │ ├── ApplicationReduceReplicasTicketProcessor.java │ │ ├── ApplicationScaleReplicasTicketProcessor.java │ │ ├── AwsIamUpdateLoginProfileTicketProcessor.java │ │ ├── AwsTransferCreateUserTicketProcessor.java │ │ ├── ConfluenceTicketProcessor.java │ │ ├── EmployeeResignTicketProcessor.java │ │ ├── GitLabGroupTicketProcessor.java │ │ ├── GitLabProjectTicketProcessor.java │ │ ├── GrafanaTicketProcessor.java │ │ ├── IamPolicyTicketProcessor.java │ │ ├── KubernetesContainerJvmSpecChangesTicketProcessor.java │ │ ├── KubernetesIstioConfigurationTicketProcessor.java │ │ ├── NacosTicketProcessor.java │ │ ├── NewApplicationTicketProcessor.java │ │ ├── NexusTicketProcessor.java │ │ ├── OnsGroupTicketProcessor.java │ │ ├── OnsGroupTicketV5Processor.java │ │ ├── OnsTopicTicketProcessor.java │ │ ├── OnsTopicTicketV5Processor.java │ │ ├── RamPolicyTicketProcessor.java │ │ ├── SerDeployTicketProcessor.java │ │ ├── ServerGroupTicketProcessor.java │ │ ├── SnsSubscriptionTicketProcessor.java │ │ ├── SnsTopicTicketProcessor.java │ │ ├── SqsTicketProcessor.java │ │ ├── VpnTicketProcessor.java │ │ ├── base │ │ └── BaseTicketProcessor.java │ │ └── extended │ │ ├── AbstractDsAssetExtendedBaseTicketProcessor.java │ │ ├── AbstractDsAssetPermissionExtendedBaseTicketProcessor.java │ │ ├── AbstractUserGroupPermissionExtendedAbstractUserPermission.java │ │ └── AbstractUserPermissionExtendedBaseTicketProcessor.java │ ├── query │ ├── ITicketEntryQuery.java │ ├── factory │ │ └── WorkOrderTicketEntryQueryFactory.java │ └── impl │ │ ├── AliyunRamUserEntryQuery.java │ │ ├── ApolloEntryQuery.java │ │ ├── ApolloReleaseApplicationEntryQuery.java │ │ ├── ApolloReleaseApplicationFaultEmergencyEntryQuery.java │ │ ├── ApplicationDeployEntryQuery.java │ │ ├── ApplicationDeployFaultEmergencyEntryQuery.java │ │ ├── ApplicationEntryQuery.java │ │ ├── ApplicationFinOpsEntryQuery.java │ │ ├── ApplicationReduceReplicasEntryQuery.java │ │ ├── ApplicationScaleReplicasEntryQuery.java │ │ ├── AwsIamUserEntryQuery.java │ │ ├── AwsTransferEntryQuery.java │ │ ├── ConfluenceEntryQuery.java │ │ ├── EmployeeResignEntryQuery.java │ │ ├── GitLabGroupEntryQuery.java │ │ ├── GitLabProjectEntryQuery.java │ │ ├── GrafanaEntryQuery.java │ │ ├── IamPolicyEntryQuery.java │ │ ├── KubernetesContainerJvmSpecEntryQuery.java │ │ ├── KubernetesIstioConfigurationEntryQuery.java │ │ ├── NacosEntryQuery.java │ │ ├── NewApplicationEntryQuery.java │ │ ├── NexusEntryQuery.java │ │ ├── OnsGroupEntryQuery.java │ │ ├── OnsGroupV5EntryQuery.java │ │ ├── OnsTopicEntryQuery.java │ │ ├── OnsTopicV5EntryQuery.java │ │ ├── RamPolicyEntryQuery.java │ │ ├── SerDeployApplicationEntryQuery.java │ │ ├── ServerGroupEntryQuery.java │ │ ├── SnsSubscriptionEntryQuery.java │ │ ├── VpnEntryQuery.java │ │ ├── base │ │ └── BaseTicketEntryQuery.java │ │ └── extended │ │ ├── BaseDsAssetExtendedTicketEntryQuery.java │ │ └── BaseUserGroupExtendedTicketEntryQuery.java │ ├── util │ ├── AmPasswordUtil.java │ └── WorkflowUtil.java │ └── validator │ ├── AbstractAttributeValidator.java │ ├── QueueValidator.java │ └── attribute │ ├── IAttributeValidator.java │ └── QueueAttributes.java └── pom.xml /.murphy.yml: -------------------------------------------------------------------------------- 1 | version: 1.0.0 2 | idea: 3 | task_id: "1640893873429983232" 4 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | echo $JAVA_HOME 2 | java -version 3 | /Users/liangjian/Documents/workspace/maven-3.3.3/bin/mvn -Dmaven.test.skip=true clean package -e -T 2C -P prod -U -am 4 | 5 | # upload oss 6 | ossutil -c ~/.ossutilconfig cp -f -u ./opscloud-manage/target/opscloud-manage-prod.jar oss://opscloud4-web-hz/package/ 7 | -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/annotation/AgoWrapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * VO注入Ago 7 | * @Author baiyi 8 | * @Date 2022/2/23 11:07 AM 9 | * @Version 1.0 10 | */ 11 | @Target({ElementType.TYPE, ElementType.METHOD}) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Inherited 14 | @Documented 15 | public @interface AgoWrapper { 16 | 17 | boolean extend() default false; 18 | 19 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/annotation/ArkIntercept.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author God 7 | * @Date 2023/2/21 13:35 8 | * @Version 1.0 9 | */ 10 | @Target({ElementType.TYPE, ElementType.METHOD}) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Inherited 13 | @Documented 14 | public @interface ArkIntercept { 15 | 16 | boolean bigFlood() default true; 17 | 18 | String doomsday() default "2099-08-16 12:30:55"; 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/annotation/BizDocWrapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * VO注入业务文档 7 | * @Author baiyi 8 | * @Date 2022/5/15 19:26 9 | * @Version 1.0 10 | */ 11 | @Target({ElementType.TYPE, ElementType.METHOD}) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Inherited 14 | @Documented 15 | public @interface BizDocWrapper { 16 | 17 | boolean extend() default false; 18 | 19 | boolean wrapResult() default false; 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/annotation/BizUserWrapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/6/16 10:18 8 | * @Version 1.0 9 | */ 10 | @Target({ElementType.TYPE, ElementType.METHOD}) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Inherited 13 | @Documented 14 | public @interface BizUserWrapper { 15 | 16 | boolean extend() default false; 17 | 18 | boolean wrapResult() default false; 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/annotation/DurationWrapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * VO注入持续时间 7 | * 8 | * @Author baiyi 9 | * @Date 2022/2/23 1:09 PM 10 | * @Version 1.0 11 | */ 12 | @Target({ElementType.TYPE, ElementType.METHOD}) 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Inherited 15 | @Documented 16 | public @interface DurationWrapper { 17 | 18 | boolean extend() default false; 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/annotation/EnvWrapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/2/9 9:13 AM 8 | * @Version 1.0 9 | */ 10 | @Target({ElementType.TYPE, ElementType.METHOD}) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Inherited 13 | @Documented 14 | public @interface EnvWrapper { 15 | 16 | boolean extend() default false; 17 | 18 | boolean wrapResult() default false; 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/annotation/LaterWrapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/2/23 11:33 AM 8 | * @Version 1.0 9 | */ 10 | @Target({ElementType.TYPE, ElementType.METHOD}) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Inherited 13 | @Documented 14 | public @interface LaterWrapper { 15 | 16 | boolean extend() default false; 17 | 18 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/annotation/RuntimeWrapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/11/30 22:03 8 | * @Version 1.0 9 | */ 10 | @Target({ElementType.TYPE, ElementType.METHOD}) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Inherited 13 | @Documented 14 | public @interface RuntimeWrapper { 15 | 16 | boolean extend() default false; 17 | 18 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/annotation/ServiceExceptionCatch.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author 修远 7 | * @Date 2022/7/25 3:45 PM 8 | * @Since 1.0 9 | */ 10 | 11 | 12 | @Documented 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Target({ElementType.TYPE, ElementType.METHOD}) 15 | public @interface ServiceExceptionCatch { 16 | 17 | String message() default "Primary Key conflict"; 18 | 19 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/annotation/SingleTask.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/6/10 3:42 下午 8 | * @Version 1.0 9 | */ 10 | @Documented 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target({ElementType.TYPE, ElementType.METHOD}) 13 | public @interface SingleTask { 14 | 15 | String name() default ""; 16 | 17 | /** 18 | * second 19 | * 20 | * @return 21 | */ 22 | String lockTime() default "60"; 23 | 24 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/annotation/TagsWrapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/2/9 10:54 AM 8 | * @Version 1.0 9 | */ 10 | @Target({ElementType.TYPE, ElementType.METHOD}) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Inherited 13 | @Documented 14 | public @interface TagsWrapper { 15 | 16 | boolean extend() default false; 17 | 18 | boolean wrapResult() default false; 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/annotation/WatchTask.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/1/29 14:00 8 | * @Version 1.0 9 | */ 10 | @Target({ElementType.TYPE, ElementType.METHOD}) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Inherited 13 | @Documented 14 | public @interface WatchTask { 15 | 16 | /** 17 | * 任务名称 18 | * 19 | * @return 20 | */ 21 | String name() default "Not specified"; 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/base/AccessLevel.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.base; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2020/4/11 1:58 上午 8 | * @Version 1.0 9 | */ 10 | @Getter 11 | public enum AccessLevel { 12 | 13 | /** 14 | * 访问级别 15 | */ 16 | ADMIN(100), 17 | OPS(50), 18 | DEV(40), 19 | BASE(10), 20 | DEF(0); 21 | 22 | private final int level; 23 | 24 | AccessLevel(int level) { 25 | this.level = level; 26 | } 27 | 28 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/base/IToString.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.base; 2 | 3 | import com.baiyi.opscloud.common.util.JSONUtil; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/7/26 09:43 8 | * @Version 1.0 9 | */ 10 | public abstract class IToString { 11 | 12 | @Override 13 | public String toString() { 14 | return JSONUtil.writeValueAsString(this); 15 | } 16 | 17 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/base/IToURL.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.base; 2 | 3 | import java.net.MalformedURLException; 4 | import java.net.URI; 5 | import java.net.URL; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2023/12/25 13:49 10 | * @Version 1.0 11 | */ 12 | public abstract class IToURL { 13 | 14 | public URL toURL() throws MalformedURLException { 15 | return URI.create(acqURL()).toURL(); 16 | } 17 | 18 | protected abstract String acqURL(); 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/base/ServerTaskStatusEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2020/4/8 3:08 下午 6 | * @Version 1.0 7 | */ 8 | public enum ServerTaskStatusEnum { 9 | 10 | /** 11 | * 队列中 12 | */ 13 | QUEUE, 14 | /** 15 | * 执行中 16 | */ 17 | EXECUTING, 18 | /** 19 | * 完成 20 | */ 21 | FINALIZED 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/configuration/properties/HostConfigurationProperties.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.configuration.properties; 2 | 3 | import lombok.Data; 4 | import org.springframework.boot.context.properties.ConfigurationProperties; 5 | import org.springframework.stereotype.Component; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2020/5/26 6:08 下午 10 | * @Version 1.0 11 | */ 12 | @Data 13 | @Component 14 | @ConfigurationProperties(prefix = "host", ignoreInvalidFields = true) 15 | public class HostConfigurationProperties { 16 | 17 | private String url; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/constants/KubernetesProviders.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.constants; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/3/17 09:38 8 | * @Version 1.0 9 | */ 10 | @Getter 11 | public enum KubernetesProviders { 12 | 13 | /** 14 | * 供应商 15 | */ 16 | AMAZON_EKS("AmazonEKS"); 17 | 18 | private final String desc; 19 | 20 | KubernetesProviders(String desc) { 21 | this.desc = desc; 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/constants/OsTypeConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.constants; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/1/25 4:50 PM 8 | * @Version 1.0 9 | */ 10 | @Getter 11 | public enum OsTypeConstants { 12 | 13 | /** 14 | * 系统类型 15 | */ 16 | LINUX("Linux"), 17 | WINDOWS("Windows"), 18 | MACOS("MacOS"); 19 | 20 | private final String desc; 21 | 22 | OsTypeConstants(String desc) { 23 | this.desc = desc; 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/constants/SerDeployConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.constants; 2 | 3 | /** 4 | * @Author 修远 5 | * @Date 2023/7/5 4:32 PM 6 | * @Since 1.0 7 | */ 8 | public class SerDeployConstants { 9 | 10 | public interface SubTaskResult { 11 | String SUCCESS = "SUCCESS"; 12 | String CALL_FAIL = "CALL_FAIL"; 13 | String VALID_FAIL = "VALID_FAIL"; 14 | } 15 | 16 | public interface SubTaskStatus { 17 | String CREATE = "CREATE"; 18 | String RELOADING = "RELOADING"; 19 | String FINISH = "FINISH"; 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/constants/TemplateKeyConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.constants; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/7/11 20:09 6 | * @Version 1.0 7 | */ 8 | public enum TemplateKeyConstants { 9 | 10 | DEPLOYMENT, 11 | SERVICE, 12 | INGRESS, 13 | CUSTOM_RESOURCE, 14 | VIRTUAL_SERVICE, 15 | DESTINATION_RULE 16 | 17 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/constants/enums/ApolloReleaseActionEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.constants.enums; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/11/10 11:27 6 | * @Version 1.0 7 | */ 8 | public enum ApolloReleaseActionEnum { 9 | 10 | // 灰度发布 11 | GRAY_RELEASE, 12 | // 生产发布 13 | RELEASE, 14 | // 合并灰度 15 | MERGE 16 | 17 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/constants/enums/ApplicationResEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.constants.enums; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/5/6 1:22 下午 8 | * @Version 1.0 9 | */ 10 | @Getter 11 | public enum ApplicationResEnum { 12 | 13 | /** 14 | * 资源类型 15 | */ 16 | SERVER_GROUP("SERVER_GROUP"), 17 | GITLAB_PROJECT("GITLAB_PROJECT"), 18 | GITLAB_GROUP("GITLAB_GROUP"); 19 | 20 | private final String type; 21 | 22 | ApplicationResEnum(String type) { 23 | this.type = type; 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/constants/enums/ProtocolEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.constants.enums; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/5/25 1:31 下午 8 | * @Version 1.0 9 | */ 10 | @Getter 11 | public enum ProtocolEnum { 12 | 13 | /** 14 | * 协议类型 15 | */ 16 | SSH("ssh"), 17 | VNC("vnc"), 18 | RDP("rdp"); 19 | 20 | private final String type; 21 | 22 | ProtocolEnum(String type) { 23 | this.type = type; 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/constants/enums/SessionSource.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.constants.enums; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/10/20 4:46 下午 6 | * @Version 1.0 7 | */ 8 | public enum SessionSource { 9 | 10 | SSH_SHELL, 11 | TOKEN 12 | 13 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/datasource/base/BaseDsConfig.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.datasource.base; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.Map; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/5/15 6:40 下午 10 | * @Version 1.0 11 | */ 12 | @Data 13 | public class BaseDsConfig { 14 | 15 | private String name; 16 | 17 | private String url; 18 | 19 | private Map props; 20 | 21 | private Integer instanceId; 22 | 23 | private Integer configId; 24 | 25 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/datasource/base/IFilterDsConfig.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.datasource.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/5/30 14:34 6 | * @Version 1.0 7 | */ 8 | public interface IFilterDsConfig { 9 | 10 | boolean filter( String str); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/event/EventTypeConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.event; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2022/3/4 11:42 AM 6 | * @Version 1.0 7 | */ 8 | public enum EventTypeConstants { 9 | 10 | EMPLOYEE_RESIGN 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/event/IEvent.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.event; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/8/17 4:26 下午 6 | * @Version 1.0 7 | */ 8 | public interface IEvent extends IEventType { 9 | 10 | String getAction(); 11 | 12 | T getBody(); 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/event/IEventType.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.event; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/8/17 6:59 下午 6 | * @Version 1.0 7 | */ 8 | public interface IEventType { 9 | 10 | String getEventType(); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/event/SimpleEvent.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.event; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2021/8/17 4:37 下午 9 | * @Version 1.0 10 | */ 11 | @Builder 12 | @Data 13 | public class SimpleEvent implements IEvent { 14 | 15 | private String eventType; 16 | 17 | private String action; 18 | 19 | private T body; 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/exception/ErrorCode.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.exception; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2020/4/19 12:18 下午 6 | * @Version 1.0 7 | */ 8 | public interface ErrorCode { 9 | 10 | String getCode(); 11 | 12 | String getDesc(); 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/function/BranchFunction.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.function; 2 | 3 | /** 4 | * @Author 修远 5 | * @Date 2023/5/8 3:03 PM 6 | * @Since 1.0 7 | */ 8 | 9 | @FunctionalInterface 10 | public interface BranchFunction { 11 | 12 | /** 13 | * 分支操作 14 | * @param withTrue 15 | * @param withFalse 16 | */ 17 | void withBoolean(Runnable withTrue, Runnable withFalse); 18 | 19 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/function/ThrowBaseExceptionFunction.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.function; 2 | 3 | import com.baiyi.opscloud.common.exception.BaseException; 4 | 5 | /** 6 | * @Author 修远 7 | * @Date 2023/5/8 2:53 PM 8 | * @Since 1.0 9 | */ 10 | @FunctionalInterface 11 | public interface ThrowBaseExceptionFunction { 12 | 13 | /** 14 | * 抛出异常信息 15 | * 16 | * @param baseException 异常信息 17 | * @return void 18 | **/ 19 | void throwBaseException(BaseException baseException); 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/function/TrueFunction.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.function; 2 | 3 | /** 4 | * @Author 修远 5 | * @Date 2023/5/16 2:58 PM 6 | * @Since 1.0 7 | */ 8 | 9 | @FunctionalInterface 10 | public interface TrueFunction { 11 | 12 | void withTrue(Runnable runnable); 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/instance/OcInstance.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.instance; 2 | 3 | import com.baiyi.opscloud.common.util.HostUtil; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/12/26 14:19 8 | * @Version 1.0 9 | */ 10 | public class OcInstance { 11 | 12 | /** 13 | * 实例名称 14 | */ 15 | public static final String OC_INSTANCE = HostUtil.getHostName(); 16 | 17 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/util/DingtalkUtil.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.util; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2022/7/13 15:02 6 | * @Version 1.0 7 | */ 8 | public class DingtalkUtil { 9 | 10 | private static final String DING_WEB_HOOK = "https://oapi.dingtalk.com/robot/send?access_token={}"; 11 | 12 | /** 13 | * 钉钉机器人WebHook地址 14 | * 15 | * @return 16 | */ 17 | public static String getRobotWebHook(String token) { 18 | return StringFormatter.format(DING_WEB_HOOK,token); 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/util/ExtendUtil.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.util; 2 | 3 | import com.baiyi.opscloud.domain.param.IExtend; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/5/13 3:57 下午 8 | * @Version 1.0 9 | */ 10 | public class ExtendUtil { 11 | 12 | private ExtendUtil() { 13 | } 14 | 15 | public static boolean isExtend(IExtend iExtend) { 16 | if (iExtend.getExtend() == null) { 17 | return false; 18 | } 19 | return iExtend.getExtend(); 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/util/InstantUtil.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.util; 2 | 3 | import java.time.Duration; 4 | import java.time.Instant; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2021/4/2 10:21 上午 9 | * @Version 1.0 10 | */ 11 | public class InstantUtil { 12 | 13 | private InstantUtil() { 14 | } 15 | 16 | public static long timerMillis(Instant inst) { 17 | return Instant.now().toEpochMilli() - inst.toEpochMilli(); 18 | } 19 | 20 | public static long timerSeconds(Instant inst) { 21 | return Duration.between(inst, Instant.now()).getSeconds(); 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/util/JSONMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.util; 2 | 3 | import com.fasterxml.jackson.databind.ObjectMapper; 4 | import com.fasterxml.jackson.databind.SerializationFeature; 5 | 6 | import java.io.Serial; 7 | 8 | /** 9 | * @Author baiyi 10 | * @Date 2020/1/2 10:31 上午 11 | * @Version 1.0 12 | */ 13 | public class JSONMapper extends ObjectMapper { 14 | 15 | @Serial 16 | private static final long serialVersionUID = 5829187962496495455L; 17 | 18 | public JSONMapper() { 19 | this.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/util/RandomUtil.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.util; 2 | 3 | import java.util.Random; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/1/4 6:42 PM 8 | * @Version 1.0 9 | */ 10 | public class RandomUtil { 11 | 12 | private RandomUtil() { 13 | } 14 | 15 | public static int random(int i) { 16 | Random r = new Random(); 17 | return r.nextInt(i); 18 | } 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/util/StringFormatter.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.util; 2 | 3 | import org.slf4j.helpers.MessageFormatter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/7/14 13:23 8 | * @Version 1.0 9 | */ 10 | public class StringFormatter { 11 | 12 | private StringFormatter() { 13 | } 14 | 15 | public static String arrayFormat(String str, Object... args) { 16 | return MessageFormatter.arrayFormat(str, args).getMessage(); 17 | } 18 | 19 | public static String format(String str, Object arg) { 20 | return MessageFormatter.format(str, arg).getMessage(); 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-common/src/main/java/com/baiyi/opscloud/common/util/TemplateUtil.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.common.util; 2 | 3 | import org.apache.commons.text.StringSubstitutor; 4 | 5 | import java.util.Map; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2020/7/3 5:32 下午 10 | * @Version 1.0 11 | */ 12 | public class TemplateUtil { 13 | 14 | public static String render(String templateString, Map dict) { 15 | try { 16 | StringSubstitutor sub = new StringSubstitutor(dict); 17 | return sub.replace(templateString); 18 | } catch (Exception e) { 19 | return templateString; 20 | } 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-datasource-aliyun-acr/src/main/java/com/baiyi/opscloud/datasource/aliyun/acr/driver/base/BaseAliyunAcrDriver.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.aliyun.acr.driver.base; 2 | 3 | import com.baiyi.opscloud.datasource.aliyun.core.AliyunClient; 4 | 5 | import jakarta.annotation.Resource; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2022/8/15 16:26 10 | * @Version 1.0 11 | */ 12 | public abstract class BaseAliyunAcrDriver { 13 | 14 | @Resource 15 | protected AliyunClient aliyunClient; 16 | 17 | public interface Query { 18 | int PAGE_SIZE = 30; 19 | String NORMAL = "NORMAL"; 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /opscloud-datasource-aliyun-dms/src/main/java/com/baiyi/opscloud/datasource/aliyun/dms/entity/DmsTenant.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.aliyun.dms.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/12/16 5:25 PM 10 | * @Version 1.0 11 | */ 12 | public class DmsTenant { 13 | 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public static class Tenant { 18 | public String status; 19 | public String tenantName; 20 | public Long tid; 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-datasource-ansible/src/main/java/com/baiyi/opscloud/datasource/ansible/builder/args/IAnsibleArgs.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.ansible.builder.args; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/3/22 09:50 6 | * @Version 1.0 7 | */ 8 | public interface IAnsibleArgs { 9 | 10 | String getInventory(); 11 | 12 | String getKeyFile(); 13 | 14 | Integer getForks(); 15 | 16 | String getBecomeUser(); 17 | 18 | boolean isVersion(); 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-datasource-ansible/src/main/java/com/baiyi/opscloud/datasource/ansible/exception/TaskStopException.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.ansible.exception; 2 | 3 | import java.io.Serial; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2020/4/17 7:43 下午 8 | * @Version 1.0 9 | */ 10 | public class TaskStopException extends RuntimeException { 11 | 12 | @Serial 13 | private static final long serialVersionUID = -2575786728049685346L; 14 | 15 | private final static String MESSAGE = "Task cancelled"; 16 | 17 | public TaskStopException(){ 18 | //父类构造方法 19 | super(MESSAGE); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /opscloud-datasource-ansible/src/main/java/com/baiyi/opscloud/datasource/ansible/exception/TaskTimeoutException.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.ansible.exception; 2 | 3 | import java.io.Serial; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2020/4/17 7:47 下午 8 | * @Version 1.0 9 | */ 10 | public class TaskTimeoutException extends RuntimeException { 11 | 12 | @Serial 13 | private static final long serialVersionUID = 5132629163560589207L; 14 | 15 | private final static String MESSAGE = "Task timeout"; 16 | 17 | public TaskTimeoutException() { 18 | super(MESSAGE); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /opscloud-datasource-ansible/src/main/java/com/baiyi/opscloud/datasource/ansible/play/ITaskPlayProcessor.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.ansible.play; 2 | 3 | import jakarta.websocket.Session; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/9/26 5:23 下午 8 | * @Version 1.0 9 | */ 10 | public interface ITaskPlayProcessor { 11 | 12 | /** 13 | * @param message 14 | * @param session 15 | */ 16 | void process(String message, Session session); 17 | 18 | String getState(); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /opscloud-datasource-ansible/src/main/java/com/baiyi/opscloud/datasource/ansible/play/enums/TaskMessageState.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.ansible.play.enums; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/9/26 5:18 下午 8 | * @Version 1.0 9 | */ 10 | public enum TaskMessageState { 11 | 12 | /** 13 | * 14 | */ 15 | LOGIN("会话初始建立"), 16 | PLAY("播放"); 17 | 18 | @Getter 19 | private final String desc; 20 | 21 | TaskMessageState(String desc) { 22 | this.desc = desc; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /opscloud-datasource-ansible/src/main/java/com/baiyi/opscloud/datasource/ansible/play/message/ServerTaskPlayMessage.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.ansible.play.message; 2 | 3 | import com.baiyi.opscloud.datasource.ansible.play.message.base.BasePlayMessage; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | import java.util.Set; 8 | 9 | /** 10 | * @Author baiyi 11 | * @Date 2021/9/26 5:31 下午 12 | * @Version 1.0 13 | */ 14 | @EqualsAndHashCode(callSuper = true) 15 | @Data 16 | public class ServerTaskPlayMessage extends BasePlayMessage { 17 | 18 | private Set serverTaskMemberIds; 19 | } 20 | -------------------------------------------------------------------------------- /opscloud-datasource-ansible/src/main/java/com/baiyi/opscloud/datasource/ansible/play/message/base/BasePlayMessage.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.ansible.play.message.base; 2 | 3 | import com.baiyi.opscloud.domain.model.message.IState; 4 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 5 | import lombok.Data; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/9/26 5:28 下午 10 | * @Version 1.0 11 | */ 12 | @Data 13 | @JsonIgnoreProperties 14 | public class BasePlayMessage implements IState { 15 | 16 | private String state; 17 | 18 | private String sessionId; 19 | 20 | } 21 | 22 | -------------------------------------------------------------------------------- /opscloud-datasource-apollo/src/main/java/com/baiyi/opscloud/datasource/apollo/driver/ApolloEnvDriver.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.apollo.driver; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/5/29 17:43 6 | * @Version 1.0 7 | */ 8 | public class ApolloEnvDriver { 9 | 10 | // https://www.apolloconfig.com/#/zh/usage/apollo-open-api-platform 11 | 12 | public void listEnv(){ 13 | 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /opscloud-datasource-aws-ec2/src/main/java/com/baiyi/opscloud/datasource/aws/ec2/util/AmazonEc2Util.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.aws.ec2.util; 2 | 3 | import com.amazonaws.services.ec2.model.Tag; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2022/1/24 6:52 PM 10 | * @Version 1.0 11 | */ 12 | public class AmazonEc2Util { 13 | 14 | public static String getInstanceName(List tags) { 15 | return tags.stream().filter(tag -> tag.getKey().equals("Name")).findFirst().map(Tag::getValue).orElse(""); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /opscloud-datasource-core/src/main/java/com/baiyi/opscloud/core/asset/IToAsset.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.core.asset; 2 | 3 | import com.baiyi.opscloud.domain.builder.asset.AssetContainer; 4 | import com.baiyi.opscloud.domain.generator.opscloud.DatasourceInstance; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2021/12/21 7:45 PM 9 | * @Version 1.0 10 | */ 11 | public interface IToAsset { 12 | 13 | AssetContainer toAssetContainer(DatasourceInstance dsInstance); 14 | 15 | } -------------------------------------------------------------------------------- /opscloud-datasource-core/src/main/java/com/baiyi/opscloud/core/model/DsInstanceContext.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.core.model; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.DatasourceConfig; 4 | import com.baiyi.opscloud.domain.generator.opscloud.DatasourceInstance; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | 8 | /** 9 | * @Author baiyi 10 | * @Date 2021/6/23 11:22 上午 11 | * @Version 1.0 12 | */ 13 | @Data 14 | @Builder 15 | public class DsInstanceContext { 16 | 17 | private DatasourceInstance dsInstance; 18 | private DatasourceConfig dsConfig; 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-datasource-core/src/main/java/com/baiyi/opscloud/core/provider/annotation/ChildProvider.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.core.provider.annotation; 2 | 3 | import com.baiyi.opscloud.domain.constants.DsAssetTypeConstants; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * @Author 修远 9 | * @Date 2021/7/6 5:26 下午 10 | * @Since 1.0 11 | */ 12 | 13 | @Documented 14 | @Retention(RetentionPolicy.RUNTIME) 15 | @Target(ElementType.TYPE) 16 | public @interface ChildProvider { 17 | 18 | DsAssetTypeConstants parentType(); 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-datasource-core/src/main/java/com/baiyi/opscloud/core/provider/annotation/EnablePullChild.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.core.provider.annotation; 2 | 3 | import com.baiyi.opscloud.domain.constants.DsAssetTypeConstants; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * @Author 修远 9 | * @Date 2021/7/6 5:39 下午 10 | * @Since 1.0 11 | */ 12 | 13 | @Documented 14 | @Retention(RetentionPolicy.RUNTIME) 15 | @Target(ElementType.METHOD) 16 | public @interface EnablePullChild { 17 | 18 | DsAssetTypeConstants type(); 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-datasource-core/src/main/java/com/baiyi/opscloud/core/provider/base/asset/BaseAssetRegisterProvider.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.core.provider.base.asset; 2 | 3 | import com.baiyi.opscloud.domain.base.IAssetType; 4 | import com.baiyi.opscloud.domain.base.IInstanceType; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2021/6/18 11:13 上午 9 | * @Version 1.0 10 | */ 11 | public interface BaseAssetRegisterProvider extends IAssetType, IInstanceType { 12 | 13 | } -------------------------------------------------------------------------------- /opscloud-datasource-core/src/main/java/com/baiyi/opscloud/core/provider/base/asset/IAssetBusinessRelation.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.core.provider.base.asset; 2 | 3 | import com.baiyi.opscloud.domain.vo.datasource.DsAssetVO; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/8/2 2:03 下午 8 | * @Version 1.0 9 | */ 10 | public interface IAssetBusinessRelation { 11 | 12 | /** 13 | * 扫描所有资产与业务对象绑定关系 14 | * @param dsInstanceId 15 | */ 16 | void scan(int dsInstanceId); 17 | 18 | /** 19 | * 扫描资产与业务对象绑定关系 20 | * @param asset 21 | */ 22 | void scan(DsAssetVO.Asset asset); 23 | 24 | } -------------------------------------------------------------------------------- /opscloud-datasource-core/src/main/java/com/baiyi/opscloud/core/provider/base/asset/SimpleAssetProvider.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.core.provider.base.asset; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/6/23 9:53 上午 6 | * @Version 1.0 7 | */ 8 | public interface SimpleAssetProvider extends IAssetProvider, BaseAssetRegisterProvider { 9 | 10 | } -------------------------------------------------------------------------------- /opscloud-datasource-core/src/main/java/com/baiyi/opscloud/core/provider/base/auth/IAuthenticationProvider.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.core.provider.base.auth; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.DatasourceInstance; 4 | import com.baiyi.opscloud.domain.model.Authorization; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2021/6/23 9:28 上午 9 | * @Version 1.0 10 | */ 11 | public interface IAuthenticationProvider { 12 | 13 | /** 14 | * 登录 15 | * @param instance 16 | * @param credential 17 | * @return 18 | */ 19 | boolean login(DatasourceInstance instance, Authorization.Credential credential); 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-datasource-core/src/main/java/com/baiyi/opscloud/core/provider/base/auth/SimpleAuthenticationProvider.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.core.provider.base.auth; 2 | 3 | import com.baiyi.opscloud.domain.base.IInstanceType; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/6/23 10:17 上午 8 | * @Version 1.0 9 | */ 10 | public interface SimpleAuthenticationProvider extends IAuthenticationProvider, IInstanceType { 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-datasource-core/src/main/java/com/baiyi/opscloud/core/provider/base/common/ISetDsInstanceConfig.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.core.provider.base.common; 2 | 3 | import com.baiyi.opscloud.domain.base.IInstanceType; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/6/24 6:38 下午 8 | * @Version 1.0 9 | */ 10 | public interface ISetDsInstanceConfig extends IInstanceType { 11 | 12 | void setConfig(int instanceId); 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-datasource-core/src/main/java/com/baiyi/opscloud/core/provider/base/common/ITargetProvider.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.core.provider.base.common; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/6/19 7:26 下午 6 | * @Version 1.0 7 | */ 8 | public interface ITargetProvider { 9 | 10 | String getTargetAssetKey(); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-datasource-core/src/main/java/com/baiyi/opscloud/core/util/SystemEnvUtil.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.core.util; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/6/25 5:30 下午 6 | * @Version 1.0 7 | */ 8 | public class SystemEnvUtil { 9 | 10 | private SystemEnvUtil() { 11 | } 12 | 13 | public static String renderEnvHome(String str) { 14 | try { 15 | return str.replace("${HOME}", System.getenv("HOME")); 16 | } catch (Exception ignored) { 17 | } 18 | return str; 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-datasource-core/src/main/java/com/baiyi/opscloud/core/util/enums/TimeZoneEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.core.util.enums; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/10/8 10:53 上午 8 | * @Version 1.0 9 | */ 10 | @Getter 11 | public enum TimeZoneEnum { 12 | 13 | /** 14 | * UTC 15 | */ 16 | UTC("yyyy-MM-dd'T'HH:mm:ss'Z'"); 17 | 18 | private final String format; 19 | 20 | TimeZoneEnum(String format) { 21 | this.format = format; 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /opscloud-datasource-gitlab/src/main/java/com/baiyi/opscloud/datasource/gitlab/client/GitLabApiBuilder.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.gitlab.client; 2 | 3 | import com.baiyi.opscloud.common.datasource.GitLabConfig; 4 | import com.baiyi.opscloud.datasource.gitlab.factory.GitLabApiFactory; 5 | import org.gitlab4j.api.GitLabApi; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2023/4/24 09:49 10 | * @Version 1.0 11 | */ 12 | public class GitLabApiBuilder { 13 | 14 | private GitLabApiBuilder() { 15 | } 16 | 17 | public static GitLabApi build(GitLabConfig.GitLab gitlab) { 18 | return GitLabApiFactory.buildGitLabApi(gitlab); 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-datasource-gitlab/src/main/java/com/baiyi/opscloud/datasource/gitlab/driver/GitLabExampleDriver.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.gitlab.driver; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/11/14 16:23 8 | * @Version 1.0 9 | */ 10 | @Slf4j 11 | public class GitLabExampleDriver { 12 | 13 | } -------------------------------------------------------------------------------- /opscloud-datasource-gitlab/src/main/java/com/baiyi/opscloud/datasource/gitlab/entity/GitLabSshKey.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.gitlab.entity; 2 | 3 | import lombok.Data; 4 | import lombok.EqualsAndHashCode; 5 | import org.gitlab4j.api.models.SshKey; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2022/10/27 16:11 10 | * @Version 1.0 11 | */ 12 | 13 | @Data 14 | @EqualsAndHashCode(callSuper = true) 15 | public class GitLabSshKey extends SshKey { 16 | 17 | private String username; 18 | 19 | } -------------------------------------------------------------------------------- /opscloud-datasource-gitlab/src/main/java/com/baiyi/opscloud/datasource/gitlab/feign/GitLabUserFeign.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.gitlab.feign; 2 | 3 | import feign.RequestLine; 4 | import feign.Response; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2022/10/31 10:59 9 | * @Version 1.0 10 | */ 11 | public interface GitLabUserFeign { 12 | 13 | /** 14 | * https://static-legacy.dingtalk.com/media/lQDPDhvVtvtbMfPNA8LNA8CwHt7eHxEhYoQDLtLPsEC3AA_960_962.jpg 15 | * @return 16 | */ 17 | @RequestLine("GET /media/{fileName}") 18 | Response getUserAvatar(); 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-datasource-google-cloud-core/src/main/java/com/baiyi/opscloud/datasource/google/cloud/core/client/GoogleCloudClient.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.google.cloud.core.client; 2 | 3 | 4 | /** 5 | * 例子 6 | * @Author baiyi 7 | * @Date 2023/3/27 16:24 8 | * @Version 1.0 9 | */ 10 | public class GoogleCloudClient { 11 | 12 | // public static Credentials getCredentials(String accessToken, Date expirationTime) { 13 | // return GoogleCredentials.create(new AccessToken(accessToken, expirationTime)); 14 | // } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /opscloud-datasource-jenkins/src/main/java/com/baiyi/opscloud/datasource/jenkins/engine/JenkinsBuildExecutorHelper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.jenkins.engine; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.DatasourceInstance; 4 | import com.baiyi.opscloud.datasource.jenkins.status.JenkinsBuildExecutorStatusVO; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2022/8/1 10:01 9 | * @Version 1.0 10 | */ 11 | public interface JenkinsBuildExecutorHelper { 12 | 13 | JenkinsBuildExecutorStatusVO.Children generatorBuildExecutorStatus(DatasourceInstance instance); 14 | 15 | } -------------------------------------------------------------------------------- /opscloud-datasource-jenkins/src/main/java/com/baiyi/opscloud/datasource/jenkins/entity/JenkinsJob.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.jenkins.entity; 2 | 3 | import com.baiyi.opscloud.datasource.jenkins.model.Job; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.EqualsAndHashCode; 7 | import lombok.NoArgsConstructor; 8 | 9 | /** 10 | * @Author baiyi 11 | * @Date 2022/10/31 20:36 12 | * @Version 1.0 13 | */ 14 | @Data 15 | @EqualsAndHashCode(callSuper = true) 16 | @AllArgsConstructor 17 | @NoArgsConstructor 18 | public class JenkinsJob extends Job { 19 | 20 | private Boolean isFolder; 21 | private Boolean isTemplate; 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-datasource-jenkins/src/main/java/com/baiyi/opscloud/datasource/jenkins/entity/JenkinsPipeline.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.jenkins.entity; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/1/5 1:37 PM 8 | * @Version 1.0 9 | */ 10 | public class JenkinsPipeline { 11 | 12 | @Data 13 | public static class Pipeline { 14 | 15 | private Boolean disabled; 16 | private String displayName; 17 | private Long estimatedDurationInMillis; 18 | private String fullDisplayName; 19 | private String fullName; 20 | 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-datasource-jenkins/src/main/java/com/baiyi/opscloud/datasource/jenkins/helper/BuildConsoleStreamListener.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.jenkins.helper; 2 | 3 | /** 4 | * Listener interface used to obtain build console logs 5 | */ 6 | public interface BuildConsoleStreamListener { 7 | 8 | /** 9 | * Called by api when new log data available. 10 | * 11 | * @param newLogChunk - string containing latest chunk of logs 12 | */ 13 | void onData(String newLogChunk); 14 | 15 | /** 16 | * Called when streaming console output is finished 17 | */ 18 | void finished(); 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-datasource-jenkins/src/main/java/com/baiyi/opscloud/datasource/jenkins/message/SimpleMessage.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.jenkins.message; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/8/1 16:02 8 | * @Version 1.0 9 | */ 10 | @Data 11 | public class SimpleMessage { 12 | 13 | private Integer instanceId; 14 | private String instanceUuid; 15 | 16 | } -------------------------------------------------------------------------------- /opscloud-datasource-jenkins/src/main/java/com/baiyi/opscloud/datasource/jenkins/model/ExtractHeader.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.jenkins.model; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public class ExtractHeader extends BaseModel { 7 | 8 | private String location; 9 | 10 | public ExtractHeader setLocation(String value) { 11 | location = value; 12 | return this; 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /opscloud-datasource-jenkins/src/main/java/com/baiyi/opscloud/datasource/jenkins/model/MavenJob.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.jenkins.model; 2 | 3 | import java.io.IOException; 4 | 5 | public class MavenJob extends Job { 6 | 7 | public MavenJob() { 8 | } 9 | 10 | public MavenJob(String name, String url) { 11 | super(name, url); 12 | } 13 | 14 | public MavenJob(String name, String url, String fullName) { 15 | super(name, url, fullName); 16 | } 17 | 18 | public MavenJobWithDetails mavenDetails() throws IOException { 19 | return client.get(getUrl(), MavenJobWithDetails.class); 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /opscloud-datasource-jenkins/src/main/java/com/baiyi/opscloud/datasource/jenkins/model/QueueReference.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.jenkins.model; 2 | 3 | public class QueueReference extends BaseModel { 4 | 5 | private final String queueItem; 6 | 7 | public QueueReference(String location) { 8 | queueItem = location; 9 | } 10 | 11 | public String getQueueItemUrlPart() { 12 | return queueItem; 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /opscloud-datasource-jenkins/src/main/java/com/baiyi/opscloud/datasource/jenkins/util/ComputerNameUtil.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.jenkins.util; 2 | 3 | import com.baiyi.opscloud.datasource.jenkins.client.util.EncodingUtils; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/4/6 14:49 8 | * @Version 1.0 9 | */ 10 | public class ComputerNameUtil { 11 | 12 | private static final String BUILT_IN_NODE_NAME = "built-in node"; 13 | 14 | public static String toName(String displayName) { 15 | return BUILT_IN_NODE_NAME.equalsIgnoreCase(displayName) ? "(built-in)" : EncodingUtils.encode(displayName); 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /opscloud-datasource-kubernetes/src/main/java/com/baiyi/opscloud/datasource/kubernetes/client/istio/IstioClientBuilder.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.kubernetes.client.istio; 2 | 3 | import com.baiyi.opscloud.common.datasource.KubernetesConfig; 4 | import io.fabric8.istio.client.IstioClient; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2023/10/7 15:24 9 | * @Version 1.0 10 | */ 11 | public class IstioClientBuilder { 12 | 13 | public static IstioClient build(KubernetesConfig.Kubernetes kubernetes) { 14 | return IstioClientFactory.newClient(kubernetes); 15 | } 16 | 17 | } -------------------------------------------------------------------------------- /opscloud-datasource-nexus/src/main/java/com/baiyi/opscloud/datasource/nexus/feign/NexusRepositoriesV1Feign.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.nexus.feign; 2 | 3 | import com.baiyi.opscloud.datasource.nexus.entity.NexusRepository; 4 | import feign.Headers; 5 | import feign.RequestLine; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * @Author baiyi 11 | * @Date 2021/10/15 11:27 上午 12 | * @Version 1.0 13 | */ 14 | public interface NexusRepositoriesV1Feign { 15 | 16 | @RequestLine("GET /service/rest/v1/repositories") 17 | @Headers("accept: application/json") 18 | List listRepositories(); 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-datasource-nexus/src/main/java/com/baiyi/opscloud/datasource/nexus/param/IContinuationToken.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.nexus.param; 2 | 3 | import org.apache.commons.lang3.StringUtils; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/4/23 17:23 8 | * @Version 1.0 9 | */ 10 | public interface IContinuationToken { 11 | 12 | String getContinuationToken(); 13 | 14 | default boolean isContinuation() { 15 | return StringUtils.isNoneBlank(getContinuationToken()); 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /opscloud-datasource-sonar/src/main/java/com/baiyi/opscloud/datasource/sonar/entity/SonarComponents.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.sonar.entity; 2 | 3 | import com.baiyi.opscloud.datasource.sonar.entity.base.BaseSonarElement; 4 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 5 | import lombok.Data; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * @Author baiyi 11 | * @Date 2021/10/22 4:09 下午 12 | * @Version 1.0 13 | */ 14 | @Data 15 | @JsonIgnoreProperties(ignoreUnknown = true) 16 | public class SonarComponents { 17 | 18 | private BaseSonarElement.Paging paging; 19 | private List components; 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-datasource-sonar/src/main/java/com/baiyi/opscloud/datasource/sonar/entity/SonarMeasures.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.sonar.entity; 2 | 3 | 4 | import com.baiyi.opscloud.datasource.sonar.entity.base.BaseSonarElement; 5 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 6 | import lombok.Data; 7 | 8 | /** 9 | * @Author baiyi 10 | * @Date 2020/12/24 3:54 下午 11 | * @Version 1.0 12 | */ 13 | 14 | @Data 15 | @JsonIgnoreProperties(ignoreUnknown = true) 16 | public class SonarMeasures { 17 | 18 | private BaseSonarElement.Component component; 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-datasource-sonar/src/main/java/com/baiyi/opscloud/datasource/sonar/entity/SonarProjects.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.sonar.entity; 2 | 3 | import com.baiyi.opscloud.datasource.sonar.entity.base.BaseSonarElement; 4 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 5 | import lombok.Data; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * @Author baiyi 11 | * @Date 2021/10/22 4:33 下午 12 | * @Version 1.0 13 | */ 14 | @Data 15 | @JsonIgnoreProperties(ignoreUnknown = true) 16 | public class SonarProjects { 17 | 18 | private BaseSonarElement.Paging paging; 19 | private List components; 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-datasource-sonar/src/main/java/com/baiyi/opscloud/datasource/sonar/enums/QualifierEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.sonar.enums; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/10/22 4:47 下午 6 | * @Version 1.0 7 | */ 8 | public enum QualifierEnum { 9 | 10 | // project 11 | TRK, 12 | VW, 13 | APP 14 | // project 15 | 16 | } -------------------------------------------------------------------------------- /opscloud-datasource-tencent-exmail/src/main/java/com/baiyi/opscloud/tencent/exmail/entity/ExmailDeptList.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.tencent.exmail.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * @Author baiyi 11 | * @Date 2021/10/14 10:45 上午 12 | * @Version 1.0 13 | */ 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class ExmailDeptList { 18 | 19 | private List department; 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-datasource-tencent-exmail/src/main/java/com/baiyi/opscloud/tencent/exmail/entity/base/BaseExmailResult.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.tencent.exmail.entity.base; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/10/14 4:36 下午 8 | * @Version 1.0 9 | */ 10 | @Data 11 | public class BaseExmailResult { 12 | 13 | private String errcode; 14 | private String errmsg; 15 | 16 | public boolean isError(){ 17 | return "0".equals(errcode); 18 | } 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-datasource-tencent-exmail/src/main/java/com/baiyi/opscloud/tencent/exmail/feign/TencentExmailTokenFeign.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.tencent.exmail.feign; 2 | 3 | import com.baiyi.opscloud.tencent.exmail.entity.ExmailToken; 4 | import feign.Param; 5 | import feign.RequestLine; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/10/14 4:14 下午 10 | * @Version 1.0 11 | */ 12 | public interface TencentExmailTokenFeign { 13 | 14 | @RequestLine("GET /cgi-bin/gettoken?corpid={corpid}&corpsecret={corpsecret}") 15 | ExmailToken getToken(@Param("corpid") String corpid, @Param("corpsecret") String corpsecret); 16 | 17 | } -------------------------------------------------------------------------------- /opscloud-datasource-zabbix/src/main/java/com/baiyi/opscloud/zabbix/v5/entity/ZabbixLogin.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.zabbix.v5.entity; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/11/17 10:42 上午 8 | * @Version 1.0 9 | */ 10 | public class ZabbixLogin { 11 | 12 | @Data 13 | public static class LoginAuth { 14 | private String jsonrpc; 15 | private Integer id; 16 | private String result; 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /opscloud-datasource-zabbix/src/main/java/com/baiyi/opscloud/zabbix/v5/entity/base/ZabbixResponse.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.zabbix.v5.entity.base; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/11/18 1:54 下午 8 | * @Version 1.0 9 | */ 10 | public class ZabbixResponse { 11 | 12 | @Data 13 | public static class Response { 14 | private String jsonrpc; 15 | private Integer id; 16 | private Error error; 17 | } 18 | 19 | @Data 20 | public static class Error { 21 | private Integer code; 22 | private String message; 23 | private String data; 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /opscloud-datasource-zabbix/src/main/java/com/baiyi/opscloud/zabbix/v5/feign/constant/ZabbixConstant.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.zabbix.v5.feign.constant; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/11/18 1:48 下午 6 | * @Version 1.0 7 | */ 8 | public interface ZabbixConstant { 9 | 10 | String REQUEST_API = "POST /api_jsonrpc.php"; 11 | String CONTENT_TYPE = "Content-Type: application/json-rpc"; 12 | 13 | } -------------------------------------------------------------------------------- /opscloud-datasource/src/main/java/com/baiyi/opscloud/datasource/business/account/IAccount.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.business.account; 2 | 3 | import com.baiyi.opscloud.datasource.IManagerProvider; 4 | import com.baiyi.opscloud.domain.base.IInstanceType; 5 | import com.baiyi.opscloud.domain.generator.opscloud.User; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/8/11 1:41 下午 10 | * @Version 1.0 11 | */ 12 | public interface IAccount extends IManagerProvider, IInstanceType { 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-datasource/src/main/java/com/baiyi/opscloud/datasource/business/account/IAccountGroup.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.business.account; 2 | 3 | import com.baiyi.opscloud.datasource.IManagerProvider; 4 | import com.baiyi.opscloud.domain.base.IInstanceType; 5 | import com.baiyi.opscloud.domain.generator.opscloud.UserGroup; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/8/24 10:44 上午 10 | * @Version 1.0 11 | */ 12 | public interface IAccountGroup extends IManagerProvider, IInstanceType { 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-datasource/src/main/java/com/baiyi/opscloud/datasource/business/server/IServer.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.business.server; 2 | 3 | import com.baiyi.opscloud.datasource.IManagerProvider; 4 | import com.baiyi.opscloud.domain.base.IInstanceType; 5 | import com.baiyi.opscloud.domain.generator.opscloud.Server; 6 | 7 | /** 8 | * @Author 修远 9 | * @Date 2021/7/22 1:39 下午 10 | * @Since 1.0 11 | */ 12 | public interface IServer extends IManagerProvider, IInstanceType { 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-datasource/src/main/java/com/baiyi/opscloud/datasource/business/server/IServerGroup.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.datasource.business.server; 2 | 3 | import com.baiyi.opscloud.datasource.IManagerProvider; 4 | import com.baiyi.opscloud.domain.base.IInstanceType; 5 | import com.baiyi.opscloud.domain.generator.opscloud.ServerGroup; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/8/24 11:27 上午 10 | * @Version 1.0 11 | */ 12 | public interface IServerGroup extends IManagerProvider, IInstanceType { 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/alert/Metadata.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.alert; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * @Author 修远 10 | * @Date 2022/7/26 4:31 PM 11 | * @Since 1.0 12 | */ 13 | 14 | @Data 15 | @Builder 16 | @NoArgsConstructor 17 | @AllArgsConstructor 18 | public class Metadata { 19 | 20 | private String name; 21 | private String ip; 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/ApplicationResType.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import com.baiyi.opscloud.domain.constants.ApplicationResTypeEnum; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * 应用资源类型注解 9 | * 10 | * @Author baiyi 11 | * @Date 2021/9/8 4:14 下午 12 | * @Version 1.0 13 | */ 14 | @Retention(RetentionPolicy.RUNTIME) 15 | @Target({ElementType.PACKAGE, ElementType.TYPE}) 16 | @Documented 17 | public @interface ApplicationResType { 18 | 19 | ApplicationResTypeEnum value(); 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/AssetBusinessRelation.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * 绑定资产与业务对象 7 | * 8 | * @Author baiyi 9 | * @Date 2021/8/6 5:29 下午 10 | * @Version 1.0 11 | */ 12 | @Documented 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Target(ElementType.METHOD) 15 | public @interface AssetBusinessRelation { 16 | 17 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/AssetBusinessUnbindRelation.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import com.baiyi.opscloud.domain.constants.BusinessTypeEnum; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * 解除资产与业务对象绑定关系 9 | * @Author baiyi 10 | * @Date 2021/8/10 11:39 上午 11 | * @Version 1.0 12 | */ 13 | @Documented 14 | @Retention(RetentionPolicy.RUNTIME) 15 | @Target(ElementType.METHOD) 16 | public @interface AssetBusinessUnbindRelation { 17 | 18 | BusinessTypeEnum type(); 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/AssetType.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import com.baiyi.opscloud.domain.constants.DsAssetTypeConstants; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * 资产类型 9 | * 10 | * @Author baiyi 11 | * @Date 2021/9/8 3:12 下午 12 | * @Version 1.0 13 | */ 14 | @Retention(RetentionPolicy.RUNTIME) 15 | @Target({ElementType.PACKAGE, ElementType.TYPE}) 16 | @Documented 17 | public @interface AssetType { 18 | 19 | DsAssetTypeConstants value(); 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/BusinessObjectClear.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import com.baiyi.opscloud.domain.constants.BusinessTypeEnum; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/8/25 3:27 下午 10 | * @Version 1.0 11 | */ 12 | @Documented 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Target(ElementType.METHOD) 15 | public @interface BusinessObjectClear { 16 | 17 | BusinessTypeEnum value() default BusinessTypeEnum.COMMON; 18 | 19 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/BusinessType.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import com.baiyi.opscloud.domain.constants.BusinessTypeEnum; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * 业务类型 9 | * @Author baiyi 10 | * @Date 2021/8/25 3:37 下午 11 | * @Version 1.0 12 | */ 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Target({ElementType.PACKAGE, ElementType.TYPE}) 15 | @Documented 16 | public @interface BusinessType { 17 | 18 | BusinessTypeEnum value(); 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/Decrypt.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/6/16 10:37 上午 8 | * @Version 1.0 9 | */ 10 | @Documented 11 | @Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE}) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface Decrypt { 14 | 15 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/DesensitizedField.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import com.baiyi.opscloud.domain.constants.SensitiveTypeEnum; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * @Author 修远 9 | * @Date 2021/6/11 10:53 上午 10 | * @Since 1.0 11 | */ 12 | @Target(ElementType.FIELD) 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Documented 15 | public @interface DesensitizedField { 16 | 17 | SensitiveTypeEnum type(); 18 | 19 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/DesensitizedMethod.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author 修远 7 | * @Date 2021/6/11 11:35 上午 8 | * @Since 1.0 9 | */ 10 | @Documented 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.METHOD) 13 | public @interface DesensitizedMethod { 14 | 15 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/Encrypt.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author 修远 7 | * @Date 2021/6/11 10:39 上午 8 | * @Since 1.0 9 | */ 10 | @Documented 11 | @Target({ElementType.FIELD, ElementType.METHOD}) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface Encrypt { 14 | 15 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/InstanceHealth.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/9/3 2:26 下午 8 | * @Version 1.0 9 | */ 10 | @Documented 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.METHOD) 13 | public @interface InstanceHealth { 14 | 15 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/PermitEmptyPasswords.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * 7 | * 允许空密码登录 8 | * 9 | * @Author baiyi 10 | * @Date 2021/8/4 3:42 下午 11 | * @Version 1.0 12 | */ 13 | @Documented 14 | @Retention(RetentionPolicy.RUNTIME) 15 | @Target(ElementType.METHOD) 16 | public @interface PermitEmptyPasswords { 17 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/ProjectResType.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import com.baiyi.opscloud.domain.constants.ProjectResTypeEnum; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * @Author 修远 9 | * @Date 2023/5/19 2:29 PM 10 | * @Since 1.0 11 | */ 12 | 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Target({ElementType.PACKAGE, ElementType.TYPE}) 15 | @Documented 16 | public @interface ProjectResType { 17 | 18 | ProjectResTypeEnum value(); 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/RevokeUserPermission.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import com.baiyi.opscloud.domain.constants.BusinessTypeEnum; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * 解除用户授权 9 | * @Author baiyi 10 | * @Date 2021/8/18 1:59 下午 11 | * @Version 1.0 12 | */ 13 | @Documented 14 | @Retention(RetentionPolicy.RUNTIME) 15 | @Target(ElementType.METHOD) 16 | public @interface RevokeUserPermission { 17 | 18 | BusinessTypeEnum value() default BusinessTypeEnum.COMMON; 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/annotation/TagClear.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.annotation; 2 | 3 | import com.baiyi.opscloud.domain.constants.BusinessTypeEnum; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/5/25 8:56 上午 10 | * @Version 1.0 11 | */ 12 | @Documented 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Target(ElementType.METHOD) 15 | public @interface TagClear { 16 | 17 | BusinessTypeEnum value() default BusinessTypeEnum.COMMON; 18 | 19 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/base/BaseBusiness.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/8/2 11:39 上午 6 | * @Version 1.0 7 | */ 8 | public class BaseBusiness { 9 | 10 | public static final String BUSINESS_TYPE = "businessType"; 11 | 12 | public static final String BUSINESS_ID = "businessId"; 13 | 14 | public interface IBusiness extends IBusinessType { 15 | Integer getBusinessId(); 16 | } 17 | 18 | public interface IBusinessType { 19 | Integer getBusinessType(); 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/base/IAllowOrder.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/11/8 10:07 上午 6 | * @Version 1.0 7 | */ 8 | public interface IAllowOrder { 9 | 10 | Boolean getAllowOrder(); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/base/IAppResType.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/9/8 6:38 下午 6 | * @Version 1.0 7 | */ 8 | public interface IAppResType { 9 | 10 | String getAppResType(); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/base/IAssetType.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/6/23 9:42 上午 6 | * @Version 1.0 7 | */ 8 | public interface IAssetType { 9 | 10 | String getAssetType(); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/base/IInstanceAsset.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/12/1 10:48 上午 6 | * @Version 1.0 7 | */ 8 | public interface IInstanceAsset extends IInstanceType, IAssetType { 9 | 10 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/base/IInstanceType.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/6/23 9:42 上午 6 | * @Version 1.0 7 | */ 8 | public interface IInstanceType { 9 | 10 | String getInstanceType(); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/base/IProjectResType.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.base; 2 | 3 | /** 4 | * @Author 修远 5 | * @Date 2023/5/19 2:05 PM 6 | * @Since 1.0 7 | */ 8 | public interface IProjectResType { 9 | 10 | String getProjectResType(); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/base/IRecover.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/10/11 1:57 下午 6 | * @Version 1.0 7 | */ 8 | public interface IRecover { 9 | 10 | boolean isRecover(); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/base/SimpleBusiness.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.base; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2021/8/27 11:24 上午 9 | * @Version 1.0 10 | */ 11 | @Builder 12 | @Data 13 | public class SimpleBusiness implements BaseBusiness.IBusiness { 14 | 15 | private Integer businessType; 16 | 17 | private Integer businessId; 18 | 19 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/constants/ApplicationResTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.constants; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/9/8 4:15 下午 8 | * @Version 1.0 9 | */ 10 | @Getter 11 | public enum ApplicationResTypeEnum { 12 | 13 | /** 14 | * 应用资源 15 | */ 16 | SERVER, 17 | SERVERGROUP, 18 | KUBERNETES_DEPLOYMENT, 19 | GITLAB_PROJECT, 20 | GITLAB_GROUP, 21 | DATASOURCE_INSTANCE 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/constants/DsAssetKindConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.constants; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/4/11 09:55 8 | * @Version 1.0 9 | */ 10 | @Getter 11 | public enum DsAssetKindConstants { 12 | 13 | ACCOUNT, 14 | ACCOUNT_GROUP, 15 | SERVER, 16 | SERVER_GROUP, 17 | POLICY 18 | 19 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/constants/EventActionTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.constants; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/8/17 6:21 下午 6 | * @Version 1.0 7 | */ 8 | public enum EventActionTypeEnum { 9 | 10 | UPDATE, 11 | CREATE, 12 | DELETE 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/constants/FrontEndTypeConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.constants; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/9/26 11:26 8 | * @Version 1.0 9 | */ 10 | @Getter 11 | public enum FrontEndTypeConstants { 12 | 13 | SUCCESS("success"), 14 | INFO("info"), 15 | WARNING("warning"), 16 | DANGER("danger"); 17 | 18 | private final String type; 19 | 20 | FrontEndTypeConstants(String type) { 21 | this.type = type; 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/constants/ProjectResTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.constants; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/5/19 10:23 8 | * @Version 1.0 9 | */ 10 | @Getter 11 | public enum ProjectResTypeEnum { 12 | 13 | /** 14 | * 项目资源 15 | */ 16 | ALIYUN_DEVOPS_WORKITEM, 17 | ALIYUN_DEVOPS_SPRINT, 18 | ALIYUN_DEVOPS_PROJECT 19 | 20 | } 21 | -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/constants/SensitiveTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.constants; 2 | 3 | /** 4 | * @Author 修远 5 | * @Date 2021/6/11 10:53 上午 6 | * @Since 1.0 7 | */ 8 | public enum SensitiveTypeEnum { 9 | 10 | // 手机号 11 | MOBILE_PHONE, 12 | // 密码 13 | PASSWORD, 14 | // 令牌 15 | TOKEN 16 | 17 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/constants/SerDeploySubTaskConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.constants; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author 修远 7 | * @Date 2023/6/13 5:00 PM 8 | * @Since 1.0 9 | */ 10 | 11 | @Getter 12 | public enum SerDeploySubTaskConstants { 13 | 14 | CREATE("CREATE", "新建"), 15 | DEPLOYING("DEPLOYING", "发布中"), 16 | FINISH("FINISH", "完成") 17 | ; 18 | 19 | private final String name; 20 | private final String desc; 21 | 22 | SerDeploySubTaskConstants(String name, String desc) { 23 | this.name = name; 24 | this.desc = desc; 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/constants/VersionTypeConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.constants; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/2/27 14:17 6 | * @Version 1.0 7 | */ 8 | public enum VersionTypeConstants { 9 | 10 | BLUE, 11 | GREEN, 12 | OTHER, 13 | OFFLINE 14 | 15 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/model/SshCredential.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.model; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.Credential; 4 | import com.baiyi.opscloud.domain.generator.opscloud.ServerAccount; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | 8 | /** 9 | * @Author baiyi 10 | * @Date 2020/5/9 6:20 下午 11 | * @Version 1.0 12 | */ 13 | @Data 14 | @Builder 15 | public class SshCredential { 16 | 17 | private Credential credential; 18 | 19 | private ServerAccount serverAccount; 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/model/message/ILoginMessage.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.model.message; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/6/1 1:14 下午 6 | * @Version 1.0 7 | */ 8 | public interface ILoginMessage { 9 | 10 | /** 11 | * Token 12 | * @return 13 | */ 14 | String getToken(); 15 | 16 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/model/message/ISessionType.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.model.message; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/7/14 6:04 下午 6 | * @Version 1.0 7 | */ 8 | public interface ISessionType { 9 | 10 | /** 11 | * 会话类型 12 | * @return 13 | */ 14 | String getSessionType(); 15 | 16 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/model/message/IState.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.model.message; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/6/1 1:17 下午 6 | * @Version 1.0 7 | */ 8 | public interface IState { 9 | 10 | /** 11 | * 状态 12 | * @return 13 | */ 14 | String getState(); 15 | 16 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/model/message/KubernetesDeploymentMessage.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.model.message; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2023/3/20 14:58 9 | * @Version 1.0 10 | */ 11 | @Builder 12 | @Data 13 | public class KubernetesDeploymentMessage implements ILoginMessage { 14 | 15 | private Integer applicationId; 16 | 17 | private Integer envType; 18 | 19 | private String token; 20 | 21 | private String messageType; 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/model/message/SimpleState.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.model.message; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/1/14 9:00 PM 8 | * @Version 1.0 9 | */ 10 | @Data 11 | public class SimpleState implements IState { 12 | 13 | private String state; 14 | 15 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/notice/INoticeMessage.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.notice; 2 | 3 | import com.baiyi.opscloud.domain.util.ObjectUtil; 4 | 5 | import java.util.Map; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/12/14 10:23 AM 10 | * @Version 1.0 11 | */ 12 | public interface INoticeMessage { 13 | 14 | default Map toContentMap() { 15 | return ObjectUtil.objectToMap(this); 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/param/IExtend.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.param; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/5/8 11:35 上午 6 | * @Version 1.0 7 | */ 8 | public interface IExtend { 9 | 10 | Boolean getExtend(); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/param/IFilterTag.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.param; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/12/9 3:35 PM 6 | * @Version 1.0 7 | */ 8 | public interface IFilterTag { 9 | 10 | // String getFILTER_SYSTEM_TAG(); 11 | 12 | Boolean getFilterTag(); 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/param/IRelation.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.param; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/6/21 11:31 上午 6 | * @Version 1.0 7 | */ 8 | public interface IRelation { 9 | 10 | Boolean getRelation(); 11 | 12 | default boolean isRelation() { 13 | if (this.getRelation() == null) { 14 | return false; 15 | } 16 | return this.getRelation(); 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/param/PageParam.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.param; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import jakarta.validation.constraints.Max; 5 | import lombok.Data; 6 | 7 | @Data 8 | @Schema 9 | public class PageParam { 10 | 11 | @Schema(description = "分页页码") 12 | private Integer page; 13 | 14 | @Max(value = 1024, message = "分页查询最大限制1024条记录") 15 | @Schema(description = "分页页长", example = "10") 16 | private Integer length; 17 | 18 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/param/SimpleExtend.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.param; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2021/8/19 2:41 下午 9 | * @Version 1.0 10 | */ 11 | @Builder 12 | @Data 13 | public class SimpleExtend implements IExtend { 14 | 15 | public static final SimpleExtend EXTEND = SimpleExtend.builder().extend(true).build(); 16 | 17 | public static final SimpleExtend NOT_EXTEND = SimpleExtend.builder().extend(false).build(); 18 | 19 | private Boolean extend; 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/param/SimpleRelation.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.param; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2021/9/7 4:28 下午 9 | * @Version 1.0 10 | */ 11 | @Builder 12 | @Data 13 | public class SimpleRelation implements IRelation { 14 | 15 | public static final SimpleRelation RELATION = SimpleRelation.builder().relation(true).build(); 16 | 17 | public static final SimpleRelation NOT_RELATION = SimpleRelation.builder().relation(false).build(); 18 | 19 | private Boolean relation; 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/param/auth/IAuthPlatform.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.param.auth; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2022/9/8 15:25 6 | * @Version 1.0 7 | */ 8 | public interface IAuthPlatform { 9 | 10 | String getPlatform(); 11 | 12 | String getPlatformToken(); 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/param/kubernetes/BaseKubernetesParam.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.param.kubernetes; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/12/26 17:25 6 | * @Version 1.0 7 | */ 8 | public class BaseKubernetesParam { 9 | 10 | public interface IResource { 11 | 12 | Integer getInstanceId(); 13 | 14 | String getNamespace(); 15 | 16 | String getName(); 17 | 18 | } 19 | 20 | public interface IStreamResource { 21 | 22 | Integer getInstanceId(); 23 | 24 | String getResourceYaml(); 25 | 26 | } 27 | 28 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/param/leo/request/ILeoRequestParam.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.param.leo.request; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2022/11/23 15:37 6 | * @Version 1.0 7 | */ 8 | public interface ILeoRequestParam { 9 | 10 | /** 11 | * 消息类型 12 | * @return 13 | */ 14 | String getMessageType(); 15 | 16 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/param/leo/request/SimpleLeoRequestParam.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.param.leo.request; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/11/24 11:36 8 | * @Version 1.0 9 | */ 10 | @Data 11 | public class SimpleLeoRequestParam implements ILeoRequestParam { 12 | 13 | private String messageType; 14 | 15 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/param/leo/request/type/LeoRequestType.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.param.leo.request.type; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2022/11/23 15:34 6 | * @Version 1.0 7 | */ 8 | public enum LeoRequestType { 9 | 10 | // Build 11 | LOGIN, 12 | SUBSCRIBE_LEO_JOB, 13 | SUBSCRIBE_LEO_BUILD, 14 | QUERY_LEO_BUILD_CONSOLE_STREAM, 15 | // Deploy 16 | SUBSCRIBE_LEO_DEPLOY, 17 | SUBSCRIBE_LEO_DEPLOY_DETAILS, 18 | SUBSCRIBE_LEO_DEPLOYMENT_VERSION_DETAILS, 19 | // 认证失败 20 | AUTHENTICATION_FAILURE 21 | 22 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/vo/auth/menu/MenuChildrenVO.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.vo.auth.menu; 2 | 3 | import com.fasterxml.jackson.annotation.JsonInclude; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2020/4/23 9:05 上午 10 | * @Version 1.0 11 | */ 12 | @Builder 13 | @Data 14 | @JsonInclude(JsonInclude.Include.NON_NULL) 15 | public class MenuChildrenVO { 16 | 17 | private String path; 18 | private String title; 19 | private String icon; 20 | private String iconSvg; 21 | 22 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/vo/auth/menu/MenuVO.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.vo.auth.menu; 2 | 3 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * @Author baiyi 11 | * @Date 2020/4/23 9:04 上午 12 | * @Version 1.0 13 | */ 14 | @Builder 15 | @Data 16 | @JsonIgnoreProperties 17 | public class MenuVO { 18 | 19 | private String title; 20 | private String icon; 21 | private List children; 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/vo/base/ISecret.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.vo.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/5/17 3:42 下午 6 | * @Version 1.0 7 | */ 8 | public interface ISecret { 9 | 10 | String getSecret(); 11 | 12 | void setPlaintext(String plaintext); 13 | 14 | String getPlaintext(); 15 | 16 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/vo/business/IBusinessPermissionUser.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.vo.business; 2 | 3 | import com.baiyi.opscloud.domain.base.BaseBusiness; 4 | import com.baiyi.opscloud.domain.vo.user.UserVO; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * @Author baiyi 10 | * @Date 2021/9/13 10:22 上午 11 | * @Version 1.0 12 | */ 13 | public interface IBusinessPermissionUser extends BaseBusiness.IBusiness { 14 | 15 | void setUsers(List users); 16 | 17 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/vo/common/IHeartbeat.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.vo.common; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/7/20 10:27 6 | * @Version 1.0 7 | */ 8 | public interface IHeartbeat { 9 | 10 | Boolean getIsLive(); 11 | 12 | void setIsLive(Boolean isLive); 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/vo/jenkins/JenkinsJobVO.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.vo.jenkins; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2020/7/23 4:19 下午 10 | * @Version 1.0 11 | */ 12 | public class JenkinsJobVO { 13 | 14 | @Data 15 | @NoArgsConstructor 16 | @Schema 17 | public static class Job { 18 | 19 | private String name; 20 | private String url; 21 | private String fullName; 22 | 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /opscloud-domain/src/main/java/com/baiyi/opscloud/domain/vo/workorder/SimpleApprover.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.domain.vo.workorder; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * @Author baiyi 10 | * @Date 2022/1/19 1:15 PM 11 | * @Version 1.0 12 | */ 13 | @Builder 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | @Data 17 | public class SimpleApprover implements WorkOrderTicketVO.IApprover { 18 | 19 | private Integer ticketId; 20 | 21 | private Boolean isApprover; 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-event/src/main/java/com/baiyi/opscloud/event/enums/EventTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.event.enums; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/10/9 3:17 下午 6 | * @Version 1.0 7 | */ 8 | public enum EventTypeEnum { 9 | 10 | /** 11 | * 12 | */ 13 | ZABBIX_PROBLEM 14 | 15 | } -------------------------------------------------------------------------------- /opscloud-guacamole/src/main/java/com/baiyi/opscloud/guacamole/protocol/IGuacamoleProtocol.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.guacamole.protocol; 2 | 3 | import com.baiyi.opscloud.domain.param.guacamole.GuacamoleParam; 4 | import org.apache.guacamole.GuacamoleException; 5 | import org.apache.guacamole.net.GuacamoleSocket; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/7/9 1:42 下午 10 | * @Version 1.0 11 | */ 12 | public interface IGuacamoleProtocol { 13 | 14 | String getProtocol(); 15 | 16 | GuacamoleSocket buildGuacamoleSocket(GuacamoleParam.Login guacamoleLogin) throws GuacamoleException; 17 | 18 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/constants/BuildStatusConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.constants; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2022/11/14 16:30 6 | * @Version 1.0 7 | */ 8 | public enum BuildStatusConstants { 9 | 10 | /** 11 | * 构建状态 12 | */ 13 | ERROR, 14 | SUCCESS, 15 | ABORTED, 16 | FAILURE 17 | 18 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/constants/BuildStepConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.constants; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/4/20 11:24 6 | * @Version 1.0 7 | */ 8 | public enum BuildStepConstants { 9 | 10 | /** 11 | * 构建后校验 12 | */ 13 | POST_BUILD_VERIFICATION, 14 | 15 | DO_BUILD; 16 | 17 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/constants/BuildTypeConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.constants; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/4/26 11:37 8 | * @Version 1.0 9 | */ 10 | public interface BuildTypeConstants { 11 | 12 | @Schema(description = "Maven2方包发布") 13 | String MAVEN_PUBLISH = "maven-publish"; 14 | 15 | @Schema(description = "前端发布, 目前用K8S发布") 16 | String FRONT_END = "front-end"; 17 | 18 | @Schema(description = "标准K8S发布") 19 | String KUBERNETES_IMAGE = "kubernetes-image"; 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/constants/DeployDictConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.constants; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/12/8 11:24 8 | * @Version 1.0 9 | */ 10 | @Getter 11 | public enum DeployDictConstants { 12 | 13 | /** 14 | * 部署字典 15 | */ 16 | DEPLOY_NUMBER("deployNumber"), 17 | DEPLOY_TYPE("deployType"), 18 | DEPLOY_TYPE_DESC("deployTypeDesc"), 19 | DISPLAY_NAME("displayName"); 20 | 21 | private final String key; 22 | 23 | DeployDictConstants(String key) { 24 | this.key = key; 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/constants/DeployStepConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.constants; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2022/12/14 10:36 6 | * @Version 1.0 7 | */ 8 | public enum DeployStepConstants { 9 | 10 | /** 11 | * 部署阶段 12 | */ 13 | BOOT, 14 | PRE_INSPECTION, 15 | DO_DEPLOY, 16 | START_NOTIFICATION, 17 | SUPERVISING, 18 | END_NOTIFICATION 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/constants/ExecutionTypeConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.constants; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2022/11/9 10:17 6 | * @Version 1.0 7 | */ 8 | public interface ExecutionTypeConstants { 9 | 10 | /** 11 | * 用户执行 12 | */ 13 | int USER = 0; 14 | 15 | /** 16 | * 系统执行 17 | */ 18 | int SYSTEM = 1; 19 | 20 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/constants/HeartbeatTypeConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.constants; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/7/20 09:16 6 | * @Version 1.0 7 | */ 8 | public enum HeartbeatTypeConstants { 9 | 10 | BUILD, 11 | DEPLOY 12 | 13 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/constants/LogTypeConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.constants; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2022/11/9 14:56 6 | * @Version 1.0 7 | */ 8 | public enum LogTypeConstants { 9 | 10 | /** 11 | * 日志类型 12 | */ 13 | DEF, 14 | HEARTBEAT 15 | 16 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/constants/MavenPublishConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.constants; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/4/25 13:31 8 | * @Version 1.0 9 | */ 10 | @Getter 11 | public enum MavenPublishConstants { 12 | 13 | /** 14 | * 参数 15 | */ 16 | ARTIFACT_ID("artifactId"), 17 | GROUP_ID("groupId"), 18 | VERSION("version"); 19 | 20 | private final String param; 21 | 22 | MavenPublishConstants(String param) { 23 | this.param = param; 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/constants/RuleExpressionConstants.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.constants; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/2/6 09:28 6 | * @Version 1.0 7 | */ 8 | public enum RuleExpressionConstants { 9 | 10 | /** 11 | * 日期范围 12 | */ 13 | DATE, 14 | /** 15 | * 每月 16 | */ 17 | MONTHLY, 18 | /** 19 | * 每周 20 | */ 21 | WEEKLY, 22 | /** 23 | * 每天 24 | */ 25 | DAILY 26 | 27 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/delegate/LeoJobVersionDelegate.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.delegate; 2 | 3 | import com.baiyi.opscloud.common.annotation.EnvWrapper; 4 | import com.baiyi.opscloud.domain.vo.leo.LeoJobVersionVO; 5 | import org.springframework.stereotype.Component; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2023/2/23 13:41 10 | * @Version 1.0 11 | */ 12 | @Component 13 | public class LeoJobVersionDelegate { 14 | 15 | @EnvWrapper(extend = true) 16 | public void wrap(LeoJobVersionVO.JobVersion jobVersion){ 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/dict/IBuildDictGenerator.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.dict; 2 | 3 | import com.baiyi.opscloud.domain.param.leo.LeoBuildParam; 4 | 5 | import java.util.Map; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2023/4/25 11:33 10 | * @Version 1.0 11 | */ 12 | public interface IBuildDictGenerator { 13 | 14 | /** 15 | * 构建类型 16 | * @return 17 | */ 18 | String getBuildType(); 19 | 20 | /** 21 | * 生产字典 22 | * @param doBuild 23 | * @return 24 | */ 25 | Map generate(LeoBuildParam.DoBuild doBuild); 26 | 27 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/dict/impl/FrontEndBuildDictGenerator.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.dict.impl; 2 | 3 | import com.baiyi.opscloud.leo.constants.BuildTypeConstants; 4 | import lombok.extern.slf4j.Slf4j; 5 | import org.springframework.stereotype.Component; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2023/6/21 14:24 10 | * @Version 1.0 11 | */ 12 | @Slf4j 13 | @Component 14 | public class FrontEndBuildDictGenerator extends BaseBuildDictGenerator { 15 | 16 | @Override 17 | public String getBuildType() { 18 | return BuildTypeConstants.FRONT_END; 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/dict/impl/KubernetesImageBuildDictGenerator.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.dict.impl; 2 | 3 | import com.baiyi.opscloud.leo.constants.BuildTypeConstants; 4 | import lombok.extern.slf4j.Slf4j; 5 | import org.springframework.stereotype.Component; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2023/4/25 11:43 10 | * @Version 1.0 11 | */ 12 | @Slf4j 13 | @Component 14 | public class KubernetesImageBuildDictGenerator extends BaseBuildDictGenerator { 15 | 16 | @Override 17 | public String getBuildType() { 18 | return BuildTypeConstants.KUBERNETES_IMAGE; 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/domain/model/StopBuildFlag.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.domain.model; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * @Author baiyi 10 | * @Date 2023/7/24 17:22 11 | * @Version 1.0 12 | */ 13 | @Builder 14 | @Data 15 | @AllArgsConstructor 16 | @NoArgsConstructor 17 | public class StopBuildFlag { 18 | 19 | public static final StopBuildFlag NOT_STOP = StopBuildFlag.builder().build(); 20 | 21 | @Builder.Default 22 | private Boolean isStop = false; 23 | 24 | private String username; 25 | 26 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/domain/model/StopDeployFlag.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.domain.model; 2 | 3 | import lombok.*; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/2/7 10:39 8 | * @Version 1.0 9 | */ 10 | @Builder 11 | @Data 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class StopDeployFlag { 15 | 16 | public static final StopDeployFlag NOT_STOP = StopDeployFlag.builder().build(); 17 | 18 | @Builder.Default 19 | private Boolean isStop = false; 20 | 21 | private String username; 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/handler/build/base/BaseBuildStrategy.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.handler.build.base; 2 | 3 | import com.baiyi.opscloud.leo.handler.build.BaseBuildChainHandler; 4 | import org.springframework.beans.factory.InitializingBean; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2023/4/20 11:18 9 | * @Version 1.0 10 | */ 11 | public abstract class BaseBuildStrategy extends BaseBuildChainHandler implements IBuildStrategy, InitializingBean { 12 | 13 | @Override 14 | public void afterPropertiesSet() throws Exception { 15 | BuildStrategyFactory.register(this); 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/handler/build/base/IBuildStep.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.handler.build.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/4/20 11:11 6 | * @Version 1.0 7 | */ 8 | public interface IBuildStep { 9 | 10 | String getStep(); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/handler/build/base/IBuildStrategy.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.handler.build.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/4/20 11:18 6 | * @Version 1.0 7 | */ 8 | public interface IBuildStrategy extends IBuildStep { 9 | 10 | String getBuildType(); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/handler/build/strategy/verification/base/BasePostBuildVerificationStrategy.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.handler.build.strategy.verification.base; 2 | 3 | import com.baiyi.opscloud.leo.constants.BuildStepConstants; 4 | import com.baiyi.opscloud.leo.handler.build.base.BaseBuildStrategy; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2023/4/20 14:42 9 | * @Version 1.0 10 | */ 11 | public abstract class BasePostBuildVerificationStrategy extends BaseBuildStrategy { 12 | 13 | @Override 14 | public String getStep() { 15 | return BuildStepConstants.POST_BUILD_VERIFICATION.name(); 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/handler/deploy/base/BaseDeployStrategy.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.handler.deploy.base; 2 | 3 | import com.baiyi.opscloud.leo.handler.deploy.BaseDeployChainHandler; 4 | import org.springframework.beans.factory.InitializingBean; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2022/12/14 10:13 9 | * @Version 1.0 10 | */ 11 | public abstract class BaseDeployStrategy extends BaseDeployChainHandler implements IDeployStrategy, InitializingBean { 12 | 13 | @Override 14 | public void afterPropertiesSet() throws Exception { 15 | DeployStrategyFactory.register(this); 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/handler/deploy/base/IDeployStep.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.handler.deploy.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2022/12/14 10:24 6 | * @Version 1.0 7 | */ 8 | public interface IDeployStep { 9 | 10 | String getStep(); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/handler/deploy/base/IDeployStrategy.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.handler.deploy.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2022/12/13 16:25 6 | * @Version 1.0 7 | */ 8 | public interface IDeployStrategy extends IDeployStep { 9 | 10 | String getDeployType(); 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/interceptor/rule/IRuleExpression.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.interceptor.rule; 2 | 3 | import com.baiyi.opscloud.leo.domain.model.LeoRuleModel; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/1/10 15:44 8 | * @Version 1.0 9 | */ 10 | public interface IRuleExpression { 11 | 12 | String getType(); 13 | 14 | /** 15 | * 解析 16 | * @param expression 17 | * @return 18 | */ 19 | boolean parse(LeoRuleModel.Expression expression); 20 | 21 | String toDisplayName(LeoRuleModel.Expression expression); 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/message/handler/impl/deploy/AuthenticationFailureRequestHandler.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.message.handler.impl.deploy; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/2/28 15:56 6 | * @Version 1.0 7 | */ 8 | public class AuthenticationFailureRequestHandler { 9 | 10 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/packer/DeploymentVersionPacker.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.packer; 2 | 3 | import com.baiyi.opscloud.common.annotation.TagsWrapper; 4 | import com.baiyi.opscloud.domain.vo.leo.LeoJobVersionVO; 5 | import org.springframework.stereotype.Component; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2023/7/13 09:32 10 | * @Version 1.0 11 | */ 12 | @Component 13 | public class DeploymentVersionPacker { 14 | 15 | @TagsWrapper(extend = true) 16 | public void wrap(LeoJobVersionVO.DeploymentVersion deploymentVersion) { 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/packer/PodDetailsPacker.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.packer; 2 | 3 | import com.baiyi.opscloud.common.annotation.AgoWrapper; 4 | import com.baiyi.opscloud.domain.vo.leo.LeoDeployingVO; 5 | import lombok.RequiredArgsConstructor; 6 | import org.springframework.stereotype.Component; 7 | 8 | /** 9 | * @Author baiyi 10 | * @Date 2022/12/7 16:37 11 | * @Version 1.0 12 | */ 13 | @Component 14 | @RequiredArgsConstructor 15 | public class PodDetailsPacker { 16 | 17 | @AgoWrapper(extend = true) 18 | public void wrap(LeoDeployingVO.PodDetails podDetails) { 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /opscloud-leo/src/main/java/com/baiyi/opscloud/leo/supervisor/base/ISupervisor.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.leo.supervisor.base; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2022/11/9 11:49 6 | * @Version 1.0 7 | */ 8 | public interface ISupervisor extends Runnable { 9 | 10 | boolean tryStop(); 11 | 12 | boolean isTimeout(); 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/alert/notify/INotify.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.alert.notify; 2 | 3 | import com.baiyi.opscloud.domain.alert.AlertContext; 4 | import com.baiyi.opscloud.domain.alert.AlertNotifyMedia; 5 | 6 | /** 7 | * @Author 修远 8 | * @Date 2022/7/21 12:06 AM 9 | * @Since 1.0 10 | */ 11 | public interface INotify { 12 | 13 | void doNotify(AlertNotifyMedia media, AlertContext context); 14 | 15 | String getKey(); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/alert/notify/NotifyFactory.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.alert.notify; 2 | 3 | import java.util.Map; 4 | import java.util.concurrent.ConcurrentHashMap; 5 | 6 | /** 7 | * @Author 修远 8 | * @Date 2022/7/21 12:11 AM 9 | * @Since 1.0 10 | */ 11 | public class NotifyFactory { 12 | 13 | private static final Map CONTEXT = new ConcurrentHashMap<>(); 14 | 15 | public static INotify getNotifyActivity(String key) { 16 | return CONTEXT.get(key); 17 | } 18 | 19 | public static void register(INotify bean) { 20 | CONTEXT.put(bean.getKey(), bean); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/alert/notify/NotifyMediaEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.alert.notify; 2 | 3 | /** 4 | * @Author 修远 5 | * @Date 2022/7/21 12:10 AM 6 | * @Since 1.0 7 | */ 8 | 9 | public enum NotifyMediaEnum { 10 | 11 | /** 12 | * 类型 13 | */ 14 | VMS, DINGTALK, SMS 15 | 16 | } 17 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/alert/notify/NotifyStatusEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.alert.notify; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * @Author 修远 7 | * @Date 2022/7/29 7:21 PM 8 | * @Since 1.0 9 | */ 10 | @Getter 11 | public enum NotifyStatusEnum { 12 | 13 | /** 14 | * 通知 15 | */ 16 | CALL_OK("用户接听"), 17 | CALL_ERR("用户未接听"); 18 | 19 | private final String name; 20 | 21 | NotifyStatusEnum(String name) { 22 | this.name = name; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/alert/strategy/AlertSeverityEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.alert.strategy; 2 | 3 | /** 4 | * @Author 修远 5 | * @Date 2022/7/20 11:36 PM 6 | * @Since 1.0 7 | */ 8 | public enum AlertSeverityEnum { 9 | 10 | MAX, MID, LOW 11 | 12 | } 13 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/alert/strategy/IAlertStrategy.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.alert.strategy; 2 | 3 | import com.baiyi.opscloud.domain.alert.AlertContext; 4 | import com.baiyi.opscloud.domain.alert.AlertNotifyMedia; 5 | 6 | /** 7 | * @Author 修远 8 | * @Date 2022/7/20 11:20 PM 9 | * @Since 1.0 10 | */ 11 | public interface IAlertStrategy { 12 | 13 | String getAlertSeverity(); 14 | 15 | void executeAlertStrategy(AlertNotifyMedia media, AlertContext context); 16 | } 17 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/controller/http/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.controller.http; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.RequestMapping; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2021/7/27 4:37 下午 9 | * @Version 1.0 10 | */ 11 | @Controller 12 | @RequestMapping 13 | public class HomeController { 14 | 15 | /** 16 | * 首页 17 | * @return 18 | */ 19 | // @RequestMapping(value = {"/", "/index"}) 20 | // public String index() { 21 | // return "index.html"; 22 | // } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/event/consumer/IEventConsumer.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.event.consumer; 2 | 3 | import com.baiyi.opscloud.common.event.IEventType; 4 | import com.baiyi.opscloud.common.event.NoticeEvent; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2021/8/17 6:58 下午 9 | * @Version 1.0 10 | */ 11 | public interface IEventConsumer extends IEventType { 12 | 13 | void onMessage(NoticeEvent noticeEvent); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/example/OpscloudV4API.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.example; 2 | 3 | 4 | import feign.Headers; 5 | import feign.Param; 6 | import feign.RequestLine; 7 | 8 | /** 9 | * @Author baiyi 10 | * @Date 2023/9/14 15:50 11 | * @Version 1.0 12 | */ 13 | public interface OpscloudV4API { 14 | 15 | @RequestLine("POST /api/example/helloWorld") 16 | @Headers({"Content-Type: application/json", "AccessToken: {accessToken}"}) 17 | Object helloWorld(@Param("accessToken") String accessToken); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/apollo/feign/DevopsFeign.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.apollo.feign; 2 | 3 | import com.baiyi.opscloud.domain.param.apollo.ApolloParam; 4 | import feign.Headers; 5 | import feign.RequestLine; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2024/10/8 10:43 10 | * @Version 1.0 11 | */ 12 | public interface DevopsFeign { 13 | 14 | @RequestLine("POST /apollo/release/hook") 15 | @Headers({"Content-Type: application/json;charset=utf-8"}) 16 | Object callHook(ApolloParam.ReleaseEvent releaseEvent); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/application/ApplicationAlertFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.application; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.User; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2022/9/5 15:17 10 | * @Version 1.0 11 | */ 12 | public interface ApplicationAlertFacade { 13 | 14 | List queryByApplicationNames(List names); 15 | 16 | void refreshCache(String name); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/application/ApplicationKubernetesFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.application; 2 | 3 | import com.baiyi.opscloud.domain.param.application.ApplicationParam; 4 | import com.baiyi.opscloud.domain.vo.application.ApplicationVO; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2023/3/27 17:19 9 | * @Version 1.0 10 | */ 11 | public interface ApplicationKubernetesFacade { 12 | 13 | ApplicationVO.Kubernetes getApplicationKubernetes(ApplicationParam.GetApplicationKubernetes getApplicationKubernetes, String username); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/audit/OperationalAuditFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.audit; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2023/12/6 10:28 6 | * @Version 1.0 7 | */ 8 | public interface OperationalAuditFacade { 9 | 10 | void save(String api, Boolean useAk); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/auth/PlatformAuthValidator.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.auth; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AuthPlatform; 4 | import com.baiyi.opscloud.domain.param.auth.IAuthPlatform; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2022/9/8 11:58 9 | * @Version 1.0 10 | */ 11 | public interface PlatformAuthValidator { 12 | 13 | AuthPlatform verify(IAuthPlatform iAuthPlatform); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/auth/UserTokenFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.auth; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.User; 4 | import com.baiyi.opscloud.domain.generator.opscloud.UserToken; 5 | import com.baiyi.opscloud.domain.vo.auth.LogVO; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/5/15 9:59 上午 10 | * @Version 1.0 11 | */ 12 | public interface UserTokenFacade { 13 | 14 | LogVO.Login userLogin(User user); 15 | 16 | /** 17 | * 撤销用户令牌 18 | * @param username 19 | */ 20 | void revokeUserToken(String username); 21 | 22 | UserToken grantUserToken(String username); 23 | } 24 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/business/BusinessDocumentFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.business; 2 | 3 | import com.baiyi.opscloud.domain.param.server.business.BusinessDocumentParam; 4 | import com.baiyi.opscloud.domain.vo.business.BusinessDocumentVO; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2022/5/16 11:34 9 | * @Version 1.0 10 | */ 11 | public interface BusinessDocumentFacade { 12 | 13 | BusinessDocumentVO.Document getById(int id); 14 | 15 | BusinessDocumentVO.Document getByUniqueKey(Integer businessType, Integer businessId); 16 | 17 | void save(BusinessDocumentParam.Document document); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/business/BusinessPropertyFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.business; 2 | 3 | import com.baiyi.opscloud.domain.param.server.business.BusinessPropertyParam; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/8/19 4:40 下午 8 | * @Version 1.0 9 | */ 10 | public interface BusinessPropertyFacade { 11 | 12 | void add(BusinessPropertyParam.Property property); 13 | 14 | void update(BusinessPropertyParam.Property property); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/datasource/report/ApolloReportFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.datasource.report; 2 | 3 | import com.baiyi.opscloud.domain.param.report.ApolloReportParam; 4 | import com.baiyi.opscloud.domain.vo.datasource.report.ApolloReportVO; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2023/7/17 16:23 9 | * @Version 1.0 10 | */ 11 | public interface ApolloReportFacade { 12 | 13 | ApolloReportVO.ApolloReleaseReport getApolloReleaseReport(ApolloReportParam.ApolloReleaseReport apolloReleaseReport); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/event/EventFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.event; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.Event; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/10/9 2:57 下午 8 | * @Version 1.0 9 | */ 10 | public interface EventFacade { 11 | 12 | void recordEvent(Event event); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/kubernetes/KubernetesFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.kubernetes; 2 | 3 | import com.baiyi.opscloud.domain.param.kubernetes.KubernetesParam; 4 | import io.fabric8.kubernetes.api.model.apps.Deployment; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2023/10/18 16:44 9 | * @Version 1.0 10 | */ 11 | public interface KubernetesFacade { 12 | 13 | Deployment getKubernetesDeployment(KubernetesParam.GetResource getResource); 14 | 15 | Deployment updateKubernetesDeployment(KubernetesParam.UpdateResource updateResource); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/kubernetes/KubernetesFinOpsReportFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.kubernetes; 2 | 3 | import com.baiyi.opscloud.domain.vo.finops.KubernetesFinOpsVO; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/8/29 11:34 8 | * @Version 1.0 9 | */ 10 | public interface KubernetesFinOpsReportFacade { 11 | 12 | KubernetesFinOpsVO.FinOpsReport getKubernetesFinOps(int instanceId); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/kubernetes/KubernetesTerminalFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.kubernetes; 2 | 3 | import com.baiyi.opscloud.domain.vo.application.ApplicationVO; 4 | import com.baiyi.opscloud.loop.kubernetes.KubernetesDeploymentResponse; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2023/5/22 17:01 9 | * @Version 1.0 10 | */ 11 | public interface KubernetesTerminalFacade { 12 | 13 | KubernetesDeploymentResponse getKubernetesDeployment(int applicationId, int envType); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/leo/LeoBuildPipelineFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.leo; 2 | 3 | import com.baiyi.opscloud.domain.param.leo.LeoBuildPipelineParam; 4 | import com.baiyi.opscloud.domain.vo.leo.LeoBuildPipelineVO; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * @Author baiyi 10 | * @Date 2022/11/28 16:39 11 | * @Version 1.0 12 | */ 13 | public interface LeoBuildPipelineFacade { 14 | 15 | List getPipelineRunNodeSteps(LeoBuildPipelineParam.GetPipelineRunNodeSteps param); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/leo/LeoChartFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.leo; 2 | 3 | import java.util.Map; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/12/9 13:45 8 | * @Version 1.0 9 | */ 10 | public interface LeoChartFacade { 11 | 12 | Map getKeywords(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/leo/LeoReportFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.leo; 2 | 3 | import com.baiyi.opscloud.domain.vo.leo.LeoReportVO; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/1/11 18:25 8 | * @Version 1.0 9 | */ 10 | public interface LeoReportFacade { 11 | 12 | LeoReportVO.LeoReport statLeoReport(); 13 | 14 | LeoReportVO.LeoProdReport statLeoProdReport(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/message/MessageFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.message; 2 | 3 | import com.baiyi.opscloud.datasource.message.LXHLMessageResponse; 4 | import com.baiyi.opscloud.domain.param.message.MessageParam; 5 | 6 | /** 7 | * @Author 修远 8 | * @Date 2022/9/7 8:03 PM 9 | * @Since 1.0 10 | */ 11 | public interface MessageFacade { 12 | 13 | LXHLMessageResponse.SendMessage sendMessage(MessageParam.SendMessage param); 14 | 15 | LXHLMessageResponse.SendMessage sendMessage(String media, String mobiles, String platform, String platformToken, MessageParam.GrafanaMessage parma); 16 | } 17 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/sys/AnnouncementFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.sys; 2 | 3 | import com.baiyi.opscloud.domain.vo.sys.AnnouncementVO; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2022/12/28 17:21 10 | * @Version 1.0 11 | */ 12 | public interface AnnouncementFacade { 13 | 14 | List getAnnouncementByKind(int kind); 15 | 16 | } -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/sys/EnvFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.sys; 2 | 3 | import com.baiyi.opscloud.domain.DataTable; 4 | import com.baiyi.opscloud.domain.param.sys.EnvParam; 5 | import com.baiyi.opscloud.domain.vo.env.EnvVO; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/5/25 4:33 下午 10 | * @Version 1.0 11 | */ 12 | public interface EnvFacade { 13 | 14 | DataTable queryEnvPage(EnvParam.EnvPageQuery pageQuery); 15 | 16 | void addEnv(EnvParam.Env env); 17 | 18 | void updateEnv(EnvParam.Env env); 19 | 20 | void deleteEnvById(Integer id); 21 | 22 | } -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/sys/NavFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.sys; 2 | 3 | import com.baiyi.opscloud.domain.vo.sys.NavVO; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * @Author 修远 9 | * @Date 2022/6/30 10:16 PM 10 | * @Since 1.0 11 | */ 12 | public interface NavFacade { 13 | 14 | List listActive(); 15 | 16 | } -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/template/factory/ITemplateProvider.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.template.factory; 2 | 3 | import com.baiyi.opscloud.domain.base.IInstanceAsset; 4 | import com.baiyi.opscloud.domain.generator.opscloud.BusinessTemplate; 5 | import com.baiyi.opscloud.domain.vo.template.BusinessTemplateVO; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/12/7 4:11 PM 10 | * @Version 1.0 11 | */ 12 | public interface ITemplateProvider extends IInstanceAsset { 13 | 14 | String getTemplateKey(); 15 | 16 | BusinessTemplateVO.BusinessTemplate produce(BusinessTemplate bizTemplate); 17 | 18 | } -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/terminal/TerminalReportFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.terminal; 2 | 3 | import com.baiyi.opscloud.domain.vo.terminal.TerminalReportVO; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/7/7 20:50 8 | * @Version 1.0 9 | */ 10 | public interface TerminalReportFacade { 11 | 12 | TerminalReportVO.TerminalReport statTerminalReport(); 13 | 14 | } -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/user/UserProfileFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.user; 2 | 3 | import com.baiyi.opscloud.domain.vo.user.UserProfileVO; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/2/2 15:23 8 | * @Version 1.0 9 | */ 10 | public interface UserProfileFacade { 11 | 12 | UserProfileVO.Profiles getProfiles(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/user/UserUIFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.user; 2 | 3 | import com.baiyi.opscloud.domain.vo.user.UIVO; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2021/6/4 5:32 下午 8 | * @Version 1.0 9 | */ 10 | public interface UserUIFacade { 11 | 12 | UIVO.UIInfo buildUIInfo(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/workorder/WorkOrderReportFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.workorder; 2 | 3 | import com.baiyi.opscloud.domain.vo.workorder.WorkOrderReportVO; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2022/2/14 11:40 AM 10 | * @Version 1.0 11 | */ 12 | public interface WorkOrderReportFacade { 13 | 14 | List queryTicketReportByName(); 15 | 16 | WorkOrderReportVO.MonthReport queryTicketReportByMonth(); 17 | } 18 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/facade/workorder/WorkOrderTicketSubscriberFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.workorder; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.User; 4 | import com.baiyi.opscloud.domain.generator.opscloud.WorkOrderTicket; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2022/1/18 10:23 AM 9 | * @Version 1.0 10 | */ 11 | public interface WorkOrderTicketSubscriberFacade { 12 | 13 | void publish(WorkOrderTicket workOrderTicket, User user); 14 | 15 | void publish(WorkOrderTicket workOrderTicket); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/factory/gitlab/enums/GitLabEventNameEnum.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.factory.gitlab.enums; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/10/29 10:55 上午 6 | * @Version 1.0 7 | */ 8 | public enum GitLabEventNameEnum { 9 | 10 | /** 11 | * GitLab 事件 12 | */ 13 | PROJECT_CREATE, 14 | PROJECT_DESTROY, 15 | PROJECT_RENAME, 16 | KEY_CREATE, 17 | KEY_DESTROY, 18 | 19 | // Push events 20 | PUSH, 21 | // Merge request events 22 | MERGE_REQUEST 23 | 24 | } 25 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/packer/IWrapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.packer; 2 | 3 | import com.baiyi.opscloud.domain.param.IExtend; 4 | import com.baiyi.opscloud.domain.param.SimpleExtend; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2022/2/17 3:42 PM 9 | * @Version 1.0 10 | */ 11 | public interface IWrapper { 12 | 13 | void wrap(T vo, IExtend iExtend); 14 | 15 | default void wrap(T vo) { 16 | wrap(vo, SimpleExtend.EXTEND); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/packer/IWrapperRelation.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.packer; 2 | 3 | import com.baiyi.opscloud.domain.param.IExtend; 4 | import com.baiyi.opscloud.domain.param.IRelation; 5 | import com.baiyi.opscloud.domain.vo.datasource.DsAssetVO; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2022/2/18 2:55 PM 10 | * @Version 1.0 11 | */ 12 | public interface IWrapperRelation { 13 | 14 | void wrap(T vo, IExtend iExtend, IRelation iRelation); 15 | 16 | void wrap(DsAssetVO.Asset asset, IExtend iExtend); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/packer/sys/EnvPacker.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.packer.sys; 2 | 3 | import com.baiyi.opscloud.common.annotation.EnvWrapper; 4 | import com.baiyi.opscloud.domain.vo.env.EnvVO; 5 | import org.springframework.stereotype.Component; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/5/25 4:43 下午 10 | * @Version 1.0 11 | */ 12 | @Component 13 | public class EnvPacker { 14 | 15 | /** 16 | * 不建议使用,推荐 @EnvWrapper 17 | * @param iEnv 18 | */ 19 | @Deprecated 20 | @EnvWrapper(extend = true) 21 | public void wrap(EnvVO.IEnv iEnv) { 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/packer/task/delegate/ServerTaskMemberPackerDelegate.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.packer.task.delegate; 2 | 3 | import com.baiyi.opscloud.common.annotation.EnvWrapper; 4 | import com.baiyi.opscloud.domain.vo.task.ServerTaskMemberVO; 5 | import org.springframework.stereotype.Component; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2022/2/9 5:25 PM 10 | * @Version 1.0 11 | */ 12 | @Component 13 | public class ServerTaskMemberPackerDelegate { 14 | 15 | @EnvWrapper(extend = true) 16 | public void wrap(ServerTaskMemberVO.Member member) { 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/java/com/baiyi/opscloud/packer/user/am/IAssetToAccessManagementConverter.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.packer.user.am; 2 | 3 | import com.baiyi.opscloud.domain.vo.datasource.DsAssetVO; 4 | import com.baiyi.opscloud.domain.vo.user.AccessManagementVO; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2022/2/8 1:33 PM 9 | * @Version 1.0 10 | */ 11 | public interface IAssetToAccessManagementConverter { 12 | 13 | AccessManagementVO.XAccessManagement toAM(DsAssetVO.Asset asset); 14 | 15 | String getAMType(); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /opscloud-manage/src/main/resources/.ssh/authorized.keys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ixrjog/opscloud4/1eca6a403e97055dee024c0ce676212ec6934944/opscloud-manage/src/main/resources/.ssh/authorized.keys -------------------------------------------------------------------------------- /opscloud-manage/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | .__ .___ 2 | ____ ______ ______ ____ | | ____ __ __ __| _/ 3 | / _ \\____ \/ ___// ___\| | / _ \| | \/ __ | 4 | ( <_> ) |_> >___ \\ \___| |_( <_> ) | / /_/ | 5 | \____/| __/____ >\___ >____/\____/|____/\____ | 6 | |__| \/ \/ \/ version:${spring.application.version} -------------------------------------------------------------------------------- /opscloud-manage/src/test/java/com/baiyi/opscloud/configuration/WhiteConfigTest.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.configuration; 2 | 3 | import com.baiyi.opscloud.BaseUnit; 4 | import com.baiyi.opscloud.configuration.properties.WhiteConfigurationProperties; 5 | import org.junit.jupiter.api.Test; 6 | 7 | import jakarta.annotation.Resource; 8 | 9 | /** 10 | * @Author baiyi 11 | * @Date 2021/6/1 11:38 上午 12 | * @Version 1.0 13 | */ 14 | class WhiteConfigTest extends BaseUnit { 15 | 16 | @Resource 17 | private WhiteConfigurationProperties whiteConfig; 18 | 19 | @Test 20 | void whiteConfigTest() { 21 | print(whiteConfig); 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /opscloud-manage/src/test/java/com/baiyi/opscloud/event/AlertHandlerTest.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.event; 2 | 3 | import com.baiyi.opscloud.BaseUnit; 4 | import com.baiyi.opscloud.event.alert.AlertHandler; 5 | import org.junit.jupiter.api.Test; 6 | 7 | import jakarta.annotation.Resource; 8 | 9 | /** 10 | * @Author baiyi 11 | * @Date 2022/5/31 21:34 12 | * @Version 1.0 13 | */ 14 | public class AlertHandlerTest extends BaseUnit { 15 | 16 | @Resource 17 | private AlertHandler alertHandler; 18 | 19 | @Test 20 | void sendTaskTest() { 21 | alertHandler.sendTask(); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /opscloud-manage/src/test/java/com/baiyi/opscloud/facade/kubernetes/impl/IstioFacadeImplTest.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.kubernetes.impl; 2 | 3 | import static org.junit.jupiter.api.Assertions.*; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2023/11/28 15:34 8 | * @Version 1.0 9 | */ 10 | class IstioFacadeImplTest { 11 | 12 | } -------------------------------------------------------------------------------- /opscloud-manage/src/test/java/com/baiyi/opscloud/facade/server/impl/ServerFacadeImplTest.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.server.impl; 2 | 3 | import com.baiyi.opscloud.BaseUnit; 4 | import com.baiyi.opscloud.facade.server.ServerFacade; 5 | import org.junit.jupiter.api.Test; 6 | 7 | import jakarta.annotation.Resource; 8 | 9 | /** 10 | * @Author baiyi 11 | * @Date 2022/5/9 11:13 12 | * @Version 1.0 13 | */ 14 | class ServerFacadeImplTest extends BaseUnit { 15 | 16 | @Resource 17 | private ServerFacade serverFacade; 18 | 19 | @Test 20 | void scanServerMonitoringStatusTest(){ 21 | serverFacade.scanServerMonitoringStatus(); 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /opscloud-manage/src/test/java/com/baiyi/opscloud/facade/user/impl/UserFacadeImplTest.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.user.impl; 2 | 3 | import com.baiyi.opscloud.BaseUnit; 4 | import com.baiyi.opscloud.facade.user.UserFacade; 5 | import org.junit.jupiter.api.Test; 6 | 7 | import jakarta.annotation.Resource; 8 | 9 | /** 10 | * @Author baiyi 11 | * @Date 2021/9/15 3:30 下午 12 | * @Version 1.0 13 | */ 14 | class UserFacadeImplTest extends BaseUnit { 15 | 16 | @Resource 17 | private UserFacade userFacade; 18 | 19 | @Test 20 | void syncUserPermissionGroupForAssetTest(){ 21 | userFacade.syncUserPermissionGroupForAsset(); 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /opscloud-manage/src/test/java/com/baiyi/opscloud/util/CommonUtilTest.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.util; 2 | 3 | import com.baiyi.opscloud.BaseUnit; 4 | import org.junit.jupiter.api.Test; 5 | import com.baiyi.opscloud.common.util.IPAddressUtil; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2022/3/15 11:49 AM 10 | * @Version 1.0 11 | */ 12 | public class CommonUtilTest extends BaseUnit { 13 | 14 | @Test 15 | void iPAddressUtilTest() { 16 | print(IPAddressUtil.isIPv4LiteralAddress("192.168.1.1")); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /opscloud-manage/src/test/java/com/baiyi/opscloud/util/CredentialKindEnumTest.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.util; 2 | 3 | import com.baiyi.opscloud.BaseUnit; 4 | import com.baiyi.opscloud.common.constants.enums.CredentialKindEnum; 5 | import org.junit.jupiter.api.Test; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/5/17 5:01 下午 10 | * @Version 1.0 11 | */ 12 | public class CredentialKindEnumTest extends BaseUnit { 13 | 14 | @Test 15 | void toOptions() { 16 | print(CredentialKindEnum.toOptions()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /opscloud-manage/src/test/java/com/baiyi/opscloud/util/IdUtilTest.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.util; 2 | 3 | import com.baiyi.opscloud.BaseUnit; 4 | import com.baiyi.opscloud.common.util.IdUtil; 5 | import org.junit.jupiter.api.Test; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2021/5/18 5:28 下午 10 | * @Version 1.0 11 | */ 12 | public class IdUtilTest extends BaseUnit { 13 | 14 | @Test 15 | void buildUUIDTest() { 16 | System.err.println(IdUtil.buildUUID()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /opscloud-manage/src/test/java/com/baiyi/opscloud/util/SecretUtilTest.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.util; 2 | 3 | import com.baiyi.opscloud.BaseUnit; 4 | import com.baiyi.opscloud.common.util.SecretUtil; 5 | import lombok.extern.slf4j.Slf4j; 6 | import org.junit.jupiter.api.Test; 7 | 8 | /** 9 | * @Author baiyi 10 | * @Date 2021/5/11 2:16 下午 11 | * @Version 1.0 12 | */ 13 | @Slf4j 14 | public class SecretUtilTest extends BaseUnit { 15 | 16 | @Test 17 | void getSecretStrTest(){ 18 | log.info(SecretUtil.getSecretStr(64)); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /opscloud-manage/src/test/java/com/baiyi/opscloud/util/StringFormatterTest.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.util; 2 | 3 | import com.baiyi.opscloud.BaseUnit; 4 | import com.baiyi.opscloud.common.util.StringFormatter; 5 | import org.junit.jupiter.api.Test; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2023/7/14 13:28 10 | * @Version 1.0 11 | */ 12 | public class StringFormatterTest extends BaseUnit { 13 | 14 | @Test 15 | void test() { 16 | print(StringFormatter.format("A1={}", "BBB")); 17 | print(StringFormatter.format("A2={}", 1L)); 18 | print(StringFormatter.arrayFormat("B1={},B2={},B3={}", 1L, 100L, "TEST")); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /opscloud-manage/src/test/java/com/baiyi/opscloud/util/SystemUtilsTest.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.util; 2 | 3 | import com.baiyi.opscloud.BaseUnit; 4 | import org.apache.commons.lang3.SystemUtils; 5 | import org.junit.jupiter.api.Test; 6 | 7 | /** 8 | * @Author baiyi 9 | * @Date 2023/8/11 18:05 10 | * @Version 1.0 11 | */ 12 | public class SystemUtilsTest extends BaseUnit { 13 | 14 | @Test 15 | void test() { 16 | print(SystemUtils.getHostName()); 17 | print(SystemUtils.JAVA_VERSION); 18 | print(SystemUtils.OS_NAME); 19 | print(SystemUtils.USER_TIMEZONE); 20 | print(SystemUtils.USER_NAME); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /opscloud-otp/src/main/java/com/baiyi/opscloud/otp/exception/OtpException.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.otp.exception; 2 | 3 | import java.io.Serial; 4 | 5 | /** 6 | * @Author baiyi 7 | * @Date 2022/2/25 2:27 PM 8 | * @Version 1.0 9 | */ 10 | public class OtpException { 11 | 12 | public static class DecodingException extends Exception { 13 | 14 | @Serial 15 | private static final long serialVersionUID = -7464786639825086408L; 16 | 17 | public DecodingException(String message) { 18 | super(message); 19 | } 20 | 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /opscloud-otp/src/main/java/com/baiyi/opscloud/otp/model/OTPAccessCode.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.otp.model; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2022/3/9 3:29 PM 9 | * @Version 1.0 10 | */ 11 | public class OTPAccessCode { 12 | 13 | @Data 14 | @Builder 15 | public static class AccessCode { 16 | // 第一组密码 17 | private String currentPassword; 18 | // 第二组密码 19 | private String futurePassword; 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/facade/datasource/SimpleDsAssetFacade.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.facade.datasource; 2 | 3 | /** 4 | * @Author baiyi 5 | * @Date 2021/6/29 4:36 下午 6 | * @Version 1.0 7 | */ 8 | public interface SimpleDsAssetFacade { 9 | 10 | /** 11 | * 删除资产 12 | * @param id 13 | */ 14 | void deleteAssetById(Integer id); 15 | 16 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/factory/credential/AbstractCredentialCustomer.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.factory.credential; 2 | 3 | import com.baiyi.opscloud.factory.credential.base.ICredentialCustomer; 4 | import org.springframework.beans.factory.InitializingBean; 5 | 6 | /** 7 | * @Author baiyi 8 | * @Date 2021/10/27 10:47 上午 9 | * @Version 1.0 10 | */ 11 | public abstract class AbstractCredentialCustomer implements ICredentialCustomer, InitializingBean { 12 | 13 | @Override 14 | public void afterPropertiesSet() throws Exception { 15 | CredentialCustomerFactory.register(this); 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AccessTokenMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AccessToken; 4 | import org.apache.ibatis.annotations.Param; 5 | import tk.mybatis.mapper.common.Mapper; 6 | 7 | public interface AccessTokenMapper extends Mapper { 8 | 9 | /** 10 | * 判断用户是否可访问某个资源 11 | * @param accessToken 12 | * @param resourceName 13 | * @return 14 | */ 15 | int checkUserHasResourceAuthorize(@Param("accessToken") String accessToken, @Param("resourceName") String resourceName); 16 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AlertNotifyEventMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AlertNotifyEvent; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface AlertNotifyEventMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AlertNotifyHistoryMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AlertNotifyHistory; 4 | import tk.mybatis.mapper.common.Mapper; 5 | import tk.mybatis.mapper.common.special.InsertListMapper; 6 | 7 | public interface AlertNotifyHistoryMapper extends Mapper, InsertListMapper { 8 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AliyunLogMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AliyunLog; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface AliyunLogMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AliyunLogMemberMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AliyunLogMember; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface AliyunLogMemberMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AnnouncementMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.Announcement; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface AnnouncementMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AnsiblePlaybookMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AnsiblePlaybook; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface AnsiblePlaybookMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/ApplicationResourceMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.ApplicationResource; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface ApplicationResourceMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AuditApiMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AuditApi; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface AuditApiMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AuthGroupMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AuthGroup; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface AuthGroupMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AuthMenuMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AuthMenu; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface AuthMenuMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AuthPlatformLogMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AuthPlatformLog; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface AuthPlatformLogMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AuthPlatformMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AuthPlatform; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface AuthPlatformMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AuthResourceMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AuthResource; 4 | import com.baiyi.opscloud.domain.param.auth.AuthResourceParam; 5 | import tk.mybatis.mapper.common.Mapper; 6 | 7 | import java.util.List; 8 | 9 | public interface AuthResourceMapper extends Mapper { 10 | 11 | List queryRoleBindResourceByParam(AuthResourceParam.RoleBindResourcePageQuery pageQuery); 12 | 13 | List queryRoleUnbindResourceByParam(AuthResourceParam.RoleBindResourcePageQuery pageQuery); 14 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AuthRoleMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AuthRole; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface AuthRoleMapper extends Mapper { 7 | 8 | int getRoleAccessLevelByUsername(String username); 9 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AuthRoleMenuMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AuthRoleMenu; 4 | import tk.mybatis.mapper.common.Mapper; 5 | import tk.mybatis.mapper.common.special.InsertListMapper; 6 | 7 | public interface AuthRoleMenuMapper extends Mapper, InsertListMapper { 8 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AuthRoleResourceMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AuthRoleResource; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface AuthRoleResourceMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/AuthUserRoleMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.AuthUserRole; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface AuthUserRoleMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/BusinessAssetRelationMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.BusinessAssetRelation; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface BusinessAssetRelationMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/BusinessDocumentMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.BusinessDocument; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface BusinessDocumentMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/BusinessPropertyMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.BusinessProperty; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface BusinessPropertyMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/BusinessRelationMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.BusinessRelation; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface BusinessRelationMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/BusinessTagMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.BusinessTag; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface BusinessTagMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/BusinessTemplateMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.BusinessTemplate; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface BusinessTemplateMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/CredentialMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.Credential; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface CredentialMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/DatasourceConfigMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.DatasourceConfig; 4 | import com.baiyi.opscloud.domain.param.datasource.DsConfigParam; 5 | import tk.mybatis.mapper.common.Mapper; 6 | 7 | import java.util.List; 8 | 9 | public interface DatasourceConfigMapper extends Mapper { 10 | 11 | List queryPageByParam(DsConfigParam.DsConfigPageQuery pageQuery); 12 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/DatasourceInstanceAssetPropertyMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.DatasourceInstanceAssetProperty; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface DatasourceInstanceAssetPropertyMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/DatasourceInstanceAssetRelationMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.DatasourceInstanceAssetRelation; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface DatasourceInstanceAssetRelationMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/DatasourceInstanceAssetSubscriptionMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.DatasourceInstanceAssetSubscription; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface DatasourceInstanceAssetSubscriptionMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/DatasourceInstanceMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.DatasourceInstance; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface DatasourceInstanceMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/DocumentMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.Document; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface DocumentMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/DocumentZoneMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.DocumentZone; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface DocumentZoneMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/EnvMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.Env; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface EnvMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/EventBusinessMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.EventBusiness; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface EventBusinessMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/EventMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.Event; 4 | import com.baiyi.opscloud.domain.param.event.EventParam; 5 | import tk.mybatis.mapper.common.Mapper; 6 | 7 | import java.util.List; 8 | 9 | public interface EventMapper extends Mapper { 10 | 11 | List queryUserPermissionEventPageByParam(EventParam.UserPermissionEventPageQuery pageQuery); 12 | 13 | List queryUserPermissionServerEventPageByParam(EventParam.UserPermissionEventPageQuery pageQuery); 14 | 15 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/InstanceMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.Instance; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface InstanceMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/LeoBuildImageMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.LeoBuildImage; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface LeoBuildImageMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/LeoBuildLogMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.LeoBuildLog; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface LeoBuildLogMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/LeoDeployLogMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.LeoDeployLog; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface LeoDeployLogMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/LeoJobMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.LeoJob; 4 | import com.baiyi.opscloud.domain.param.leo.LeoJobParam; 5 | import tk.mybatis.mapper.common.Mapper; 6 | 7 | import java.util.List; 8 | 9 | public interface LeoJobMapper extends Mapper { 10 | 11 | List queryPageByParam(LeoJobParam.JobPageQuery pageQuery); 12 | 13 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/LeoRuleMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.LeoRule; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface LeoRuleMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/LeoTemplateMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.LeoTemplate; 4 | import com.baiyi.opscloud.domain.param.leo.LeoTemplateParam; 5 | import tk.mybatis.mapper.common.Mapper; 6 | 7 | import java.util.List; 8 | 9 | public interface LeoTemplateMapper extends Mapper { 10 | 11 | List queryPageByParam(LeoTemplateParam.TemplatePageQuery pageQuer); 12 | 13 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/MenuChildMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.MenuChild; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface MenuChildMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/MenuMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.Menu; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface MenuMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/MessageTemplateMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.MessageTemplate; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface MessageTemplateMapper extends Mapper { 7 | } -------------------------------------------------------------------------------- /opscloud-service/src/main/java/com/baiyi/opscloud/mapper/NavMapper.java: -------------------------------------------------------------------------------- 1 | package com.baiyi.opscloud.mapper; 2 | 3 | import com.baiyi.opscloud.domain.generator.opscloud.Nav; 4 | import tk.mybatis.mapper.common.Mapper; 5 | 6 | public interface NavMapper extends Mapper