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

Create ambassador-egress #3194

Open
wants to merge 10,000 commits into
base: master
Choose a base branch
from
Open

Conversation

mcalestino
Copy link

Description

A few sentences describing the overall goals of the pull request's commits.

Related Issues

List related issues.

Testing

A few sentences describing what testing you've done, e.g., manual tests, automated tests, deployed in production, etc.

Tasks That Must Be Done

  • Did you update CHANGELOG.md?
    • Is this a new feature?
    • Are there any non-backward-compatible changes?
    • Did the envoy version change?
    • Are there any deprecations?
    • Will the changes impact how ambassador performs at scale?
      • Might an existing production deployment need to change:
        • memory limits?
        • cpu limits?
        • replica counts?
      • Does the change impact data-plane latency/scalability?
  • Is your change adequately tested?
    • Was their sufficient test coverage for the area changed?
    • Do the existing tests capture the requirements for the area changed?
    • Is the bulk of your code covered by unit tests?
    • Does at least one end-to-end test cover the integration points your change depends on?
  • Did you update documentation?
  • Were there any special dev tricks you had to use to work on this code efficiently?
    • Did you add them to DEVELOPING.md?
  • Is this a build change?
    • If so, did you test on both Mac and Linux?

Other

  • If this is a documentation change for a particular release, please open the pull request against the release branch.

mattmcclure-dw and others added 30 commits December 4, 2020 11:04
…ctor setup yaml (emissary-ingress#2102)

* be opinionated about namespace in ambassador-consul-connector

* update changelog

* update documentation to clean up resources in the default namespace

* doc fixups
…et/dev/master/kat-timeout

circleci: increase KAT_REQ_LIMIT to 900 in CI
…nn/dev/dtime

Switch pkg/acp to use dtime.FakeTime
…eshu/doc-fixes

rate-limits.md: Fix some typos
…eshu/m/changelog

[master] Fixup CHANGELOG
…/retries-doc

[master] Update auto retries doc
…et/dev/master/regex-rewrite-redirect

Support regex_redirect on Mappings.
…d-vs-replace

Max was hitting this bug in System A.

TL;DR of how he was hitting it:

 1. He was submitting a request with `Authorization: Basic ...`

 2. Envoy hands that off to amb-sidecar as `authorization: Basic ...`

 3. An OAuth2 Filter issued
    `filterapi.HTTPHeaderReplaceValue{"authorization", "Bearer ..."}`

 4. (bug part 1) `filterutil.ApplyRequestModification()` applied
    `http.CanonicalHeaderKey()` on the incoming modification, but not
    the existing request headers.  So it resulted in the header being
    set to

        map[string]string{
            "authorization": "Basic ...",
            "Authorization": "Bearer ...",
        }

 5. That modified request then gets handed off to the resource-server
    part of the OAuth2 Filter, which calls `filterutil.GetHeader(req)`
    to get the header to work with it.

 6. (bug part 2) `filterutil.GetHeader()` doesn't correctly handle the
    possiblitiy of multiple values for a key, because it assumes that
    the key case is already fully normalized.  (Now, that *should* be
    true (bug part 1), but it *should* also be robust to it not being
    true).  So, because map iteration order in Go is randomized, it
    either ends up with

       http.Header{
           "Authorization": "Basic ...",
       }

    or

       http.Header{
           "Authorization": "Bearer ...",
       }

    In one case, everything appears to work, and in the other case you
    get an error.
…#2129)

* expose max_request_headers_kb

* tests, but weird 503 shit happening

* add unit tests and weirdness test

* fix tests

* small tests updates

* doc updates

* test update
* quick doc fix

* pass id token through to oauth resource server

* changelog and docs

* add a few e2e tests

* unit test regression oops

* oops, dont validate if defering to a JWT Filter

* unit tests for resourceserver

* add unit tests for oauth lib things

* add more idp tests

* document and test how conflicting JWT and oauth headers work

* fix gotest oops

* unit test typo

* code review feedback and moar tests
…eshu/fix-case

filterutil: Fix a bug with header capitalization and append-vs-replace
khussey and others added 29 commits January 23, 2021 17:21
…te-1.10

Publish new docs from Ambassador Labs
…nn/dev/deprecations-1.11

Update deprecation notes for 1.11.
…nner_link

Fix link and use consistent banner
…tention (emissary-ingress#2284)

* fix some upstream timeouts in devportal caused by lock contention

* also dont lock when fetching devportal content

* use diff muxes for service + devportal data

* changelog additions for PR emissary-ingress#2284 (emissary-ingress#2286)
…-14-master

Upgrade to node 14 + tweak Python test harness
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants