Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
62 changes: 62 additions & 0 deletions .github/workflows/commit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Commit

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
rust:
name: Rust Build and Test (${{ matrix.platform.arch }})
runs-on: ${{ matrix.platform.os }}
defaults:
run:
working-directory: ./rust
strategy:
fail-fast: false
matrix:
platform:
- os: ubuntu-22.04
arch: amd64
- os: ubuntu-22.04-arm
arch: arm64

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Cache Cargo registry
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-registry-

- name: Cache Cargo git index
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-git-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-git-

- name: Set up Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: clippy, rustfmt

- name: Check formatting
run: cargo fmt -- --check

- name: Run Clippy linter
run: cargo clippy -- -D warnings

- name: Build project
run: cargo build --verbose

- name: Run tests
run: cargo test --verbose
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Dynamic Modules Examples

> Envoy Version: [foobarhash]
> Envoy Version: [78efd97]

This repository hosts examples of dynamic modules for [Envoy] to extend its functionality.
The high level documentation is available [here][High Level Doc]. In short, a dynamic module is a shared library
This repository hosts examples of dynamic modules for [Envoy] to extend its functionality.
The high level documentation is available [here][High Level Doc]. In short, a dynamic module is a shared library
that can be loaded into Envoy at runtime to add custom functionality, for example, a new HTTP filter.

It is a new way to extend Envoy without the need to recompile it just like the existing mechanisms
Expand All @@ -12,6 +12,6 @@ like Lua filters, Wasm filters, or External Processors.
Currently, the only language supported is Rust, so this repository contains examples of dynamic modules written in Rust.
Future examples will be added in other languages once the support is available.

[foobarhash]: https://github.com/envoyproxy/envoy/tree/foobarhash
[78efd97]: https://github.com/envoyproxy/envoy/tree/78efd97
[Envoy]: https://github.com/envoyproxy/envoy
[High Level Doc]: https://todo.com
[High Level Doc]: https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/dynamic_modules
Loading
Loading