Re: [VOTE]Apache apisix-ingress-controller release version 1.8.1

2024-04-14 Thread wei jin
+1 (binding)

I checked:
1. Download links are OK.
2. Checksum is OK.
3. LICENSE and NOTICE files exist.
4. Successfully built in fedora.

Zeping Bai  于2024年4月14日周日 16:09写道:

> +1 (binding)
>
> I checked:
> 1. Download links are OK.
> 2. Checksum and signature are OK.
> 3. LICENSE and NOTICE files exist.
> 4. Building on Gitpod (Ubuntu 22.04) was successful.
>
> Ashish Tiwari  于2024年4月13日周六 13:44写道:
>
> > Hello, Community,
> > This is a call for the vote to release Apache APISIX Ingress
> > controller version 1.8.1.
> >
> > Release notes:
> >
> https://github.com/apache/apisix-ingress-controller/blob/v1.8.0/CHANGELOG.md#181
> >
> > The release candidates:
> >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.8.1/
> >
> > Release Commit ID:
> >
> >
> https://github.com/apache/apisix-ingress-controller/commit/4d42c9ae5b46fd77cfb9c653af3e8a36ba1983b4
> >
> > Keys to verify the Release Candidate:
> >
> > https://dist.apache.org/repos/dist/dev/apisix/KEYS
> >
> > Steps to validating the release:
> >
> > 1. Download the release: wget
> >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.8.1/apache-apisix-ingress-controller-1.8.1-src.tgz
> >
> > 2. Checksums and signatures
> >
> > wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> >
> > wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.8.1/apache-apisix-ingress-controller-1.8.1-src.tgz.asc
> >
> > wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.8.1/apache-apisix-ingress-controller-1.8.1-src.tgz.sha512
> >
> > gpg --import KEYS
> >
> > shasum -c apache-apisix-ingress-controller-1.8.1-src.tgz.sha512
> >
> > gpg --verify apache-apisix-ingress-controller-1.8.1-src.tgz.asc
> > apache-apisix-ingress-controller-1.8.1-src.tgz
> >
> > 3. Unzip and Check files
> >
> > mkdir -p apisix-ingress-controller && tar zxvf
> > apache-apisix-ingress-controller-1.8.1-src.tgz -C
> > ./apisix-ingress-controller && cd apisix-ingress-controller
> >
> > 4. Build
> >
> > Please refer to
> > https://apisix.apache.org/docs/ingress-controller/contribute/
> >
> > The vote will be open for at least 72 hours or until the necessary number
> > of
> > votes are reached.
> >
> > Please vote accordingly:
> >
> > [ ] +1 approve
> > [ ] +0 no opinion
> > [ ] -1 disapprove with the reason
> >
> > Thanks!
> >
> > - Ashish
> >
>
>
> --
> Best regards!
> Zeping Bai  @bzp2010
>


Re: [VOTE] Release Apache APISIX 3.8.0

2024-01-11 Thread wei jin
+1 (binding)

I checked:
1. Download links are OK.
2. Checksum is OK.
3. LICENSE and NOTICE files exist.

Xin Rong  于2024年1月9日周二 16:47写道:

> Hello, Community,
>
> This is a call for the vote to release Apache APISIX version
>
> Release notes:
>
> https://github.com/apache/apisix/blob/release/3.8/CHANGELOG.md#380
>
> The release candidates:
>
> https://dist.apache.org/repos/dist/dev/apisix/3.8.0/
>
> Release Commit ID:
>
> https://github.com/apache/apisix/commit/e01b7e43
>
> Keys to verify the Release Candidate:
>
> https://dist.apache.org/repos/dist/dev/apisix/KEYS
>
> Steps to validating the release:
>
> 1. Download the release
>
> wget
> https://dist.apache.org/repos/dist/dev/apisix/3.8.0/apache-apisix-3.8.0-src.tgz
>
> 2. Checksums and signatures
>
> wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
>
> wget
> https://dist.apache.org/repos/dist/dev/apisix/3.8.0/apache-apisix-3.8.0-src.tgz.asc
>
> wget
> https://dist.apache.org/repos/dist/dev/apisix/3.8.0/apache-apisix-3.8.0-src.tgz.sha512
>
> gpg --import KEYS
>
> shasum -c apache-apisix-3.8.0-src.tgz.sha512
>
> gpg --verify apache-apisix-3.8.0-src.tgz.asc apache-apisix-3.8.0-src.tgz
>
> 3. Unzip and Check files
>
> tar zxvf apache-apisix-3.8.0-src.tgz
>
> 4. Build Apache APISIX:
>
>
> https://github.com/apache/apisix/blob/release/3.8/docs/en/latest/building-apisix.md#building-apisix-from-source
>
> The vote will be open for at least 72 hours or until necessary number of
> votes are reached.
>
> Please vote accordingly:
>
> [ ] +1 approve
> [ ] +0 no opinion
> [ ] -1 disapprove with the reason
>


Re: [VOTE]Apache apisix-ingress-controller release version 1.7.1

2023-11-12 Thread wei jin
+1 (binding)

I checked:
1. All links are correct.
2. The checksum is correct.

soulbird  于2023年11月12日周日 20:27写道:

> I rolled back the KEYS file and now the verification passes.
>
> Zhiyuan Ju  于2023年11月12日周日 07:49写道:
> >
> > Any updates here??
> >
> > On Thu, Nov 9, 2023 at 11:01 AM Zhiyuan Ju  wrote:
> >
> > > Hi,
> > >
> > > I'm trying to verify this package in a fresh new Ubuntu server:
> > >
> > > 1. $ gpg --import KEYS
> > > 2. $ gpg --edit-key "XXX"
> > > 3. $ gpg --verify  apache-apisix-ingress-controller-1.7.1-src.tgz.asc
> > > apache-apisix-ingress-controller-1.7.1-src.tgz
> > >
> > > But it shows that "Can't check signature: No public key"
> > >
> > > root@docker-ubuntu-s-2vcpu-4gb-amd-sgp1-01:~/ingree# gpg --verify
> > >  apache-apisix-ingress-controller-1.7.1-src.tgz.asc
> > > apache-apisix-ingress-controller-1.7.1-src.tgz
> > > gpg: Signature made Thu Oct 26 01:14:07 2023 UTC
> > > gpg:using RSA key
> 82C3A59A7A10CEFC7A197EAD88CE9A021C141A8C
> > > gpg: Can't check signature: No public key
> > >
> > > Do I miss anything?
> > >
> > >
> > >
> > > On Mon, Nov 6, 2023 at 9:43 AM Ling Samuel 
> wrote:
> > >
> > >> Hello, Community,
> > >>
> > >> As a result of being asked to roll back version naming rules, some
> > >> of the GitHub links from the last vote email are not working anymore.
> > >> Therefore a new vote email is being sent.
> > >>
> > >> This is a call for the vote to release Apache APISIX Ingress
> > >> controller version 1.7.1
> > >>
> > >> Release notes:
> > >>
> > >>
> > >>
> https://github.com/apache/apisix-ingress-controller/blob/1.7.1/CHANGELOG.md#171
> > >>
> > >> The release candidates:
> > >>
> > >>
> > >>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.7.1/
> > >>
> > >> Git tag for the release:
> > >>
> > >> https://github.com/apache/apisix-ingress-controller/tree/1.7.1
> > >>
> > >> Release Commit ID:
> > >>
> > >>
> > >>
> https://github.com/apache/apisix-ingress-controller/commit/ceefeb1e2547100679556a1763d9820ec04f6381
> > >>
> > >> Keys to verify the Release Candidate:
> > >>
> > >> https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > >>
> > >> Steps to validating the release:
> > >>
> > >> 1. Download the release
> > >>
> > >> wget
> > >>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.7.1/apache-apisix-ingress-controller-1.7.1-src.tgz
> > >>
> > >>
> > >> 2. Checksums and signatures
> > >>
> > >> wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > >>
> > >> wget
> > >>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.7.1/apache-apisix-ingress-controller-1.7.1-src.tgz.asc
> > >>
> > >> wget
> > >>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.7.1/apache-apisix-ingress-controller-1.7.1-src.tgz.sha512
> > >>
> > >> gpg --import KEYS
> > >>
> > >> shasum -c apache-apisix-ingress-controller-1.7.1-src.tgz.sha512
> > >>
> > >> gpg --verify  apache-apisix-ingress-controller-1.7.1-src.tgz.asc
> > >> apache-apisix-ingress-controller-1.7.1-src.tgz
> > >>
> > >> 3. Unzip and Check files
> > >>
> > >> mkdir -p apisix-ingress-controller && tar zxvf
> > >> apache-apisix-ingress-controller-1.7.1-src.tgz -C
> > >> ./apisix-ingress-controller && cd apisix-ingress-controller
> > >>
> > >> 4. Build
> > >>
> > >> Please refer to
> > >> https://apisix.apache.org/docs/ingress-controller/contribute/
> > >>
> > >> The vote will be open for at least 72 hours or until the necessary
> number
> > >> of
> > >> votes are reached.
> > >>
> > >> Please vote accordingly:
> > >>
> > >> [ ] +1 approve
> > >> [ ] +0 no opinion
> > >> [ ] -1 disapprove with the reason
> > >>
> > >> Thanks!
> > >>
> > >>
> > >> -
> > >> Ling
> > >>
> > >
>
>
>
> --
> *Shirui Zhao*
> My GitHub: https://github.com/soulbird
>


Re: [VOTE] Release Apache APISIX 3.6.0

2023-10-03 Thread wei jin
+1 (binding)

I checked:
1. All links are correct.
2. The checksum is correct.

Nicolas Frankel  于2023年10月3日周二 22:08写道:

> +1 (binding)
>
> I checked:
> 1. All links are correct.
> 2. The checksum and signature are correct.
>
> Nicolas
>
> On Tue, Oct 3, 2023 at 1:42 PM Jintao Zhang 
> wrote:
>
> > +1 (binding)
> >
> > I checked:
> > 1. All links are correct.
> > 2. The checksum and signature are correct.
> >
> > On Sun, Oct 1, 2023 at 12:58 PM LI Fabrice 
> > wrote:
> > >
> > > +1 (non-binding)
> > >
> > > I checked:
> > > 1. All links are correct.
> > > 2. Checksum and signature are correct.
> > > 3. Build and Run on my MacBook Pro 2023 M2 successfully.
> > >
> > > My Best
> > > Yihao LI @fabriceli
> > >
> > > 
> > >
> > > 李奕浩
> > >
> > >
> > >
> > >
> > > 
> > > 发件人: Xin Rong 
> > > 发送时间: 2023年10月1日 6:10
> > > 收件人: dev@apisix.apache.org 
> > > 主题: [VOTE] Release Apache APISIX 3.6.0
> > >
> > > Hello, Community,
> > >
> > > This is a call for the vote to release Apache APISIX version
> > >
> > > Release notes:
> > >
> > > https://github.com/apache/apisix/blob/release/3.6/CHANGELOG.md#360
> > >
> > > The release candidates:
> > >
> > > https://dist.apache.org/repos/dist/dev/apisix/3.6.0/
> > >
> > > Release Commit ID:
> > >
> > > https://github.com/apache/apisix/commit/105993f4
> > >
> > > Keys to verify the Release Candidate:
> > >
> > > https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > >
> > > Steps to validating the release:
> > >
> > > 1. Download the release
> > >
> > > wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/3.6.0/apache-apisix-3.6.0-src.tgz
> > >
> > > 2. Checksums and signatures
> > >
> > > wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > >
> > > wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/3.6.0/apache-apisix-3.6.0-src.tgz.asc
> > >
> > > wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/3.6.0/apache-apisix-3.6.0-src.tgz.sha512
> > >
> > > gpg --import KEYS
> > >
> > > shasum -c apache-apisix-3.6.0-src.tgz.sha512
> > >
> > > gpg --verify apache-apisix-3.6.0-src.tgz.asc
> apache-apisix-3.6.0-src.tgz
> > >
> > > 3. Unzip and Check files
> > >
> > > tar zxvf apache-apisix-3.6.0-src.tgz
> > >
> > > 4. Build Apache APISIX:
> > >
> > >
> >
> https://github.com/apache/apisix/blob/release/3.6/docs/en/latest/building-apisix.md#building-apisix-from-source
> > >
> > > The vote will be open for at least 72 hours or until necessary number
> of
> > > votes are reached.
> > >
> > > Please vote accordingly:
> > >
> > > [ ] +1 approve
> > > [ ] +0 no opinion
> > > [ ] -1 disapprove with the reason
> >
>


Re: [VOTE] Release Apache APISIX 3.2.1

2023-05-30 Thread wei jin
+1 (binding)

I have checked
- Download links are correct
- Checksums are valid
- LICENSE and NOTICE files are correct


JunXu Chen  于2023年5月30日周二 21:52写道:

> +1 (binding)
>
> I checked:
> - Download links are valid
> - Checksums and PGP signatures are valid
> - LICENSE and NOTICE files are good
> - Build successfully on Ubuntu 20.04
>
>
> On Tue, 30 May 2023 at 21:51, Zhiyuan Ju  wrote:
>
> > Hi,
> >
> > +1 from me
> >
> > I have checked:
> >
> > 1. All links are correct.
> >
> > 2. Checksum and signature are correct.
> >
> > 3. LICENSE and NOTICE files exist.
> >
> > 4. No unexpected binary files.
> >
> >
> > Abhishek Choudhary  于2023年5月30日周二 16:50写道:
> >
> > > +1 (non-binding)
> > > 1. All links are correct.
> > > 2. Checksum and signature are correct.
> > > 3. LICENSE and NOTICE files exist.
> > >
> > > Regards,
> > > Abhishek Choudhary.
> > >
> > > On Sat, 27 May 2023 at 22:48, Leslie Tsang  wrote:
> > >
> > > > Hello, Community,
> > > >
> > > > This is a call for the vote to release Apache APISIX version
> > > >
> > > > Release notes:
> > > >
> > > > https://github.com/apache/apisix/blob/release/3.2/CHANGELOG.md#321
> > > >
> > > > The release candidates:
> > > >
> > > > https://dist.apache.org/repos/dist/dev/apisix/3.2.1/
> > > >
> > > > Release Commit ID:
> > > >
> > > > https://github.com/apache/apisix/commit/f81a386d
> > > >
> > > > Keys to verify the Release Candidate:
> > > >
> > > > https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > > >
> > > > Steps to validating the release:
> > > >
> > > > 1. Download the release
> > > >
> > > > wget
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/3.2.1/apache-apisix-3.2.1-src.tgz
> > > >
> > > > 2. Checksums and signatures
> > > >
> > > > wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > > >
> > > > wget
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/3.2.1/apache-apisix-3.2.1-src.tgz.asc
> > > >
> > > > wget
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/3.2.1/apache-apisix-3.2.1-src.tgz.sha512
> > > >
> > > > gpg --import KEYS
> > > >
> > > > shasum -c apache-apisix-3.2.1-src.tgz.sha512
> > > >
> > > > gpg --verify apache-apisix-3.2.1-src.tgz.asc
> > apache-apisix-3.2.1-src.tgz
> > > >
> > > > 3. Unzip and Check files
> > > >
> > > > tar zxvf apache-apisix-3.2.1-src.tgz
> > > >
> > > > 4. Build Apache APISIX:
> > > >
> > > >
> > > >
> > >
> >
> https://github.com/apache/apisix/blob/release/3.2/docs/en/latest/building-apisix.md#building-apisix-from-source
> > > >
> > > > The vote will be open for at least 72 hours or until necessary number
> > of
> > > > votes are reached.
> > > >
> > > > Please vote accordingly:
> > > >
> > > > [ ] +1 approve
> > > > [ ] +0 no opinion
> > > > [ ] -1 disapprove with the reason
> > > >
> > > >
> > > > Leslie Tsang
> > > > les...@apache.org
> > > >
> > > >
> > >
> >
>


Re: [Vote] A new subproject of the Apache APISIX for profiling

2022-08-02 Thread wei jin
+1 binding


Zexuan Luo  于2022年8月2日周二 13:56写道:

> +1 binding
>
> tzssangglass  于2022年8月2日周二 11:47写道:
> >
> > +1 binding
> >
> > *ZhengSong Tu*
> > My GitHub: https://github.com/tzssangglass
> > Apache APISIX: https://github.com/apache/apisix
> >
> >
> > 在 2022年8月1日 23:32:38 上,hui li  写道:
> >
> > > The current Apache APISIX Profile tool is based on systemtap, which can
> > > draw flame maps for Apache APISIX, but the original project is no
> longer
> > > continuously maintained, and Systemtap is not friendly to new versions
> of
> > > the kernel support, the tool is more complicated to use (you need to
> > > install systemtap, debug symbol, etc.)
> > >
> > > Currently we already have a prove-of-concept demo repo for this tool,
> which
> > > can be the initial content for this project in the future:
> > >
> > > https://github.com/yunwei37/nginx-lua-ebpf-toolkit
> > >
> > > This POC is written in C/C++ with libbpf, and can be used as a binary
> cmd
> > > tool run on any supported Kernel versions. More details about how it
> works
> > > can
> > > be found in this POC repo.
> > >
> > > Considering the functionality of the project, I think it is more
> > > appropriate to call the subproject 'apisix-profile'.
> > >
> > > Subroject Function List:
> > > 1. Use eBPF to capture and parse lua call stack information in Apache
> > > APISIX, summarize it and generate cpu flame graphs.
> > > 2. Use eBPF to capture and parse both C and Lua mixed call stack
> > > information, summarize it and generate cpu flame graph.
> > > 3. Support fetching Apache APISIX processes running in Docker
> > > 4. Support to get Apache APISIX Openresty luajit 32/luajit 64 mode
> > >
>


Re: [VOTE]Apache apisix-ingress-controller pre-release version 1.5.0-rc1

2022-08-02 Thread wei jin
+1 binding.

I have checked:
1. All the above links are valid
2. Checksum are correct
3. APISIX Ingress Controller can be built on Centos 7
4. LICENSE and NOTICE files exist

Chao Zhang  于2022年8月2日周二 13:54写道:

> +1 binding. I have checked:
>
> 1. All the above links are valid
> 2. Signature and checksum are correct
> 3. APISIX Ingress Controller can be built on my Mac and the version
> number is correct
> 4. LICENSE and NOTICE files exist
>
> Best regards
> Chao Zhang
>
> https://github.com/tokers
>
> On Mon, Aug 1, 2022 at 3:29 PM Jintao Zhang 
> wrote:
> >
> > Hello, Community,
> > This is a call for the vote to release Apache APISIX Ingress controller
> > version 1.5.0-rc1.
> >
> > Release notes:
> >
> >
> https://github.com/apache/apisix-ingress-controller/blob/v1.5.0/CHANGELOG.md#150-rc1
> >
> > The release candidates:
> >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.5.0-rc1/
> >
> > Git tag for the release:
> >
> > https://github.com/apache/apisix-ingress-controller/tree/1.5.0-rc1
> >
> > Release Commit ID:
> >
> >
> https://github.com/apache/apisix-ingress-controller/commit/0701f9507e9ea66b163447ee7b64580d60beeaf9
> >
> > Keys to verify the Release Candidate:
> >
> > https://dist.apache.org/repos/dist/dev/apisix/KEYS
> >
> > Steps to validating the release:
> >
> > 1. Download the release
> >
> > wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.5.0-rc1/apache-apisix-ingress-controller-1.5.0-rc1-src.tgz
> >
> >
> > 2. Checksums and signatures
> >
> > wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> >
> > wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.5.0-rc1/apache-apisix-ingress-controller-1.5.0-rc1-src.tgz.asc
> >
> > wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.5.0-rc1/apache-apisix-ingress-controller-1.5.0-rc1-src.tgz.sha512
> >
> > gpg --import KEYS
> >
> > shasum -c apache-apisix-ingress-controller-1.5.0-rc1-src.tgz.sha512
> >
> > gpg --verify  apache-apisix-ingress-controller-1.5.0-rc1-src.tgz.asc
> > apache-apisix-ingress-controller-1.5.0-rc1-src.tgz
> >
> > 3. Unzip and Check files
> >
> > mkdir -p apisix-ingress-controller && tar zxvf
> > apache-apisix-ingress-controller-1.5.0-rc1-src.tgz -C
> > ./apisix-ingress-controller && cd apisix-ingress-controller
> >
> > 4. Build
> >
> > Please refer to
> http://apisix.apache.org/docs/ingress-controller/development
> >
> > The vote will be open for at least 72 hours or until necessary number of
> > votes are reached.
> >
> > Please vote accordingly:
> >
> > [ ] +1 approve
> > [ ] +0 no opinion
> > [ ] -1 disapprove with the reason
> >
> > Thanks!
>


Re: 外部apisix 如何通过k8s实现自动发现

2022-06-04 Thread wei jin
Please take a look at this project
https://github.com/apache/apisix-ingress-controller, you can deploy Apache
APISIX outside the kubernetes cluster, just deploy
apisix-ingress-controller inside the kubernetes cluster.

 apisix-ingress-controller will watch the endpoints in k8s, and sync to
APISIX.

zhixiongdu027  于2022年6月2日周四 16:33写道:

> 你好:
>
> 如果 Kubernetes 服务发现模块运行在集群外,
> 你需要:
> 1.   获取到  APIServer 的 Host, Port  地址
>
> 2.   新建 一个  有 ListWatch  K8S Endpoints 的 ServiceAccount , 获取 其
> Token 值 .   获取 Token 值的方法在你发送的文档链接有提及
> 3.   按如下格式填充配置
>
> |discovery:kubernetes:service:schema:httpshost:# enter apiserver host
> value hereport:# enter apiServer port value hereclient:token:# enter
> serviceaccount token value here#token_file: # enter file path here|
>
> Copy
>
>
>  需要提醒你的是, 如果 apisix 运行在集群外部, 通过  discovery 获取到的
> pod ip  有可能无法访问 ( 视具体情况 )
>
>
> > 尊敬的apisix开发团队您好:
> >我通过apisix官网文档:
> https://apisix.apache.org/docs/apisix/discovery/kubernetes
> > 配置了外部独立的apisix 并希望通过此配置让外部独立的apisix能过直接list watch到kubernetes内部的entpoints
> 列表
> > 但是我根据文档配置完后发现一直在报错 报错如下:
> > 2022/06/02 15:53:40 [error] 29284#29284: *175 [lua]
> > informer_factory.lua:292: list failed, kind: Endpoints, reason: Bad
> > Request: missing required Host header, message : 400 Bad Request: missing
> > required Host header, context: ngx.timer
> > 希望得到您的帮助


Re: [VOTE] Release Apache APISIX 2.13.1

2022-04-15 Thread wei jin
+1 binding

I checked:
1. Download links are OK.
2. Checksum is OK.
3. LICENSE and NOTICE files exist.

YuanSheng Wang  于2022年4月15日周五 20:48写道:

> +1 (binding)
>
> Checked list:
>
> 1. Download links are valid.
> 2. Checksum and signature are OK.
> 3. LICENSE and NOTICE files exist.
>
>
> On Fri, Apr 15, 2022 at 8:06 PM shirui zhao  wrote:
>
> > +1 ( no opinion)
> >
> > I checked:
> > 1. Download links are OK.
> > 2. Checksum and signature are OK.
> > 3. LICENSE and NOTICE files exist.
> >
> >
> > > 2022年4月15日 下午7:10,tzssangglass  写道:
> > >
> > > Hello, Community,
> > >
> > > This is a call for the vote to release Apache APISIX version
> > >
> > > Release notes:
> > >
> > > https://github.com/apache/apisix/blob/release/2.13/CHANGELOG.md#2131
> > >
> > > The release candidates:
> > >
> > > https://dist.apache.org/repos/dist/dev/apisix/2.13.1/
> > >
> > > Release Commit ID:
> > >
> > > https://github.com/apache/apisix/commit/a2233678
> > >
> > > Keys to verify the Release Candidate:
> > >
> > > https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > >
> > > Steps to validating the release:
> > >
> > > 1. Download the release
> > >
> > > wget
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/2.13.1/apache-apisix-2.13.1-src.tgz
> > >
> > > 2. Checksums and signatures
> > >
> > > wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > >
> > > wget
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/2.13.1/apache-apisix-2.13.1-src.tgz.asc
> > >
> > > wget
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/2.13.1/apache-apisix-2.13.1-src.tgz.sha512
> > >
> > > gpg --import KEYS
> > >
> > > shasum -c apache-apisix-2.13.1-src.tgz.sha512
> > >
> > > gpg --verify apache-apisix-2.13.1-src.tgz.asc
> > apache-apisix-2.13.1-src.tgz
> > >
> > > 3. Unzip and Check files
> > >
> > > tar zxvf apache-apisix-2.13.1-src.tgz
> > >
> > > 4. Build Apache APISIX:
> > >
> > >
> >
> https://github.com/apache/apisix/blob/release/2.13/docs/en/latest/how-to-build.md#installation-via-source-release-package
> > >
> > > The vote will be open for at least 72 hours or until necessary number
> of
> > > votes are reached.
> > >
> > > Please vote accordingly:
> > >
> > > [ ] +1 approve
> > > [ ] +0 no opinion
> > > [ ] -1 disapprove with the reason
> > >
> > > *ZhengSong Tu*
> > > My GitHub: https://github.com/tzssangglass
> > > Apache APISIX: https://github.com/apache/apisix
> >
> >
>
> --
>
> *MembPhis*
> My GitHub: https://github.com/membphis
> Apache APISIX: https://github.com/apache/apisix
>


Re: Proposal: reduce connections between Manager API and etcd

2022-04-02 Thread wei jin
LGTM, Avoid etcd cluster with too many connections.

Qi Guo  于2022年4月2日周六 10:08写道:

> Agree +1
>
> Leslie Tsang  于2022年4月2日周六 09:54写道:
>
> > SGTM, This means that the etcd cluster can support more APISIX nodes than
> > ever before.
> >
> > Leslie Tsang
> > les...@apache.org
> >
> > > On 2 Apr 2022, at 9:51 AM, Wei Jiang  wrote:
> > >
> > > LGTM, Agree +1
> > >
> > >> 2022年4月2日 上午8:52,Baoyuan  写道:
> > >>
> > >> Hi, I agree with that.
> > >>
> > >> Chao Zhang  于2022年4月2日周六 07:56写道:
> > >>
> > >>> Hi,
> > >>>
> > >>> SGTM on my side.
> > >>>
> > >>> JunXu Chen 于2022年3月29日 周二10:48写道:
> > >>>
> >  # Background
> >  At present, the connection between the Manager API and etcd still
> > follows
> >  the habit of the etcd v2 version, creating a watch connection for
> each
> >  resource, which will generate a large number of connections.
> > 
> >  # Purpose
> >  Reduce connections between Manager API and etcd, to reduce the load
> on
> > >>> etcd
> >  services.
> > 
> >  # Proposal
> >  In the `Generic Store`, each resource still manages its own cache
> >  separately, but no longer connects directly to etcd. Added a unified
> > >>> method
> >  of listing full data and watching changes, and the obtained data is
> >  uniformly distributed to the Store instances of each resource.
> >  After optimization, the workflow of `Generic Store` initialization
> is
> > as
> >  follows:
> >  1. Create a resource prefix mapping table
> >  2. Initialize each resource Store object and register itself in the
> >  resource prefix mapping table
> >  3. Read the full amount of data, find the corresponding resource
> > >>> according
> >  to the key prefix, and distribute the data to the Store object of
> each
> >  resource
> >  4. Watch the etcd prefix configured in `conf.yaml`, when obtaining
> the
> >  changed data, find the corresponding resource according to the key
> > >>> prefix,
> >  and distribute the data to the Store object of the resource.
> > 
> >  # Further action
> >  Reduce connections between Apache APISIX and etcd (a new proposal is
> >  needed)
> > 
> >  I also drew a flow chart of the comparison before and after
> > optimization
> > >>> in
> >  the issue. Welcome to view it and discuss in the issue[1].
> > 
> >  Thanks!
> > 
> > 
> >  [1] https://github.com/apache/apisix-dashboard/issues/2396
> > 
> > >>> --
> > >>> Best regards
> > >>> Chao Zhang
> > >>>
> > >>> https://github.com/tokers
> > >>>
> > >
> >
> >
>


Re: [VOTE] Release Apache APISIX 2.10.5

2022-04-01 Thread wei jin
+1 binding

I checked:
1. Download links are OK.
2. Checksum are OK.
3. LICENSE and NOTICE files exist.
4. Building and Running in Centos7 successfully.

Wei Jiang  于2022年4月2日周六 09:43写道:

> +1 non-binding
>
> I have checked:
> 1. All links are valid.
> 2. Checksum and signature are OK.
> 3. LICENSE and NOTICE files exist.
>
> > 2022年4月2日 上午8:57,Baoyuan  写道:
> >
> > +1 non-binding
> >
> > I have checked:
> > 1. All links are valid.
> > 2. Checksum and signature are OK.
> > 3. LICENSE and NOTICE files exist.
> >
> > Ayush Das  于2022年4月1日周五 23:40写道:
> >
> >> +1 (non-binding)
> >>
> >>
> >> I have checked:
> >>
> >> 1. All download links are fine.
> >>
> >> 2. Checksum and signature are Fine.
> >>
> >> 3. LICENSE and NOTICE files exist.
> >>
> >> 4. build successfully in Ubuntu 20.04 and macos 12.3.
> >>
> >>
> >> Best regards
> >>
> >> https://github.com/iamayushdas
> >>
> >> On Thu, 31 Mar 2022 at 11:50 AM, Leslie Tsang 
> wrote:
> >>
> >>> Hello, Community,
> >>>
> >>> This is a call for the vote to release Apache APISIX version
> >>>
> >>> Release notes:
> >>>
> >>> https://github.com/apache/apisix/blob/release/2.10/CHANGELOG.md#2105
> >>>
> >>> The release candidates:
> >>>
> >>> https://dist.apache.org/repos/dist/dev/apisix/2.10.5/
> >>>
> >>> Release Commit ID:
> >>>
> >>>
> >>>
> >>
> https://github.com/apache/apisix/commit/51e75c0100a85d209bb328b40a78d35ee4abc78f
> >>>
> >>> Keys to verify the Release Candidate:
> >>>
> >>> https://dist.apache.org/repos/dist/dev/apisix/KEYS
> >>>
> >>> Steps to validating the release:
> >>>
> >>> 1. Download the release
> >>>
> >>> wget
> >>>
> >>
> https://dist.apache.org/repos/dist/dev/apisix/2.10.5/apache-apisix-2.10.5-src.tgz
> >>>
> >>> 2. Checksums and signatures
> >>>
> >>> wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> >>>
> >>> wget
> >>>
> >>
> https://dist.apache.org/repos/dist/dev/apisix/2.10.5/apache-apisix-2.10.5-src.tgz.asc
> >>>
> >>> wget
> >>>
> >>
> https://dist.apache.org/repos/dist/dev/apisix/2.10.5/apache-apisix-2.10.5-src.tgz.sha512
> >>>
> >>> gpg --import KEYS
> >>>
> >>> shasum -c apache-apisix-2.10.5-src.tgz.sha512
> >>>
> >>> gpg --verify apache-apisix-2.10.5-src.tgz.asc
> >> apache-apisix-2.10.5-src.tgz
> >>>
> >>> 3. Unzip and Check files
> >>>
> >>> tar zxvf apache-apisix-2.10.5-src.tgz
> >>>
> >>> 4. Build Apache APISIX:
> >>>
> >>>
> >>>
> >>
> https://github.com/apache/apisix/blob/release/2.10/docs/en/latest/how-to-build.md#installation-via-source-release-package
> >>>
> >>> The vote will be open for at least 72 hours or until necessary number
> of
> >>> votes are reached.
> >>>
> >>> Please vote accordingly:
> >>>
> >>> [ ] +1 approve
> >>> [ ] +0 no opinion
> >>> [ ] -1 disapprove with the reason
> >>>
> >>>
> >>> Leslie Tsang
> >>> les...@apache.org
> >>>
> >>> --
> >> Best Regards
> >> Ayush Das
> >> https://github.com/iamayushdas
> >>
>
>


Re: Proposal: support external name service

2022-03-23 Thread wei jin
But I think APISIX need to do something to avoid proxying traffic to itself.

Jintao Zhang  于2022年3月22日周二 20:29写道:

> Yes, this is something we need to fully consider.
> I was exposed to this type of vulnerability in Kubernetes ingress-nginx
> last year.
>
> Chao Zhang  于2022年3月22日周二 11:41写道:
>
> > Hi Community,
> >
> > What I care about is if this will cause some security vulnerabilities
> such
> > as:
> >
> > I just write 127.0.0.1:9090 (APISIX Control API Address) in the
> > ExternalName service, and the privacy data of APISIX will be exposed.
> >
> > If we really want to implement this feature, security is the most
> important
> > step.
> >
> > Chao Zhang
> > https://github.com/tokers
> >
> > On March 21, 2022 at 09:34:21, Jintao Zhang (zhangjin...@apache.org)
> > wrote:
> >
> > I have seen some voices in the community, hoping that APISIX Ingress can
> > proxy external services e.g: [1], [2]
> >
> > For these two types of requirements, it is a relatively simple
> requirement
> > for [1], we only need to add the corresponding External name type service
> > to complete.
> >
> > But for [2], I found a very interesting situation. No other Ingress
> > controller implements similar functionality yet, and I think this would
> be
> > a huge feature.
> >
> > APISIX actually supports setting the domain name to nodes in the
> upstream.
> > But APISIX Ingress is not yet supported.
> >
> > To achieve the above function, we can set a special resolveGranularity to
> > directly convert the record of external name to Node.
> >
> > To achieve the above function, we can set a special resolveGranularity to
> > directly convert the record of external name to Node.
> >
> >
> > WDYT?
> >
> >
> > [1]: [
> >
> >
> https://github.com/apache/apisix-ingress-controller/issues/813](https://github.com/apache/apisix-ingress-controller/issues/813)
> >
> > [2]: [
> >
> >
> https://github.com/apache/apisix-ingress-controller/issues/645](https://github.com/apache/apisix-ingress-controller/issues/645)
> >
>


Re: Proposal: support external name service

2022-03-21 Thread wei jin
>GCP is also actively developing managed istio control plane called traffic
director, it can be deployed anywhere and utilise envoy or any xDS v3
compatible data plane to satisfy the requirement we have.
Ambassador also has a native CRD resoruce mapping to define your service
with external url directly
https://www.getambassador.io/docs/edge-stack/latest/topics/using/intro-mappings/#introduction-to-the-mapping-resource,
the missing part if active health check no sure if it’s supported or not .
https://github.com/emissary-ingress/emissary/issues/3761
Gloo Edge also supports native CRD to configure multi url with active
health check and upstream node name passing feature we needed, example
config could be found here
https://gist.github.com/elvis-cai/d6978b1113edb10359da1358146f61aa.

Yes, The idea is generally the same, I think supporting the feature in
`ApisixUpstream` resource as a native CRD is a good idea.

Elvis Cai  于2022年3月21日周一 20:01写道:

> +1, multi external url support with active health check and upstream node
> pass is the major block before we rollout Apisix ingress controller in all
> of our kubernetes clusters.
> It’s quite common for an organisation to expose services internally or
> externally in hybrid environment without the boundaries of kubernetes
> cluster concept, you can easily have your apps running in serverless
> platform, kubernetes cluster in cloud and in bare metal server on your
> on-premise data center.
>
> GCP is also actively developing managed istio control plane called traffic
> director, it can be deployed anywhere and utilise envoy or any xDS v3
> compatible data plane to satisfy the requirement we have.
> Ambassador also has a native CRD resoruce mapping to define your service
> with external url directly
> https://www.getambassador.io/docs/edge-stack/latest/topics/using/intro-mappings/#introduction-to-the-mapping-resource,
> the missing part if active health check no sure if it’s supported or not .
> https://github.com/emissary-ingress/emissary/issues/3761
> Gloo Edge also supports native CRD to configure multi url with active
> health check and upstream node name passing feature we needed, example
> config could be found here
> https://gist.github.com/elvis-cai/d6978b1113edb10359da1358146f61aa.
>
>
>
> On 2022/03/21 01:34:06 Jintao Zhang wrote:
> > I have seen some voices in the community, hoping that APISIX Ingress can
> > proxy external services e.g: [1], [2]
> >
> > For these two types of requirements, it is a relatively simple
> requirement
> > for [1], we only need to add the corresponding External name type service
> > to complete.
> >
> > But for [2], I found a very interesting situation. No other Ingress
> > controller implements similar functionality yet, and I think this would
> be
> > a huge feature.
> >
> > APISIX actually supports setting the domain name to nodes in the
> upstream.
> > But APISIX Ingress is not yet supported.
> >
> > To achieve the above function, we can set a special resolveGranularity to
> > directly convert the record of external name to Node.
> >
> > To achieve the above function, we can set a special resolveGranularity to
> > directly convert the record of external name to Node.
> >
> >
> > WDYT?
> >
> >
> > [1]: [
> >
> https://github.com/apache/apisix-ingress-controller/issues/813](https://github.com/apache/apisix-ingress-controller/issues/813)
> >
> > [2]: [
> >
> https://github.com/apache/apisix-ingress-controller/issues/645](https://github.com/apache/apisix-ingress-controller/issues/645)
> >


Re: Proposal: support external name service

2022-03-21 Thread wei jin
> Does the implementation of this feature need to update APISIX?

No, do not need to update APISIX.

I think the feature is useful,
If we can configure `external name type service` in ApisixUpstream resource
as a node of upstream object in APISIX,we can use `health check`
feature between external services.

Jintao Zhang  于2022年3月21日周一 09:35写道:

> I have seen some voices in the community, hoping that APISIX Ingress can
> proxy external services e.g: [1], [2]
>
> For these two types of requirements, it is a relatively simple requirement
> for [1], we only need to add the corresponding External name type service
> to complete.
>
> But for [2], I found a very interesting situation. No other Ingress
> controller implements similar functionality yet, and I think this would be
> a huge feature.
>
> APISIX actually supports setting the domain name to nodes in the upstream.
> But APISIX Ingress is not yet supported.
>
> To achieve the above function, we can set a special resolveGranularity to
> directly convert the record of external name to Node.
>
> To achieve the above function, we can set a special resolveGranularity to
> directly convert the record of external name to Node.
>
>
> WDYT?
>
>
> [1]: [
>
> https://github.com/apache/apisix-ingress-controller/issues/813](https://github.com/apache/apisix-ingress-controller/issues/813)
>
> [2]: [
>
> https://github.com/apache/apisix-ingress-controller/issues/645](https://github.com/apache/apisix-ingress-controller/issues/645)
>


Re: [DISCUSS] Apache APISIX Summit Asia 2022 (Virtual)

2022-03-06 Thread wei jin
Look forward~

Tabah Baridule  于2022年3月7日周一 13:53写道:

> This is great!
>
> Looking at shifting the attention on APACHE APISIX to other parts of the
> world, getting folks from other regions to get in involved.
>
> This is a great step towards adoption.
>
> On Mon, Mar 7, 2022 at 3:09 AM Ming Wen  wrote:
>
> > It depends on how many people are willing to share. I hope it's about 10
> > topics.
> >
> > Thanks,
> > Ming Wen, Apache APISIX PMC Chair
> > Twitter: _WenMing
> >
> >
> > Chao Zhang  于2022年3月7日周一 09:54写道:
> >
> > > Hi,
> > >
> > > Sounds good, it would be the first summit for Apache APISIX. What's
> > > the preliminarily estimated scale? Such as the number sessions/quick
> > > talks?
> > >
> > > Best regards
> > > Chao Zhang
> > >
> > > https://github.com/tokers
> > >
> > > On Mon, Mar 7, 2022 at 9:37 AM Ming Wen  wrote:
> > > >
> > > > hello, community,
> > > >
> > > > Apache APISIX has been used by a lot of users around the world, I
> > > think
> > > > it is time to hold a summit to let users share technology and user
> > > stories.
> > > > Due to the Covid-19 pandemic, the conference is virtual.
> > > >
> > > > What do you think? Feedback is welcome.
> > > >
> > > > Thanks,
> > > > Ming Wen, Apache APISIX PMC Chair
> > > > Twitter: _WenMing
> > >
> >
>


Re: [VOTE]Apache apisix-ingress-controller GA version 1.4.0

2021-12-31 Thread wei jin
+1 binding

I have checked:

- All links are valid
- LICENSE and NOTICE files exist
- The Signature is good, the checksum is correct
- Build successfully on mac
- Version and commit_id are correct

Jintao Zhang  于2021年12月31日周五 14:00写道:

> Thanks for your suggestion.
>
> Tsangleslie  于2021年12月31日周五 11:59写道:
>
> > BTW, step 3 should add `\` to avoid line breaks
> > Like this:
> >
> > mkdir -p apisix-ingress-controller && tar zxvf \
> > apache-apisix-ingress-controller-1.4.0-src.tgz -C \
> > ./apisix-ingress-controller && cd apisix-ingress-controller
> >
> > Leslie Tsang
> > leslie.ts...@icloud.com
> >
> >
> >
> > > On 30 Dec 2021, at 12:22 AM, Jintao Zhang 
> > wrote:
> > >
> > > Hello, Community,
> > > This is a call for the vote to release Apache APISIX Ingress controller
> > > version 1.4.0.
> > >
> > > Release notes:
> > >
> > >
> >
> https://github.com/apache/apisix-ingress-controller/blob/v1.4.0/CHANGELOG.md#140
> > >
> > > The release candidates:
> > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.4.0/
> > >
> > > Git tag for the release:
> > >
> > > https://github.com/apache/apisix-ingress-controller/tree/v1.4.0
> > >
> > > Release Commit ID:
> > >
> > >
> >
> https://github.com/apache/apisix-ingress-controller/commit/b7dd90ad9d6a5102fe67c91c29ab76fc4bad4b1a
> > >
> > > Keys to verify the Release Candidate:
> > >
> > > https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > >
> > > Steps to validating the release:
> > >
> > > 1. Download the release
> > >
> > > wget
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.4.0/apache-apisix-ingress-controller-1.4.0-src.tgz
> > >
> > >
> > > 2. Checksums and signatures
> > >
> > > wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > >
> > > wget
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.4.0/apache-apisix-ingress-controller-1.4.0-src.tgz.asc
> > >
> > > wget
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.4.0/apache-apisix-ingress-controller-1.4.0-src.tgz.sha512
> > >
> > > gpg --import KEYS
> > >
> > > shasum -c apache-apisix-ingress-controller-1.4.0-src.tgz.sha512
> > >
> > > gpg --verify
> > > apache-apisix-ingress-controller-1.4.0-src.tgz.asc
> > > apache-apisix-ingress-controller-1.4.0-src.tgz
> > >
> > > 3. Unzip and Check files
> > >
> > > mkdir -p apisix-ingress-controller && tar zxvf
> > > apache-apisix-ingress-controller-1.4.0-src.tgz -C
> > > ./apisix-ingress-controller && cd apisix-ingress-controller
> > >
> > > 4. Build
> > >
> > > Please refer to
> > http://apisix.apache.org/docs/ingress-controller/development
> > > .
> > >
> > > The vote will be open for at least 72 hours or until necessary number
> of
> > > votes are reached.
> > >
> > > Please vote accordingly:
> > >
> > > [ ] +1 approve
> > > [ ] +0 no opinion
> > > [ ] -1 disapprove with the reason
> > >
> > > Thanks!
> >
> >
>


Re: [Proposal] Add tool to convert APISIX routes into APISIX Ingress CRD resources

2021-12-27 Thread wei jin
This is a good idea, but there is also a lot of work. I hope that
interested friends can work together to complete it.

Chao Zhang  于2021年12月28日周二 12:04写道:

> With the help of this tool, we can also optimize the config snippet in the
> document, i.e. providing different configuration types (Restful,
> Declarative Configurations)
>
> Chao Zhang
> https://github.com/tokers
>
> On December 28, 2021 at 11:51:28, Jintao Zhang (zhangjintao9...@gmail.com)
> wrote:
>
> HI, folks
>
> Consider the following scenario:
>
> Current users are already using Apache APISIX as the Gateway.
>
> With the popularity of Cloud Native, users want to migrate to the
> Kubernetes environment.
> The best way to use Apache APISIX in a Kubernetes environment is to use the
> APISIX Ingress controller.
>
> Users need to be migrated. If we can provide a tool to convert existing
> resources such as routes/upstreams in Apache APISIX into custom resources
> of APISIX Ingress controller, it will be very convenient.
>
>
> At present, we have implemented the APISIX client in the APISIX Ingress
> controller, as well as the definition of its resource structure[1]
>
> And the data structure of the custom resource in the APISIX Ingress
> controller[2]
>
> So this tool only needs:
>
> Initialize APISIX client -> Fetch routes/upstreams resources -> Structure
> translation[3] -> Output manifest file
>
>
>
>
>
> [1]:
>
> https://github.com/apache/apisix-ingress-controller/blob/master/pkg/types/apisix/v1/types.go
> [2]:
>
> https://github.com/apache/apisix-ingress-controller/blob/master/pkg/kube/apisix/apis/config/v2beta3/types.go
> [3]:
>
> https://github.com/apache/apisix-ingress-controller/tree/master/pkg/kube/translation
>
>
> ---
> Best,
> Jintao Zhang
>


Re: [DISCUSS] add WAF plugin for log4j2

2021-12-16 Thread wei jin
I think WAF is more complicated, and we can solve some of the WAF problems
through regularization.
Here is an issue about this. https://github.com/apache/apisix/issues/5780

Zhiyuan Ju  于2021年12月17日周五 10:50写道:

> Hi,
>
> > Apache APISIX can add a general WAF plug-in to solve similar security
> problems
> I support adding Security Plugins to prevent common vulnerabilities, then
> fulfill the Gateway abilities.
>
> BTW, for the specific log4j2 issue, we should also pay attention to more
> encode algorithms, e.g Hex, Unicode. Because if we use some keywords like
> `${` to check requests, if the hacker converts it to `"\x24\u007b"`, it may
> bypass the WAF check :)
>
> Best Regards!
> @ Zhiyuan Ju 
>
>
> Ming Wen  于2021年12月17日周五 09:52写道:
>
> > hello, community,
> > Apache APISIX does not yet have a WAF plug-in, so when encountering a
> > security vulnerability in log4j2, users of Apache APISIX need to write
> > their own plug-ins.
> >
> > In my opinion, Apache APISIX can add a general WAF plug-in to solve
> > similar security problems. We can deal with HTTP header, URI args,
> request
> > body (this needs to be cautious and affect performance).
> >
> > What do you think?
> >
> > Thanks,
> > Ming Wen, Apache APISIX PMC Chair
> > Twitter: _WenMing
> >
>


Re: [Proposal] support annotation to enable websocket

2021-12-08 Thread wei jin
If you want `apisix-ingress-controller` to support the websocket definition
with k8s ingress resource, I think the proposal is good, and you are
welcome to add this function to `apisix-ingress-controller`.

But I still hope you can directly use `ApisixRoute` CRD to configure, after
all, the implementation mechanism of APISIX is still very different from
Nginx.

lxm  于2021年12月7日周二 15:11写道:

> Or how about enable websocket for all paths by default like
> nginx-ingress-controller
>
> --
> Sent from Canary (https://canarymail.io)
>
> > On 星期四, 12月 02, 2021 at 2:48 下午, lxm lxm  lxm.x...@gmail.com)> wrote:
> > use the websocket through ingress.
> >
> > currently, websocket is disabled by default.
> > Chao Zhang mailto:tok...@apache.org)> 于2021年12月2日周四
> 上午9:49写道:
> > > Hi,
> > >
> > > In which way you want to use the web socket, through Ingress or
> ApisixRoute? If it’s the latter, we have a field to enable it, see
> https://apisix.apache.org/docs/ingress-controller/concepts/apisix_route/#websocket-proxy
> for details.
> > >
> > >
> > > On December 1, 2021 at 20:09:17, lxm lxm (lxm.x...@gmail.com (mailto:
> lxm.x...@gmail.com)) wrote:
> > >
> > > > hi,community
> > > >
> > > > currently, apisix ingress controller disabled websocket support for
> all
> > > > paths, how about add an annotation to enable websocket support
>


Re: [VOTE]Apache apisix-ingress-controller GA version 1.3.0

2021-10-15 Thread wei jin
+1 binding

I have checked:
1. All the above links are valid;
2. Checksum is good;
3. LICENSE and NOTICE files exist;
4. Build successfully on centos7;

Bozhong Yu  于2021年10月15日周五 下午2:57写道:

> +1 binding
>
> I have checked:
> 1. All the above links are valid;
> 2. Both the checksum and signature are good;
> 3. LICENSE and NOTICE files exist;
> 4.Version info printed from the command `./apisix-ingress-controller
> --version` is OK;
> 5. Build successfully on macOS Big Sur 11.6
>
> Chao Zhang  于2021年10月15日周五 上午10:14写道:
>
> > +1 binding from me, I have checked:
> >
> > 1. All download links are valid;
> > 2. Checksum and signature are valid;
> > 3. It can be built successfully on my Fedora34;
> > 4. Version info printed from the command `./apisix-ingress-controller
> > --version` is OK;
> > 5. LICENSE and NOTICE files exist and valid;
> >
> > Best regards
> > Chao Zhang
> >
> > https://github.com/tokers
> >
> > On Thu, Oct 14, 2021 at 1:56 AM Jintao Zhang 
> > wrote:
> > >
> > > Hello, Community,
> > > This is a call for the vote to release Apache APISIX Ingress controller
> > > version 1.2.0.
> > >
> > > Release notes:
> > >
> > >
> >
> https://github.com/apache/apisix-ingress-controller/blob/v1.3.0/CHANGELOG.md#130
> > >
> > > The release candidates:
> > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.3.0/
> > >
> > > Git tag for the release:
> > >
> > > https://github.com/apache/apisix-ingress-controller/tree/v1.3.0
> > >
> > > Release Commit ID:
> > >
> > >
> >
> https://github.com/apache/apisix-ingress-controller/commit/38359afdbebd7eae15e617f4c57e9c34dd53f31f
> > >
> > > Keys to verify the Release Candidate:
> > >
> > > https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > >
> > > Steps to validating the release:
> > >
> > > 1. Download the release
> > >
> > > wget
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.3.0/apache-apisix-ingress-controller-1.3.0-src.tgz
> > >
> > >
> > > 2. Checksums and signatures
> > >
> > > wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > >
> > > wget
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.3.0/apache-apisix-ingress-controller-1.3.0-src.tgz.asc
> > >
> > > wget
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.3.0/apache-apisix-ingress-controller-1.3.0-src.tgz.sha512
> > >
> > > gpg --import KEYS
> > >
> > > shasum -c apache-apisix-ingress-controller-1.3.0-src.tgz.sha512
> > >
> > > gpg --verify
> > > apache-apisix-ingress-controller-1.3.0-src.tgz.asc
> > > apache-apisix-ingress-controller-1.3.0-src.tgz
> > >
> > > 3. Unzip and Check files
> > >
> > > mkdir -p apisix-ingress-controller && tar zxvf
> > > apache-apisix-ingress-controller-1.3.0-src.tgz -C
> > > ./apisix-ingress-controller && cd apisix-ingress-controller
> > >
> > > 4. Build
> > >
> > > Please refer to
> > http://apisix.apache.org/docs/ingress-controller/development
> > > .
> > >
> > > The vote will be open for at least 72 hours or until necessary number
> of
> > > votes are reached.
> > >
> > > Please vote accordingly:
> > >
> > > [ ] +1 approve
> > > [ ] +0 no opinion
> > > [ ] -1 disapprove with the reason
> > >
> > > Thanks!
> >
>


Re: Discuss: APISIX Ingress use a uniform CRD APIVersion

2021-10-11 Thread wei jin
Agree, The feature can reduce the cost of understanding.

Jintao Zhang  于2021年10月12日周二 上午8:35写道:

> Currently in this project, we use different apiversions for management of
> different resources.
> However, the frequency of change of different resources is not the same,
> which leads to management confusion.
>
> E.g
>
> ApisixRoute -> v2beta2
> ApisixUpstream -> v1
> ApisixTls -> v1
> ApisixConsumer -> v2alpha1
> ApisixClusterConfig -> v2alpha1
>
> Users who are not familiar with this project may be confused about this,
> and because of the possible lag in the documentation, users may use the old
> version.
>
> This aspect will increase the user's learning cost. On the other hand, it
> will increase the maintenance cost of the project.
> We have to maintain mutual references of multiple resources in the code.
>
> So I propose to use a unified CRD apiversion.
>
> In order to achieve this, we can implement it step by step:`
>
> Introduce the `v2beta3` apiversion in the APISIX Ingress v1.4, unify all
> resources to this version, and deprecate all alpha version resources.
>
> Release `v2` apiversion in APISIX Ingress v1.5 and mark all beta versions
> as deprecated.
>


Re: [DISCUSS] Proposal: use label selector to decide the watching namespaces for apisix-ingress-controller

2021-10-08 Thread wei jin
That is a good idea.

Jintao Zhang  于2021年10月7日周四 上午9:41写道:

> SGTM. Let's create an issue to track this.
>
> Chao Zhang  于2021年10月4日周一 下午12:29写道:
>
> > Hi, there
> >
> > Currently, the filtering mechanism for apisix-ingress-controller to
> > decide the watching namespace is quite simple,
> > it just uses a namespace allow list, people just need to fill the list
> > with the desired namespaces.
> >
> > However, the allow list is not quite flexible, first of all, the
> > apisix-ingress-controller has to be restarted since we don't
> > watch the changes of configuration (e.g. ConfigMap in Kubernetes, or
> > local files); On the other hand, in some cases,
> > users have a lot of namespaces but only a few of them SHOULD NOT be
> > watched, in such a case, only an allowlist
> > cannot figure out the problem. It seems that if we have a blocklist
> > for namespaces, then it can work well but still we'll
> > introduce some other complexities, like the precedence between these
> > two lists, how to resolve the conflicts, and so on.
> >
> > Here I'd like to propose to use a native way to solve this problem,
> > let's just use the label selector to decide the watching
> > namespaces, desired namespaces can be attached with some labels and we
> > configure a selector for apisix-ingress-controller
> > so it knows which namespaces are filtered out and others are reserved
> > (and should be watched continuously).
> >
> > A simple case is just like this:
> >
> > We have 3 namespaces and their labels are:
> >
> > 1. namespace: foo, labels: customer=foo,plan=basic
> > 2. namespace: baz, labels: customer=baz,plan=pro
> > 3. namespaces: bar, labels: customer=bar,plan=pro
> >
> > Let's say the label selector of apisix-ingress-controller is
> > plan=basic, then the first namespace foo will be filtered out. Another
> > benefit of
> > using the label selector is that the adjustment is dynamic, a
> > namespace can be filtered in/out at a different time if the labels
> > change.
> >
> > Best regards
> > Chao Zhang
> >
> > https://github.com/tokers
> >
>


Re: [DISCUSS] Use apisix-openresty instead of openresty

2021-09-28 Thread wei jin
I think `apisix-base` will be better than `apisix-openresty`.

Zexuan Luo  于2021年9月28日周二 下午3:38写道:

> What about using the name `apisix-base` instead of `apisix-openresty`?
>
> Joey Ma  于2021年9月27日周一 下午2:03写道:
> >
> > +1 on my side.
> > That sounds really great. Thanks.
> >
> > On Mon, Sep 27, 2021 at 12:10 AM Ayush das  wrote:
> >
> > > +1 Sounds good to me
> > >
> > > Best regards
> > > Ayush Das<https://github.com/iamayushdas>
> > >
> > > On Sun, 26 Sep 2021 at 9:33 PM, Jintao Zhang <
> zhangjintao9...@gmail.com>
> > > wrote:
> > >
> > > > +1 LGTM!
> > > >
> > > > ZhengSong Tu  于2021年9月26日周日 下午7:54写道:
> > > >
> > > > > Good for me, +1
> > > > > *ZhengSong Tu*
> > > > > My GitHub: https://github.com/tzssangglass
> > > > > Apache APISIX: https://github.com/apache/apisix
> > > > >
> > > > >
> > > > > wei jin  于2021年9月26日周日 下午6:56写道:
> > > > >
> > > > > > Hi, community,
> > > > > >
> > > > > > The current APISIX image depends on the official version of
> > > openresty,
> > > > > but
> > > > > > APISIX needs to support more functions.
> > > > > >
> > > > > > For example, to integrate dubbo, you need to integrate
> > > > > > https://github.com/api7/mod_dubbo.
> > > > > > Or, some advanced features of APISIX, need to integrate
> > > > > > https://github.com/api7/ngx_multi_upstream_module and
> > > > > > https://github.com/api7/lua-var-nginx-module, and so on.
> > > > > >
> > > > > > All these basic modules do not change frequently and can be
> > > solidified
> > > > to
> > > > > > become a brand new openresty basic image (we can call it
> > > > > > `apisix-openresty`).
> > > > > >
> > > > > > I propose to change the dockerfile under the
> `Apache/apisix-docker`
> > > > > > repository to integrate the apisix-openresty base image.
> > > > > > Of course, we need to provide the dockerfile of apisix-openresty
> > > > > > separately.
> > > > > >
> > > > > > Welcome to discuss:
> > > > > > +1 I agree.
> > > > > > -1 I have something else to say.
> > > > > >
> > > > >
> > > >
> > >
>


[DISCUSS] Use apisix-openresty instead of openresty

2021-09-26 Thread wei jin
Hi, community,

The current APISIX image depends on the official version of openresty, but
APISIX needs to support more functions.

For example, to integrate dubbo, you need to integrate
https://github.com/api7/mod_dubbo.
Or, some advanced features of APISIX, need to integrate
https://github.com/api7/ngx_multi_upstream_module and
https://github.com/api7/lua-var-nginx-module, and so on.

All these basic modules do not change frequently and can be solidified to
become a brand new openresty basic image (we can call it
`apisix-openresty`).

I propose to change the dockerfile under the `Apache/apisix-docker`
repository to integrate the apisix-openresty base image.
Of course, we need to provide the dockerfile of apisix-openresty separately.

Welcome to discuss:
+1 I agree.
-1 I have something else to say.


Re: [DISCUSS] Added apisix-go-sdk repository solve configuration structure reuse

2021-09-23 Thread wei jin
I agree with the creation of a new independent project to manage the data
structure of APISIX. Just like `apache/skywalking-goapi` is used to manage
various data types of skywalking.

In fact, we have done similar things before, such as `
https://github.com/api7/types`, which has been archived, but at that time
`apisix-ingress-controller` was  still in rapid functional iteration,
multiple projects were often modified at the same time for a feature always
slow down the release progress, so merge this module into the
`apisix-ingress-controller` project temporarily.

I believe it is necessary to develop the most comprehensive APISIX data
structure, which can facilitate the common use of surrounding projects.

JinChao Shuai  于2021年9月23日周四 下午12:26写道:

> hi, community,
>
> The configuration structure currently used by the Apache APISIX Ingress
> Controller can only meet the needs of the current Ingress Controller, and
> other items in the Apache APISIX ecosystem cannot be reused, such as the
> lack of a structure of service objects. [1] If this configuration is used
> when exporting the APISIX yaml configuration, the APISIX configuration
> structure will be incomplete.
>
> So I think we can create a new `apisix-go-sdk` public repository to solve
> this problem and maintain a complete object structure to meet the needs of
> Apache APISIX Ingress Controller and other Apache APISIX projects.
>
> [1]
>
> https://github.com/apache/apisix-ingress-controller/blob/3e9bdbf0cee6d49c8e0db27152d46565df704e8c/pkg/types/apisix/v1/types.go
> --
> Thanks,
> Janko
>


Re: [DISCUSS] Add new ApisixPluginConfig CR to Apache APISIX Ingress controller

2021-09-22 Thread wei jin
+1 Agree to add this feature.

BTW, In `ApisixRoute` the configuration of `ApisixPluginConfig` and
`plugins` can not  exist at the same time.

Jintao Zhang  于2021年9月22日周三 下午4:36写道:

> # background
>
> Many functions of Apache APISIX are now provided through plugins. In
> scenarios where APISIX is used extensively, *these configurations are often
> reusable.*
>
> In February of this year, plugin config capabilities has been added to
> Apache APISIX. [1]
>
> I propose to add a custom resource of `ApisixPluginConfig` to Apache APISIX
> Ingress to support this feature.[2]
>
> # implement
>
> * Add an `ApisixPluginConfig` custom resources. It can be converted to
> APISIX's `plugin_config`, Use its name as its id;
> * When we add this configuration to `ApisixRoute`, use its name as an
> index.
>
>
>
> [1]: https://github.com/apache/apisix/pull/3567
> [2]:
> https://apisix.apache.org/docs/apisix/architecture-design/plugin-config
>


Re: [DISCUSS] Update CRD apiversion to v1 and drop v1beta1 version for Apache APISIX Ingress

2021-09-15 Thread wei jin
Look forward~

Jintao Zhang  于2021年9月15日周三 上午8:10写道:

> This discussion has been open for a long time, and at the same time I have
> received some feedback from GitHub[1], I think it’s time to come to a
> conclusion.
> I will submit a PR to update the apiversion of CRD to v1 and drop support
> for v1beta1 version.
>
>
> [1]: https://github.com/apache/apisix-ingress-controller/issues/653
>
> Chao Zhang  于2021年8月27日周五 下午4:28写道:
>
> > If we drop the support of apiextensions.k8s.io/v1beta1, we should
> re-claim
> > that the lowest supported Kubernetes version is 1.16.
> > 
> > If I am correct, currently the lowest version we stated is 1.15, I think
> > it’s
> > OK to increase it since now Kubernetes/1.22 was released.
> > Chao Zhang
> > https://github.com/tokers
> >
> > On August 27, 2021 at 15:52:24, Jintao Zhang (zhangjin...@apache.org)
> > wrote:
> >
> > ## background
> >
> > The `apiextensions.k8s.io/v1beta1` 
> 
> > API version of CustomResourceDefinition
> > is no longer served as of v1.22.
> > ref:
> >
> >
> https://kubernetes.io/docs/reference/using-api/deprecation-guide/#customresourcedefinition-v122
> >
> > And the `apiextensions.k8s.io/v1`  <
> http://apiextensions.k8s.io/v1> API
> > version, available since v1.16.
> >
> > * All existing persisted objects are accessible via the new API
> > * Notable changes:
> > * `spec.scope` is no longer defaulted to `Namespaced` and must be
> > explicitly specified
> > * `spec.version` is removed in v1; use `spec.versions` instead
> > * `spec.validation` is removed in v1; use `spec.versions[*].schema`
> instead
> > * `spec.subresources` is removed in v1; use
> `spec.versions[*].subresources`
> > instead
> > * `spec.additionalPrinterColumns` is removed in v1; use
> > `spec.versions[*].additionalPrinterColumns` instead
> > * `spec.conversion.webhookClientConfig` is moved to
> > `spec.conversion.webhook.clientConfig` in v1
> > * `spec.conversion.conversionReviewVersions` is moved to
> > `spec.conversion.webhook.conversionReviewVersions` in v1
> > * `spec.versions[*].schema.openAPIV3Schema` is now required when creating
> > v1 CustomResourceDefinition objects, and must be a [structural
> >
> >
> schema](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#specifying-a-structural-schema)
> >
> > * `spec.preserveUnknownFields: true` is disallowed when creating v1
> > CustomResourceDefinition objects; it must be specified within schema
> > definitions as `x-kubernetes-preserve-unknown-fields: true`
> > * In `additionalPrinterColumns` items, the `JSONPath` field was renamed
> to
> > `jsonPath` in v1 (fixes [#66531](
> > https://github.com/kubernetes/kubernetes/issues/66531))
> >
> >
> > Should we drop the `apiextensions.k8s.io/v1beta1`
> 
> >  API version support?
> >
>


Re: [Discuss]Perform a full comparison to find out objects whose declared configuration is inconsistent with the APISIX state when the Ingress controller is started

2021-09-14 Thread wei jin
Please discuss the solution you think is suitable in the email :)

wei jin  于2021年9月15日周三 上午10:43写道:

> If the user operates the CRD resource when the APISIX Ingress Controller
> is not started, the declared configuration will be inconsistent with the
> APISIX state.
>
> Since the APISIX Ingress Controller will automatically synchronize the
> related CRDs when starting and running, and update to APISIX, we only need
> to ensure that the deleted configuration can be found to ensure that the
> Ingress and APISIX status are synchronized.
>
> Therefore, I am going to add a full synchronization when the ingress
> controller starts to find out those inconsistent objects.
> Then decide how to synchronize.
>
> There are two ways to synchronize:
> 1. Directly delete those extra objects in APISIX (more radical, deleting
> data may affect user data)
> 2. Give a warning in the log to tell which objects only exist in APISIX,
> and the Ingress controller can still operate normally. (It is relatively
> safe, but if the user does not handle it, Ingress will always be
> inconsistent with the APISIX status)
>


[Discuss]Perform a full comparison to find out objects whose declared configuration is inconsistent with the APISIX state when the Ingress controller is started

2021-09-14 Thread wei jin
If the user operates the CRD resource when the APISIX Ingress Controller is
not started, the declared configuration will be inconsistent with the
APISIX state.

Since the APISIX Ingress Controller will automatically synchronize the
related CRDs when starting and running, and update to APISIX, we only need
to ensure that the deleted configuration can be found to ensure that the
Ingress and APISIX status are synchronized.

Therefore, I am going to add a full synchronization when the ingress
controller starts to find out those inconsistent objects.
Then decide how to synchronize.

There are two ways to synchronize:
1. Directly delete those extra objects in APISIX (more radical, deleting
data may affect user data)
2. Give a warning in the log to tell which objects only exist in APISIX,
and the Ingress controller can still operate normally. (It is relatively
safe, but if the user does not handle it, Ingress will always be
inconsistent with the APISIX status)


[DISCUSS] Apply for a docker hub account to realize automatic push dashboard images to docker hub

2021-09-09 Thread wei jin
Currently, when `apisix-dashboard` is building docker images, it cannot be
automatically pushed to docker hub.

I hope to be able to automatically push to docker hub through github action
like building an image of APISIX.

For this, I need to apply for a docker hub account, just like
APISIX applied for before.
Ref to: https://issues.apache.org/jira/browse/INFRA-21756

What do you think?
+1 Agree to apply for a docker hub account to realize automatic push images
to docker hub.
-1 No, please state your reasons.


Re: [VOTE] Relase Apache APISIX Python Plugin Runner 0.1.0

2021-09-03 Thread wei jin
+1 binding
I check:
1. All download links are fine;
2. Checksums is fine;
3. LICENSE and NOTICE exist;

JunXu Chen  于2021年9月3日周五 下午3:14写道:

> +1 binding
>
> I checked:
> - Download links are valid
> - Checksums is fine
> - Signature is fine
> - LICENSE and NOTICE files are good
>
>
> On Thu, 2 Sept 2021 at 12:39, Ayush das  wrote:
>
> > +1 non-binding
> > I have checked the following:
> > 1. Download links works fine;
> > 2. Checksums and PGP signatures are good to go;
> > 3. LICENSE and NOTICE does exists;
> >
> > Best Regards
> > *Ayush Das*
> > My GitHub: https://github.com/iamayushdas <
> https://github.com/iamayushdas>
> >
> > On Thu, Aug 26, 2021 at 6:24 PM JinChao Shuai 
> > wrote:
> >
> > > Hello, Community,
> > > This is a call for the vote to release Apache APISIX Python Plugin
> > > Runner version 0.1.0.
> > >
> > > Release notes:
> > >
> > >
> > >
> >
> https://github.com/apache/apisix-python-plugin-runner/blob/release/0.1.0/CHANGELOG.md#010
> > >
> > > The release candidates:
> > >
> > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-python-plugin-runner-0.1.0/
> > >
> > > Release Commit ID:
> > >
> > >
> > >
> >
> https://github.com/apache/apisix-python-plugin-runner/commit/101c31f24c4b3d84a6778b848a37799726b38353
> > >
> > > Keys to verify the Release Candidate:
> > >
> > > https://dist.apache.org/repos/dist/release/apisix/KEYS
> > >
> > > Steps to validating the release:
> > >
> > > 1. Download the release
> > >
> > > wget
> > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-python-plugin-runner-0.1.0/apisix-python-plugin-runner-0.1.0-src.tgz
> > >
> > > 2. Checksums and signatures
> > >
> > > wget https://dist.apache.org/repos/dist/release/apisix/KEYS
> > >
> > > wget
> > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-python-plugin-runner-0.1.0/apisix-python-plugin-runner-0.1.0-src.tgz.asc
> > >
> > > wget
> > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-python-plugin-runner-0.1.0/apisix-python-plugin-runner-0.1.0-src.tgz.sha512
> > >
> > > shasum -c apisix-python-plugin-runner-0.1.0-src.tgz.sha512
> > >
> > > gpg --verify apisix-python-plugin-runner-0.1.0-src.tgz.asc
> > >
> > > 3. Unzip and Check files
> > >
> > > tar zxvf apisix-python-plugin-runner-0.1.0-src.tgz
> > >
> > > 4. Build & Test Apache APISIX Python Plugin Runner:
> > >
> > >
> > >
> >
> https://github.com/apache/apisix-python-plugin-runner/blob/master/docs/en/latest/developer-guide.md
> > >
> > > The vote will be open for at least 72 hours or until necessary number
> of
> > > votes are reached.
> > >
> > > Please vote accordingly:
> > >
> > > [ ] +1 approve
> > > [ ] +0 no opinion
> > > [ ] -1 disapprove with the reason
> > >
> > > --
> > > Thanks,
> > > Janko
> > >
> >
>


Re: [VOTE]Apache apisix-ingress-controller GA version 1.2.0

2021-08-17 Thread wei jin
+1 binding:

1. All the above links are valid;
2. Both the checksum and signature are good;
3. It can be built successfully on centos7;

ZhengSong Tu  于2021年8月16日周一 下午5:26写道:

> +1 (non-binding)
>
> checklist:
> 1. All download links are fine;
> 2. Checksums and PGP signatures are fine;
> 3. LICENSE and NOTICE exist;
>
> *ZhengSong Tu*
> My GitHub: https://github.com/tzssangglass
> Apache APISIX: https://github.com/apache/apisix
>
>
> Jintao Zhang  于2021年8月14日周六 下午2:02写道:
>
> > Hello, Community,
> > This is a call for the vote to release Apache APISIX Ingress controller
> > version 1.2.0.
> >
> > Release notes:
> >
> >
> >
> https://github.com/apache/apisix-ingress-controller/blob/v1.2.0/CHANGELOG.md#120
> >
> > The release candidates:
> >
> >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.2.0/
> >
> > Git tag for the release:
> >
> > https://github.com/apache/apisix-ingress-controller/tree/v1.2.0
> >
> > Release Commit ID:
> >
> >
> >
> https://github.com/apache/apisix-ingress-controller/commit/9dbdf7fd21f5b6997f60a70f7138596faefa4d9f
> >
> > Keys to verify the Release Candidate:
> >
> > https://dist.apache.org/repos/dist/dev/apisix/KEYS
> >
> > Steps to validating the release:
> >
> > 1. Download the release
> >
> > wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.2.0/apache-apisix-ingress-controller-1.2.0-src.tgz
> >
> >
> > 2. Checksums and signatures
> >
> > wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> >
> > wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.2.0/apache-apisix-ingress-controller-1.2.0-src.tgz.asc
> >
> > wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.2.0/apache-apisix-ingress-controller-1.2.0-src.tgz.sha512
> >
> > gpg --import KEYS
> >
> > shasum -c apache-apisix-ingress-controller-1.2.0-src.tgz.sha512
> >
> > gpg --verify apache-apisix-ingress-controller-1.2.0-src.tgz.asc
> > apache-apisix-ingress-controller-1.2.0-src.tgz
> >
> > 3. Unzip and Check files
> >
> > mkdir -p apisix-ingress-controller && tar zxvf
> > apache-apisix-ingress-controller-1.2.0-src.tgz -C
> > ./apisix-ingress-controller && cd apisix-ingress-controller
> >
> > 4. Build
> >
> > Please refer to
> > http://apisix.apache.org/docs/ingress-controller/development.
> >
> > The vote will be open for at least 72 hours or until necessary number of
> > votes are reached.
> >
> > Please vote accordingly:
> >
> > [ ] +1 approve
> > [ ] +0 no opinion
> > [ ] -1 disapprove with the reason
> >
> > Thanks!
> >
> >
>


Re: [DISCUSS] New architecture of Apache APISIX Ingress controller

2021-07-30 Thread wei jin
Agree +1

Jintao Zhang  于2021年7月30日周五 下午7:43写道:

> In the current architecture of the Apache APISIX Ingress controller, we
> use the Apache APISIX Ingress controller as a control plane component.
> The user creates a specified type of CR in Kubernetes, and the Apache
> APISIX Ingress controller converts it into a data structure that can be
> received by Apache APISIX, and creates, modifies or deletes it by calling
> the admin API.
> Such an architecture has the following advantages:
> - The separation of CP and DP can ensure that even if the CP component is
> abnormal, DP can still run properly;
> - Users can deploy DP in any location they like, including outside the
> Kubernetes cluster
>
> But such an architecture will also have its disadvantages
> Users need to maintain a complete Apache APISIX cluster, which cannot be
> done simply by modifying the replicas field of the Apache APISIX Ingress
> controller
>
> I hope to introduce an architecture similar to ingress-nginx, which is
> widely used in Kubernetes.
>
> In this way, users can complete the deployment directly through a Pod. At
> the same time, user can simply modify the replicas parameter to complete
> the scale.
>


Re: [VOTE][RESULT] Apache apisix-ingress-controller GA version 1.1.0

2021-07-14 Thread wei jin
My bad.

3 PMC +1 binding votes:
- Chao Zhang
- Wei Jin
- JinChao Shuai

One +1 non-binding votes:
- Jintao Zhang

Chao Zhang  于2021年7月14日周三 下午2:11写道:

> Hi, Wei!
>
> You said there are two non-binding votes, where is the second one? I just
> see the vote from Jintao Zhang.
>
> Chao Zhang
> https://github.com/tokers
>
> On July 14, 2021 at 08:13:57, wei jin (k...@apache.org) wrote:
>
>


[ANNOUNCE] Apache APISIX ingress controller 1.1.0 has been released

2021-07-14 Thread wei jin
Hi folks,

The Apache APISIX community is glad to announce that Apache APISIX ingress
controller 1.1.0 has been released.
Version 1.1.0 is currently general availability.

Apache APISIX is a cloud-native microservices API gateway, delivering the
ultimate performance, security, open-source and scalable platform for all
your APIs and microservices.

Apache APISIX is based on Nginx and Etcd, it has dynamic routing and
plug-in hot loading, which is especially suitable for API management under
the micro-service system.

Download Link: https://apisix.apache.org/downloads/

The Apache APISIX ingress controller aims to help users to use Apache
APISIX as
an ingress in Kubernetes.

Release Note:
https://github.com/apache/apisix-ingress-controller/blob/v1.1.0/CHANGELOG.md


Apache APISIX ingress controller Resources:
- Issues: https://github.com/apache/apisix-ingress-controller/issues
- Mailing List: dev@apisix.apache.org


[VOTE][RESULT] Apache apisix-ingress-controller GA version 1.1.0

2021-07-13 Thread wei jin
Hello community,
Release vote for Apache apisix-ingress-controller 1.1.0 has PASSED and
closed now.


3 PMC +1 binding votes:
- Chao Zhang
- Wei Jin
- JinChao Shuai


2 +1 non-binding votes:
- Jintao Zhang



Vote thread:
https://lists.apache.org/thread.html/r40121b342b5daa73a2623ab2fc9f82706c1afb9a0c4af847433a2b39%40%3Cdev.apisix.apache.org%3E


I will continue the release process.


Thank you all for making this happen!


Re: [VOTE]Apache apisix-ingress-controller GA version 1.1.0

2021-07-13 Thread wei jin
+1 (binding)

1. All links are valid;
2. The signature and checksum are valid;
3. LICENSE and NOTICE files exist;
4. No unexpected binaries;
5. It can be built normally on my Mac and centos 7;
6. The version is correct;

wei jin  于2021年7月13日周二 下午4:19写道:

> Add the release candidates and git tag here
>
> The release candidates:
>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.1.0/
>
> Git tag for the release:
> https://github.com/apache/apisix-ingress-controller/tree/v1.1.0
>
> Chao Zhang  于2021年7月13日周二 上午9:48写道:
>
>> +1 (binding), I have checked:
>>
>> 1. All links are valid;
>> 2. The signature and checksum are valid;
>> 3. LICENSE and NOTICE files exist;
>> 4. No unexpected binaries;
>> 5. It can be built normally on my Mac.
>> 6. The version shown by command `apisix-ingress-controller --version`
>> is correct;
>>
>> By the way, the Git tag was missing.
>>
>> Best regards
>> Chao Zhang
>>
>> https://github.com/tokers
>>
>> On Sat, Jul 10, 2021 at 11:26 PM wei jin  wrote:
>> >
>> > Hello, Community,
>> >
>> > This is a call for the vote to release Apache apisix-ingress-controller
>> version
>> > 1.1.0 .
>> >
>> > Release notes:
>> >
>> >
>> https://github.com/apache/apisix-ingress-controller/blob/v1.1.0/CHANGELOG.md#110
>> >
>> > The release candidates:
>> >
>> > https://github.com/apache/apisix-ingress-controller/tree/v1.1.0
>> >
>> > Git tag for the release:
>> >
>> >
>> >
>> > Release Commit ID:
>> >
>> >
>> https://github.com/apache/apisix-ingress-controller/commit/6f875c69f1b8b44d21cf9b7c0aab4610843bf74a
>> >
>> > Keys to verify the Release Candidate:
>> >
>> > https://dist.apache.org/repos/dist/dev/apisix/KEYS
>> >
>> > Steps to validate the release:
>> >
>> > 1.Download the release file
>> >
>> > $ wget
>> >
>> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.1.0/apache-apisix-ingress-controller-1.1.0-src.tgz
>> >
>> > 2.Checksums and signatures
>> >
>> > $ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
>> > $ wget
>> >
>> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.1.0/apache-apisix-ingress-controller-1.1.0-src.tgz.asc
>> > $ wget
>> >
>> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.1.0/apache-apisix-ingress-controller-1.1.0-src.tgz.sha512
>> >
>> > $ shasum -c apache-apisix-ingress-controller-1.1.0-src.tgz.sha512
>> > $ gpg --import KEYS
>> > # Input "trust", then input number 5, then input "save"$ gpg --edit-key
>> > "Wei Jin"
>> > $ gpg
>> > --verify apache-apisix-ingress-controller-1.1.0-src.tgz.asc
>> > apache-apisix-ingress-controller-1.1.0-src.tgz
>> >
>> >
>> > 3. Unzip and Check files
>> >
>> > $ mkdir -p apisix-ingress-controller && tar
>> > zxvf apache-apisix-ingress-controller-1.1.0-src.tgz -C
>> > ./apisix-ingress-controller && cd apisix-ingress-controller
>> >
>> > 4. Build
>> >
>> > Please refer to
>> http://apisix.apache.org/docs/ingress-controller/development.
>> >
>> >
>> > The vote will keep open at least 72 hours or reaches the necessary
>> number
>> > of approved votes.
>> >
>> > Please vote accordingly:
>> > [ ] +1 Approve
>> > [ ] +0 No Opinion
>> > [ ] -1 Disapprove with your reason
>> > Thanks!
>>
>


Re: [VOTE] Relase Apache APISIX Go Plugin Runner 0.1.0

2021-07-13 Thread wei jin
+1 binding

Checked:

   1. Download links are valid
   2. Checksums and GPG signatures are valid
   3. License and NOTICE files are good
   4. Build and run successfully on MacOS

Zexuan Luo  于2021年7月13日周二 上午9:05写道:

> > BTW, do we need to add some details to the CHANGELOG?
>
> We will have a detailed CHANGELOG in the next version. For the first
> version, there are not many changes to say.
>
> Shuyang Wu  于2021年7月13日周二 上午2:10写道:
>
> > +1
> >
> > Checked:
> >
> >1. Download links are valid
> >2. Checksums and GPG signatures are valid
> >3. License and NOTICE files are good
> >4. Build and run successfully on MacOS with M1 chip
> >5. All test passed
> >
> > BTW, do we need to add some details to the CHANGELOG?
> >
> > Best,
> > Shuyang
> >
> > ZhengSong Tu  于2021年7月12日周一 下午1:01写道:
> >
> > > +1 non-binding
> > >
> > > I checked:
> > > * all download links are fine;
> > > * the signature and checksum are valid;
> > > * LICENSE and NOTICE files exist;
> > >
> > > Zexuan Luo  于2021年7月12日周一 上午10:15写道:
> > >
> > > > Hello, Community,
> > > > This is a call for the vote to release Apache APISIX Go Plugin
> > > > Runner version 0.1.0.
> > > >
> > > > Release notes:
> > > >
> > > >
> > > >
> > >
> >
> https://github.com/apache/apisix-go-plugin-runner/blob/release/0.1.0/CHANGELOG.md#010
> > > >
> > > > The release candidates:
> > > >
> > > >
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-go-plugin-runner-0.1.0/
> > > >
> > > > Release Commit ID:
> > > >
> > > >
> > > >
> > >
> >
> https://github.com/apache/apisix-go-plugin-runner/commit/57bc0a074a81ec4e1cf24238f2af720e782583a2
> > > >
> > > > Keys to verify the Release Candidate:
> > > >
> > > > https://dist.apache.org/repos/dist/release/apisix/KEYS
> > > >
> > > > Steps to validating the release:
> > > >
> > > > 1. Download the release
> > > >
> > > > wget
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-go-plugin-runner-0.1.0/apisix-go-plugin-runner-0.1.0-src.tgz
> > > >
> > > > 2. Checksums and signatures
> > > >
> > > > wget https://dist.apache.org/repos/dist/release/apisix/KEYS
> > > >
> > > > wget
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-go-plugin-runner-0.1.0/apisix-go-plugin-runner-0.1.0-src.tgz.asc
> > > >
> > > > wget
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-go-plugin-runner-0.1.0/apisix-go-plugin-runner-0.1.0-src.tgz.sha512
> > > >
> > > > shasum -c apisix-go-plugin-runner-0.1.0-src.tgz.sha512
> > > >
> > > > gpg --verify apisix-go-plugin-runner-0.1.0-src.tgz.asc
> > > >
> > > > 3. Unzip and Check files
> > > >
> > > > tar zxvf apisix-go-plugin-runner-0.1.0-src.tgz
> > > >
> > > > 4. Build & Test Apache APISIX Go Plugin Runner:
> > > >
> > > >
> > > >
> > >
> >
> https://github.com/apache/apisix-go-plugin-runner/blob/master/docs/en/latest/developer-guide.md
> > > >
> > > > The vote will be open for at least 72 hours or until necessary number
> > of
> > > > votes are reached.
> > > >
> > > > Please vote accordingly:
> > > >
> > > > [ ] +1 approve
> > > > [ ] +0 no opinion
> > > > [ ] -1 disapprove with the reason
> > > >
> > >
> >
>


Re: [VOTE]Apache apisix-ingress-controller GA version 1.1.0

2021-07-13 Thread wei jin
Add the release candidates and git tag here

The release candidates:
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.1.0/

Git tag for the release:
https://github.com/apache/apisix-ingress-controller/tree/v1.1.0

Chao Zhang  于2021年7月13日周二 上午9:48写道:

> +1 (binding), I have checked:
>
> 1. All links are valid;
> 2. The signature and checksum are valid;
> 3. LICENSE and NOTICE files exist;
> 4. No unexpected binaries;
> 5. It can be built normally on my Mac.
> 6. The version shown by command `apisix-ingress-controller --version`
> is correct;
>
> By the way, the Git tag was missing.
>
> Best regards
> Chao Zhang
>
> https://github.com/tokers
>
> On Sat, Jul 10, 2021 at 11:26 PM wei jin  wrote:
> >
> > Hello, Community,
> >
> > This is a call for the vote to release Apache apisix-ingress-controller
> version
> > 1.1.0 .
> >
> > Release notes:
> >
> >
> https://github.com/apache/apisix-ingress-controller/blob/v1.1.0/CHANGELOG.md#110
> >
> > The release candidates:
> >
> > https://github.com/apache/apisix-ingress-controller/tree/v1.1.0
> >
> > Git tag for the release:
> >
> >
> >
> > Release Commit ID:
> >
> >
> https://github.com/apache/apisix-ingress-controller/commit/6f875c69f1b8b44d21cf9b7c0aab4610843bf74a
> >
> > Keys to verify the Release Candidate:
> >
> > https://dist.apache.org/repos/dist/dev/apisix/KEYS
> >
> > Steps to validate the release:
> >
> > 1.Download the release file
> >
> > $ wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.1.0/apache-apisix-ingress-controller-1.1.0-src.tgz
> >
> > 2.Checksums and signatures
> >
> > $ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > $ wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.1.0/apache-apisix-ingress-controller-1.1.0-src.tgz.asc
> > $ wget
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.1.0/apache-apisix-ingress-controller-1.1.0-src.tgz.sha512
> >
> > $ shasum -c apache-apisix-ingress-controller-1.1.0-src.tgz.sha512
> > $ gpg --import KEYS
> > # Input "trust", then input number 5, then input "save"$ gpg --edit-key
> > "Wei Jin"
> > $ gpg
> > --verify apache-apisix-ingress-controller-1.1.0-src.tgz.asc
> > apache-apisix-ingress-controller-1.1.0-src.tgz
> >
> >
> > 3. Unzip and Check files
> >
> > $ mkdir -p apisix-ingress-controller && tar
> > zxvf apache-apisix-ingress-controller-1.1.0-src.tgz -C
> > ./apisix-ingress-controller && cd apisix-ingress-controller
> >
> > 4. Build
> >
> > Please refer to
> http://apisix.apache.org/docs/ingress-controller/development.
> >
> >
> > The vote will keep open at least 72 hours or reaches the necessary number
> > of approved votes.
> >
> > Please vote accordingly:
> > [ ] +1 Approve
> > [ ] +0 No Opinion
> > [ ] -1 Disapprove with your reason
> > Thanks!
>


[VOTE]Apache apisix-ingress-controller GA version 1.1.0

2021-07-10 Thread wei jin
Hello, Community,

This is a call for the vote to release Apache apisix-ingress-controller version
1.1.0 .

Release notes:

https://github.com/apache/apisix-ingress-controller/blob/v1.1.0/CHANGELOG.md#110

The release candidates:

https://github.com/apache/apisix-ingress-controller/tree/v1.1.0

Git tag for the release:



Release Commit ID:

https://github.com/apache/apisix-ingress-controller/commit/6f875c69f1b8b44d21cf9b7c0aab4610843bf74a

Keys to verify the Release Candidate:

https://dist.apache.org/repos/dist/dev/apisix/KEYS

Steps to validate the release:

1.Download the release file

$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.1.0/apache-apisix-ingress-controller-1.1.0-src.tgz

2.Checksums and signatures

$ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.1.0/apache-apisix-ingress-controller-1.1.0-src.tgz.asc
$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.1.0/apache-apisix-ingress-controller-1.1.0-src.tgz.sha512

$ shasum -c apache-apisix-ingress-controller-1.1.0-src.tgz.sha512
$ gpg --import KEYS
# Input "trust", then input number 5, then input "save"$ gpg --edit-key
"Wei Jin"
$ gpg
--verify apache-apisix-ingress-controller-1.1.0-src.tgz.asc
apache-apisix-ingress-controller-1.1.0-src.tgz


3. Unzip and Check files

$ mkdir -p apisix-ingress-controller && tar
zxvf apache-apisix-ingress-controller-1.1.0-src.tgz -C
./apisix-ingress-controller && cd apisix-ingress-controller

4. Build

Please refer to http://apisix.apache.org/docs/ingress-controller/development.


The vote will keep open at least 72 hours or reaches the necessary number
of approved votes.

Please vote accordingly:
[ ] +1 Approve
[ ] +0 No Opinion
[ ] -1 Disapprove with your reason
Thanks!


[ANNOUNCE] Apache APISIX ingress controller 1.0.0 has been released

2021-06-15 Thread wei jin
Hi folks,

The Apache APISIX community is glad to announce that Apache APISIX ingress
controller 1.0.0 has been released.
The release 1.0.0 is general availability.

Apache APISIX is a cloud-native microservices API gateway, delivering the
ultimate performance, security, open-source and scalable platform for all
your APIs and microservices.

Apache APISIX is based on Nginx and Etcd, it has dynamic routing and
plug-in hot loading, which is especially suitable for API management under
the micro-service system.

Download Link: https://apisix.apache.org/downloads/

The Apache APISIX ingress controller aims to help users to use Apache
APISIX as
an ingress in Kubernetes.

Release Note:
https://github.com/apache/apisix-ingress-controller/blob/v1.0.0/CHANGELOG.md


Apache APISIX ingress controller Resources:
- Issues: https://github.com/apache/apisix-ingress-controller/issues
- Mailing List: dev@apisix.apache.org


[VOTE][RESULT] Apache apisix-ingress-controller GA version 1.0.0

2021-06-15 Thread wei jin
Hello community,
Release vote for Apache apisix-ingress-controller 1.0.0 has PASSED and
closed now.


3 PMC +1 binding votes:
- Chao Zhang
- JunXu Chen
- Wei Jin


2 +1 non-binding votes:
- Ayush das
- Daming



Vote thread:
https://lists.apache.org/thread.html/rb5a152c6af4555b4b435122dcca25fe98d621b78097e74b1db058511%40%3Cdev.apisix.apache.org%3E


I will continue the release process.


Thank you all for making this happen!


Re: [VOTE]Apache apisix-ingress-controller GA version 1.0.0

2021-06-15 Thread wei jin
+1 (binding)
I have checked:

1. All links are valid
2. Checksum and Signature are good
3. LICENSE and NOTICE files exist and are correct
4. No unexpected binaries
5. It can be built normally on centos 7
6. The version of apisix-ingress-controller is right

Daming  于2021年6月15日周二 下午5:18写道:

> +1 (non-binding)
> - all links are available
> - .sha512 & .asc checked
> - LICENSE and NOTICE files existed
>
> Haochao Zhuang
>
> JunXu Chen  于2021年6月14日周一 下午10:13写道:
>
> > +1
> >
> > I checked:
> > - download links are fine
> > - gpg signature is fine
> > - has ASF header
> > - has LICENSE and NOTICE files
> > - build successfully on Ubuntu 18.04
> >
> > On Mon, 14 Jun 2021 at 15:51, Chao Zhang  wrote:
> >
> > > Hi, there!
> > >
> > > +1 (binding) from me, I have checked the following items:
> > >
> > > 1. All links are valid;
> > > 2. Checksum and Signature are good;
> > > 3. LICENSE and NOTICE files exist and are correct;
> > > 4. No unexpected binaries;
> > > 5. It can be built normally on my Mac;
> > > 6. The version reported by command "apisix-ingress-controller version"
> > > is expected
> > >
> > > Best regards
> > > Chao Zhang
> > >
> > > https://github.com/tokers
> > >
> > > On Sun, Jun 13, 2021 at 1:22 AM wei jin  wrote:
> > > >
> > > > Hello, Community,
> > > >
> > > > This is a call for the vote to release Apache
> apisix-ingress-controller
> > > version
> > > > 1.0.0 .
> > > >
> > > > Release notes:
> > > >
> > > >
> > >
> >
> https://github.com/apache/apisix-ingress-controller/blob/v1.0.0/CHANGELOG.md#100
> > > >
> > > > The release candidates:
> > > >
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.0.0/
> > > >
> > > > Git tag for the release:
> > > >
> > > > https://github.com/apache/apisix-ingress-controller/tree/v1.0.0
> > > >
> > > > Release Commit ID:
> > > >
> > > >
> > >
> >
> https://github.com/apache/apisix-ingress-controller/commit/44a75e050c7fdcf98abba7fba2a9c50ad1f22670
> > > >
> > > > Keys to verify the Release Candidate:
> > > >
> > > > https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > > >
> > > > Steps to validate the release:
> > > >
> > > > 1.Download the release file
> > > >
> > > > $ wget
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.0.0/apache-apisix-ingress-controller-1.0.0-src.tgz
> > > >
> > > > 2.Checksums and signatures
> > > >
> > > > $ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > > > $ wget
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.0.0/apache-apisix-ingress-controller-1.0.0-src.tgz.asc
> > > > $ wget
> > > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.0.0/apache-apisix-ingress-controller-1.0.0-src.tgz.sha512
> > > >
> > > > $ shasum -c apache-apisix-ingress-controller-1.0.0-src.tgz.sha512
> > > > $ gpg --import KEYS
> > > > # Input "trust", then input number 5, then input "save"$ gpg
> --edit-key
> > > > "Wei Jin"
> > > > $ gpg
> > > > --verify apache-apisix-ingress-controller-1.0.0-src.tgz.asc
> > > > apache-apisix-ingress-controller-1.0.0-src.tgz
> > > >
> > > >
> > > > 3. Unzip and Check files
> > > >
> > > > $ mkdir -p apisix-ingress-controller && tar
> > > > zxvf apache-apisix-ingress-controller-1.0.0-src.tgz -C
> > > > ./apisix-ingress-controller && cd apisix-ingress-controller
> > > >
> > > > 4. Build
> > > >
> > > > Please refer to
> > > http://apisix.apache.org/docs/ingress-controller/development.
> > > >
> > > >
> > > > The vote will keep open at least 72 hours or reaches the necessary
> > number
> > > > of approved votes.
> > > >
> > > > Please vote accordingly:
> > > > [ ] +1 Approve
> > > > [ ] +0 No Opinion
> > > > [ ] -1 Disapprove with your reason
> > > > Thanks!
> > >
> >
>


[VOTE]Apache apisix-ingress-controller GA version 1.0.0

2021-06-12 Thread wei jin
Hello, Community,

This is a call for the vote to release Apache apisix-ingress-controller version
1.0.0 .

Release notes:

https://github.com/apache/apisix-ingress-controller/blob/v1.0.0/CHANGELOG.md#100

The release candidates:

https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.0.0/

Git tag for the release:

https://github.com/apache/apisix-ingress-controller/tree/v1.0.0

Release Commit ID:

https://github.com/apache/apisix-ingress-controller/commit/44a75e050c7fdcf98abba7fba2a9c50ad1f22670

Keys to verify the Release Candidate:

https://dist.apache.org/repos/dist/dev/apisix/KEYS

Steps to validate the release:

1.Download the release file

$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.0.0/apache-apisix-ingress-controller-1.0.0-src.tgz

2.Checksums and signatures

$ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.0.0/apache-apisix-ingress-controller-1.0.0-src.tgz.asc
$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-1.0.0/apache-apisix-ingress-controller-1.0.0-src.tgz.sha512

$ shasum -c apache-apisix-ingress-controller-1.0.0-src.tgz.sha512
$ gpg --import KEYS
# Input "trust", then input number 5, then input "save"$ gpg --edit-key
"Wei Jin"
$ gpg
--verify apache-apisix-ingress-controller-1.0.0-src.tgz.asc
apache-apisix-ingress-controller-1.0.0-src.tgz


3. Unzip and Check files

$ mkdir -p apisix-ingress-controller && tar
zxvf apache-apisix-ingress-controller-1.0.0-src.tgz -C
./apisix-ingress-controller && cd apisix-ingress-controller

4. Build

Please refer to http://apisix.apache.org/docs/ingress-controller/development.


The vote will keep open at least 72 hours or reaches the necessary number
of approved votes.

Please vote accordingly:
[ ] +1 Approve
[ ] +0 No Opinion
[ ] -1 Disapprove with your reason
Thanks!


Re: [VOTE][New Subproject] Establish APISIX Go plugin runner

2021-05-25 Thread wei jin
+1 Look forward

zh fregie  于2021年5月26日周三 上午11:02写道:

> +1
>
> fregie
>
> https://github.com/fregie
>
>
> 
> From: Joey Ma 
> Sent: Wednesday, May 26, 2021 10:56:35 AM
> To: dev@apisix.apache.org 
> Subject: Re: [VOTE][New Subproject] Establish APISIX Go plugin runner
>
> +1
>
> On Wed, May 26, 2021 at 10:46 AM Zeping Bai  wrote:
>
> > +1
> >
> >
> >
> > *发件人: *JunXu Chen 
> > *发送时间: *2021年5月26日 10:24
> > *收件人: *dev@apisix.apache.org
> > *主题: *Re: [VOTE][New Subproject] Establish APISIX Go plugin runner
> >
> >
> >
> > + 1
> >
> >
> >
> > On Wed, 26 May 2021 at 10:18, Zexuan Luo  wrote:
> >
> >
> >
> > > Hi Dev Team:
> >
> > >
> >
> > > We would like to start a new proposal about creating APISIX Go plugin
> >
> > > runner project.
> >
> > >
> >
> > > APISIX Go plugin runner is a sub-project of APISIX as part of APISIX
> >
> > > Multilanguage Support and supports APISIX running Go plugins.
> >
> > >
> >
> > > This project allows APISIX to embrace the ecosystem of Go (the Cloud
> >
> > > Native Language).
> >
> > >
> >
> > > New project repo, APISIX Go plugin runner Issue, APISIX main repo issue
> >
> > > system Maillist/Slack, keep the same.
> >
> > >
> >
> > > The initial committer is
> >
> > > Zexuan Luo (ApacheID: spacewander, PMC of Apache APISIX)
> >
> > >
> >
> > > Note:
> >
> > > Mailing list for [Proposal] support using other languages to write
> plugin
> >
> > > for APISIX:
> >
> > >
> >
> > >
> >
> >
> https://lists.apache.org/thread.html/r7524b2622fbdf152a83b48e8c9d680075fbe64cb0f3591e0bf3212e9%40%3Cdev.apisix.apache.org%3E
> >
> > >
> >
>


Re: [ANNOUNCE] Apache apisix-ingress-controller 0.6.0 has been released

2021-05-16 Thread wei jin
OK, I will resend this mail with some modify.

Ming Wen  于2021年5月13日周四 下午10:27写道:

> Hi, wei jin,
> `apisix-ingress-controller` should be APISIX ingress controller.
>
> Thanks,
> Ming Wen, Apache APISIX PMC Chair
> Twitter: _WenMing
>
>
> Ayush das  于2021年5月13日周四 下午10:14写道:
>
> > Big shoutout to everyone behind this release.
> > Thank you
> >
> > On Thu, May 13, 2021 at 7:41 PM wei jin  wrote:
> >
> > > Hi folks,
> > >
> > >
> > > The Apache APISIX community is glad to announce that Apache
> > > apisix-ingress-controller
> > > 0.6.0 has been released.
> > >
> > >
> > > Apache APISIX is a cloud-native microservices API gateway, delivering
> the
> > > ultimate performance, security, open-source and scalable platform for
> all
> > > your APIs and microservices.
> > >
> > >
> > > Apache APISIX is based on Nginx and Etcd, it has dynamic routing and
> > > plug-in hot loading, which is especially suitable for API management
> > under
> > > the micro-service system.
> > >
> > >
> > > Download Link: https://apisix.apache.org/downloads/
> > >
> > >
> > > The Apache apisix-ingress-controller aims to help users to use Apache
> > > APISIX as
> > > an ingress in Kubernetes.
> > >
> > >
> > > Release Note:
> > >
> > >
> >
> https://github.com/apache/apisix-ingress-controller/blob/v0.6.0/CHANGELOG.md
> > >
> > >
> > > Apache apisix-ingress-controller Resources:
> > > - Issues: https://github.com/apache/apisix-ingress-controller/issues
> > > - Mailing List: dev@apisix.apache.org
> > >
> >
>


[ANNOUNCE] Apache apisix-ingress-controller 0.6.0 has been released

2021-05-13 Thread wei jin
Hi folks,


The Apache APISIX community is glad to announce that Apache
apisix-ingress-controller
0.6.0 has been released.


Apache APISIX is a cloud-native microservices API gateway, delivering the
ultimate performance, security, open-source and scalable platform for all
your APIs and microservices.


Apache APISIX is based on Nginx and Etcd, it has dynamic routing and
plug-in hot loading, which is especially suitable for API management under
the micro-service system.


Download Link: https://apisix.apache.org/downloads/


The Apache apisix-ingress-controller aims to help users to use Apache
APISIX as
an ingress in Kubernetes.


Release Note:
https://github.com/apache/apisix-ingress-controller/blob/v0.6.0/CHANGELOG.md


Apache apisix-ingress-controller Resources:
- Issues: https://github.com/apache/apisix-ingress-controller/issues
- Mailing List: dev@apisix.apache.org


[VOTE][RESULT] Apache apisix-ingress-controller version 0.6.0

2021-05-13 Thread wei jin
Hello community,
Release vote for Apache apisix-ingress-controller 0.6.0 has PASSED and
closed now.

3 PMC +1 binding votes:
- Chao Zhang
- Zhiyuan Ju
- Xiran Liu

3 +1 non-binding votes:
- Daming
- Bisakh Mondal
- Ayush das
- kishani kandasamy


Vote thread:
https://lists.apache.org/thread.html/r4cff1be49902321ec524b71b769f42696860fe3f099864d5ca8c03d7%40%3Cdev.apisix.apache.org%3E

I will continue the release process.

Thank you all for making this happen!


[VOTE]Apache apisix-ingress-controller version 0.6.0

2021-05-10 Thread wei jin
Hello, Community,

This is a call for the vote to release Apache apisix-ingress-controller
version 0.6.0 .

Release notes:

https://github.com/apache/apisix-ingress-controller/blob/v0.6.0/CHANGELOG.md#060

The release candidates:

https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.6.0/

Git tag for the release:

https://github.com/apache/apisix-ingress-controller/tree/v0.6.0

Release Commit ID:

https://github.com/apache/apisix-ingress-controller/commit/c4514fb5612a234edeb64bf978806c0511bfb1a5

Keys to verify the Release Candidate:

https://dist.apache.org/repos/dist/dev/apisix/KEYS

Steps to validate the release:

1.Download the release file

$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.6.0/apache-apisix-ingress-controller-0.6.0-src.tgz

2.Checksums and signatures

$ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.6.0/apache-apisix-ingress-controller-0.6.0-src.tgz.asc
$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.6.0/apache-apisix-ingress-controller-0.6.0-src.tgz.sha512

$ shasum -c apache-apisix-ingress-controller-0.6.0-src.tgz.sha512
$ gpg --import KEYS
# Input "trust", then input number 5, then input "save"$ gpg --edit-key
"Wei Jin"
$ gpg --verify apache-apisix-ingress-controller-0.6.0-src.tgz.asc
apache-apisix-ingress-controller-0.6.0-src.tgz

3. Unzip and Check files

$ mkdir -p apisix-ingress-controller && tar zxvf
apache-apisix-ingress-controller-0.6.0-src.tgz -C
./apisix-ingress-controller && cd apisix-ingress-controller

4. Build

Please refer to http://apisix.apache.org/docs/ingress-controller/development
.

The vote will keep open at least 72 hours or reaches the necessary number
of approved votes.

Please vote accordingly:
[ ] +1 Approve
[ ] +0 No Opinion
[ ] -1 Disapprove with your reason
Thanks!


Re: [VOTE]Apache apisix-ingress-controller version 0.6.0

2021-05-10 Thread wei jin
Close this vote, about the wrong tag.
Will re-vote later.

wei jin  于2021年5月10日周一 下午8:41写道:

> Hello, Community,
>
> This is a call for the vote to release Apache apisix-ingress-controller
> version 0.6.0 .
>
> Release notes:
>
>
> https://github.com/apache/apisix-ingress-controller/blob/v0.6.0/CHANGELOG.md#060
>
> The release candidates:
>
>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.6.0/
>
> Git tag for the release:
>
> https://github.com/apache/apisix-ingress-controller/releases/tag/0.6.0
>
> Release Commit ID:
>
>
> https://github.com/apache/apisix-ingress-controller/commit/c4514fb5612a234edeb64bf978806c0511bfb1a5
>
> Keys to verify the Release Candidate:
>
> https://dist.apache.org/repos/dist/dev/apisix/KEYS
>
> Steps to validate the release:
>
> 1.Download the release file
>
> $ wget
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.6.0/apache-apisix-ingress-controller-0.6.0-src.tgz
>
> 2.Checksums and signatures
>
> $ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> $ wget
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.6.0/apache-apisix-ingress-controller-0.6.0-src.tgz.asc
> $ wget
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.6.0/apache-apisix-ingress-controller-0.6.0-src.tgz.sha512
>
> $ shasum -c apache-apisix-ingress-controller-0.6.0-src.tgz.sha512
> $ gpg --import KEYS
> # Input "trust", then input number 5, then input "save"$ gpg --edit-key
> "Wei Jin"
> $ gpg --verify apache-apisix-ingress-controller-0.6.0-src.tgz.asc
> apache-apisix-ingress-controller-0.6.0-src.tgz
>
> 3. Unzip and Check files
>
> $ mkdir -p apisix-ingress-controller && tar zxvf
> apache-apisix-ingress-controller-0.6.0-src.tgz -C
> ./apisix-ingress-controller && cd apisix-ingress-controller
>
> 4. Build
>
> Please refer to
> http://apisix.apache.org/docs/ingress-controller/development.
>
> The vote will keep open at least 72 hours or reaches the necessary number
> of approved votes.
>
> Please vote accordingly:
> [ ] +1 Approve
> [ ] +0 No Opinion
> [ ] -1 Disapprove with your reason
> Thanks!
>


[VOTE]Apache apisix-ingress-controller version 0.6.0

2021-05-10 Thread wei jin
Hello, Community,

This is a call for the vote to release Apache apisix-ingress-controller
version 0.6.0 .

Release notes:

https://github.com/apache/apisix-ingress-controller/blob/v0.6.0/CHANGELOG.md#060

The release candidates:

https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.6.0/

Git tag for the release:

https://github.com/apache/apisix-ingress-controller/releases/tag/0.6.0

Release Commit ID:

https://github.com/apache/apisix-ingress-controller/commit/c4514fb5612a234edeb64bf978806c0511bfb1a5

Keys to verify the Release Candidate:

https://dist.apache.org/repos/dist/dev/apisix/KEYS

Steps to validate the release:

1.Download the release file

$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.6.0/apache-apisix-ingress-controller-0.6.0-src.tgz

2.Checksums and signatures

$ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.6.0/apache-apisix-ingress-controller-0.6.0-src.tgz.asc
$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.6.0/apache-apisix-ingress-controller-0.6.0-src.tgz.sha512

$ shasum -c apache-apisix-ingress-controller-0.6.0-src.tgz.sha512
$ gpg --import KEYS
# Input "trust", then input number 5, then input "save"$ gpg --edit-key
"Wei Jin"
$ gpg --verify apache-apisix-ingress-controller-0.6.0-src.tgz.asc
apache-apisix-ingress-controller-0.6.0-src.tgz

3. Unzip and Check files

$ mkdir -p apisix-ingress-controller && tar zxvf
apache-apisix-ingress-controller-0.6.0-src.tgz -C
./apisix-ingress-controller && cd apisix-ingress-controller

4. Build

Please refer to http://apisix.apache.org/docs/ingress-controller/development
.

The vote will keep open at least 72 hours or reaches the necessary number
of approved votes.

Please vote accordingly:
[ ] +1 Approve
[ ] +0 No Opinion
[ ] -1 Disapprove with your reason
Thanks!


Re: [discuss]Distinguish the source of all the status code, under the control of a debug switch

2021-04-21 Thread wei jin
Great idea ~
I think recording all non-2xx requests and provide a similar header of
x-upstream-status is better.

fukiki  于2021年4月6日周二 上午11:23写道:

> Hi, All:
>
> I am sending the email for further discussion: Distinguish the source
> (upstream or apisix) of all the status code, under the control of a debug
> switch.
>
> There was a discussion earlier about 'How to distinguish the source of
> these response status codes', and the conclusion is that: Adding
> 'X-APISIX-Upstream-Status' in the response header of the request, which can
> effectively identify the source of the 5xx status code.
>
> Actually, only distinguishing the source of the 5xx status code is not
> enough. In some scenarios, the requirement may need to distinguish the
> source of status codes 4xx/3xx, which can quickly help us determine the
> problem.
>
> For example, there was a request returned an error: 404 NOT FOUND. Without
> distinguishing the source of the status code, it is difficult to determine
> the reason of the problem.
>
>
> I have submitted the issue on gihub: issue 3963(
> https://github.com/apache/apisix/issues/3963), and had some discussions,
> the final solution is:
> 'X-APISIX-Upstream-Status' is already supported, base on this, we can
> distinguish the source of all the status code, under the control of a debug
> switch.
>
> We need more suggestions from the community, and looking forward to your
> reply.
>
>
> Best regards,
> fukiki


Re: [VOTE] Apache apisix-ingress-controller version 0.5.0

2021-04-12 Thread wei jin
+1 binding

I checked:

   - Download links are valid
   - Checksums are fine
   - No binary file
   - All files have a valid header
   - LICENSE & NOTICE files are good
   - Build successfully on mac os
   - Build Docker image  successfully

Zhiyuan Ju  于2021年4月10日周六 下午10:34写道:

> Hi,
>
> +1 (binding)
>
> I just checked:
>
> - Downloads links are valid;
> - GPG Signatures are good;
> - files in this package look good to me;
> - NOTICE & License files are ok;
> - Build successfully on Mac (M1).
>
> Just one question: when I running this command:
>
> $ mkdir -p apisix-ingress-controller && tar zxvf
> apache-apisix-ingress-controller-0.5.0-src.tgz-C
> ./apisix-ingress-controller && cd apisix-ingress-controller
>
> I think it should be:
>
> $ mkdir -p apisix-ingress-controller && tar zxvf
> apache-apisix-ingress-controller-0.5.0-src.tgz -C
> ./apisix-ingress-controller && cd apisix-ingress-controller
>
> Best Regards!
> @ Zhiyuan Ju 
>
>
> JunXu Chen  于2021年4月10日周六 下午9:23写道:
>
> > +1
> >
> > I checked:
> > - download link are fine
> > - gpg signature is fine
> > - has ASF header
> > - has LICENSE and NOTICE files
> > - build successfully on Ubuntu 18.04
> >
> >
> > On Sat, 10 Apr 2021 at 15:19, Chao Zhang  wrote:
> >
> > > Hello, Community,
> > >
> > > This is a call for the vote to release Apache apisix-ingress-controller
> > > version 0.5.0 .
> > >
> > > Release notes:
> > >
> > >
> > >
> >
> https://github.com/apache/apisix-ingress-controller/blob/v0.5.0/CHANGELOG.md#050
> > >
> > > The release candidates:
> > >
> > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.5.0/
> > >
> > > Git tag for the release:
> > >
> > > https://github.com/apache/apisix-ingress-controller/releases/tag/0.5.0
> > >
> > > Release Commit ID:
> > >
> > >
> > >
> >
> https://github.com/apache/apisix-ingress-controller/commit/a492349d1d3f5703acdb784037da47c2082e7512
> > >
> > > Keys to verify the Release Candidate:
> > >
> > > https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > >
> > > Steps to validate the release:
> > >
> > > 1.Download the release file
> > >
> > > $ wget
> > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.5.0/apache-apisix-ingress-controller-0.5.0-src.tgz
> > >
> > > 2.Checksums and signatures
> > >
> > > $ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> > > $ wget
> > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.5.0/apache-apisix-ingress-controller-0.5.0-src.tgz.asc
> > > $ wget
> > >
> > >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.5.0/apache-apisix-ingress-controller-0.5.0-src.tgz.sha512
> > >
> > > $ shasum -c apache-apisix-ingress-controller-0.5.0-src.tgz.sha512
> > > $ gpg --import KEYS
> > > # Input "trust", then input number 5, then input "save"$ gpg --edit-key
> > > "Chao Zhang"
> > > $ gpg --verify apache-apisix-ingress-controller-0.5.0-src.tgz.asc
> > > apache-apisix-ingress-controller-0.5.0-src.tgz
> > >
> > > 3. Unzip and Check files
> > >
> > > $ mkdir -p apisix-ingress-controller && tar zxvf
> > > apache-apisix-ingress-controller-0.5.0-src.tgz-C
> > > ./apisix-ingress-controller && cd apisix-ingress-controller
> > >
> > > 4. Build
> > >
> > > Please refer to
> > > http://apisix.apache.org/docs/ingress-controller/development
> > > .
> > >
> > > The vote will keep open at least 72 hours or reaches the necessary
> number
> > > of approved votes.
> > >
> > > Please vote accordingly:
> > > [ ] +1 Approve
> > > [ ] +0 No Opinion
> > > [ ] -1 Disapprove with your reason
> > > Thanks!
> > >
> >
>


Re: Investigate the necessity of building SkyWalking LUA metrics/meter APIs

2021-04-09 Thread wei jin
hello, community,

After some discussion, I made a summary and listed some function points
that need to be collaborated. The content is as follows:

- Protocol
Firstly, use http protocol to send access log to skywalking, and in the
future use GRPC protocol.

- Structure
AccessLogProto (ALP) [1]

- Community Cooperation

Apache APISIX
1. Support the collection of fields required by access log
2. Extend plugin, use http protocol to send to the target address

Apache Skywalking
1. Implement http receiver, support AccessLogProto (ALP) format analysis,
and write to OAP

Welcome to add and discuss, thanks.

[1] Data structure definition for reference
```go
message AccessLogEntry {
AccessLogCommon common = 1;
HTTPRequestProperties request = 2;
  HTTPResponseProperties response = 3;
}
```

```go
message AccessLogCommon {
double sample_rate = 1;
string downstream_remote_address = 2;
string downstream_local_address = 3;
string upstream_remote_address = 4;
string upstream_local_address = 5;
google.protobuf.Timestamp start_time = 6;
// Interval between the first downstream byte received and the first
upstream byte sent
google.protobuf.Duration time_to_first_upstream_tx_byte = 7;
string route_name = 8;
HTTPRequestProperties request = 9;
  HTTPResponseProperties response = 10;
}
```


```go
message HTTPRequestProperties {
string method = 1;
string scheme = 2;
google.protobuf.UInt32Value port = 3;
string path = 4;
string user_agent = 5;
string forwarded_for = 6;
tring request_id = 7;
uint64 request_headers_bytes = 8;
uint64 request_body_bytes = 9;
map request_headers = 10;
}
```

```go
message HTTPResponseProperties {
uint64 response_code = 1;
uint64 response_headers_bytes = 2;
uint64 response_body_bytes = 3;
map response_headers = 4;
}
```

Sheng Wu  于2021年4月6日周二 下午4:45写道:

> This seems a very abstract question.
> What kind of access log do you have? Is there a design or format document
> to describe that?
>
> Sheng Wu 吴晟
> Twitter, wusheng1108
>
>
> Ming Wen  于2021年4月6日周二 下午4:17写道:
>
> > Hi, sheng wu,
> > How can Apache APISIX send ALS to skywalking?
> > Are we implementing it in the existing skywalking plugin? Or need to add
> a
> > new plug-in?
> >
> > Thanks,
> > Ming Wen, Apache APISIX PMC Chair
> > Twitter: _WenMing
> >
> >
> > Sheng Wu  于2021年3月23日周二 下午12:07写道:
> >
> > > Ming Wen  于2021年3月23日周二 上午11:25写道:
> > >
> > > > > The biggest advantage of ALS, is replacing the physical local
> access
> > > log
> > > > > file. So you have metrics, topology(dependency), and logs in one
> > > package
> > > > of
> > > > > data.
> > > >
> > > > If we also record the metrics and tracing data with the physical
> local
> > > > access log, can we achieve the same effect?
> > > >
> > >
> > > Technically, it is practicable. Once we add file scanning capability in
> > the
> > > satellite, or use 3rd party tool, and forward to the OAP.
> > > The question is, do we really need the physical log file, as basically,
> > it
> > > costs unnecessary resources.
> > >
> > >
> > > Sheng Wu 吴晟
> > > Twitter, wusheng1108
> > >
> > >
> > > >
> > > > > If you want to discuss most ALS in APISIX, I am glad to help with
> the
> > > > > design and integration solution.
> > > >
> > > > yes, I want to discuss more details.
> > > >
> > > > Thanks,
> > > > Ming Wen, Apache APISIX PMC Chair
> > > > Twitter: _WenMing
> > > >
> > > >
> > > > wei jin  于2021年3月22日周一 下午3:58写道:
> > > >
> > > > > Zexuan Luo  于2021年3月21日周日 下午2:18写道:
> > > > >
> > > > > > I am not familiar with
> > > https://github.com/apache/skywalking-satellite.
> > > > > > Can we use this project to convert plain HTTP to GRPC?
> > > > >
> > > > >
> > > > > Skywalking satellite is usually deployed as a sidecar. It can
> convert
> > > > > APISIX gateway metrics to other data formats, do some
> preprocessing,
> > > and
> > > > > even change the data collection method from pull to push.
> > > > >
> > > > > However, the original prometheus metrics are still generated by
> > APISIX,
> > > > > which is not suitable for URI-level statistics.
> > > > >
> > > > > wei jin  于2021年3月22日周一 下午3:57写道:
> > > > >
> > > > > > Zexuan Luo  于2021年3月21日周日 下午2:18写道:
> > > > > >
> > > > 

Re: Investigate the necessity of building SkyWalking LUA metrics/meter APIs

2021-03-22 Thread wei jin
Zexuan Luo  于2021年3月21日周日 下午2:18写道:

> I am not familiar with https://github.com/apache/skywalking-satellite.
> Can we use this project to convert plain HTTP to GRPC?


Skywalking satellite is usually deployed as a sidecar. It can convert
APISIX gateway metrics to other data formats, do some preprocessing, and
even change the data collection method from pull to push.

However, the original prometheus metrics are still generated by APISIX,
which is not suitable for URI-level statistics.

wei jin  于2021年3月22日周一 下午3:57写道:

> Zexuan Luo  于2021年3月21日周日 下午2:18写道:
>
> > I am not familiar with https://github.com/apache/skywalking-satellite.
> > Can we use this project to convert plain HTTP to GRPC?
>
>
> Skywalking satellite is usually deployed as a sidecar. It can convert
> APISIX gateway metrics to other data formats, do some preprocessing, and
> even change the data collection method from pull to push.
>
> However, the original prometheus metrics are still generated by APISIX,
> which is not suitable for URI-level statistics.
>
>
> YuanSheng Wang  于2021年3月21日周日 下午10:08写道:
>
>> For APISIX, gRPC calls need to be supported.
>>
>> Either subrequest or pure Lua mode is ok, this feature is also very useful
>> in other cases.
>>
>> We can use `subrequest` to implement the first version, this way seems
>> simpler.
>>
>>
>> On Sun, Mar 21, 2021 at 2:34 PM Zexuan Luo 
>> wrote:
>>
>> > Another solution is writing a Lua GRPC library with
>> > https://github.com/tokers/lua-resty-http2
>> > https://github.com/starwing/lua-protobuf
>> >
>> > Zexuan Luo  于2021年3月21日周日 下午2:18写道:
>> > >
>> > > I am not familiar with https://github.com/apache/skywalking-satellite
>> .
>> > > Can we use this project to convert plain HTTP to GRPC?
>> > >
>> > > Sheng Wu  于2021年3月21日周日 下午1:59写道:
>> > > >
>> > > > Oh, you mean that.
>> > > > SkyWalking natively provides HTTP APIs for nearly all protocols,
>> even
>> > if
>> > > > not, we are happy to add. There is no block between APISIX and
>> > SkyWalking.
>> > > > The point to discuss the gRPC service here is about the performance,
>> > > > including proto's no field name in transmission, enum as int, small
>> > int as
>> > > > small, and especially streaming.
>> > > > If you want to implement ALS, then this is super important to
>> provide
>> > > > better performance.
>> > > >
>> > > > Sheng Wu 吴晟
>> > > > Twitter, wusheng1108
>> > > >
>> > > >
>> > > > Chao Zhang  于2021年3月21日周日 下午1:55写道:
>> > > >
>> > > > > It’s not so easy to use gRPC in APISIX as the lack of ecosystem,
>> but
>> > with
>> > > > > the help of gRPC gateway (
>> > https://github.com/grpc-ecosystem/grpc-gateway).
>> > > > > We can use the restful APIs to talk with gRPC endpoints. Just like
>> > the way
>> > > > > APISIX communicates with ETCD V3 APIs.
>> > > > >
>> > > > > Chao Zhang
>> > > > > https://github.com/tokers
>> > > > >
>> > > > > On March 21, 2021 at 1:53:41 PM, Sheng Wu (
>> wu.sheng.841...@gmail.com
>> > )
>> > > > > wrote:
>> > > > >
>> > > > > Chao Zhang  于2021年3月21日周日 下午1:46写道:
>> > > > >
>> > > > > > Does the gRPC service enables grpc gateway? If so, it’s easy for
>> > APISIX
>> > > > > to
>> > > > > > integrate it?
>> > > > > >
>> > > > >
>> > > > > What is the relationship with grpc gateway?
>> > > > >
>> > > > >
>> > > > >
>> > > > > >
>> > > > > > Zexuan Luo 于2021年3月21日 周日13:35写道:
>> > > > > >
>> > > > > > > Another solution is wrapping the C++ implementation of the
>> GPRC
>> > > > > > > client. But it requires you to prebuild the proto file into
>> *.c
>> > source
>> > > > > > > and can only be distributed as part of apisix-openresty.
>> > > > > > >
>> > > > > > > Zexuan Luo  于2021年3月21日周日 下午1:25写道:
>> > > > > > > >
>> > > > > > > > AFAIK, there is not library sup

Re: Investigate the necessity of building SkyWalking LUA metrics/meter APIs

2021-03-22 Thread wei jin
; those data to SkyWalking.
> > > > > > > > >
> > > > > > > > > And I think we can try to use `gRPC` to report data. What
> do
> > > > > > > > > you think? @ming @spacewander
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On Fri, Mar 19, 2021 at 11:43 PM Ming Wen <
> > wenm...@apache.org>
> > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > Cool, I think we can try ALS
> > > > > > > > > >
> > > > > > > > > > Sheng Wu 于2021年3月19日
> > 周五下午11:21写道:
> > > > > > > > > >
> > > > > > > > > > > We have run the Envoy ALS performance test a long time
> > ago(2
> > > > > > > years, I
> > > > > > > > > > > think). Sadly, no public blog.
> > > > > > > > > > > It could easily support 10k-20k/s traffic with a very
> > low load
> > > > > to
> > > > > > > the
> > > > > > > > > > > proxy. But, it is based on gRPC, so basically, it
> > doesn't send
> > > > > > many
> > > > > > > > > > things
> > > > > > > > > > > out, mostly only flags and latency value.
> > > > > > > > > > > APISIX is using HTTP1.1 mostly, so, this could be
> > different.
> > > > > > > > > > > Also, at the same time, besides the ALS, we have a
> > chance to
> > > > > > > provide a
> > > > > > > > > > push
> > > > > > > > > > > mode LUA SDK in skywalking meter format. It could
> provide
> > > > > > URI-level
> > > > > > > > > > metrics
> > > > > > > > > > > at reasonable resource cost, especially it works with
> > > > > SkyWalking
> > > > > > > > > > satellite,
> > > > > > > > > > > which could leverage local disk to cache the data.
> > > > > > > > > > > The biggest advantage of ALS, is replacing the physical
> > local
> > > > > > > access log
> > > > > > > > > > > file. So you have metrics, topology(dependency), and
> > logs in
> > > > > one
> > > > > > > package
> > > > > > > > > > of
> > > > > > > > > > > data.
> > > > > > > > > > >
> > > > > > > > > > > If you want to discuss most ALS in APISIX, I am glad to
> > help
> > > > > with
> > > > > > > the
> > > > > > > > > > > design and integration solution.
> > > > > > > > > > >
> > > > > > > > > > > Sheng Wu 吴晟
> > > > > > > > > > > Twitter, wusheng1108
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Ming Wen  于2021年3月19日周五 下午11:08写道:
> > > > > > > > > > >
> > > > > > > > > > > > yes, Prometheus is not designed for URI-level
> metrics.
> > > > > > > > > > > >
> > > > > > > > > > > > Does envoy ALS will send too much data and cause
> > performance
> > > > > > > problems?
> > > > > > > > > > > >
> > > > > > > > > > > > And I know skywalking will supoort envoy WASM, is
> there
> > > > > > anything
> > > > > > > apisix
> > > > > > > > > > > can
> > > > > > > > > > > > learn from this?
> > > > > > > > > > > >
> > > > > > > > > > > > Sheng Wu 于2021年3月19日
> > 周五下午8:11写道:
> > > > > > > > > > > >
> > > > > > > > > > > > > Hi APISIX & SkyWalking community
> > > > > > > > > > > > >
> > > > > > > > > > > > > I was discussing with Wei Jin about using
> Prometheus
> > SDK
> > > > > to
> > > > > > > monitor
> > > > > > > > > > > > > URI-level metrics of APISIX/OpenResty.
> > > > > > > > > > > > > Wei received feedback that way of using Prometheus
> > SDK
> > > > > > causing
> > > > > > > > > > > > > a significant performance impact. From the
> > observability
> > > > > > > perspective,
> > > > > > > > > > > > Prom
> > > > > > > > > > > > > is not good at gathering a large scale of entities'
> > > > > metrics
> > > > > > > due to
> > > > > > > > > > its
> > > > > > > > > > > > > local cache and pull mode.
> > > > > > > > > > > > > Instead, we should consider providing a push way
> like
> > > > > Envoy
> > > > > > > ALS[1]
> > > > > > > > > > and
> > > > > > > > > > > > > Metrics Service[2] did(it does through gRPC, and
> > > > > SkyWalking
> > > > > > > > > > recommended
> > > > > > > > > > > > in
> > > > > > > > > > > > > the prod environment.
> > > > > > > > > > > > > If this is accepted and agreed by the APISIX
> > community, we
> > > > > > > could look
> > > > > > > > > > > for
> > > > > > > > > > > > > implementation in the skywalking-nginx-lua[3] repo
> to
> > > > > collect
> > > > > > > > > > > > metrics(meter
> > > > > > > > > > > > > in SkyWalking) and use HTTP(in SkyWalking native
> > meter
> > > > > > format)
> > > > > > > to
> > > > > > > > > > > report
> > > > > > > > > > > > >
> > > > > > > > > > > > > This mail has been sent to dev@apisix.apache.org
> and
> > > > > > > > > > > > > d...@skywalking.apache.org. Please reply all when
> you
> > > > > discuss
> > > > > > > in the
> > > > > > > > > > > > > thread.
> > > > > > > > > > > > >
> > > > > > > > > > > > > [1]
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> >
> https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/accesslog/v2/als.proto
> > > > > > > > > > > > > [2]
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> >
> https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/metrics/v2/metrics_service.proto
> > > > > > > > > > > > > [3] https://github.com/apache/skywalking-nginx-lua
> > > > > > > > > > > > >
> > > > > > > > > > > > > Sheng Wu 吴晟
> > > > > > > > > > > > > Twitter, wusheng1108
> > > > > > > > > > > > >
> > > > > > > > > > > > --
> > > > > > > > > > > > Thanks,
> > > > > > > > > > > > Ming Wen, Apache APISIX PMC Chair
> > > > > > > > > > > > Twitter: _WenMing
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > --
> > > > > > > > > > Thanks,
> > > > > > > > > > Ming Wen, Apache APISIX PMC Chair
> > > > > > > > > > Twitter: _WenMing
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > >
> > > > > > > > > *MembPhis*
> > > > > > > > > My GitHub: https://github.com/membphis
> > > > > > > > > Apache APISIX: https://github.com/apache/apisix
> > > > > > >
> > > > > > --
> > > > > > Best regards
> > > > > > Alex Zhang
> > > > > >
> > > > > > https://github.com/tokers
> > > > > > https://github.com/upyun/upyun-resty
> > > > > >
> > > > >
> > > > >
> >
>
>
> --
>
> *MembPhis*
> My GitHub: https://github.com/membphis
> Apache APISIX: https://github.com/apache/apisix
>


[ANNOUNCE] Apache apisix-ingress-controller 0.4.0 has been released

2021-03-11 Thread wei jin
Hi folks,


The Apache APISIX community is glad to announce that Apache
apisix-ingress-controller
0.4.0 has been released.


Apache APISIX is a cloud-native microservices API gateway, delivering the
ultimate performance, security, open-source and scalable platform for all
your APIs and microservices.


Apache APISIX is based on Nginx and Etcd, it has dynamic routing and
plug-in hot loading, which is especially suitable for API management under
the micro-service system.


Download Link: https://apisix.apache.org/downloads/


The Apache apisix-ingress-controller aims to help users to use Apache
APISIX as
an ingress in Kubernetes.


Release Note:
https://github.com/apache/apisix-ingress-controller/blob/v0.4.0/CHANGELOG.md


Apache apisix-ingress-controller Resources:
- Issues: https://github.com/apache/apisix-ingress-controller/issues
- Mailing List: dev@apisix.apache.org


[VOTE][RESULT] Apache apisix-ingress-controller version 0.4.0

2021-03-11 Thread wei jin
Hello community,
Release vote for Apache apisix-ingress-controller 0.4.0 has PASSED and
closed now.

3 PMC +1 votes:
- YuanSheng Wang
- Zhiyuan Ju
- wei jin



Vote thread:
https://lists.apache.org/thread.html/rfbb1596aa9d349d3df80f54c17832afad64f3784d33c1d74c7796e94%40%3Cdev.apisix.apache.org%3E

I will continue the release process.

Thank you all for making this happen!


Re: [VOTE]Apache apisix-ingress-controller version 0.4.0

2021-03-11 Thread wei jin
+1 binding
I checked:

   - Download links are valid
   - Checksums are fine
   - No binary file
   - All files have valid header
   - LICENSE & NOTICE files are good
   - Build successfully on mac os
   - Build Docker image  successfully

wei jin  于2021年3月8日周一 下午6:33写道:

> Sorry, there is an error in step 3 of validating the release, a space is
> missing, the command should be :
>
> 3. Unzip and Check files
>
> $ mkdir -p apisix-ingress-controller && tar zxvf
> apache-apisix-ingress-controller-0.4.0-src.tgz -C
> ./apisix-ingress-controller && cd apisix-ingress-controller
>
> wei jin  于2021年3月8日周一 下午6:29写道:
>
>> Hello, Community,
>>
>> This is a call for the vote to release Apache apisix-ingress-controller
>> version 0.4.0 .
>>
>> Release notes:
>>
>>
>> https://github.com/apache/apisix-ingress-controller/blob/v0.4.0/CHANGELOG.md
>>
>> The release candidates:
>>
>>
>> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.4.0/
>>
>> Git tag for the release:
>>
>> https://github.com/apache/apisix-ingress-controller/tree/v0.4.0
>>
>> Release Commit ID:
>>
>>
>> https://github.com/apache/apisix-ingress-controller/commit/1e96f8ae6bc1b6a266d9e3a6eab8540fffd16384
>>
>>
>> Keys to verify the Release Candidate:
>>
>> https://dist.apache.org/repos/dist/dev/apisix/KEYS
>>
>> Steps to validate the release:
>>
>> 1.Download the release file
>>
>> $ wget
>> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.4.0/apache-apisix-ingress-controller-0.4.0-src.tgz
>>
>> 2.Checksums and signatures
>>
>>
>> $ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
>> $ wget
>> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.4.0/apache-apisix-ingress-controller-0.4.0-src.tgz.asc
>> $ wget
>> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.4.0/apache-apisix-ingress-controller-0.4.0-src.tgz.sha512
>> $ shasum -c apache-apisix-ingress-controller-0.4.0-src.tgz.sha512
>> $ gpg --import KEYS
>> # Input "trust", then input number 5, then input "save"$ gpg --edit-key
>> "Wei Jin"
>> $ gpg --verify apache-apisix-ingress-controller-0.4.0-src.tgz.asc
>> apache-apisix-ingress-controller-0.4.0-src.tgz
>>
>>
>> 3. Unzip and Check files
>>
>> $ mkdir -p apisix-ingress-controller && tar zxvf
>> apache-apisix-ingress-controller-0.4.0-src.tgz-C
>> ./apisix-ingress-controller && cd apisix-ingress-controller
>>
>>
>> 4. Build
>>
>> Please refer to
>>
>> https://github.com/apache/apisix-ingress-controller/blob/v0.4.0/docs/en/latest/development.md
>>
>> The vote will keep open at least 72 hours or reaches the necessary number
>> of approved votes.
>>
>> Please vote accordingly:
>> [ ] +1 Approve
>> [ ] +0 No Opinion
>> [ ] -1 Disapprove with your reason
>> Thanks!
>>
>


Re: [VOTE]Apache apisix-ingress-controller version 0.4.0

2021-03-08 Thread wei jin
Sorry, there is an error in step 3 of validating the release, a space is
missing, the command should be :

3. Unzip and Check files

$ mkdir -p apisix-ingress-controller && tar zxvf
apache-apisix-ingress-controller-0.4.0-src.tgz -C
./apisix-ingress-controller && cd apisix-ingress-controller

wei jin  于2021年3月8日周一 下午6:29写道:

> Hello, Community,
>
> This is a call for the vote to release Apache apisix-ingress-controller
> version 0.4.0 .
>
> Release notes:
>
>
> https://github.com/apache/apisix-ingress-controller/blob/v0.4.0/CHANGELOG.md
>
> The release candidates:
>
>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.4.0/
>
> Git tag for the release:
>
> https://github.com/apache/apisix-ingress-controller/tree/v0.4.0
>
> Release Commit ID:
>
>
> https://github.com/apache/apisix-ingress-controller/commit/1e96f8ae6bc1b6a266d9e3a6eab8540fffd16384
>
>
> Keys to verify the Release Candidate:
>
> https://dist.apache.org/repos/dist/dev/apisix/KEYS
>
> Steps to validate the release:
>
> 1.Download the release file
>
> $ wget
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.4.0/apache-apisix-ingress-controller-0.4.0-src.tgz
>
> 2.Checksums and signatures
>
>
> $ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> $ wget
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.4.0/apache-apisix-ingress-controller-0.4.0-src.tgz.asc
> $ wget
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.4.0/apache-apisix-ingress-controller-0.4.0-src.tgz.sha512
> $ shasum -c apache-apisix-ingress-controller-0.4.0-src.tgz.sha512
> $ gpg --import KEYS
> # Input "trust", then input number 5, then input "save"$ gpg --edit-key
> "Wei Jin"
> $ gpg --verify apache-apisix-ingress-controller-0.4.0-src.tgz.asc
> apache-apisix-ingress-controller-0.4.0-src.tgz
>
>
> 3. Unzip and Check files
>
> $ mkdir -p apisix-ingress-controller && tar zxvf
> apache-apisix-ingress-controller-0.4.0-src.tgz-C
> ./apisix-ingress-controller && cd apisix-ingress-controller
>
>
> 4. Build
>
> Please refer to
>
> https://github.com/apache/apisix-ingress-controller/blob/v0.4.0/docs/en/latest/development.md
>
> The vote will keep open at least 72 hours or reaches the necessary number
> of approved votes.
>
> Please vote accordingly:
> [ ] +1 Approve
> [ ] +0 No Opinion
> [ ] -1 Disapprove with your reason
> Thanks!
>


[VOTE]Apache apisix-ingress-controller version 0.4.0

2021-03-08 Thread wei jin
Hello, Community,

This is a call for the vote to release Apache apisix-ingress-controller
version 0.4.0 .

Release notes:

https://github.com/apache/apisix-ingress-controller/blob/v0.4.0/CHANGELOG.md

The release candidates:

https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.4.0/

Git tag for the release:

https://github.com/apache/apisix-ingress-controller/tree/v0.4.0

Release Commit ID:

https://github.com/apache/apisix-ingress-controller/commit/1e96f8ae6bc1b6a266d9e3a6eab8540fffd16384


Keys to verify the Release Candidate:

https://dist.apache.org/repos/dist/dev/apisix/KEYS

Steps to validate the release:

1.Download the release file

$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.4.0/apache-apisix-ingress-controller-0.4.0-src.tgz

2.Checksums and signatures


$ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.4.0/apache-apisix-ingress-controller-0.4.0-src.tgz.asc
$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.4.0/apache-apisix-ingress-controller-0.4.0-src.tgz.sha512
$ shasum -c apache-apisix-ingress-controller-0.4.0-src.tgz.sha512
$ gpg --import KEYS
# Input "trust", then input number 5, then input "save"$ gpg --edit-key
"Wei Jin"
$ gpg --verify apache-apisix-ingress-controller-0.4.0-src.tgz.asc
apache-apisix-ingress-controller-0.4.0-src.tgz


3. Unzip and Check files

$ mkdir -p apisix-ingress-controller && tar zxvf
apache-apisix-ingress-controller-0.4.0-src.tgz-C
./apisix-ingress-controller && cd apisix-ingress-controller


4. Build

Please refer to
https://github.com/apache/apisix-ingress-controller/blob/v0.4.0/docs/en/latest/development.md

The vote will keep open at least 72 hours or reaches the necessary number
of approved votes.

Please vote accordingly:
[ ] +1 Approve
[ ] +0 No Opinion
[ ] -1 Disapprove with your reason
Thanks!


Re: [DISCUSS] Optimize the custom plugin configuration process

2021-03-03 Thread wei jin
@spacewander  Agree, apart from the first point of network connectivity, I
did not have a good solution to the other two problems.
Do other people have any good opinions ?

Zexuan Luo  于2021年3月4日周四 上午9:33写道:

> > The dashboard monitors the changes of the main branch and pushes the
> changed lua files to etcd
>
> So it means the dashboard should be able to watch the VCS of the
> development environment? But the network between dev environment and
> prod environment is either separate or unidirectional. You can push a
> change to the prod environment, but the prod environment can't run
> `git` to fetch your code.
>
>
> > apisix(DP) automatically synchronizes the custom plugin from etcd. And
> do not need to write to lua file.
>
> I doubt it is suitable for debugging if we don't store it in a file.
> And we should remember there is a key size limitation of etcd. Etcd is
> not designed as a file storage.
>
> > Of course, we do face some complex plug-in scenarios, for example,
> plug-ins
> that need to modify sharedict or those plugins which need to patch APISIX /
> OpenResty itself.
> > I suggest that this kind of plug-in is special, so you don't need to
> support it at first. Only supports single lua files.
>
> A solution which only works in the normal case is unacceptable. There
> must be a way to extend the solution to let it work with special
> cases. Take opm as an example, no one uses it because it only supports
> pure Lua libraries. If our way only supports a single Lua file, people
> will switch to re-package once they need to handle special cases. So
> why don't they use the re-package way from the beginning?
>


Re: [DISCUSS] Optimize the custom plugin configuration process

2021-03-03 Thread wei jin
The following are some of my thoughts, I hope to discuss with you.

First of all, I want to correct the second step of the plan,

Should change `apisix automatically synchronizes the custom plugin lua
files to etcd.` to `apisix automatically synchronizes the custom plugin
from etcd.`

A rough process should look like this:

1. user modify some lua plugins through dashboard;
||
||
\/
2. dashboard sync lua plugins to etcd through manager-api;
||
||
\/
3. apisix(DP) automatically synchronizes the custom plugin from etcd. And
do not need to write to lua file.

Now, Let's add some version control for lua plugins with the concept of
gitops, which will be executed between step 1 and step 2 above.

A GitOps process is a bit like we usually submit PRs, and with some
conventions of branch management model , we can implement a simple CI/CD.

For example, suppose we have two branches dev and main,

1. write/modify plugins in dev branch
2. After completing the normal test, submit the PR to the main branch to
trigger the CI test
3. After CI is done successfully, the code is merged into the main branch
4. The dashboard monitors the changes of the main branch and pushes the
changed lua files to etcd

This may result in some changes to the dashboard and APISIX, but I think it
is worth it.

The way of using GitOps has the following advantages:
1. When encountering problems, quickly roll back to the last stable version
2. Contribute to multi-cluster management
3. Since plugin files may be independent as a separate warehouse, and even
help us realize the plug-in market

Of course, we do face some complex plug-in scenarios, for example, plug-ins
that need to modify sharedict or those plugins which need to patch APISIX /
OpenResty itself.
I suggest that this kind of plug-in is special, so you don't need to
support it at first. Only supports single lua files.



Zexuan Luo  于2021年3月3日周三 上午10:09写道:

> Some plugins contain changes across multiple files and even need to
> patch APISIX / OpenResty itself. The solution should be able to handle
> it.
>
> Zexuan Luo  于2021年3月3日周三 上午10:04写道:
> >
> > Please explain how to use GitOps to update the custom plugins via
> dashboard.
> >
> > Yi Sun <7sunm...@gmail.com> 于2021年3月3日周三 上午9:44写道:
> > >
> > > 1. Is it possible to have the user sync the etcd lua file before
> re-package?
> > > 2. We can probably use other tools like GitOps to manage custom
> plugins?
> > >
> > > Thanks.
> > >
> > > Zexuan Luo  于2021年3月2日周二 下午3:47写道:
> > >
> > > > Some users who write their custom plugins will re-package APISIX by
> > > > themselves. Sync the Lua files to etcd might not be a good choice for
> > > > them.
> > > > And etcd is not suitable to manage files.
> > > >
> > > > 孙毅  于2021年3月2日周二 下午3:38写道:
> > > > >
> > > > > Hello, devs,
> > > > >
> > > > > The current process for users who want to use custom plugins.
> > > > > 1. configure the custom plugin according to the apisix
> specification:
> > > > > https://github.com/apache/apisix/blob/
> > > > > master/docs/en/latest/plugin-develop.md
> > > > > 2. export the apisix jsonschema file.
> > > > > 3. Manually import the exported jsonshcema file into the
> apisix-dashboard
> > > > > conf directory. 4.
> > > > > 4. restart manager-api.
> > > > >
> > > > > Disadvantage: The process is too tedious and requires manual
> copying
> > > > which
> > > > > is prone to errors
> > > > >
> > > > > Improvements:
> > > > > According to the design architecture of apisix and security
> > > > considerations,
> > > > > apisix does not allow direct modification of ETCD.
> > > > > 1. the user synchronizes the custom plugin lua files to etcd
> through the
> > > > > dashboard interface or by calling the interface.
> > > > > 2. apisix automatically synchronizes the custom plugin lua files
> to etcd.
> > > > > Advantage: greatly reduces the difficulty of using custom plugins,
> no
> > > > > manual synchronization process
> > > > > Disadvantages:
> > > > >1.Only supports single lua files
> > > > >2. Share dict is not supported
> > > > >
> > > > > what do you think?
> > > > >
> > > > > Thanks.
> > > >
>


Re: [DISCUSS] Use label instead of ID

2021-02-28 Thread wei jin
I also created a discuss issue here:
https://github.com/apache/apisix/issues/3704

wei jin  于2021年3月1日周一 上午11:45写道:

> Currently APISIX contains many objects, route/service/upstream/plugin, and
> they are related by ID.
> Although using ID to manager relations between objects is easy to
> understand and can accomplish most things, but I think the way of ID is not
> a final solution, we should use the form of label-selector to associate
> objects.
>
> There are two reasons:
>
> 1. Using ID means adding a relationship, or an object will need to add a
> xxx_id field to other existed objects, such as service_id, upstream_id, or
> other id in route. If it is a many-to-many relationship, you also need a
> xxx_ids, or a template_id, and then encapsulate multiple ids in the
> template, such as plugin_config_id in route.
>
> 2. Service deployment and some batch processing (such as multi-cluster
> replication) is a multi-dimensional structure, for example, multiple
> clusters, multiple partitions, multiple issuance sequences, application
> hierarchical management and other practical situations, especially due to
> infrastructure rather than The multi-dimensional structure caused by the
> logical division of users. We cannot use id to pass in the
> multi-dimensional structure, resulting in the configuration cannot be
> passed and reused.
>
> Of course, using label-selector to organize object relationships brings
> some benefits, but it also increases the complexity of the implementation.
> For example, when a label is modified or the selection condition of a
> selector is modified, the corresponding object needs to be notified. Of
> course, this can also be implemented in other life cycles, such as query or
> timing operations.
> What do you think?
>


[DISCUSS] Use label instead of ID

2021-02-28 Thread wei jin
Currently APISIX contains many objects, route/service/upstream/plugin, and
they are related by ID.
Although using ID to manager relations between objects is easy to
understand and can accomplish most things, but I think the way of ID is not
a final solution, we should use the form of label-selector to associate
objects.

There are two reasons:

1. Using ID means adding a relationship, or an object will need to add a
xxx_id field to other existed objects, such as service_id, upstream_id, or
other id in route. If it is a many-to-many relationship, you also need a
xxx_ids, or a template_id, and then encapsulate multiple ids in the
template, such as plugin_config_id in route.

2. Service deployment and some batch processing (such as multi-cluster
replication) is a multi-dimensional structure, for example, multiple
clusters, multiple partitions, multiple issuance sequences, application
hierarchical management and other practical situations, especially due to
infrastructure rather than The multi-dimensional structure caused by the
logical division of users. We cannot use id to pass in the
multi-dimensional structure, resulting in the configuration cannot be
passed and reused.

Of course, using label-selector to organize object relationships brings
some benefits, but it also increases the complexity of the implementation.
For example, when a label is modified or the selection condition of a
selector is modified, the corresponding object needs to be notified. Of
course, this can also be implemented in other life cycles, such as query or
timing operations.
What do you think?


Re: [DISCUSS] Run plugins according to the configuration order instead of priority

2021-02-27 Thread wei jin
I think neither priority nor order can give users an intuitive
understanding of the execution order of plugins, because of the concept of
nginx phase.

For developers, we need to list a table in the document to publicize the
execution order after the combination of the priority of the plug-in and
the plug-in phase , so that it is convenient for developers and team review.

For users, we need to use some API feedback to inform users of the
execution order of plugins bound to a route, or how many routes a plugin is
bound to.

Chao Zhang  于2021年2月27日周六 下午12:18写道:

> Currently the plugin is embedded as an object inside route, we may also
> support the array type. When the plugin is object, just use the priority
> way; when it’s an array, running them from top to bottom (it’s not
> absolutely right since the concept of phase).
>
> Also, mention the changes in FAQs and Docs, what’s more, the dashboard UI
> needs some friendly prompts to mention the order.
>
> Ming Wen 于2021年2月27日 周六11:50写道:
>
> > hello, dev,
> >
> > Now each plug-in of Apache APISIX has a priority attribute. If multiple
> > plug-ins are configured on an API, in a certain phase (rewrite/log and
> > other nginx phases), these will be executed in the order of priorities.
> >
> > This design brings two problems:
> > 1. Developers always need to set priority when adding new plug-ins,
> > otherwise it will conflict with existing plug-ins.
> > 2. When multiple plug-ins are set, it is difficult to distinguish the
> order
> > in which these plug-ins are executed, which brings some troubles to
> > debugging. It is impossible for developers to remember the priority
> > attributes of all plugins.
> >
> > So, can we not use the priority, but the configuration order of the
> > plug-ins (the earliest execution at the top of the plug-in list) to
> execute
> > sequentially?
> >
> > In this way, developers will no longer have any doubts about the run
> order.
> >
> > Of course, there is no perfect technical solution, it will also bring a
> > problem:
> > if the developer configures the wrong order, it will bring some risks.
> For
> > example, a developer want to run kafka plugin for send log first, then
> run
> > request rewrite plugin to change http header. This is impossible.
> >
> > However, this risk is controllable, and we can add two judgments:
> > 1. Make stage judgments in the Admin API, for example, it is not allowed
> to
> > execute plug-ins in the rewrite stage after the plug-ins in the log
> stage;
> > 2. Make obvious interactive prompts and tests on the dashboard.
> >
> > What do you think?
> >
> > Thanks,
> > Ming Wen, Apache APISIX PMC Chair
> > Twitter: _WenMing
> >
>


Re: [VOTE] Apache apisix-ingress-controller version 0.3.0

2021-02-08 Thread wei jin
+1 binding
I checked:

   - Download links are valid
   - Checksums are fine
   - No binary file
   - All files have valid header
   - LICENSE & NOTICE files are good
   - Build successfully on mac os
   - Build Docker image  successfully


Chao Zhang  于2021年2月6日周六 下午2:12写道:

> Hello, Community,
> This is a call for the vote to release Apache apisix-ingress-controller
> version 0.3.0
>
> Release notes:
>
>
> https://github.com/apache/apisix-ingress-controller/blob/master/CHANGELOG.md#030
>
> The release candidates:
>
>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.3.0/
>
> Release Commit ID:
>
>
> https://github.com/apache/apisix-ingress-controller/commit/105de686b50d51ecdb0b05d993476def884b25ee
>
> Keys to verify the Release Candidate:
>
> https://dist.apache.org/repos/dist/dev/apisix/KEYS
>
> Steps to validating the release:
>
> 1. Download the release
>
> wget
>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.3.0/apache-apisix-ingress-controller-0.3.0-src.tgz
>
> 2. Checksums and signatures
>
> wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
>
> wget
>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.3.0/apache-apisix-ingress-controller-0.3.0-src.tgz.asc
>
> wget
>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.3.0/apache-apisix-ingress-controller-0.3.0-src.tgz.sha512
>
> shasum -c apache-apisix-ingress-controller-0.3.0-src.tgz.sha512
>
> gpg --verify apache-apisix-ingress-controller-0.3.0-src.tgz.asc
> apache-apisix-ingress-controller-0.3.0-src.tgz
>
> 3. Unzip and Check files
>
> tar xzvf apache-apisix-ingress-controller-0.3.0-src.tgz
>
> 4. Build
>
> Please refer to
>
> https://github.com/apache/apisix-ingress-controller/blob/v0.3.0/docs/development.md
> .
>
> The vote will be open for at least 72 hours or until necessary number of
> votes are reached.
>
> Please vote accordingly:
>
> [ ] +1 approve
> [ ] +0 no opinion
> [ ] -1 disapprove with the reason
>


Re: [DISCUSS] Only maintain English documents

2021-01-21 Thread wei jin
Agree, only keep english docs.

Wo Soyoung  于2021年1月22日周五 上午10:53写道:

> Hi Sheng,
>
> Thanks again for the experience sharing! Yes I agree that translators would
> leave the community quicker code contributors.
>
> I rethink my opinions a bit. If we would discard Chinese doc sooner or
> later, it's better to discard them now, so we could pay less attention to
> it. I do care too much about the sunk cost before.
>
> Changed to agree.
>
> Best,
> Shuyang
>
> Sheng Wu  于2021年1月21日周四 下午9:53写道:
>
> > Hi Shuyang
> >
> > Please don't get me wrong.
> > Of course, multi-language documents are useful. It is friendly to Chinese
> > local new contributors, especially open source is new to them.
> > And I also want to point out, the translator(also contributor for sure)
> > usually leave the community quicker than code contributors(This is not
> > discrimination). The reason is, once the first version of translation
> > completed, maintenance is very boring :P
> > I was the official Chinese documentation provider for OpenTracing(CNCF
> > project), but I left in 2 months after finishing it.
> >
> > Again, this is only my personal experience. If the committer
> team(including
> > PMC) doesn't want to work on it, I am supporting them.
> >
> > Sheng Wu 吴晟
> > Twitter, wusheng1108
> >
> >
> > Shuyang Wu  于2021年1月21日周四 下午9:45写道:
> >
> > > Hi Sheng,
> > >
> > > Thank you for your experience sharing! That indeed makes sense to me,
> > that
> > > a survey in the community might not give us effective information,
> since
> > > "something is always better than nothing". And indeed the functionality
> > and
> > > community are way more important than localized documentation.
> > >
> > > But the less importance doesn't mean it's useless. I just think it is
> not
> > > the time for us to abandon Chinese docs, since it seems still not a
> > burden
> > > to the community. If I make it right, 3 out of ~60 pages of doc are
> only
> > in
> > > English, 1 out of 15 doc related issues are about Chinese doc. I think
> > > that's acceptable for the community to fix. So unless someone told me
> > s/he
> > > is tired of fix Chinese doc issues (to make it so little), I'll still
> > hold
> > > my point. (otherwise I'll praise her/him as a hero and directly +1 :)
> > >
> > > And for what could we benefit from that, I could find some first-time
> > > contributors trying to use a Chinese version doc as their first PR.
> > What's
> > > more, although the only requirement for documentation is clear, that's
> > > enough, people are still trying to create Chinese documentation of k8s,
> > > envoy and all those common tools. We have to say convenience could make
> > > people have easier access to the tool and the community. Localization
> is
> > > not necessary, but it's still important, and beneficial.
> > >
> > > Best,
> > > Shuyang
> > >
> > >
> > > YuanSheng Wang  于2021年1月21日周四 下午5:30写道:
> > >
> > > > > people choose a project because it is powerful, useful, fixing
> > > > > their real issues, rather than having Chinese documentations.
> > > >
> > > > I love it.
> > > >
> > > >
> > > > On Thu, Jan 21, 2021 at 5:19 PM Sheng Wu 
> > > > wrote:
> > > >
> > > > > Hi all
> > > > >
> > > > > I want to share a little experience from Apache SkyWalking, which
> > used
> > > to
> > > > > have dual language documentation, but not anymore for 2 years.
> > > > > At first, some users may complain about this, and saying it is hard
> > to
> > > > > understand. If you run a survey to the community, this reason will
> > turn
> > > > > out.
> > > > > But with time, you will notice, people are getting used to it, and
> > > Google
> > > > > translation is powerful enough for understanding the document. (the
> > > same
> > > > > story, you said acceptable for not-Chinese-speaker).
> > > > >
> > > > > If the APISIX community wants to lower the load of maintaining dual
> > > > > languages, don't need to have a concern about losing users,
> because,
> > in
> > > > > reality, people choose a project because it is powerful, useful,
> > fixing
> > > > > their real issues, rather than having Chinese documentations.
> > > > >
> > > > > Sheng Wu 吴晟
> > > > > Twitter, wusheng1108
> > > > >
> > > > >
> > > > > Ming Wen  于2021年1月21日周四 下午5:05写道:
> > > > >
> > > > > > yes, this is the discuss thread, and mailinglist is the public
> > > channel
> > > > > too.
> > > > > > welcome everyone join us.
> > > > > >
> > > > > > Thanks,
> > > > > > Ming Wen, Apache APISIX PMC Chair
> > > > > > Twitter: _WenMing
> > > > > >
> > > > > >
> > > > > > Shuyang Wu  于2021年1月21日周四 下午5:02写道:
> > > > > >
> > > > > > > I'm not so sure about this, maybe we need some feedback from
> our
> > > > users
> > > > > > but
> > > > > > > not just ourselves.
> > > > > > >
> > > > > > > Since the main part of our users (as found in PoweredBy) are
> from
> > > > > China,
> > > > > > I
> > > > > > > think people could benefit some from Chinese docs. Besides,
> most
> > of
> > > > our
> > > > > > > contributors are from 

[VOTE][RESULT] Release Apache apisix-ingress-controller 0.2.0

2021-01-13 Thread wei jin
Hello community,
Release vote for Apache apisix-ingress-controller 0.2.0 has PASSED and
closed now.

3 PMC +1 votes:
- YuanSheng Wang
- JunXu Chen
- wei jin



Vote thread:
https://lists.apache.org/thread.html/rb3c91e16f4ce08c8976b4f36809b8d208f2769ad7b94da80d45ea3a3%40%3Cdev.apisix.apache.org%3E

I will continue the release process.

Thank you all for making this happen!


Re: [VOTE] Apache apisix-ingress-controller version 0.2.0

2021-01-11 Thread wei jin
+1 binding

I checked:

   - Download links are valid
   - Checksums and signatures are fine
   - No binary file
   - All files have valid header
   - LICENSE & NOTICE files are good
   - Build successfully on centos 7 and mac os
   - Build Docker image  successfully
   - Deploy and work in macos with minikube successfully


wei jin  于2021年1月9日周六 下午10:56写道:

> Hello, Community,
>
> This is a call for the vote to release Apache apisix-ingress-controller
> version 0.2.0 .
>
> Release notes:
>
>
> https://github.com/apache/apisix-ingress-controller/blob/v0.2.0/CHANGELOG.md
>
> The release candidates:
>
>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.2.0/
>
> Git tag for the release:
>
> https://github.com/apache/apisix-ingress-controller/tree/v0.2.0
>
> Release Commit ID:
>
>
> https://github.com/apache/apisix-ingress-controller/commit/5964da26078a47b888c3ef91e3054b36f9e92a3b
>
> Keys to verify the Release Candidate:
>
> https://dist.apache.org/repos/dist/dev/apisix/KEYS
>
> Steps to validate the release:
>
> 1.Download the release file
>
> ```sh
> $ wget
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.2.0/apache-apisix-ingress-controller-0.2.0-src.tgz
> ```
>
> 2.Checksums and signatures:
>
> ```sh
> $ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
>
> $ wget
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.2.0/apache-apisix-ingress-controller-0.2.0-src.tgz.asc
>
> $ wget
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.2.0/apache-apisix-ingress-controller-0.2.0-src.tgz.sha512
>
> $ shasum -c apache-apisix-ingress-controller-0.2.0-src.tgz.sha512
>
> $ gpg --import KEYS
>
> # Input "trust", then input number 5, then input "save"
> $ gpg --edit-key "Wei Jin"
>
> $ gpg --verify apache-apisix-ingress-controller-0.2.0-src.tgz.asc
> apache-apisix-ingress-controller-0.2.0-src.tgz
> ```
>
> 3. Unzip and Check files
>
> ```sh
> $ mkdir -p apisix-ingress-controller && tar zxvf
> apache-apisix-ingress-controller-0.2.0-src.tgz
> -C ./apisix-ingress-controller && cd apisix-ingress-controller
> ```
>
> 4. Build
>
> Please refer to
>
> https://github.com/apache/apisix-ingress-controller/blob/v0.2.0/docs/install.md#master-branch-builds
>
> The vote will keep open at least 72 hours or reaches the necessary number
> of approved votes.
>
> Please vote accordingly:
>
> [ ] +1 Approve
> [ ] +0 No Opinion
> [ ] -1 Disapprove with your reason
>
> Thanks!
>


Re: [VOTE] Release Apache APISIX Dashboard 2.3

2021-01-10 Thread wei jin
+1 binding

I checked:

- Download links are good;
- SHASum and GPG check is valid;
- No binary file;
- All files have proper ASF headers;

Peter Zhu  于2021年1月9日周六 下午10:00写道:

> +1 Aggre
>
>
> On January 9, 2021 at 9:34:51 PM, Zhiyuan Ju (juzhiy...@apache.org) wrote:
>
> +1 (binding)
>
> I just checked:
>
> - Download links are good;
> - SHASum and GPG check is valid;
> - No binary file;
> - All files have proper ASF headers;
> - Build Web successfully.
>
> Best Regards!
> @ Zhiyuan Ju 
>
>
> Joey Ma  于2021年1月8日周五 下午8:48写道:
>
> > +1 binding
> >
> > I checked:
> >
> > - Download links are valid
> > - Checksums and PGP signatures are valid
> > - No binary file
> > - All files have the ASF header
> > - Build successfully and run it on macOS Big Sur (11.1)
> > - Version(2.3) and GitHash(d518b47) in manager-api output are both valid
> >
> >
> >
> >
> > On Thu, Jan 7, 2021 at 9:08 PM YuanSheng Wang 
> wrote:
> >
> > > +1 binding
> > >
> > > I checked:
> > >
> > > * download links are valid
> > > * check gpg signature
> > > * success to build and run it at Ubuntu 20.04
> > > * no binary file
> > > * has ASF header
> > >
> > > I have one question, for the file name, `*.tgz` vs `*.tar.gz`, I prefer
> > > `*.tar.gz`.
> > > It is more common.
> > >
> > >
> > > On Thu, Jan 7, 2021 at 3:35 PM Chao Zhang  wrote:
> > >
> > > > Hello, Community,
> > > >
> > > > This is a call for the vote to release Apache APISIX Dashboard
> version
> > > 2.3.
> > > >
> > > > Release notes:
> > > >
> > > > github.com/apache/apisix-dashboard/blob/v2.3/CHANGELOG.md
> > > > <
> https://github.com/apache/apisix-dashboard/blob/v2.3/CHANGELOG.md#230
> > >
> > > >
> > > > The release candidates:
> > > >
> > > > https://dist.apache.org/repos/dist/dev/apisix/apisix-dashboard-2.3/
> > > >
> > > > Git tag for the release:
> > > >
> > > > https://github.com/apache/apisix-dashboard/tree/v2.3
> > > >
> > > > Release Commit ID:
> > > >
> > > >
> > > >
> > >
> >
>
> https://github.com/apache/apisix-dashboard/commit/d518b477b7d5e506ae124283aeb7cedb05027dc1
> > > >
> > > > Keys to verify the Release Candidate:
> > > >
> > > > dist.apache.org/repos/dist/dev/apisix/KEYS
> > > >
> > > > Steps to validate the release:
> > > >
> > > > 1.Download the release file
> > > >
> > > > ```sh
> > > > $ wget
> > > >
> > > >
> > >
> >
>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-dashboard-2.3/apache-apisix-dashboard-2.3-src.tgz
> > > > ```
> > > >
> > > > 2.Checksums and signatures:
> > > >
> > > > ```sh
> > > > $ wget dist.apache.org/repos/dist/dev/apisix/KEYS
> > > >
> > > > $ wget
> > > >
> > > >
> > >
> >
>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-dashboard-2.3/apache-apisix-dashboard-2.3-src.tgz.asc
> > > >
> > > > $ wget
> > > >
> > > >
> > >
> >
>
> https://dist.apache.org/repos/dist/dev/apisix/apisix-dashboard-2.3/apache-apisix-dashboard-2.3-src.tgz.sha512
> > > >
> > > > $ shasum -c apache-apisix-dashboard-2.3-src.tgz.sha512
> > > >
> > > > $ gpg --import KEYS
> > > >
> > > > # Input "trust", then input number 5, then input "save"
> > > > $ gpg --edit-key "Chao Zhang"
> > > >
> > > > $ gpg --verify apache-apisix-dashboard-2.3-src.tgz.asc
> > > > apache-apisix-dashboard-2.3-src.tgz
> > > > ```
> > > >
> > > > 3. Unzip and Check files
> > > >
> > > > ```sh
> > > > $ tar zxvf apache-apisix-dashboard-2.3-src.tgz
> > > > ```
> > > >
> > > > 4. Build
> > > >
> > > > Please refer to
> > > > github.com/apache/apisix-dashboard/blob/v2.3/docs/deploy.md
> > > >
> > > > The vote will keep open at least 72 hours or reaches the necessary
> > number
> > > > of approved votes.
> > > >
> > > > Please vote accordingly:
> > > >
> > > > [ ] +1 Approve
> > > > [ ] +0 No Opinion
> > > > [ ] -1 Disapprove with your reason
> > > >
> > > > Best Regards!
> > > >
> > >
> > >
> > > --
> > >
> > > *MembPhis*
> > > My GitHub: https://github.com/membphis
> > > Apache APISIX: https://github.com/apache/apisix
> > >
> >
>


[VOTE] Apache apisix-ingress-controller version 0.2.0

2021-01-09 Thread wei jin
Hello, Community,

This is a call for the vote to release Apache apisix-ingress-controller
version 0.2.0 .

Release notes:

https://github.com/apache/apisix-ingress-controller/blob/v0.2.0/CHANGELOG.md

The release candidates:

https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.2.0/

Git tag for the release:

https://github.com/apache/apisix-ingress-controller/tree/v0.2.0

Release Commit ID:

https://github.com/apache/apisix-ingress-controller/commit/5964da26078a47b888c3ef91e3054b36f9e92a3b

Keys to verify the Release Candidate:

https://dist.apache.org/repos/dist/dev/apisix/KEYS

Steps to validate the release:

1.Download the release file

```sh
$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.2.0/apache-apisix-ingress-controller-0.2.0-src.tgz
```

2.Checksums and signatures:

```sh
$ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS

$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.2.0/apache-apisix-ingress-controller-0.2.0-src.tgz.asc

$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.2.0/apache-apisix-ingress-controller-0.2.0-src.tgz.sha512

$ shasum -c apache-apisix-ingress-controller-0.2.0-src.tgz.sha512

$ gpg --import KEYS

# Input "trust", then input number 5, then input "save"
$ gpg --edit-key "Wei Jin"

$ gpg --verify apache-apisix-ingress-controller-0.2.0-src.tgz.asc
apache-apisix-ingress-controller-0.2.0-src.tgz
```

3. Unzip and Check files

```sh
$ mkdir -p apisix-ingress-controller && tar zxvf
apache-apisix-ingress-controller-0.2.0-src.tgz
-C ./apisix-ingress-controller && cd apisix-ingress-controller
```

4. Build

Please refer to
https://github.com/apache/apisix-ingress-controller/blob/v0.2.0/docs/install.md#master-branch-builds

The vote will keep open at least 72 hours or reaches the necessary number
of approved votes.

Please vote accordingly:

[ ] +1 Approve
[ ] +0 No Opinion
[ ] -1 Disapprove with your reason

Thanks!


[ANNOUNCE] Apache apisix-ingress-controller 0.1.0 has been released

2020-12-23 Thread wei jin
Hi folks,

The Apache APISIX community is glad to announce that Apache
apisix-ingress-controller
0.1.0 has been released.

Apache APISIX is a cloud-native microservices API gateway, delivering the
ultimate performance, security, open-source and scalable platform for all
your APIs and microservices.

Apache APISIX is based on Nginx and Etcd, it has dynamic routing and
plug-in hot loading, which is especially suitable for API management under
the micro-service system.

Download Link: https://apisix.apache.org/downloads/

The Apache apisix-ingress-controller aims to help users to use Apache
APISIX as
an ingress in Kubernetes.

Release Note:
https://github.com/apache/apisix-ingress-controller/blob/v0.1.0/CHANGELOG.md#010

Apache apisix-ingress-controller Resources:
- Issues: https://github.com/apache/apisix-ingress-controller/issues
- Mailing List: dev@apisix.apache.org


Re: [ANNOUNCE] Apache apisix-ingress-controller 2.2 has been released

2020-12-22 Thread wei jin
Sorry, the version in  title is error.
Please ignore this email, I will send a new announce later.

wei jin  于2020年12月23日周三 上午9:38写道:

> Hi folks,
>
> The Apache APISIX community is glad to announce that Apache
> apisix-ingress-controller
> 0.1.0 has been released.
>
> Apache APISIX is a cloud-native microservices API gateway, delivering the
> ultimate performance, security, open-source and scalable platform for all
> your APIs and microservices.
>
> Apache APISIX is based on Nginx and Etcd, it has dynamic routing and
> plug-in hot loading, which is especially suitable for API management under
> the micro-service system.
>
> Download Link: https://apisix.apache.org/downloads/
>
> The Apache apisix-ingress-controller aims to help users to use Apache
> APISIX as
> an ingress in Kubernetes.
>
> Release Note:
>
> https://github.com/apache/apisix-ingress-controller/blob/v0.1.0/CHANGELOG.md#010
>
> Apache apisix-ingress-controller Resources:
> - Issues: https://github.com/apache/apisix-ingress-controller/issues
> - Mailing List: dev@apisix.apache.org
>


[ANNOUNCE] Apache apisix-ingress-controller 2.2 has been released

2020-12-22 Thread wei jin
Hi folks,

The Apache APISIX community is glad to announce that Apache
apisix-ingress-controller
0.1.0 has been released.

Apache APISIX is a cloud-native microservices API gateway, delivering the
ultimate performance, security, open-source and scalable platform for all
your APIs and microservices.

Apache APISIX is based on Nginx and Etcd, it has dynamic routing and
plug-in hot loading, which is especially suitable for API management under
the micro-service system.

Download Link: https://apisix.apache.org/downloads/

The Apache apisix-ingress-controller aims to help users to use Apache
APISIX as
an ingress in Kubernetes.

Release Note:
https://github.com/apache/apisix-ingress-controller/blob/v0.1.0/CHANGELOG.md#010

Apache apisix-ingress-controller Resources:
- Issues: https://github.com/apache/apisix-ingress-controller/issues
- Mailing List: dev@apisix.apache.org


[VOTE][RESULT] Release Apache apisix-ingress-controller 0.1.0

2020-12-22 Thread wei jin
Hello community,
Release vote for Apache apisix-ingress-controller 0.1.0 has PASSED and
closed now.

5 PMC +1 votes:
- YuanSheng Wang
- wei jin
- Lang Wang
- Linsir Wu
- JunXu Chen
- dabue

1 non-binding +1 votes:
- dabue


Vote thread:
https://lists.apache.org/thread.html/r4d55e4f94bf46fb4edc9243c1db37b8cdaed850630d7637e20e4e6a6%40%3Cdev.apisix.apache.org%3E

I will continue the release process.

Thank you all for making this happen!


Re: [VOTE] Release Apache apisix-ingress-controller 0.1.0 RC2

2020-12-21 Thread wei jin
+1 binding

I checked:

   - Download links are valid
   - Checksums and signatures are fine
   - Binary file: docs/images/*.png, and confirmed they are fine(No
   copyright issues)
   - command: find . -exec file {} \; | grep -v "ASCII" | grep -v
  "directory"  | grep -v "PEM" | grep -v "UTF-8"
   - All files have valid header
   - LICENSE & NOTICE files are good
   - Build successfully on centos 7 and mac os
   - Build Docker image  successfully
   - Deploy and work in ACK and azure cloud  successfully

YuanSheng Wang  于2020年12月22日周二 下午2:06写道:

> +1 binding
>
> checked list:
>
>- Download links are valid
>- Checksums and signatures are fine
>- Binary file: docs/images/*.png, and confirmed they are fine(No
>copyright issues)
>   - command: find . -exec file {} \; | grep -v "ASCII" | grep -v
>   "directory"  | grep -v "PEM" | grep -v "UTF-8"
>   - License header: fine
>- LICENSE & NOTICE files are good
>
>
> ```
> $ make license-check
> .actions/openwhisk-utilities/scancode/scanCode.py --config
> .actions/ASF-Release.cfg ./
> Reading configuration file [.actions/ASF-Release.cfg]...
> Scanning files starting at [./]...
> All checks passed.
>
> $ find . -exec file {} \; | grep -v "ASCII" | grep -v "directory"  | grep
> -v "PEM" | grep -v "UTF-8"
> ./docs/images/module.png: PNG image data, 1540 x 914, 8-bit/color RGBA,
> non-interlaced
> ./docs/images/scene.png: PNG image data, 2248 x 1008, 8-bit/color RGBA,
> non-interlaced
> ./docs/images/first.png: PNG image data, 2188 x 692, 8-bit/color RGBA,
> non-interlaced
> ./docs/images/struct-compare.png: PNG image data, 1162 x 850, 8-bit/color
> RGB, non-interlaced
> ./docs/images/module-1.png: PNG image data, 916 x 586, 8-bit/color RGBA,
> non-interlaced
> ./docs/images/module-0.png: PNG image data, 1268 x 658, 8-bit/color RGBA,
> non-interlaced
> ./docs/images/flow.png: PNG image data, 1538 x 1344, 8-bit/color RGBA,
> non-interlaced
> ./docs/images/hierarchical.png: PNG image data, 796 x 600, 8-bit/color
> RGBA, non-interlaced
> ./docs/images/diff-flow.png: PNG image data, 2202 x 568, 8-bit/color RGBA,
> non-interlaced
>
>
> On Fri, Dec 18, 2020 at 7:52 PM wei jin  wrote:
>
> > Hello, Community,
> >
> > This is a call for the vote to release Apache apisix-ingress-controller
> > version 0.1.0 .
> >
> > Release notes:
> >
> >
> >
> https://github.com/apache/apisix-ingress-controller/blob/v0.1.0/CHANGELOG.md
> >
> > The release candidates:
> >
> >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.1.0-rc2/
> >
> > Git tag for the release:
> >
> > https://github.com/apache/apisix-ingress-controller/tree/v0.1.0
> >
> > Release Commit ID:
> >
> >
> >
> https://github.com/apache/apisix-ingress-controller/commit/ecd479ad1ef50d94b3731d0ffbcdf6dd0f3ef19b
> >
> > Keys to verify the Release Candidate:
> >
> > https://dist.apache.org/repos/dist/dev/apisix/KEYS
> >
> > Steps to validate the release:
> >
> > 1.Download the release file
> >
> > ```sh
> > $ wget
> >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.1.0-rc2/apache-apisix-ingress-controller-0.1.0-rc2-src.tar.gz
> > ```
> >
> > 2.Checksums and signatures:
> >
> > ```sh
> > $ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> >
> > $ wget
> >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.1.0-rc2/apache-apisix-ingress-controller-0.1.0-rc2-src.tar.gz.asc
> >
> > $ wget
> >
> >
> https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.1.0-rc2/apache-apisix-ingress-controller-0.1.0-rc2-src.tar.gz.sha512
> >
> > $ shasum -c apache-apisix-ingress-controller-0.1.0-rc2-src.tar.gz.sha512
> >
> > $ gpg --import KEYS
> >
> > # Input "trust", then input number 5, then input "save"
> > $ gpg --edit-key "Wei Jin"
> >
> > $ gpg --verify apache-apisix-ingress-controller-0.1.0-rc2-src.tar.gz.asc
> > apache-apisix-ingress-controller-0.1.0-rc2-src.tar.gz
> > ```
> >
> > 3. Unzip and Check files
> >
> > ```sh
> > $ mkdir -p apisix-ingress-controller && tar zxvf
> > apache-apisix-ingress-controller-0.1.0-rc2-src.tar.gz
> > -C ./apisix-ingress-controller && cd apisix-ingress-controller
> > ```
> >
> > 4. Build
> >
> > Please refer to
> >
> >
> https://github.com/apache/apisix-ingress-controller/blob/v0.1.0/docs/install.md#manual-build
> >
> > The vote will keep open at least 72 hours or reaches the necessary number
> > of approved votes.
> >
> > Please vote accordingly:
> >
> > [ ] +1 Approve
> > [ ] +0 No Opinion
> > [ ] -1 Disapprove with your reason
> >
> > Thanks!
> >
>
>
> --
>
> *MembPhis*
> My GitHub: https://github.com/membphis
> Apache APISIX: https://github.com/apache/apisix
>


[VOTE] Release Apache apisix-ingress-controller 0.1.0 rc1

2020-12-18 Thread wei jin
Hello, Community,

This is a call for the vote to release Apache apisix-ingress-controller
version 0.1.0
RC1.

Release notes:

https://github.com/apache/apisix-ingress-controller/blob/v0.1.0/CHANGELOG.md

The release candidates:

https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.1.0-rc1/

Git tag for the release:

https://github.com/apache/apisix-ingress-controller/releases/tag/v0.1.0-rc1

Release Commit ID:

https://github.com/apache/apisix-ingress-controller/commit/5072a71fe59fe261e619bd52dabe798a4791ab57

Keys to verify the Release Candidate:

https://dist.apache.org/repos/dist/dev/apisix/KEYS

Steps to validate the release:

1.Download the release file

```sh
$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.1.0-rc1/apache-apisix-ingress-controller-0.1.0-rc1-src.tar.gz
```

2.Checksums and signatures:

```sh
$ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS

$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.1.0-rc1/apache-apisix-ingress-controller-0.1.0-rc1-src.tar.gz.asc

$ wget
https://dist.apache.org/repos/dist/dev/apisix/apisix-ingress-controller-0.1.0-rc1/apache-apisix-ingress-controller-0.1.0-rc1-src.tar.gz.sha512

$ shasum -c apache-apisix-ingress-controller-0.1.0-rc1-src.tar.gz.sha512

$ gpg --import KEYS

# Input "trust", then input number 5, then input "save"
$ gpg --edit-key "Wei Jin"

$ gpg --verify apache-apisix-ingress-controller-0.1.0-rc1-src.tar.gz.asc
apache-apisix-ingress-controller-0.1.0-rc1-src.tar.gz
```

3. Unzip and Check files

```sh
$ mkdir -p apisix-ingress-controller && tar zxvf
apache-apisix-ingress-controller-0.1.0-rc1-src.tar.gz
-C ./apisix-ingress-controller && cd apisix-ingress-controller
```

4. Install

Please refer to
https://github.com/apache/apisix-ingress-controller/blob/v0.1.0/docs/install.md

The vote will keep open at least 72 hours or reaches the necessary number
of approved votes.

Please vote accordingly:

[ ] +1 Approve
[ ] +0 No Opinion
[ ] -1 Disapprove with your reason

Thanks!


Re: [Discuss] About creating a subproject called apache/apisix-ingress-docker

2020-12-10 Thread wei jin
> I propose that the name of the sub-project is
`apache/apisix-ingress-docker`.

> Do you means github repository?

Yes,  I suggest the name of sub-project in github repository to be
`apisix-ingress-docker`.

Ming Wen  于2020年12月10日周四 下午4:40写道:

> > I propose that the name of the sub-project is
> `apache/apisix-ingress-docker`.
>
> Do you means github repository?
>
> Thanks,
> Ming Wen, Apache APISIX PMC Chair
> Twitter: _WenMing
>
>
> wei jin  于2020年12月10日周四 下午4:20写道:
>
> > Hi, community:
> >
> > Not long ago, the `apisix-ingress-controller` project was just donated to
> > Apache as a sub-project of Apache APISIX. The first version after
> donation
> > is planned to be released on December 18.
> >
> > In order to be able to quickly install in custom  environments, we plan
> to
> > submit the official image of `apisix-ingress-controller` to the Apache
> > organization of dockerhub. Therefore, a new sub-project needs to be
> created
> > to describe and maintain the official `apache/apisix-ingress-controller`
> > image.
> >
> > I propose that the name of the sub-project is
> > `apache/apisix-ingress-docker`.
> >
> > What do you think?
> >
>


[Discuss] About creating a subproject called apache/apisix-ingress-docker

2020-12-10 Thread wei jin
Hi, community:

Not long ago, the `apisix-ingress-controller` project was just donated to
Apache as a sub-project of Apache APISIX. The first version after donation
is planned to be released on December 18.

In order to be able to quickly install in custom  environments, we plan to
submit the official image of `apisix-ingress-controller` to the Apache
organization of dockerhub. Therefore, a new sub-project needs to be created
to describe and maintain the official `apache/apisix-ingress-controller`
image.

I propose that the name of the sub-project is
`apache/apisix-ingress-docker`.

What do you think?


Re: [Discussion]is it reasonable to allow one route to support multiple upstreams (aka. "upstream group")?

2020-12-04 Thread wei jin
Agree, I think it is reasonable and a big feature.
What other people think?

黄一天  于2020年12月1日周二 下午6:24写道:

> Hi Community,
>
>
>
> Consider  this scenario:
>
> In a single datacenter, there are several cluster nodes(or machines, not
> the node in upstream definition), each node deploys multiple instances as
> head services. All head services are functionally equivalent. Using Apisix
> as the gateway to access all instances. Then we have this logic structure:
>
> In this case, node1-3 can be considered as upstreams, and each upstream
> has N nodes(port1…N) in route configuration.
>
> We found current route configuration may sometimes be unclear and hard to
> manage.  Consider:
>
> (1) if one instance was down, to maintain the SLA of the whole system, we
> may pessimistically consider all instances on the same node were down
> either and immediately kick-off the whole node. In this case, we can simply
> remove one "upstream group" in the route.  (possibly done by healthcheck)
>
> (2) if one single request had failed, it is safer to make it retry with
> the instance on other nodes, not another instance on the same node.
> (without upstream group, it is a bit difficult to find the right instance
> to retry.)
>
> (3) if we consider node3 as a superior node (has more CPU cores or Memory,
> which leads to higher perf), we expect most of the traffic to be forwarded
> to this node. (In this case, maybe we could just adjust this upstream
> group’s weight)
>
>
>
> What if allow one route to support upstream list, not one upstream?
>
> What do you think?
>
> Thanks.
>
>
>


Re: [Meeting Minutes]Discussion about helm chart

2020-12-04 Thread wei jin
In the afternoon we discussed the problems encountered in the Chart project
(https://github.com/apache/apisix-helm-chart),recorded the following
conclusions:

1. Discuss the commonly used helm functions about helm install / uninstall
/ upgrade / rollback.

2. For now `configmap` is configured by template , there are too many
conditional judgment , not easy to maintain, we decide to direct
configuration about the `config.yaml` in values which is more flexible.

3. In the future we will add ingress controller Charts, It will be clearer
to use separate charts to manage ingress and APISIX.

4. Before releasing v0.1.1, we need to adjust the configuration way of
configmap. Will make a PR to solve the issue #7.

5. After finishing this version, we will organize another discussion and
work together to push the helm chart to the bitnami repo.


If you have any questions, welcome to discuss :)

wei jin  于2020年12月4日周五 下午8:43写道:

> 1. Commonly used helm functions
>
> helm install / uninstall / upgrade / rollback
>
> 2. About `configmap` configuration method
>
> Direct configuration in `values.yaml` is more flexible
>
> 3. Whether the configuration of Ingress is put together with the `apisix
> chart`
>
> It will be clearer to use a separate chart to manage ingress
>
> 4. Helm chart After finishing a version, we will organize another
> discussion and work together to push the helm chart to the bitnami repo
>
> 5. Before releasing the release, we need to adjust the configuration
> method of configmap
>


[Meeting Minutes]Discussion about helm chart

2020-12-04 Thread wei jin
1. Commonly used helm functions

helm install / uninstall / upgrade / rollback

2. About `configmap` configuration method

Direct configuration in `values.yaml` is more flexible

3. Whether the configuration of Ingress is put together with the `apisix
chart`

It will be clearer to use a separate chart to manage ingress

4. Helm chart After finishing a version, we will organize another
discussion and work together to push the helm chart to the bitnami repo

5. Before releasing the release, we need to adjust the configuration method
of configmap


Re: [VOTE] Relase Apache APISIX 2.1 (Round 2)

2020-11-28 Thread wei jin
+1 binding

I checked:
1. Download links are valid.
2. `tar zxvf apache-apisix-2.1-src.tgz` is ok in centos 7.
3. License and NOTICE files are good.
4. All files have the necessary License header.
5. No 2.1 luarocks configuration file, but build from master in centos 7 is
ok.

dabue <88786...@qq.com> 于2020年11月28日周六 下午10:42写道:

> +1
>
> I checked:
> - Download links are valid
> - Checksums and PGP signatures are valid.
>
> make deps & make init & make run  works well @centos7
>
> $ ./bin/apisix version
> 2.1
>
>
>
> 88786...@qq.com
>
> From: Ming Wen
> Date: 2020-11-28 21:07
> To: dev
> Subject: [VOTE] Relase Apache APISIX 2.1 (Round 2)
> Hello, Community,
> This is a call for the vote to release Apache APISIX version 2.1.
>
> Release notes:
>
> https://github.com/apache/apisix/blob/v2.1/CHANGELOG.md#210
>
> The release candidates:
>
> https://dist.apache.org/repos/dist/dev/apisix/2.1/
>
> Git tag for the release:
>
> https://github.com/apache/apisix/tree/v2.1
>
> Release Commit ID:
>
>
> https://github.com/apache/apisix/commit/c0f3f73842ca64b92c41c59352d3f9b7969ca738
>
> Keys to verify the Release Candidate:
>
> https://dist.apache.org/repos/dist/release/apisix/KEYS
>
> Steps to validating the release:
>
> 1. Download the release
>
> wget
> https://dist.apache.org/repos/dist/dev/apisix/2.1/apache-apisix-2.1-src.tgz
>
>
> 2. Checksums and signatures
>
> wget https://dist.apache.org/repos/dist/release/apisix/KEYS
>
> wget
>
> https://dist.apache.org/repos/dist/dev/apisix/2.1/apache-apisix-2.1-src.tgz.asc
>
> wget
>
> https://dist.apache.org/repos/dist/dev/apisix/2.1/apache-apisix-2.1-src.tgz.sha512
>
> shasum -c apache-apisix-2.1-src.tgz.sha512
>
> gpg --verify apache-apisix-2.1-src.tgz.asc apache-apisix-2.1-src.tgz
>
> 3. Unzip and Check files
>
> tar zxvf apache-apisix-2.1-src.tgz
>
> 4. Build Apache APISIX:
>
>
> https://github.com/apache/apisix/blob/v2.1/doc/how-to-build.md#installation-via-source-release
>
> The vote will be open for at least 72 hours or until necessary number of
> votes are reached.
>
> Please vote accordingly:
>
> [ ] +1 approve
> [ ] +0 no opinion
> [ ] -1 disapprove with the reason
>
> Thanks,
> Ming Wen, Apache APISIX PMC Chair
> Twitter: _WenMing
>


Re: [DISCUSS] Do we need to modify the control plane port in version 2.1

2020-11-25 Thread wei jin
Agree, Let`s do it in 3.0.

Zhiyuan Ju  于2020年11月25日周三 下午11:58写道:

> the default port maybe more important for users, changing it will take
> unexpected issue to happen when i think over again. We could do this as
> breaking change in 3.0.
>
> Chao Zhang  于 2020年11月25日周三 下午8:05写道:
>
> > Agree, this change brooks the compatibility, which is dangerous, the
> change
> > should be advertised distinctly.
> >
> > Chao Zhang
> > https://github.com/tokers
> >
> > On November 25, 2020 at 5:35:54 PM, Ming Wen (wenm...@apache.org) wrote:
> >
> > hello, dev,
> > Some users in the community noticed that Apache APISIX has modified the
> > default control plane port from 9080 to 9180 in master branch[1].
> >
> > I completely agree that this modification is correct. The data plane and
> > the control plane should be two separate ports.
> >
> > This is a problem left over from the beginning of the Apache APISIX
> design.
> >
> > However, this modification has a relatively large impact on existing
> users.
> > I think it is not suitable to be solved in version 2.1. I suggest to
> solve
> > it in version 3.0.
> > What do you think?
> >
> > [1] https://github.com/apache/apisix/pull/2802
> >
> > Thanks,
> > Ming Wen, Apache APISIX PMC Chair
> > Twitter: _WenMing
> >
>


[VOTE][RESULT] ingress-controller donation

2020-11-18 Thread wei jin
Hello, community

Thank you to take part in the vote, we have

+1 binding
wenming
membphis
chenjunxu
totemofwolf
Chao Zhang

I will sign SGA later.

Best Regards!


Re: [VOTE] ingress-controller donation

2020-11-17 Thread wei jin
Thanks, Justin
The significant committers are MingWen, YuanshengWang and me, we are all
members of Apache APISIX PMC, ICLA has been signed.


YuanSheng Wang  于2020年11月18日周三 上午10:34写道:

> > It’s best to get ICLA’s from all significant committers. A CCLA may be
> required by the committers employers but that will depend on them.
>
> many thx Justin, we will follow this.
>
> On Wed, Nov 18, 2020 at 3:43 AM Justin Mclean 
> wrote:
>
> > Hi,
> >
> > > Yes, we will sign SGA after the vote is over.
> > > Is CCLA or ICLA also need?
> >
> > It’s best to get ICLA’s from all significant committers. A CCLA may be
> > required by the committers employers but that will depend on them.
> >
> > Thanks,
> > Justin
>
>
>
> --
>
> *MembPhis*
> My GitHub: https://github.com/membphis
> Apache APISIX: https://github.com/apache/apisix
>


Re: [VOTE] ingress-controller donation

2020-11-17 Thread wei jin
Excuse me, does `software grant` mean to add apache header to each file in
this project?

Justin Mclean  于2020年11月17日周二 上午5:14写道:

> HI,
>
> Is there going to be a software grant to impart this after the vote is
> over?
>
> Thanks,
> Justin
>


Re: Re:Re: Proposal: add the traffic split plugin to apisix

2020-11-14 Thread wei jin
I think it is more appropriate to achieve traffic shift through plug-ins.

There are several reasons:
1. The execution process of traffic shift can be understood as these
components: route (data structure) -> traffic shift (algorithm) ->
upstream(s) (data structure).The traffic shift (algorithm) will change
according to the business, and the logic that is prone to change is more
suitable for implementation through plugins.
2.APISIX provides plug-in expansion capabilities, and does not affect the
core logic of the gateway, the impact of the upgrade is small;
3.We cannot guarantee that the traffic shift capabilities implemented by
the community will meet all business scenarios. If we implement it in the
routing logic, the new needs of users will be limited by the release of
APISIX.
4.Benefiting from the plug-in's implementation stage and priority
capabilities, it will also bring more flexible combination capabilities,
which we can use in combination with other plug-ins; but it will not work
if we implement it in the routing logic.
e.g. There are some parameter rewriting capabilities in the gateway's
capabilities, and some user scenarios need to modify the parameters first,
and use the modified parameters as the input parameters for flow control.
5.There is nothing wrong with implementing flow control through plug-ins,
and the efficiency is the same as that implemented in the route core code.


I proposal:
1. Use plug-ins to achieve traffic shift.
2. According to the different needs of users, continuously improve the
plug-in, and gradually turn this plug-in into a community standard
implementation.
3. We can extract APISIX’s match logic and vars logic as public
implementations.

Chao Zhang  于2020年11月7日周六 下午4:30写道:

> Hi!
>
> Why we need to implement a feature duplicately? I think you can post your
> idea about this feature to Community firstly :)
>
> Chao Zhang
> https://github.com/tokers
>
> On November 7, 2020 at 11:55:33 AM, Yuelin Zheng (zyl1...@163.com) wrote:
>
> Hi,Zhang Chao,
>
>
> Agree with your point of view. But we can go to implement the plug-in
> method, so that there is another way of `traffic split`. Allow users to
> choose their own preferred method. What do you think?
>
> At 2020-11-06 10:35:58, "Zhang Chao"  wrote:
> >Hi!
> >
> >It depends on the document description and whether people can find the
> docs
> >easily rather than the way we implement feature. That’s not a convincing
> >reason IMHO.
> >
> >On November 3, 2020 at 9:44:34 PM, Yuelin Zheng (zyl1...@163.com) wrote:
> >
> >I think plugin implementation is also a good way. If implemented through
> >existing routing rules,
> >it is difficult for people who are not familiar with apisix to find this
> >feature.
> >
> >
> >
> >
> >
> >At 2020-11-01 16:07:21, "Zhang Chao"  wrote:
> >> Hi!
> >>
> >>Actually we already have a discuss about this feature in this mailing
> list,
> >>see
> >>
> >
>
> https://lists.apache.org/thread.html/r9222f87b69bbb8cf9dce1f5e920adb6aede38f4c24bc1b0dac07b53f%40%3Cdev.apisix.apache.org%3E
> >>for
> >>the details.
> >>
> >>From my point of view, it’s better to implement the first class support
> of
> >>traffic split/shift by APISIX instead of by a plugin, since the match
> part
> >>is highly consistent with Route, and Route already handles the related
> >>logics like health check, service discovery around Upstream well. On the
> >>contrary, introducing another Plugin which references to Upstream need to
> >>consider these problems once again.
> >>
> >>So what about considering the way in the above mentioned link? :)
> >>
> >>On November 1, 2020 at 12:00:47 AM, Yuelin Zheng (zyl1...@163.com)
> wrote:
> >>
> >>Hi, Community,
> >>
> >>
> >>I have implemented a plug-in related to traffic split, and I want to add
> >>the plug-in to apisix. The following is the main information of the
> plugin:
> >>
> >>
> >>1. Background
> >>
> >>
> >>After seeing this issue about traffic split plugin #2303(
> >>https://github.com/apache/apisix/issues/2303), I think this function is
> >>very useful, it can effectively realize the flow control function.
> >>Therefore, this inspired me to implement a dynamic upstream plugin.
> >>
> >>
> >>2. Why do this
> >>For details, please see: https://github.com/apache/apisix/issues/2303
> >>Traffic split means that requests need to comply with certain rules in
> >>order to reach the designated upstream or a certain node in the upstream.
> >>Through this function, gray release, blue-green release and custom
> routing
> >>are realized, which is very useful for reducing downtime in the event of
> a
> >>failure.
> >>
> >>
> >>3. Design
> >>The dynamic upstream plug-in is mainly composed of two parts `match` and
> >>`upstreams` to implement the rules of the plugin. `match` is the matching
> >>rule of the plugin (the currently supported operations are: ==, ~=, ~~,
> >,
> >>>=, <, <=, in , ip_in). Only after the `match` rule is passed, can the
> >>`upstreams` rule in the plugin be reached, otherwise 

Re: [VOTE] ingress-controller donation

2020-11-14 Thread wei jin
In proposal, I listed the dependencies.
External Dependencies

Apache-2.0 License

   - github.com/coreos/etcd
   - github.com/coreos/go-semver
   - github.com/coreos/go-systemd
   - github.com/coreos/pkg
   - github.com/golang/glog
   - google.golang.org/genproto
   - google.golang.org/grpc
   - github.com/go-yaml/yaml
   - github.com/kubernetes/client-go
   - github.com/kubernetes/api
   - github.com/kubernetes/apimachinery
   - github.com/api7/ingress-types
   - github.com/api7/types
   - github.com/api7/seven

BSD-3-Clause License

   - github.com/gogo/protobuf
   - github.com/google/uuid
   - github.com/julienschmidt/httprouter

BSD-2-Clause License

   - github.com/pkg/errors

MIT License

   - github.com/sirupsen/logrus
   - github.com/stretchr/testify
   - github.com/tidwall/gjson
   - github.com/uber-go/zap
   - github.com/go-resty/resty


wei jin  于2020年11月15日周日 上午11:37写道:

> I thought it would be done after the vote.
>
> Zhiyuan Ju  于2020年11月15日周日 上午11:33写道:
>
>> Just one thing that needs to make sure, do we need and have all codes
>> under
>> this repo license checked?
>>
>> Best Regards!
>> @ Zhiyuan Ju <https://www.shaoyaoju.org/>
>>
>>
>> wei jin  于2020年11月15日周日 上午11:21写道:
>>
>> > This is a call for vote about ingress-controller[1] Donation. We hope to
>> > bring the existing ingress-controller codebase, developers and community
>> > into the Apache Software Foundation (ASF) as Apache APISIX's
>> sub-project.
>> >
>> > ingress-controller is an implementation of kubernetes ingress based on
>> > Apache APISIX[2]. The project is built using golang. Through
>> > ingress-controller we can use yaml to define APISIX objects such as
>> > Route/Service/Upstream in kubernetes.
>> >
>> >
>> > Here are the discuss issue[3] and the proposal wiki[4] and the discuss
>> > thread[5].
>> >
>> > [1] https://github.com/api7/ingress-controller
>> > [2] https://github.com/apache/apisix
>> > [3] https://github.com/api7/ingress-controller/issues/36
>> > [4]
>> >
>> >
>> https://cwiki.apache.org/confluence/display/APISIX/ingress-controller+Donation+Proposal
>> > [5]
>> >
>> >
>> https://lists.apache.org/thread.html/rd1a060dd7902013d71f065706caeaebc84431ac23ce16407b9fd6436%40%3Cdev.apisix.apache.org%3E
>> >
>>
>


Re: [VOTE] ingress-controller donation

2020-11-14 Thread wei jin
I thought it would be done after the vote.

Zhiyuan Ju  于2020年11月15日周日 上午11:33写道:

> Just one thing that needs to make sure, do we need and have all codes under
> this repo license checked?
>
> Best Regards!
> @ Zhiyuan Ju <https://www.shaoyaoju.org/>
>
>
> wei jin  于2020年11月15日周日 上午11:21写道:
>
> > This is a call for vote about ingress-controller[1] Donation. We hope to
> > bring the existing ingress-controller codebase, developers and community
> > into the Apache Software Foundation (ASF) as Apache APISIX's sub-project.
> >
> > ingress-controller is an implementation of kubernetes ingress based on
> > Apache APISIX[2]. The project is built using golang. Through
> > ingress-controller we can use yaml to define APISIX objects such as
> > Route/Service/Upstream in kubernetes.
> >
> >
> > Here are the discuss issue[3] and the proposal wiki[4] and the discuss
> > thread[5].
> >
> > [1] https://github.com/api7/ingress-controller
> > [2] https://github.com/apache/apisix
> > [3] https://github.com/api7/ingress-controller/issues/36
> > [4]
> >
> >
> https://cwiki.apache.org/confluence/display/APISIX/ingress-controller+Donation+Proposal
> > [5]
> >
> >
> https://lists.apache.org/thread.html/rd1a060dd7902013d71f065706caeaebc84431ac23ce16407b9fd6436%40%3Cdev.apisix.apache.org%3E
> >
>


[VOTE] ingress-controller donation

2020-11-14 Thread wei jin
This is a call for vote about ingress-controller[1] Donation. We hope to
bring the existing ingress-controller codebase, developers and community
into the Apache Software Foundation (ASF) as Apache APISIX's sub-project.

ingress-controller is an implementation of kubernetes ingress based on
Apache APISIX[2]. The project is built using golang. Through
ingress-controller we can use yaml to define APISIX objects such as
Route/Service/Upstream in kubernetes.


Here are the discuss issue[3] and the proposal wiki[4] and the discuss
thread[5].

[1] https://github.com/api7/ingress-controller
[2] https://github.com/apache/apisix
[3] https://github.com/api7/ingress-controller/issues/36
[4]
https://cwiki.apache.org/confluence/display/APISIX/ingress-controller+Donation+Proposal
[5]
https://lists.apache.org/thread.html/rd1a060dd7902013d71f065706caeaebc84431ac23ce16407b9fd6436%40%3Cdev.apisix.apache.org%3E


Re: [VOTE] Release Apache APISIX Dashboard 2.0 RC3

2020-11-13 Thread wei jin
+1 binding

I checked:
- Download links are valid
- Checksums and PGP signatures are valid.
- LICENSE and NOTICE files are good.
- All source files have ASF headers if necessary.
- Build successfully.

刘曦冉  于2020年11月13日周五 下午7:26写道:

> supplement check list for my +1 :
>
>
> * Download links are valid
> * Checksums and PGP signatures are valid
> * License and NOTICE files are good
> * All files have the necessary License header
> * No binary file
> * Build successfully
>
>
>
>
>
>
>
>
> At 2020-11-13 18:31:30, "JunXu Chen"  wrote:
> >+1 binding
> >
> >I checked:
> >- Download links are valid
> >- Checksums and PGP signatures are valid.
> >- LICENSE and NOTICE files are good.
> >- All source files have ASF headers if necessary.
> >- No binary file.
> >- Build successfully.
> >
> >
> >On Fri, Nov 13, 2020 at 6:08 PM Zhiyuan Ju  wrote:
> >
> >> +1 binding
> >>
> >> I checked those cases:
> >>
> >> 1. Download links are valid;
> >> 2. Checksums and PGP signatures are valid;
> >> 3. License and NOTICE files are good;
> >> 4. All files have the necessary License header;
> >> 5. No binary file.
> >> 6. Build successfully.
> >>
> >>
> >> Best Regards!
> >> @ Zhiyuan Ju 
> >>
> >>
> >> 刘曦冉  于2020年11月13日周五 下午5:54写道:
> >>
> >> > +1
> >> >
> >> >
> >> >
> >> >
> >> > 在 2020-11-13 16:28:56,"flying fox"  写道:
> >> > >+1
> >> > >
> >> > >On 2020/11/10 15:26:03, 孙毅  wrote:
> >> > >> Hello, Community,
> >> > >>
> >> > >> This is a call for the vote to release Apache APISIX Dashboard
> version
> >> > 2.0
> >> > >> RC3.
> >> > >>
> >> > >> Release notes:
> >> > >>
> >> > >> https://github.com/apache/apisix-dashboard/blob/v2.0/CHANGELOG.md
> >> > >>
> >> > >> The release candidates:
> >> > >>
> >> > >> https://dist.apache.org/repos/dist/dev/apisix/dashboard-2.0-rc3/
> >> > >>
> >> > >> Git tag for the release:
> >> > >>
> >> > >> https://github.com/apache/apisix-dashboard/tree/v2.0-rc3
> >> > >>
> >> > >> Release Commit ID:
> >> > >>
> >> > >>
> >> >
> >>
> https://github.com/apache/apisix-dashboard/pull/598/commits/e08f3abcec25811ff74d2959088d374750105f72
> >> > >>
> >> > >> Keys to verify the Release Candidate:
> >> > >>
> >> > >> https://dist.apache.org/repos/dist/dev/apisix/KEYS
> >> > >>
> >> > >> Steps to validate the release:
> >> > >>
> >> > >> 1.Download the release file
> >> > >>
> >> > >> ```sh
> >> > >> $ wget
> >> > >>
> >> >
> >>
> https://dist.apache.org/repos/dist/dev/apisix/dashboard-2.0-rc3/apache-apisix-dashboard-2.0-rc3-src.tar.gz
> >> > >> ```
> >> > >>
> >> > >> 2.Checksums and signatures:
> >> > >>
> >> > >> ```sh
> >> > >> $ wget https://dist.apache.org/repos/dist/dev/apisix/KEYS
> >> > >>
> >> > >> $ wget
> >> > >>
> >> >
> >>
> https://dist.apache.org/repos/dist/dev/apisix/dashboard-2.0-rc3/apache-apisix-dashboard-2.0-rc3-src.tar.gz.asc
> >> > >>
> >> > >> $ wget
> >> > >>
> >> >
> >>
> https://dist.apache.org/repos/dist/dev/apisix/dashboard-2.0-rc3/apache-apisix-dashboard-2.0-rc3-src.tar.gz.sha512
> >> > >>
> >> > >> $ shasum -c apache-apisix-dashboard-2.0-rc3-src.tar.gz.sha512
> >> > >>
> >> > >> $ gpg --import KEYS
> >> > >>
> >> > >> # Input "trust", then input number 5, then input "save"
> >> > >> $ gpg --edit-key "sunyi"
> >> > >>
> >> > >> $ gpg --verify apache-apisix-dashboard-2.0-rc3-src.tar.gz.asc
> >> > >> apache-apisix-dashboard-2.0-rc3-src.tar.gz
> >> > >> ```
> >> > >>
> >> > >> 3. Unzip and Check files
> >> > >>
> >> > >> ```sh
> >> > >> $ tar zxvf apache-apisix-dashboard-2.0-rc3-src.tar.gz
> >> > >> ```
> >> > >>
> >> > >> 4. Build
> >> > >>
> >> > >> Please refer to
> >> > >>
> https://github.com/apache/apisix-dashboard/blob/v2.0/docs/deploy.md
> >> > >>
> >> > >> The vote will keep open at least 72 hours or reaches the necessary
> >> > number
> >> > >> of approved votes.
> >> > >>
> >> > >> Please vote accordingly:
> >> > >>
> >> > >> [ ] +1 Approve
> >> > >> [ ] +0 No Opinion
> >> > >> [ ] -1 Disapprove with your reason
> >> > >>
> >> > >> Best Regards!
> >> > >>
> >> >
> >>
>


Re: [DISCUSS] Apache APISIX DevCon

2020-11-13 Thread wei jin
Happy& looking forward

JunXu Chen  于2020年11月13日周五 下午6:36写道:

> Cool! Looking forward to it.
>
>
>
> On Fri, Nov 13, 2020 at 6:03 PM 刘曦冉  wrote:
>
> >
> >
> >
> > Good news, and looking forward to the conference~!
> >
> >
> >
> >
> >
> >
> >
> > 在 2020-11-13 17:45:53,"Joey Ma"  写道:
> > >That would be great and very much looking forward to our offline
> > >discussions.
> > >
> > >Best wishes,
> > >imjoey
> > >
> > >On Fri, Nov 13, 2020 at 3:36 PM Zhiyuan Ju 
> wrote:
> > >
> > >> that would be exciting to have this conference, looking forward to see
> > >> folks! let me know if I can do anything  to help host this conf.
> > >>
> > >> dabue <88786...@qq.com> 于 2020年11月13日周五 下午2:51写道:
> > >>
> > >> > it's cool.
> > >> >
> > >> >
> > >> >
> > >> > 88786...@qq.com
> > >> >
> > >> > From: Ming Wen
> > >> > Date: 2020-11-13 11:30
> > >> > To: dev
> > >> > Subject: [DISCUSS] Apache APISIX DevCon
> > >> > hello, dev,
> > >> > Apache APISIX has developed rapidly in the community in 2020. Now
> > there
> > >> are
> > >> > nearly 130 contributors, and there are more than 600 active PRs and
> > >> issues
> > >> > every month.
> > >> > I think we can consider hosting an Apache APISIX DevCon to encourage
> > >> > developers to exchange experiences. What do you think?
> > >> >
> > >> > Thanks,
> > >> > Ming Wen, Apache APISIX & Apache SkyWalking
> > >> > Twitter: _WenMing
> > >> >
> > >>
> >
>


Re: [Proposal] ingress-controller donation

2020-11-11 Thread wei jin
Hi APISIX commnuty,

The ingress-controller donation proposal is posted on
https://cwiki.apache.org/confluence/display/APISIX/ingress-controller+Donation+Proposal

The discuss of donation ingress-controller as a subproject is in
https://github.com/api7/ingress-controller/issues/36

I just paste to proposal to here:

--

# ingress-controller Donation Proposal

## Abstract

ingress-controller[1] is an implementation of kubernetes ingress based on
Apache APISIX[2]. The project is built using golang.
Through `ingress-controller` we can use `yaml` to define APISIX objects
such as Route/Service/Upstream in kubernetes.

## Proposal

The goal of this proposal is to bring the existing `ingress-controller`
codebase, developers and community into the Apache Software Foundation
(ASF) as Apache APISIX's sub-project.
`ingress-controller` is submitting this proposal to donate it to the Apache
APISIX under the Apache License, Version 2.0, in order to provide a
kubernetes ingress implementation for Apache APISIX.

## Background

Apache APISIX is a dynamic, real-time, high-performance API gateway, based
on the Nginx library and etcd, with many open source users at home and
abroad. But currently there is no support for kubernetes ingress.
`ingress-controller` is a project created by Wei Jin in December 2019.
Recently, more and more friends have paid attention to
`ingress-controller`, and it has also been used by some companies in the
production environment. so Wei Jin decided to bring `ingress-controller` as
a sub-project to enrich the Apache APISIX ecosystem.

## Core developer

Wei Jin is an experienced open source developer and Apache APISIX PMC.

## Donation source

Github repo: https://github.com/api7/ingress-controller

## Source and Intellectual Property Submission Plan

`ingress-controller` was originally created by Wei Jin in December 2019.
Therefore, he is the creator and main contributor of `ingress-controller`.
Wei Jin is also a member of Apache APISIX PMC and has submitted ICLA.

## External Dependencies

Apache-2.0 License

* github.com/coreos/etcd
* github.com/coreos/go-semver
* github.com/coreos/go-systemd
* github.com/coreos/pkg
* github.com/golang/glog
* google.golang.org/genproto
* google.golang.org/grpc
* github.com/go-yaml/yaml
* github.com/kubernetes/client-go
* github.com/kubernetes/api
* github.com/kubernetes/apimachinery
* github.com/api7/ingress-types
* github.com/api7/types
* github.com/api7/seven

BSD-3-Clause License

* github.com/gogo/protobuf
* github.com/google/uuid
* github.com/julienschmidt/httprouter

BSD-2-Clause License

* github.com/pkg/errors

MIT License

* github.com/sirupsen/logrus
* github.com/stretchr/testify
* github.com/tidwall/gjson
* github.com/uber-go/zap
* github.com/go-resty/resty

### [1] https://github.com/api7/ingress-controller

### [2] https://github.com/apache/apisix

wei jin  于2020年11月12日周四 下午3:28写道:

> Sorry, Apache APISIX is a dynamic, real-time, high-performance API
> gateway. Update the wiki and proposal immediately.
>
> Ming Wen  于2020年11月12日周四 下午2:33写道:
>
>> > Apache APISIX is an excellent distributed database middleware
>>
>> no, Apache APISIX is API gateway
>>
>> wei jin 于2020年11月6日 周五下午3:52写道:
>>
>> > Hi APISIX commnuty,
>> >
>> > The ingress-controller donation proposal is posted on
>> >
>> >
>> https://cwiki.apache.org/confluence/display/APISIX/ingress-controller+Donation+Proposal
>> >
>> > The discuss of donation ingress-controller as a subproject is in
>> > https://github.com/api7/ingress-controller/issues/36
>> >
>> > I just paste to proposal to here:
>> >
>> > --
>> >
>> > # ingress-controller Donation Proposal
>> >
>> > ## Abstract
>> >
>> > ingress-controller[1] is an implementation of kubernetes ingress based
>> on
>> > Apache APISIX[2]. The project is built using golang.
>> > Through `ingress-controller` we can use `yaml` to define APISIX objects
>> > such as Route/Service/Upstream in kubernetes.
>> >
>> > ## Proposal
>> >
>> > The goal of this proposal is to bring the existing `ingress-controller`
>> > codebase, developers and community into the Apache Software Foundation
>> > (ASF) as Apache APISIX's sub-project.
>> > `ingress-controller` is submitting this proposal to donate it to the
>> Apache
>> > APISIX under the Apache License, Version 2.0, in order to provide a
>> > kubernetes ingress implementation for Apache APISIX.
>> >
>> > ## Background
>> >
>> > Apache APISIX is an excellent distributed database middleware, with many
>> > open source users at home and abroad. But currently there is no suppo

Re: [Proposal] ingress-controller donation

2020-11-11 Thread wei jin
Sorry, Apache APISIX is a dynamic, real-time, high-performance API
gateway. Update
the wiki and proposal immediately.

Ming Wen  于2020年11月12日周四 下午2:33写道:

> > Apache APISIX is an excellent distributed database middleware
>
> no, Apache APISIX is API gateway
>
> wei jin 于2020年11月6日 周五下午3:52写道:
>
> > Hi APISIX commnuty,
> >
> > The ingress-controller donation proposal is posted on
> >
> >
> https://cwiki.apache.org/confluence/display/APISIX/ingress-controller+Donation+Proposal
> >
> > The discuss of donation ingress-controller as a subproject is in
> > https://github.com/api7/ingress-controller/issues/36
> >
> > I just paste to proposal to here:
> >
> > --
> >
> > # ingress-controller Donation Proposal
> >
> > ## Abstract
> >
> > ingress-controller[1] is an implementation of kubernetes ingress based on
> > Apache APISIX[2]. The project is built using golang.
> > Through `ingress-controller` we can use `yaml` to define APISIX objects
> > such as Route/Service/Upstream in kubernetes.
> >
> > ## Proposal
> >
> > The goal of this proposal is to bring the existing `ingress-controller`
> > codebase, developers and community into the Apache Software Foundation
> > (ASF) as Apache APISIX's sub-project.
> > `ingress-controller` is submitting this proposal to donate it to the
> Apache
> > APISIX under the Apache License, Version 2.0, in order to provide a
> > kubernetes ingress implementation for Apache APISIX.
> >
> > ## Background
> >
> > Apache APISIX is an excellent distributed database middleware, with many
> > open source users at home and abroad. But currently there is no support
> for
> > kubernetes ingress. `ingress-controller` is a project created by Wei Jin
> in
> > December 2019. Recently, more and more friends have paid attention to
> > `ingress-controller`, and it has also been used by some companies in the
> > production environment. so Wei Jin decided to bring `ingress-controller`
> as
> > a sub-project to enrich the Apache APISIX ecosystem.
> >
> > ## Core developer
> >
> > Wei Jin is an experienced open source developer and Apache APISIX PMC.
> >
> > ## Donation source
> >
> > Github repo: https://github.com/api7/ingress-controller
> >
> > ## Source and Intellectual Property Submission Plan
> >
> > `ingress-controller` was originally created by Wei Jin in December 2019.
> > Therefore, he is the creator and main contributor of
> `ingress-controller`.
> > Wei Jin is also a member of Apache APISIX PMC and has submitted ICLA.
> >
> > ## External Dependencies
> >
> > Apache-2.0 License
> >
> > * github.com/coreos/etcd
> > * github.com/coreos/go-semver
> > * github.com/coreos/go-systemd
> > * github.com/coreos/pkg
> > * github.com/golang/glog
> > * google.golang.org/genproto
> > * google.golang.org/grpc
> > * github.com/go-yaml/yaml
> > * github.com/kubernetes/client-go
> > * github.com/kubernetes/api
> > * github.com/kubernetes/apimachinery
> > * github.com/api7/ingress-types
> > * github.com/api7/types
> > * github.com/api7/seven
> >
> > BSD-3-Clause License
> >
> > * github.com/gogo/protobuf
> > * github.com/google/uuid
> > * github.com/julienschmidt/httprouter
> >
> > BSD-2-Clause License
> >
> > * github.com/pkg/errors
> >
> > MIT License
> >
> > * github.com/sirupsen/logrus
> > * github.com/stretchr/testify
> > * github.com/tidwall/gjson
> > * github.com/uber-go/zap
> > * github.com/go-resty/resty
> >
> > ### [1] https://github.com/api7/ingress-controller
> >
> > ### [2] https://github.com/apache/apisix
> >
> --
> Thanks,
> Ming Wen, Apache APISIX & Apache SkyWalking
> Twitter: _WenMing
>


[Proposal] ingress-controller donation

2020-11-05 Thread wei jin
Hi APISIX commnuty,

The ingress-controller donation proposal is posted on
https://cwiki.apache.org/confluence/display/APISIX/ingress-controller+Donation+Proposal

The discuss of donation ingress-controller as a subproject is in
https://github.com/api7/ingress-controller/issues/36

I just paste to proposal to here:

--

# ingress-controller Donation Proposal

## Abstract

ingress-controller[1] is an implementation of kubernetes ingress based on
Apache APISIX[2]. The project is built using golang.
Through `ingress-controller` we can use `yaml` to define APISIX objects
such as Route/Service/Upstream in kubernetes.

## Proposal

The goal of this proposal is to bring the existing `ingress-controller`
codebase, developers and community into the Apache Software Foundation
(ASF) as Apache APISIX's sub-project.
`ingress-controller` is submitting this proposal to donate it to the Apache
APISIX under the Apache License, Version 2.0, in order to provide a
kubernetes ingress implementation for Apache APISIX.

## Background

Apache APISIX is an excellent distributed database middleware, with many
open source users at home and abroad. But currently there is no support for
kubernetes ingress. `ingress-controller` is a project created by Wei Jin in
December 2019. Recently, more and more friends have paid attention to
`ingress-controller`, and it has also been used by some companies in the
production environment. so Wei Jin decided to bring `ingress-controller` as
a sub-project to enrich the Apache APISIX ecosystem.

## Core developer

Wei Jin is an experienced open source developer and Apache APISIX PMC.

## Donation source

Github repo: https://github.com/api7/ingress-controller

## Source and Intellectual Property Submission Plan

`ingress-controller` was originally created by Wei Jin in December 2019.
Therefore, he is the creator and main contributor of `ingress-controller`.
Wei Jin is also a member of Apache APISIX PMC and has submitted ICLA.

## External Dependencies

Apache-2.0 License

* github.com/coreos/etcd
* github.com/coreos/go-semver
* github.com/coreos/go-systemd
* github.com/coreos/pkg
* github.com/golang/glog
* google.golang.org/genproto
* google.golang.org/grpc
* github.com/go-yaml/yaml
* github.com/kubernetes/client-go
* github.com/kubernetes/api
* github.com/kubernetes/apimachinery
* github.com/api7/ingress-types
* github.com/api7/types
* github.com/api7/seven

BSD-3-Clause License

* github.com/gogo/protobuf
* github.com/google/uuid
* github.com/julienschmidt/httprouter

BSD-2-Clause License

* github.com/pkg/errors

MIT License

* github.com/sirupsen/logrus
* github.com/stretchr/testify
* github.com/tidwall/gjson
* github.com/uber-go/zap
* github.com/go-resty/resty

### [1] https://github.com/api7/ingress-controller

### [2] https://github.com/apache/apisix


Re: Proposal: add the traffic split plugin to apisix

2020-10-31 Thread wei jin
+1 agree
LGTM

Yuelin Zheng  于2020年11月1日周日 上午12:00写道:

> Hi, Community,
>
>
> I have implemented a plug-in related to traffic split, and I want to add
> the plug-in to apisix. The following is the main information of the plugin:
>
>
> 1. Background
>
>
> After seeing this issue about traffic split plugin #2303(
> https://github.com/apache/apisix/issues/2303), I think this function is
> very useful, it can effectively realize the flow control function.
> Therefore, this inspired me to implement a dynamic upstream plugin.
>
>
> 2. Why do this
> For details, please see: https://github.com/apache/apisix/issues/2303
> Traffic split means that requests need to comply with certain rules in
> order to reach the designated upstream or a certain node in the upstream.
> Through this function, gray release, blue-green release and custom routing
> are realized, which is very useful for reducing downtime in the event of a
> failure.
>
>
> 3. Design
> The dynamic upstream plug-in is mainly composed of two parts `match` and
> `upstreams` to implement the rules of the plugin. `match` is the matching
> rule of the plugin (the currently supported operations are: ==, ~=, ~~, >,
> >=, <, <=, in , ip_in). Only after the `match` rule is passed, can the
> `upstreams` rule in the plugin be reached, otherwise the default upstream
> is reached. In the `upstreams` rule, `upstream` is the configuration of the
> plugin upstream, and the `weight` field is the basis for traffic
> segmentation between upstream services (using the roundrobin algorithm).
>
>
> note:
> ```
> {
>"Weight": 1
> }
> ```
> When the plug-in upstream configuration has only the weight field, it
> means the default upstream traffic ratio.
>
>
> Example:
>
>
> Grayscale release:
> The traffic is split according to the weight field value configured in the
> upstreams part of the plug-in.
> If `match` is not configured, match is passed by default. Divide the
> request traffic by 4:1, 4/5 of the traffic hits the upstream of the plugin
> port of `1981`, and 1/5 of the traffic hits the default upstream of the
> `1980` port.
>
>
> ```
> "plugins": {
> "dynamic-upstream": {
> "rules": [
> {
> "upstreams": [
> {
> "upstream": {
> "name": "upstream_A",
> "type": "roundrobin",
> "nodes": {
> "127.0.0.1:1981":10
> }
> },
> "weight": 4
> },
> {
>
> "weight": 1
> }
>
> ]
> }
> ]
> }
> },
> "upstream": {
> "type": "roundrobin",
> "nodes": {
> "127.0.0.1:1980": 1
> }
> }
> ```
>
>
> Blue-green release:
> All requests hit the upstrean configured by the plugin (when weight is 0,
> the corresponding upstream is invalid).
>
>
> ```
>   "plugins": {
> "dynamic-upstream": {
> "rules": [
> {
> "match": [
> {
> "vars": [
> [ "http_new-release","==","blue" ]
> ]
> }
> ],
> "upstreams": [
> {
> "upstream": {
> "name": "upstream_A",
> "type": "roundrobin",
> "nodes": {
> "127.0.0.1:1981":10
> }
> },
> "weight": 1
> },
> {
>
> "weight": 0
> }
>
> ]
> }
> ]
> }
> },
> "upstream": {
> "type": "roundrobin",
> "nodes": {
> "127.0.0.1:1980": 1
> }
> }
> ```
>
>
> Custom release:
> There are multiple conditions in vars, and the relationship between them
> is `add`. Multiple vars can be configured, then they have an `or`
> relationship.
> After the `match` rule is passed, the traffic is divided into 4:2, 2/3 of
> the traffic hits the plug-in upstream of the `1981` port, and 1/3 of the
> traffic hits the default upstream of the `1980` port.
>
>
> ```
> "plugins": {
> "dynamic-upstream": {
> "rules": [
> {
> "match": [
> {
> "vars": [
> [ "arg_name","==","jack" ],
> [ 

Re: feat: support GraphQL in APISIX.

2020-10-30 Thread wei jin
If our purpose is to forward traffic according to QL, perhaps it is more
suitable to use plugin customization.
For example, create a plugin called graphql-dynamic-upstream.

two reasons about this

1. The purpose of graphql is to aggregate back-end data and provide a QL to
return the data format required by the front-end.
I think graphql has weakened APISIX's routing matching capabilities, and he
merged multiple routes into one.
This leads to obvious differences between the behavior of services such as
graphql and ordinary services; the matching rules of route are also not
applicable to each other.

2. QL itself belongs to business logic.

YuanSheng Wang  于2020年10月30日周五 下午2:32写道:

> On Thu, Oct 29, 2020 at 5:44 PM Jan Li  wrote:
>
> > I think the support to GraphQL is the direction to go.
> >
> > One suggestion here, I think the support for GraphQL operation is also
> > important.
> >
> > For example, people might limit mutation rate to a lower value than
> query.
> >
> > So apart from  ["graphql_field", "==", "person"], we better also support
> > ["graphql_operation", "==", "query"]
> >
> >
> yes, that is useful. agree
>
>
>
> > On Thu, Oct 29, 2020 at 5:07 PM YuanSheng Wang 
> > wrote:
> >
> > > That is a new feature I want to implement it.
> > >
> > > Let us discuss it first.
> > >
> > > On Thu, Oct 29, 2020 at 5:05 PM YuanSheng Wang 
> > > wrote:
> > >
> > > > *what is GraphQL*
> > > >
> > > > GraphQL is a query language for APIs and a runtime for fulfilling
> those
> > > > queries with your existing data. GraphQL provides a complete and
> > > > understandable description of the data in your API, gives clients the
> > > power
> > > > to ask for exactly what they need and nothing more, makes it easier
> to
> > > > evolve APIs over time, and enables powerful developer tools.
> > > >
> > > > *How GraphQL works*
> > > >
> > > > `client` -> `APISIX` -> `GraphQL server` .
> > > >
> > > > Proxy the user's GraphQL request and forward it to the GraphQL server
> > > > according to the user's request information.
> > > >
> > > > When a client resource requests, GraphQL is submitted in the request
> > > body,
> > > > for example:
> > > >
> > > > ```
> > > > curl http://***/graphql -X POST -d '
> > > > query getUser($id: ID) {
> > > >   person(id: $id) {
> > > > firstName
> > > > lastName
> > > >   }
> > > > }
> > > > '
> > > > ```
> > > >
> > > > ## feature
> > > >
> > > > > **1th feature**: Forward to different requests upstream according
> to
> > > > the root field.
> > > >
> > > > ```lua
> > > > local graphql_str = [[
> > > > query getUser($id: ID) {-- root
> > > >   person(id: $id) { -- field 为 `person`
> > > > firstName
> > > > lastName
> > > >   }
> > > > }]]
> > > > local ast = parse(graphql_str)
> > > > ...
> > > > ```
> > > >
> > > > > **2th feature**: For different GraphQL queries, different plugins
> are
> > > > allowed to be bound.
> > > >
> > > > For example, querying different root fields allows completely
> different
> > > > plug-ins to be bound.
> > > >
> > > > * query `person`: enable plugin prometheus.
> > > > * query `bill`: enable plugin limit-count and prometheus.
> > > >
> > > > > **3th feature**: Later support GraphQL's `mutation`:
> > > > https://graphql.org/learn/queries/#mutations
> > > >
> > > > *implement way*
> > > >
> > > > Support adding GraphQL field to route matching conditions.
> > > >
> > > > For example:
> > > >
> > > > ```shell
> > > > curl http://127.0.0.1:9080/apisix/admin/routes/1 -X PUT -i -d '
> > > > {
> > > > "uri": "/graphql",
> > > > "vars": [
> > > > ["graphql_field", "==", "person"]
> > > > ],
> > > > "upstream": {
> > > > "type": "roundrobin",
> > > > "nodes": {
> > > > "127.0.0.1:3000": 1  # GrapQL server
> > > > }
> > > > }
> > > > }'
> > > > ```
> > > >
> > > > --
> > > >
> > > > *MembPhis*
> > > > My GitHub: https://github.com/membphis
> > > > Apache APISIX: https://github.com/apache/apisix
> > > >
> > >
> > >
> > > --
> > >
> > > *MembPhis*
> > > My GitHub: https://github.com/membphis
> > > Apache APISIX: https://github.com/apache/apisix
> > >
> >
> >
> > --
> >
> >
> >
> > Jan Li
> >
> > Senior Software Engineer, Tech
> >
> >
> >
> > Mobile +86 15316315503
> >
> > Room 1802, 18th Floor, Tower A, China Overseas International Center
> >
> > Lane 838, South Huangpi Road, Huangpu District,Shanghai,China
> >
> >
> >
> > Transforming the way businesses move and manage money globally
> >
> > Amsterdam | Beijing | Bangalore | Hong Kong | Kuala Lumpur | London |
> > Melbourne | San Francisco | Shanghai | Shenzhen | Singapore | Tokyo
> >
>
>
> --
>
> *MembPhis*
> My GitHub: https://github.com/membphis
> Apache APISIX: https://github.com/apache/apisix
>


Re: [PROPOSAL] Introduce grayscale for configuration

2020-10-26 Thread wei jin
>From this proposal, I can understand the effect you want to achieve, but
there are some doubts, maybe it is not a good choice for the gateway

1. The gray level of the configuration will make the configuration of
APISIX stateful. The reason why it is considered to be stateful is that the
configuration takes effect on some nodes, which will cause inconsistent
behavior among APISIX nodes.
  a. Annotation alone cannot precisely control which APISIX node the
traffic is allocated to; the same request may flow on a normal node, and
then on a gray node; this will bring some usage burden, and it will also be
wrong. The requester causes trouble
  b. If we add flow control to the annotation, it will be functionally
duplicated with APISIX's existing grayscale capabilities. It is better to
verify the configuration through flow control directly

2. Any small-scale verification we do is aimed at the granularity of
traffic. The granularity of the proposal is too rough in terms of the
number of nodes in APISIX. Even if the production environment only affects
the configuration of a node, a lot of traffic will be affected

 If APISIX supports mesh in the future, the traffic granularity of the
sidecar is much smaller than that of the gateway, and then the gray-scale
configuration will be a matter of course.


Zhang Chao  于2020年10月25日周日 下午12:33写道:

> Hello, community!
>
> As we all know, the configuration synchronization in APISIX resorts to
> ETCD, once administrator creates/updates/deletes a config instance, it will
> be detected by all APISIX instances immediately, that’s cool but the scope
> is ALL INSTANCES, which also means all instances might suffer breakdown if
> the config instance is malformed (maybe lack of check), that’s not
> ops-friendly.
>
> We’re familiar with the grayscale for server instances, use a small
> fraction of traffic to verify the work of new release, to reduce the
> influence of faults. So why not just using this way to verify the new
> issued config instance? What I named it as "configuration grayscale".
>
> The way to use "configuration grayscale" is simple, what we need is an
> indication to tell the current APISIX instance whether it should apply this
> config instance, so obviously we can add a new item in each configuration
> (like route, upstream):
>
>
> {
> "upstream": {
> "nodes": {
> "127.0.0.1:8080": 1
> }
> },
>
> "annotations": {
> "grayscale": {
> "hostname": [
> "apisix-node1",
> "apisix-node3"
> ]
> }
> }
> }
>
> Here we put the "grayscale" into a more general field "annotations" rather
> than flattening it, that's more flexible and clear. The above example tells
> the APISIX instance to verify the grayscale firstly, just compare its
> hostname and the grayscale targets (wheter it's in the hostname list). If
> the grayscale hits, the APISIX instance is willing to use it, or on the
> contrary, it ignores this config instance just like it doens't receive it.
> The hostname comparsion is just a simple example and that not means we can
> only use this type of grayscale conditions. For instance, we may use the
> Nginx built-in variables systems to support more flexible grayscale.
>
> {
> "upstream": {
> "nodes": {
> "127.0.0.1:8080": 1
> }
> },
>
> "annotations": {
> "grayscale": {
> "vars": [
> { "$pid", "==", "12349" }
> ]
> }
> }
> }
>
> We need to discuss the most suitable grayscale way for APISIX, which can
> cover almost demands that an APISIX administrator needs.
>
> Situtation will be complicated if grayscale is present in the config
> dependency (e.g. route depends on upstream), to better describe this
> problem, let's say we have two kinds of config A and B, and A depends on B.
> There are several situations we need to consider.
>
> 1) Both A and B have the grayscale conditions
>
> In such a case, the grayscale conditions must same or there will have some
> instances cannot apply both A and B, requests on those instances cannot be
> handled properly.
>
> 2) A has grayscale conditions but B not
>
> Since A depends on B and B can be applied unconditionally, there is no
> problem when A has grayscale conditions.
>
> 3) B has grayscale conditions but A not
>
> Which means for APISIX instances that outside of B's apply scope, they
> cannot find B, and requests cannot be handled rightly.
>
> So based on these situations, we should add some limitations to avoid
> these complicated situations, for example, don't gray release two config
> instances when they have relations, testing the "leaf" config instance
> firstly (B in abovementioned example) and make sure it's stable then try
> next.
>
> Let's say a more concrete example, Alice needs to create a new route, for
> those requests which uri is prefixed by "/api/v1/trade", proxy them to
> upstream "trade-system", head 

  1   2   >