Apollo is a reliable configuration management system suitable for microservice configuration management scenarios.

Overview

apollo-logo

English | 中文

Apollo - A reliable configuration management system

Build Status GitHub Release Maven Central Repo codecov.io License

Apollo is a reliable configuration management system. It can centrally manage the configurations of different applications and different clusters. It is suitable for microservice configuration management scenarios.

The server side is developed based on Spring Boot and Spring Cloud, which can simply run without the need to install additional application containers such as Tomcat.

The Java SDK does not rely on any framework and can run in all Java runtime environments. It also has good support for Spring/Spring Boot environments.

The .Net SDK does not rely on any framework and can run in all .Net runtime environments.

For more details of the product introduction, please refer Introduction to Apollo Configuration Center.

For local demo purpose, please refer Quick Start.

Demo Environment:

Screenshots

Screenshot

Features

  • Unified management of the configurations of different environments and different clusters

    • Apollo provides a unified interface to centrally manage the configurations of different environments, different clusters, and different namespaces
    • The same codebase could have different configurations when deployed in different clusters
    • With the namespace concept, it is easy to support multiple applications to share the same configurations, while also allowing them to customize the configurations
    • Multiple languages is provided in user interface(currently Chinese and English)
  • Configuration changes takes effect in real time (hot release)

    • After the user modified the configuration and released it in Apollo, the sdk will receive the latest configurations in real time (1 second) and notify the application
  • Release version management

    • Every configuration releases are versioned, which is friendly to support configuration rollback
  • Grayscale release

    • Support grayscale configuration release, for example, after clicking release, it will only take effect for some application instances. After a period of observation, we could push the configurations to all application instances if there is no problem
  • Authorization management, release approval and operation audit

    • Great authorization mechanism is designed for applications and configurations management, and the management of configurations is divided into two operations: editing and publishing, therefore greatly reducing human errors
    • All operations have audit logs for easy tracking of problems
  • Client side configuration information monitoring

    • It's very easy to see which instances are using the configurations and what versions they are using
  • Rich SDKs available

    • Provides native sdks of Java and .Net to facilitate application integration
    • Support Spring Placeholder, Annotation and Spring Boot ConfigurationProperties for easy application use (requires Spring 3.1.1+)
    • Http APIs are provided, so non-Java and .Net applications can integrate conveniently
    • Rich third party sdks are also available, e.g. Golang, Python, NodeJS, PHP, C, etc
  • Open platform API

    • Apollo itself provides a unified configuration management interface, which supports features such as multi-environment, multi-data center configuration management, permissions, and process governance
    • However, for the sake of versatility, Apollo will not put too many restrictions on the modification of the configuration, as long as it conforms to the basic format, it can be saved.
    • In our research, we found that for some users, their configurations may have more complicated formats, such as xml, json, and the format needs to be verified
    • There are also some users such as DAL, which not only have a specific format, but also need to verify the entered value before saving, such as checking whether the database, username and password match
    • For this type of application, Apollo allows the application to modify and release configurations through open APIs, which has great authorization and permission control mechanism built in
  • Simple deployment

    • As an infrastructure service, the configuration center has very high availability requirements, which forces Apollo to rely on external dependencies as little as possible
    • Currently, the only external dependency is MySQL, so the deployment is very simple. Apollo can run as long as Java and MySQL are installed
    • Apollo also provides a packaging script, which can generate all required installation packages with just one click, and supports customization of runtime parameters

Usage

  1. Apollo User Guide
  2. Java SDK User Guide
  3. .Net SDK user Guide
  4. Third Party SDK User Guide
  5. Other Language Client User Guide
  6. Apollo Open APIs
  7. Apollo Use Cases
  8. Apollo User Practices
  9. Apollo Security Best Practices

Design

Development

Deployment

Release Notes

FAQ

Presentation

Publication

Community

License

The project is licensed under the Apache 2 license.

Known Users

Sorted by registration order,users are welcome to register in https://github.com/apolloconfig/apollo/issues/451 (reference purpose only for the community)

携程 青石证券 沙绿 航旅纵横 58转转
蜂助手 海南航空 CVTE 明博教育 麻袋理财
美行科技 首展科技 易微行 人才加 凯京集团
乐刻运动 大疆 快看漫画 我来贷 虚实软件
网易严选 视觉中国 资产360 亿咖通 5173
沪江 网易云基础服务 现金巴士 锤子科技 头等仓
吉祥航空 263移动通信 投投金融 每天健康 麦芽金服
蜂向科技 即科金融 贝壳网 有赞 云集汇通
犀牛瀚海科技 农信互联 蘑菇租房 狐狸金服 漫道集团
怪兽充电 南瓜租房 石投金融 土巴兔 平安银行
新新贷 中国华戎科技集团 涂鸦智能 立创商城 乐赚金服
开心汽车 乐赚金服 普元信息 医帮管家 付啦信用卡管家
悠哉网 梧桐诚选 拍拍贷 信用飞 丁香园
国槐科技 亲宝宝 华为视频直播 微播易 欧飞
迷说 一下科技 DaoCloud 汽摩交易所 好未来教育集团
猎户星空 卓健科技 银江股份 途虎养车 河姆渡
新网银行 中旅安信云贷 美柚 震坤行 万谷盛世
铂涛旅行 乐心 亿投传媒 股先生 财学堂
4399 汽车之家 面包财经 虎扑 搜狐汽车
量富征信 卖好车 中移物联网 易车网 一药网
小影 彩贝壳 YEELIGHT 积目 极致医疗
金汇金融 久柏易游 小麦铺 搜款网 米庄理财
贝吉塔网络科技 微盟 网易卡搭 股书 聚贸
广联达bimface 环球易购 浙江执御 二维火 上品
浪潮集团 纳里健康 橙红科技 龙腾出行 荔枝
汇通达 云融金科 天生掌柜 容联光辉 云天励飞
嘉云数据 中泰证券网络金融部 网易易盾 享物说 申通
金和网络 二三四五 恒天财富 沐雪微信 温州医科大学附属眼视光医院
联通支付 杉数科技 分利宝 核桃编程 小红书
幸福西饼 跨越速运 OYO 叮咚买菜 智道网联
雪球 车通云 哒哒英语 小E微店 达令家
人力窝 嘉美在线 极易付 智慧开源 车仕库
太美医疗科技 亿联百汇 舟谱数据 芙蓉兴盛 野兽派
凯叔讲故事 好大夫在线 云幂信息技术 兑吧 九机网
随手科技 万谷盛世 云账房 浙江远图互联 青客公寓
东方财富 极客修 美市科技 中通快递 易流科技
实习僧 达令家 寺库 连连支付 众安保险
360金融 中航服商旅 贝壳 Yeahmobi易点天下 北京登云美业网络科技有限公司
金和网络 中移(杭州)信息技术有限公司 北森 合肥维天运通 北京蜜步科技有限公司
术康 富力集团 天府行 八商山 中原地产
智科云达 中原730 百果园 波罗蜜 Xignite
杭州有云科技有限公司 成都书声科技有限公司 斯维登集团 广东快乐种子科技有限公司 上海盈翼文化传播有限公司
上海尚诚消费金融股份有限公司 自如网 京东 兔展智能 竹贝
iMile(中东) 哈罗出行 智联招聘 阿卡索 妙知旅
程多多 上汽通用五菱 乐言科技 樊登读书 找一找教程网
中油碧辟石油有限公司 四川商旅无忧科技服务有限公司 懿鸢网络科技(上海)有限公司 稿定科技 搵樓 - 利嘉閣
南京领行科技股份有限公司 北京希瑞亚斯科技有限公司 印彩虹印刷公司 Million Tech 果果科技
昆明航空 我爱我家 国金证券 不亦乐乎 惠农网
成都道壳 澳优乳业 河南有态度信息科技有限公司 智阳第一人力 上海保险交易所
万顺叫车 收钱吧 宝尊电商 喜百年供应链 南京观为智慧软件科技有限公司
在途商旅 哗啦啦 优信二手车 每刻科技 杭州蛮牛
翼支付 魔筷科技 畅唐网络 准时达 早道网校
万店掌 推文科技 Lemonbox 保利票务 芯翼科技
浙商银行 易企银科技 上海云盾 苏州盖雅信息技术有限公司 爱库存
极豆车联网 伴鱼少儿英语 锐达科技 新东方在线 金康高科
soul 驿氪 慧聪 中塑在线 甄云科技
追溯科技 玩吧 广州卡桑信息技术有限公司 水滴 酷我音乐
小米 今典 签宝科技 广州趣米网络科技有限公司 More...

Awards

The most popular Chinese open source software in 2018

Stargazers over time

Stargazers over time

Comments
  • docker 使用idoop/docker-apollo镜像,启动后建完项目报“系统出错,请联系系统负责人”

    docker 使用idoop/docker-apollo镜像,启动后建完项目报“系统出错,请联系系统负责人”

    image

    docker-compose如下,只配置了PRO环境 version: '2' services: apollo: image: idoop/docker-apollo:latest container_name: apollo hostname: apollo network_mode: "host" volumes: - ./logs:/opt environment: PORTAL_DB: jdbc:mysql://192.xxx.xxx.xxx:3306/ApolloPortalDB?characterEncoding=utf8 PORTAL_DB_USER: oa PORTAL_DB_PWD: App1234 PRO_DB: jdbc:mysql://192.xxx.xxx.xxx:3306/ApolloConfigDBPro?characterEncoding=utf8 PRO_DB_USER: oa PRO_DB_PWD: App1234 PRO_CONFIG_PORT: 8050 PRO_ADMIN_PORT: 8051

    opened by quezhihui 34
  • Refactor the soft delete design

    Refactor the soft delete design

    Which issue(s) this PR fixes:

    Fixes #3700

    Brief changelog

    These CHANGES need to modify MySQL schemas. Upgrade Apollo with steps as follow:

    1. Execute the following SQL scripts to add the deletedAt column
      • scripts/sql/delta/v190-v200/apolloconfigdb-v190-v200.sql
      • scripts/sql/delta/v190-v200/apolloportaldb-v190-v200.sql
    2. Deploy apollo-configservice
    3. Deploy apollo-adminservice
    4. Deploy apollo-portal
    5. Execute the following SQL scripts to add the unique index
      • scripts/sql/delta/v190-v200/apolloconfigdb-v190-v200-after.sql
      • scripts/sql/delta/v190-v200/apolloportaldb-v190-v200-after.sql

    If you were using Flyway manage your database schemas, upgrade Apollo with steps as follow:

    1. Execute the following maven commands to add the deletedAt column
      • mvn -N -Pconfigdb -Dflyway.target=2.0.0 flyway:migrate
      • mvn -N -Pportaldb -Dflyway.target=2.0.0 flyway:migrate
    2. Deploy apollo-configservice
    3. Deploy apollo-adminservice
    4. Deploy apollo-portal
    5. Execute the following maven commands to add the unique index
      • mvn -N -Pconfigdb flyway:migrate
      • mvn -N -Pportaldb flyway:migrate

    Useful SQL scripts (Optional)

    Scripts to check whether there is any duplicate data

    Before you add unique index, you could use the following SQLs to check whether there are duplicate data in your database.

    -- ApolloConfigDB data unique check 
    select `AppId`,`Secret`,count(*) from `AccessKey` where `IsDeleted`=0 group by `AppId`,`Secret` having count(*) > 1;
    select `AppId`,count(*) from `App` where `IsDeleted`=0 group by `AppId` having count(*) > 1;
    select `AppId`,`Name`, count(*) from `AppNamespace` where `IsDeleted`=0 group by `AppId`,`Name` having count(*) > 1;
    select `AppId`,`Name`,count(*) from `Cluster` where `IsDeleted`=0 group by `AppId`,`Name` having count(*) > 1;
    select `AppId`,`ClusterName`,`NamespaceName`,count(*) from `Namespace` where `IsDeleted`=0 group by `AppId`,`ClusterName`,`NamespaceName` having count(*) > 1;
    select `NamespaceId`,count(*) from `NamespaceLock` where `IsDeleted`=0 group by `NamespaceId` having count(*) > 1;
    select `ReleaseKey`,count(*) from `Release` where `IsDeleted`=0 group by `ReleaseKey` having count(*) > 1;
    select `Key`,`Cluster`,count(*) from `ServerConfig` where `IsDeleted`=0 group by `Key`,`Cluster` having count(*) > 1;
    
    -- ApolloPortalDB data unique check 
    select `AppId`,count(*) from `App` where `IsDeleted`=0 group by `AppId` having count(*) > 1;
    select `AppId`,`Name`, count(*) from `AppNamespace` where `IsDeleted`=0 group by `AppId`,`Name` having count(*) > 1;
    select `AppId`,count(*) from `Consumer` where `IsDeleted`=0 group by `AppId` having count(*) > 1;
    select `ConsumerId`,`RoleId`,count(*) from `ConsumerRole` where `IsDeleted`=0 group by `ConsumerId`,`RoleId` having count(*) > 1;
    select `Token`,count(*) from `ConsumerToken` where `IsDeleted`=0 group by `Token` having count(*) > 1;
    select `UserId`,`AppId`,count(*) from `Favorite` where `IsDeleted`=0 group by `UserId`,`AppId` having count(*) > 1;
    select `TargetId`,`PermissionType`,count(*) from `Permission` where `IsDeleted`=0 group by `TargetId`,`PermissionType` having count(*) > 1;
    select `RoleName`,count(*) from `Role` where `IsDeleted`=0 group by `RoleName` having count(*) > 1;
    select `RoleId`,`PermissionId`,count(*) from `RolePermission` where `IsDeleted`=0 group by `RoleId`,`PermissionId` having count(*) > 1;
    select `Key`,count(*) from `ServerConfig` where `IsDeleted`=0 group by `Key` having count(*) > 1;
    select `UserId`,`RoleId`,count(*) from `UserRole` where `IsDeleted`=0 group by `UserId`,`RoleId` having count(*) > 1;
    select `Username`,count(*) from `Users` group by `Username` having count(*) > 1;
    

    Scripts to rollback the unique indices

    The following SQLs could rollback the unqiue indices if you want to degrade your application, and if you want to upgrade later, your could execute scripts/sql/delta/v190-v200/*-v190-v200-after.sql again.

    -- Restore indices before 2.0.0 with ApolloConfigDB 
    Use ApolloConfigDB;
    ALTER TABLE `AccessKey`
        ADD INDEX `AppId` (`AppId`(191)),
        DROP INDEX `UK_AppId_Secret_DeletedAt`;
    ALTER TABLE `App`
        ADD INDEX `AppId` (`AppId`(191)),
        DROP INDEX `UK_AppId_DeletedAt`;
    ALTER TABLE `AppNamespace`
        ADD INDEX `IX_AppId` (`AppId`),
        DROP INDEX `UK_AppId_Name_DeletedAt`;
    ALTER TABLE `Cluster`
        ADD INDEX `IX_AppId_Name` (`AppId`,`Name`),
        DROP INDEX `UK_AppId_Name_DeletedAt`;
    ALTER TABLE `Namespace`
        ADD INDEX `AppId_ClusterName_NamespaceName` (`AppId`(191),`ClusterName`(191),`NamespaceName`(191)),
        DROP INDEX `UK_AppId_ClusterName_NamespaceName_DeletedAt`;
    ALTER TABLE `NamespaceLock`
        ADD UNIQUE INDEX `IX_NamespaceId` (`NamespaceId`),
        DROP INDEX`UK_NamespaceId_DeletedAt`;
    ALTER TABLE `Release`
        ADD INDEX `IX_ReleaseKey` (`ReleaseKey`),
        DROP INDEX `UK_ReleaseKey_DeletedAt`;
    ALTER TABLE `ServerConfig`
        ADD INDEX `IX_Key` (`Key`),
        DROP INDEX `UK_Key_Cluster_DeletedAt`;
    
    -- Restore indices before 2.0.0 with ApolloPortalDB
    Use ApolloPortalDB;
    ALTER TABLE `App`
        ADD INDEX `AppId` (`AppId`(191)),
        DROP INDEX `UK_AppId_DeletedAt`;
    ALTER TABLE `AppNamespace`
        ADD INDEX `IX_AppId` (`AppId`),
        DROP INDEX `UK_AppId_Name_DeletedAt`;
    ALTER TABLE `Consumer`
        ADD INDEX `AppId` (`AppId`(191)),
        DROP INDEX `UK_AppId_DeletedAt`;
    ALTER TABLE `ConsumerRole`
        ADD INDEX `IX_ConsumerId_RoleId` (`ConsumerId`,`RoleId`),
        DROP INDEX `UK_ConsumerId_RoleId_DeletedAt`;
    ALTER TABLE `ConsumerToken`
        ADD UNIQUE INDEX `IX_Token` (`Token`),
        DROP INDEX `UK_Token_DeletedAt`;
    ALTER TABLE `Favorite`
        ADD INDEX `IX_UserId` (`UserId`),
        DROP INDEX `UK_UserId_AppId_DeletedAt`;
    ALTER TABLE `Permission`
        ADD INDEX `IX_TargetId_PermissionType` (`TargetId`(191),`PermissionType`),
        DROP INDEX `UK_TargetId_PermissionType_DeletedAt`;
    ALTER TABLE `Role`
        ADD INDEX `IX_RoleName` (`RoleName`(191)),
        DROP INDEX `UK_RoleName_DeletedAt`;
    ALTER TABLE `RolePermission`
        ADD INDEX `IX_RoleId` (`RoleId`),
        DROP INDEX `UK_RoleId_PermissionId_DeletedAt`;
    ALTER TABLE `ServerConfig`
        ADD INDEX `IX_Key` (`Key`),
        DROP INDEX `UK_Key_DeletedAt`;
    ALTER TABLE `UserRole`
        ADD INDEX `IX_UserId_RoleId` (`UserId`,`RoleId`),
        DROP INDEX `UK_UserId_RoleId_DeletedAt`;
    ALTER TABLE `Users`
        DROP INDEX `UK_Username`;
    

    Follow this checklist to help us incorporate your contribution quickly and easily:

    • [x] Read the Contributing Guide before making this pull request.
    • [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
    • [x] Write necessary unit tests to verify the code.
    • [x] Run mvn clean test to make sure this pull request doesn't break anything.
    • [x] Update the CHANGES log.
    opened by nisiyong 29
  • apollo-portal 1.8.2 接入 oidc 认证失败

    apollo-portal 1.8.2 接入 oidc 认证失败

    描述bug

    apollo-portal 1.8.2 版本,使用 oidc 认证,报错不能启动;

    期望

    apollo-portal 1.8.2 能正常使用 oidc 认证

    截图

    image

    额外的细节和日志

    • 版本:1.8.2
    • 错误日志: 详见上面截图
    • 配置:使用 k8s 部署;按照文档 https://www.apolloconfig.com/#/zh/development/portal-how-to-implement-user-login-function?id=%e5%ae%9e%e7%8e%b0%e6%96%b9%e5%bc%8f%e4%b8%89%ef%bc%9a-%e6%8e%a5%e5%85%a5oidc 参考,新增 application-oidc.yml ,该文件内容如下:
    spring:
      security:
        oauth2:
          client:
            provider:
              provider-name: test-openid
              issuer-uri: <openid 服务器 URL,不包含 .well-known/openid-configuration>
            registration:
              registration-name: apollo-portal
              authorization-grant-type: authorization_code
              client-authentication-method: basic
              client-id: <申请的客户端 ID>
              provider: test-openid
              scope:
                - openid
              client-secret: <与客户端ID 对应的 secret>
    
    • 平台和操作系统:k8s 1.17.4
    opened by hahait 29
  • spring boot用logback做日志,logback-spring.xml中<springProperty>属性无法替换

    spring boot用logback做日志,logback-spring.xml中属性无法替换

    我是在Spring Boot初始bootstrap阶段注入配置 apollo.bootstrap.enabled = true 跟了下代码 class SpringApplication

    public ConfigurableApplicationContext run(String... args) {
    		StopWatch stopWatch = new StopWatch();
    		stopWatch.start();
    		ConfigurableApplicationContext context = null;
    		Collection<SpringBootExceptionReporter> exceptionReporters = new ArrayList<>();
    		configureHeadlessProperty();
    		SpringApplicationRunListeners listeners = getRunListeners(args);
    		listeners.starting();
    		try {
    			ApplicationArguments applicationArguments = new DefaultApplicationArguments(
    					args);
                          //<springProperty>属性在这步就会从environment获取
    			ConfigurableEnvironment environment = prepareEnvironment(listeners,
    					applicationArguments);
    			configureIgnoreBeanInfo(environment);
    			Banner printedBanner = printBanner(environment);
    			context = createApplicationContext();
    			exceptionReporters = getSpringFactoriesInstances(
    					SpringBootExceptionReporter.class,
    					new Class[] { ConfigurableApplicationContext.class }, context);
    			//ApolloApplicationContextInitializer在这里才会初始化,因此导致<springProperty>获取不到配置中心的属性
                            prepareContext(context, environment, listeners, applicationArguments,
    					printedBanner);
    			refreshContext(context);
    			afterRefresh(context, applicationArguments);
    			stopWatch.stop();
    			if (this.logStartupInfo) {
    				new StartupInfoLogger(this.mainApplicationClass)
    						.logStarted(getApplicationLog(), stopWatch);
    			}
    			listeners.started(context);
    			callRunners(context, applicationArguments);
    		}
    		catch (Throwable ex) {
    			handleRunFailure(context, ex, exceptionReporters, listeners);
    			throw new IllegalStateException(ex);
    		}
    
    		try {
    			listeners.running(context);
    		}
    		catch (Throwable ex) {
    			handleRunFailure(context, ex, exceptionReporters, null);
    			throw new IllegalStateException(ex);
    		}
    		return context;
    	}
    
    feature request 
    opened by gudegg 27
  • 移除client侧guava库

    移除client侧guava库

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 目前多个组件依赖了不同的版本的guava库,升级时爆出xx类不存在,之前的库无法更新升级,如zk的curator,这个和zk版本强绑定,dubbo又依赖zk,系统中很多dubbo服务,根本不可能升级

    Describe the solution you'd like A clear and concise description of what you want to happen. 移除guava等高频依赖 Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    Additional context Add any other context or screenshots about the feature request here.

    stale 
    opened by cjdxhjj 25
  • add active directory support

    add active directory support

    功能

    现有的 ldap 实现不支持 active directory,并且需要用户自行更改代码,编译 portal,因此计划提供对 active direcotry 的支持,并且支持动态绑定,用户只需更改配置文件即可接入。

    1. 添加 ldap 对 active directory 的支持
    2. 通过配置更改 ldap 属性绑定,不用再自行编译 portal

    变更

    ldap 认证方式

    修改了认证过程,不再通过比对密码的形式,改用 bind 形式去认证身份,流程如下:

    1. 使用配置的 ldap 管理账户调用 bind,验证管理员账户密码是否正常
    2. 使用管理员账户,根据 id,搜索要登录用户,查看用户是否存在
    3. 查询到用户以后,获得用户的 full DN
    4. 使用用户的 DN,调用 bind,去用户的密码去认证用户身份

    动态绑定流程

    修改了原有的查询用户方式,通过配置文件填写用户id、显示名、邮箱在 ldap 里面的对应属性,使用管理员账号,通过查询语句去获得用户的属性值。

    新增功能

    配置 ldap 标准的 memberOf 过滤器,只允许某些组的用户访问

    配置文件说明

    spring:
      ldap:
        base: "dc=example,dc=com"
        username: "admin"
        password: "passwod"
        searchFilter: "(sAMAccountName={0})"  # 用户过滤器,登录的时候用这个过滤器来搜索用户
        urls:
        - "ldap://1.1.1.1:389"
    
    ldap:
      mapping: # 配置 ldap 属性
        objectClass: "user" # ldap 用户 objectClass 配置
        loginId: "sAMAccountName" # ldap 用户惟一 id,用来作为登录的 id
        userDisplayName: "cn" # ldap 用户名,用来作为显示名
        email: "userPrincipalName" # ldap 邮箱属性
      filter: # 配置过滤,目前只支持 memberOf
        memberOf: "CN=ServiceDEV,OU=test,DC=example,DC=com|CN=WebDEV,OU=test,DC=example,DC=com" # 只允许 memberOf 属性为 ServiceDEV 和 WebDEV 的用户访问
    

    目前状态

    active directory 的方式测试通过,已经开始使用 原始的 ldap 方式,因为没有测试环境,所以需要找人帮忙进行测试

    opened by codepiano 22
  • 日志一直输出Load config failed,Sync config failed

    日志一直输出Load config failed,Sync config failed

    日志中一直在持续输出Load config failed,Sync config failed,will retry In 1 SECONDS………………,但是不影响使用,配置的获取、更新、加载都正常,只是日志不停地输出上述内容,占用空间增长很快。 1、该日志内容是何缘故?为何会提示失败? 2、如果上述内容无关紧要,该日志是否可以关闭? _428de31e-5b5b-4316-9a73-5450fef6ba84 1 _af51a901-4dfd-413a-9cb1-93a6e2e8065e

    area/client kind/report-problem 
    opened by reignsr 21
  • apollo-client为啥不是通过serviceId (eureka)去找configserver ?

    apollo-client为啥不是通过serviceId (eureka)去找configserver ?

    apollo-client为啥不是通过register(eureka)去找configserver? 在微服务体系中,本来就是使用register和ribbon综合来去除掉 ip直连,而且方便增减对应service; 为何apollo设计时,还专门设计ip直连(Nginx也是ip直连,要增减一个service,Nginx也要改配置吧),而不是使用register去通过serviceId去访问各个组件。 尤其是meta server的配置,使用serviceId:meta-server或lb://meta-server 是不是更好。 dev.meta=http://1.1.1.1:8080 fat.meta=http://apollo.fat.xxx.com uat.meta=http://apollo.uat.xxx.com pro.meta=http://apollo.xxx.com

    目前1.4.0 是否支持我想要的这种? 当初为啥要client单独去练meta server的设计思想是什么啊?

    在微服务群组内,还要求另外添加Nginx去做内网的复杂均衡,是不是不太符合 微服务治理 的倡议啊 ?

    谢谢。

    stale 
    opened by endypark 20
  • quick start始终都是超时状态

    quick start始终都是超时状态

    $ ./demo.sh start ==== starting service ==== Service logging file is ./service/apollo-service.log Started [19156] Waiting for config service startup........................ Config service failed to start in 120 seconds! Please check ./service/apollo-service.log for more information.

    stale 
    opened by Kevinboy2020 20
  • 多数据中心部署疑惑

    多数据中心部署疑惑

    您好,帮忙看下如下场景的部署方案是否正确: 背景:公司项目生产环境有多个集群,比如上海,杭州,日本,新加坡,我们想通过部署一个portal管理多个集群,目前的方案是:

    一个环境PRO,下面创建多个集群,上海,杭州,日本,新加坡,然后在各集群服务器上各部署一套configService,adminService,configDB(数据库是各个节点一套,但实际数据我们通过专线做了DB同步,也就是各集群的configDB数据一模一样)。portalDB及portal服务只部署在杭州节点,修改配置的时候通过杭州的portal去修改各集群的配置。

    我的疑问点是:看官方文档阿波罗client感知配置变更是根据configDB,如果是的话,那我们这种部署方式应该不会导致portal修改配置后,由于我们把杭州节点的数据同步到了其他节点,其他节点的应用感知不到配置有变更吧?另外我们这种部署是不是adminservice也只要部署一个杭州节点就行了,毕竟底层的configDB数据各节点已经做了数据同步

    stale 
    opened by enjoycodingfun 19
  • 查看集群是出现两个一样的集群

    查看集群是出现两个一样的集群

    WeChat67e3bee98123892e05eb29fba69e86b9

    这是我的请求 http://域名/apps/test/envs/dev/clusters/default

    返回值 {"exception":"org.springframework.dao.IncorrectResultSizeDataAccessException","message":"query did not return a unique result: 2; nested exception is javax.persistence.NonUniqueResultException: query did not return a unique result: 2","status":500.0,"timestamp":"2021-04-13T00:10:08.555"}

    stale area/portal kind/report-problem 
    opened by taidixiong 19
  • 接入OIDC是否依旧需要修改start.sh

    接入OIDC是否依旧需要修改start.sh

    描述bug

    refer to https://github.com/apolloconfig/apollo/issues/4561, helm chart部署服务时里面配置项可以修改config.profile并挂载application-oidc.yml,官方文档中是否还一定需要修改start.sh?可否更新helm chart部署方式OIDC的整合示例?

    复现

    通过如下步骤可以复现:

    期望

    portal支持OIDC认证

    截图

    如果可以,附上截图来描述你的问题

    额外的细节和日志

    • 版本:
    • 错误日志
    • 配置:
    • 平台和操作系统
    opened by Shelby-Jiao 0
  • OIDC模糊搜索bug

    OIDC模糊搜索bug

    描述bug oidc搜索用户时候jpa报错,无法进行用户搜索

    原因是因为hibernate 5.5.7final版本中存在一个like语法的bug,具体如下 https://stackoverflow.com/questions/72774965/parameter-value-did-not-match-expected-type-java-lang-string-n-a 我本人已升级版本修复完成。 复现

    通过如下步骤可以复现: 启动一个oidc或者spring auth的服务器,添加一个新应用添加管理人员

    期望

    简介明了地描述你希望正常情况下应该发生什么

    截图 image

    如果可以,附上截图来描述你的问题

    额外的细节和日志

    • 版本:
    • 错误日志
    • 配置:
    • 平台和操作系统
    opened by Jxiu 0
  • windows环境下运行build.bat报错

    windows环境下运行build.bat报错

    报错信息: [INFO] Error stacktraces are turned on. [INFO] Scanning for projects... [ERROR] [ERROR] Could not find the selected project in the reactor: apollo-configservice @ [ERROR] Could not find the selected project in the reactor: apollo-configservice -> [Help 1] org.apache.maven.MavenExecutionException: Could not find the selected project in the reactor: apollo-configservice at org.apache.maven.graph.DefaultGraphBuilder.trimSelectedProjects (DefaultGraphBuilder.java:172) at org.apache.maven.graph.DefaultGraphBuilder.reactorDependencyGraph (DefaultGraphBuilder.java:124) at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:84) at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:507) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:219) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289) at org.apache.maven.cli.MavenCli.main (MavenCli.java:193) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347) [ERROR] [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException "==== building config-service and admin-service finished ====" "==== starting to build portal ====" [INFO] Scanning for projects... [ERROR] [ERROR] Could not find the selected project in the reactor: apollo-portal @ [ERROR] Could not find the selected project in the reactor: apollo-portal -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException "==== building portal finished ====" 请按任意键继续. . .

    need investigation 
    opened by zzzqboom 0
  • Spring Boot Actuator 配置 在启动过程中出现本地配置文件优先级大于Apollo配置文件

    Spring Boot Actuator 配置 在启动过程中出现本地配置文件优先级大于Apollo配置文件

    描述bug

    SpringBoot应用在启动过程中,在判断Actuator配置是否开启时,优先读取的是本地配置文件配置的值

    我是按照集成Springboot的方式去配置的,在bootstrap.properties中配置的: app.id= xxxxx apollo.meta= http://xxxxxxxx apollo.bootstrap.enabled = true apollo.bootstrap.namespaces = application apollo.bootstrap.eagerLoad.enabled=true

    复现

    通过如下步骤可以复现:

    1. Apollo配置中心配置: management.endpoints.web.exposure.include = httptrace,health management.endpoints.web.base-path = /actuator management.endpoint.health.show-details = always management.health.diskSpace.enabled = true

    2.本地配置文件application.yml配置: management.endpoints.web.exposure.include = httptrace,health management.endpoints.web.base-path = /actuator management.endpoint.health.show-details = always management.health.diskSpace.enabled = false

    3.启动springboot应用

    期望

    正常应该以Apollo配置中心的配置为准,开启diskSpace的健康检查,实际上却是以本地配置文件为准,未开启diskSpace的配置检查,也就是未注入diskSpace检查的Bean到容器中

    截图 以下是系统启动过程中,判断Spring Actutor是否开启的源码进行debug,此时发生的时机是扫描包目录下的Component Bean时:

    org.springframework.boot.actuate.autoconfigure.OnEndpointElementCondition: image Environment对象的值: image 不符合Apollo的设计思路: image

    额外的细节和日志

    • 版本: Apollo Client: 1.9.1
      Spring Boot: 2.3.12.RELEASE

    • 平台和操作系统 :Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-55-generic x86_64)

    opened by shiliang-star 4
  • Apollo V2.0.0, V2.0.1 Unauthorized access vulnerability

    Apollo V2.0.0, V2.0.1 Unauthorized access vulnerability

    Apollo V2.0.0, V2.0.1 Unauthorized access vulnerability exists in the configuration center. This vulnerability is caused by the failure to perform proper permission verification on some interfaces in the administrator tool of the configuration center. As a result, common users with low permission can access these interfaces to obtain sensitive information about the system and other users. image The vulnerability stems from Apoll-portal \src\main\java\com\ctrip\framework\apollo\portal\controller\UserInfoController.java searchUsersByKeyword method Therefore, any user can access the interface to obtain all users' data information.

    opened by ljk5 2
Releases(v2.0.1)
  • v2.0.1(Jun 4, 2022)

    What's Changed

    Bug fixes

    • upgrade spring boot version to fix the search user failed issue by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4366
    • fix search user duplication issue by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4371
    • Fix the npe issue for old version of gray release rules by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4382
    • fix the delete appnamespace failed issue by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4388

    Misc

    • Bump gson from 2.8.0 to 2.8.9 by @dependabot in https://github.com/apolloconfig/apollo/pull/4364
    • Bump okhttp3 from 3.11.0 to 4.9.3 by @Shoothzj in https://github.com/apolloconfig/apollo/pull/4392

    Installation

    Please refer Distributed Deployment Guide.

    How to upgrade from v2.0.0 to v2.0.1

    There is no schema change between v2.0.0 and v2.0.1 So simply deploy v2.0.1 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-2.0.1-github.zip(68.63 MB)
    apollo-adminservice-2.0.1-github.zip.sha1(79 bytes)
    apollo-configservice-2.0.1-github.zip(71.92 MB)
    apollo-configservice-2.0.1-github.zip.sha1(80 bytes)
    apollo-portal-2.0.1-github.zip(55.36 MB)
    apollo-portal-2.0.1-github.zip.sha1(73 bytes)
  • v2.0.0(May 12, 2022)

    Highlights

    Java 17 Support

    Apollo now supports Java Runtime Environment 8, 11, and 17 for both clients and servers.

    Public Namespaces List View

    A public namespaces list view is added to the apollo homepage, users could now view and search public namespaces.

    image

    Grayscale Label Support

    Grayscale rules now support matching with labels for scenarios where IP is not fixed, e.g. Kubernetes. For more information on how to use this feature, please refer apollo user guide.

    image

    Enhanced Config Export/Import

    The batch config export/import feature is enhanced.

    image

    The export/import feature is also enabled for each namespace.

    image

    Unique Constraint Index

    Previously, Apollo doesn't have unique constraint indices due to the soft delete design. However, there might be problems in concurrent situations. With the new DeletedAt columns, unique indices are added for most of the tables. There are some manual steps for existing users to upgrade.

    Breaking Changes

    As was discussed in #3896, apollo-client drops java 1.7 support since the 2.0.0 release. The minimum Java runtime environment is 1.8(for both client and server).

    What's Changed

    Features

    • switch apollo.config-service log from warning to info level by @lonre in https://github.com/apolloconfig/apollo/pull/3884
    • Make Access Key Timestamp check configurable by @nisiyong in https://github.com/apolloconfig/apollo/pull/3908
    • refactor: let open api more easier to use and development by @Anilople in https://github.com/apolloconfig/apollo/pull/3943
    • feat(scripts): use bash to call openapi by @Anilople in https://github.com/apolloconfig/apollo/pull/3980
    • support search by item by @lepdou in https://github.com/apolloconfig/apollo/pull/3977
    • feature: implement password policies to avoid weak passwords by @WillardHu in https://github.com/apolloconfig/apollo/pull/4008
    • public namespace basic function by @youabcd in https://github.com/apolloconfig/apollo/pull/3850
    • Extend the gray release capability to support dimensions other than IP by @zcy1010 in https://github.com/apolloconfig/apollo/pull/4013
    • bump to 2.0.0 and drop java 1.7 support by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4015
    • feat: add a shortcut to scroll to the top in the dashboard by @NICEXAI in https://github.com/apolloconfig/apollo/pull/4045
    • change scrollbar css by @zeemood in https://github.com/apolloconfig/apollo/pull/3925
    • support java 17 by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4060
    • optimize navbar style by @lepdou in https://github.com/apolloconfig/apollo/pull/4073
    • add language.png icon by @lepdou in https://github.com/apolloconfig/apollo/pull/4074
    • support export import config by env by @lepdou in https://github.com/apolloconfig/apollo/pull/3947
    • support only show difference keys when compare namespace by @lepdou in https://github.com/apolloconfig/apollo/pull/4165
    • add zookeeper service discovery support(#3557) by @CalebZYC in https://github.com/apolloconfig/apollo/pull/4119
    • bump guava version to 31.0.1 by @Shoothzj in https://github.com/apolloconfig/apollo/pull/4182
    • Bump client springboot version by @Shoothzj in https://github.com/apolloconfig/apollo/pull/4189
    • The release history of namespaces that are not properties will also show comments and release times by @klboke in https://github.com/apolloconfig/apollo/pull/4198
    • Allow disable apollo client cache by @Shoothzj in https://github.com/apolloconfig/apollo/pull/4199
    • feature: isCommonlyUsed password check not hardcoded #4018 by @WillardHu in https://github.com/apolloconfig/apollo/pull/4207
    • canonical zh-cn text by @lepdou in https://github.com/apolloconfig/apollo/pull/4214
    • optimize create namespace page by @lepdou in https://github.com/apolloconfig/apollo/pull/4213
    • Add Ordered interface to ProviderManager SPI by @darcydai in https://github.com/apolloconfig/apollo/pull/4218
    • Bump xstream from 1.4.18 to 1.4.19 by @dependabot in https://github.com/apolloconfig/apollo/pull/4223
    • Using commons-lang3 to replace commons-lang by @ruanwenjun in https://github.com/apolloconfig/apollo/pull/4225
    • optimize import/export config by @lepdou in https://github.com/apolloconfig/apollo/pull/4231
    • Configure publish and rollback modal boxes to add scrollbars by @klboke in https://github.com/apolloconfig/apollo/pull/4251
    • add custom define discovery by @gy09535 in https://github.com/apolloconfig/apollo/pull/4266
    • Refactor the soft delete design by @nisiyong in https://github.com/apolloconfig/apollo/pull/3866
    • upgrade spring boot to 2.6.6 and spring cloud to 2021.0.1 by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4295
    • upgrade mysql-connector-java to 8.0.28 by @Anilople https://github.com/apolloconfig/apollo/pull/4308
    • Upgrade flyway to 8.0.5 by @Shoothzj https://github.com/apolloconfig/apollo/pull/4312
    • Broadcast ConfigChangeEvent using Spring ApplicationEvent @nobodyiam https://github.com/apolloconfig/apollo/pull/4305

    Bug fixes

    • Fix issue that the $ symbol is not used when reading shell variables by @ReganHe93 in https://github.com/apolloconfig/apollo/pull/3890
    • Fix issue: ingress syntax by @lijiansgit in https://github.com/apolloconfig/apollo/pull/3933
    • fix helm scripts BUG by @w-a-n-g-s-h-u-n in https://github.com/apolloconfig/apollo/pull/4054
    • Catch LinkageError for ClassLoaderUtil.isClassPresent in case class is present but is failed to load by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4097
    • fix gray publish refresh item status(#4039) by @CalebZYC in https://github.com/apolloconfig/apollo/pull/4128
    • Fix the issue that property placeholder doesn't work for dubbo reference beans by @lonre in https://github.com/apolloconfig/apollo/pull/4175
    • Fix the NPE occurred when using EnableApolloConfig with Spring 3.1.1 by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4180
    • fix the json number display issue when it's longer than 16 by @CalebZYC in https://github.com/apolloconfig/apollo/pull/4183
    • fix update user password failure bug by @lepdou in https://github.com/apolloconfig/apollo/pull/4212
    • Fix bug: associated namespace display incorrect in text view by @darcydai in https://github.com/apolloconfig/apollo/pull/4219
    • fix import config bug by @lepdou in https://github.com/apolloconfig/apollo/pull/4262
    • fix the potential data inconsistency issue by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4256
    • use item.isDeleted to check whether the item is deleted by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4279
    • Fix the apollo portal start failed issue by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4298

    Misc

    • remove ctrip profile by @JaredTan95 in https://github.com/apolloconfig/apollo/pull/3920
    • Remove spring dependencies from internal code by @klboke in https://github.com/apolloconfig/apollo/pull/3937
    • remove ctrip profile dependency. by @Accelerator96 in https://github.com/apolloconfig/apollo/pull/3951
    • fix gpg signing issues when deploying to maven repository with github action by @nobodyiam in https://github.com/apolloconfig/apollo/pull/3950
    • Fixed some code smells in apollo-portal module by @WillardHu in https://github.com/apolloconfig/apollo/pull/3968
    • clean ctrip profile by @JaredTan95 in https://github.com/apolloconfig/apollo/pull/3971
    • Fixed some code smells in apollo-portal module #2 by @WillardHu in https://github.com/apolloconfig/apollo/pull/3974
    • fix NullPointerException hazard in StringUtils.join(..) method by @WillardHu in https://github.com/apolloconfig/apollo/pull/3983
    • Replace String.format() with newly created class OpenApiPathBuilder by @WillardHu in https://github.com/apolloconfig/apollo/pull/3982
    • Make the constructor of AbstractApolloHttpException implementation class to support string template by @WillardHu in https://github.com/apolloconfig/apollo/pull/3999
    • Removed useless hardcoded Strings in EnvUtils. by @DiegoKrupitza in https://github.com/apolloconfig/apollo/pull/4007
    • chore: Simplified the Env class in apollo-portal that links to Env enum in apollo-core by @DiegoKrupitza in https://github.com/apolloconfig/apollo/pull/4011
    • Chore: Future-proofed ConfigFileFormat by @DiegoKrupitza in https://github.com/apolloconfig/apollo/pull/4030
    • ConfigFileFormat#Properties are now fully compatible with themselves by @DiegoKrupitza in https://github.com/apolloconfig/apollo/pull/4033
    • Fix flaky test testGetPropertyNames. by @yyfMichaelYan in https://github.com/apolloconfig/apollo/pull/4082
    • Fix flaky test testAssembleQueryConfigUrl. by @yyfMichaelYan in https://github.com/apolloconfig/apollo/pull/4083
    • Update RelativeDateFormat.java by @xuxiawei in https://github.com/apolloconfig/apollo/pull/4111
    • chore: change 'ctripcorp' to 'apolloconfig' in .yaml files by @void1104 in https://github.com/apolloconfig/apollo/pull/4112
    • Flaky test fields iteration order by @yyfMichaelYan in https://github.com/apolloconfig/apollo/pull/4095
    • test(apollo-core): PropertiesUtilTest by @youyulan in https://github.com/apolloconfig/apollo/pull/4113
    • optimization omits unnecessary time conversion by @xuxiawei in https://github.com/apolloconfig/apollo/pull/4118
    • Split helm chart into another repo by @JaredTan95 in https://github.com/apolloconfig/apollo/pull/4125
    • refactor: SpringValueProcessor extract duplicate code by @mghio in https://github.com/apolloconfig/apollo/pull/4137
    • build: ctripcorp -> apolloconfig in .github/workflows/cla.yml by @Fool-coder in https://github.com/apolloconfig/apollo/pull/4150
    • Add unit tests for Utils by @joshknopp in https://github.com/apolloconfig/apollo/pull/4193
    • Change Copy Right year to 2022 by @Shoothzj in https://github.com/apolloconfig/apollo/pull/4202
    • Adding JUnit. Fixes #3874 by @ayush0407 in https://github.com/apolloconfig/apollo/pull/4271
    • Test coverage by @ayush0407 in https://github.com/apolloconfig/apollo/pull/4280
    • Test coverage by @ayush0407 in https://github.com/apolloconfig/apollo/pull/4287
    • Fix flaky test by @plzdoo in https://github.com/apolloconfig/apollo/pull/4311
    • Update ReleaseMessageServiceWithCacheTest.java by @plzdoo in https://github.com/apolloconfig/apollo/pull/4314
    • Translation of Apollo Official Chinese Document(s) by @misselvexu in https://github.com/apolloconfig/apollo/pull/4322
    • fix an title indent error by @Alceatraz in https://github.com/apolloconfig/apollo/pull/4325
    • Misc changes by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4333
    • feat: update secret access key tips by @weiyichao in https://github.com/apolloconfig/apollo/pull/4339
    • Misc changes by @lepdou in https://github.com/apolloconfig/apollo/pull/4343

    Installation

    Please refer Distributed Deployment Guide.

    How to upgrade from v1.9.x to v2.0.0

    Important Note: 2.0.0 release adds unique indices for most of the tables by adding DeletedAt columns, so there are some manual steps to do:

    1. Check whether there are duplicate dirty data in your database(optional)
      1. Please refer the Scripts to check whether there is any duplicate data section in PR #3866
    2. Apply the first part of the schema changes to ApolloConfigDB and ApolloPortalDB
      1. Apply apolloconfigdb-v190-v200.sql to ApolloConfigDB and apolloportaldb-v190-v200.sql to ApolloPortalDB
      2. Flyway users could run the following maven commands instead
        1. mvn -N -Pconfigdb -Dflyway.target=2.0.0 flyway:migrate
        2. mvn -N -Pportaldb -Dflyway.target=2.0.0 flyway:migrate
    3. Upgrade apollo-configservice
    4. Upgrade apollo-adminservice
    5. Upgrade apollo-portal
    6. Add unique indices to ApolloConfigDB and ApolloPortalDB
      1. Apply apolloconfigdb-v190-v200-after.sql to ApolloConfigDB and apolloportaldb-v190-v200-after.sql to ApolloPortalDB
      2. Flyway users could run the following maven commands instead
        1. mvn -N -Pconfigdb flyway:migrate
        2. mvn -N -Pportaldb flyway:migrate
      3. In case you want to rollback the unique indices, you could refer the Scripts to rollback the unique indices section in PR #3866

    New Contributors

    • @ReganHe93 made their first contribution in https://github.com/apolloconfig/apollo/pull/3890
    • @lijiansgit made their first contribution in https://github.com/apolloconfig/apollo/pull/3933
    • @WillardHu made their first contribution in https://github.com/apolloconfig/apollo/pull/3968
    • @czd890 made their first contribution in https://github.com/apolloconfig/apollo/pull/3887
    • @DiegoKrupitza made their first contribution in https://github.com/apolloconfig/apollo/pull/4007
    • @pengweiqhca made their first contribution in https://github.com/apolloconfig/apollo/pull/4002
    • @youabcd made their first contribution in https://github.com/apolloconfig/apollo/pull/3850
    • @zcy1010 made their first contribution in https://github.com/apolloconfig/apollo/pull/4013
    • @NICEXAI made their first contribution in https://github.com/apolloconfig/apollo/pull/4027
    • @zeemood made their first contribution in https://github.com/apolloconfig/apollo/pull/3925
    • @w-a-n-g-s-h-u-n made their first contribution in https://github.com/apolloconfig/apollo/pull/4054
    • @sy-records made their first contribution in https://github.com/apolloconfig/apollo/pull/4061
    • @yyfMichaelYan made their first contribution in https://github.com/apolloconfig/apollo/pull/4082
    • @xuxiawei made their first contribution in https://github.com/apolloconfig/apollo/pull/4111
    • @void1104 made their first contribution in https://github.com/apolloconfig/apollo/pull/4112
    • @youyulan made their first contribution in https://github.com/apolloconfig/apollo/pull/4113
    • @mghio made their first contribution in https://github.com/apolloconfig/apollo/pull/4137
    • @Fool-coder made their first contribution in https://github.com/apolloconfig/apollo/pull/4150
    • @Shoothzj made their first contribution in https://github.com/apolloconfig/apollo/pull/4182
    • @joshknopp made their first contribution in https://github.com/apolloconfig/apollo/pull/4193
    • @darcydai made their first contribution in https://github.com/apolloconfig/apollo/pull/4219
    • @ruanwenjun made their first contribution in https://github.com/apolloconfig/apollo/pull/4225
    • @gy09535 made their first contribution in https://github.com/apolloconfig/apollo/pull/4266
    • @ayush0407 made their first contribution in https://github.com/apolloconfig/apollo/pull/4271
    • @dazuimao1990 made their first contribution in https://github.com/apolloconfig/apollo/pull/4283
    • @plzdoo made their first contribution in https://github.com/apolloconfig/apollo/pull/4311
    • @misselvexu made their first contribution in https://github.com/apolloconfig/apollo/pull/4322
    • @Alceatraz made their first contribution in https://github.com/apolloconfig/apollo/pull/4325
    • @weiyichao made their first contribution in https://github.com/apolloconfig/apollo/pull/4339
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-2.0.0-github.zip(68.53 MB)
    apollo-adminservice-2.0.0-github.zip.sha1(79 bytes)
    apollo-configservice-2.0.0-github.zip(71.84 MB)
    apollo-configservice-2.0.0-github.zip.sha1(80 bytes)
    apollo-portal-2.0.0-github.zip(55.27 MB)
    apollo-portal-2.0.0-github.zip.sha1(73 bytes)
  • v2.0.0-RC1(Apr 10, 2022)

    Highlights

    Java 17 Support

    Apollo now supports Java Runtime Environment 8, 11, and 17 for both clients and servers.

    Public Namespaces List View

    A public namespaces list view is added to the apollo homepage, users could now view and search public namespaces.

    image

    Grayscale Label Support

    Grayscale rules now support matching with labels for scenarios where IP is not fixed, e.g. Kubernetes. For more information on how to use this feature, please refer apollo user guide.

    image

    Enhanced Config Export/Import

    The batch config export/import feature is enhanced.

    image

    The export/import feature is also enabled for each namespace.

    image

    Unique Constraint Index

    Previously, Apollo doesn't have unique constraint indices due to the soft delete design. However, there might be problems in concurrent situations. With the new DeletedAt columns, unique indices are added for most of the tables. There are some manual steps for existing users to upgrade.

    Breaking Changes

    As was discussed in #3896, apollo-client drops java 1.7 support since the 2.0.0 release. The minimum Java runtime environment is 1.8(for both client and server).

    What's Changed

    Features

    • switch apollo.config-service log from warning to info level by @lonre in https://github.com/apolloconfig/apollo/pull/3884
    • Make Access Key Timestamp check configurable by @nisiyong in https://github.com/apolloconfig/apollo/pull/3908
    • refactor: let open api more easier to use and development by @Anilople in https://github.com/apolloconfig/apollo/pull/3943
    • feat(scripts): use bash to call openapi by @Anilople in https://github.com/apolloconfig/apollo/pull/3980
    • support search by item by @lepdou in https://github.com/apolloconfig/apollo/pull/3977
    • feature: implement password policies to avoid weak passwords by @WillardHu in https://github.com/apolloconfig/apollo/pull/4008
    • public namespace basic function by @youabcd in https://github.com/apolloconfig/apollo/pull/3850
    • Extend the gray release capability to support dimensions other than IP by @zcy1010 in https://github.com/apolloconfig/apollo/pull/4013
    • bump to 2.0.0 and drop java 1.7 support by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4015
    • feat: add a shortcut to scroll to the top in the dashboard by @NICEXAI in https://github.com/apolloconfig/apollo/pull/4045
    • change scrollbar css by @zeemood in https://github.com/apolloconfig/apollo/pull/3925
    • support java 17 by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4060
    • optimize navbar style by @lepdou in https://github.com/apolloconfig/apollo/pull/4073
    • add language.png icon by @lepdou in https://github.com/apolloconfig/apollo/pull/4074
    • support export import config by env by @lepdou in https://github.com/apolloconfig/apollo/pull/3947
    • support only show difference keys when compare namespace by @lepdou in https://github.com/apolloconfig/apollo/pull/4165
    • add zookeeper service discovery support(#3557) by @CalebZYC in https://github.com/apolloconfig/apollo/pull/4119
    • bump guava version to 31.0.1 by @Shoothzj in https://github.com/apolloconfig/apollo/pull/4182
    • Bump client springboot version by @Shoothzj in https://github.com/apolloconfig/apollo/pull/4189
    • The release history of namespaces that are not properties will also show comments and release times by @klboke in https://github.com/apolloconfig/apollo/pull/4198
    • Allow disable apollo client cache by @Shoothzj in https://github.com/apolloconfig/apollo/pull/4199
    • feature: isCommonlyUsed password check not hardcoded #4018 by @WillardHu in https://github.com/apolloconfig/apollo/pull/4207
    • canonical zh-cn text by @lepdou in https://github.com/apolloconfig/apollo/pull/4214
    • optimize create namespace page by @lepdou in https://github.com/apolloconfig/apollo/pull/4213
    • Add Ordered interface to ProviderManager SPI by @darcydai in https://github.com/apolloconfig/apollo/pull/4218
    • Bump xstream from 1.4.18 to 1.4.19 by @dependabot in https://github.com/apolloconfig/apollo/pull/4223
    • Using commons-lang3 to replace commons-lang by @ruanwenjun in https://github.com/apolloconfig/apollo/pull/4225
    • optimize import/export config by @lepdou in https://github.com/apolloconfig/apollo/pull/4231
    • Configure publish and rollback modal boxes to add scrollbars by @klboke in https://github.com/apolloconfig/apollo/pull/4251
    • add custom define discovery by @gy09535 in https://github.com/apolloconfig/apollo/pull/4266
    • Refactor the soft delete design by @nisiyong in https://github.com/apolloconfig/apollo/pull/3866
    • upgrade spring boot to 2.6.6 and spring cloud to 2021.0.1 by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4295
    • upgrade mysql-connector-java to 8.0.28 by @Anilople https://github.com/apolloconfig/apollo/pull/4308

    Bug fixes

    • Fix issue that the $ symbol is not used when reading shell variables by @ReganHe93 in https://github.com/apolloconfig/apollo/pull/3890
    • Fix issue: ingress syntax by @lijiansgit in https://github.com/apolloconfig/apollo/pull/3933
    • fix helm scripts BUG by @w-a-n-g-s-h-u-n in https://github.com/apolloconfig/apollo/pull/4054
    • Catch LinkageError for ClassLoaderUtil.isClassPresent in case class is present but is failed to load by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4097
    • fix gray publish refresh item status(#4039) by @CalebZYC in https://github.com/apolloconfig/apollo/pull/4128
    • Fix the issue that property placeholder doesn't work for dubbo reference beans by @lonre in https://github.com/apolloconfig/apollo/pull/4175
    • Fix the NPE occurred when using EnableApolloConfig with Spring 3.1.1 by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4180
    • fix the json number display issue when it's longer than 16 by @CalebZYC in https://github.com/apolloconfig/apollo/pull/4183
    • fix update user password failure bug by @lepdou in https://github.com/apolloconfig/apollo/pull/4212
    • Fix bug: associated namespace display incorrect in text view by @darcydai in https://github.com/apolloconfig/apollo/pull/4219
    • fix import config bug by @lepdou in https://github.com/apolloconfig/apollo/pull/4262
    • fix the potential data inconsistency issue by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4256
    • use item.isDeleted to check whether the item is deleted by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4279
    • Fix the apollo portal start failed issue by @nobodyiam in https://github.com/apolloconfig/apollo/pull/4298

    Misc

    • remove ctrip profile by @JaredTan95 in https://github.com/apolloconfig/apollo/pull/3920
    • Remove spring dependencies from internal code by @klboke in https://github.com/apolloconfig/apollo/pull/3937
    • remove ctrip profile dependency. by @Accelerator96 in https://github.com/apolloconfig/apollo/pull/3951
    • fix gpg signing issues when deploying to maven repository with github action by @nobodyiam in https://github.com/apolloconfig/apollo/pull/3950
    • Fixed some code smells in apollo-portal module by @WillardHu in https://github.com/apolloconfig/apollo/pull/3968
    • clean ctrip profile by @JaredTan95 in https://github.com/apolloconfig/apollo/pull/3971
    • Fixed some code smells in apollo-portal module #2 by @WillardHu in https://github.com/apolloconfig/apollo/pull/3974
    • fix NullPointerException hazard in StringUtils.join(..) method by @WillardHu in https://github.com/apolloconfig/apollo/pull/3983
    • Replace String.format() with newly created class OpenApiPathBuilder by @WillardHu in https://github.com/apolloconfig/apollo/pull/3982
    • Make the constructor of AbstractApolloHttpException implementation class to support string template by @WillardHu in https://github.com/apolloconfig/apollo/pull/3999
    • Removed useless hardcoded Strings in EnvUtils. by @DiegoKrupitza in https://github.com/apolloconfig/apollo/pull/4007
    • chore: Simplified the Env class in apollo-portal that links to Env enum in apollo-core by @DiegoKrupitza in https://github.com/apolloconfig/apollo/pull/4011
    • Chore: Future-proofed ConfigFileFormat by @DiegoKrupitza in https://github.com/apolloconfig/apollo/pull/4030
    • ConfigFileFormat#Properties are now fully compatible with themselves by @DiegoKrupitza in https://github.com/apolloconfig/apollo/pull/4033
    • Fix flaky test testGetPropertyNames. by @yyfMichaelYan in https://github.com/apolloconfig/apollo/pull/4082
    • Fix flaky test testAssembleQueryConfigUrl. by @yyfMichaelYan in https://github.com/apolloconfig/apollo/pull/4083
    • Update RelativeDateFormat.java by @xuxiawei in https://github.com/apolloconfig/apollo/pull/4111
    • chore: change 'ctripcorp' to 'apolloconfig' in .yaml files by @void1104 in https://github.com/apolloconfig/apollo/pull/4112
    • Flaky test fields iteration order by @yyfMichaelYan in https://github.com/apolloconfig/apollo/pull/4095
    • test(apollo-core): PropertiesUtilTest by @youyulan in https://github.com/apolloconfig/apollo/pull/4113
    • optimization omits unnecessary time conversion by @xuxiawei in https://github.com/apolloconfig/apollo/pull/4118
    • Split helm chart into another repo by @JaredTan95 in https://github.com/apolloconfig/apollo/pull/4125
    • refactor: SpringValueProcessor extract duplicate code by @mghio in https://github.com/apolloconfig/apollo/pull/4137
    • build: ctripcorp -> apolloconfig in .github/workflows/cla.yml by @Fool-coder in https://github.com/apolloconfig/apollo/pull/4150
    • Add unit tests for Utils by @joshknopp in https://github.com/apolloconfig/apollo/pull/4193
    • Change Copy Right year to 2022 by @Shoothzj in https://github.com/apolloconfig/apollo/pull/4202
    • Adding JUnit. Fixes #3874 by @ayush0407 in https://github.com/apolloconfig/apollo/pull/4271
    • Test coverage by @ayush0407 in https://github.com/apolloconfig/apollo/pull/4280
    • Test coverage by @ayush0407 in https://github.com/apolloconfig/apollo/pull/4287

    Installation

    Please refer Distributed Deployment Guide.

    How to upgrade from v1.9.x to v2.0.0

    Important Note: 2.0.0 release adds unique indices for most of the tables by adding DeletedAt columns, so there are some manual steps to do:

    1. Check whether there are duplicate dirty data in your database(optional)
      1. Please refer the Scripts to check whether there is any duplicate data section in PR #3866
    2. Apply the first part of the schema changes to ApolloConfigDB and ApolloPortalDB
      1. Apply apolloconfigdb-v190-v200.sql to ApolloConfigDB and apolloportaldb-v190-v200.sql to ApolloPortalDB
      2. Flyway users could run the following maven commands instead
        1. mvn -N -Pconfigdb -Dflyway.target=2.0.0 flyway:migrate
        2. mvn -N -Pportaldb -Dflyway.target=2.0.0 flyway:migrate
    3. Upgrade apollo-configservice
    4. Upgrade apollo-adminservice
    5. Upgrade apollo-portal
    6. Add unique indices to ApolloConfigDB and ApolloPortalDB
      1. Apply apolloconfigdb-v190-v200-after.sql to ApolloConfigDB and apolloportaldb-v190-v200-after.sql to ApolloPortalDB
      2. Flyway users could run the following maven commands instead
        1. mvn -N -Pconfigdb flyway:migrate
        2. mvn -N -Pportaldb flyway:migrate
      3. In case you want to rollback the unique indices, you could refer the Scripts to rollback the unique indices section in PR #3866

    New Contributors

    • @ReganHe93 made their first contribution in https://github.com/apolloconfig/apollo/pull/3890
    • @lijiansgit made their first contribution in https://github.com/apolloconfig/apollo/pull/3933
    • @WillardHu made their first contribution in https://github.com/apolloconfig/apollo/pull/3968
    • @czd890 made their first contribution in https://github.com/apolloconfig/apollo/pull/3887
    • @DiegoKrupitza made their first contribution in https://github.com/apolloconfig/apollo/pull/4007
    • @pengweiqhca made their first contribution in https://github.com/apolloconfig/apollo/pull/4002
    • @youabcd made their first contribution in https://github.com/apolloconfig/apollo/pull/3850
    • @zcy1010 made their first contribution in https://github.com/apolloconfig/apollo/pull/4013
    • @NICEXAI made their first contribution in https://github.com/apolloconfig/apollo/pull/4027
    • @zeemood made their first contribution in https://github.com/apolloconfig/apollo/pull/3925
    • @w-a-n-g-s-h-u-n made their first contribution in https://github.com/apolloconfig/apollo/pull/4054
    • @sy-records made their first contribution in https://github.com/apolloconfig/apollo/pull/4061
    • @yyfMichaelYan made their first contribution in https://github.com/apolloconfig/apollo/pull/4082
    • @xuxiawei made their first contribution in https://github.com/apolloconfig/apollo/pull/4111
    • @void1104 made their first contribution in https://github.com/apolloconfig/apollo/pull/4112
    • @youyulan made their first contribution in https://github.com/apolloconfig/apollo/pull/4113
    • @mghio made their first contribution in https://github.com/apolloconfig/apollo/pull/4137
    • @Fool-coder made their first contribution in https://github.com/apolloconfig/apollo/pull/4150
    • @Shoothzj made their first contribution in https://github.com/apolloconfig/apollo/pull/4182
    • @joshknopp made their first contribution in https://github.com/apolloconfig/apollo/pull/4193
    • @darcydai made their first contribution in https://github.com/apolloconfig/apollo/pull/4219
    • @ruanwenjun made their first contribution in https://github.com/apolloconfig/apollo/pull/4225
    • @gy09535 made their first contribution in https://github.com/apolloconfig/apollo/pull/4266
    • @ayush0407 made their first contribution in https://github.com/apolloconfig/apollo/pull/4271
    • @dazuimao1990 made their first contribution in https://github.com/apolloconfig/apollo/pull/4283
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-2.0.0-RC1-github.zip(68.53 MB)
    apollo-adminservice-2.0.0-RC1-github.zip.sha1(83 bytes)
    apollo-configservice-2.0.0-RC1-github.zip(71.84 MB)
    apollo-configservice-2.0.0-RC1-github.zip.sha1(84 bytes)
    apollo-portal-2.0.0-RC1-github.zip(55.28 MB)
    apollo-portal-2.0.0-RC1-github.zip.sha1(77 bytes)
  • v1.9.2(Jan 1, 2022)

    Enhancements

    • Update xstream version to 1.4.18 #4177

    Bug fixes

    • Fix the issue that property placeholder doesn't work for dubbo reference beans #4161 #4169
    • Fix the NPE occurred when using EnableApolloConfig with Spring 3.1.1 #4179
    • Catch LinkageError for ClassLoaderUtil.isClassPresent in case class is present but is failed to load #4187

    Credits

    @lonre @nobodyiam

    Installation

    Please refer Distributed Deployment Guide

    How to upgrade from v1.9.1 to v1.9.2

    There is no schema change between v1.9.1 and v1.9.2 So simply deploy v1.9.2 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.9.2-github.zip(57.45 MB)
    apollo-adminservice-1.9.2-github.zip.sha1(79 bytes)
    apollo-configservice-1.9.2-github.zip(61.34 MB)
    apollo-configservice-1.9.2-github.zip.sha1(80 bytes)
    apollo-portal-1.9.2-github.zip(52.96 MB)
    apollo-portal-1.9.2-github.zip.sha1(73 bytes)
  • v1.9.1(Sep 8, 2021)

    Bug fixes

    • Remove spring dependencies from internal code #3937
    • Fix issue: ingress syntax #3933

    Credits

    @klboke @lijiansgit

    Installation

    Please refer Distributed Deployment Guide

    How to upgrade from v1.9.0 to v1.9.1

    There is no schema change between v1.9.0 and v1.9.1 So simply deploy v1.9.1 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.9.1-github.zip(57.45 MB)
    apollo-adminservice-1.9.1-github.zip.sha1(79 bytes)
    apollo-configservice-1.9.1-github.zip(61.34 MB)
    apollo-configservice-1.9.1-github.zip.sha1(80 bytes)
    apollo-portal-1.9.1-github.zip(52.96 MB)
    apollo-portal-1.9.1-github.zip.sha1(73 bytes)
  • v1.9.0(Aug 15, 2021)

    Enhancements

    • Extend DataChange_CreatedBy, DataChange_LastModifiedBy from 32 to 64. #3552
    • Add spring configuration metadata. #3553
    • Slim configservice/adminservice/portal docker image size. #3572
    • Add network strategy guideline to docker quick start. #3574
    • Support for consul service discovery. #3575
    • Replace http client implementation with interface in apollo client. #3594
    • Allow users to inject customized instance via ApolloInjectorCustomizer. #3602
    • Upgrade com.thoughtworks.xstream#xstream version to 1.4.17. #3611
    • Localize css to speed up the loading of google fonts. #3660
    • Solve ConfigService startup exception. #3679
    • Apollo-Client Remove redundant invoke of trySyncFromUpstream. #3699
    • Apollo-Client add method interestedChangedKeys to ConfigChangeEvent. #3666
    • Use queue#take instead of poll. #3765
    • Support Spring Boot config data loader. #3754
    • Add get authorized apps openapi. #3647
    • Use db/redis for share login session to support mutil portal instance. And make db mode for default. #3786 #3869
    • Add email for select user on apollo portal. #3797
    • Set default session store-type. #3812
    • Add the delegating password encoder for apollo-portal simple auth. #3804
    • Support release apollo-client-config-data in github workflow. #3822
    • Apollo-Client reduce bootstrap time in the situation with large properties by cache property source. #3816
    • Use official docker images for manual kubernetes deployment. #3840
    • Add history details for not key-value type of namespace. #3856
    • Apollo-Client lazy load ConfigUtil. #3864
    • Public namespace support different formats. #3836 #3871
    • Translate application into 应用 not 项目. #3877
    • Support search by item key for commit. #3878 #3894
    • Apollo-Client polish log. #3882

    Bug fixes

    • Fix the issue that apollo portal won't start when ldap is enabled and optimize ldap samples.#3561
    • Fix load front resource 404 when auth disabled and configure cotext-path. #3609
    • Fix access key doesn't work if appid passed is in different case. #3627
    • Fix oidc logout with context-path. #3628
    • Fix and optimize unit test. #3667 #3668 #3669
    • Fix the problem that the loading log of Apollo cannot be output when the log system is not initialized. #3677
    • Fix oidc sql. #3720
    • Fix item comment valid size to 256. #3803
    • Fix possiable NPE. #3832
    • Fix release messages might be missed in certain scenarios. #3819
    • Fix size of create project button. #3849
    • Fix show-text-modal.html number display. #3851

    Credits

    @vdisk-group @nobodyiam @finchcn @klboke @Loading-Life @Anilople @Technoboy- @chengasd @lonre @wilsonwu @CalebZYC @lepdou @dake0805 @Accelerater

    Installation

    Please refer Distributed Deployment Guide

    How to upgrade from v1.8.x to v1.9.0

    1. Apply apolloconfigdb-v180-v190.sql to ApolloConfigDB
    2. Apply apolloportaldb-v180-v190.sql to ApolloPortalDB
    3. Deploy v1.9.0 executables with the following sequences:
      1. apollo-configservice
      2. apollo-adminservice
      3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.9.0-github.zip(57.45 MB)
    apollo-adminservice-1.9.0-github.zip.sha1(109 bytes)
    apollo-configservice-1.9.0-github.zip(61.34 MB)
    apollo-configservice-1.9.0-github.zip.sha1(111 bytes)
    apollo-portal-1.9.0-github.zip(52.97 MB)
    apollo-portal-1.9.0-github.zip.sha1(97 bytes)
  • v1.8.2(May 30, 2021)

    This release includes the following fix.

    • update xstream to 1.4.17 #3692

    Installation

    Please refer Distributed Deployment Guide

    How to upgrade from v1.8.1 to v1.8.2

    There is no schema change between v1.8.1 and v1.8.2 So simply deploy v1.8.2 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.8.2-github.zip(57.21 MB)
    apollo-adminservice-1.8.2-github.zip.sha1(79 bytes)
    apollo-configservice-1.8.2-github.zip(61.10 MB)
    apollo-configservice-1.8.2-github.zip.sha1(80 bytes)
    apollo-portal-1.8.2-github.zip(50.75 MB)
    apollo-portal-1.8.2-github.zip.sha1(73 bytes)
  • v1.8.1(Feb 21, 2021)

    This release includes the following fix.

    • Fix the issue that apollo portal won't start when ldap is enabled. #3561

    Installation

    Please refer Distributed Deployment Guide

    How to upgrade from v1.8.0 to v1.8.1

    There is no schema change between v1.8.0 and v1.8.1 So simply deploy v1.8.1 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.8.1-github.zip(57.21 MB)
    apollo-adminservice-1.8.1-github.zip.sha1(79 bytes)
    apollo-configservice-1.8.1-github.zip(61.09 MB)
    apollo-configservice-1.8.1-github.zip.sha1(80 bytes)
    apollo-portal-1.8.1-github.zip(50.75 MB)
    apollo-portal-1.8.1-github.zip.sha1(73 bytes)
  • v1.8.0(Feb 17, 2021)

    Enhancements

    • Extend the length of AppId from 32 to 64 characters. #3228
    • Add webhook notification support for configuration releases #3235
    • Optimizing opening a namespace with lots of commits #3258
    • Add ingress support for config service and admin service #3324
    • Support resolving namespace placeholder values in annotation and xml config #3349
    • Support customizing server.properties location #3401
    • Add smtp email support #3415
    • Enhance the user experience in the scenario of submitting duplicate keys #3429
    • Add nacos service discovery support #3447
    • Switch off console appenders when running as backend services #3488
    • Upgrade spring-boot to 2.4.2 and spring-cloud to 2020.0.1 #3507
    • Add openid connect auth support for apollo-portal #3534

    Bug fixes

    • Fix build.sh warning by shellcheck #3294
    • Adapt to the scenario that the ConfigService sets context-path #3320
    • Fix imagePullSecrets indent issue in helm chart #3336
    • Fix potential xss issue with user id #3340
    • Fix potential data inconsistency issue #3341
    • Fix the issue that the wrong port is used when db service is not enabled in helm chart #3385
    • Rename default git.properties to apollo.git.properties to avoid potential conflict #3390
    • Return null when EmptyResultDataAccessException occurred for ldap scenarios #3430
    • Use exec to start the java process when APOLLO_RUN_MODE is Docker #3458

    Credits

    Thanks for everyone who contributed to this release!

    @Anilople @Ayden-Franklin @changfubai @CoolDarran @HuangSheng @JaredTan95 @jiangcaijun @kezhenxu94 @klboke @nisiyong @nobodyiam @Q-RK @vdisk-group @waters00 @WisWang @xiagw @ywf4026

    Installation

    Please refer Distributed Deployment Guide

    How to upgrade from v1.7.x to v1.8.0

    1. Apply apolloconfigdb-v170-v180.sql to ApolloConfigDB
    2. Apply apolloportaldb-v170-v180.sql to ApolloPortalDB
    3. Deploy v1.8.0 executables with the following sequences:
      1. apollo-configservice
      2. apollo-adminservice
      3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.8.0-github.zip(57.21 MB)
    apollo-adminservice-1.8.0-github.zip.sha1(41 bytes)
    apollo-configservice-1.8.0-github.zip(61.09 MB)
    apollo-configservice-1.8.0-github.zip.sha1(41 bytes)
    apollo-portal-1.8.0-github.zip(50.75 MB)
    apollo-portal-1.8.0-github.zip.sha1(41 bytes)
  • v1.7.2(Jan 30, 2021)

    This release includes the following fix.

    • update xstream to 1.4.15 #3524

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.7.1 to v1.7.2

    There is no schema change between v1.7.1 and v1.7.2 So simply deploy v1.7.2 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.7.2-github.zip(52.00 MB)
    apollo-adminservice-1.7.2-github.zip.sha1(41 bytes)
    apollo-configservice-1.7.2-github.zip(55.16 MB)
    apollo-configservice-1.7.2-github.zip.sha1(41 bytes)
    apollo-portal-1.7.2-github.zip(39.78 MB)
    apollo-portal-1.7.2-github.zip.sha1(41 bytes)
  • v1.7.1(Aug 16, 2020)

    This release includes the following enhancement.

    • add access control support for admin service #3233
      • thanks @lllllx for pointing out this potential security issue

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.7.0 to v1.7.1

    There is no schema change between v1.7.0 and v1.7.1 So simply deploy v1.7.1 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.7.1-github.zip(51.97 MB)
    apollo-adminservice-1.7.1-github.zip.sha1(41 bytes)
    apollo-configservice-1.7.1-github.zip(55.13 MB)
    apollo-configservice-1.7.1-github.zip.sha1(41 bytes)
    apollo-portal-1.7.1-github.zip(39.78 MB)
    apollo-portal-1.7.1-github.zip.sha1(41 bytes)
  • v1.7.0(Aug 1, 2020)

    Enhancements

    • Support revoking modified but unpublished configurations #2952
    • Avoid unnecessary retry for non-existing configurations in apollo-client #3056
    • Use Spring Boot native datasource variables instead of custom ones in startup script #3098
    • Show namespace comment as tooltip and item modified count in lazy init mode #3112
    • Support rollback to specified releases #3093
    • Add kubernetes native service discovery support and helm chart templates #3055 #3176 #3205
    • Change pom's static version number to ${revision} variable #3151
    • Support extracting placeholder from non-normalized expressions in apollo-client, e.g. ${user.address}/user/gateway #3178
    • Support exporting multiple configs #3088

    Bug fixes

    • Add namespace permission check for import configs #2973
    • Fix a potential npe bug with BOMInputStream #3023
    • Fix a potential xss issue #3037
    • Fix a potential client authentication timestamp check issue #3029
    • Allow repeatable deletions and enhance thread safety for apollo-mockserver #3069
    • Public namespaces only allow properties format #3140

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.6.2 to v1.7.0

    There is no schema change between v1.6.2 and v1.7.0 So simply deploy v1.7.0 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.7.0-github.zip(51.97 MB)
    apollo-adminservice-1.7.0-github.zip.sha1(41 bytes)
    apollo-configservice-1.7.0-github.zip(55.13 MB)
    apollo-configservice-1.7.0-github.zip.sha1(41 bytes)
    apollo-portal-1.7.0-github.zip(39.78 MB)
    apollo-portal-1.7.0-github.zip.sha1(41 bytes)
  • v1.6.2(Jul 11, 2020)

    This release includes the following bug fix.

    • restrict use of custom yaml types #3175

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.6.1 to v1.6.2

    There is no schema change between v1.6.1 and v1.6.2 So simply deploy v1.6.2 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.6.2-github.zip(49.55 MB)
    apollo-adminservice-1.6.2-github.zip.sha1(41 bytes)
    apollo-configservice-1.6.2-github.zip(52.71 MB)
    apollo-configservice-1.6.2-github.zip.sha1(41 bytes)
    apollo-portal-1.6.2-github.zip(37.34 MB)
    apollo-portal-1.6.2-github.zip.sha1(41 bytes)
  • v1.6.1(Mar 24, 2020)

    This release includes the following bug fix.

    • fix the issue that authorities record will be deleted mistakenly #2977

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.6.0 to v1.6.1

    There is no schema change between v1.6.0 and v1.6.1. So simply deploy v1.6.1 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.6.1-github.zip(49.55 MB)
    apollo-adminservice-1.6.1-github.zip.sha1(41 bytes)
    apollo-configservice-1.6.1-github.zip(52.71 MB)
    apollo-configservice-1.6.1-github.zip.sha1(41 bytes)
    apollo-portal-1.6.1-github.zip(37.33 MB)
    apollo-portal-1.6.1-github.zip.sha1(41 bytes)
  • v1.6.0(Mar 15, 2020)

    Enhancements

    • Support last modified by display for deleted item #2680
    • Support case-insensitive appid for change notification and gray release rule #2696 #2928
    • Support sorting items by publish status #2705
    • Support using relative path to access portal via reverse proxy or slb #2754 #2807 #2929
    • Add access key mechanism so that sensitive configurations can only be retrieved for authenticated clients #2828 #2883 #2888
    • Add ordered properties feature so that user could choose to keep the configuration order as is displayed in apollo portal #2861 #2912
    • Support adding customized environments without any code change #2867 #2930 #2953 #2958

    Bug fixes

    • Fix the issue that the namespace length is mis-calculated for private namespaces and public namespaces which don't need to append prefix #2784
    • Fix the issue that app search path is conflicted with app named 'search' #2805
    • Fix potential NPE issue when ReleaseComment is null. #2814
    • Fix the issue that openapi item comment could be too long #2849
    • Fix the associated namespace's unreleased configuration table header dislocation issue #2914
    • Fix the issue that findByUserId in ldap always return the first user #2915

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.5.1 to v1.6.0

    1. Apply apolloconfigdb-v151-v160.sql to ApolloConfigDB
    2. Deploy v1.6.0 executables with the following sequences:
    • apollo-configservice
    • apollo-adminservice
    • apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.6.0-github.zip(49.55 MB)
    apollo-adminservice-1.6.0-github.zip.sha1(41 bytes)
    apollo-configservice-1.6.0-github.zip(52.71 MB)
    apollo-configservice-1.6.0-github.zip.sha1(41 bytes)
    apollo-portal-1.6.0-github.zip(37.33 MB)
    apollo-portal-1.6.0-github.zip.sha1(41 bytes)
  • v1.5.1(Nov 10, 2019)

    This release includes the following bug fixes.

    • fix AppId displayed as Department issue #2726
    • fix miscellaneous bugs and polish code #2678

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.5.0 to v1.5.1

    There is no schema change between v1.5.0 and v1.5.1. So simply deploy v1.5.1 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.5.1-github.zip(49.54 MB)
    apollo-adminservice-1.5.1-github.zip.sha1(41 bytes)
    apollo-configservice-1.5.1-github.zip(52.69 MB)
    apollo-configservice-1.5.1-github.zip.sha1(41 bytes)
    apollo-portal-1.5.1-github.zip(37.28 MB)
    apollo-portal-1.5.1-github.zip.sha1(41 bytes)
  • v1.5.0(Oct 20, 2019)

    This release includes several enhancements and bug fixes.

    General

    • Startup scripts support setting server port, datasource and meta server information via environment variables, so that one Docker image could run in different environments #2333 #2343 #2628
    • Use podAntiAffinity instead of nodeSelector for k8s deployments to deploy services in different nodes #2398
    • Add mvn wrapper #2442
    • Add prometheus integration, expose process information via /prometheus and /metrics #2507 #2633 #2638
    • Simplify health check logic #2642

    Apollo Portal

    • Fix the issue that a non-properties namespace could not be cleared #2320
    • Search app from backend instead of loading all app and filter in frontend #2321
    • Fix ldap userId incorrect case issue #2326
    • Add create-application and manange and manage-app-master permissions #2309 #2627 #2629
    • Fix potential permission issue #2496
    • Fix input validator for app namespace name #2634
    • Fix delete grayscale item cluster mismatch issue #2639
    • Add i18n support and English translations #2452 #2641 #2675
    • Fix delete children clusters twice issue #2645
    • Auto append build time as version for js and css files to invalidate static file cache for new versions #2674

    Apollo Config Service

    • Fix the potential concurrency issue in NotificationControllerV2 #2255
    • Add options to disable apollo-configservice started as eureka server #2478
    • Support configuring server side's long polling timeout #2532 #2543 #2630

    Apollo Open Api

    • Fix the gson dateformat issue #2462
    • Add cluster related and rollback release open api #2581 #2590 #2631 #2636

    Apollo Client

    • Fix the occasional NullPointerException issue in SpringValueRegistry #2281
    • Support setting apollo.cacheDir from app.properties #2317
    • Support ordering for spring processors #2313
    • Optimize app.id loading logic #2515
    • Fix ConfigFileChangeListener removal api #2623
    • Fix setting null value of property in xml throws NullPointerException #2646 #2677

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.4.0 to v1.5.0

    There is no schema change between v1.4.0 and v1.5.0. So simply deploy v1.5.0 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.5.0-github.zip(49.54 MB)
    apollo-adminservice-1.5.0-github.zip.sha1(41 bytes)
    apollo-configservice-1.5.0-github.zip(52.69 MB)
    apollo-configservice-1.5.0-github.zip.sha1(41 bytes)
    apollo-portal-1.5.0-github.zip(37.28 MB)
    apollo-portal-1.5.0-github.zip.sha1(41 bytes)
  • v1.4.0(May 3, 2019)

    This release includes several enhancements and bug fixes.

    General

    • Support system environment variable APP_ID #2067
    • Support apollo-configservice/apollo-adminservice/apollo-portal run with JDK 9, 10 and 11 #2074
    • Fix k8s deployment issues #2113 #2115
    • Add TXT file format support #2181

    Apollo Portal

    • Support comparing configurations among clusters #1996
    • Support updating user info when mysql has SQL_SAFE_UPDATES set to true #2016
    • Fix the bug that cannot resolve blank line in properties under Windows #2017
    • Make the duplicated key detection logic case-insensitive #2066
    • Fix SSRF issue #2105
    • Fix the gray version configuration display issue when master version has keys with empty value #2172

    Apollo Open Api

    • Fix open api permission issue #1985
    • Add OpenAPI to get application information #2072

    Apollo Client

    • Make apollo-core/client get more accurate host IP #1986
    • Fix the performance issue when calling getHostName #2152
    • Fix the compatibility issue with jasypt-spring-boot #2173

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.3.0 to v1.4.0

    There is no schema change between v1.3.0 and v1.4.0. So simply deploy v1.4.0 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.4.0-github.zip(49.46 MB)
    apollo-configservice-1.4.0-github.zip(52.61 MB)
    apollo-portal-1.4.0-github.zip(37.12 MB)
  • v1.3.0(Feb 17, 2019)

    This release includes several enhancements and bug fixes.

    General

    • Introduce flyway database migration tool #1828
    • Fix spec.template.spec.initContainers[1].name: Duplicate value issue when deploying with apollo-on-kubernetes #1952

    Apollo Portal

    • Add import and export configs api #1767
    • Add fullscreen mode for config value editor #1788
    • Add group search support for ldap #1794
    • Optimize my-projects view to show projects which the users have admin/edit/publish permissions #1855
    • Allow empty config value #1852 #1883
    • Fix instance list pagination issue #1891
    • Do not allow user to create private app namespace with the same name as some public app namespace #1894
    • Prompt current config item that is being deleted #1898
    • Fix ldap findByUserIds error #1910
    • Add syntax check function for yaml namespace #1946
    • Add servlet initializer for apollo-portal and apollo-adminservice #1948
    • Change apollo portal port to 8070 by default #1961
    • Fix the issue that when using reverse proxy with TLS, "HttpServletResponse.sendRedirect" will redirect to http rather than https #1967
    • Limit hibernate query plan cache size #1963

    Apollo Client

    • Implement Ordered for ApolloApplicationContextInitializer #1809
    • Add ConfigChangeListener with optional interested key prefixes #1871
    • Add yaml support to apollo-client #1944
    • Add rate limter for no app id warning log #1949

    Apollo Admin Service

    • Fix instance list pagination issue #1891
    • Add servlet initializer for apollo-portal and apollo-adminservice #1948

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.2.0 to v1.3.0

    There is no schema change between v1.2.0 and v1.3.0. So simply deploy v1.3.0 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.3.0-github.zip(47.12 MB)
    apollo-configservice-1.3.0-github.zip(50.27 MB)
    apollo-portal-1.3.0-github.zip(34.77 MB)
  • v1.2.0(Dec 9, 2018)

    This release includes several enhancements and bug fixes.

    General

    • Support to override meta server url through system environment variables #1565
    • Support to config eureka.service.url via configMap for k8s #1631

    Apollo Portal

    • Add active directory support for ldap #1562
    • Prevent users from deleting default cluster #1586
    • Remove nicescroll to support browser Ctrl + F function #1621
    • Allow users to create missing appnamespaces and private namespaces #1707
    • Hide namespace's body when namespace's size is bigger than 2 #1723
    • Do lazy load if page contains too many namespaces(>10) to improve page loading performance #1732 #1733
    • Add missing env and namespace alert #1734

    Apollo Client

    • Provide a flag to move apollo initialization even before logging initialization #1614
    • Use weak reference to hold bean objects so that they could be garbage collected #1676

    Apollo Admin Service

    • Fix gray release issue #1678

    Apollo Config Service

    • Use DefaultHttpFirewall instead of StrictHttpFirewall to fix the The request was rejected because the URL was not normalized. issue when accessing meta service with extra slashes #1685

    Apollo Open API

    • Add get single item interface #1704
    • Allow passing the appendNamespacePrefix flag when creating public namespaces #1704

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.1.2 to v1.2.0

    There is no schema change between v1.1.2 and v1.2.0. So simply deploy v1.2.0 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.2.0-github.zip(47.12 MB)
    apollo-configservice-1.2.0-github.zip(50.27 MB)
    apollo-portal-1.2.0-github.zip(34.73 MB)
  • v1.1.2(Nov 1, 2018)

    This release includes the following bug fix.

    General

    • Fix the 500 error when loading config via .Net client #1609

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.1.1 to v1.1.2

    There is no schema change between v1.1.1 and v1.1.2. So simply deploy v1.1.2 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.1.2-github.zip(47.12 MB)
    apollo-configservice-1.1.2-github.zip(50.27 MB)
    apollo-portal-1.1.2-github.zip(34.76 MB)
  • v1.1.1(Oct 13, 2018)

    This release includes the following bug fix.

    General

    • Fix the potential startup issue of chown: cannot access '': No such file or directory in centos7 #1557

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.1.0 to v1.1.1

    There is no schema change between v1.1.0 and v1.1.1. So simply deploy v1.1.1 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.1.1-github.zip(47.12 MB)
    apollo-configservice-1.1.1-github.zip(50.27 MB)
    apollo-portal-1.1.1-github.zip(34.76 MB)
  • v1.1.0(Oct 6, 2018)

    This release includes several enhancements and bug fixes.

    General

    • Add kubernetes support #1416
    • Change column 'Username' in table 'Authorities' to varchar(64) #1480
      • Yet there is no need to apply this schema change if your system is running well
    • Support rotating log files based on size and time #1494 #1495 #1530
    • Update alpine from v3.6 to v3.8 in docker files #1513
    • Rename heap_trace.txt to gc.log and make gc log rotatable #1526
    • Upgrade spring boot to 2.0.5 and spring cloud to Finchley.SR1 #1527

    Apollo Portal

    • Add query function for portal server config page #1357
    • Unify portal logout url to /user/logout #1363
    • Add system info page for admin user to diagnose the system #1379
    • Add ldap support #1380
    • Fix modifing string in its iteration #1412
    • Fix content type in role assignment requests #1443
    • Allow public namespaces created with no org prefix #1476
    • Add gray release operation for Open API #1518 #1533
    • Fix the config overridden issue in server configuration page #1521
    • Optimize my-projects view to show projects which the user has admin permissions #1528
    • Support displaying configs only to team members #1531
    • Adjust cache control so that entry htmls are not cached, as we need them to trigger 302 in case user is not logged in #1535

    Apollo Client

    • Add getProperty with transform function #1356
    • Check meta server real path #1415
    • Make sure ApolloBootstrapPropertySources is in the first place #1432
    • Support multiple spring contexts #1436
    • Add removeChangeListener api #1462
    • Add getSourceType api #1470
    • Fix default PropertySourcesPlaceholderConfigurer order issue #1525

    Apollo Mock Server

    • Add apollo-mockserver module to support config mock in test scenarios #1397 #1403

    Apollo Open API Client

    • Add apollo-openapi client to simplify open api usage for Java #1508

    Installation

    Please refer 分布式部署指南

    How to upgrade from v1.0.0 to v1.1.0

    There is no schema change between v1.0.0 and v1.1.0. (Because it's not required to apply the schema change brought by #1480 ) So simply deploy v1.1.0 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.1.0-github.zip(47.12 MB)
    apollo-configservice-1.1.0-github.zip(50.27 MB)
    apollo-portal-1.1.0-github.zip(34.76 MB)
  • v1.0.0(Aug 9, 2018)

    This is a major release with several enhancements and bug fixes.

    The biggest change with this release is apollo-client is now deployed to Maven Central Repository. Users could reference apollo-client as follows:

    <dependency>
        <groupId>com.ctrip.framework.apollo</groupId>
        <artifactId>apollo-client</artifactId>
        <version>1.0.0</version>
    </dependency>
    

    General

    • Refactor meta server related logic so that apollo-core is common enough to go maven central repository. #1315
      • From 1.0.0 version, apollo-core.jar won't assemble apollo-env.properties anymore, so that we could freely deploy apollo client jars to maven central repository, which means a lot convenience for users to access apollo client jars.
      • However, for existing users, they can't upgrade apollo client jars to 1.0.0 version directly. Please check the instructions below.
    • Fix the data issue when some public app namespace is deleted and recreated in another app #1346

    Apollo Client

    • Add ConfigChangeListener with optional interested keys #1328
    • Support setting apollo system properties via Spring Boot application.properties #1336

    Installation

    Please refer 分布式部署指南

    How to upgrade Apollo servers from v0.11.0 to v1.0.0

    There is no schema change between v0.11.0 and v1.0.0. So simply deploy v1.0.0 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal

    How to upgrade Apollo client from v0.11.0 to v1.0.0

    1. If existing users currently pass env and ${env}_meta at runtime, they could continue to do so with no impact.
    2. If existing users currently place apollo-env.properties in their classpath, they could continue to do so with no impact.
    3. If existing users assemble meta server addresses into apollo-core.jar, then there are several solutions:
      • Create a xx-company-apollo-client jar with apollo-env.properties in classpath and depends on apollo-client. Then ask the users to depend on xx-company-apollo-client jar instead of apollo-client. This might be the most tranparent way.
      • Ask the ops to configure apollo.meta in server.properties or os env APOLLO_META
      • Ask the user to configure apollo.meta by -Dapollo.meta=http://config-service-url or app.properties manually
      • Ask the user to put the apollo-env.properties in their projects' classpath
      • For more information on how to configure meta server address, please refer 1.2.2 Apollo Meta Server
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-1.0.0-github.zip(41.24 MB)
    apollo-configservice-1.0.0-github.zip(43.91 MB)
    apollo-portal-1.0.0-github.zip(32.73 MB)
  • v0.11.0(Jul 29, 2018)

    This release includes several enhancements and bug fixes.

    General

    • Upgrade mysql-connector-java to 5.1.46 to support mysql 8.0 #1147
    • Support multiple meta servers for any single environment #1214
    • Simplify installation process by externalizing application-github.properties and apollo-env.properties #1273
      • apollo-portal's default server port is now changed to 8070, you may adjust it according to your actual deployment environment, see code change for more information

    Apollo Client

    • Optimize Properties#stringPropertyNames performance #1072
    • When server returns status code other than 200 and 304, we should throw ApolloConfigStatusCodeException #1212
    • Make local cache dir customizable #1274 #1291
    • Support passing apollo.meta and apollo.configService via system property, etc #1275 #1291

    Apollo Portal

    • Fix number display, such as 123456789789798789 #1052
    • Remove animation for default login page to make it faster #1188
    • Add delete app api #1276
    • Add delete app namespace api #1277
    • Add admin page to delete app, cluster and app namespace #1279
    • Support role permissions per environment #1282

    Installation

    Please refer 分布式部署指南

    How to upgrade from v0.10.2 to v0.11.0

    There is no schema change between v0.10.2 and v0.11.0. So simply deploy v0.11.0 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-0.11.0-github.zip(41.23 MB)
    apollo-client-jars-0.11.0.zip(308.93 KB)
    apollo-configservice-0.11.0-github.zip(43.91 MB)
    apollo-portal-0.11.0-github.zip(32.47 MB)
  • v0.10.2(Mar 30, 2018)

    This release includes the following bug fix.

    General

    • Fix init sql typo #1028

    Installation

    Please refer 分布式部署指南

    How to upgrade from v0.9.1 to v0.10.2

    There is no schema change between v0.9.1 and v0.10.2. So simply deploy v0.10.2 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
    apollo-adminservice-0.10.2-github.zip(41.21 MB)
    apollo-client-jars-0.10.2.zip(299.00 KB)
    apollo-configservice-0.10.2-github.zip(43.89 MB)
    apollo-portal-0.10.2-github.zip(32.43 MB)
  • v0.10.1(Mar 28, 2018)

    This release includes the following bug fix.

    Apollo Client

    • Fix the issue brought by 0.10.0 that Spring related classes are mistakenly loaded via DefaultInjector #1019

    How to upgrade from v0.9.1 to v0.10.1

    There is no schema change between v0.9.1 and v0.10.1. So simply deploy v0.10.1 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
  • v0.10.0(Mar 25, 2018)

    This release includes several enhancements and bug fixes.

    Apollo Client

    • Support apollo config injection in Spring Boot bootstrap phase #937 #978
    • Support auto updating Spring Placeholder values #972 #1013
    • Support injecting and auto updating Json values with @ApolloJsonValue #989
    • Fix the namespace sequence issue when using @EnableApolloConfig #962 #965
    • Adjust long polling timeout #1003

    Apollo Portal

    • Fix ConfigChangeContentBuilder update item issue #934
    • Refresh spring security session & add admin pages entry point #973
    • Add static resource cache control #1002

    Apollo Config Service

    • Adjust long polling timeout #1003

    How to upgrade from v0.9.1 to v0.10.0

    There is no schema change between v0.9.1 and v0.10.0. So simply deploy v0.10.0 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
  • v0.9.1(Jan 7, 2018)

    This release includes several enhancements and bug fixes.

    Apollo Portal

    • Fix spring security role initialization bug #793
    • Use daemon threads for background refresh threads #795
    • Optimize textarea editor with ace framework #828
    • Fix text namespace diff view when releaseId is provided in url #885
    • Turn off admin.createPrivateNamespace.switch by default #906

    Apollo Client

    • refactor the ResourceUtils for performance #803 #804
    • clear http response inputstream and errorstream to reuse connection #863 #883

    How to upgrade from v0.9.0 to v0.9.1

    There is no schema change between v0.9.0 and v0.9.1. So simply deploy v0.9.1 executables with the following sequences:

    1. apollo-configservice
    2. apollo-adminservice
    3. apollo-portal
    Source code(tar.gz)
    Source code(zip)
  • v0.9.0(Oct 16, 2017)

    This release includes several enhancements and bug fixes.

    General

    • Add docker quick start demo and docker file #776 #658
    • Add build.bat #691
    • Optimize startup script to check whether pid is alive #697
    • Add ConditionalOnProfile and ConditionalOnMissingProfile annotations #733

    Apollo Portal

    Apollo Config Service

    • Add config cache support #719
      • To enable this feature, config-service.cache.enabled should be set to true in ApolloConfigDB.ServerConfig.

    Apollo Client

    • Add rate limit control for no config warning #674
    • Optimize load config on error retry strategy #688

    How to upgrade from v0.8.0 to v0.9.0

    1. Apply apolloportaldb-v080-v090.sql to ApolloPortalDB
    2. Deploy v0.9.0 executables with the following sequences:
      1. apollo-configservice
      2. apollo-adminservice
      3. apollo-portal

    How to upgrade from spring-security-auth branch to v0.9.0

    Some users may be using the spring-security-auth branch (which is based on v0.8.0) previously, here are some tips for those users if wishing to upgrade to v0.9.0.

    Main part of the spring security authentication logic was migrated to v0.9.0, however, there are some schema changes:

    1. Table users was renamed to Users
    2. Table authorities was renamed to Authorities
    3. A new field Email was added to table Users
    4. The default admin user was changed back to apollo

    Here are some tips on how to upgrade the schema:

    1. If your database is table name case sensitive (lower-case-table-names=0)

      • Apply apolloportaldb-v080-v090.sql to ApolloPortalDB
      • Migrate existing data from users and authorities to Users and Authorities
      • Deploy v0.9.0 executables with the sequences mentioned above
    2. If your database is table name case insensitive (lower-case-table-names=1 or 2)

      • Add Email field to table Users manually according to apolloportaldb-v080-v090.sql
      • Create default admin user apollo if necessary
      • Deploy v0.9.0 executables with the sequences mentioned above
    Source code(tar.gz)
    Source code(zip)
Owner
Apollo
Host Apollo ecosystem projects
Apollo
PolarDB-X is a cloud native distributed SQL Database designed for high concurrency, massive storage, complex querying scenarios.

中文文档 What is PolarDB-X ? PolarDB-X is a cloud native distributed SQL Database designed for high concurrency, massive storage and complex querying scen

null 1.2k Dec 31, 2022
Super Configuration Management System (SCMS)

Super Configuration Management System (SCMS) Intro Este es un servicio web REST que permite administrar la configuración de distintas aplicaciones en

Gastón Pini 1 Feb 5, 2022
Restaurant Management Project with Microservice Architecture by Evren Tan

Restaurant Management Restaurant Management Project with Microservice Architecture is developed by Evren Tan. Table of Contents Modules Cloud Config S

Evren Tan 26 Dec 11, 2022
A fast and reliable Java micro-library which chooses the sorting algorithm that best fits your needs and sorts the parameter.

A fast and reliable Java micro-library which chooses the sorting algorithm that best fits your needs and sorts the parameter.

Simone Nicol 2 Feb 19, 2022
The most reliable world manager you've ever seen.

Rift2 - The Opening Electric Boogaloo The most reliable world manager you've ever seen. Contributors & creators: Cyberpwn Vatuu Psycho If you want to

Volmit Software 9 Dec 2, 2022
Fast, Reliable & Simple Practice Core

Twilight An open-sourced simple Practice Plugin made for the Spigot API (Unfinished) Contact You can contact me on discord via my tag or server: My di

Luca 7 Sep 19, 2022
Spring boot microservice example with Eureka Server + Eureka Client + Spring Cloud API Gateway + OAuth2.0 + Circuit Breaker + Resilience4J + FeignClient + RestTemplate

Spring boot microservice example Spring boot microservice example with Eureka Server + Eureka Client + Spring Cloud API Gateway + OAuth2.0 + Circuit B

Subhash Lamba 47 Dec 29, 2022
A Spring Security based Authentication microservice with MySQL

Spring Security Microservice using JWT and MySQL Background This is an open source, production-ready application that provides role-based user authent

Safeer Ansari 4 Sep 28, 2021
CRUD operation using java springboot microservice hosted in kubernetes env, data stored in mongodb

springboot-mongodb-k8s-parth Brief Introduction Hello Friends, I have created REST API using Springboot and Spring cloud application which performs CR

Parth Shah 1 Nov 11, 2021
Microservice Architecture with Spring Boot, Spring Cloud and Docker

Piggy Metrics Piggy Metrics is a simple financial advisor app built to demonstrate the Microservice Architecture Pattern using Spring Boot, Spring Clo

Alexander Lukyanchikov 12.1k Jan 1, 2023
A base implementation for a microservice

RapidPM - Microservice A base implementation for a microservice based on the Undertow. The Core Service will listen on IP 0.0.0.0 The base configurati

null 6 Jul 26, 2020
Demo microservice architecture with Spring ,Spring Cloud Gateway , Spring Cloud config server , Eureuka , keycloak and Docker.

spring-microservice Demo microservice architecture with Spring ,Spring Cloud Gateway , Spring Cloud config server , Eureuka , keycloak and Docker. Arc

null 4 Sep 13, 2022
Practice and testing with Java 11, Prometheus, and Spring-boot with MicroService Architecture. Designed to run on Kubernetes in minikube.

This application was written by Andrew Aslakson Built to run on minikube using kubernetes General race tracking system? Secure with Firebase Authentic

null 1 Feb 5, 2022
A sample microservice built with Spring Boot and Gradle.

Project Overview A sample microservice built with Spring Boot and Gradle. There are APIs built using REST and the resource is bicycle. All CRUD operat

Gordon Mendonsa 1 Feb 2, 2022
DCL-350: Implementing MicroService Architecture using Spring Cloud

DCL-350: Implementing MicroService Architecture using Spring Cloud

Binnur KURT 3 Sep 20, 2022
Cloud native multi-runtime microservice framework

Femas: Cloud native multi-runtime microservice framework The repository address has been transferred to PolarisMesh English | 简体中文 Introduction abilit

Tencent 17 Sep 5, 2022
The Distributed Application Runtime (Dapr) provides APIs that simplify microservice connectivity

Quarkus - Dapr Introduction What is Quarkus? Traditional Java stacks were engineered for monolithic applications with long startup times and large mem

Quarkiverse Hub 18 Jan 5, 2023
JHipster Lite ⚡ is a development platform to generate, develop & deploy modern web applications & microservice architectures, step by step.

JHipster Lite ⚡ Description JHipster is a development platform to quickly generate, develop & deploy modern web applications & microservice architectu

JHipster 255 Jan 3, 2023
Human Resource Management System (Java & React)

?? HumanResourceManagementSystem ?? Steps İş Arayanlar sisteme kayıt olabilmelidir. ✔️ İş verenler sisteme kayıt olabilmelidir. ✔️ ️ Sisteme genel iş

Furkan Paşaoğlu 5 Sep 12, 2022