Commit Graph

4515 Commits

Author SHA1 Message Date
Reactor Scram
84cd1574ff chore(gui-client): remove incorrect DNS deactivation (#5067)
This call always results in an error because the GUI runs unprivileged
on both Linux and Windows now, so it can't control DNS or deactivate DNS
control. The IPC service has taken over all that, so the GUI not only
shouldn't do it, it can't do it.

<img width="568" alt="image"
src="https://github.com/firezone/firezone/assets/13400041/ad1b861f-4f3e-453a-94b5-d6f21c9eb198">
2024-05-21 19:16:37 +00:00
Reactor Scram
04fd2f9581 chore(gui-client): disable the Welcome screen only after the first sign-in (#5066)
Closes #5015.

This way if the user opens and closes the GUI without doing anything,
the Welcome screen still appears until they successfully sign in.
Previously the `ran_before` flag was set after the first GUI startup.

Tested on Windows once.
2024-05-21 18:20:40 +00:00
Reactor Scram
b510041494 chore(connlib): fix copy-paste typo in comment about DNS (#5053)
Closes #5051
2024-05-21 18:15:20 +00:00
Gabi
0288b1e9af chore(connlib): make encapsulate pure (#5055) 2024-05-21 18:11:21 +00:00
dependabot[bot]
bcd8d2e050 build(deps): Bump arboard from 3.3.2 to 3.4.0 in /rust (#5038)
Bumps [arboard](https://github.com/1Password/arboard) from 3.3.2 to
3.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/1Password/arboard/releases">arboard's
releases</a>.</em></p>
<blockquote>
<h2>v3.4.0</h2>
<h3>Added</h3>
<ul>
<li>Added a <code>wait_until</code> method for Linux, as a superset of
the existing <code>wait</code> functionality.
This is a helper for letting an application wait without manual timeout
handling.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Transparency in copied images now behaves better in certain Windows
apps.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Updated <code>image</code> to <code>0.25</code>.</li>
<li>Removed direct <code>thiserror</code> dependency.</li>
<li>Fixed Linux documentation links</li>
<li>Raised MSRV to 1.67.1</li>
<li>Reverted timeout behavior of <code>Clipboard::new()</code> on
platforms using X11. Applications are
encouraged to wrap constructor calls in their own thread/channel timeout
mechanisms instead
to make sure the behavior matches each usecase.</li>
<li>Migrated away from <code>objc</code> to the <code>objc2</code>
ecosystem for the Apple clipboard implementation.</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/1Password/arboard/compare/v3.3.2...v3.4.0">https://github.com/1Password/arboard/compare/v3.3.2...v3.4.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/1Password/arboard/blob/master/CHANGELOG.md">arboard's
changelog</a>.</em></p>
<blockquote>
<h2>3.4.0 on 2024-29-04</h2>
<h3>Added</h3>
<ul>
<li>Added a <code>wait_until</code> method for Linux, as a superset of
the existing <code>wait</code> functionality.
This is a helper for letting an application wait without manual timeout
handling.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Transparency in copied images now behaves better in certain Windows
apps.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Updated <code>image</code> to <code>0.25</code>.</li>
<li>Removed direct <code>thiserror</code> dependency.</li>
<li>Fixed Linux documentation links</li>
<li>Raised MSRV to 1.67.1</li>
<li>Reverted timeout behavior of <code>Clipboard::new()</code> on
platforms using X11. Applications are
encouraged to wrap constructor calls in their own thread/channel timeout
mechanisms instead
to make sure the behavior matches each usecase.</li>
<li>Migrated away from <code>objc</code> to the <code>objc2</code>
ecosystem for the Apple clipboard implementation.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="151e679ee5"><code>151e679</code></a>
Release 3.4.0</li>
<li><a
href="610e29ba81"><code>610e29b</code></a>
Remove direct thiserror dependency</li>
<li><a
href="83740b7ab0"><code>83740b7</code></a>
Copy image as PNG file on Windows (<a
href="https://redirect.github.com/1Password/arboard/issues/141">#141</a>)</li>
<li><a
href="0bff1e07ea"><code>0bff1e0</code></a>
Use objc2 and its framework crates</li>
<li><a
href="1cca83d7e5"><code>1cca83d</code></a>
Revert &quot;add timeout to RustConnection::connect to X11
server&quot;</li>
<li><a
href="b4646f6c5f"><code>b4646f6</code></a>
Increase version of clipboard-win used by default</li>
<li><a
href="e2846f9288"><code>e2846f9</code></a>
Fix clippy errors</li>
<li><a
href="2f4b502508"><code>2f4b502</code></a>
Move <code>WaitConfig</code> to src/platform/linux/mod.rs, use
<code>WaitConfig</code> inside `stru...</li>
<li><a
href="6cf324cc44"><code>6cf324c</code></a>
Added <code>WaitConfig</code>, fix <code>wait_until</code> note in
docs</li>
<li><a
href="eabb191df0"><code>eabb191</code></a>
add notice for X11 in <code>SetExtLinux#wait_until</code> docs</li>
<li>Additional commits viewable in <a
href="https://github.com/1Password/arboard/compare/v3.3.2...v3.4.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=arboard&package-manager=cargo&previous-version=3.3.2&new-version=3.4.0)](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-05-21 18:00:17 +00:00
Jamil
37ed0c8f56 docs: Fix code block styling (#5058)
Fixes the styling bug that occurs when we use triple backticks to define
code blocks in markdown.

Now it looks like this:

<img width="936" alt="Screenshot 2024-05-20 at 10 55 56 PM"
src="https://github.com/firezone/firezone/assets/167144/36e88908-9023-4b91-82e4-c31d937dc015">


## NOTE

You *must* specify a language to use for highlighting, or `text` if
plaintext. Otherwise, no codeblock colorizing will occur.

Fixes #5057

---------

Co-authored-by: Not Applicable <ReactorScram@users.noreply.github.com>
2024-05-21 16:59:01 +00:00
Andrew Dryga
b8e5afa064 Disable Mixpanel debugging 2024-05-21 11:12:52 -06:00
Andrew Dryga
a7e54686b0 feat(portal): Track page views and sign ups using Mixpanel and HubSpot on public pages (#5050)
Fixes firezone/gtm#253
Fixes firezone/gtm#278
2024-05-21 10:34:56 -06:00
dependabot[bot]
4e6bcef6e5 build(deps): Bump libc from 0.2.154 to 0.2.155 in /rust (#5039)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.154 to 0.2.155.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/libc/releases">libc's
releases</a>.</em></p>
<blockquote>
<h2>0.2.155</h2>
<h2>What's Changed</h2>
<ul>
<li>Add <code>SYS_lseek</code> and <code>SYS_mmap</code> for aarch64
Android by <a
href="https://github.com/lberrymage"><code>@​lberrymage</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3632">rust-lang/libc#3632</a></li>
<li>Correct the value of FAN_MARK_IGNORE by <a
href="https://github.com/severen"><code>@​severen</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3622">rust-lang/libc#3622</a></li>
<li>Update FreeBSD 13 CI image by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3671">rust-lang/libc#3671</a></li>
<li>android: add FUTEX_LOCK_PI2 by <a
href="https://github.com/rtzoeller"><code>@​rtzoeller</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3635">rust-lang/libc#3635</a></li>
<li>Fix out-of-bounds pointer arithmetic in CMSG_NXTHDR by <a
href="https://github.com/purplesyringa"><code>@​purplesyringa</code></a>
in <a
href="https://redirect.github.com/rust-lang/libc/pull/3676">rust-lang/libc#3676</a></li>
<li>Revert &quot;Support posix_spawn on Android&quot; by <a
href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3678">rust-lang/libc#3678</a></li>
<li>Unlock ci: fix wrong cfg emscripten by <a
href="https://github.com/tesuji"><code>@​tesuji</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3684">rust-lang/libc#3684</a></li>
<li>redox: correct EPOLL constants by <a
href="https://github.com/jackpot51"><code>@​jackpot51</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3686">rust-lang/libc#3686</a></li>
<li>[0.2] Revert &quot;Upgrade Docker images to Ubuntu 23.10&quot; on
sparc64 by <a
href="https://github.com/cuviper"><code>@​cuviper</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3708">rust-lang/libc#3708</a></li>
<li>Re-add <code>posix_spawn{_file_actions_t,attr_t}</code> on Android
by <a href="https://github.com/tesuji"><code>@​tesuji</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3690">rust-lang/libc#3690</a></li>
<li>Update version to <code>0.2.155</code> by <a
href="https://github.com/madsmtm"><code>@​madsmtm</code></a> in <a
href="https://redirect.github.com/rust-lang/libc/pull/3682">rust-lang/libc#3682</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/lberrymage"><code>@​lberrymage</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3632">rust-lang/libc#3632</a></li>
<li><a
href="https://github.com/purplesyringa"><code>@​purplesyringa</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/libc/pull/3676">rust-lang/libc#3676</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rust-lang/libc/compare/0.2.154...0.2.155">https://github.com/rust-lang/libc/compare/0.2.154...0.2.155</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7df63bd7f6"><code>7df63bd</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/libc/issues/3682">#3682</a>
from madsmtm/new-version</li>
<li><a
href="0bbb5cda65"><code>0bbb5cd</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/libc/issues/3690">#3690</a>
from tesuji/android-posix-spawn</li>
<li><a
href="15c74a4fab"><code>15c74a4</code></a>
Update version to 0.2.155</li>
<li><a
href="664947bdb0"><code>664947b</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/libc/issues/3708">#3708</a>
from cuviper/ci-sparc64-0.2</li>
<li><a
href="61331df06f"><code>61331df</code></a>
Also skip <code>MFD_EXEC</code> and <code>MFD_NOEXEC_SEAL</code> on
sparc64</li>
<li><a
href="73d2004d3e"><code>73d2004</code></a>
Skip <code>SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV</code> on sparc64</li>
<li><a
href="80535f34aa"><code>80535f3</code></a>
Revert &quot;Upgrade Docker images to Ubuntu 23.10&quot; on sparc64</li>
<li><a
href="b2b2fd71f4"><code>b2b2fd7</code></a>
Readd posix_spawn{_file_actions_t,attr_t} on Android</li>
<li><a
href="76462771b6"><code>7646277</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/libc/issues/3686">#3686</a>
from redox-os/redox-epoll-0.2</li>
<li><a
href="5eff703b92"><code>5eff703</code></a>
redox: correct EPOLL constants</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/libc/compare/0.2.154...0.2.155">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libc&package-manager=cargo&previous-version=0.2.154&new-version=0.2.155)](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>
2024-05-21 02:01:50 +00:00
Reactor Scram
1ef775dee1 feat(windows-client): run the GUI and tunnel in separate processes (#4978)
Ready for review.

Closes #3712.
Supersedes #4940.
Refs #4963.

I haven't figured out if it needs any new automated tests (unit,
integration, etc.) but the code itself is ready for review. There is
more refactoring that could be done, or could be left for later.

```[tasklist]
- [x] Move wintun setup from GUI to IPC service / headless client
- [x] Make sure the device ID is in a sensible place
- [x] Export IPC service logs in the zips
- [x] Test GUI + SC IPC service on Windows (f4db808919a passed)
- [x] Make sure IPC service does not busy-loop
- [x] Test un-install checklist for Windows
- [x] Test upgrade checklist for Windows
- [x] Test GUI + systemd IPC service on Linux (c4ab7e7 passed)
- [x] Test upgrade checklist for Linux
- [x] Test un-install checklist for Linux
- [x] Make sure the IPC service logs out and deactivates DNS control if the GUI crashes
- [x] Test network changing
- [x] (it's intended behavior) ~~Look into spurious `on_update_resources` (fad86babd7)~~
- [x] ~~Test max partition time on offline laptop~~ (I ended up just setting a 30-day default in the code)
- [x] Make sure headless Client does not busy-loop
- [x] Test standalone headless on Linux
- [ ] Add unit / integration tests
- [ ] Think about security a bit #3971
```

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2024-05-20 21:37:29 +00:00
Thomas Eizinger
3fba5745ee refactor(connlib): use events for pushing updated resource list (#5035)
The API of connlib is designed around a uni-directional dataflow where
commands flow one way and events flow the other way. By design, this
creates a system of eventual consistency: We don't exactly know when
connlib will emit an event. This is important because it gives us
flexibility in what the internals of connlib look like. It also forces
the downstream apps to be able to handle any event at any point which
avoids bugs where clients rely on a certain order that may just be an
implementation detail.

To achieve all of this, it is important that we don't introduce APIs
with return values. As soon as a function returns a value, it commits to
being able to compute this return value _synchronously_. Any refactoring
that may make the computation of the return value asynchronous is then a
breaking change.

Consequently, APIs like `handle_timeout` should never return a value.
Instead, they should queue an event that the layer above reacts to
accordingly.
2024-05-20 21:20:45 +00:00
Gabi
361aafb746 chore(connlib): upgrade domain version from 0.9 to 0.10 (#5028) 2024-05-20 20:54:22 +00:00
Jamil
deae9a982f refactor(website): fix wording (#5048)
Too many minutes
2024-05-20 13:31:53 -07:00
Reactor Scram
1bf42a0a8d chore(gui-client): log connlib on_disconnect errors in the IPC service (#5045)
Refs #5027, this will get a little more information about that issue
2024-05-20 20:11:55 +00:00
Jamil
edeec3e6c8 feat(website): New landing page (#5033)
New landing page to showcase 1.0 features
2024-05-20 13:08:51 -07:00
Jamil
048a69eef0 chore(ux): Add sync time hint help to idp show (#5034)
Adds help text to IdP show page to communicate a little more about how
the sync works and also link to the relevant docs.

Fixes #5025
2024-05-20 14:25:28 +00:00
Jamil
5c68b19b07 docs: Add SupportOptions consistently to auth pages (#5030) 2024-05-18 10:21:34 -07:00
Jamil
a37a1bc7a4 style: Use consistent button colors for CTAs (#5032) 2024-05-18 09:34:41 -07:00
Reactor Scram
89a3b526c6 fix(gui-client): log and continue if getting or deleting the token fails (#5021)
Closes #5016
2024-05-17 18:33:58 +00:00
Jamil
bf1abcfbfa feat(devops): Add example for spinning up performance testing VMs on Azure (#4647)
Sets up boilerplate for Azure performance testing infra.

They have some really interesting high performance VMs that would be
fitting for our use cases, including [ones with RDMA-enabled Infiniband
networking
cards](https://learn.microsoft.com/en-us/azure/virtual-machines/extensions/enable-infiniband)
if we really want to go wild.
2024-05-17 16:39:21 +00:00
Reactor Scram
b1dde546ab chore(rust): update to Rust 1.78 (#5006)
```[tasklist]
### Before merging
- [x] Apple smoke test
- [x] Android smoke test
```
2024-05-17 14:08:35 +00:00
Jamil
06c9dcbf76 docs: Fix sidebar spacing a little (#5020) 2024-05-16 22:47:36 -07:00
Gabi
e3ead8c1ec chore(connlib): ensure there are client_resources before trying to sample them in proptest (#5017)
This came up while working on #4994 while writing the proptests I
noticed that the precondition could panic since we don't have this check
there and would cause shrinking to fail.
2024-05-17 02:37:08 +00:00
Gabi
941b18b2a8 chore(connlib): set_payload is called for udp packets for tests (#5018)
came up while working on #4994
2024-05-16 23:55:12 +00:00
Reactor Scram
d59c3fef0a build(gui-client): add post-install and pre-remove scripts to the deb package (#5011)
Closes #4987

```[tasklist]
### Before merging
- [x] Get an x64 test VM on the Windows laptop and test a CI-built deb
```
2024-05-16 23:03:21 +00:00
Jamil
69ee370f61 chore: remove beta mention from pricing page (#5013) 2024-05-16 11:40:57 -07:00
Reactor Scram
5f0a803d56 docs(client): add support options (Discord, email, etc.) to all Client docs (#5008)
Extracted from #4965, it was mixed in there
2024-05-16 16:11:59 +00:00
Gabi
a6e0cd4fbb chore(connlib): limit resource_update to resource changes (#5005) 2024-05-15 23:42:24 +00:00
Reactor Scram
770bb3432e chore(client): update internal docs for Windows and Linux GUI Clients (#5003)
Copied out of #4978
2024-05-15 22:19:04 +00:00
Jamil
262269a7a2 feat(website): Increase team user limit to 100 (#5002)
- Increase limits for team plan to make more sense
- More CTA and features list for Enterprise plan

Fixes firezone/gtm#272
Fixes firezone/gtm#267
2024-05-15 22:14:56 +00:00
Jamil
727d88cf6d fix(portal): Dedicate 3/12 width for columns with IPs (#5001)
- Ensure IP address appears on newline always
- Dedicate 3/12 width for table columns that can contain IPv6 addresses
- Removes the `(IP)` parentheses because that makes it hard to
copy/paste the IP

Fixes #4992
2024-05-15 19:43:19 +00:00
Jamil
2ec7034f9f docs: Uninstall Gateway (#4966)
https://discord.com/channels/1228082899023298741/1239053156965679115

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Brian Manifold <bmanifold@users.noreply.github.com>
Co-authored-by: Andrew Dryga <andrew@dryga.com>
Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2024-05-15 18:26:32 +00:00
Reactor Scram
9c143bced3 test: remove backwards compatibility code for older Docker images (#4993)
Closes #4951
2024-05-15 17:08:30 +00:00
Jamil
f48bab040a docs: Fix sidebar padding (#4989)
Fixes #4986
2024-05-15 16:31:41 +00:00
Gabi
a7d35cd5f1 feat(connlib): report resource status to client (#4931)
This PR introduces site's `Status`. That's used to report to the client
the status, either, unknown, online or offline, mostly as a hint to
users as what's wrong with a connection.

This are the criteria for an online or offline resource

* If all sites related to a resource are offline the resource is
considered offline, since there's no gateway that can respond to that
resource's connection
* If any site is online the resource is online, since that same peer can
be used to reach that resource
* Any other case is unknown

Right now resources are single site so it doesn't matter too much but
tracking online/offline per-site instead of per-gateway or resource
seems like the better long-term solution.

The way to "find out" the site's status is:

* If a response to a connection details is offline, all sites related to
that resource must be offline otherwise there would've been a gateway in
the response
* At the point we connect to a gateway, the site that corresponds to
that gateway must be online
* When a connection to a peer stops it's considered unknown again

Fixes #4738
2024-05-15 15:33:04 +00:00
Jamil
4d90e9e133 docs: Refactor SSO guides to make sync optional (#4988)
Makes the sync steps optional so the Google, Okta, and Entra guides work
for all plans.


refs #4984
2024-05-15 13:47:42 +00:00
Reactor Scram
43223f2ec5 chore(windows): style the MSI installer (#4990)
Closes #4919 

![image](https://github.com/firezone/firezone/assets/13400041/455bd444-3b75-4bfb-8cc0-afdcd29c55de)

![image](https://github.com/firezone/firezone/assets/13400041/b166fb9a-d7bc-4ac8-8ade-99cebfc7b7a5)

![image](https://github.com/firezone/firezone/assets/13400041/27eff651-08a4-4185-93cc-e1e544595ad8)
2024-05-14 23:25:40 +00:00
Andrew Dryga
687bebd4b4 Move GCP deployments to separate GitHub environments 2024-05-14 16:10:56 -06:00
Andrew Dryga
e11474828f Bump all Elixir deps 2024-05-14 16:10:30 -06:00
Brian Manifold
3ba7962c23 refactor(portal): Update IDP creation flow (#4984)
Why:

* The new flow for creating an identity provider in Firezone allows the
user to not have to worry what features their plan has enabled. It will
allow the user to select which identity provider they use and will take
them to the appropriate form depending on the features they have enabled
on their plan.

## Screenshots

### Selecting an identity provider
<img width="937" alt="Screenshot 2024-05-14 at 11 53 17 AM"
src="https://github.com/firezone/firezone/assets/2646332/31337ad9-13c8-43a2-942c-adb0a951167c">


### New OIDC form when a custom provider is selected but IDP sync is not
enabled for account
<img width="903" alt="Screenshot 2024-05-14 at 11 54 58 AM"
src="https://github.com/firezone/firezone/assets/2646332/2e18d788-60c3-4fad-b749-351559a24aca">
2024-05-14 19:48:36 +00:00
Andrew Dryga
b7ced7ef56 chore(portal): Use redactor to reduce chances of accidentally logging secrets (#4983) 2024-05-14 11:30:53 -06:00
Jamil
e50b3bd865 chore: bump versions for 1.0.4 release (#4985)
Update download links etc for the 1.0.4 release
2024-05-14 16:11:12 +00:00
Jamil
91babe14c7 docs: Fix docs code blocks with arrow (#4982)
before

<img width="222" alt="Screenshot 2024-05-14 at 6 29 52 AM"
src="https://github.com/firezone/firezone/assets/167144/a9308eca-b6ae-417c-a673-94c7ee8cdec6">

after

<img width="209" alt="Screenshot 2024-05-14 at 8 31 40 AM"
src="https://github.com/firezone/firezone/assets/167144/1de92b63-8679-416a-9014-bf3593d141c4">
2024-05-14 15:36:17 +00:00
Reactor Scram
7bf10035be ci(windows): time out the WebView2 install after 5 minutes (#4981)
It typically takes about 1 minute to run in CI. We don't have any leads
on fixing this issue, and it may be a regression in a recent release of
WebView2. https://github.com/firezone/firezone/pull/4935
2024-05-13 22:42:07 +00:00
Andrew Dryga
67356650d7 Try to use deployment environments 2024-05-13 14:43:25 -06:00
Andrew Dryga
7c67c87422 Do not r/./- when deploying gateways 2024-05-13 14:43:25 -06:00
dependabot[bot]
6dd7b4cfec build(deps): Bump base64 from 0.22.0 to 0.22.1 in /rust (#4969)
Bumps [base64](https://github.com/marshallpierce/rust-base64) from
0.22.0 to 0.22.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md">base64's
changelog</a>.</em></p>
<blockquote>
<h1>0.22.1</h1>
<ul>
<li>Correct the symbols used for the predefined
<code>alphabet::BIN_HEX</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e144006974"><code>e144006</code></a>
v0.22.1</li>
<li><a
href="64cca59ddb"><code>64cca59</code></a>
Merge pull request <a
href="https://redirect.github.com/marshallpierce/rust-base64/issues/271">#271</a>
from JobanSD/patch-1</li>
<li><a
href="838355e0ac"><code>838355e</code></a>
Correct BinHex 4.0 alphabet according to specifications</li>
<li><a
href="bf15ccf30a"><code>bf15ccf</code></a>
Merge pull request <a
href="https://redirect.github.com/marshallpierce/rust-base64/issues/270">#270</a>
from marshallpierce/mp/clippy</li>
<li><a
href="fc6aabee8a"><code>fc6aabe</code></a>
Appease clippy</li>
<li><a
href="9a518a2d5d"><code>9a518a2</code></a>
Merge pull request <a
href="https://redirect.github.com/marshallpierce/rust-base64/issues/267">#267</a>
from bdura/patch-1</li>
<li><a
href="d96c80f242"><code>d96c80f</code></a>
Merge branch 'marshallpierce:master' into patch-1</li>
<li><a
href="e8e4a22761"><code>e8e4a22</code></a>
docs: fix trailing ``` in mod.rs example</li>
<li>See full diff in <a
href="https://github.com/marshallpierce/rust-base64/compare/v0.22.0...v0.22.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=base64&package-manager=cargo&previous-version=0.22.0&new-version=0.22.1)](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>
2024-05-13 19:38:38 +00:00
Andrew Dryga
5167e15b74 Also copy versioned binaries to prod when deploying 2024-05-13 14:05:24 -06:00
Jamil
2a8937dc7d docs: Fix typos in use cases (#4980) 2024-05-13 12:54:07 -07:00
Andrew Dryga
ddbe84bd26 Fix typo in hotfix inputs 2024-05-13 13:37:39 -06:00