cwielenb/CNCF-Dataset huggingface dataset:
Project: Gloo (Orchestration & Management / API Gateway)
File: source_context.proto.sk.md

title: "source_context.proto" weight: 5 <!-- Code generated by solo-kit. DO NOT EDIT. --> Protocol Buffers - Google's data interchange format Copyright 2008 Google Inc. All rights reserved. https://developers.google.com/protocol-buffers/ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. `SourceContext` represents information about the source of a protobuf element, like the file in which it is defined. ```yaml "fileName": string ``` | Field | Type | Description | | -- | - | -- | | `fileName` | `string` | The path-qualified name of the .proto file that contained the associated protobuf element. For example: `"google/protobuf/source_context.proto"`. | <!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/5130874.js"></script> <!-- End of HubSpot Embed Code -->
Project: APISIX (Orchestration & Management / API Gateway)
File: router.md

title: Router keywords: API Gateway Apache APISIX Router description: This article describes how to choose a router for Apache APISIX. <!-- --> A distinguishing feature of Apache APISIX from other API gateways is that it allows you to choose different Routers to better match free services, giving you the best choices for performance and freedom. You can set the Router that best suits your needs in your configuration file `conf/config.yaml`. A Router can have the following configurations: `apisix.router.http`: The HTTP request route. It can take the following values: `radixtree_uri`: Only use the `uri` as the primary index. To learn more about the support for full and deep prefix matching, check . `Absolute match`: Match completely with the given `uri` (`/foo/bar`, `/foo/glo`). `Prefix match`: Match with the given prefix. Use `` to represent the given `uri` for prefix matching. For example, `/foo` can match with `/foo/`, `/foo/a` and `/foo/b`. `match priority`: First try an absolute match, if it didn't match, try prefix matching. `Any filter attribute`: This allows you to specify any Nginx built-in variable as a filter, such as URL request parameters, request headers, and cookies. `radixtreeuriwithparameter`: Like `radixtreeuri` but also supports parameter match. `radixtreehosturi`: (Default) Matches both host and URI of the request. Use `host + uri` as the primary index (based on the `radixtree` engine). :::note In version 3.2 and earlier, APISIX used `radixtreeuri` as the default Router. `radixtreeuri` has better performance than `radixtreehosturi`, so if you have higher performance requirements and can live with the fact that `radixtreeuri` only use the `uri` as the primary index, consider continuing to use `radixtreeuri` as the default Router. ::: `apisix.router.ssl`: SSL loads the matching route. `radixtree_sni`: (Default) Use `SNI` (Server Name Indication) as the primary index (based on the radixtree engine).
Project: SRPC (Orchestration & Management / Remote Procedure Call)
File: docs-05-context.md

RPCContext is used specially to assist asynchronous interfaces, and can be used in both Service and Client. Each asynchronous interface will provide a Context, which offers higher-level functions, such as obtaining the remote IP, the connection seqid, and so on. Some functions on Context are unique to Server or Client. For example, you can set the compression mode of the response data on Server, and you can obtain the success or failure status of a request on Client. On the Context, you can use ``get_series()`` to obtain the SeriesWork, which is seamlessly integrated with the asynchronous mode of Workflow. One complete communication consists of request+response. The sequence id of the communication on the current socket connection can be obtained, and seqid=0 indicates the first communication. Get the remote IP address. IPv4/IPv6 is supported. Get the remote address. The in/out parameter is the lower-level data structure sockaddr. Get RPC Service Name. Get RPC Method Name. Get the SeriesWork of the current ServerTask/ClientTask. For client only. The success or failure of the request. For client only. The rpc status code of the request. For client only. The error info of the request. For client only. The error code of the request. For client only. Get the user\data of the ClientTask. If a user generates a task through the ``createxxxtask()`` interface, the context can be recorded in the userdata field. You can set that field when creating the task, and retrieve it in the callback function. For Server only. Set the data packaging type RPCDataProtobuf RPCDataThrift RPCDataJson For Server only. Set the data compression type (note: the compression type for the Client is set on Client or Task) RPCCompressNone RPCCompressSnappy RPCCompressGzip RPCCompressZlib RPCCompressLz4 For Server only. Set the attachment. For Server only. Get the attachment. For Server only. Set reply callback, which is called after the operating system successfully writes the data into the socket buffer. For Server only. Set the maximum time for sending the message, in milliseconds. -1 indicates unlimited time. For Server only. Set the maximum connection keep-alive time, in milliseconds. -1 indicates unlimited time.
Project: Consul (Orchestration & Management / Service Mesh)
File: TODO.md

Missing things that should probably be added; consul-dataplane support for running mesh gateways consul-dataplane health check updates (automatic; manual) ServerExternalAddresses in a peering; possibly rig up a DNS name for this. after creating a token, verify it exists on all servers before proceding (rather than sleep looping on not-founds) investigate strange gRPC bug that is currently papered over allow services to override their mesh gateway modes remove some of the debug prints of various things
Project: APISIX (Orchestration & Management / API Gateway)
File: uri-blocker.md

title: uri-blocker keywords: Apache APISIX API Gateway URI Blocker description: This document contains information about the Apache APISIX uri-blocker Plugin. <!-- --> The `uri-blocker` Plugin intercepts user requests with a set of `block_rules`. | Name | Type | Required | Default | Valid values | Description | |||-||--|-| | blockrules | array[string] | True | | | List of regex filter rules. If the request URI hits any one of the rules, the response code is set to the `rejectedcode` and the user request is terminated. For example, `["root.exe", "root.m+"]`. | | rejectedcode | integer | False | 403 | [200, ...] | HTTP status code returned when the request URI hits any of the `blockrules`. | | rejectedmsg | string | False | | non-empty | HTTP response body returned when the request URI hits any of the `blockrules`. | | case_insensitive | boolean | False | false | | When set to `true`, ignores the case when matching request URI. | The example below enables the `uri-blocker` Plugin on a specific Route: :::note You can fetch the `admin_key` from `config.yaml` and save to an environment variable with the following command: ```bash adminkey=$(yq '.deployment.admin.adminkey[0].key' conf/config.yaml | sed 's/"//g') ``` ::: ```shell curl -i http://127.0.0.1:9180/apisix/admin/routes/1 -H "X-API-KEY: $admin_key" -X PUT -d ' { "uri": "/*", "plugins": { "uri-blocker": { "block_rules": ["root.exe", "root.m+"] } }, "upstream": { "type": "roundrobin", "nodes": { "127.0.0.1:1980": 1 } } }' ``` Once you have configured the Plugin as shown above, you can try accessing the file: ```shell curl -i http://127.0.0.1:9080/root.exe?a=a ``` ```shell HTTP/1.1 403 Forbidden Date: Wed, 17 Jun 2020 13:55:41 GMT Content-Type: text/html; charset=utf-8 Content-Length: 150 Connection: keep-alive Server: APISIX web server ... ... ``` You can also set a `rejected_msg` and it will be added to the response body: ```shell HTTP/1.1 403 Forbidden Date: Wed, 17 Jun 2020 13:55:41 GMT Content-Type: text/html; charset=utf-8 Content-Length: 150 Connection: keep-alive Server: APISIX web server {"error_msg":"access is not allowed"} ``` To remove the `uri-blocker` Plugin, you can delete the corresponding JSON configuration from the Plugin configuration. APISIX will automatically reload and you do not have to restart for this to take effect. ```shell curl http://127.0.0.1:9180/apisix/admin/routes/1 -H "X-API-KEY: $admin_key" -X PUT -d ' { "uri": "/*", "upstream": { "type": "roundrobin", "nodes": { "127.0.0.1:1980": 1 } } }' ```
Project: Contour (Orchestration & Management / Service Proxy)
File: CHANGELOG-v1.24.6.md

We are delighted to present version v1.24.6 of Contour, our layer 7 HTTP reverse proxy for Kubernetes clusters. This release includes various dependency bumps and fixes for , including: Update to Envoy v1.25.11. See the release notes for v1.25.10 and v1.25.11 . Update to Go v1.20.10. See the for more information. Additional mitigations have been added for CVE-2023-44487 in the form of new configuration fields: Envoy mitigates CVE-2023-44487 with some default runtime settings, however the `http.maxrequestsperiocycle` does not have a default value. This change allows configuring this runtime setting via Contour configuration to allow administrators of Contour to prevent abusive connections from starving resources from other valid connections. The default is left as the existing behavior (no limit) so as not to impact existing valid traffic. The Contour ConfigMap can be modified similar to the following (and Contour restarted) to set this value: ``` listener: max-requests-per-io-cycle: 10 ``` (Note this can be used in addition to the existing Listener configuration field `listener.max-requests-per-connection` which is used primarily for HTTP/1.1 connections and is an approximate limit for HTTP/2) This field can be used to limit the number of concurrent streams Envoy will allow on a single connection from a downstream peer. It can be used to tune resource usage and as a mitigation for DOS attacks arising from vulnerabilities like CVE-2023-44487. The Contour ConfigMap can be modified similar to the following (and Contour restarted) to set this value: ``` listener: http2-max-concurrent-streams: 50 ``` For a fresh install of Contour, consult the . To upgrade an existing Contour installation, please consult the . Contour v1.24.6 is tested against Kubernetes 1.24 through 1.26. If you're using Contour and want to add your organization to our adopters list, please visit this . If you prefer to keep your organization name anonymous but still give us feedback into your usage and scenarios for Contour, please post on this .
Project: Tyk (Orchestration & Management / API Gateway)
File: CLA.md

The following terms are used throughout this agreement: You - the person or legal entity including its affiliates asked to accept this agreement. An affiliate is any entity that controls or is controlled by the legal entity, or is under common control with it. Project - is an umbrella term that refers to any and all Tyk Technologies open source projects. Contribution - any type of work that is submitted to a Project, including any modifications or additions to existing work. Submitted - conveyed to a Project via a pull request, commit, issue, or any form of electronic, written, or verbal communication with Tyk Technologies, contributors or maintainers. Subject to the terms and conditions of this agreement, You grant to the Projects maintainers, contributors, users and to Tyk Technologies a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your contributions and such derivative works. Except for this license, You reserve all rights, title, and interest in your contributions. Subject to the terms and conditions of this agreement, You grant to the Projects maintainers, contributors, users and to Tyk Technologies a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer your contributions, where such license applies only to those patent claims licensable by you that are necessarily infringed by your contribution or by combination of your contribution with the project to which this contribution was submitted. If any entity institutes patent litigation - including cross-claim or counterclaim in a lawsuit - against You alleging that your contribution or any project it was submitted to constitutes or is responsible for direct or contributory patent infringement, then any patent licenses granted to that entity under this agreement shall terminate as of the date such litigation is filed. Your contribution is either your original creation, based upon previous work that, to the best of your knowledge, is covered under an appropriate open source license and you have the right under that license to submit that work with modifications, whether created in whole or in part by you, or you have clearly identified the source of the contribution and any license or other restriction (like related patents, trademarks, and license agreements) of which you are personally aware.
Project: Clusterpedia (Orchestration & Management / Scheduling & Orchestration)
File: RELEASE.md

The `yaml` Project is released on an as-needed basis. The process is as follows: An issue is proposing a new release with a changelog since the last release All must LGTM this release An OWNER runs `git tag -s $VERSION` and inserts the changelog and pushes the tag with `git push $VERSION` The release issue is closed An announcement email is sent to `kubernetes-dev@googlegroups.com` with the subject `[ANNOUNCE] kubernetes-template-project $VERSION is released`
Project: Pipy (Orchestration & Management / Service Proxy)
File: bug-report.md

name: "\U0001F41B Bug Report" about: I want to report a bug. labels: kind:bug Make sure to review these points before submitting issues - thank you! Make sure a similar issue does not exist yet: use the search box. Include reproducible code: we should be able to paste it into an editor, run it and get the same error as you. Otherwise it's impossible for us to reproduce the bug. Write code in the issue itself. Reduce code, if possible, to the minimum size that reproduces the bug. If all of the above is impossible due to a large project, create a branch that reproduces the bug and point us to it. Provide details about the environment like how you are running Pipy, upstream services, client software etc. The more the details, the better it will help us understand and diagnose the problem. Include `pipy` version (`pipy -v`) and OS. If possible, try to see if the bug still reproduces on master.
Project: Gloo (Orchestration & Management / API Gateway)
File: glooctl_create_upstream_static.md

title: "glooctl create upstream static" weight: 5 Create a Static Upstream Static upstreams are intended to connect Gloo to upstreams to services (often external or 3rd-party) running at a fixed IP address or hostname. Static upstreams require you to manually specify the hosts associated with a static upstream. Requests routed to a static upstream will be round-robin load balanced across each host. ``` glooctl create upstream static [flags] ``` ``` -h, --help help for static --service-spec-type string if set, Gloo supports additional routing features to upstreams with a service spec. The service spec defines a set of features --static-hosts strings comma-separated list of hosts for the static upstream. these are hostnames or ips provided in the format IP:PORT or HOSTNAME:PORT. if :PORT is missing, it will default to :80 --static-outbound-tls connections Gloo manages to this cluster will attempt to use TLS for outbound connections. If not specified, Gloo will automatically set this to true for port 443 ``` ``` -c, --config string set the path to the glooctl config file (default "<home_directory>/.gloo/glooctl-config.yaml") --consul-address string address of the Consul server. Use with --use-consul (default "127.0.0.1:8500") --consul-allow-stale-reads Allows reading using Consul's stale consistency mode. --consul-datacenter string Datacenter to use. If not provided, the default agent datacenter is used. Use with --use-consul --consul-root-key string key prefix for for Consul key-value storage. (default "gloo") --consul-scheme string URI scheme for the Consul server. Use with --use-consul (default "http") --consul-token string Token is used to provide a per-request ACL token which overrides the agent's default token. Use with --use-consul --dry-run print kubernetes-formatted yaml rather than creating or updating a resource -i, --interactive use interactive mode --kube-context string kube context to use when interacting with kubernetes --kubeconfig string kubeconfig to use, if not standard one --name string name of the resource to read or write -n, --namespace string namespace for reading or writing resources (default "gloo-system") -o, --output OutputType output format: (yaml, json, table, kube-yaml, wide) (default table) --use-consul use Consul Key-Value storage as the backend for reading and writing config (VirtualServices, Upstreams, and Proxies) ``` - Create an Upstream
Project: Gloo (Orchestration & Management / API Gateway)
File: lbhash.proto.sk.md

title: "lbhash.proto" weight: 5 <!-- Code generated by solo-kit. DO NOT EDIT. --> Specifies the routes hashing policy if the upstream cluster uses a hashing load balancer. https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto#envoy-api-msg-route-routeaction-hashpolicy ```yaml "hashPolicies": []lbhash.options.gloo.solo.io.HashPolicy ``` | Field | Type | Description | | -- | - | -- | | `hashPolicies` | | The list of policies Envoy will use when generating a hash key for a hashing load balancer. | Envoy supports two types of cookie affinity: Passive: Envoy reads the cookie from the headers Generated: Envoy uses the cookie spec to generate a cookie In either case, the cookie is incorporated in the hash key. additional notes https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto#envoy-api-msg-route-routeaction-hashpolicy-cookie ```yaml "name": string "ttl": .google.protobuf.Duration "path": string ``` | Field | Type | Description | | -- | - | -- | | `name` | `string` | required, the name of the cookie to be used to obtain the hash key. | | `ttl` | | If specified, a cookie with the TTL will be generated if the cookie is not present. If the TTL is present and zero, the generated cookie will be a session cookie. | | `path` | `string` | The name of the path for the cookie. If no path is specified here, no path will be set for the cookie. | Specifies an element of Envoy's hashing policy for hashing load balancers ```yaml "header": string "cookie": .lbhash.options.gloo.solo.io.Cookie "sourceIp": bool "terminal": bool ``` | Field | Type | Description | | -- | - | -- | | `header` | `string` | Use a given header's value as a component of the hashing load balancer's hash key. Only one of `header`, `cookie`, or `sourceIp` can be set. | | `cookie` | | Use a given cookie as a component of the hashing load balancer's hash key. Only one of `cookie`, `header`, or `sourceIp` can be set. | | `sourceIp` | `bool` | Use the request's source IP address as a component of the hashing load balancer's hash key. Only one of `sourceIp`, `header`, or `cookie` can be set. | | `terminal` | `bool` | If set, and a hash key is available after evaluating this policy, Envoy will skip the subsequent policies and use the key as it is. This is useful for defining "fallback" policies and limiting the time Envoy spends generating hash keys. | <!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/5130874.js"></script> <!-- End of HubSpot Embed Code -->
Project: Gloo (Orchestration & Management / API Gateway)
File: fault.proto.sk.md

title: "fault.proto" weight: 5 <!-- Code generated by solo-kit. DO NOT EDIT. --> ```yaml "percentage": float "httpStatus": int ``` | Field | Type | Description | | -- | - | -- | | `percentage` | `float` | Percentage of requests that should be aborted, defaulting to 0. This should be a value between 0.0 and 100.0, with up to 6 significant digits. | | `httpStatus` | `int` | This should be a standard HTTP status in the range [200, 600), e.g. 503. Defaults to 0. | ```yaml "percentage": float "fixedDelay": .google.protobuf.Duration ``` | Field | Type | Description | | -- | - | -- | | `percentage` | `float` | Percentage of requests that should be delayed, defaulting to 0. This should be a value between 0.0 and 100.0, with up to 6 significant digits. | | `fixedDelay` | | Fixed delay, defaulting to 0. Will be rejected by the control plane if the delay is specified and less than 1 second. | ```yaml "abort": .fault.options.gloo.solo.io.RouteAbort "delay": .fault.options.gloo.solo.io.RouteDelay ``` | Field | Type | Description | | -- | - | -- | | `abort` | | | | `delay` | | | <!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/5130874.js"></script> <!-- End of HubSpot Embed Code -->
Project: Gloo (Orchestration & Management / API Gateway)
File: healthcheck.proto.sk.md

title: "healthcheck.proto" weight: 5 <!-- Code generated by solo-kit. DO NOT EDIT. --> Add this config to a Listener/Gateway to Enable Envoy Health Checks on that port ```yaml "path": string ``` | Field | Type | Description | | -- | - | -- | | `path` | `string` | match health check requests using this exact path. | <!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/5130874.js"></script> <!-- End of HubSpot Embed Code -->