Commit Graph

3881 Commits

Author SHA1 Message Date
Reactor Scram
d6827c046a chore(gui-client): fix macOS clippy warning, clean up error types (#4146)
Fixes the compile warning in macOS for the `version-check` CI job.

Removes some error variants that were never matched on, folding them
into `anyhow::Error`s
2024-03-14 20:38:22 +00:00
Thomas Eizinger
a64c34112d ci: activate backtrace for Rust tests (#4137) 2024-03-14 20:21:14 +00:00
Gabi
148bc8c7b2 fix(android): send Cidr format instead of IpNetwork format (#4134)
Fixes android on main and remove the need to parse and re-parse
addresses for android and swift.

---------

Signed-off-by: Gabi <gabrielalejandro7@gmail.com>
Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-03-14 18:57:35 +00:00
Jamil
ffc034d5c4 chore(docker): Add missing okta provider (#4131) 2024-03-14 16:18:26 +00:00
Thomas Eizinger
c62202ac90 fix(android): spawn dedicated thread for connlib (#4145)
Same as https://github.com/firezone/firezone/pull/4141 but for Android.
2024-03-14 05:57:13 +00:00
Gabi
91de68fd4b fix(apple): spawn new thread for runtime to prevent it from being taken down (#4141)
Using the current thread in apple was causing a crashloop, since
connlib's thread was taken down by the network extension after
`WrappedSession::connect` returned.

Now we force the runtime to create the thread to prevent it from being
taken down.
2024-03-14 05:49:28 +00:00
Gabi
05e5ca609c chore(apple): initiate logging subscriber as early as possible (#4143)
Also, return error with tracing subscriber initialization
2024-03-14 05:45:22 +00:00
Thomas Eizinger
be22e99380 ci: scope Rust cache by targets to be built (#4136) 2024-03-14 01:19:18 +00:00
Thomas Eizinger
53cc7d6fd5 refactor(connlib): don't start a runtime as part of Session (#4119)
Currently, each use of `Session` creates its own `Runtime`. That is
unnecessary because some platforms already have a tokio runtime running.
Instead of creating another one, we simply ask the caller to provide us
with a `Handle` to an existing tokio runtime. For Android and iOS we
spawn a new single-threaded runtime to satisfy this new requirement.
2024-03-14 00:06:29 +00:00
Jamil
63c546eb45 chore(docker): Fix docker image local builds (#4127)
Fixes an artifact leftover from the refactor.

Fixes #4122
2024-03-14 00:06:10 +00:00
Thomas Eizinger
9767bddcca feat(gateway): add HTTP health check (#4120)
This adds the same kind of HTTP health-check that is already present in
the relay to the gateway. The health-check returns 200 OK for as long as
the gateway is active. The gateway automatically shuts down on fatal
errors (like authentication failures with the portal).

To enable this, I've extracted a crate `http-health-check` that shares
this code between the relay and the gateway.

Resolves: #2465.

---------

Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-03-13 21:05:21 +00:00
Reactor Scram
4c77aae3d2 chore(windows): document Windows network_changes behavior (#4130)
Ref #3429 

It doesn't report DNS changes, but I added a proof of concept for how we
could do that.
2024-03-13 20:59:52 +00:00
Thomas Eizinger
6a7d8c8a3d refactor(snownet): introduce is_connected_to to simplify unit test (#4121)
Instead of tracking this state separately, we can expose a getter on a
`snownet::Node`.
2024-03-13 20:48:45 +00:00
Thomas Eizinger
bd94461d65 feat(connlib): reduce stack size usage (#3958)
With the use of `snownet`, we now have explicit control over how we read
and write messages to sockets. As such, we can make the remaining
stack-allocated buffer heap-allocated and remove the increased
stack-size on our tokio worker threads.
2024-03-13 20:47:22 +00:00
Thomas Eizinger
6ab7e51264 refactor(connlib): allow commands to be sent to eventloop (#4112)
This refactors `Session` to allow for commands to be sent to the
`Eventloop`. Currently, we only send a `Stop` command. With #3429, we
will add more commands like refreshing and updating the DNS servers.
2024-03-13 20:09:48 +00:00
Andrew Dryga
7fd3d1a6b1 fix(portal): Increase group name max length (#4128)
Fixes
https://firezonehq.slack.com/archives/C05JUKPT83T/p1710324078226719
2024-03-13 12:38:09 -06:00
Reactor Scram
52cde610e1 feat(linux): make deep link auth work (#4102)
Right now it only works on my dev VM, not on my test VMs, due to #4053
and #4103, but it passes tests and should be safe to merge.

There's one doc fix and one script fix which are unrelated and could be
their own PRs, but they'd be tiny, so I left them in here.

Ref #4106 and #3713 for the plan to fix all this by splitting the tunnel
process off so that the GUI runs as a normal user.
2024-03-13 18:11:04 +00:00
Jamil
32d18abb09 chore(ci): Use explicit images for hotfix workflow (#4126)
Hotfix calls integrations tests separately, so we need to explicitly
define the images for it to use.
2024-03-13 08:12:05 -07:00
Jamil
ec4eb2583f chore(ci): Explicit empty string and use GITHUB_OUTPUT (#4125)
Image names...
2024-03-13 00:02:20 -07:00
Jamil
e55f2325bc chore(ci): fix name naming (#4124) 2024-03-12 23:36:37 -07:00
Jamil
e185a5818a chore(ci): Add workflow trigger to description (#4123)
Getting some unexpected values for `github.event_name` so adding more
logging to diagnose.
2024-03-12 23:34:17 -07:00
Thomas Eizinger
5744ed2a13 chore(connlib): remove unused event (#4110)
Seems to be a left-over from a previous design.
2024-03-13 03:25:21 +00:00
Jamil
1cfe2c5d4a chore(ci): use output image from build for integration tests (#4117)
In CI, images have `debug/`. In CD, they don't, so test them that way.
2024-03-13 02:58:17 +00:00
Jamil
c555167e64 chore(ci): Check github.event_name == "pull_request" before using debug image prefix (#4115) 2024-03-12 18:26:35 -07:00
Jamil
2d79f32394 chore(ci): Don't namespace release images (#4114)
Fixes a logic bug.
2024-03-12 18:16:52 -07:00
Jamil
b1871ea24d Fix typo in _deploy_production.yml (#4113) 2024-03-12 17:02:20 -07:00
Jamil
78e730e6b5 chore(ci): Fix sha typo (#4111)
workflow_dispatch doesn't allow vars
2024-03-12 16:36:15 -07:00
Thomas Eizinger
6b1c2c9369 chore(snownet): add basic unit test for a connection (#4097)
This is heavily inspired by how `str0m`'s `IceAgent` is tested. I left a
link for attribution. We can copy / move this later to write unit tests
for the `Tunnel`.
2024-03-12 22:26:10 +00:00
dependabot[bot]
3a245bdb65 build(deps): Bump @tauri-apps/cli from 1.5.10 to 1.5.11 in /rust/gui-client (#4078)
Bumps [@tauri-apps/cli](https://github.com/tauri-apps/tauri) from 1.5.10
to 1.5.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tauri-apps/tauri/releases"><code>@​tauri-apps/cli</code>'s
releases</a>.</em></p>
<blockquote>
<h2><code>@​tauri-apps/cli</code> v1.5.11</h2>
<h2>[1.5.11]</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="b15948b11c"><code>b15948b11</code></a>(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/8903">#8903</a>)
Fix <code>.taurignore</code> failing to ignore in some cases.</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>Upgraded to <code>tauri-cli@1.5.11</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b705f89a10"><code>b705f89</code></a>
Apply Version Updates From Current Changes (v1) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/9074">#9074</a>)</li>
<li><a
href="97a05145fb"><code>97a0514</code></a>
fix(cli): migrate to stable features of <code>log</code> crate (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/9119">#9119</a>)</li>
<li><a
href="b15948b11c"><code>b15948b</code></a>
fix(cli): use <code>matched_path_or_any_parents</code> when checking if
a file is ignore...</li>
<li><a
href="5163861588"><code>5163861</code></a>
fix(bundler): escape potentially problematic strings in an XML (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/9040">#9040</a>)</li>
<li><a
href="80a215a6f3"><code>80a215a</code></a>
Apply Version Updates From Current Changes (v1) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/9013">#9013</a>)</li>
<li><a
href="01ae1218dc"><code>01ae121</code></a>
ci: downgrade thread_local to 1.1.7 in msrv list (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/9012">#9012</a>)</li>
<li><a
href="d42668ce17"><code>d42668c</code></a>
fix(runtime-wry): avoid panic during clipboard initialization on wayland
(<a
href="https://redirect.github.com/tauri-apps/tauri/issues/9003">#9003</a>)</li>
<li><a
href="1ab0db6352"><code>1ab0db6</code></a>
chore: port PR template from <code>dev</code> branch (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/9004">#9004</a>)</li>
<li><a
href="e816a46b95"><code>e816a46</code></a>
chore: update lock files</li>
<li><a
href="a4b82d9dba"><code>a4b82d9</code></a>
chore: bump tauri-utils</li>
<li>See full diff in <a
href="https://github.com/tauri-apps/tauri/compare/@tauri-apps/cli-v1.5.10...@tauri-apps/cli-v1.5.11">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@tauri-apps/cli&package-manager=npm_and_yarn&previous-version=1.5.10&new-version=1.5.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-03-12 20:53:09 +00:00
Jamil
574585d146 chore(ci): Add debug/ and perf/ prefix to some images (#4104)
Followup from #4100:


- Add `perf/relay` and `debug/relay` etc data plane images in
`firezone-staging`.
- The `perf` images are `debug` stage images and have tooling installed,
but use release binaries.
- The `debug` images are `debug` binaries inside `debug` images
- `firezone-prod` contains only release binaries -- these image names
haven't changed
2024-03-12 20:27:32 +00:00
Gabi
2e85ea1b3a refactor(connlib): use on_update_routes instead of on_add/on_remove_route (#3825)
Extracted from #3791 and #3750 

Co-authored-by: @jamilbk <jamilbk@users.noreply.github.com>
2024-03-12 19:49:32 +00:00
Jamil
1a348b2ada chore(ci): Add setup-elixir composite action (#4067)
Pulled out of #4049
2024-03-12 19:41:06 +00:00
dependabot[bot]
9836c74ea5 build(deps): Bump the otel group in /rust with 3 updates (#3980)
Bumps the otel group in /rust with 3 updates:
[tracing-stackdriver](https://github.com/NAlexPear/tracing-stackdriver),
[tracing-opentelemetry](https://github.com/tokio-rs/tracing-opentelemetry)
and
[opentelemetry-otlp](https://github.com/open-telemetry/opentelemetry-rust).

Updates `tracing-stackdriver` from 0.8.0 to 0.9.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4a9fe0a37e"><code>4a9fe0a</code></a>
⬆ Bump version to 0.9.0</li>
<li>See full diff in <a
href="https://github.com/NAlexPear/tracing-stackdriver/compare/v0.8.0...v0.9.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `tracing-opentelemetry` from 0.21.0 to 0.22.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tracing-opentelemetry/releases">tracing-opentelemetry's
releases</a>.</em></p>
<blockquote>
<h2>0.22.0</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Upgrade to <code>v0.21.0</code> of <code>opentelemetry</code>
For list of breaking changes in OpenTelemetry, see the
<a
href="https://github.com/open-telemetry/opentelemetry-rust/blob/v0.21.0/opentelemetry/CHANGELOG.md">v0.21.0
changelog</a>.</li>
<li>Update MSRV to require Rust 1.65+, as <code>opentelemetry</code>
requires it now. (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/68">#68</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>WASM Support (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/57">#57</a>)</li>
<li>Fix potential deadlock (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/59">#59</a>)</li>
</ul>
<p>Thanks to <a
href="https://github.com/jesseditson"><code>@​jesseditson</code></a>, <a
href="https://github.com/AsmPrgmC3"><code>@​AsmPrgmC3</code></a>, and <a
href="https://github.com/rthomas"><code>@​rthomas</code></a> for
contributing to this release!</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tracing-opentelemetry/blob/v0.1.x/CHANGELOG.md">tracing-opentelemetry's
changelog</a>.</em></p>
<blockquote>
<h1>0.22.0 (November 7, 2023)</h1>
<h3>Breaking Changes</h3>
<ul>
<li>Upgrade to <code>v0.21.0</code> of <code>opentelemetry</code>
For list of breaking changes in OpenTelemetry, see the
<a
href="https://github.com/open-telemetry/opentelemetry-rust/blob/v0.21.0/opentelemetry/CHANGELOG.md">v0.21.0
changelog</a>.</li>
<li>Update MSRV to require Rust 1.65+, as <code>opentelemetry</code>
requires it now. (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/68">#68</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>WASM Support (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/57">#57</a>)</li>
<li>Fix potential deadlock (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/59">#59</a>)</li>
</ul>
<p>Thanks to <a
href="https://github.com/jesseditson"><code>@​jesseditson</code></a>, <a
href="https://github.com/AsmPrgmC3"><code>@​AsmPrgmC3</code></a>, and <a
href="https://github.com/rthomas"><code>@​rthomas</code></a> for
contributing to this release!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="62690b4ac9"><code>62690b4</code></a>
Prepare for v0.22.0 release (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/75">#75</a>)</li>
<li><a
href="2156c236db"><code>2156c23</code></a>
Update otel to version 0.21 (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/68">#68</a>)</li>
<li><a
href="cfc64f37b6"><code>cfc64f3</code></a>
build(deps): update tracing-log requirement from 0.1.3 to 0.2.0 (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/64">#64</a>)</li>
<li><a
href="70f3ed6f73"><code>70f3ed6</code></a>
build(deps): update pprof requirement from 0.12.1 to 0.13.0 (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/61">#61</a>)</li>
<li><a
href="bddef29233"><code>bddef29</code></a>
Add support for instrumented functions which return Result (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/28">#28</a>)</li>
<li><a
href="1c61ea6b56"><code>1c61ea6</code></a>
Fix potential deadlock (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/59">#59</a>)</li>
<li><a
href="5223a67887"><code>5223a67</code></a>
Update README example Cargo.toml (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/60">#60</a>)</li>
<li><a
href="a03ff2275b"><code>a03ff22</code></a>
Update criterion and pprof (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/42">#42</a>)</li>
<li><a
href="80ae3211db"><code>80ae321</code></a>
WASM Support (<a
href="https://redirect.github.com/tokio-rs/tracing-opentelemetry/issues/57">#57</a>)</li>
<li>See full diff in <a
href="https://github.com/tokio-rs/tracing-opentelemetry/compare/v0.21.0...v0.22.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `opentelemetry-otlp` from 0.13.0 to 0.15.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-rust/releases">opentelemetry-otlp's
releases</a>.</em></p>
<blockquote>
<h2>v0.15.0</h2>
<h3>Added</h3>
<ul>
<li>More resource detectors <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/573">#573</a></li>
</ul>
<h3>Changed</h3>
<ul>
<li>Expose the Error type to allow users to set custom error handlers <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/551">#551</a></li>
<li>Allow users to use different channels based on runtime in batch span
processor <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/560">#560</a></li>
<li>Move <code>Unit</code> into <code>metrics</code> module <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/564">#564</a></li>
<li>Update trace flags to match spec <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/565">#565</a></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix debug loop, add notes for <code>#[tokio::test]</code> <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/552">#552</a></li>
<li><code>TraceState</code> cannot insert new key-value pairs <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/567">#567</a></li>
</ul>
<h2>v0.14.0</h2>
<h2>Added</h2>
<ul>
<li>Adding a dynamic dispatch to Aggregator Selector <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/497">#497</a></li>
<li>Add <code>global::force_flush_tracer_provider</code> <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/512">#512</a></li>
<li>Add config <code>max_attributes_per_event</code> and
<code>max_attributes_per_link</code> <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/521">#521</a></li>
<li>Add dropped attribute counts to events and links <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/529">#529</a></li>
</ul>
<h2>Changed</h2>
<ul>
<li>Remove unnecessary clone in <code>Key</code> type <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/491">#491</a></li>
<li>Remove <code>#[must_use]</code> from
<code>set_tracer_provider</code> <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/501">#501</a></li>
<li>Rename remaining usage of <code>default_sampler</code> to
<code>sampler</code> <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/509">#509</a></li>
<li>Use current span for SDK-less context propagation <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/510">#510</a></li>
<li>Always export span batch when limit reached <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/519">#519</a></li>
<li>Rename message events to events <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/530">#530</a></li>
<li>Update resource merge behaviour <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/537">#537</a></li>
<li>Ignore links with invalid context <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/538">#538</a></li>
</ul>
<h2>Removed</h2>
<ul>
<li>Remove remote span context <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/508">#508</a></li>
<li>Remove metrics quantiles <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/525">#525</a></li>
</ul>
<h1>Fixed</h1>
<ul>
<li>Allow users to use custom export kind selector <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/526">#526</a></li>
</ul>
<h2>Performance</h2>
<ul>
<li>Improve simple span processor performance <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/502">#502</a></li>
<li>Local span perf improvements <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/505">#505</a></li>
<li>Reduce string allocations where possible <a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/506">#506</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d7ba1ea4f7"><code>d7ba1ea</code></a>
Prepare for v0.15.0 release (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/572">#572</a>)</li>
<li><a
href="6834b64192"><code>6834b64</code></a>
feat: add more resource detectors (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/573">#573</a>)</li>
<li><a
href="efbc842c11"><code>efbc842</code></a>
semantic-conventions: update to v1.4.0 spec (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/570">#570</a>)</li>
<li><a
href="d70a537548"><code>d70a537</code></a>
Update example and optional dependencies (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/568">#568</a>)</li>
<li><a
href="a2dd6e7779"><code>a2dd6e7</code></a>
fix: TraceState cannot insert new key-value pairs. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/567">#567</a>)</li>
<li><a
href="dc7d81fdfa"><code>dc7d81f</code></a>
Update trace flags to match spec (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/565">#565</a>)</li>
<li><a
href="635f10e15d"><code>635f10e</code></a>
Move unit into metrics module (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/564">#564</a>)</li>
<li><a
href="99e51c1980"><code>99e51c1</code></a>
Update lib and tracing module docs with examples (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/563">#563</a>)</li>
<li><a
href="1ca62d337e"><code>1ca62d3</code></a>
feat: allow users to use different channels based on runtime in batch
span pr...</li>
<li><a
href="fb576b0e71"><code>fb576b0</code></a>
move hyper prometheus example into something runnable (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-rust/issues/562">#562</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/open-telemetry/opentelemetry-rust/compare/v0.13.0...v0.15.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2024-03-12 19:16:35 +00:00
Jamil
ac45dc8199 Fix removal in terraform examples README.md
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2024-03-12 10:58:57 -07:00
Jamil
81ef6ce7a1 feat(docs): Example Gateway terraform module for GCP (#4011)
Adds a working example of the simplest way to deploy Gateways to GCP
that is also mostly cloud platform agnostic.

I avoided using COS and Docker for this because:

- Systemd is already installed and supports IPv6 already
- Can be more easily adapted to other platforms where Docker may not be
available or trickier to setup (E.g. CentOS 7)
- COS is Google-specific

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Andrew Dryga <andrew@dryga.com>
2024-03-12 10:57:18 -07:00
Gabi
270563bb93 chore(connlib): update quinn-udp (#4087)
quinn-rs/quinn#1758 was merged, meaning we don't need to maintain our
fork

Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2024-03-12 17:22:48 +00:00
Jamil
eb01de0285 chore(ci): Use tool versions action to parse terraform version (#4076)
Extracted from feedback on #4049
2024-03-12 17:13:31 +00:00
Jamil
0f4348c406 chore(ci): Fix deploy staging logic bug (#4101) 2024-03-12 10:13:17 -07:00
Jamil
ef2d272f78 chore(ci): Use release binaries for performance tests (#4100)
- Don't build perf images for control plane images
- Use release binaries for performance tests
2024-03-12 16:29:33 +00:00
Jamil
2839d459a7 chore(ci): don't build tauri twice in CD (#4098)
Fixes red main.
2024-03-12 09:04:27 -07:00
Thomas Eizinger
c67ba0b73b chore(snownet): remove repeated attribute (#4090) 2024-03-12 14:06:46 +00:00
Thomas Eizinger
48dc15f215 chore(snownet): extract constant for handshake timeout (#4091) 2024-03-12 14:06:28 +00:00
Thomas Eizinger
36848e31a9 fix(relay): actually expire channels which allows re-binding them (#4094)
Previously, the relay neither scheduled a `Wake` command nor did it
register a `TimedAction` to expire a channel binding. Such an action was
only scheduled after the first refresh.

This PR fixes this and adds a test that asserts we can re-bind the same
channel to a different peer after 15 minutes.

Resolves: #3979.
2024-03-12 10:13:47 +00:00
Thomas Eizinger
32e16ec927 feat(relay): improve logs for expiry and deletion of channel bindings (#4089)
Unfortunately, the current logs don't allow us to correlate, which
allocation and thus which client the expired channel binding relates to.
This PR fixes this by adding more fields to the relevant log messages.
2024-03-12 10:13:15 +00:00
Thomas Eizinger
066ed4c85d chore(snownet): log channel number and peer as part of failed channel binding (#4086)
Should help in debugging which channel we tried to bind without having
to sieve through the relay's logs for the transaction ID.
2024-03-12 10:12:50 +00:00
Thomas Eizinger
407d20d817 refactor(connlib): use phoenix-channel crate for clients (#3682)
Depends-On: #4048.
Depends-On: #4015.

Resolves: #2158.

---------

Co-authored-by: conectado <gabrielalejandro7@gmail.com>
2024-03-12 08:10:56 +00:00
Jamil
f6173faf09 chore(ci): Fix tauri upload and allow building images based on given SHA (#4092)
Opening as another PR to unblock CI. Pulled from #4085
2024-03-12 07:03:21 +00:00
Jamil
4affd35f0d chore(website): Update copyright date in footer (#4093) 2024-03-11 20:04:32 -07:00
Jamil
391150f0e1 chore(ci): Fix new issues in cd.yml (#4085)
Fixes some issues encountered after the merge of #4049 

- Fix performance tests to only run using base_ref and head_ref to avoid
dependence on `main`
- Fixes some typos
- Prevents a catch-22 condition where breaking compatibility meant we
wouldn't be able to deploy production
2024-03-12 02:06:19 +00:00
Thomas Eizinger
879a9019b3 refactor(connlib): split Device creation from initialization (#4069)
This reduces the amount of boilerplate required in the `Tunnel`'s
eventloop. It also makes re-initialization of a `Device` much easier.
2024-03-11 21:04:18 +00:00