diff --git a/app/Http/Livewire/Boarding/Index.php b/app/Http/Livewire/Boarding/Index.php
index c68cd8a50..44b45dee7 100644
--- a/app/Http/Livewire/Boarding/Index.php
+++ b/app/Http/Livewire/Boarding/Index.php
@@ -135,7 +135,7 @@ uZx9iFkCELtxrh31QJ68AAAAEXNhaWxANzZmZjY2ZDJlMmRkAQIDBA==
{
$this->selectedExistingPrivateKey = null;
$this->privateKeyType = $type;
- if ($type === 'create' && !isDev()) {
+ if ($type === 'create') {
$this->createNewPrivateKey();
}
$this->currentState = 'create-private-key';
diff --git a/app/Http/Livewire/PrivateKey/Change.php b/app/Http/Livewire/PrivateKey/Change.php
index 528c44506..6c849b0a9 100644
--- a/app/Http/Livewire/PrivateKey/Change.php
+++ b/app/Http/Livewire/PrivateKey/Change.php
@@ -8,7 +8,7 @@ use Livewire\Component;
class Change extends Component
{
public PrivateKey $private_key;
-
+ public $public_key;
protected $rules = [
'private_key.name' => 'required|string',
'private_key.description' => 'nullable|string',
@@ -21,6 +21,14 @@ class Change extends Component
'private_key.private_key' => 'private key'
];
+ public function mount()
+ {
+ try {
+ $this->public_key = $this->private_key->publicKey();
+ }catch(\Exception $e) {
+ return general_error_handler(err: $e, that: $this);
+ }
+ }
public function delete()
{
try {
diff --git a/app/Models/PrivateKey.php b/app/Models/PrivateKey.php
index d4fd0bfa2..d96aecd4e 100644
--- a/app/Models/PrivateKey.php
+++ b/app/Models/PrivateKey.php
@@ -2,6 +2,7 @@
namespace App\Models;
+use phpseclib3\Crypt\PublicKeyLoader;
class PrivateKey extends BaseModel
{
@@ -19,6 +20,15 @@ class PrivateKey extends BaseModel
return PrivateKey::whereTeamId(currentTeam()->id)->select($selectArray->all());
}
+ public function publicKey()
+ {
+ try {
+ return PublicKeyLoader::load($this->private_key)->getPublicKey()->toString('OpenSSH',['comment' => '']);
+ } catch (\Exception $e) {
+ return 'Error loading private key';
+ }
+ }
+
public function isEmpty()
{
if ($this->servers()->count() === 0 && $this->applications()->count() === 0 && $this->githubApps()->count() === 0 && $this->gitlabApps()->count() === 0) {
diff --git a/config/sentry.php b/config/sentry.php
index d691d226f..e1e34c182 100644
--- a/config/sentry.php
+++ b/config/sentry.php
@@ -7,7 +7,7 @@ return [
// The release version of your application
// Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD'))
- 'release' => '4.0.0-beta.32',
+ 'release' => '4.0.0-beta.33',
'server_name' => env('APP_ID', 'coolify'),
// When left empty or `null` the Laravel environment will be used
'environment' => config('app.env'),
diff --git a/config/version.php b/config/version.php
index 0a9679488..c3d0beeb6 100644
--- a/config/version.php
+++ b/config/version.php
@@ -1,3 +1,3 @@