Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support openapi http proxy using openapi.yaml #778

Merged
merged 105 commits into from
Feb 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
2cef977
Adjust padding to accommodate good enough headers and don't include …
akrambek Oct 25, 2023
d201582
Merge branch 'develop' into feature/consumer-group-cont
akrambek Oct 25, 2023
76bf9de
Merge branch 'feature/consumer-group-cont' into develop
akrambek Oct 26, 2023
29ae79c
Merge branch 'aklivity:develop' into develop
akrambek Oct 30, 2023
ec1b39e
Merge branch 'aklivity:develop' into develop
akrambek Oct 30, 2023
51a9f0e
Merge branch 'aklivity:develop' into develop
akrambek Oct 31, 2023
4394783
Merge branch 'aklivity:develop' into develop
akrambek Oct 31, 2023
e8696ce
Merge branch 'aklivity:develop' into develop
akrambek Nov 2, 2023
51c37b1
Merge branch 'aklivity:develop' into develop
akrambek Nov 2, 2023
5da5f04
Merge branch 'aklivity:develop' into develop
akrambek Nov 2, 2023
db1e17c
Merge branch 'aklivity:develop' into develop
akrambek Nov 4, 2023
40f73dc
Merge branch 'aklivity:develop' into develop
akrambek Nov 6, 2023
d1a0492
Merge branch 'aklivity:develop' into develop
akrambek Nov 23, 2023
45799ce
Merge branch 'aklivity:develop' into develop
akrambek Nov 29, 2023
1e55162
Merge branch 'aklivity:develop' into develop
akrambek Nov 30, 2023
fedc41f
Merge branch 'aklivity:develop' into develop
akrambek Dec 4, 2023
18a8d74
Merge branch 'aklivity:develop' into develop
akrambek Dec 4, 2023
f160aad
Merge branch 'aklivity:develop' into develop
akrambek Dec 4, 2023
e0e7d5a
Merge branch 'aklivity:develop' into develop
akrambek Dec 6, 2023
9f4a8a6
Merge branch 'aklivity:develop' into develop
akrambek Dec 8, 2023
456f111
Merge branch 'aklivity:develop' into develop
akrambek Dec 8, 2023
0d27262
Merge branch 'aklivity:develop' into develop
akrambek Dec 9, 2023
9fe7a91
Merge branch 'aklivity:develop' into develop
akrambek Dec 11, 2023
7e3d237
Merge branch 'aklivity:develop' into develop
akrambek Dec 12, 2023
33c4411
Merge branch 'aklivity:develop' into develop
akrambek Dec 13, 2023
fe9e318
Merge branch 'aklivity:develop' into develop
akrambek Dec 14, 2023
d8b5e5c
Merge branch 'aklivity:develop' into develop
akrambek Dec 14, 2023
ebca7ef
Merge branch 'aklivity:develop' into develop
akrambek Dec 18, 2023
5e3e059
Merge branch 'aklivity:develop' into develop
akrambek Dec 22, 2023
ee71db9
Merge branch 'aklivity:develop' into develop
akrambek Dec 24, 2023
0b7a15a
Merge branch 'aklivity:develop' into develop
akrambek Dec 25, 2023
be13489
Merge branch 'aklivity:develop' into develop
akrambek Dec 26, 2023
95df84c
Merge branch 'aklivity:develop' into develop
akrambek Dec 26, 2023
3ebdbf5
Merge branch 'aklivity:develop' into develop
akrambek Dec 28, 2023
24ad9e1
Merge branch 'aklivity:develop' into develop
akrambek Dec 30, 2023
6d21fec
Merge branch 'aklivity:develop' into develop
akrambek Dec 31, 2023
368a0a6
Merge branch 'aklivity:develop' into develop
akrambek Dec 31, 2023
7069f1a
Merge branch 'aklivity:develop' into develop
akrambek Jan 2, 2024
09b7041
Merge branch 'aklivity:develop' into develop
akrambek Jan 3, 2024
98f1faa
Merge branch 'aklivity:develop' into develop
akrambek Jan 4, 2024
371391a
Merge branch 'aklivity:develop' into develop
akrambek Jan 5, 2024
c6a0882
Merge branch 'aklivity:develop' into develop
akrambek Jan 8, 2024
f99f009
Merge branch 'aklivity:develop' into develop
akrambek Jan 9, 2024
a110b68
Merge branch 'aklivity:develop' into develop
akrambek Jan 11, 2024
80c4625
Merge branch 'aklivity:develop' into develop
akrambek Jan 16, 2024
6617e20
Merge branch 'aklivity:develop' into develop
akrambek Jan 19, 2024
dea9f53
Merge branch 'aklivity:develop' into develop
akrambek Jan 20, 2024
b74db57
Merge branch 'aklivity:develop' into develop
akrambek Jan 23, 2024
4617b54
Merge branch 'aklivity:develop' into develop
akrambek Jan 30, 2024
b3b421d
Merge branch 'aklivity:develop' into develop
akrambek Jan 31, 2024
73d64b1
Merge branch 'aklivity:develop' into develop
akrambek Feb 1, 2024
7bb546e
Merge branch 'aklivity:develop' into develop
akrambek Feb 2, 2024
7cbbfb5
wip
akrambek Feb 3, 2024
67ef7f6
wip
akrambek Feb 3, 2024
0d4ce3d
WIP
akrambek Feb 4, 2024
48b0045
WIP
akrambek Feb 5, 2024
f2d310a
WIP
akrambek Feb 5, 2024
87fc816
WIP
akrambek Feb 6, 2024
9e93e73
WIP
akrambek Feb 6, 2024
a897b2d
Refactor
akrambek Feb 6, 2024
65e795d
WIP
akrambek Feb 6, 2024
04fdfc7
WIP
akrambek Feb 7, 2024
049d72f
WIP
akrambek Feb 7, 2024
c03e697
WIP
akrambek Feb 7, 2024
6cf9317
WIP
akrambek Feb 8, 2024
b1c7901
Merge branch 'aklivity:develop' into develop
akrambek Feb 8, 2024
74d89ee
Merge branch 'develop' into story/740
akrambek Feb 8, 2024
8d2c7ad
Revert back the change
akrambek Feb 8, 2024
0cea47c
WIP
akrambek Feb 8, 2024
d50c776
WIP
akrambek Feb 8, 2024
5fae2b0
FIx openapi dependency
akrambek Feb 8, 2024
1b1c844
tls and authorization support
akrambek Feb 8, 2024
061718a
Support guard and tls
akrambek Feb 10, 2024
3715e87
Refactor the order of assignment
akrambek Feb 11, 2024
1f3e082
Apply feedback from PR
akrambek Feb 12, 2024
5e2b026
Merge branch 'story/740' of github.com:akrambek/zilla into story/740
akrambek Feb 12, 2024
8438666
Add docker support
akrambek Feb 12, 2024
2bd1c46
WIP
akrambek Feb 12, 2024
993e578
WIP
akrambek Feb 12, 2024
831a71f
Checkpoint
akrambek Feb 13, 2024
22e77b8
Fix checkstyle
akrambek Feb 13, 2024
3069224
WIP
akrambek Feb 13, 2024
949df2f
Merge branch 'aklivity:develop' into develop
akrambek Feb 13, 2024
5948707
Merge branch 'develop' into story/740
akrambek Feb 13, 2024
1bcef7f
Fix import path
akrambek Feb 13, 2024
33ccd51
Remove view from opens
akrambek Feb 13, 2024
d02cf50
Address PR feedbacks
akrambek Feb 13, 2024
493865b
Fix typo
akrambek Feb 13, 2024
1c0ee72
Fix typo
akrambek Feb 13, 2024
9b7c1f7
Fix remaining issues
akrambek Feb 13, 2024
e9f83d5
Fix typos
akrambek Feb 13, 2024
ca946b8
Merge branch 'aklivity:develop' into develop
akrambek Feb 14, 2024
ca73088
Add tcp option support
akrambek Feb 15, 2024
a5a1e32
Validate openapi schema
akrambek Feb 16, 2024
d607f4e
Fix checkstyle
akrambek Feb 16, 2024
5eae612
Apply feedback from PR
akrambek Feb 19, 2024
6890bf9
WIP
akrambek Feb 19, 2024
b8aef3b
WIP
akrambek Feb 21, 2024
f9dcd75
Merge branch 'aklivity:develop' into develop
akrambek Feb 21, 2024
8041cb1
Merge branch 'develop' into story/740
akrambek Feb 21, 2024
845cf57
Fix 3.1 openaapi versrion parsing
akrambek Feb 22, 2024
6d22755
Fix checkstyle
akrambek Feb 22, 2024
e1e5e75
Merge branch 'aklivity:develop' into develop
akrambek Feb 22, 2024
eeed4cf
Merge branch 'develop' into story/740
akrambek Feb 22, 2024
3a4d1b5
Fix exit
akrambek Feb 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions cloud/docker-image/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>binding-openapi</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>binding-echo</artifactId>
Expand Down
1 change: 1 addition & 0 deletions cloud/docker-image/src/main/docker/zpm.json.template
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
"io.aklivity.zilla:binding-kafka",
"io.aklivity.zilla:binding-mqtt",
"io.aklivity.zilla:binding-mqtt-kafka",
"io.aklivity.zilla:binding-openapi",
"io.aklivity.zilla:binding-proxy",
"io.aklivity.zilla:binding-sse",
"io.aklivity.zilla:binding-sse-kafka",
Expand Down
13 changes: 13 additions & 0 deletions incubator/binding-openapi.spec/COPYRIGHT
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Copyright ${copyrightYears} Aklivity Inc.

Aklivity licenses this file to you under the Apache License,
version 2.0 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
114 changes: 114 additions & 0 deletions incubator/binding-openapi.spec/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
Aklivity Community License Agreement
Version 1.0

This Aklivity Community License Agreement Version 1.0 (the “Agreement”) sets
forth the terms on which Aklivity, Inc. (“Aklivity”) makes available certain
software made available by Aklivity under this Agreement (the “Software”). BY
INSTALLING, DOWNLOADING, ACCESSING, USING OR DISTRIBUTING ANY OF THE SOFTWARE,
YOU AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO
SUCH TERMS AND CONDITIONS, YOU MUST NOT USE THE SOFTWARE. IF YOU ARE RECEIVING
THE SOFTWARE ON BEHALF OF A LEGAL ENTITY, YOU REPRESENT AND WARRANT THAT YOU
HAVE THE ACTUAL AUTHORITY TO AGREE TO THE TERMS AND CONDITIONS OF THIS
AGREEMENT ON BEHALF OF SUCH ENTITY. “Licensee” means you, an individual, or
the entity on whose behalf you are receiving the Software.

1. LICENSE GRANT AND CONDITIONS.

1.1 License. Subject to the terms and conditions of this Agreement,
Aklivity hereby grants to Licensee a non-exclusive, royalty-free,
worldwide, non-transferable, non-sublicenseable license during the term
of this Agreement to: (a) use the Software; (b) prepare modifications and
derivative works of the Software; (c) distribute the Software (including
without limitation in source code or object code form); and (d) reproduce
copies of the Software (the “License”). Licensee is not granted the
right to, and Licensee shall not, exercise the License for an Excluded
Purpose. For purposes of this Agreement, “Excluded Purpose” means making
available any software-as-a-service, platform-as-a-service,
infrastructure-as-a-service or other similar online service that competes
with Aklivity products or services that provide the Software.

1.2 Conditions. In consideration of the License, Licensee’s distribution
of the Software is subject to the following conditions:

(a) Licensee must cause any Software modified by Licensee to carry
prominent notices stating that Licensee modified the Software.

(b) On each Software copy, Licensee shall reproduce and not remove or
alter all Aklivity or third party copyright or other proprietary
notices contained in the Software, and Licensee must provide the
notice below with each copy.

“This software is made available by Aklivity, Inc., under the
terms of the Aklivity Community License Agreement, Version 1.0
located at http://www.Aklivity.io/Aklivity-community-license. BY
INSTALLING, DOWNLOADING, ACCESSING, USING OR DISTRIBUTING ANY OF
THE SOFTWARE, YOU AGREE TO THE TERMS OF SUCH LICENSE AGREEMENT.”

1.3 Licensee Modifications. Licensee may add its own copyright notices
to modifications made by Licensee and may provide additional or different
license terms and conditions for use, reproduction, or distribution of
Licensee’s modifications. While redistributing the Software or
modifications thereof, Licensee may choose to offer, for a fee or free of
charge, support, warranty, indemnity, or other obligations. Licensee, and
not Aklivity, will be responsible for any such obligations.

1.4 No Sublicensing. The License does not include the right to
sublicense the Software, however, each recipient to which Licensee
provides the Software may exercise the Licenses so long as such recipient
agrees to the terms and conditions of this Agreement.

2. TERM AND TERMINATION. This Agreement will continue unless and until
earlier terminated as set forth herein. If Licensee breaches any of its
conditions or obligations under this Agreement, this Agreement will
terminate automatically and the License will terminate automatically and
permanently.

3. INTELLECTUAL PROPERTY. As between the parties, Aklivity will retain all
right, title, and interest in the Software, and all intellectual property
rights therein. Aklivity hereby reserves all rights not expressly granted
to Licensee in this Agreement. Aklivity hereby reserves all rights in its
trademarks and service marks, and no licenses therein are granted in this
Agreement.

4. DISCLAIMER. Aklivity HEREBY DISCLAIMS ANY AND ALL WARRANTIES AND
CONDITIONS, EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, AND SPECIFICALLY
DISCLAIMS ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE, WITH RESPECT TO THE SOFTWARE.

5. LIMITATION OF LIABILITY. Aklivity WILL NOT BE LIABLE FOR ANY DAMAGES OF
ANY KIND, INCLUDING BUT NOT LIMITED TO, LOST PROFITS OR ANY CONSEQUENTIAL,
SPECIAL, INCIDENTAL, INDIRECT, OR DIRECT DAMAGES, HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, ARISING OUT OF THIS AGREEMENT. THE FOREGOING SHALL
APPLY TO THE EXTENT PERMITTED BY APPLICABLE LAW.

6.GENERAL.

6.1 Governing Law. This Agreement will be governed by and interpreted in
accordance with the laws of the state of California, without reference to
its conflict of laws principles. If Licensee is located within the
United States, all disputes arising out of this Agreement are subject to
the exclusive jurisdiction of courts located in Santa Clara County,
California. USA. If Licensee is located outside of the United States,
any dispute, controversy or claim arising out of or relating to this
Agreement will be referred to and finally determined by arbitration in
accordance with the JAMS International Arbitration Rules. The tribunal
will consist of one arbitrator. The place of arbitration will be Palo
Alto, California. The language to be used in the arbitral proceedings
will be English. Judgment upon the award rendered by the arbitrator may
be entered in any court having jurisdiction thereof.

6.2 Assignment. Licensee is not authorized to assign its rights under
this Agreement to any third party. Aklivity may freely assign its rights
under this Agreement to any third party.

6.3 Other. This Agreement is the entire agreement between the parties
regarding the subject matter hereof. No amendment or modification of
this Agreement will be valid or binding upon the parties unless made in
writing and signed by the duly authorized representatives of both
parties. In the event that any provision, including without limitation
any condition, of this Agreement is held to be unenforceable, this
Agreement and all licenses and rights granted hereunder will immediately
terminate. Waiver by Aklivity of a breach of any provision of this
Agreement or the failure by Aklivity to exercise any right hereunder
will not be construed as a waiver of any subsequent breach of that right
or as a waiver of any other right.
25 changes: 25 additions & 0 deletions incubator/binding-openapi.spec/NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Licensed under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.

This project includes:
agrona under The Apache License, Version 2.0
ICU4J under Unicode/ICU License
Jakarta JSON Processing API under Eclipse Public License 2.0 or GNU General Public License, version 2 with the GNU Classpath Exception
org.leadpony.justify under The Apache Software License, Version 2.0
zilla::specs::binding-http.spec under The Apache Software License, Version 2.0
zilla::specs::binding-proxy.spec under The Apache Software License, Version 2.0
zilla::specs::engine.spec under The Apache Software License, Version 2.0


This project also includes code under copyright of the following entities:
https://github.com/reaktivity/
18 changes: 18 additions & 0 deletions incubator/binding-openapi.spec/NOTICE.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Licensed under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.

This project includes:
#GENERATED_NOTICES#

This project also includes code under copyright of the following entities:
https://github.com/reaktivity/
Loading