Add build pack selection and show/hide static site options
This commit is contained in:
parent
8a91395472
commit
c620bb58ed
@ -30,18 +30,22 @@ class PublicGitRepository extends Component
|
|||||||
public GithubApp|GitlabApp|string $git_source = 'other';
|
public GithubApp|GitlabApp|string $git_source = 'other';
|
||||||
public string $git_host;
|
public string $git_host;
|
||||||
public string $git_repository;
|
public string $git_repository;
|
||||||
|
public $build_pack;
|
||||||
|
public bool $show_is_static = true;
|
||||||
|
|
||||||
protected $rules = [
|
protected $rules = [
|
||||||
'repository_url' => 'required|url',
|
'repository_url' => 'required|url',
|
||||||
'port' => 'required|numeric',
|
'port' => 'required|numeric',
|
||||||
'is_static' => 'required|boolean',
|
'is_static' => 'required|boolean',
|
||||||
'publish_directory' => 'nullable|string',
|
'publish_directory' => 'nullable|string',
|
||||||
|
'build_pack' => 'required|string',
|
||||||
];
|
];
|
||||||
protected $validationAttributes = [
|
protected $validationAttributes = [
|
||||||
'repository_url' => 'repository',
|
'repository_url' => 'repository',
|
||||||
'port' => 'port',
|
'port' => 'port',
|
||||||
'is_static' => 'static',
|
'is_static' => 'static',
|
||||||
'publish_directory' => 'publish directory',
|
'publish_directory' => 'publish directory',
|
||||||
|
'build_pack' => 'build pack',
|
||||||
];
|
];
|
||||||
|
|
||||||
public function mount()
|
public function mount()
|
||||||
@ -53,7 +57,18 @@ class PublicGitRepository extends Component
|
|||||||
$this->parameters = get_route_parameters();
|
$this->parameters = get_route_parameters();
|
||||||
$this->query = request()->query();
|
$this->query = request()->query();
|
||||||
}
|
}
|
||||||
|
public function updatedBuildPack()
|
||||||
|
{
|
||||||
|
if ($this->build_pack === 'nixpacks') {
|
||||||
|
$this->show_is_static = true;
|
||||||
|
} else if ($this->build_pack === 'static') {
|
||||||
|
$this->show_is_static = false;
|
||||||
|
$this->is_static = false;
|
||||||
|
} else {
|
||||||
|
$this->show_is_static = false;
|
||||||
|
$this->is_static = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
public function instantSave()
|
public function instantSave()
|
||||||
{
|
{
|
||||||
if ($this->is_static) {
|
if ($this->is_static) {
|
||||||
@ -157,6 +172,7 @@ class PublicGitRepository extends Component
|
|||||||
'environment_id' => $environment->id,
|
'environment_id' => $environment->id,
|
||||||
'destination_id' => $destination->id,
|
'destination_id' => $destination->id,
|
||||||
'destination_type' => $destination_class,
|
'destination_type' => $destination_class,
|
||||||
|
'build_pack' => $this->build_pack,
|
||||||
];
|
];
|
||||||
} else {
|
} else {
|
||||||
$application_init = [
|
$application_init = [
|
||||||
@ -170,7 +186,8 @@ class PublicGitRepository extends Component
|
|||||||
'destination_id' => $destination->id,
|
'destination_id' => $destination->id,
|
||||||
'destination_type' => $destination_class,
|
'destination_type' => $destination_class,
|
||||||
'source_id' => $this->git_source->id,
|
'source_id' => $this->git_source->id,
|
||||||
'source_type' => $this->git_source->getMorphClass()
|
'source_type' => $this->git_source->getMorphClass(),
|
||||||
|
'build_pack' => $this->build_pack,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,6 +10,15 @@
|
|||||||
Check repository
|
Check repository
|
||||||
</x-forms.button>
|
</x-forms.button>
|
||||||
</div>
|
</div>
|
||||||
|
@if (!$branch_found)
|
||||||
|
<div>
|
||||||
|
<p>Public repositories: <span class='text-helper'>https://...</span></p>
|
||||||
|
<p>Private repositories: <span class='text-helper'>git@...</span></p>
|
||||||
|
<p>Preselect branch: <span
|
||||||
|
class='text-helper'>https://github.com/coollabsio/coolify-examples/tree/static</span> to
|
||||||
|
select 'static' branch.</p>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
@if ($branch_found)
|
@if ($branch_found)
|
||||||
@if ($rate_limit_remaining && $rate_limit_reset)
|
@if ($rate_limit_remaining && $rate_limit_reset)
|
||||||
<div class="flex gap-2 py-2">
|
<div class="flex gap-2 py-2">
|
||||||
@ -21,12 +30,20 @@
|
|||||||
<div class="flex flex-col gap-2 pb-6">
|
<div class="flex flex-col gap-2 pb-6">
|
||||||
<div class="flex gap-2">
|
<div class="flex gap-2">
|
||||||
@if ($git_source === 'other')
|
@if ($git_source === 'other')
|
||||||
<x-forms.input id="git_branch" label="Selected branch"
|
<x-forms.input id="git_branch" label="Branch"
|
||||||
helper="You can select other branches after configuration is done." />
|
helper="You can select other branches after configuration is done." />
|
||||||
@else
|
@else
|
||||||
<x-forms.input disabled id="git_branch" label="Selected branch"
|
<x-forms.input disabled id="git_branch" label="Branch"
|
||||||
helper="You can select other branches after configuration is done." />
|
helper="You can select other branches after configuration is done." />
|
||||||
@endif
|
@endif
|
||||||
|
<x-forms.select wire:model.live="build_pack" label="Build Pack" required>
|
||||||
|
<option value="nixpacks">Nixpacks</option>
|
||||||
|
<option value="static">Static</option>
|
||||||
|
<option value="dockerfile">Dockerfile</option>
|
||||||
|
<option value="dockercompose">Docker Compose</option>
|
||||||
|
</x-forms.select>
|
||||||
|
</div>
|
||||||
|
@if ($show_is_static)
|
||||||
@if ($is_static)
|
@if ($is_static)
|
||||||
<x-forms.input id="publish_directory" label="Publish Directory"
|
<x-forms.input id="publish_directory" label="Publish Directory"
|
||||||
helper="If there is a build process involved (like Svelte, React, Next, etc..), please specify the output directory for the build assets." />
|
helper="If there is a build process involved (like Svelte, React, Next, etc..), please specify the output directory for the build assets." />
|
||||||
@ -34,14 +51,14 @@
|
|||||||
<x-forms.input type="number" id="port" label="Port" :readonly="$is_static"
|
<x-forms.input type="number" id="port" label="Port" :readonly="$is_static"
|
||||||
helper="The port your application listens on." />
|
helper="The port your application listens on." />
|
||||||
@endif
|
@endif
|
||||||
</div>
|
<div class="w-52">
|
||||||
<div class="w-52">
|
<x-forms.checkbox instantSave id="is_static" label="Is it a static site?"
|
||||||
<x-forms.checkbox instantSave id="is_static" label="Is it a static site?"
|
helper="If your application is a static site or the final build assets should be served as a static site, enable this." />
|
||||||
helper="If your application is a static site or the final build assets should be served as a static site, enable this." />
|
</div>
|
||||||
</div>
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<x-forms.button wire:click.prevent='submit'>
|
<x-forms.button wire:click.prevent='submit'>
|
||||||
Save New Application
|
Continue
|
||||||
</x-forms.button>
|
</x-forms.button>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user