From de05540e6c9a18cdf370ae95ca5e544d7b8d04bf Mon Sep 17 00:00:00 2001 From: Jason Song Date: Sat, 24 Apr 2021 09:59:00 +0800 Subject: [PATCH 01/23] apollo client to support jdk16 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 69b6ba6f023..3f8d2181c6a 100644 --- a/pom.xml +++ b/pom.xml @@ -286,7 +286,7 @@ com.google.inject guice - 4.1.0 + 5.0.1 commons-lang From 01b5c2a05ad019a7b46177a5570fee8e11b05940 Mon Sep 17 00:00:00 2001 From: Jason Song Date: Sat, 1 May 2021 13:16:11 +0800 Subject: [PATCH 02/23] add English version of readme --- README.md | 166 ++++----- docs/en/README.md | 119 ++++++- docs/en/_sidebar.md | 4 +- docs/en/images/apollo-home-screenshot.jpg | Bin 0 -> 392719 bytes docs/zh/README.md | 414 ---------------------- 5 files changed, 192 insertions(+), 511 deletions(-) create mode 100644 docs/en/images/apollo-home-screenshot.jpg diff --git a/README.md b/README.md index 2d798a69857..f0ad53e4f03 100644 --- a/README.md +++ b/README.md @@ -8,129 +8,109 @@ [![codecov.io](https://codecov.io/github/ctripcorp/apollo/coverage.svg?branch=master)](https://codecov.io/github/ctripcorp/apollo?branch=master) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) -Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 +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. -服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。 +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. -Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。 +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. -.Net客户端不依赖任何框架,能够运行于所有.Net运行时环境。 +The .Net SDK does not rely on any framework and can run in all .Net runtime environments. -更多产品介绍参见[Apollo配置中心介绍](https://ctripcorp.github.io/apollo/#/zh/design/apollo-introduction) +For more detials of the product introduction, please refer [Introduction to Apollo Configuration Center](https://ctripcorp.github.io/apollo/#/zh/design/apollo-introduction). -本地快速部署请参见[Quick Start](https://ctripcorp.github.io/apollo/#/zh/deployment/quick-start) +For local demo purpose, please refer [Quick Start](https://ctripcorp.github.io/apollo/#/zh/deployment/quick-start). -演示环境(Demo): -- [106.54.227.205](http://106.54.227.205/) -- 账号/密码:apollo/admin - -> 如访问github速度缓慢,可以访问[gitee镜像](https://gitee.com/nobodyiam/apollo),不定期同步 +Demo Environment: +- [http://106.54.227.205](http://106.54.227.205/) +- User/Password: apollo/admin # Screenshots -![配置界面](https://raw.githubusercontent.com/ctripcorp/apollo/master/doc/images/apollo-home-screenshot.jpg) +![Screenshot](https://raw.githubusercontent.com/ctripcorp/apollo/master/docs/en/images/apollo-home-screenshot.jpg) # Features -* **统一管理不同环境、不同集群的配置** - * Apollo提供了一个统一界面集中式管理不同环境(environment)、不同集群(cluster)、不同命名空间(namespace)的配置。 - * 同一份代码部署在不同的集群,可以有不同的配置,比如zk的地址等 - * 通过命名空间(namespace)可以很方便的支持多个不同应用共享同一份配置,同时还允许应用对共享的配置进行覆盖 - * 配置界面支持多语言(中文,English) - -* **配置修改实时生效(热发布)** - * 用户在Apollo修改完配置并发布后,客户端能实时(1秒)接收到最新的配置,并通知到应用程序。 - -* **版本发布管理** - * 所有的配置发布都有版本概念,从而可以方便的支持配置的回滚。 - -* **灰度发布** - * 支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例。 - -* **权限管理、发布审核、操作审计** - * 应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。 - * 所有的操作都有审计日志,可以方便的追踪问题。 - -* **客户端配置信息监控** - * 可以方便的看到配置在被哪些实例使用 - -* **提供Java和.Net原生客户端** - * 提供了Java和.Net的原生客户端,方便应用集成 - * 支持Spring Placeholder,Annotation和Spring Boot的ConfigurationProperties,方便应用使用(需要Spring 3.1.1+) - * 同时提供了Http接口,非Java和.Net应用也可以方便的使用 - -* **提供开放平台API** - * Apollo自身提供了比较完善的统一配置管理界面,支持多环境、多数据中心配置管理、权限、流程治理等特性。 - * 不过Apollo出于通用性考虑,对配置的修改不会做过多限制,只要符合基本的格式就能够保存。 - * 在我们的调研中发现,对于有些使用方,它们的配置可能会有比较复杂的格式,如xml, json,需要对格式做校验。 - * 还有一些使用方如DAL,不仅有特定的格式,而且对输入的值也需要进行校验后方可保存,如检查数据库、用户名和密码是否匹配。 - * 对于这类应用,Apollo支持应用方通过开放接口在Apollo进行配置的修改和发布,并且具备完善的授权和权限控制 - -* **部署简单** - * 配置中心作为基础服务,可用性要求非常高,这就要求Apollo对外部依赖尽可能地少 - * 目前唯一的外部依赖是MySQL,所以部署非常简单,只要安装好Java和MySQL就可以让Apollo跑起来 - * Apollo还提供了打包脚本,一键就可以生成所有需要的安装包,并且支持自定义运行时参数 +* **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. [应用接入指南](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-guide) - 2. [Java客户端使用指南](https://ctripcorp.github.io/apollo/#/zh/usage/java-sdk-user-guide) - 3. [.Net客户端使用指南](https://ctripcorp.github.io/apollo/#/zh/usage/dotnet-sdk-user-guide) - 4. [其它语言客户端接入指南](https://ctripcorp.github.io/apollo/#/zh/usage/other-language-client-user-guide) - 5. [Apollo开放平台接入指南](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-open-api-platform) - 6. [Apollo使用场景和示例代码](https://github.com/ctripcorp/apollo-use-cases) - 7. [Apollo实践案例](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-practices) - 8. [Apollo安全相关最佳实践](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3) + 1. [Apollo User Guide](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-guide) + 2. [Java SDK User Guide](https://ctripcorp.github.io/apollo/#/zh/usage/java-sdk-user-guide) + 3. [.Net SDK user Guide](https://ctripcorp.github.io/apollo/#/zh/usage/dotnet-sdk-user-guide) + 4. [Third Party SDK User Guide](https://ctripcorp.github.io/apollo/#/zh/usage/third-party-sdks-user-guide) + 5. [Other Language Client User Guide](https://ctripcorp.github.io/apollo/#/zh/usage/other-language-client-user-guide) + 6. [Apollo Open APIs](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-open-api-platform) + 7. [Apollo Use Cases](https://github.com/ctripcorp/apollo-use-cases) + 8. [Apollo User Practices](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-practices) + 9. [Apollo Security Best Practices](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3) # Design - * [Apollo配置中心设计](https://ctripcorp.github.io/apollo/#/zh/design/apollo-design) - * [Apollo核心概念之“Namespace”](https://ctripcorp.github.io/apollo/#/zh/design/apollo-core-concept-namespace) - * [Apollo配置中心架构剖析](https://mp.weixin.qq.com/s/-hUaQPzfsl9Lm3IqQW3VDQ) - * [Apollo源码解析](http://www.iocoder.cn/categories/Apollo/)(据说Apollo非常适合作为初学者第一个通读源码学习的分布式中间件产品) + * [Apollo Design](https://ctripcorp.github.io/apollo/#/zh/design/apollo-design) + * [Apollo Core Concept - Namespace](https://ctripcorp.github.io/apollo/#/zh/design/apollo-core-concept-namespace) + * [Apollo Architecture Analysis](https://mp.weixin.qq.com/s/-hUaQPzfsl9Lm3IqQW3VDQ) + * [Apollo Source Code Explanation](http://www.iocoder.cn/categories/Apollo/) # Development - * [Apollo开发指南](https://ctripcorp.github.io/apollo/#/zh/development/apollo-development-guide) + * [Apollo Development Guide](https://ctripcorp.github.io/apollo/#/zh/development/apollo-development-guide) * Code Styles * [Eclipse Code Style](https://github.com/ctripcorp/apollo/blob/master/apollo-buildtools/style/eclipse-java-google-style.xml) * [Intellij Code Style](https://github.com/ctripcorp/apollo/blob/master/apollo-buildtools/style/intellij-java-google-style.xml) # Deployment * [Quick Start](https://ctripcorp.github.io/apollo/#/zh/deployment/quick-start) - * [分布式部署指南](https://ctripcorp.github.io/apollo/#/zh/deployment/distributed-deployment-guide) + * [Distributed Deployment Guide](https://ctripcorp.github.io/apollo/#/zh/deployment/distributed-deployment-guide) # Release Notes - * [版本发布历史](https://github.com/ctripcorp/apollo/releases) + * [Releases](https://github.com/ctripcorp/apollo/releases) # FAQ - * [常见问题回答](https://ctripcorp.github.io/apollo/#/zh/faq/faq) - * [部署&开发遇到的常见问题](https://ctripcorp.github.io/apollo/#/zh/faq/common-issues-in-deployment-and-development-phase) + * [FAQ](https://ctripcorp.github.io/apollo/#/zh/faq/faq) + * [Common Issues in Deployment & Development Phase](https://ctripcorp.github.io/apollo/#/zh/faq/common-issues-in-deployment-and-development-phase) # Presentation - * [携程开源配置中心Apollo的设计与实现](http://www.itdks.com/dakalive/detail/3420) + * [Design and Implementation Details of Apollo](http://www.itdks.com/dakalive/detail/3420) * [Slides](https://myslide.cn/slides/10168) - * [配置中心,让微服务更『智能』](https://2018.qconshanghai.com/presentation/799) + * [Configuration Center Makes Microservices Smart](https://2018.qconshanghai.com/presentation/799) * [Slides](https://myslide.cn/slides/10035) # Publication - * [开源配置中心Apollo的设计与实现](https://www.infoq.cn/article/open-source-configuration-center-apollo) - * [配置中心,让微服务更『智能』](https://mp.weixin.qq.com/s/iDmYJre_ULEIxuliu1EbIQ) - -# Support - - - - - - - - - - - - - - - - - -
Apollo技术支持②群
群号:904287263(未满)
Apollo技术支持⑤群
群号:914839843(已满)
Apollo技术支持④群
群号:516773934(已满)
Apollo技术支持③群
群号:742035428(已满)
Apollo技术支持①群
群号:375526581(已满)
tech-support-qq-2tech-support-qq-5tech-support-qq-4tech-support-qq-3tech-support-qq-1
+ * [Design and Implementation Details of Apollo](https://www.infoq.cn/article/open-source-configuration-center-apollo) + * [Configuration Center Makes Microservices Smart](https://mp.weixin.qq.com/s/iDmYJre_ULEIxuliu1EbIQ) # Contribution @@ -145,7 +125,7 @@ The project is licensed under the [Apache 2 license](https://github.com/ctripcor # Known Users -> 按照登记顺序排序,更多接入公司,欢迎在[https://github.com/ctripcorp/apollo/issues/451](https://github.com/ctripcorp/apollo/issues/451)登记(仅供开源用户参考) +> Sorted by registration order,users are welcome to register in [https://github.com/ctripcorp/apollo/issues/451](https://github.com/ctripcorp/apollo/issues/451) (reference purpose only for the community) @@ -555,7 +535,7 @@ The project is licensed under the [Apache 2 license](https://github.com/ctripcor # Awards -2018 年度最受欢迎中国开源软件 +The most popular Chinese open source software in 2018 # Stargazers over time diff --git a/docs/en/README.md b/docs/en/README.md index 23e16f04ffc..53c3cc01236 100644 --- a/docs/en/README.md +++ b/docs/en/README.md @@ -1 +1,118 @@ -English version documentation of Apollo \ No newline at end of file +apollo-logo + +# Introduction + +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 detials of the product introduction, please refer [Introduction to Apollo Configuration Center](https://ctripcorp.github.io/apollo/#/zh/design/apollo-introduction). + +For local demo purpose, please refer [Quick Start](https://ctripcorp.github.io/apollo/#/zh/deployment/quick-start). + +Demo Environment: +- [http://106.54.227.205](http://106.54.227.205/) +- User/Password: apollo/admin + +# Screenshots +![Screenshot](https://raw.githubusercontent.com/ctripcorp/apollo/master/docs/en/images/apollo-home-screenshot.jpg) + +# 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](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-guide) +2. [Java SDK User Guide](https://ctripcorp.github.io/apollo/#/zh/usage/java-sdk-user-guide) +3. [.Net SDK user Guide](https://ctripcorp.github.io/apollo/#/zh/usage/dotnet-sdk-user-guide) +4. [Third Party SDK User Guide](https://ctripcorp.github.io/apollo/#/zh/usage/third-party-sdks-user-guide) +5. [Other Language Client User Guide](https://ctripcorp.github.io/apollo/#/zh/usage/other-language-client-user-guide) +6. [Apollo Open APIs](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-open-api-platform) +7. [Apollo Use Cases](https://github.com/ctripcorp/apollo-use-cases) +8. [Apollo User Practices](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-practices) +9. [Apollo Security Best Practices](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3) + +# Design +* [Apollo Design](https://ctripcorp.github.io/apollo/#/zh/design/apollo-design) +* [Apollo Core Concept - Namespace](https://ctripcorp.github.io/apollo/#/zh/design/apollo-core-concept-namespace) +* [Apollo Architecture Analysis](https://mp.weixin.qq.com/s/-hUaQPzfsl9Lm3IqQW3VDQ) +* [Apollo Source Code Explanation](http://www.iocoder.cn/categories/Apollo/) + +# Development +* [Apollo Development Guide](https://ctripcorp.github.io/apollo/#/zh/development/apollo-development-guide) +* Code Styles + * [Eclipse Code Style](https://github.com/ctripcorp/apollo/blob/master/apollo-buildtools/style/eclipse-java-google-style.xml) + * [Intellij Code Style](https://github.com/ctripcorp/apollo/blob/master/apollo-buildtools/style/intellij-java-google-style.xml) + +# Deployment +* [Quick Start](https://ctripcorp.github.io/apollo/#/zh/deployment/quick-start) +* [Distributed Deployment Guide](https://ctripcorp.github.io/apollo/#/zh/deployment/distributed-deployment-guide) + +# Release Notes +* [Releases](https://github.com/ctripcorp/apollo/releases) + +# FAQ +* [FAQ](https://ctripcorp.github.io/apollo/#/zh/faq/faq) +* [Common Issues in Deployment & Development Phase](https://ctripcorp.github.io/apollo/#/zh/faq/common-issues-in-deployment-and-development-phase) + +# Presentation +* [Design and Implementation Details of Apollo](http://www.itdks.com/dakalive/detail/3420) + * [Slides](https://myslide.cn/slides/10168) +* [Configuration Center Makes Microservices Smart](https://2018.qconshanghai.com/presentation/799) + * [Slides](https://myslide.cn/slides/10035) + +# Publication +* [Design and Implementation Details of Apollo](https://www.infoq.cn/article/open-source-configuration-center-apollo) +* [Configuration Center Makes Microservices Smart](https://mp.weixin.qq.com/s/iDmYJre_ULEIxuliu1EbIQ) + +# Contribution + +Please make sure to read the [Contributing Guide](https://github.com/ctripcorp/apollo/blob/master/CONTRIBUTING.md) before making a pull request. + +Thanks for all the people who contributed to Apollo! + + + +# License +The project is licensed under the [Apache 2 license](https://github.com/ctripcorp/apollo/blob/master/LICENSE). diff --git a/docs/en/_sidebar.md b/docs/en/_sidebar.md index 180ce46c42a..8f86c4376f5 100644 --- a/docs/en/_sidebar.md +++ b/docs/en/_sidebar.md @@ -1,5 +1,3 @@ -- Getting started - - - [Quick start](en/quick-start.md) +- [**Home**](en/README.md) - [Releases](https://github.com/ctripcorp/apollo/releases) \ No newline at end of file diff --git a/docs/en/images/apollo-home-screenshot.jpg b/docs/en/images/apollo-home-screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..27aa0f16f7130035fa7b9dc8ad1d7bc67557e9f7 GIT binary patch literal 392719 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
KA)77vxoA?oqu*p*FmjW7N1sf-SK|23 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ǃ-W(buXs2y*b|AT zTp+xT|Hp&C|E?m^Ul2@Cr*{Cf%}gE)w+{NbR%*fVpcWZyQ-7UnptS7##|y%B8cODS z!TI19n4($B^`q(JuFQNL=6aL!4E-Xqp_wRG!w3B><_tPJ8eG7TbQa$U+h+v)*DXL$ zXlWd2g@c}*--2Q3k@y3UdzG==A%qzi!|tO1P8bdV46Xl{;|CPFny;Y$coz5{5B{$! z!tKa7fM-PCrJ8-Qv5GdDCypg@T!m~_dYkqFJ9jd?bY1#qP0{4qmD;RFVOOj|7kFF5 z{3!&6$p@IfMMGHVlRldU!+wqc#+RHT7z2qfDp10C7owU5mpJo)|3BZWzZ{Z`j+mqV z=_KucI{KeeMDJjhSY_n4=3E)-T|o@g)~-LOmxR#Ox{s;n;Hcf%blUmY6SpFp@Crps z0v-$$A2IjOL`8ViYUMq3bFp>gbrH4>EqEFDmOa89^ud-*@t_3ue@&lz$UW0JBAg&u zCTPP>>6A(8>&#Fivk~&!vz(c~exdkh&B+^w2ls<&vU2wMv2vkglgQF4)a4h$Cezvi z2|{U%cebBBi|M8f(pq#?I>@1|k6LN&#vo5F05Y$O{J@x^_s;{JgJ>EsHX{F@0rX#o z%1{4aL*?6g7iRmEQE0D+qj$=>1?G~hX0q0Oj&CnG-7)pi_M_|bD)09y42{iCuJzo6*6MtiYpZw3SpKnM@Sza$C zTn4f-BGiSZ{2ok}Z%azJ_q$Y@P4)0O%Cfm++u!?9vAjDqsJLkSMPGwk5~CN)&4%*x zKrciXc`@3Zq=sLRDoebPFni9&Bt)wtwjlL~h--J&`(p*P(B_u!k`rS`cZYI$9oo8n zQX(&FlySM;_XXJR#YkU1CxeFbb*|WeSbYs(@$dwHof#EJWbzhmuQ8r%29G_ft#K?- zJKZ|>&id^@Nc9oTOvdK{-|lw0pmd>jC)Qtj74pDr>lK)PiB zg{<^UczIN>hK!Wc)uVLqiuL!%=^F7*)Zrp@U+0Y5P}WQW%*(4lJ^!Z%Z) z(^3w?Jf|<$RlbGod=q)p^X>l223NNjL-<7k$Cr_v>fa31xe#6L+wmmO)%nU*;?zkqrO&LXUz$*r(9ADi-oBbcJtdpLCccQc zlt)RgucJB0iiPt4k#(}gIzNgMg8DeOZ$ForLAK!@wBKa0K4o>wtx+uE<6VZpX95h@ zq;*!Bx}rchNjk#i#IcTgSQNnqQ>NQ_R4@Bd`w61|yz7il$=BuG#kgy`$;Z0Q_tivG zG7g<L8s9hNmb9?BYTw|oDIqCS2K|q4GzxeRflyA zN-?pleeDX#%>@-x3{wN?Qok==s38on9)`WMp>2pqO0E`h9W9$E1(Fn{~(JHok( z%gYNc2aUM%2?M6vGtKpf1IZIY{FWXJq z-;1skb{gZfJtDp%X~1bOrFLb9y%q{py;p<}=rDDZACB&^)?qR8T~yE|;qBo-otf|l z)4uBRQkM!CI}BjJBEvkupl;fdB7BxyeVEeCYjNYalt(_mr zaw9m(W6yKLG8I89;yt8&QnWCil|`Oy@1M{#SS2s^!vbIzT%PlzS+Nk#HaS{q-o0U4 zxBD}P!xS4{LAE%Hg;3dzA0>(*A3TxTzTWA+XMWR#LszBL zuE`|gfqMSpqv$|UG<14<;a1}WL5(8D&;Bevr>kIj)M=}ruD)KSJMAiEn_Qb;(P(f^ z5-LFh>@w|O#EJ%VNxVpu-_Jq87WtUetwT$z4%--2jZ}+`WYW+4N+4gr{d{xk9x%(E>;j&}BZU*zdgImhZRZvO&E#$-`T99!bTn^GYT@C7Pt5 z$z~s{P4epI!Rfv4e)3r2M>$lu2m0K50e%jNWI~ONxnvq+mxgPeh^v3SWFU0c156Lw z1^{3Mks92+r^?T*7N-m0pad+ZuH||I+_FeaZhRI+y>2c7W3s zswoI5y4j~>k6~;5QP_(|zd+L=MBOVxXThbAeVa~ivH-pGU!cbE16UgVzAy3En4q_J zQMf0bztrvX^JgFsgN|At+y(2^0?3|*^fsUL`ILA+K*jS1Qe> z^^>ov#3{V-$nd{2)7w2mWA@B_zSsBVR~Vc2$~{%xEV^UQ9NI_*wW-X$NRZ&pV%`W^8s0%cR`P_Qd6%C zVdzKD#}3m!!lOKV?=hgRKelxIOgdOm)_sz9-ab6Z8{jXK`Y@>{Su)jSa?hQ}1uoo= zzna^W96+_chfg26`E{bqxzxpdW#Zw3TW>WFZ=DW4`*CzmW13Eh^PtO%Akv?yYcTSn zk+<~w26iJ>q*M0k;;rPS$_{$ab_!(Yq@QsC>+z+dn?U9bkfEG=1wJVGy`QM775WQgE{WXNfsf3= zh!A(k2@!n4XL`B~Ea5!^;Je!EAE=0{k~l~&m*P*Ibp6pr@L>p!u7i#S&*h>@=1_j6 zK2H43rcQ+;ms-%CGp|K_swMgDv*{#34(G80CiK7+#*J0=N8h*66>hqgy!pV5VM*1k zyzCVUDDpuCAtFX7ZYu#_EtE9JGxIO4vpPa$7GsSbOSP)dJiKG)JZII|)5(;LzN~4& zY_hLi#~W!jD|C?RY7|2A2r zsttL77|Tm1Qq4ThF-rWwb>X|%dvoihxMb*Jc4v=R^EG_oU2Jz}TC<4X)saTIvy#sa zM-|f++PUlWcRgEDC*QVJUMOqtS?ipJi0kls4+@5_Wh!|1r2;mbuAw^Jxj5%t(qek_ zrcr#Uq_(u`o{Rn|527|}BSSWevd}mBp*zL4-x^BnhCJ#?VM`+!&J3fT2WUx8B8WT< z>Egy1M4YTy)pNFt`(wEiG-Z|4{yj1DTj0�$vod#w$l{u<0ceEUN8&qu$ccMepdx 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%0DowTrgJv-mt1H1BWKQhk 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

6-=iouW^I2IeP*N;blYe1p|o2MrJ}x} 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 z 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 aR@c8^+3&Y2D8H`%p0joT7jWEq`~LvT0EyQC literal 0 HcmV?d00001 diff --git a/docs/zh/README.md b/docs/zh/README.md index dac4f21adee..585bdfc85fa 100644 --- a/docs/zh/README.md +++ b/docs/zh/README.md @@ -140,417 +140,3 @@ Thanks for all the people who contributed to Apollo! # License The project is licensed under the [Apache 2 license](https://github.com/ctripcorp/apollo/blob/master/LICENSE). - -# Known Users - -> 按照登记顺序排序,更多接入公司,欢迎在[https://github.com/ctripcorp/apollo/issues/451](https://github.com/ctripcorp/apollo/issues/451)登记(仅供开源用户参考) - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
携程青石证券沙绿航旅纵横58转转
蜂助手海南航空CVTE明博教育麻袋理财
美行科技首展科技易微行人才加凯京集团
乐刻运动大疆快看漫画我来贷虚实软件
网易严选视觉中国资产360亿咖通5173
沪江网易云基础服务现金巴士锤子科技头等仓
吉祥航空263移动通信投投金融每天健康麦芽金服
蜂向科技即科金融贝壳网有赞云集汇通
犀牛瀚海科技农信互联蘑菇租房狐狸金服漫道集团
怪兽充电南瓜租房石投金融土巴兔平安银行
新新贷中国华戎科技集团涂鸦智能立创商城乐赚金服
开心汽车乐赚金服普元信息医帮管家付啦信用卡管家
悠哉网梧桐诚选拍拍贷信用飞丁香园
国槐科技亲宝宝华为视频直播微播易欧飞
迷说一下科技DaoCloud汽摩交易所好未来教育集团
猎户星空卓健科技银江股份途虎养车河姆渡
新网银行中旅安信云贷美柚震坤行万谷盛世
铂涛旅行乐心亿投传媒股先生财学堂
4399汽车之家面包财经虎扑搜狐汽车
量富征信卖好车中移物联网易车网一药网
小影彩贝壳YEELIGHT积目极致医疗
金汇金融久柏易游小麦铺搜款网米庄理财
贝吉塔网络科技微盟网易卡搭股书聚贸
广联达bimface环球易购浙江执御二维火上品
浪潮集团纳里健康橙红科技龙腾出行荔枝
汇通达云融金科天生掌柜容联光辉云天励飞
嘉云数据中泰证券网络金融部网易易盾享物说申通
金和网络二三四五恒天财富沐雪微信温州医科大学附属眼视光医院
联通支付杉数科技分利宝核桃编程小红书
幸福西饼跨越速运OYO叮咚买菜智道网联
雪球车通云哒哒英语小E微店达令家
人力窝嘉美在线极易付智慧开源车仕库
太美医疗科技亿联百汇舟谱数据芙蓉兴盛野兽派
凯叔讲故事好大夫在线云幂信息技术兑吧九机网
随手科技万谷盛世云账房浙江远图互联青客公寓
东方财富极客修美市科技中通快递易流科技
实习僧达令家寺库连连支付众安保险
360金融中航服商旅贝壳Yeahmobi易点天下北京登云美业网络科技有限公司
金和网络中移(杭州)信息技术有限公司北森合肥维天运通北京蜜步科技有限公司
术康富力集团天府行八商山中原地产
智科云达中原730百果园波罗蜜Xignite
杭州有云科技有限公司成都书声科技有限公司斯维登集团广东快乐种子科技有限公司上海盈翼文化传播有限公司
上海尚诚消费金融股份有限公司自如网京东兔展智能竹贝
iMile(中东)哈罗出行智联招聘阿卡索妙知旅
程多多上汽通用五菱乐言科技樊登读书找一找教程网
中油碧辟石油有限公司四川商旅无忧科技服务有限公司懿鸢网络科技(上海)有限公司稿定科技搵樓 - 利嘉閣
南京领行科技股份有限公司北京希瑞亚斯科技有限公司印彩虹印刷公司Million Tech果果科技
昆明航空我爱我家国金证券不亦乐乎惠农网
成都道壳澳优乳业河南有态度信息科技有限公司智阳第一人力上海保险交易所
万顺叫车收钱吧宝尊电商喜百年供应链南京观为智慧软件科技有限公司
在途商旅哗啦啦优信二手车每刻科技杭州蛮牛
翼支付魔筷科技畅唐网络准时达早道网校
万店掌推文科技Lemonbox保利票务芯翼科技
浙商银行易企银科技上海云盾苏州盖雅信息技术有限公司爱库存
极豆车联网伴鱼少儿英语锐达科技新东方在线金康高科
soul驿氪慧聪中塑在线甄云科技
追溯科技玩吧广州卡桑信息技术有限公司水滴酷我音乐
小米今典
- -# Awards - -2018 年度最受欢迎中国开源软件 From ace420c9fecf186b85e8a0bedba84151f8531d26 Mon Sep 17 00:00:00 2001 From: Jason Song Date: Sat, 1 May 2021 13:49:01 +0800 Subject: [PATCH 03/23] add known users --- README.md | 6 ++++-- docs/en/README.md | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f0ad53e4f03..0607edfd9f1 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ The Java SDK does not rely on any framework and can run in all Java runtime envi The .Net SDK does not rely on any framework and can run in all .Net runtime environments. -For more detials of the product introduction, please refer [Introduction to Apollo Configuration Center](https://ctripcorp.github.io/apollo/#/zh/design/apollo-introduction). +For more details of the product introduction, please refer [Introduction to Apollo Configuration Center](https://ctripcorp.github.io/apollo/#/zh/design/apollo-introduction). For local demo purpose, please refer [Quick Start](https://ctripcorp.github.io/apollo/#/zh/deployment/quick-start). @@ -32,7 +32,7 @@ Demo Environment: * 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) + * 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 @@ -530,6 +530,8 @@ The project is licensed under the [Apache 2 license](https://github.com/ctripcor 小米 今典 +签宝科技 +广州趣米网络科技有限公司 diff --git a/docs/en/README.md b/docs/en/README.md index 53c3cc01236..5f356c68a43 100644 --- a/docs/en/README.md +++ b/docs/en/README.md @@ -10,7 +10,7 @@ The Java SDK does not rely on any framework and can run in all Java runtime envi The .Net SDK does not rely on any framework and can run in all .Net runtime environments. -For more detials of the product introduction, please refer [Introduction to Apollo Configuration Center](https://ctripcorp.github.io/apollo/#/zh/design/apollo-introduction). +For more details of the product introduction, please refer [Introduction to Apollo Configuration Center](https://ctripcorp.github.io/apollo/#/zh/design/apollo-introduction). For local demo purpose, please refer [Quick Start](https://ctripcorp.github.io/apollo/#/zh/deployment/quick-start). @@ -26,7 +26,7 @@ Demo Environment: * 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) + * 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 From 95c1d10c802001031954ba6eb9633ce6246eed84 Mon Sep 17 00:00:00 2001 From: Jason Song Date: Sat, 1 May 2021 22:27:05 +0800 Subject: [PATCH 04/23] Create CNAME --- docs/CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/CNAME diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 00000000000..d19e1455a61 --- /dev/null +++ b/docs/CNAME @@ -0,0 +1 @@ +apolloconfig.com \ No newline at end of file From 07a062b9dc2dcfe192a57fa7a50f597fdca050f3 Mon Sep 17 00:00:00 2001 From: Jason Song Date: Sat, 1 May 2021 22:31:07 +0800 Subject: [PATCH 05/23] Update CNAME --- docs/CNAME | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CNAME b/docs/CNAME index d19e1455a61..05e0a1b57bd 100644 --- a/docs/CNAME +++ b/docs/CNAME @@ -1 +1 @@ -apolloconfig.com \ No newline at end of file +www.apolloconfig.com \ No newline at end of file From 8429c392410e9cbd8541d01dddaf39cd00d640e2 Mon Sep 17 00:00:00 2001 From: Jason Song Date: Sat, 1 May 2021 22:32:38 +0800 Subject: [PATCH 06/23] Delete CNAME --- docs/CNAME | 1 - 1 file changed, 1 deletion(-) delete mode 100644 docs/CNAME diff --git a/docs/CNAME b/docs/CNAME deleted file mode 100644 index 05e0a1b57bd..00000000000 --- a/docs/CNAME +++ /dev/null @@ -1 +0,0 @@ -www.apolloconfig.com \ No newline at end of file From a1b19ace8e6eb73e791f89ad30e2210003ba9d33 Mon Sep 17 00:00:00 2001 From: Jason Song Date: Sun, 2 May 2021 09:56:10 +0800 Subject: [PATCH 07/23] Create CNAME --- docs/CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/CNAME diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 00000000000..05e0a1b57bd --- /dev/null +++ b/docs/CNAME @@ -0,0 +1 @@ +www.apolloconfig.com \ No newline at end of file From e1a6cf9cd40300fad156b6b87835c27b5e378f16 Mon Sep 17 00:00:00 2001 From: Jason Song Date: Sun, 2 May 2021 10:07:07 +0800 Subject: [PATCH 08/23] update apolloconfig.com domain --- .github/ISSUE_TEMPLATE/bug_report_en.md | 2 +- .github/ISSUE_TEMPLATE/bug_report_zh.md | 2 +- README.md | 34 +++++++++--------- .../openapi/client/ApolloOpenApiClient.java | 2 +- .../portal/component/config/PortalConfig.java | 2 +- .../src/main/resources/static/namespace.html | 2 +- .../main/resources/static/system_info.html | 4 +-- docs/en/README.md | 36 +++++++++---------- docs/zh/README.md | 13 +++---- .../distributed-deployment-guide.md | 2 +- scripts/helm/README.md | 2 +- 11 files changed, 51 insertions(+), 50 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report_en.md b/.github/ISSUE_TEMPLATE/bug_report_en.md index 1593f204829..2fb4373ebbf 100644 --- a/.github/ISSUE_TEMPLATE/bug_report_en.md +++ b/.github/ISSUE_TEMPLATE/bug_report_en.md @@ -10,7 +10,7 @@ assignees: '' - [ ] I have checked the [discussions](https://github.com/ctripcorp/apollo/discussions) - [ ] I have searched the [issues](https://github.com/ctripcorp/apollo/issues) of this repository and believe that this is not a duplicate. -- [ ] I have checked the [FAQ](https://ctripcorp.github.io/apollo/#/zh/faq/common-issues-in-deployment-and-development-phase) of this repository and believe that this is not a duplicate. +- [ ] I have checked the [FAQ](https://www.apolloconfig.com/#/zh/faq/common-issues-in-deployment-and-development-phase) of this repository and believe that this is not a duplicate. **Describe the bug** A clear and concise description of what the bug is. diff --git a/.github/ISSUE_TEMPLATE/bug_report_zh.md b/.github/ISSUE_TEMPLATE/bug_report_zh.md index f89842e3d84..7f14ff85074 100644 --- a/.github/ISSUE_TEMPLATE/bug_report_zh.md +++ b/.github/ISSUE_TEMPLATE/bug_report_zh.md @@ -10,7 +10,7 @@ assignees: '' - [ ] 我已经检查过[discussions](https://github.com/ctripcorp/apollo/discussions) - [ ] 我已经搜索过[issues](https://github.com/ctripcorp/apollo/issues) -- [ ] 我已经仔细检查过[FAQ](https://ctripcorp.github.io/apollo/#/zh/faq/common-issues-in-deployment-and-development-phase) +- [ ] 我已经仔细检查过[FAQ](https://www.apolloconfig.com/#/zh/faq/common-issues-in-deployment-and-development-phase) **描述bug** diff --git a/README.md b/README.md index 0607edfd9f1..5b5af2f8830 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,9 @@ The Java SDK does not rely on any framework and can run in all Java runtime envi 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](https://ctripcorp.github.io/apollo/#/zh/design/apollo-introduction). +For more details of the product introduction, please refer [Introduction to Apollo Configuration Center](https://www.apolloconfig.com/#/zh/design/apollo-introduction). -For local demo purpose, please refer [Quick Start](https://ctripcorp.github.io/apollo/#/zh/deployment/quick-start). +For local demo purpose, please refer [Quick Start](https://www.apolloconfig.com/#/zh/deployment/quick-start). Demo Environment: - [http://106.54.227.205](http://106.54.227.205/) @@ -69,38 +69,38 @@ Demo Environment: * 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](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-guide) - 2. [Java SDK User Guide](https://ctripcorp.github.io/apollo/#/zh/usage/java-sdk-user-guide) - 3. [.Net SDK user Guide](https://ctripcorp.github.io/apollo/#/zh/usage/dotnet-sdk-user-guide) - 4. [Third Party SDK User Guide](https://ctripcorp.github.io/apollo/#/zh/usage/third-party-sdks-user-guide) - 5. [Other Language Client User Guide](https://ctripcorp.github.io/apollo/#/zh/usage/other-language-client-user-guide) - 6. [Apollo Open APIs](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-open-api-platform) + 1. [Apollo User Guide](https://www.apolloconfig.com/#/zh/usage/apollo-user-guide) + 2. [Java SDK User Guide](https://www.apolloconfig.com/#/zh/usage/java-sdk-user-guide) + 3. [.Net SDK user Guide](https://www.apolloconfig.com/#/zh/usage/dotnet-sdk-user-guide) + 4. [Third Party SDK User Guide](https://www.apolloconfig.com/#/zh/usage/third-party-sdks-user-guide) + 5. [Other Language Client User Guide](https://www.apolloconfig.com/#/zh/usage/other-language-client-user-guide) + 6. [Apollo Open APIs](https://www.apolloconfig.com/#/zh/usage/apollo-open-api-platform) 7. [Apollo Use Cases](https://github.com/ctripcorp/apollo-use-cases) - 8. [Apollo User Practices](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-practices) - 9. [Apollo Security Best Practices](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3) + 8. [Apollo User Practices](https://www.apolloconfig.com/#/zh/usage/apollo-user-practices) + 9. [Apollo Security Best Practices](https://www.apolloconfig.com/#/zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3) # Design - * [Apollo Design](https://ctripcorp.github.io/apollo/#/zh/design/apollo-design) - * [Apollo Core Concept - Namespace](https://ctripcorp.github.io/apollo/#/zh/design/apollo-core-concept-namespace) + * [Apollo Design](https://www.apolloconfig.com/#/zh/design/apollo-design) + * [Apollo Core Concept - Namespace](https://www.apolloconfig.com/#/zh/design/apollo-core-concept-namespace) * [Apollo Architecture Analysis](https://mp.weixin.qq.com/s/-hUaQPzfsl9Lm3IqQW3VDQ) * [Apollo Source Code Explanation](http://www.iocoder.cn/categories/Apollo/) # Development - * [Apollo Development Guide](https://ctripcorp.github.io/apollo/#/zh/development/apollo-development-guide) + * [Apollo Development Guide](https://www.apolloconfig.com/#/zh/development/apollo-development-guide) * Code Styles * [Eclipse Code Style](https://github.com/ctripcorp/apollo/blob/master/apollo-buildtools/style/eclipse-java-google-style.xml) * [Intellij Code Style](https://github.com/ctripcorp/apollo/blob/master/apollo-buildtools/style/intellij-java-google-style.xml) # Deployment - * [Quick Start](https://ctripcorp.github.io/apollo/#/zh/deployment/quick-start) - * [Distributed Deployment Guide](https://ctripcorp.github.io/apollo/#/zh/deployment/distributed-deployment-guide) + * [Quick Start](https://www.apolloconfig.com/#/zh/deployment/quick-start) + * [Distributed Deployment Guide](https://www.apolloconfig.com/#/zh/deployment/distributed-deployment-guide) # Release Notes * [Releases](https://github.com/ctripcorp/apollo/releases) # FAQ - * [FAQ](https://ctripcorp.github.io/apollo/#/zh/faq/faq) - * [Common Issues in Deployment & Development Phase](https://ctripcorp.github.io/apollo/#/zh/faq/common-issues-in-deployment-and-development-phase) + * [FAQ](https://www.apolloconfig.com/#/zh/faq/faq) + * [Common Issues in Deployment & Development Phase](https://www.apolloconfig.com/#/zh/faq/common-issues-in-deployment-and-development-phase) # Presentation * [Design and Implementation Details of Apollo](http://www.itdks.com/dakalive/detail/3420) diff --git a/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/ApolloOpenApiClient.java b/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/ApolloOpenApiClient.java index 6e9a195b615..ae1bfe650f8 100644 --- a/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/ApolloOpenApiClient.java +++ b/apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/ApolloOpenApiClient.java @@ -30,7 +30,7 @@ /** * This class contains collections of methods to access Apollo Open Api. *
- * For more information, please refer
Apollo Wiki. + * For more information, please refer Apollo Wiki. * */ public class ApolloOpenApiClient { diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/component/config/PortalConfig.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/component/config/PortalConfig.java index 5c024ba8ca3..e494da172d6 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/component/config/PortalConfig.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/component/config/PortalConfig.java @@ -228,7 +228,7 @@ public String emailGrayRulesModuleTemplate() { } public String wikiAddress() { - return getValue("wiki.address", "https://ctripcorp.github.io/apollo"); + return getValue("wiki.address", "https://www.apolloconfig.com"); } public boolean canAppAdminCreatePrivateNamespace() { diff --git a/apollo-portal/src/main/resources/static/namespace.html b/apollo-portal/src/main/resources/static/namespace.html index 3b51fdab2a5..5678b53a1aa 100644 --- a/apollo-portal/src/main/resources/static/namespace.html +++ b/apollo-portal/src/main/resources/static/namespace.html @@ -26,7 +26,7 @@
diff --git a/apollo-portal/src/main/resources/static/system_info.html b/apollo-portal/src/main/resources/static/system_info.html index d18af351e6d..832cf7c0700 100644 --- a/apollo-portal/src/main/resources/static/system_info.html +++ b/apollo-portal/src/main/resources/static/system_info.html @@ -28,11 +28,11 @@

{{'SystemInfo.Title' | translate }}

{{'SystemInfo.SystemVersion' | translate }}: {{systemInfo.version}}
+ translate-value-wiki-url="https://www.apolloconfig.com/#/zh/deployment/distributed-deployment-guide">
+ translate-value-wiki-url="https://www.apolloconfig.com/#/zh/deployment/distributed-deployment-guide">
diff --git a/docs/en/README.md b/docs/en/README.md index 5f356c68a43..f6f60f2167b 100644 --- a/docs/en/README.md +++ b/docs/en/README.md @@ -10,16 +10,16 @@ The Java SDK does not rely on any framework and can run in all Java runtime envi 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](https://ctripcorp.github.io/apollo/#/zh/design/apollo-introduction). +For more details of the product introduction, please refer [Introduction to Apollo Configuration Center](zh/design/apollo-introduction). -For local demo purpose, please refer [Quick Start](https://ctripcorp.github.io/apollo/#/zh/deployment/quick-start). +For local demo purpose, please refer [Quick Start](zh/deployment/quick-start). Demo Environment: - [http://106.54.227.205](http://106.54.227.205/) - User/Password: apollo/admin # Screenshots -![Screenshot](https://raw.githubusercontent.com/ctripcorp/apollo/master/docs/en/images/apollo-home-screenshot.jpg) +![Screenshot](images/apollo-home-screenshot.jpg) # Features * **Unified management of the configurations of different environments and different clusters** @@ -63,38 +63,38 @@ Demo Environment: * 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](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-guide) -2. [Java SDK User Guide](https://ctripcorp.github.io/apollo/#/zh/usage/java-sdk-user-guide) -3. [.Net SDK user Guide](https://ctripcorp.github.io/apollo/#/zh/usage/dotnet-sdk-user-guide) -4. [Third Party SDK User Guide](https://ctripcorp.github.io/apollo/#/zh/usage/third-party-sdks-user-guide) -5. [Other Language Client User Guide](https://ctripcorp.github.io/apollo/#/zh/usage/other-language-client-user-guide) -6. [Apollo Open APIs](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-open-api-platform) +1. [Apollo User Guide](zh/usage/apollo-user-guide) +2. [Java SDK User Guide](zh/usage/java-sdk-user-guide) +3. [.Net SDK user Guide](zh/usage/dotnet-sdk-user-guide) +4. [Third Party SDK User Guide](zh/usage/third-party-sdks-user-guide) +5. [Other Language Client User Guide](zh/usage/other-language-client-user-guide) +6. [Apollo Open APIs](zh/usage/apollo-open-api-platform) 7. [Apollo Use Cases](https://github.com/ctripcorp/apollo-use-cases) -8. [Apollo User Practices](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-practices) -9. [Apollo Security Best Practices](https://ctripcorp.github.io/apollo/#/zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3) +8. [Apollo User Practices](zh/usage/apollo-user-practices) +9. [Apollo Security Best Practices](zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3) # Design -* [Apollo Design](https://ctripcorp.github.io/apollo/#/zh/design/apollo-design) -* [Apollo Core Concept - Namespace](https://ctripcorp.github.io/apollo/#/zh/design/apollo-core-concept-namespace) +* [Apollo Design](zh/design/apollo-design) +* [Apollo Core Concept - Namespace](zh/design/apollo-core-concept-namespace) * [Apollo Architecture Analysis](https://mp.weixin.qq.com/s/-hUaQPzfsl9Lm3IqQW3VDQ) * [Apollo Source Code Explanation](http://www.iocoder.cn/categories/Apollo/) # Development -* [Apollo Development Guide](https://ctripcorp.github.io/apollo/#/zh/development/apollo-development-guide) +* [Apollo Development Guide](zh/development/apollo-development-guide) * Code Styles * [Eclipse Code Style](https://github.com/ctripcorp/apollo/blob/master/apollo-buildtools/style/eclipse-java-google-style.xml) * [Intellij Code Style](https://github.com/ctripcorp/apollo/blob/master/apollo-buildtools/style/intellij-java-google-style.xml) # Deployment -* [Quick Start](https://ctripcorp.github.io/apollo/#/zh/deployment/quick-start) -* [Distributed Deployment Guide](https://ctripcorp.github.io/apollo/#/zh/deployment/distributed-deployment-guide) +* [Quick Start](zh/deployment/quick-start) +* [Distributed Deployment Guide](zh/deployment/distributed-deployment-guide) # Release Notes * [Releases](https://github.com/ctripcorp/apollo/releases) # FAQ -* [FAQ](https://ctripcorp.github.io/apollo/#/zh/faq/faq) -* [Common Issues in Deployment & Development Phase](https://ctripcorp.github.io/apollo/#/zh/faq/common-issues-in-deployment-and-development-phase) +* [FAQ](zh/faq/faq) +* [Common Issues in Deployment & Development Phase](zh/faq/common-issues-in-deployment-and-development-phase) # Presentation * [Design and Implementation Details of Apollo](http://www.itdks.com/dakalive/detail/3420) diff --git a/docs/zh/README.md b/docs/zh/README.md index 585bdfc85fa..0e98fd227b6 100644 --- a/docs/zh/README.md +++ b/docs/zh/README.md @@ -15,7 +15,7 @@ Java客户端不依赖任何框架,能够运行于所有Java运行时环境, 本地快速部署请参见[Quick Start](zh/deployment/quick-start) 演示环境(Demo): -- [106.54.227.205](http://106.54.227.205/) +- [http://106.54.227.205](http://106.54.227.205/) - 账号/密码:apollo/admin > 如访问github速度缓慢,可以访问[gitee镜像](https://gitee.com/nobodyiam/apollo),不定期同步 @@ -67,11 +67,12 @@ Java客户端不依赖任何框架,能够运行于所有Java运行时环境, 1. [应用接入指南](zh/usage/apollo-user-guide) 2. [Java客户端使用指南](zh/usage/java-sdk-user-guide) 3. [.Net客户端使用指南](zh/usage/dotnet-sdk-user-guide) - 4. [其它语言客户端接入指南](zh/usage/other-language-client-user-guide) - 5. [Apollo开放平台接入指南](zh/usage/apollo-open-api-platform) - 6. [Apollo使用场景和示例代码](https://github.com/ctripcorp/apollo-use-cases) - 7. [Apollo实践案例](zh/usage/apollo-user-practices) - 8. [Apollo安全相关最佳实践](zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3) + 4. [Go、Python、NodeJS、PHP等客户端使用指南](zh/usage/third-party-sdks-user-guide) + 5. [其它语言客户端接入指南](zh/usage/other-language-client-user-guide) + 6. [Apollo开放平台接入指南](zh/usage/apollo-open-api-platform) + 7. [Apollo使用场景和示例代码](https://github.com/ctripcorp/apollo-use-cases) + 8. [Apollo实践案例](zh/usage/apollo-user-practices) + 9. [Apollo安全相关最佳实践](zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3) # Design - [Apollo配置中心设计](zh/design/apollo-design.md) diff --git a/docs/zh/deployment/distributed-deployment-guide.md b/docs/zh/deployment/distributed-deployment-guide.md index b9c93cfd7e6..6f901b6cf55 100644 --- a/docs/zh/deployment/distributed-deployment-guide.md +++ b/docs/zh/deployment/distributed-deployment-guide.md @@ -615,7 +615,7 @@ Apollo 1.7.0版本增加了基于Kubernetes原生服务发现的部署模式, #### 2.4.1.2 添加Apollo Helm Chart仓库 ```bash -$ helm repo add apollo https://ctripcorp.github.io/apollo/charts +$ helm repo add apollo https://www.apolloconfig.com/charts $ helm search repo apollo ``` diff --git a/scripts/helm/README.md b/scripts/helm/README.md index 1701d210ffc..1ebc8f1a760 100644 --- a/scripts/helm/README.md +++ b/scripts/helm/README.md @@ -14,7 +14,7 @@ The apollo-service and apollo-portal charts create deployments for apollo-config ## 3. Add Apollo Helm Chart Repository ```bash -$ helm repo add apollo https://ctripcorp.github.io/apollo/charts +$ helm repo add apollo https://www.apolloconfig.com/charts $ helm search repo apollo ``` From 6deedb3e3f0eb981c66297091a230ffc64d1605b Mon Sep 17 00:00:00 2001 From: Jason Song Date: Wed, 5 May 2021 10:31:44 +0800 Subject: [PATCH 09/23] 1. localize css to speed up the loading of google fonts 2. add baidu analytic script --- docs/css/buble.css | 1 + docs/css/dark.css | 1 + docs/css/fonts.css | 56 ++++++++++++++++++++++++++++++++++++++++++++++ docs/css/pure.css | 1 + docs/css/vue.css | 1 + docs/index.html | 18 +++++++++++---- 6 files changed, 74 insertions(+), 4 deletions(-) create mode 100644 docs/css/buble.css create mode 100644 docs/css/dark.css create mode 100644 docs/css/fonts.css create mode 100644 docs/css/pure.css create mode 100644 docs/css/vue.css diff --git a/docs/css/buble.css b/docs/css/buble.css new file mode 100644 index 00000000000..9145ac1bdb3 --- /dev/null +++ b/docs/css/buble.css @@ -0,0 +1 @@ +@import url("fonts.css");*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#0074d9);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#0074d9)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#0074d9)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#0074d9)}.app-nav li{display:inline-block;margin:0 1rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#0074d9);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:16rem;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:0;left:0;text-align:center;transition:opacity .3s;width:0;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#0074d9);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:16rem;transition:left .25s ease}.markdown-section{margin:0 auto;max-width:80%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.warn{background:rgba(0,116,217,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-16rem)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16rem;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(16rem)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:0;padding:10px}body.close .content{transform:translateX(16rem)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#0074d9);box-sizing:border-box;color:var(--theme-color,#0074d9);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#0074d9);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#0074d9);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#0074d9)}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;margin:0;padding:.2em 0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{color:#333;font-weight:400}.markdown-section strong{color:#333;font-weight:600}.markdown-section a{color:var(--theme-color,#0074d9)}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;margin:0 0 1em;word-spacing:.05rem}.markdown-section h1{font-size:2rem;font-weight:500;margin:0 0 1rem}.markdown-section h2{font-size:1.8rem;font-weight:400;margin:0 0 1rem;padding:1rem 0 0}.markdown-section h3{font-size:1.5rem;margin:52px 0 1.2rem}.markdown-section h4{font-size:1.25rem}.markdown-section h5{font-size:1rem}.markdown-section h6{color:#777;font-size:1rem}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section li{line-height:1.5;margin:0}.markdown-section blockquote{border-left:4px solid var(--theme-color,#0074d9);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:3px;padding:.2em .4rem;white-space:nowrap}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;font-size:16px;margin:0 0 1em;padding:0 10px 12px 0;overflow:auto;word-wrap:normal;position:relative}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{background-color:#f8f8f8;border-radius:2px;display:block;font-family:Inconsolata;line-height:1.1rem;max-width:inherit;overflow:inherit;padding:20px .8em;position:relative;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto} \ No newline at end of file diff --git a/docs/css/dark.css b/docs/css/dark.css new file mode 100644 index 00000000000..c5c3c570f42 --- /dev/null +++ b/docs/css/dark.css @@ -0,0 +1 @@ +@import url("fonts.css");*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#ea6f5a);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#ea6f5a)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#c8c8c8;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#ea6f5a)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#ea6f5a)}.app-nav li{display:inline-block;margin:0 1rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#3f3f3f;fill:var(--theme-color,#ea6f5a);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#c8c8c8}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:300px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:rgba(63,63,63,.8);border:0;outline:none;padding:10px;position:absolute;bottom:0;left:0;text-align:center;transition:opacity .3s;width:284px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#ea6f5a);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:300px;transition:left .25s ease}.markdown-section{margin:0 auto;max-width:80%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#3f3f3f;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#c8c8c8}.markdown-section p.warn{background:rgba(234,111,90,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(300px)}body.close .sidebar-toggle{background-color:rgba(63,63,63,.8);transition:background-color 1s;width:284px;padding:10px}body.close .content{transform:translateX(300px)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#3f3f3f;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#ea6f5a);box-sizing:border-box;color:var(--theme-color,#ea6f5a);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#ea6f5a);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#ea6f5a);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#ea6f5a)}.sidebar,body{background-color:#3f3f3f}.sidebar{color:#c8c8c8}.sidebar li{margin:6px 15px 6px 0}.sidebar ul li a{color:#c8c8c8;font-size:14px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:var(--theme-color,#ea6f5a);font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{color:#657b83;font-weight:600}.markdown-section a{color:var(--theme-color,#ea6f5a);font-weight:600}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.75rem;margin:45px 0 .8rem}.markdown-section h3{font-size:1.5rem;margin:40px 0 .6rem}.markdown-section h4{font-size:1.25rem}.markdown-section h5{font-size:1rem}.markdown-section h6{color:#777;font-size:1rem}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;word-spacing:.05rem}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section blockquote{border-left:4px solid var(--theme-color,#ea6f5a);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{background-color:#282828;border-radius:2px;color:#657b83;font-family:Roboto Mono,Monaco,courier,monospace;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section>:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) code{font-size:.8rem}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#282828;font-family:Roboto Mono,Monaco,courier,monospace;line-height:1.5rem;margin:1.2em 0;overflow:auto;padding:0 1.4rem;position:relative;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:var(--theme-color,#ea6f5a)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:var(--theme-color,#ea6f5a)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#282828;border-radius:2px;color:#657b83;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8rem;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;padding:2.2em 5px;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto}pre:after{color:#ccc;content:attr(data-lang);font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0}.markdown-section p.tip{background-color:#282828;color:#657b83}input[type=search]{background:#4f4f4f;border-color:#4f4f4f;color:#c8c8c8} \ No newline at end of file diff --git a/docs/css/fonts.css b/docs/css/fonts.css new file mode 100644 index 00000000000..50d46be5a02 --- /dev/null +++ b/docs/css/fonts.css @@ -0,0 +1,56 @@ + +/* roboto-mono-regular */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: regular; + src: url('//lib.baomitu.com/fonts/roboto-mono/roboto-mono-regular.eot'); /* IE9 Compat Modes */ + src: local('Roboto Mono'), local('RobotoMono-Normal'), + url('//lib.baomitu.com/fonts/roboto-mono/roboto-mono-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('//lib.baomitu.com/fonts/roboto-mono/roboto-mono-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('//lib.baomitu.com/fonts/roboto-mono/roboto-mono-regular.woff') format('woff'), /* Modern Browsers */ + url('//lib.baomitu.com/fonts/roboto-mono/roboto-mono-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('//lib.baomitu.com/fonts/roboto-mono/roboto-mono-regular.svg#RobotoMono') format('svg'); /* Legacy iOS */ +} + +/* source-sans-pro-300 */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-weight: 300; + src: url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-300.eot'); /* IE9 Compat Modes */ + src: local('Source Sans Pro'), local('SourceSans Pro-Normal'), + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-300.woff2') format('woff2'), /* Super Modern Browsers */ + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-300.woff') format('woff'), /* Modern Browsers */ + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-300.ttf') format('truetype'), /* Safari, Android, iOS */ + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-300.svg#SourceSans Pro') format('svg'); /* Legacy iOS */ +} + +/* source-sans-pro-regular */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-weight: regular; + src: url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-regular.eot'); /* IE9 Compat Modes */ + src: local('Source Sans Pro'), local('SourceSans Pro-Normal'), + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-regular.woff') format('woff'), /* Modern Browsers */ + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-regular.svg#SourceSans Pro') format('svg'); /* Legacy iOS */ +} + +/* source-sans-pro-600 */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-weight: 600; + src: url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-600.eot'); /* IE9 Compat Modes */ + src: local('Source Sans Pro'), local('SourceSans Pro-Normal'), + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-600.woff2') format('woff2'), /* Super Modern Browsers */ + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-600.woff') format('woff'), /* Modern Browsers */ + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-600.ttf') format('truetype'), /* Safari, Android, iOS */ + url('//lib.baomitu.com/fonts/source-sans-pro/source-sans-pro-600.svg#SourceSans Pro') format('svg'); /* Legacy iOS */ +} diff --git a/docs/css/pure.css b/docs/css/pure.css new file mode 100644 index 00000000000..956d01cb074 --- /dev/null +++ b/docs/css/pure.css @@ -0,0 +1 @@ +*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#000);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#000)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#000;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#000)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#000)}.app-nav li{display:inline-block;margin:0 1rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#000);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:300px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:0;left:0;text-align:center;transition:opacity .3s;width:284px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#000);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:300px;transition:left .25s ease}.markdown-section{margin:0 auto;max-width:80%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.warn{background:rgba(0,0,0,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(300px)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:284px;padding:10px}body.close .content{transform:translateX(300px)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#000);box-sizing:border-box;color:var(--theme-color,#000);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#000);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#000);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#000)} \ No newline at end of file diff --git a/docs/css/vue.css b/docs/css/vue.css new file mode 100644 index 00000000000..3193b8296b2 --- /dev/null +++ b/docs/css/vue.css @@ -0,0 +1 @@ +@import url("fonts.css");*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#42b983)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#42b983)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#42b983)}.app-nav li{display:inline-block;margin:0 1rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#42b983);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:300px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:0;left:0;text-align:center;transition:opacity .3s;width:284px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#42b983);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:300px;transition:left .25s ease}.markdown-section{margin:0 auto;max-width:80%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.warn{background:rgba(66,185,131,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(300px)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:284px;padding:10px}body.close .content{transform:translateX(300px)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#42b983);box-sizing:border-box;color:var(--theme-color,#42b983);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#42b983);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#42b983)}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 0}.sidebar ul li a{color:#505d6b;font-size:14px;font-weight:400;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{border-right:2px solid;color:var(--theme-color,#42b983);font-weight:600}.app-sub-sidebar li:before{content:"-";padding-right:4px;float:left}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{color:#2c3e50;font-weight:600}.markdown-section a{color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.75rem;margin:45px 0 .8rem}.markdown-section h3{font-size:1.5rem;margin:40px 0 .6rem}.markdown-section h4{font-size:1.25rem}.markdown-section h5{font-size:1rem}.markdown-section h6{color:#777;font-size:1rem}.markdown-section figure,.markdown-section p{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;word-spacing:.05rem}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section blockquote{border-left:4px solid var(--theme-color,#42b983);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code,.markdown-section output:after,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace}.markdown-section code,.markdown-section pre{background-color:#f8f8f8}.markdown-section output,.markdown-section pre{margin:1.2em 0;position:relative}.markdown-section output,.markdown-section pre>code{border-radius:2px;display:block}.markdown-section output:after,.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section>:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) code{font-size:.8rem}.markdown-section pre{padding:0 1.4rem;line-height:1.5rem;overflow:auto;word-wrap:normal}.markdown-section pre>code{color:#525252;font-size:.8rem;padding:2.2em 5px;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;white-space:inherit}.markdown-section output{padding:1.7rem 1.4rem;border:1px dotted #ccc}.markdown-section output>:first-child{margin-top:0}.markdown-section output>:last-child{margin-bottom:0}.markdown-section code:after,.markdown-section code:before,.markdown-section output:after,.markdown-section output:before{letter-spacing:.05rem}.markdown-section output:after,.markdown-section pre:after{color:#ccc;font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0;content:attr(data-lang)}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:var(--theme-color,#42b983)}.token.function,.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 2c240722508..363d0564362 100644 --- a/docs/index.html +++ b/docs/index.html @@ -11,10 +11,10 @@ - - - - + + + + Asset 1 \ No newline at end of file diff --git a/docs/charts/index.yaml b/docs/charts/index.yaml index 53ff538d860..a604de4e419 100644 --- a/docs/charts/index.yaml +++ b/docs/charts/index.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# apiVersion: v1 entries: apollo-portal: diff --git a/docs/css/buble.css b/docs/css/buble.css index 9145ac1bdb3..86c8786abf8 100644 --- a/docs/css/buble.css +++ b/docs/css/buble.css @@ -1 +1,17 @@ +/* + * Copyright 2021 Apollo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ @import url("fonts.css");*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#0074d9);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#0074d9)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#0074d9)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#0074d9)}.app-nav li{display:inline-block;margin:0 1rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#0074d9);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:16rem;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:0;left:0;text-align:center;transition:opacity .3s;width:0;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#0074d9);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:16rem;transition:left .25s ease}.markdown-section{margin:0 auto;max-width:80%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.warn{background:rgba(0,116,217,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-16rem)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-16rem;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(16rem)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:0;padding:10px}body.close .content{transform:translateX(16rem)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#0074d9);box-sizing:border-box;color:var(--theme-color,#0074d9);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#0074d9);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#0074d9);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#0074d9)}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;margin:0;padding:.2em 0}.sidebar ul li ul{padding:0}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{color:#333;font-weight:400}.markdown-section strong{color:#333;font-weight:600}.markdown-section a{color:var(--theme-color,#0074d9)}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;margin:0 0 1em;word-spacing:.05rem}.markdown-section h1{font-size:2rem;font-weight:500;margin:0 0 1rem}.markdown-section h2{font-size:1.8rem;font-weight:400;margin:0 0 1rem;padding:1rem 0 0}.markdown-section h3{font-size:1.5rem;margin:52px 0 1.2rem}.markdown-section h4{font-size:1.25rem}.markdown-section h5{font-size:1rem}.markdown-section h6{color:#777;font-size:1rem}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section li{line-height:1.5;margin:0}.markdown-section blockquote{border-left:4px solid var(--theme-color,#0074d9);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:3px;padding:.2em .4rem;white-space:nowrap}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;font-size:16px;margin:0 0 1em;padding:0 10px 12px 0;overflow:auto;word-wrap:normal;position:relative}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{background-color:#f8f8f8;border-radius:2px;display:block;font-family:Inconsolata;line-height:1.1rem;max-width:inherit;overflow:inherit;padding:20px .8em;position:relative;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto} \ No newline at end of file diff --git a/docs/css/dark.css b/docs/css/dark.css index c5c3c570f42..638d07f14b2 100644 --- a/docs/css/dark.css +++ b/docs/css/dark.css @@ -1 +1,17 @@ +/* + * Copyright 2021 Apollo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ @import url("fonts.css");*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#ea6f5a);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#ea6f5a)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#c8c8c8;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#ea6f5a)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#ea6f5a)}.app-nav li{display:inline-block;margin:0 1rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#3f3f3f;fill:var(--theme-color,#ea6f5a);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#c8c8c8}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:300px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:rgba(63,63,63,.8);border:0;outline:none;padding:10px;position:absolute;bottom:0;left:0;text-align:center;transition:opacity .3s;width:284px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#ea6f5a);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:300px;transition:left .25s ease}.markdown-section{margin:0 auto;max-width:80%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#3f3f3f;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#c8c8c8}.markdown-section p.warn{background:rgba(234,111,90,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(300px)}body.close .sidebar-toggle{background-color:rgba(63,63,63,.8);transition:background-color 1s;width:284px;padding:10px}body.close .content{transform:translateX(300px)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#3f3f3f;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#ea6f5a);box-sizing:border-box;color:var(--theme-color,#ea6f5a);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#ea6f5a);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#ea6f5a);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#ea6f5a)}.sidebar,body{background-color:#3f3f3f}.sidebar{color:#c8c8c8}.sidebar li{margin:6px 15px 6px 0}.sidebar ul li a{color:#c8c8c8;font-size:14px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:var(--theme-color,#ea6f5a);font-weight:600}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{color:#657b83;font-weight:600}.markdown-section a{color:var(--theme-color,#ea6f5a);font-weight:600}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.75rem;margin:45px 0 .8rem}.markdown-section h3{font-size:1.5rem;margin:40px 0 .6rem}.markdown-section h4{font-size:1.25rem}.markdown-section h5{font-size:1rem}.markdown-section h6{color:#777;font-size:1rem}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;word-spacing:.05rem}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section blockquote{border-left:4px solid var(--theme-color,#ea6f5a);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{background-color:#282828;border-radius:2px;color:#657b83;font-family:Roboto Mono,Monaco,courier,monospace;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section>:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) code{font-size:.8rem}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#282828;font-family:Roboto Mono,Monaco,courier,monospace;line-height:1.5rem;margin:1.2em 0;overflow:auto;padding:0 1.4rem;position:relative;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:var(--theme-color,#ea6f5a)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:var(--theme-color,#ea6f5a)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#282828;border-radius:2px;color:#657b83;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.8rem;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;padding:2.2em 5px;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto}pre:after{color:#ccc;content:attr(data-lang);font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0}.markdown-section p.tip{background-color:#282828;color:#657b83}input[type=search]{background:#4f4f4f;border-color:#4f4f4f;color:#c8c8c8} \ No newline at end of file diff --git a/docs/css/fonts.css b/docs/css/fonts.css index 50d46be5a02..16e8e7b33ed 100644 --- a/docs/css/fonts.css +++ b/docs/css/fonts.css @@ -1,3 +1,19 @@ +/* + * Copyright 2021 Apollo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ /* roboto-mono-regular */ @font-face { diff --git a/docs/css/pure.css b/docs/css/pure.css index 956d01cb074..5991bbc8806 100644 --- a/docs/css/pure.css +++ b/docs/css/pure.css @@ -1 +1,17 @@ +/* + * Copyright 2021 Apollo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ *{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#000);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#000)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#000;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#000)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#000)}.app-nav li{display:inline-block;margin:0 1rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#000);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:300px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:0;left:0;text-align:center;transition:opacity .3s;width:284px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#000);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:300px;transition:left .25s ease}.markdown-section{margin:0 auto;max-width:80%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.warn{background:rgba(0,0,0,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(300px)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:284px;padding:10px}body.close .content{transform:translateX(300px)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#000);box-sizing:border-box;color:var(--theme-color,#000);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#000);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#000);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#000)} \ No newline at end of file diff --git a/docs/css/vue.css b/docs/css/vue.css index 3193b8296b2..eff327a086a 100644 --- a/docs/css/vue.css +++ b/docs/css/vue.css @@ -1 +1,17 @@ +/* + * Copyright 2021 Apollo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ @import url("fonts.css");*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#42b983)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#42b983)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#42b983)}.app-nav li{display:inline-block;margin:0 1rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#42b983);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:300px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:0;left:0;text-align:center;transition:opacity .3s;width:284px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#42b983);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:300px;transition:left .25s ease}.markdown-section{margin:0 auto;max-width:80%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.warn{background:rgba(66,185,131,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(300px)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:284px;padding:10px}body.close .content{transform:translateX(300px)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#42b983);box-sizing:border-box;color:var(--theme-color,#42b983);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#42b983);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#42b983)}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 0}.sidebar ul li a{color:#505d6b;font-size:14px;font-weight:400;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{border-right:2px solid;color:var(--theme-color,#42b983);font-weight:600}.app-sub-sidebar li:before{content:"-";padding-right:4px;float:left}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{color:#2c3e50;font-weight:600}.markdown-section a{color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.75rem;margin:45px 0 .8rem}.markdown-section h3{font-size:1.5rem;margin:40px 0 .6rem}.markdown-section h4{font-size:1.25rem}.markdown-section h5{font-size:1rem}.markdown-section h6{color:#777;font-size:1rem}.markdown-section figure,.markdown-section p{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;word-spacing:.05rem}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section blockquote{border-left:4px solid var(--theme-color,#42b983);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code,.markdown-section output:after,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace}.markdown-section code,.markdown-section pre{background-color:#f8f8f8}.markdown-section output,.markdown-section pre{margin:1.2em 0;position:relative}.markdown-section output,.markdown-section pre>code{border-radius:2px;display:block}.markdown-section output:after,.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section>:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) code{font-size:.8rem}.markdown-section pre{padding:0 1.4rem;line-height:1.5rem;overflow:auto;word-wrap:normal}.markdown-section pre>code{color:#525252;font-size:.8rem;padding:2.2em 5px;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;white-space:inherit}.markdown-section output{padding:1.7rem 1.4rem;border:1px dotted #ccc}.markdown-section output>:first-child{margin-top:0}.markdown-section output>:last-child{margin-bottom:0}.markdown-section code:after,.markdown-section code:before,.markdown-section output:after,.markdown-section output:before{letter-spacing:.05rem}.markdown-section output:after,.markdown-section pre:after{color:#ccc;font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0;content:attr(data-lang)}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:var(--theme-color,#42b983)}.token.function,.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 363d0564362..2ab6f8aa35a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,3 +1,19 @@ + diff --git a/pom.xml b/pom.xml index 3f8d2181c6a..1dfd5e31fb1 100644 --- a/pom.xml +++ b/pom.xml @@ -1,4 +1,20 @@ + 4.0.0 @@ -30,8 +46,8 @@ - Travis CI - https://travis-ci.org/ctripcorp/apollo + GitHub Actions + https://github.com/ctripcorp/apollo/actions @@ -47,6 +63,7 @@ Ctrip, Inc. http://www.ctrip.com + Project Management Committee Member Developer @@ -70,6 +87,18 @@ Developer(Inactive) + + kezhenxu94 + https://github.com/kezhenxu94 + Zhenxu Ke + kezhenxu94 at apache.org + Tetrate.io + http://tetrate.io + + Project Management Committee Member + Developer + + diff --git a/scripts/apollo-on-kubernetes/alpine-bash-3.8-image/Dockerfile b/scripts/apollo-on-kubernetes/alpine-bash-3.8-image/Dockerfile index b1dc00dcee7..558f67548c4 100755 --- a/scripts/apollo-on-kubernetes/alpine-bash-3.8-image/Dockerfile +++ b/scripts/apollo-on-kubernetes/alpine-bash-3.8-image/Dockerfile @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# # Build with: # docker build -t alpine-bash:3.8 . diff --git a/scripts/apollo-on-kubernetes/apollo-admin-server/.dockerignore b/scripts/apollo-on-kubernetes/apollo-admin-server/.dockerignore index 799fbb3a7d8..59ef5ce44d8 100755 --- a/scripts/apollo-on-kubernetes/apollo-admin-server/.dockerignore +++ b/scripts/apollo-on-kubernetes/apollo-admin-server/.dockerignore @@ -1 +1,16 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ./Dockerfile* diff --git a/scripts/apollo-on-kubernetes/apollo-admin-server/Dockerfile b/scripts/apollo-on-kubernetes/apollo-admin-server/Dockerfile index a7235e13312..404a6db7d0b 100755 --- a/scripts/apollo-on-kubernetes/apollo-admin-server/Dockerfile +++ b/scripts/apollo-on-kubernetes/apollo-admin-server/Dockerfile @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# # Dockerfile for apollo-admin-server # Build with: diff --git a/scripts/apollo-on-kubernetes/apollo-admin-server/config/app.properties b/scripts/apollo-on-kubernetes/apollo-admin-server/config/app.properties index 8600faeb097..9446da15bf1 100755 --- a/scripts/apollo-on-kubernetes/apollo-admin-server/config/app.properties +++ b/scripts/apollo-on-kubernetes/apollo-admin-server/config/app.properties @@ -1,2 +1,17 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# appId=100003172 jdkVersion=1.8 diff --git a/scripts/apollo-on-kubernetes/apollo-admin-server/scripts/startup-kubernetes.sh b/scripts/apollo-on-kubernetes/apollo-admin-server/scripts/startup-kubernetes.sh index 858f0925a74..1d885309453 100755 --- a/scripts/apollo-on-kubernetes/apollo-admin-server/scripts/startup-kubernetes.sh +++ b/scripts/apollo-on-kubernetes/apollo-admin-server/scripts/startup-kubernetes.sh @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# SERVICE_NAME=apollo-adminservice ## Adjust log dir if necessary LOG_DIR=/opt/logs/apollo-admin-server diff --git a/scripts/apollo-on-kubernetes/apollo-config-server/.dockerignore b/scripts/apollo-on-kubernetes/apollo-config-server/.dockerignore index 799fbb3a7d8..59ef5ce44d8 100755 --- a/scripts/apollo-on-kubernetes/apollo-config-server/.dockerignore +++ b/scripts/apollo-on-kubernetes/apollo-config-server/.dockerignore @@ -1 +1,16 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ./Dockerfile* diff --git a/scripts/apollo-on-kubernetes/apollo-config-server/Dockerfile b/scripts/apollo-on-kubernetes/apollo-config-server/Dockerfile index bad9e1690af..f7d3c9167e1 100755 --- a/scripts/apollo-on-kubernetes/apollo-config-server/Dockerfile +++ b/scripts/apollo-on-kubernetes/apollo-config-server/Dockerfile @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# # Dockerfile for apollo-config-server # Build with: diff --git a/scripts/apollo-on-kubernetes/apollo-config-server/config/app.properties b/scripts/apollo-on-kubernetes/apollo-config-server/config/app.properties index e3def7c21e9..1fe563be047 100755 --- a/scripts/apollo-on-kubernetes/apollo-config-server/config/app.properties +++ b/scripts/apollo-on-kubernetes/apollo-config-server/config/app.properties @@ -1,2 +1,17 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# appId=100003171 jdkVersion=1.8 diff --git a/scripts/apollo-on-kubernetes/apollo-config-server/scripts/startup-kubernetes.sh b/scripts/apollo-on-kubernetes/apollo-config-server/scripts/startup-kubernetes.sh index 94accb4b771..c44174a3047 100755 --- a/scripts/apollo-on-kubernetes/apollo-config-server/scripts/startup-kubernetes.sh +++ b/scripts/apollo-on-kubernetes/apollo-config-server/scripts/startup-kubernetes.sh @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# SERVICE_NAME=apollo-configservice ## Adjust log dir if necessary LOG_DIR=/opt/logs/apollo-config-server diff --git a/scripts/apollo-on-kubernetes/apollo-portal-server/.dockerignore b/scripts/apollo-on-kubernetes/apollo-portal-server/.dockerignore index 62539ffcba5..bde57edf21d 100755 --- a/scripts/apollo-on-kubernetes/apollo-portal-server/.dockerignore +++ b/scripts/apollo-on-kubernetes/apollo-portal-server/.dockerignore @@ -1 +1,16 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ./Dockerfile* \ No newline at end of file diff --git a/scripts/apollo-on-kubernetes/apollo-portal-server/Dockerfile b/scripts/apollo-on-kubernetes/apollo-portal-server/Dockerfile index 6c3fbee3d61..992275ee867 100755 --- a/scripts/apollo-on-kubernetes/apollo-portal-server/Dockerfile +++ b/scripts/apollo-on-kubernetes/apollo-portal-server/Dockerfile @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# # Dockerfile for apollo-portal-server # Build with: diff --git a/scripts/apollo-on-kubernetes/apollo-portal-server/config/app.properties b/scripts/apollo-on-kubernetes/apollo-portal-server/config/app.properties index ba1a76d6123..9aedcb2f2fa 100755 --- a/scripts/apollo-on-kubernetes/apollo-portal-server/config/app.properties +++ b/scripts/apollo-on-kubernetes/apollo-portal-server/config/app.properties @@ -1,2 +1,17 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# appId=100003173 jdkVersion=1.8 diff --git a/scripts/apollo-on-kubernetes/apollo-portal-server/scripts/startup-kubernetes.sh b/scripts/apollo-on-kubernetes/apollo-portal-server/scripts/startup-kubernetes.sh index e32e5aae895..fc11c7cf520 100755 --- a/scripts/apollo-on-kubernetes/apollo-portal-server/scripts/startup-kubernetes.sh +++ b/scripts/apollo-on-kubernetes/apollo-portal-server/scripts/startup-kubernetes.sh @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# SERVICE_NAME=apollo-portal ## Adjust log dir if necessary LOG_DIR=/opt/logs/apollo-portal-server diff --git a/scripts/apollo-on-kubernetes/db/config-db-dev/apolloconfigdb.sql b/scripts/apollo-on-kubernetes/db/config-db-dev/apolloconfigdb.sql index 8aa1947949a..0cc08be7a95 100755 --- a/scripts/apollo-on-kubernetes/db/config-db-dev/apolloconfigdb.sql +++ b/scripts/apollo-on-kubernetes/db/config-db-dev/apolloconfigdb.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; diff --git a/scripts/apollo-on-kubernetes/db/config-db-prod/apolloconfigdb.sql b/scripts/apollo-on-kubernetes/db/config-db-prod/apolloconfigdb.sql index 01480c873ea..13b124a3f7b 100755 --- a/scripts/apollo-on-kubernetes/db/config-db-prod/apolloconfigdb.sql +++ b/scripts/apollo-on-kubernetes/db/config-db-prod/apolloconfigdb.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; diff --git a/scripts/apollo-on-kubernetes/db/config-db-test-alpha/apolloconfigdb.sql b/scripts/apollo-on-kubernetes/db/config-db-test-alpha/apolloconfigdb.sql index d15a8e70510..393515ad309 100755 --- a/scripts/apollo-on-kubernetes/db/config-db-test-alpha/apolloconfigdb.sql +++ b/scripts/apollo-on-kubernetes/db/config-db-test-alpha/apolloconfigdb.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; diff --git a/scripts/apollo-on-kubernetes/db/config-db-test-beta/apolloconfigdb.sql b/scripts/apollo-on-kubernetes/db/config-db-test-beta/apolloconfigdb.sql index a69a59c233b..511942320aa 100755 --- a/scripts/apollo-on-kubernetes/db/config-db-test-beta/apolloconfigdb.sql +++ b/scripts/apollo-on-kubernetes/db/config-db-test-beta/apolloconfigdb.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; diff --git a/scripts/apollo-on-kubernetes/db/portal-db/apolloportaldb.sql b/scripts/apollo-on-kubernetes/db/portal-db/apolloportaldb.sql index e1384b17b7c..1b912daf918 100755 --- a/scripts/apollo-on-kubernetes/db/portal-db/apolloportaldb.sql +++ b/scripts/apollo-on-kubernetes/db/portal-db/apolloportaldb.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-admin-server-dev.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-admin-server-dev.yaml index b6fc24cf774..a25d0ea40b7 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-admin-server-dev.yaml +++ b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-admin-server-dev.yaml @@ -1,4 +1,18 @@ - +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- # configmap for apollo-admin-server-dev kind: ConfigMap diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-config-server-dev.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-config-server-dev.yaml index 35632d30aa9..82f767b5232 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-config-server-dev.yaml +++ b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-config-server-dev.yaml @@ -1,4 +1,18 @@ - +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- # configmap for apollo-config-server-dev kind: ConfigMap diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-mysql-for-apollo-dev-env.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-mysql-for-apollo-dev-env.yaml index e2dd03e5b32..1878ddff0aa 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-mysql-for-apollo-dev-env.yaml +++ b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-mysql-for-apollo-dev-env.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- # 为外部 mysql 服务设置 service kind: Service diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-admin-server-prod.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-admin-server-prod.yaml index 58cd53f1f75..1fb96ef497e 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-admin-server-prod.yaml +++ b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-admin-server-prod.yaml @@ -1,4 +1,18 @@ - +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- # configmap for apollo-admin-server-prod kind: ConfigMap diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-config-server-prod.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-config-server-prod.yaml index 151e3444205..9604d946ef3 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-config-server-prod.yaml +++ b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-config-server-prod.yaml @@ -1,4 +1,18 @@ - +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- # configmap for apollo-config-server-prod kind: ConfigMap diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-mysql-for-apollo-prod-env.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-mysql-for-apollo-prod-env.yaml index 8b5b493d561..65c28013f4c 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-mysql-for-apollo-prod-env.yaml +++ b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-mysql-for-apollo-prod-env.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- kind: Service apiVersion: v1 diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-alpha/service-apollo-admin-server-test-alpha.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-alpha/service-apollo-admin-server-test-alpha.yaml index e5eec84d3cb..36bc3e5228f 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-alpha/service-apollo-admin-server-test-alpha.yaml +++ b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-alpha/service-apollo-admin-server-test-alpha.yaml @@ -1,4 +1,18 @@ - +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- # configmap for apollo-admin-server-test-alpha kind: ConfigMap diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-alpha/service-apollo-config-server-test-alpha.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-alpha/service-apollo-config-server-test-alpha.yaml index d9e4838c322..6b5271684f0 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-alpha/service-apollo-config-server-test-alpha.yaml +++ b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-alpha/service-apollo-config-server-test-alpha.yaml @@ -1,4 +1,18 @@ - +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- # configmap for apollo-config-server-test-alpha kind: ConfigMap diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-alpha/service-mysql-for-apollo-test-alpha-env.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-alpha/service-mysql-for-apollo-test-alpha-env.yaml index 812eebefb4b..ce9b8a33ebb 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-alpha/service-mysql-for-apollo-test-alpha-env.yaml +++ b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-alpha/service-mysql-for-apollo-test-alpha-env.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- kind: Service apiVersion: v1 diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-beta/service-apollo-admin-server-test-beta.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-beta/service-apollo-admin-server-test-beta.yaml index 75e0819dad9..fad657bf89f 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-beta/service-apollo-admin-server-test-beta.yaml +++ b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-beta/service-apollo-admin-server-test-beta.yaml @@ -1,4 +1,18 @@ - +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- # configmap for apollo-admin-server-test-beta kind: ConfigMap diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-beta/service-apollo-config-server-test-beta.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-beta/service-apollo-config-server-test-beta.yaml index ef9707c8f4f..27f5967226c 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-beta/service-apollo-config-server-test-beta.yaml +++ b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-beta/service-apollo-config-server-test-beta.yaml @@ -1,4 +1,18 @@ - +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- # configmap for apollo-config-server-test-beta kind: ConfigMap diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-beta/service-mysql-for-apollo-test-beta-env.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-beta/service-mysql-for-apollo-test-beta-env.yaml index 66b559575dc..c19f7eeebe9 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-beta/service-mysql-for-apollo-test-beta-env.yaml +++ b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-test-beta/service-mysql-for-apollo-test-beta-env.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- kind: Service apiVersion: v1 diff --git a/scripts/apollo-on-kubernetes/kubernetes/kubectl-apply.sh b/scripts/apollo-on-kubernetes/kubernetes/kubectl-apply.sh index 8952e57a5a2..0b0358406ce 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/kubectl-apply.sh +++ b/scripts/apollo-on-kubernetes/kubernetes/kubectl-apply.sh @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# # create namespace kubectl create namespace sre diff --git a/scripts/apollo-on-kubernetes/kubernetes/service-apollo-portal-server.yaml b/scripts/apollo-on-kubernetes/kubernetes/service-apollo-portal-server.yaml index 442b0ec9c80..151166f6278 100755 --- a/scripts/apollo-on-kubernetes/kubernetes/service-apollo-portal-server.yaml +++ b/scripts/apollo-on-kubernetes/kubernetes/service-apollo-portal-server.yaml @@ -1,4 +1,18 @@ - +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- # 为外部 mysql 服务设置 service kind: Service diff --git a/scripts/build.bat b/scripts/build.bat index b28dfcfe760..0c9427034ce 100644 --- a/scripts/build.bat +++ b/scripts/build.bat @@ -1,3 +1,18 @@ +rem +rem Copyright 2021 Apollo Authors +rem +rem Licensed under the Apache License, Version 2.0 (the "License"); +rem you may not use this file except in compliance with the License. +rem You may obtain a copy of the License at +rem +rem http://www.apache.org/licenses/LICENSE-2.0 +rem +rem Unless required by applicable law or agreed to in writing, software +rem distributed under the License is distributed on an "AS IS" BASIS, +rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +rem See the License for the specific language governing permissions and +rem limitations under the License. +rem @echo off rem apollo config db info diff --git a/scripts/build.sh b/scripts/build.sh index c4582eeeb7c..16eb4977c95 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,4 +1,19 @@ #!/bin/sh +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# # apollo config db info apollo_config_db_url='jdbc:mysql://fill-in-the-correct-server:3306/ApolloConfigDB?characterEncoding=utf8' diff --git a/scripts/docker-quick-start/docker-compose.yml b/scripts/docker-quick-start/docker-compose.yml index 4d8de1faddd..56833e48185 100644 --- a/scripts/docker-quick-start/docker-compose.yml +++ b/scripts/docker-quick-start/docker-compose.yml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# version: '2' services: diff --git a/scripts/docker-quick-start/sql/apolloconfigdb.sql b/scripts/docker-quick-start/sql/apolloconfigdb.sql index 2fc033c8aa4..1f1d1bdcea8 100644 --- a/scripts/docker-quick-start/sql/apolloconfigdb.sql +++ b/scripts/docker-quick-start/sql/apolloconfigdb.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; diff --git a/scripts/docker-quick-start/sql/apolloportaldb.sql b/scripts/docker-quick-start/sql/apolloportaldb.sql index 751455f591c..2c5d875c374 100644 --- a/scripts/docker-quick-start/sql/apolloportaldb.sql +++ b/scripts/docker-quick-start/sql/apolloportaldb.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; diff --git a/scripts/flyway/configdb/V1.0.0__initialization.sql b/scripts/flyway/configdb/V1.0.0__initialization.sql index cfdb846ad42..8b720701262 100644 --- a/scripts/flyway/configdb/V1.0.0__initialization.sql +++ b/scripts/flyway/configdb/V1.0.0__initialization.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; diff --git a/scripts/flyway/configdb/V1.1.0__accesskey.sql b/scripts/flyway/configdb/V1.1.0__accesskey.sql index 7db68f1f372..8abaec3c180 100644 --- a/scripts/flyway/configdb/V1.1.0__accesskey.sql +++ b/scripts/flyway/configdb/V1.1.0__accesskey.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # Dump of table accesskey # ------------------------------------------------------------ diff --git a/scripts/flyway/configdb/V1.1.1__extend_appId.sql b/scripts/flyway/configdb/V1.1.1__extend_appId.sql index fdd627dcdc3..42d1c5410b7 100644 --- a/scripts/flyway/configdb/V1.1.1__extend_appId.sql +++ b/scripts/flyway/configdb/V1.1.1__extend_appId.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo config db from v1.7.0 to v1.8.0 Use ApolloConfigDB; diff --git a/scripts/flyway/configdb/V1.1.2__extend_username.sql b/scripts/flyway/configdb/V1.1.2__extend_username.sql index 7e417aa6bba..fed54bb849a 100644 --- a/scripts/flyway/configdb/V1.1.2__extend_username.sql +++ b/scripts/flyway/configdb/V1.1.2__extend_username.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo config db from v1.7.0 to v1.8.0 Use ApolloConfigDB; diff --git a/scripts/flyway/flyway-configdb.properties b/scripts/flyway/flyway-configdb.properties index 1757fa6c603..c653a34cbd0 100644 --- a/scripts/flyway/flyway-configdb.properties +++ b/scripts/flyway/flyway-configdb.properties @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# flyway.user=root flyway.password=root flyway.schemas=ApolloConfigDB diff --git a/scripts/flyway/flyway-portaldb.properties b/scripts/flyway/flyway-portaldb.properties index 1c2f6411c90..5c6027a5dd2 100644 --- a/scripts/flyway/flyway-portaldb.properties +++ b/scripts/flyway/flyway-portaldb.properties @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# flyway.user=root flyway.password=root flyway.schemas=ApolloPortalDB diff --git a/scripts/flyway/portaldb/V1.0.0__initialization.sql b/scripts/flyway/portaldb/V1.0.0__initialization.sql index d53e2953bda..1a96ada411d 100644 --- a/scripts/flyway/portaldb/V1.0.0__initialization.sql +++ b/scripts/flyway/portaldb/V1.0.0__initialization.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; diff --git a/scripts/flyway/portaldb/V1.1.1__extend_appId.sql b/scripts/flyway/portaldb/V1.1.1__extend_appId.sql index e92c612781d..67b6a447d2f 100644 --- a/scripts/flyway/portaldb/V1.1.1__extend_appId.sql +++ b/scripts/flyway/portaldb/V1.1.1__extend_appId.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo portal db from v1.7.0 to v1.8.0 Use ApolloPortalDB; diff --git a/scripts/flyway/portaldb/V1.1.2__extend_username.sql b/scripts/flyway/portaldb/V1.1.2__extend_username.sql index 29b0e22b743..0ef0dd834f1 100644 --- a/scripts/flyway/portaldb/V1.1.2__extend_username.sql +++ b/scripts/flyway/portaldb/V1.1.2__extend_username.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo config db from v1.7.0 to v1.8.0 Use ApolloPortalDB; diff --git a/scripts/helm/apollo-portal/Chart.yaml b/scripts/helm/apollo-portal/Chart.yaml index e140d679149..008d87b1bb4 100644 --- a/scripts/helm/apollo-portal/Chart.yaml +++ b/scripts/helm/apollo-portal/Chart.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# apiVersion: v2 name: apollo-portal description: A Helm chart for Apollo Portal diff --git a/scripts/helm/apollo-portal/templates/deployment-portal.yaml b/scripts/helm/apollo-portal/templates/deployment-portal.yaml index e3c76cb4e1c..712b6811b01 100644 --- a/scripts/helm/apollo-portal/templates/deployment-portal.yaml +++ b/scripts/helm/apollo-portal/templates/deployment-portal.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- # configmap for apollo-portal kind: ConfigMap diff --git a/scripts/helm/apollo-portal/templates/ingress-portal.yaml b/scripts/helm/apollo-portal/templates/ingress-portal.yaml index 1d6a12714e3..91b400f8fad 100644 --- a/scripts/helm/apollo-portal/templates/ingress-portal.yaml +++ b/scripts/helm/apollo-portal/templates/ingress-portal.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# {{- if .Values.ingress.enabled -}} {{- $fullName := include "apollo.portal.fullName" . -}} {{- $svcPort := .Values.service.port -}} diff --git a/scripts/helm/apollo-portal/templates/service-portal.yaml b/scripts/helm/apollo-portal/templates/service-portal.yaml index 64b12105732..a22f66b17e0 100644 --- a/scripts/helm/apollo-portal/templates/service-portal.yaml +++ b/scripts/helm/apollo-portal/templates/service-portal.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# kind: Service apiVersion: v1 metadata: diff --git a/scripts/helm/apollo-portal/templates/service-portaldb.yaml b/scripts/helm/apollo-portal/templates/service-portaldb.yaml index e3a379b4b08..8f1cbd0575d 100644 --- a/scripts/helm/apollo-portal/templates/service-portaldb.yaml +++ b/scripts/helm/apollo-portal/templates/service-portaldb.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# {{- if .Values.portaldb.service.enabled -}} --- # service definition for mysql diff --git a/scripts/helm/apollo-portal/values.yaml b/scripts/helm/apollo-portal/values.yaml index a03c45ad2da..59ccab2231f 100644 --- a/scripts/helm/apollo-portal/values.yaml +++ b/scripts/helm/apollo-portal/values.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# name: apollo-portal fullNameOverride: "" replicaCount: 1 diff --git a/scripts/helm/apollo-service/Chart.yaml b/scripts/helm/apollo-service/Chart.yaml index ca2d4617304..948258a52c3 100644 --- a/scripts/helm/apollo-service/Chart.yaml +++ b/scripts/helm/apollo-service/Chart.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# apiVersion: v2 name: apollo-service description: A Helm chart for Apollo Config Service and Apollo Admin Service diff --git a/scripts/helm/apollo-service/templates/deployment-adminservice.yaml b/scripts/helm/apollo-service/templates/deployment-adminservice.yaml index 4e7defe07f5..281dabcc54d 100644 --- a/scripts/helm/apollo-service/templates/deployment-adminservice.yaml +++ b/scripts/helm/apollo-service/templates/deployment-adminservice.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- # configmap for apollo-adminservice kind: ConfigMap diff --git a/scripts/helm/apollo-service/templates/deployment-configservice.yaml b/scripts/helm/apollo-service/templates/deployment-configservice.yaml index 77a4e890a99..ecd05eab60a 100644 --- a/scripts/helm/apollo-service/templates/deployment-configservice.yaml +++ b/scripts/helm/apollo-service/templates/deployment-configservice.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --- # configmap for apollo-configservice kind: ConfigMap diff --git a/scripts/helm/apollo-service/templates/ingress-adminservice.yaml b/scripts/helm/apollo-service/templates/ingress-adminservice.yaml index a341c2be211..bb3297dfa8c 100644 --- a/scripts/helm/apollo-service/templates/ingress-adminservice.yaml +++ b/scripts/helm/apollo-service/templates/ingress-adminservice.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# {{- if .Values.adminService.ingress.enabled -}} {{- $fullName := include "apollo.adminService.fullName" . -}} {{- $svcPort := .Values.adminService.service.port -}} diff --git a/scripts/helm/apollo-service/templates/ingress-configservice.yaml b/scripts/helm/apollo-service/templates/ingress-configservice.yaml index b2e873a04f2..1d6699609a6 100644 --- a/scripts/helm/apollo-service/templates/ingress-configservice.yaml +++ b/scripts/helm/apollo-service/templates/ingress-configservice.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# {{- if .Values.configService.ingress.enabled -}} {{- $fullName := include "apollo.configService.fullName" . -}} {{- $svcPort := .Values.configService.service.port -}} diff --git a/scripts/helm/apollo-service/templates/service-adminservice.yaml b/scripts/helm/apollo-service/templates/service-adminservice.yaml index d89137ffa2b..b9b3af9b108 100644 --- a/scripts/helm/apollo-service/templates/service-adminservice.yaml +++ b/scripts/helm/apollo-service/templates/service-adminservice.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# kind: Service apiVersion: v1 metadata: diff --git a/scripts/helm/apollo-service/templates/service-configdb.yaml b/scripts/helm/apollo-service/templates/service-configdb.yaml index 485cf459bf9..3443599a092 100644 --- a/scripts/helm/apollo-service/templates/service-configdb.yaml +++ b/scripts/helm/apollo-service/templates/service-configdb.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# {{- if .Values.configdb.service.enabled -}} --- # service definition for mysql diff --git a/scripts/helm/apollo-service/templates/service-configservice.yaml b/scripts/helm/apollo-service/templates/service-configservice.yaml index 55eb22aed0f..0ceab16f42a 100644 --- a/scripts/helm/apollo-service/templates/service-configservice.yaml +++ b/scripts/helm/apollo-service/templates/service-configservice.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# kind: Service apiVersion: v1 metadata: diff --git a/scripts/helm/apollo-service/values.yaml b/scripts/helm/apollo-service/values.yaml index 745e83e9e4d..3648f8eeff8 100644 --- a/scripts/helm/apollo-service/values.yaml +++ b/scripts/helm/apollo-service/values.yaml @@ -1,3 +1,18 @@ +# +# Copyright 2021 Apollo Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# configdb: name: apollo-configdb # apolloconfigdb host diff --git a/scripts/sql/apolloconfigdb.sql b/scripts/sql/apolloconfigdb.sql index 28ff1ec9571..6fdd1783a26 100644 --- a/scripts/sql/apolloconfigdb.sql +++ b/scripts/sql/apolloconfigdb.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; diff --git a/scripts/sql/apolloportaldb.sql b/scripts/sql/apolloportaldb.sql index f75c08e0310..8567ad633f3 100644 --- a/scripts/sql/apolloportaldb.sql +++ b/scripts/sql/apolloportaldb.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; diff --git a/scripts/sql/delta/v040-v050/apolloconfigdb-v040-v050.sql b/scripts/sql/delta/v040-v050/apolloconfigdb-v040-v050.sql index 317c1367a8e..78d783d620a 100644 --- a/scripts/sql/delta/v040-v050/apolloconfigdb-v040-v050.sql +++ b/scripts/sql/delta/v040-v050/apolloconfigdb-v040-v050.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo config db from v0.4.0 to v0.5.0 Use ApolloConfigDB; diff --git a/scripts/sql/delta/v040-v050/apolloportaldb-v040-v050.sql b/scripts/sql/delta/v040-v050/apolloportaldb-v040-v050.sql index 1951f2792b3..1a89d6b2f5f 100644 --- a/scripts/sql/delta/v040-v050/apolloportaldb-v040-v050.sql +++ b/scripts/sql/delta/v040-v050/apolloportaldb-v040-v050.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo portal db from v0.4.0 to v0.5.0 Use ApolloPortalDB; diff --git a/scripts/sql/delta/v060-v062/apolloconfigdb-v060-v062.sql b/scripts/sql/delta/v060-v062/apolloconfigdb-v060-v062.sql index 5117f7b038f..06d19fe5c96 100644 --- a/scripts/sql/delta/v060-v062/apolloconfigdb-v060-v062.sql +++ b/scripts/sql/delta/v060-v062/apolloconfigdb-v060-v062.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo config db from v0.6.0 to v0.6.2 Use ApolloConfigDB; diff --git a/scripts/sql/delta/v060-v062/apolloportaldb-v060-v062.sql b/scripts/sql/delta/v060-v062/apolloportaldb-v060-v062.sql index cdf21251e7c..1619885fee2 100644 --- a/scripts/sql/delta/v060-v062/apolloportaldb-v060-v062.sql +++ b/scripts/sql/delta/v060-v062/apolloportaldb-v060-v062.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo portal db from v0.6.0 to v0.6.2 Use ApolloPortalDB; diff --git a/scripts/sql/delta/v080-v090/apolloportaldb-v080-v090.sql b/scripts/sql/delta/v080-v090/apolloportaldb-v080-v090.sql index d2afc5cf6d7..0da96856453 100644 --- a/scripts/sql/delta/v080-v090/apolloportaldb-v080-v090.sql +++ b/scripts/sql/delta/v080-v090/apolloportaldb-v080-v090.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo portal db from v0.8.0 to v0.9.0 Use ApolloPortalDB; diff --git a/scripts/sql/delta/v151-v160/apolloconfigdb-v151-v160.sql b/scripts/sql/delta/v151-v160/apolloconfigdb-v151-v160.sql index 91c2cac24e8..44cf92090e9 100644 --- a/scripts/sql/delta/v151-v160/apolloconfigdb-v151-v160.sql +++ b/scripts/sql/delta/v151-v160/apolloconfigdb-v151-v160.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo config db from v1.5.1 to v1.6.0 Use ApolloConfigDB; diff --git a/scripts/sql/delta/v170-v180/apolloconfigdb-v170-v180.sql b/scripts/sql/delta/v170-v180/apolloconfigdb-v170-v180.sql index fdd627dcdc3..42d1c5410b7 100644 --- a/scripts/sql/delta/v170-v180/apolloconfigdb-v170-v180.sql +++ b/scripts/sql/delta/v170-v180/apolloconfigdb-v170-v180.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo config db from v1.7.0 to v1.8.0 Use ApolloConfigDB; diff --git a/scripts/sql/delta/v170-v180/apolloportaldb-v170-v180.sql b/scripts/sql/delta/v170-v180/apolloportaldb-v170-v180.sql index e92c612781d..67b6a447d2f 100644 --- a/scripts/sql/delta/v170-v180/apolloportaldb-v170-v180.sql +++ b/scripts/sql/delta/v170-v180/apolloportaldb-v170-v180.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo portal db from v1.7.0 to v1.8.0 Use ApolloPortalDB; diff --git a/scripts/sql/delta/v180-v190/apolloconfigdb-v180-v190.sql b/scripts/sql/delta/v180-v190/apolloconfigdb-v180-v190.sql index 2d7aa990694..21e3da2edf0 100644 --- a/scripts/sql/delta/v180-v190/apolloconfigdb-v180-v190.sql +++ b/scripts/sql/delta/v180-v190/apolloconfigdb-v180-v190.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo config db from v1.8.0 to v1.9.0 Use ApolloConfigDB; diff --git a/scripts/sql/delta/v180-v190/apolloportaldb-v180-v190.sql b/scripts/sql/delta/v180-v190/apolloportaldb-v180-v190.sql index c0bb6f81b64..ea0a403bd0c 100644 --- a/scripts/sql/delta/v180-v190/apolloportaldb-v180-v190.sql +++ b/scripts/sql/delta/v180-v190/apolloportaldb-v180-v190.sql @@ -1,3 +1,18 @@ +-- +-- Copyright 2021 Apollo Authors +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- # delta schema to upgrade apollo portal db from v1.8.0 to v1.9.0 Use ApolloPortalDB; From adfabcd67ef4d5ee2cb0172f51d4f6a30340efa2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 May 2021 07:08:53 +0800 Subject: [PATCH 21/23] Bump xstream from 1.4.16 to 1.4.17 (#3692) Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.16 to 1.4.17. - [Release notes](https://github.com/x-stream/xstream/releases) - [Commits](https://github.com/x-stream/xstream/commits) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1dfd5e31fb1..b09df6fff22 100644 --- a/pom.xml +++ b/pom.xml @@ -326,7 +326,7 @@ com.thoughtworks.xstream xstream - 1.4.16 + 1.4.17 From 0fb159f5f28fa379351e978c7aba0ec3a00aa4e9 Mon Sep 17 00:00:00 2001 From: kl <632104866@QQ.com> Date: Thu, 20 May 2021 08:14:16 +0800 Subject: [PATCH 22/23] Improve the nacos registry configuration document (#3695) --- docs/zh/deployment/distributed-deployment-guide.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/zh/deployment/distributed-deployment-guide.md b/docs/zh/deployment/distributed-deployment-guide.md index 6f901b6cf55..69acff222e9 100644 --- a/docs/zh/deployment/distributed-deployment-guide.md +++ b/docs/zh/deployment/distributed-deployment-guide.md @@ -441,7 +441,15 @@ mvn clean package -Pgithub,nacos-discovery -DskipTests -pl apollo-configservice, 2. 分别修改apollo-configservice和apollo-adminservice安装包中config目录下的application-github.properties,配置nacos服务器地址 ```properties nacos.discovery.server-addr=127.0.0.1:8848 +# 更多 nacos 配置 +nacos.discovery.access-key= +nacos.discovery.username= +nacos.discovery.password= +nacos.discovery.secret-key= +nacos.discovery.namespace= +nacos.discovery.context-path= ``` + ##### 2.2.1.2.8 启用外部Consul服务注册中心替换内置eureka 1. 修改build.sh/build.bat,将config-service和admin-service的maven编译命令更改为 From f41a73b92d19383bbb542c51b0f6d062e9e80e3b Mon Sep 17 00:00:00 2001 From: Tboy Date: Fri, 21 May 2021 17:38:14 +0800 Subject: [PATCH 23/23] Remove redundant invoke of trySyncFromUpstream (#3698) (#3699) --- .../framework/apollo/internals/LocalFileConfigRepository.java | 1 - .../apollo/configservice/controller/ConfigController.java | 2 +- .../configservice/service/config/AbstractConfigService.java | 4 ++-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/LocalFileConfigRepository.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/LocalFileConfigRepository.java index bc674831470..b707a593ce7 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/LocalFileConfigRepository.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/LocalFileConfigRepository.java @@ -119,7 +119,6 @@ public void setUpstreamRepository(ConfigRepository upstreamConfigRepository) { m_upstream.removeChangeListener(this); } m_upstream = upstreamConfigRepository; - trySyncFromUpstream(); upstreamConfigRepository.addChangeListener(this); } diff --git a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/ConfigController.java b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/ConfigController.java index 8fc55086fad..7d3a0e2a88b 100755 --- a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/ConfigController.java +++ b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/ConfigController.java @@ -115,7 +115,7 @@ public ApolloConfig queryConfig(@PathVariable String appId, @PathVariable String if (!namespaceBelongsToAppId(appId, namespace)) { Release publicRelease = this.findPublicConfig(appId, clientIp, clusterName, namespace, dataCenter, clientMessages); - if (!Objects.isNull(publicRelease)) { + if (Objects.nonNull(publicRelease)) { releases.add(publicRelease); } } diff --git a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/service/config/AbstractConfigService.java b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/service/config/AbstractConfigService.java index f7301efc848..cbef4fc3a0a 100644 --- a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/service/config/AbstractConfigService.java +++ b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/service/config/AbstractConfigService.java @@ -41,7 +41,7 @@ public Release loadConfig(String clientAppId, String clientIp, String configAppI Release clusterRelease = findRelease(clientAppId, clientIp, configAppId, configClusterName, configNamespace, clientMessages); - if (!Objects.isNull(clusterRelease)) { + if (Objects.nonNull(clusterRelease)) { return clusterRelease; } } @@ -50,7 +50,7 @@ public Release loadConfig(String clientAppId, String clientIp, String configAppI if (!Strings.isNullOrEmpty(dataCenter) && !Objects.equals(dataCenter, configClusterName)) { Release dataCenterRelease = findRelease(clientAppId, clientIp, configAppId, dataCenter, configNamespace, clientMessages); - if (!Objects.isNull(dataCenterRelease)) { + if (Objects.nonNull(dataCenterRelease)) { return dataCenterRelease; } }