Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/hot_upgrade.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ on:
otp:
description: "OTP version"
required: true
default: "28"
default: "29"
type: choice
options:
- "27"
- "28"
- "29"
from_version:
description: "Version to upgrade from (tag only)"
required: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/releases.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: false
matrix:
otp: [27, 28]
otp: [28, 29]
env:
ARTIFACT_NAME: deployex-ubuntu-24.04-otp-${{ matrix.otp }}.tar.gz
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/testing-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: false
matrix:
otp: [27, 28]
otp: [28, 29]
env:
ARTIFACT_NAME: deployex-ubuntu-24.04-otp-${{ matrix.otp }}.tar.gz
steps:
Expand Down
6 changes: 3 additions & 3 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
erlang 28.5.0.3
elixir 1.19.5-otp-28
terraform 1.5.6
erlang 29.0.3
elixir 1.20.2-otp-29
terraform 1.5.6
17 changes: 16 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
# CHANGELOG (0.10.X)

## 0.10.0 ()

### Backwards incompatible changes from 0.9.5

#### OTP support
* From this version onwards, OTP-27 is no longer supported in favor of the new OTP-29 version

### Bug fixes
* None

### Enhancements
* None

# CHANGELOG (0.9.X)

## 0.9.5 🚀 (2026-07-08)
Expand Down Expand Up @@ -108,8 +123,8 @@

This release includes binaries for the following Ubuntu versions:

* Ubuntu 24.04 with OTP 27 - [deployex-ubuntu-24.04-otp-27.tar.gz](https://github.com/thiagoesteves/deployex/tree/main/devops/releases/otp-27/.tool-versions)
* Ubuntu 24.04 with OTP 28 - [deployex-ubuntu-24.04-otp-28.tar.gz](https://github.com/thiagoesteves/deployex/tree/main/devops/releases/otp-28/.tool-versions)
* Ubuntu 24.04 with OTP 29 - [deployex-ubuntu-24.04-otp-29.tar.gz](https://github.com/thiagoesteves/deployex/tree/main/devops/releases/otp-29/.tool-versions)

You can use these pre-built binaries, or you can build your own if preferred.

Expand Down
31 changes: 16 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,21 +80,22 @@ Upon deployment, the following dashboard becomes available, providing easy acces

Since OTP distribution is heavily used between the DeployEx and Monitored Applications, users must ensure that both applications are running the same OTP Major version to prevent compatibility issues and system malfunctions. DeployEx releases will contain binaries for the following OTP versions:

| DeployEx version | <img src="https://img.shields.io/badge/OTP-27-green.svg"/> | <img src="https://img.shields.io/badge/OTP-28-green.svg"/> |
| ------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
| [**0.9.5**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.5) | **27.3.4.14** | **28.5.0.3** |
| [**0.9.4**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.4) | **27.3.4.13** | **28.5.0.2** |
| [**0.9.3**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.3) | **27.3.4.13** | **28.5.0.2** |
| [**0.9.2**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.2) | **27.3.4.13** | **28.5.0.2** |
| [**0.9.1**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.1) | **27.3.4.9** | **28.4.1** |
| [**0.9.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.0) | **27.3.4.9** | **28.4.1** |
| [**0.8.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.8.0) | **27.3.4.3** | **28.1.1** |
| [**0.7.3**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.3) | **27.3.4.3** | **28.1.1** [1] |
| [**0.7.2**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.2) | **27.3.4.3** | **28.1** [1] |
| [**0.7.1**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.1) | **27.3.4.3** | **28.1** [1] |
| [**0.7.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.0) | **27.3.4.3** | **28.1** [1] |
| [**0.6.1**](https://github.com/thiagoesteves/deployex/releases/tag/0.6.1) | **27.3.4.2** | **28.0.2** [1] |
| [**0.6.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.6.0) | **27.3.4.2** | **28.0.2** [1] |
| DeployEx version | <img src="https://img.shields.io/badge/OTP-27-green.svg"/> | <img src="https://img.shields.io/badge/OTP-28-green.svg"/> | <img src="https://img.shields.io/badge/OTP-29-green.svg"/> |
| ------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
| :soon: [**0.10.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.10.0) | - | **28.5.0.3** | **29.0.3** |
| [**0.9.5**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.5) | **27.3.4.14** | **28.5.0.3** | - |
| [**0.9.4**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.4) | **27.3.4.13** | **28.5.0.2** | - |
| [**0.9.3**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.3) | **27.3.4.13** | **28.5.0.2** | - |
| [**0.9.2**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.2) | **27.3.4.13** | **28.5.0.2** | - |
| [**0.9.1**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.1) | **27.3.4.9** | **28.4.1** | - |
| [**0.9.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.0) | **27.3.4.9** | **28.4.1** | - |
| [**0.8.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.8.0) | **27.3.4.3** | **28.1.1** | - |
| [**0.7.3**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.3) | **27.3.4.3** | **28.1.1** [1] | - |
| [**0.7.2**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.2) | **27.3.4.3** | **28.1** [1] | - |
| [**0.7.1**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.1) | **27.3.4.3** | **28.1** [1] | - |
| [**0.7.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.0) | **27.3.4.3** | **28.1** [1] | - |
| [**0.6.1**](https://github.com/thiagoesteves/deployex/releases/tag/0.6.1) | **27.3.4.2** | **28.0.2** [1] | - |
| [**0.6.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.6.0) | **27.3.4.2** | **28.0.2** [1] | - |

- **[1]** - Binaries for `OTP-28` are compiled with Elixir [1.18.4-otp-27](https://github.com/elixir-lang/elixir/releases/tag/v1.18.4)

Expand Down
2 changes: 0 additions & 2 deletions apps/deployer/lib/deployer/engine.ex
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
defmodule Deployer.Engine do
@moduledoc false

require Logger

alias Deployer.Engine
alias Deployer.Status
alias Foundation.Catalog
Expand Down
1 change: 0 additions & 1 deletion apps/deployer/lib/deployer/engine/supervisor.ex
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ defmodule Deployer.Engine.Supervisor do
@moduledoc false

use DynamicSupervisor
require Logger

alias Deployer.Engine.Worker

Expand Down
1 change: 0 additions & 1 deletion apps/deployer/lib/deployer/status/application.ex
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ defmodule Deployer.Status.Application do
"""

use GenServer
require Logger

@behaviour Deployer.Status.Adapter

Expand Down
2 changes: 1 addition & 1 deletion apps/deployer/mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ defmodule Deployer.MixProject do
{:ex_aws, "~> 2.1"},
{:ex_aws_s3, "~> 2.0"},
{:goth, "~> 1.4"},
{:briefly, "~> 0.4.1"},
{:briefly, "~> 0.5"},
# Static Analysis
{:mox, "~> 1.0", only: :test},
{:mock, "~> 0.3.0", only: :test},
Expand Down
8 changes: 4 additions & 4 deletions apps/deployex_web/lib/deployex_web/components/layouts.ex
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,15 @@ defmodule DeployexWeb.Layouts do
<.theme_toggle />
</div>
</div>
<!-- Main Content -->

<!-- Main Content -->
<div class="drawer-content flex flex-col min-h-screen">
<main class="flex-1">
{render_slot(@inner_block)}
</main>
</div>
<!-- Navigation Sidebar -->

<!-- Navigation Sidebar -->
<.live_component
module={DeployexWeb.Components.NavMenu}
ui_settings={@ui_settings}
Expand Down
5 changes: 1 addition & 4 deletions apps/deployex_web/lib/deployex_web/live/applications/logs.ex
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
defmodule DeployexWeb.ApplicationsLive.Logs do
use DeployexWeb, :live_component

require Logger

alias DeployexWeb.Helper
alias Foundation.Catalog
alias Host.Terminal
Expand All @@ -26,8 +24,7 @@ defmodule DeployexWeb.ApplicationsLive.Logs do
<span
class="w-[5px] rounded ml-1 mr-1"
style={"background-color: #{log_message.color};"}
>
</span>
></span>
<div class="font-mono text-xs text-base-content/90 w-1/2 ">
<details>
<summary class="cursor-pointer truncate">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ defmodule DeployexWeb.ApplicationsLive.Terminal do

@terminal_timeout :timer.minutes(15)

require Logger

@impl true
@spec render(any()) :: Phoenix.LiveView.Rendered.t()
def render(assigns) do
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
defmodule DeployexWeb.ApplicationsLive.Versions do
use DeployexWeb, :live_component

require Logger

alias Deployer.Status

attr :name, :string, required: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ defmodule DeployexWeb.Components.ApplicationCard do
@moduledoc false
use DeployexWeb, :html

use Phoenix.Component
alias DeployexWeb.Components.Monitoring
alias DeployexWeb.Helper

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ defmodule DeployexWeb.Components.ApplicationDashboard do
@moduledoc false
use DeployexWeb, :html

use Phoenix.Component
alias DeployexWeb.Components.ApplicationCard
alias DeployexWeb.Components.CertificatePanel
alias DeployexWeb.Helper
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ defmodule DeployexWeb.Components.CertificateModal do
Accepts a normalized certificate map (see ApplicationsLive.normalize_certificate/1).
"""
use DeployexWeb, :html
use Phoenix.Component

attr :id, :string, required: true
attr :certificate, :map, required: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ defmodule DeployexWeb.Components.CertificatePanel do
`name` is passed as phx-name-id to identify which cert to show in the modal.
"""
use DeployexWeb, :html
use Phoenix.Component

@warn_days 30

Expand Down Expand Up @@ -72,8 +71,8 @@ defmodule DeployexWeb.Components.CertificatePanel do
View details
</button>
</div>
<!-- Summary fields -->

<!-- Summary fields -->
<div class="grid grid-cols-2 sm:grid-cols-4 gap-2">
<div class="bg-base-100 border border-base-300 rounded-lg p-2.5">
<div class="text-xs text-base-content/60 mb-1">Issuer</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ defmodule DeployexWeb.Components.ConfigChangesModal do
Modal component for displaying pending configuration changes in a human-readable format.
"""
use DeployexWeb, :html
use Phoenix.Component

alias DeployexWeb.Helper

Expand Down
8 changes: 4 additions & 4 deletions apps/deployex_web/lib/deployex_web/live/components/confirm.ex
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,15 @@ defmodule DeployexWeb.Components.Confirm do
</button>
</div>
</div>
<!-- Content Section -->

<!-- Content Section -->
<div class="px-8 py-6">
<div class="text-base-content/90 text-lg leading-relaxed">
{render_slot(@inner_block)}
</div>
</div>
<!-- Footer Section -->

<!-- Footer Section -->
<div class="px-8 py-6 bg-base-50/30 border-t border-base-200/50">
<div class="flex gap-4 justify-end">
{render_slot(@footer)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ defmodule DeployexWeb.Components.Dashboard do
@moduledoc false
use DeployexWeb, :html

use Phoenix.Component
alias DeployexWeb.Components.ApplicationDashboard
alias DeployexWeb.Components.DeployexCard
alias DeployexWeb.Helper
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ defmodule DeployexWeb.Components.DeployexCard do
@moduledoc false
use DeployexWeb, :html

use Phoenix.Component
alias DeployexWeb.Components.CertificatePanel
alias DeployexWeb.Components.Monitoring
alias DeployexWeb.Helper
Expand Down
10 changes: 4 additions & 6 deletions apps/deployex_web/lib/deployex_web/live/components/monitoring.ex
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ defmodule DeployexWeb.Components.Monitoring do
@moduledoc false
use DeployexWeb, :html

use Phoenix.Component

alias DeployexWeb.Helper

attr :monitoring, :list, required: true
Expand Down Expand Up @@ -121,8 +119,8 @@ defmodule DeployexWeb.Components.Monitoring do
{@status_text}
</div>
</div>
<!-- Combined Progress Bar -->

<!-- Combined Progress Bar -->
<div class="space-y-3">
<div class="bg-base-200 border border-base-300 rounded-lg p-4">
<!-- Current Usage Display -->
Expand Down Expand Up @@ -167,8 +165,8 @@ defmodule DeployexWeb.Components.Monitoring do
</div>
</div>
</div>
<!-- Threshold Legend -->

<!-- Threshold Legend -->
<div class="grid grid-cols-2 gap-2 mt-4 pt-3 border-t border-base-300">
<div class="flex items-center gap-2">
<div class="w-3 h-3 bg-warning rounded"></div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ defmodule DeployexWeb.Components.MultiSelect do
<% end %>
<% end %>
</div>
<!-- Toggle Button -->

<!-- Toggle Button -->
<div class="flex justify-center mb-4">
<button
id={Helper.normalize_id("#{@id}-toggle-options")}
Expand Down Expand Up @@ -78,8 +78,8 @@ defmodule DeployexWeb.Components.MultiSelect do
{if @show_options, do: "Hide Options", else: "Show Options"}
</button>
</div>
<!-- Available Options -->

<!-- Available Options -->
<div :if={@show_options} class="collapse collapse-open bg-base-200 rounded-lg">
<div
class="collapse-content p-4"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,7 @@ defmodule DeployexWeb.Components.SystemBar do
<span class="text-xs text-base-content/60">{@memory_max}G Total</span>
</div>
<div class="flex items-center gap-2">
<progress class="progress progress-info w-20 h-2" value={@memory_used} max="100">
</progress>
<progress class="progress progress-info w-20 h-2" value={@memory_used} max="100"></progress>
<span class="text-sm font-bold text-info min-w-[3rem] text-right">
{@memory_used}%
</span>
Expand All @@ -117,8 +116,7 @@ defmodule DeployexWeb.Components.SystemBar do
<span class="text-xs text-base-content/60">{@cpus_max}% Max</span>
</div>
<div class="flex items-center gap-2">
<progress class="progress progress-warning w-20 h-2" value={@cpus_used} max="100">
</progress>
<progress class="progress progress-warning w-20 h-2" value={@cpus_used} max="100"></progress>
<span class="text-sm font-bold text-warning min-w-[3rem] text-right">{@cpu}%</span>
</div>
</div>
Expand Down
3 changes: 1 addition & 2 deletions apps/deployex_web/lib/deployex_web/live/docs/index.ex
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ defmodule DeployexWeb.DocsLive do
width="100%"
height="100%"
title="Deployex Docs"
>
</iframe>
></iframe>
</div>
</Layouts.app>
"""
Expand Down
3 changes: 1 addition & 2 deletions apps/deployex_web/lib/deployex_web/live/hot_upgrade/index.ex
Original file line number Diff line number Diff line change
Expand Up @@ -263,8 +263,7 @@ defmodule DeployexWeb.HotUpgradeLive do
class="progress progress-primary w-full"
value={@github.download_progress}
max="100"
>
</progress>
></progress>

<div class="flex items-center gap-3 ml-3 w-20">
<span class="text-sm font-semibold">{@github.download_progress}%</span>
Expand Down
3 changes: 1 addition & 2 deletions apps/deployex_web/lib/deployex_web/live/observer/index.ex
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@ defmodule DeployexWeb.ObserverLive do
src={~p"/observer/tracing?iframe=true"}
class="w-full min-h-[90vh] border-0"
title="Observer Web"
>
</iframe>
></iframe>
<!-- Loading Overlay (optional) -->
<div
class="absolute inset-0 bg-base-100/80 flex items-center justify-center opacity-0 pointer-events-none transition-opacity duration-300"
Expand Down
Loading
Loading