Skip to content

ci: refactor external dep build/install scripts.#687

Merged
mattklein123 merged 2 commits intoenvoyproxy:masterfrom
htuch:build-container
Apr 4, 2017
Merged

ci: refactor external dep build/install scripts.#687
mattklein123 merged 2 commits intoenvoyproxy:masterfrom
htuch:build-container

Conversation

@htuch
Copy link
Copy Markdown
Member

@htuch htuch commented Apr 4, 2017

The motivation for this is that we would like to allow developers to perform local installation of
Envoy dependencies as prebuilts, similar to CI.

build_and_install_deps.sh now does the build/install into $THIRDPARTY_{SRC,BUILD} via recursive
make. This provides a significant speed boost (2 minutes total build time for all dependencies on my
workstation) and the top-level make is able to keep track of when stuff needs to be rebuilt as
dependencies change over time (see comment at the top of Makefile).

Verified with {debug, coverage, bazel.debug} runs locally against the resulting CI Docker image.

The motivation for this is that we would like to allow developers to perform local installation of
Envoy dependencies as prebuilts, similar to CI.

build_and_install_deps.sh now does the build/install into $THIRDPARTY_{SRC,BUILD} via recursive
make. This provides a significant speed boost (2 minutes total build time for all dependencies on my
workstation) and the top-level make is able to keep track of when stuff needs to be rebuilt as
dependencies change over time (see comment at the top of Makefile).

Verified with {debug, coverage, bazel.debug} runs locally against the resulting CI Docker image.
# TODO(htuch): These dependencies should be installed into distinct --prefix directories, so we can
# easily blow away the lib/ and include/ install directories when we upgrade version.

all: $(THIRDPARTY_DEPS)/libevent.dep \
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Can we fix the whitespace indent in this file. It's making my OCD flair up.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

cd boringssl
git reset --hard b87c80300647c2c0311c1489a104470e099f1531
cmake .
make
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For full job server support aren't you supposed to do $(MAKE) ? (Similar elsewhere)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By prefixing the shell invocation line with +, the top-level make puts the make coordination flags in the environment, so no need to do anything special in the script.

Copy link
Copy Markdown
Member

@mattklein123 mattklein123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When this passes tests I will merge and then build/push a new build image just to verify things.

@mattklein123 mattklein123 merged commit b05ce8e into envoyproxy:master Apr 4, 2017
jpsim pushed a commit that referenced this pull request Nov 28, 2022
Description: Bump the Envoy ref. This PR brings in the relevant updates to Envoy Mobile:

    #10060 which Fixes #687

Risk Level: low
Testing: unit test in Envoy, Envoy Mobile local build and CI

Fixes #687

Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: JP Simard <jp@jpsim.com>
jpsim pushed a commit that referenced this pull request Nov 29, 2022
Description: Bump the Envoy ref. This PR brings in the relevant updates to Envoy Mobile:

    #10060 which Fixes #687

Risk Level: low
Testing: unit test in Envoy, Envoy Mobile local build and CI

Fixes #687

Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: JP Simard <jp@jpsim.com>
mathetake added a commit that referenced this pull request Mar 3, 2026
**Commit Message**

Add model name field to backend ref. This allows users pass a different
model name to the backend from the one that was provided in the original
request. This is particularly useful for cross-provided failover and
load balancing.

For example: If a user has provisioned Claude 3.5 Sonnet on both AWS and
GCP they can setup a rule that will load balance across them:

```yaml
apiVersion: aigateway.envoyproxy.io/v1alpha1
kind: AIGatewayRoute
metadata:
  name: test-route
  namespace: ai-gateway
spec:
  targetRefs:
  - group: gateway.networking.k8s.io
    kind: Gateway
    name: eg
  schema:
    name: OpenAI
  rules:
  - matches:
      - headers:
        - type: Exact
          name: x-ai-eg-model
          value: claude-3-5-sonnet-v2
    backendRefs:
    - name: aws-backend
    - name: gcp-backend
```

Since the both providers will have a different name/model identifier for
the provisioned endpoint the above configuration will not work. This PR
makes it possible to add a `modelName` on the backend ref which
specifies the providers name for the model.

With the `modelName` property we can support this use-case as follows:

```yaml
apiVersion: aigateway.envoyproxy.io/v1alpha1
kind: AIGatewayRoute
metadata:
  name: test-route
  namespace: ai-gateway
spec:
  targetRefs:
  - group: gateway.networking.k8s.io
    kind: Gateway
    name: eg
  schema:
    name: OpenAI
  rules:
  - matches:
      - headers:
        - type: Exact
          name: x-ai-eg-model
          value: claude-3-5-sonnet-v2
    backendRefs:
    - name: aws-backend
      modelName: arn:aws:bedrock:us-west-2:123456789012:provisioned-model/abc123xyz
    - name: gcp-backend
      modelName: claude-3-5-sonnet-v2@20241022
```

---------

Signed-off-by: Curtis Maddalozzo <cmaddalozzo@bloomberg.net>
Signed-off-by: Curtis Maddalozzo <cmaddalozzo@users.noreply.github.com>
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
mathetake pushed a commit that referenced this pull request Mar 3, 2026
**Description**
Support model name overrides for GCP gemini and anthropic.

**Related Issues/PRs (if applicable)**

Fixes #870
Related PR: #687

Signed-off-by: Dan Sun <dsun20@bloomberg.net>
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.

2 participants