Skip to content

Commit

Permalink
Support openapi http proxy using openapi.yaml (#778)
Browse files Browse the repository at this point in the history
  • Loading branch information
akrambek authored Feb 23, 2024
1 parent 630ab46 commit bf6be42
Show file tree
Hide file tree
Showing 90 changed files with 11,126 additions and 96 deletions.
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

0 comments on commit bf6be42

Please sign in to comment.