Commit Graph

286 Commits

Author SHA1 Message Date
Brian Manifold
f18ec6e4d5 Add Okta directory sync (#3614)
Why:

* To allow syncing of users/groups/memberships from an IDP to Firezone,
a custom identify provider adapter needs to be created in the portal
codebase at this time. The custom IDP adapter created in this commit is
for Okta.

* This commit also includes some additional tests for the Microsoft
Entra IDP adapter. These tests were mistakenly overlooked when finishing
the Entra adapter.
2024-02-13 02:12:54 +00:00
Reactor Scram
830302af43 test(linux): Low-risk changes to prepare for Linux DNS support (#3625)
This splits off the easy parts from #3605.

- Add quotes around `PHOENIX_SECURE_COOKIES` because my local
`docker-compose` considers unquoted 'false' to be a schema error - Env
vars are strings or numbers, not bools, it says
- Create `test.httpbin.docker.local` container in a new subnet so it can
be used as a DNS resource without the existing CIDR resource picking it
up
- Add resources and policies to `seeds.exs` per #3342
- Fix warning about `CONNLIB_LOG_UPLOAD_INTERVAL_SECS` not being set
- Add `resolv-conf` dep and unit tests to `firezone-tunnel` and
`firezone-linux-client`
- Impl `on_disconnect` in the Linux client with `tracing::error!`
- Add comments

```[tasklist]
- [x] (failed) Confirm that the client container actually does stop faster this way
- [x] Wait for tests to pass
- [x] Mark as ready for review
```
2024-02-12 19:04:51 +00:00
Andrew Dryga
beee8bd52e Add dynamic/managed groups and default Everyone one (#3346)
After this PR is merged a manual migration will be needed to upsert
Everyone group to existing accounts.

Closes #2588 

*This PR also improves UX around groups:*

1. Group selection now shows their source in dropdowns: 
<img width="669" alt="Screenshot 2024-02-08 at 18 30 25"
src="https://github.com/firezone/firezone/assets/1877644/accb5cf9-1c16-429b-a16f-e63bb0c7930f">

2. The same is done across other pages which will help in case there is
a duplicate group name (eg. manual and synced one):
<img width="766" alt="Screenshot 2024-02-08 at 18 31 59"
src="https://github.com/firezone/firezone/assets/1877644/f3133ceb-fc9d-4f7a-bfe2-63f81f379c9a">
<img width="1728" alt="Screenshot 2024-02-08 at 18 34 04"
src="https://github.com/firezone/firezone/assets/1877644/daa86c7e-8401-418d-b8e5-ddaff31a1834">
<img width="1728" alt="Screenshot 2024-02-08 at 18 34 22"
src="https://github.com/firezone/firezone/assets/1877644/5c885d06-0b0d-4385-a06e-8e9c09b85535">
<img width="576" alt="Screenshot 2024-02-08 at 18 34 31"
src="https://github.com/firezone/firezone/assets/1877644/86b2020e-7159-4800-a08e-cecf7b0b1798">


3. A bug was fixed and now we don't show synced groups whenever an actor
is created:
<img width="662" alt="Screenshot 2024-02-08 at 18 32 22"
src="https://github.com/firezone/firezone/assets/1877644/f69efe85-d7ac-412a-b267-9094a8dd9426">

4. We provide reason why groups are not editable:
<img width="591" alt="Screenshot 2024-02-08 at 18 33 29"
src="https://github.com/firezone/firezone/assets/1877644/1525d876-1aad-4a17-be38-6a39c4bc7908">
<img width="558" alt="Screenshot 2024-02-08 at 18 33 50"
src="https://github.com/firezone/firezone/assets/1877644/92615b97-19a6-4bf9-804d-d0d16c6c2dfe">
2024-02-09 22:07:42 +00:00
Andrew Dryga
980246ae3b feat(portal): Broadcast resource sites (#3466)
Adds `client_address` field which should be passed down to clients to
nicely render copy-pasteable address. Client address MUST contain full
`address` field to prevent users from shooting themselves in the foot by
creating broken resources.

We also now broadcast a list of connected sites (gateway_groups) to the
client. When a `connection_request` response is sent a new field
`gateway_group_id` is added, this way the client can know which site
it's using, and if a resource is updated and `gateway_group_id` is
removed - it should restart the connection. The portal can not make such
a decision as it doesn't track active connections.

<img width="739" alt="Screenshot 2024-01-31 at 16 26 50"
src="https://github.com/firezone/firezone/assets/1877644/799bd354-40d5-4cc3-8ae9-9d228c5e466a">
<img width="678" alt="Screenshot 2024-01-31 at 16 27 01"
src="https://github.com/firezone/firezone/assets/1877644/782e47a5-43a8-4ba7-9245-61efbbe41f7f">
<img width="738" alt="Screenshot 2024-01-31 at 16 27 27"
src="https://github.com/firezone/firezone/assets/1877644/8c7a4edd-98d8-4e09-9e4f-09c2e5a890d0">
<img width="1728" alt="Screenshot 2024-01-31 at 16 27 49"
src="https://github.com/firezone/firezone/assets/1877644/ed8f7251-fb82-47df-9878-f7e7ae8cbcba">

This PR will be reabsed on `main` once #2240 is merged.
2024-02-09 08:36:37 -06:00
Jamil
232b3874f9 fix(ci): wait for Vault to load sign in form before filling it out (#3585)
Fixes flaky tests:


https://github.com/firezone/firezone/actions/runs/7803717485/job/21284091520#step:21:1357
2024-02-06 19:10:31 +00:00
Jamil
af69e841bc refactor(portal): log in -> sign in (#3577)
Just making naming a little more consistent
2024-02-06 15:26:09 +00:00
Jamil
fcbf6a68bc chore(portal): Misc sign in UX fixes (#3564)
Fixes #3389 
Fixes #3331 


Will need #3433 to merge for the entra logo to show up, but this will
fail gracefully if it lands before then.

<img width="537" alt="Screenshot 2024-02-05 at 5 36 17 AM"
src="https://github.com/firezone/firezone/assets/167144/90967150-e048-47ef-99cd-2f758021d017">
<img width="543" alt="Screenshot 2024-02-05 at 5 33 30 AM"
src="https://github.com/firezone/firezone/assets/167144/9683488a-ec4e-47dd-bdbc-e95fcf0bc08c">
<img width="528" alt="Screenshot 2024-02-05 at 5 33 13 AM"
src="https://github.com/firezone/firezone/assets/167144/fce5487d-3dd5-4b21-bb20-5097ba7055be">
2024-02-05 21:45:00 +00:00
Andrew Dryga
a969e7b555 Do not show deleted resources in the client and cleanup connections table 2024-02-05 10:28:05 -06:00
Brian Manifold
ed1ceb7e6e feat(portal): Add Microsoft Entra IDP sync to portal (#3433)
Why:

* To allow syncing of users/groups/memberships from an IDP to Firezone,
a custom identify provider adapter needs to be created in the portal
codebase at this time. The custom IDP adapter created in this commit is
for Microsoft Entra.
2024-02-05 15:32:06 +00:00
Jamil
6e6c32a29f chore(portal): Add helptext explaning auth identities/tokens (#3515)
Fixes #3333
2024-02-02 19:37:54 +00:00
Andrew Dryga
a5bd96901a feat(portal): Sync transitive memberships for Google Workspace (#3524)
Simple flag flattens groups for us, the response goes from this:
```
{
  "kind": "admin#directory#members",
  "etag": "\"WAJlQ2CAtCOLo0U_9sYFBfdkZrUK9X-qYRarohkyMdU/imfnHDtNRUYTX-TXo9Wx-Vkties\"",
  "members": [
    {
      "kind": "admin#directory#member",
      "etag": "\"WAJlQ2CAtCOLo0U_9sYFBfdkZrUK9X-qYRarohkyMdU/MPY45KYgoPIU6Hg4EKDnN37iS_0\"",
      "id": "XXXXXXX",
      "email": "XXXXXXXX@firezone.dev",
      "role": "MEMBER",
      "type": "GROUP",
      "status": "ACTIVE"
    },
    {
      "kind": "admin#directory#member",
      "etag": "\"WAJlQ2CAtCOLo0U_9sYFBfdkZrUK9X-qYRarohkyMdU/OMG8U2W2iFiQQxRb_og9WlQgmFc\"",
      "id": "XXXXXXX",
      "email": "XXXXXXXX@firezone.dev",
      "role": "MEMBER",
      "type": "GROUP",
      "status": "ACTIVE"
    }
  ]
}
```
to this:
```
{
  "kind": "admin#directory#members",
  "etag": "\"WAJlQ2CAtCOLo0U_9sYFBfdkZrUK9X-qYRarohkyMdU/c7FOY_1zR63uMaLyM2_y9Y86cTA\"",
  "members": [
    {
      "kind": "admin#directory#member",
      "etag": "\"WAJlQ2CAtCOLo0U_9sYFBfdkZrUK9X-qYRarohkyMdU/ensFY6DvZ10v87OlK6VjWqBWlb0\"",
      "id": "XXXXXXX",
      "email": "XXXXXXXX@firezone.dev",
      "role": "MEMBER",
      "type": "USER",
      "status": "ACTIVE"
    },
    {
      "kind": "admin#directory#member",
      "etag": "\"WAJlQ2CAtCOLo0U_9sYFBfdkZrUK9X-qYRarohkyMdU/0zfy-53NUSeG8H9ZByTOVM29Djs\"",
      "id": "XXXXXXX",
      "email": "XXXXXXXX@firezone.dev",
      "role": "MEMBER",
      "type": "USER",
      "status": "ACTIVE"
    },
    {
      "kind": "admin#directory#member",
      "etag": "\"WAJlQ2CAtCOLo0U_9sYFBfdkZrUK9X-qYRarohkyMdU/nJga9tGb4YjfHKeVSwV2a3PYu4Y\"",
      "id": "XXXXXXX",
      "email": "XXXXXXXX@firezone.dev",
      "role": "MEMBER",
      "type": "USER",
      "status": "ACTIVE"
    },
    {
      "kind": "admin#directory#member",
      "etag": "\"WAJlQ2CAtCOLo0U_9sYFBfdkZrUK9X-qYRarohkyMdU/YUAlMAD1lcOVfs56U-8lm6G4Lr8\"",
      "id": "XXXXXXX",
      "email": "XXXXXXXX@firezone.dev",
      "role": "MEMBER",
      "type": "USER",
      "status": "ACTIVE"
    },
    {
      "kind": "admin#directory#member",
      "etag": "\"WAJlQ2CAtCOLo0U_9sYFBfdkZrUK9X-qYRarohkyMdU/2nmJRU48HjxV9CC85ZKJ2kq80Ow\"",
      "id": "XXXXXXX",
      "email": "XXXXXXXX@firezone.dev",
      "role": "MEMBER",
      "type": "USER",
      "status": "ACTIVE"
    },
    {
      "kind": "admin#directory#member",
      "etag": "\"WAJlQ2CAtCOLo0U_9sYFBfdkZrUK9X-qYRarohkyMdU/aTk1AuuEGTZFbVzVvbC7438M65Y\"",
      "id": "XXXXXXX",
      "email": "XXXXXXXX@firezone.dev",
      "role": "MEMBER",
      "type": "GROUP",
      "status": "ACTIVE"
    },
    {
      "kind": "admin#directory#member",
      "etag": "\"WAJlQ2CAtCOLo0U_9sYFBfdkZrUK9X-qYRarohkyMdU/4nBIP5jw6Kxn54pjS1tjrQHtuNA\"",
      "id": "XXXXXXX",
      "email": "XXXXXXXX@firezone.dev",
      "role": "MEMBER",
      "type": "USER",
      "status": "ACTIVE"
    },
    {
      "kind": "admin#directory#member",
      "etag": "\"WAJlQ2CAtCOLo0U_9sYFBfdkZrUK9X-qYRarohkyMdU/luCHBeG7WcB54TUHTLr2Xy7he8s\"",
      "id": "XXXXXXX",
      "email": "XXXXXXXX@firezone.dev",
      "role": "MEMBER",
      "type": "GROUP",
      "status": "ACTIVE"
    }
  ]
}
```
and we already ignore groups in the response so no other changes are
needed.
2024-02-02 06:26:29 +00:00
Andrew Dryga
d406f603f4 Fix bug with restoring deleted identities and actors (#3523) 2024-02-01 22:11:16 +00:00
Andrew Dryga
a211f96109 feat(portal): Broadcast state changes to connected clients and gateways (#2240)
# Gateways
- [x] When Gateway Group is deleted all gateways should be disconnected
- [x] When Gateway Group is updated (eg. routing) broadcast to all
affected gateway to disconnect all the clients
- [x] When Gateway is deleted it should be disconnected
- [x] When Gateway Token is revoked all gateways that use it should be
disconnected

# Relays
- [x] When Relay Group is deleted all relays should be disconnected
- [x] When Relay is deleted it should be disconnected
- [x] When Relay Token is revoked all gateways that use it should be
disconnected

# Clients
- [x] Remove Delete Client button, show clients using the token on the
Actors page (#2669)
- [x] When client is deleted disconnect it
- [ ] ~When Gateway is offline broadcast to the Clients connected to it
it's status~
- [x] Persist `last_used_token_id` in Clients and show it in tokens UI

# Resources
- [x] When Resource is deleted it should be removed from all gateways
and clients
- [x] When Resource connection is removed it should be deleted from
removed gateway groups
- [x] When Resource is updated (eg. traffic filters) all it's
authorizations should removed

# Authentication
- [x] When Token is deleted related sessions are terminated
- [x] When an Actor is deleted or disabled it should be disconnected
from browser and client
- [x] When Identity is deleted it's sessions should be disconnected from
browser and client
- [x] ^ Ensure the same happens for identities during IdP sync
- [x] When IdP is disabled act like all actors for it are disabled?
- [x] When IdP is deleted act like all actors for it are deleted?

# Authorization
- [x] When Policy is created clients that gain access to a resource
should get an update
- [x] When Policy is deleted we need to all authorizations it's made
- [x] When Policy is disabled we need to all authorizations it's made
- [x] When Actor Group adds or removes a user, related policies should
be re-evaluated
- [x] ^ Ensure the same happens for identities during IdP sync

# Settings
- [x] Re-send init message to Client when DNS settings change

# Code
- [x] Crear way to see all available topics and messages, do not use
binary topics any more

---------

Co-authored-by: conectado <gabrielalejandro7@gmail.com>
2024-02-01 11:02:13 -06:00
Jamil
52971cdce3 refactor: Remove user-facing parts of STUN-only feature (#3453)
Fixes #3353
2024-01-31 23:09:45 +00:00
Jamil
d043f81e95 fix(ci): Increase test nonce length to reduce collisions (#3373)
Looks like there's a small chance for collision with our test string and
the base64-encoded token (what are the odds):
https://github.com/firezone/firezone/actions/runs/7633757802/job/20796573898
2024-01-29 18:50:33 +00:00
Jamil
7f88b7ce70 feat(ops): Add support provisioning helper (#3422)
Helpful when debugging Enterprise customer's accounts. Use with caution.
2024-01-29 18:47:56 +00:00
dependabot[bot]
d616fa8879 build(deps): Bump telemetry_metrics from 0.6.1 to 0.6.2 in /elixir (#3362)
Bumps
[telemetry_metrics](https://github.com/beam-telemetry/telemetry_metrics)
from 0.6.1 to 0.6.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/beam-telemetry/telemetry_metrics/blob/main/CHANGELOG.md">telemetry_metrics's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>The format is based on <a
href="https://keepachangelog.com/en/1.0.0/">Keep a Changelog</a>,
and this project adheres to <a
href="https://semver.org/spec/v2.0.0.html">Semantic Versioning</a>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0c55984c99"><code>0c55984</code></a>
Release v0.6.2</li>
<li><a
href="7a52d58afb"><code>7a52d58</code></a>
Update console_reporter.ex</li>
<li><a
href="b869701dc0"><code>b869701</code></a>
Use function capture for attaching <code>handle_event/4</code> (<a
href="https://redirect.github.com/beam-telemetry/telemetry_metrics/issues/107">#107</a>)</li>
<li><a
href="084a430b85"><code>084a430</code></a>
Remove duplicated words in the module doc (<a
href="https://redirect.github.com/beam-telemetry/telemetry_metrics/issues/106">#106</a>)</li>
<li><a
href="61ee7ef630"><code>61ee7ef</code></a>
Fix incompatibility Elixir/Erlang OTP error in GitHub CI (<a
href="https://redirect.github.com/beam-telemetry/telemetry_metrics/issues/104">#104</a>)</li>
<li><a
href="27a73a6c49"><code>27a73a6</code></a>
Make validate_recording_rule_fun_options!/2 private (<a
href="https://redirect.github.com/beam-telemetry/telemetry_metrics/issues/103">#103</a>)</li>
<li><a
href="2c298dcacc"><code>2c298dc</code></a>
Make keep_fun/2 private (<a
href="https://redirect.github.com/beam-telemetry/telemetry_metrics/issues/102">#102</a>)</li>
<li><a
href="578be9cd64"><code>578be9c</code></a>
Fix tag example with duration instead of count (<a
href="https://redirect.github.com/beam-telemetry/telemetry_metrics/issues/101">#101</a>)</li>
<li><a
href="c1cb90ef28"><code>c1cb90e</code></a>
Migrate GitHub Actions to erlef/setup-beam (<a
href="https://redirect.github.com/beam-telemetry/telemetry_metrics/issues/99">#99</a>)</li>
<li><a
href="6c376985dc"><code>6c37698</code></a>
Fix grammar in Metrics moduledoc (<a
href="https://redirect.github.com/beam-telemetry/telemetry_metrics/issues/98">#98</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/beam-telemetry/telemetry_metrics/compare/v0.6.1...v0.6.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=telemetry_metrics&package-manager=hex&previous-version=0.6.1&new-version=0.6.2)](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: Jamil <jamilbk@users.noreply.github.com>
2024-01-29 16:33:25 +00:00
Jamil
16f5401a73 fix(gateway): Remove /dev/net/tun requirement and clean up upgrade script (#3392)
* Clean up gateway upgrade script
* Fixes #3226 to remove another place where things can go wrong when
upgrading gateways
2024-01-29 04:19:59 +00:00
Antoine
c9864879bd fix(portal): fix otlp exporter initialization (#3375)
This fixes the otlp exporter initialization.

```
=WARNING REPORT==== 24-Jan-2024::12:15:01.388842 ===
OTLP exporter failed to initialize with exception error:{badmatch,
{error,
inets_not_started}}
```


https://elixirforum.com/t/opentelemetry-exporter-failed-to-initialize-with-exception-inets-not-started/58133
https://github.com/open-telemetry/opentelemetry-erlang/discussions/625
2024-01-28 20:09:19 -08:00
dependabot[bot]
66ced15dfe build(deps): Bump plug_cowboy from 2.6.1 to 2.6.2 in /elixir (#3358)
Bumps [plug_cowboy](https://github.com/elixir-plug/plug_cowboy) from
2.6.1 to 2.6.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/elixir-plug/plug_cowboy/blob/master/CHANGELOG.md">plug_cowboy's
changelog</a>.</em></p>
<blockquote>
<h2>v2.6.2</h2>
<h3>Enhancements</h3>
<ul>
<li>Fix warnings on Elixir v1.15+</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9b9151e501"><code>9b9151e</code></a>
Release v2.6.2</li>
<li><a
href="3960916cf0"><code>3960916</code></a>
Fix calls to deprecated Logger.warn/2 (<a
href="https://redirect.github.com/elixir-plug/plug_cowboy/issues/94">#94</a>)</li>
<li>See full diff in <a
href="https://github.com/elixir-plug/plug_cowboy/compare/v2.6.1...v2.6.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=plug_cowboy&package-manager=hex&previous-version=2.6.1&new-version=2.6.2)](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-01-25 00:38:11 +00:00
Jamil
359d8adeb1 docs(gateway): Document egress connectivity requirements for Gateways (#3312)
Had a customer troubleshooting session today where it would have been
helpful to provide connectivity info that gateways require to function.
2024-01-24 19:13:10 +00:00
dependabot[bot]
19d54e955a build(deps): Bump ex_cldr_numbers from 2.32.3 to 2.32.4 in /elixir (#3360)
Bumps [ex_cldr_numbers](https://github.com/elixir-cldr/cldr_numbers)
from 2.32.3 to 2.32.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/elixir-cldr/cldr_numbers/releases">ex_cldr_numbers's
releases</a>.</em></p>
<blockquote>
<h2>Cldr Numbers version 2.32.4</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Fix formatting a number when a currency is specified but the format
has no currency symbol. Closes <a
href="https://redirect.github.com/kipcole9/money/issues/162">ex_money
162</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/elixir-cldr/cldr_numbers/blob/main/CHANGELOG.md">ex_cldr_numbers's
changelog</a>.</em></p>
<blockquote>
<h2>Cldr Numbers v2.32.4</h2>
<p>This is the changelog for Cldr v2.32.4 released on January 18th,
2023. For older changelogs please consult the release tag on <a
href="https://github.com/elixir-cldr/cldr_numbers/tags">GitHub</a></p>
<h3>Bug Fixes</h3>
<ul>
<li>Fix formatting a number when a currency is specified but the format
has no currency symbol. Closes <a
href="https://redirect.github.com/kipcole9/money/issues/162">ex_money
162</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2dbb8a4630"><code>2dbb8a4</code></a>
Fix formatting number with currency but format has no currency
symbol</li>
<li><a
href="86d70c1243"><code>86d70c1</code></a>
Fix changelog version</li>
<li>See full diff in <a
href="https://github.com/elixir-cldr/cldr_numbers/compare/v2.32.3...v2.32.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ex_cldr_numbers&package-manager=hex&previous-version=2.32.3&new-version=2.32.4)](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-01-24 18:55:50 +00:00
Andrew Dryga
d5294fb639 fix(portal): Allow users to manually provision OIDC users (#3325)
Before, any user logging into via the OIDC connector would need to have
an identity created beforehand with their known `sub` id. This presented
a chicken-and-egg scenario where this was only populated in the
`Identity Providers` settings flow by an admin, preventing regular users
from signing in.

With this change, Admins can now create identities for actors and
specify an `email` address or `sub` claim value to match against for
incoming authentications to the connector.

This will allow end-users to authenticate with the configured OIDC
connector.

Fixes #3308
2024-01-22 14:19:02 -06:00
Brian Manifold
ef973bf88d Fix radio button toggle on Sites edit page (#3318)
Why:

* The Sites edit page was toggling the routing option in the page on and
off every time a change to the page was made (i.e. every time something
was clicked or typed). This was causing the Site to not be editable in
certain situations. It ended up being because the form field value being
set was not consistently the same type. It would come back as either an
atom or a string, but the radio button input was only checking for
atoms.

Fixes: #3239
2024-01-19 06:34:47 +00:00
Andrew Dryga
32450c89d3 fix(portal): Remove leftovers of client name unique constraint (#3282)
Closes #3101
2024-01-18 12:07:16 -06:00
Jamil
3c2b32c215 revert(devops): Revert healthcommands (#3280) 2024-01-17 03:35:45 -08:00
Andrew Dryga
1452fb8511 Do not refresh access token when refresh token is invalid (#3275) 2024-01-17 01:30:51 -08:00
Andrew Dryga
3c1d6f003d chore(portal): Fix resources UX (#3267)
Closes #3132
2024-01-16 23:24:41 -08:00
Andrew Dryga
98930cc1ba Fix lost client auth state for OIDC redirects (#3273) 2024-01-17 00:54:07 -06:00
Andrew Dryga
5569be4715 Stop storing client tokens in sessions (#3272) 2024-01-16 23:34:26 -06:00
Andrew Dryga
2e92174697 Update script to rotate global relays token 2024-01-16 19:09:28 -06:00
Andrew Dryga
ba470c22ca fix(portal): Fix auth redirect and test client auth using acceptance tests (#3269) 2024-01-16 19:00:46 -06:00
Jamil
0f613d4378 fix(gateway): Fix gateway systemd command for non-bash shells (#3264)
Fixes a couple issues detected when running the command under the plain
POSIX shell `/bin/sh`.
2024-01-16 22:40:05 +00:00
Andrew Dryga
832fc3f2e3 Implement rest of TODOs after token refactoring (#3160)
- [x] Introduce api_client actor type and code to create and
authenticate using it's token
- [x] Unify Tokens usage for Relays and Gateways
- [x] Unify Tokens usage for magic links


Closes #2367
Ref #2696
2024-01-16 21:39:00 +00:00
Antoine
53fb48741c fix(portal): dump smtp tls_options correctly (#3214)
Resolves #3208
2024-01-16 11:38:19 -06:00
dependabot[bot]
32f1981dd0 build(deps): Bump phoenix_html from 3.3.3 to 4.0.0 in /elixir (#3219)
Bumps [phoenix_html](https://github.com/phoenixframework/phoenix_html)
from 3.3.3 to 4.0.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/phoenixframework/phoenix_html/blob/main/CHANGELOG.md">phoenix_html's
changelog</a>.</em></p>
<blockquote>
<h2>v4.0.0 (2023-12-19)</h2>
<p>This version removes deprecated functionality and moved all HTML
helpers to a separate library. HTML Helpers are no longer used in new
apps from Phoenix v1.7. Older applications who wish to maintain
compatibility, add <code>{:phoenix_html_helpers, &quot;~&gt;
1.0&quot;}</code> to your <code>mix.exs</code> and then replace
<code>use Phoenix.HTML</code> in your applications by:</p>
<pre lang="elixir"><code>import Phoenix.HTML
import Phoenix.HTML.Form
use PhoenixHTMLHelpers
</code></pre>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0687606d16"><code>0687606</code></a>
Release v4.0.0</li>
<li><a
href="3d7cc4ed0d"><code>3d7cc4e</code></a>
Improve to_form/4 coverage</li>
<li><a
href="071dd38489"><code>071dd38</code></a>
More tests</li>
<li><a
href="478d310fd7"><code>478d310</code></a>
Update description</li>
<li><a
href="0be2c6f1fa"><code>0be2c6f</code></a>
Prepare v4.0</li>
<li><a
href="ec3764e02f"><code>ec3764e</code></a>
Improve docs</li>
<li><a
href="06e9840407"><code>06e9840</code></a>
Fix tests</li>
<li>See full diff in <a
href="https://github.com/phoenixframework/phoenix_html/compare/v3.3.3...v4.0.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=phoenix_html&package-manager=hex&previous-version=3.3.3&new-version=4.0.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>
2024-01-16 11:36:14 -06:00
Jamil
36209c7d2d fix(rust): Check /proc for health checks (#3250)
Debian slim is slimmer than we could ever have imagined.
2024-01-16 16:46:44 +00:00
Antoine
b6f72a5fa8 feat(portal): add Kubernetes cluster strategy support (#3212)
Resolves #3209
2024-01-15 11:07:39 -06:00
Andrew Dryga
3bb5e71b9c Honour "as" option when fetching subject (#3234) 2024-01-15 11:05:19 -06:00
dependabot[bot]
364532858a build(deps): Bump phoenix_swoosh from 1.2.0 to 1.2.1 in /elixir (#3193)
Bumps [phoenix_swoosh](https://github.com/swoosh/phoenix_swoosh) from
1.2.0 to 1.2.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/swoosh/phoenix_swoosh/releases">phoenix_swoosh's
releases</a>.</em></p>
<blockquote>
<h2>v1.2.1 🚀</h2>
<h2>Changes</h2>
<h2>Maintenance</h2>
<ul>
<li>Relax <code>phoenix_html</code> dependency requirement, allowing
<code>~&gt; 4.0</code></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Bump phoenix from 1.6.15 to 1.6.16 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/293">swoosh/phoenix_swoosh#293</a></li>
<li>Bump phoenix from 1.6.16 to 1.7.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/294">swoosh/phoenix_swoosh#294</a></li>
<li>Bump phoenix_html from 3.3.0 to 3.3.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/295">swoosh/phoenix_swoosh#295</a></li>
<li>Bump ex_doc from 0.29.1 to 0.29.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/296">swoosh/phoenix_swoosh#296</a></li>
<li>Bump phoenix from 1.7.0 to 1.7.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/297">swoosh/phoenix_swoosh#297</a></li>
<li>Bump ex_doc from 0.29.2 to 0.29.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/298">swoosh/phoenix_swoosh#298</a></li>
<li>Bump finch from 0.14.0 to 0.15.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/299">swoosh/phoenix_swoosh#299</a></li>
<li>Bump phoenix from 1.7.1 to 1.7.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/301">swoosh/phoenix_swoosh#301</a></li>
<li>Bump credo from 1.6.7 to 1.7.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/300">swoosh/phoenix_swoosh#300</a></li>
<li>Bump finch from 0.15.0 to 0.16.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/304">swoosh/phoenix_swoosh#304</a></li>
<li>Bump ex_doc from 0.29.3 to 0.29.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/302">swoosh/phoenix_swoosh#302</a></li>
<li>Bump swoosh from 1.9.1 to 1.10.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/305">swoosh/phoenix_swoosh#305</a></li>
<li>Bump swoosh from 1.10.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/306">swoosh/phoenix_swoosh#306</a></li>
<li>Bump swoosh from 1.10.1 to 1.10.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/307">swoosh/phoenix_swoosh#307</a></li>
<li>Bump swoosh from 1.10.2 to 1.10.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/308">swoosh/phoenix_swoosh#308</a></li>
<li>Bump swoosh from 1.10.3 to 1.11.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/309">swoosh/phoenix_swoosh#309</a></li>
<li>Bump phoenix from 1.7.2 to 1.7.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/310">swoosh/phoenix_swoosh#310</a></li>
<li>Bump swoosh from 1.11.0 to 1.11.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/311">swoosh/phoenix_swoosh#311</a></li>
<li>Bump phoenix from 1.7.3 to 1.7.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/312">swoosh/phoenix_swoosh#312</a></li>
<li>Bump phoenix from 1.7.5 to 1.7.6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/313">swoosh/phoenix_swoosh#313</a></li>
<li>Bump swoosh from 1.11.1 to 1.11.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/314">swoosh/phoenix_swoosh#314</a></li>
<li>Bump ex_doc from 0.29.4 to 0.30.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/316">swoosh/phoenix_swoosh#316</a></li>
<li>Bump swoosh from 1.11.2 to 1.11.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/315">swoosh/phoenix_swoosh#315</a></li>
<li>Bump ex_doc from 0.30.0 to 0.30.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/317">swoosh/phoenix_swoosh#317</a></li>
<li>Bump phoenix from 1.7.6 to 1.7.7 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/318">swoosh/phoenix_swoosh#318</a></li>
<li>Bump ex_doc from 0.30.1 to 0.30.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/319">swoosh/phoenix_swoosh#319</a></li>
<li>Bump swoosh from 1.11.3 to 1.11.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/320">swoosh/phoenix_swoosh#320</a></li>
<li>Bump ex_doc from 0.30.2 to 0.30.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/321">swoosh/phoenix_swoosh#321</a></li>
<li>Bump ex_doc from 0.30.3 to 0.30.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/322">swoosh/phoenix_swoosh#322</a></li>
<li>Bump swoosh from 1.11.4 to 1.11.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/323">swoosh/phoenix_swoosh#323</a></li>
<li>Bump ex_doc from 0.30.4 to 0.30.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/325">swoosh/phoenix_swoosh#325</a></li>
<li>Bump phoenix_html from 3.3.1 to 3.3.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/324">swoosh/phoenix_swoosh#324</a></li>
<li>Bump ex_doc from 0.30.5 to 0.30.6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/326">swoosh/phoenix_swoosh#326</a></li>
<li>Bump hackney from 1.18.1 to 1.18.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/327">swoosh/phoenix_swoosh#327</a></li>
<li>Bump swoosh from 1.11.5 to 1.11.6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/328">swoosh/phoenix_swoosh#328</a></li>
<li>Bump hackney from 1.18.2 to 1.19.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/329">swoosh/phoenix_swoosh#329</a></li>
<li>Bump swoosh from 1.11.6 to 1.12.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/330">swoosh/phoenix_swoosh#330</a></li>
<li>Bump credo from 1.7.0 to 1.7.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/331">swoosh/phoenix_swoosh#331</a></li>
<li>Bump hackney from 1.19.1 to 1.20.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/335">swoosh/phoenix_swoosh#335</a></li>
<li>Bump ex_doc from 0.30.6 to 0.30.8 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/338">swoosh/phoenix_swoosh#338</a></li>
<li>Bump phoenix_html from 3.3.2 to 3.3.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/334">swoosh/phoenix_swoosh#334</a></li>
<li>Bump phoenix from 1.7.7 to 1.7.9 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/swoosh/phoenix_swoosh/pull/336">swoosh/phoenix_swoosh#336</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/swoosh/phoenix_swoosh/blob/main/CHANGELOG.md">phoenix_swoosh's
changelog</a>.</em></p>
<blockquote>
<h2>1.2.1 - 2024-01-08</h2>
<h3>Maintenance</h3>
<ul>
<li>Relax <code>phoenix_html</code> dependency requirement, allowing
<code>~&gt; 4.0</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="41c24227da"><code>41c2422</code></a>
v1.2.1</li>
<li><a
href="6af8b175ff"><code>6af8b17</code></a>
Bump credo from 1.7.1 to 1.7.2 (<a
href="https://redirect.github.com/swoosh/phoenix_swoosh/issues/348">#348</a>)</li>
<li><a
href="88eed5ad5f"><code>88eed5a</code></a>
Bump swoosh from 1.14.2 to 1.14.3 (<a
href="https://redirect.github.com/swoosh/phoenix_swoosh/issues/347">#347</a>)</li>
<li><a
href="6f5e7c2342"><code>6f5e7c2</code></a>
Bump phoenix_view from 2.0.2 to 2.0.3 (<a
href="https://redirect.github.com/swoosh/phoenix_swoosh/issues/342">#342</a>)</li>
<li><a
href="bb5362e907"><code>bb5362e</code></a>
Bump phoenix from 1.7.9 to 1.7.10 (<a
href="https://redirect.github.com/swoosh/phoenix_swoosh/issues/343">#343</a>)</li>
<li><a
href="51e52e75e9"><code>51e52e7</code></a>
Bump ex_doc from 0.30.9 to 0.31.0 (<a
href="https://redirect.github.com/swoosh/phoenix_swoosh/issues/346">#346</a>)</li>
<li><a
href="ed84404503"><code>ed84404</code></a>
Bump swoosh from 1.12.0 to 1.14.2 (<a
href="https://redirect.github.com/swoosh/phoenix_swoosh/issues/345">#345</a>)</li>
<li><a
href="230ed83afc"><code>230ed83</code></a>
Bump ex_doc from 0.30.8 to 0.30.9 (<a
href="https://redirect.github.com/swoosh/phoenix_swoosh/issues/339">#339</a>)</li>
<li><a
href="49507fdb69"><code>49507fd</code></a>
Bump phoenix from 1.7.7 to 1.7.9 (<a
href="https://redirect.github.com/swoosh/phoenix_swoosh/issues/336">#336</a>)</li>
<li><a
href="58ad0ac104"><code>58ad0ac</code></a>
Bump phoenix_html from 3.3.2 to 3.3.3 (<a
href="https://redirect.github.com/swoosh/phoenix_swoosh/issues/334">#334</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/swoosh/phoenix_swoosh/compare/v1.2.0...v1.2.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=phoenix_swoosh&package-manager=hex&previous-version=1.2.0&new-version=1.2.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-01-12 04:09:51 +00:00
dependabot[bot]
5c779a74ce build(deps): Bump phoenix_live_view from 0.20.2 to 0.20.3 in /elixir (#3194)
Bumps
[phoenix_live_view](https://github.com/phoenixframework/phoenix_live_view)
from 0.20.2 to 0.20.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/phoenixframework/phoenix_live_view/blob/main/CHANGELOG.md">phoenix_live_view's
changelog</a>.</em></p>
<blockquote>
<h2>0.20.3 (2024-01-02)</h2>
<h3>Bug fixes</h3>
<ul>
<li>Fix phx-viewport bindings failing to fire after navigation</li>
<li>Preserve order of appended items in stream in
<code>LiveViewTest</code></li>
<li>Fix order of items on client when resetting a stream to existing set
of items</li>
</ul>
<h3>Enhancements</h3>
<ul>
<li>Support <code>JS.push</code> from dead views</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8a3014465d"><code>8a30144</code></a>
Release 0.20.3</li>
<li><a
href="eead2f15fd"><code>eead2f1</code></a>
maybe fix <a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2895">#2895</a>
(<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2969">#2969</a>)</li>
<li><a
href="fa18246812"><code>fa18246</code></a>
Bump</li>
<li><a
href="52a897f54e"><code>52a897f</code></a>
maybe fix <a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/1609">#1609</a>
(<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2974">#2974</a>)</li>
<li><a
href="474e3c68c1"><code>474e3c6</code></a>
add test for stream reset order (<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2976">#2976</a>)</li>
<li><a
href="37147be184"><code>37147be</code></a>
Support JS.push(target: lv) from deadviews to embedded liveviews (<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2572">#2572</a>)</li>
<li><a
href="d4f4e0e8c1"><code>d4f4e0e</code></a>
preserve order of appended items in stream (<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2960">#2960</a>)</li>
<li><a
href="7c65bf50c4"><code>7c65bf5</code></a>
Bump</li>
<li><a
href="3d90f514fc"><code>3d90f51</code></a>
add InfiniteScroll hook after patch, fixes <a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2667">#2667</a>
(<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2674">#2674</a>)</li>
<li><a
href="fab57f9a65"><code>fab57f9</code></a>
Composite dispatch and push with navigate</li>
<li>Additional commits viewable in <a
href="https://github.com/phoenixframework/phoenix_live_view/compare/v0.20.2...v0.20.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=phoenix_live_view&package-manager=hex&previous-version=0.20.2&new-version=0.20.3)](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-01-12 04:09:07 +00:00
dependabot[bot]
aad1829ad4 build(deps-dev): Bump credo from 1.7.2 to 1.7.3 in /elixir (#3195)
Bumps [credo](https://github.com/rrrene/credo) from 1.7.2 to 1.7.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rrrene/credo/blob/master/CHANGELOG.md">credo's
changelog</a>.</em></p>
<blockquote>
<h2>1.7.3</h2>
<ul>
<li><code>Credo.Check.Readability.AliasOrder</code> now supports a
<code>:sort_method</code> parameter</li>
<li><code>Credo.Check.Readability.PredicateFunctionNames</code> received
fixes</li>
<li><code>Credo.Check.Warning.MissedMetadataKeyInLoggerConfig</code>
received fixes</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="79807d2e12"><code>79807d2</code></a>
Bump version to 1.7.3</li>
<li><a
href="b2dedd617c"><code>b2dedd6</code></a>
Update CHANGELOG</li>
<li><a
href="484f24c06d"><code>484f24c</code></a>
Fix false positive in MissedMetadataKeyInLoggerConfig</li>
<li><a
href="16b47debe5"><code>16b47de</code></a>
Merge pull request <a
href="https://redirect.github.com/rrrene/credo/issues/1103">#1103</a>
from bradhanks/credo</li>
<li><a
href="ab10d78245"><code>ab10d78</code></a>
refactoring opp: [F] ↗ is more efficient than</li>
<li><a
href="c30a1a5ed0"><code>c30a1a5</code></a>
Remove old TODO comments re: front-loading</li>
<li><a
href="491f8d5a46"><code>491f8d5</code></a>
Fix false positive on
Credo.Check.Readability.PredicateFunctionNames</li>
<li><a
href="bb43348af7"><code>bb43348</code></a>
Merge branch 'kybishop-case-sensitive-alias-order'</li>
<li><a
href="a1b6609ffe"><code>a1b6609</code></a>
Clean up code changes</li>
<li><a
href="f9ece54cbf"><code>f9ece54</code></a>
Merge branch 'case-sensitive-alias-order' of github.com:kybishop/credo
into k...</li>
<li>Additional commits viewable in <a
href="https://github.com/rrrene/credo/compare/v1.7.2...v1.7.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=credo&package-manager=hex&previous-version=1.7.2&new-version=1.7.3)](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-01-12 04:08:34 +00:00
dependabot[bot]
0f9bba9ab4 build(deps-dev): Bump mix_audit from 2.1.1 to 2.1.2 in /elixir (#3196)
Bumps [mix_audit](https://github.com/mirego/mix_audit) from 2.1.1 to
2.1.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mirego/mix_audit/blob/main/CHANGELOG.md">mix_audit's
changelog</a>.</em></p>
<blockquote>
<h2>2.1.2 (2024-01-08)</h2>
<ul>
<li>Add better support for Elixir 1.16, thank you <a
href="https://github.com/cgrothaus"><code>@​cgrothaus</code></a>! (<a
href="https://redirect.github.com/mirego/mix_audit/pull/26">#26</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="449e7abd4b"><code>449e7ab</code></a>
v2.1.2</li>
<li><a
href="6b5d0d598e"><code>6b5d0d5</code></a>
Support Elixir 1.16 in call to <code>Code.string_to_quoted/2</code></li>
<li><a
href="d6523a600a"><code>d6523a6</code></a>
Add Elixir 1.16 in GitHub Actions workflows</li>
<li><a
href="ca9d2d27e4"><code>ca9d2d2</code></a>
Upgrade version in README.md</li>
<li><a
href="ba57a3cd97"><code>ba57a3c</code></a>
Remove unsupported versions from CI workflow</li>
<li>See full diff in <a
href="https://github.com/mirego/mix_audit/compare/v2.1.1...v2.1.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mix_audit&package-manager=hex&previous-version=2.1.1&new-version=2.1.2)](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-01-12 04:08:13 +00:00
Jamil
fafc7edebb fix(gateway): Use sudo tee instead of sudo cat to write files as root (#3177)
Fixes an issue with input/output redirection that is preventing the
systemd gateway install script from working properly.
2024-01-12 00:58:03 +00:00
Brian Manifold
dce7894737 fix(portal): Allow IdP setting errors to be shown in portal (#3165)
Why:

* There was a small bug that was preventing form errors from being shown
while entering the configuration data for OIDC/Google IDPs. It was due
to a nested changeset not having an `action` set.

Closes #3048
2024-01-11 18:21:18 +00:00
Jamil
f4045e612c fix(portal): Increase receive timeout to alleviate test flakiness (#3168)
The increase I added to the other process receive timeouts seemed to fix
the flakiness there, so trying it for this last test as well.

GH runners can be very slow.


https://github.com/firezone/firezone/actions/runs/7484945854/job/20372602149
2024-01-11 09:11:14 -06:00
Brian Manifold
e5af828982 fix(portal): Add page_title to all portal pages (#3154)
Why:

* When navigating around the portal, the title in the browser tab would
      not show the accurate title of the current page.  This commit adds
      `page_title` to all pages.  The value of the page title has been
      choosen to correspond with the portal's left hand nav menu.


Additional:
* Along with the page titles, the `vertical_table` component was updated
to make the left hand headers use a class of `w-1/5` for consistency
across pages and to move the info a little further left on each page to
try and align it closer with other info on the page.

Here's an example of before and after:

<img width="1060" alt="before"
src="https://github.com/firezone/firezone/assets/2646332/6c56b550-98a5-4331-b1d3-c65ed9e24330">

<img width="1058" alt="after"
src="https://github.com/firezone/firezone/assets/2646332/c4753fee-ddea-4c67-9d5e-5b924260ea20">
2024-01-11 06:14:34 +00:00
Andrew Dryga
396f2ef584 Redirect to deep link when user is already signed in (#3156)
Closes #2032
2024-01-10 19:52:03 +00:00
Andrew Dryga
ce932ffd90 fix(portal): Remove token provider and implement separate flow for service accounts (#3146)
Closes #2501
2024-01-10 10:33:10 -06:00
Jamil
6c8e44b3de fix(gateway): Fix masquerading iptables command (#3151) 2024-01-09 21:17:24 -08:00