Merge remote-tracking branch 'origin/next' into audit-policies

This commit is contained in:
Andras Bacsai 2026-03-06 08:04:10 +01:00
commit f83c71fd4f
6 changed files with 41 additions and 7 deletions

View file

@ -1099,6 +1099,17 @@ private function create_application(Request $request, $type)
return response()->json(['message' => 'Server has multiple destinations and you do not set destination_uuid.'], 400); return response()->json(['message' => 'Server has multiple destinations and you do not set destination_uuid.'], 400);
} }
$destination = $destinations->first(); $destination = $destinations->first();
if ($destinations->count() > 1 && $request->has('destination_uuid')) {
$destination = $destinations->where('uuid', $request->destination_uuid)->first();
if (! $destination) {
return response()->json([
'message' => 'Validation failed.',
'errors' => [
'destination_uuid' => 'Provided destination_uuid does not belong to the specified server.',
],
], 422);
}
}
if ($type === 'public') { if ($type === 'public') {
$validationRules = [ $validationRules = [
'git_repository' => ['string', 'required', new ValidGitRepositoryUrl], 'git_repository' => ['string', 'required', new ValidGitRepositoryUrl],

View file

@ -381,6 +381,17 @@ public function create_service(Request $request)
return response()->json(['message' => 'Server has multiple destinations and you do not set destination_uuid.'], 400); return response()->json(['message' => 'Server has multiple destinations and you do not set destination_uuid.'], 400);
} }
$destination = $destinations->first(); $destination = $destinations->first();
if ($destinations->count() > 1 && $request->has('destination_uuid')) {
$destination = $destinations->where('uuid', $request->destination_uuid)->first();
if (! $destination) {
return response()->json([
'message' => 'Validation failed.',
'errors' => [
'destination_uuid' => 'Provided destination_uuid does not belong to the specified server.',
],
], 422);
}
}
$services = get_service_templates(); $services = get_service_templates();
$serviceKeys = $services->keys(); $serviceKeys = $services->keys();
if ($serviceKeys->contains($request->type)) { if ($serviceKeys->contains($request->type)) {
@ -547,6 +558,17 @@ public function create_service(Request $request)
return response()->json(['message' => 'Server has multiple destinations and you do not set destination_uuid.'], 400); return response()->json(['message' => 'Server has multiple destinations and you do not set destination_uuid.'], 400);
} }
$destination = $destinations->first(); $destination = $destinations->first();
if ($destinations->count() > 1 && $request->has('destination_uuid')) {
$destination = $destinations->where('uuid', $request->destination_uuid)->first();
if (! $destination) {
return response()->json([
'message' => 'Validation failed.',
'errors' => [
'destination_uuid' => 'Provided destination_uuid does not belong to the specified server.',
],
], 422);
}
}
if (! isBase64Encoded($request->docker_compose_raw)) { if (! isBase64Encoded($request->docker_compose_raw)) {
return response()->json([ return response()->json([
'message' => 'Validation failed.', 'message' => 'Validation failed.',

View file

@ -527,6 +527,7 @@ class="flex items-start gap-2 p-4 mb-4 text-sm rounded-lg bg-blue-50 dark:bg-blu
@endif @endif
</div> </div>
<h3 class="pt-8">Labels</h3>
@if ($application->settings->is_container_label_readonly_enabled) @if ($application->settings->is_container_label_readonly_enabled)
<x-forms.textarea readonly disabled label="Container Labels" rows="15" id="customLabels" <x-forms.textarea readonly disabled label="Container Labels" rows="15" id="customLabels"
monacoEditorLanguage="ini" useMonacoEditor x-bind:disabled="!canUpdate"></x-forms.textarea> monacoEditorLanguage="ini" useMonacoEditor x-bind:disabled="!canUpdate"></x-forms.textarea>

View file

@ -7,7 +7,7 @@
services: services:
n8n: n8n:
image: n8nio/n8n:2.1.5 image: n8nio/n8n:2.10.2
environment: environment:
- SERVICE_URL_N8N_5678 - SERVICE_URL_N8N_5678
- N8N_EDITOR_BASE_URL=${SERVICE_URL_N8N} - N8N_EDITOR_BASE_URL=${SERVICE_URL_N8N}
@ -54,7 +54,7 @@ services:
retries: 10 retries: 10
n8n-worker: n8n-worker:
image: n8nio/n8n:2.1.5 image: n8nio/n8n:2.10.2
command: worker command: worker
environment: environment:
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE:-UTC} - GENERIC_TIMEZONE=${GENERIC_TIMEZONE:-UTC}
@ -122,7 +122,7 @@ services:
retries: 10 retries: 10
task-runners: task-runners:
image: n8nio/runners:2.1.5 image: n8nio/runners:2.10.2
environment: environment:
- N8N_RUNNERS_TASK_BROKER_URI=${N8N_RUNNERS_TASK_BROKER_URI:-http://n8n-worker:5679} - N8N_RUNNERS_TASK_BROKER_URI=${N8N_RUNNERS_TASK_BROKER_URI:-http://n8n-worker:5679}
- N8N_RUNNERS_AUTH_TOKEN=$SERVICE_PASSWORD_N8N - N8N_RUNNERS_AUTH_TOKEN=$SERVICE_PASSWORD_N8N

View file

@ -7,7 +7,7 @@
services: services:
n8n: n8n:
image: n8nio/n8n:2.1.5 image: n8nio/n8n:2.10.2
environment: environment:
- SERVICE_URL_N8N_5678 - SERVICE_URL_N8N_5678
- N8N_EDITOR_BASE_URL=${SERVICE_URL_N8N} - N8N_EDITOR_BASE_URL=${SERVICE_URL_N8N}
@ -47,7 +47,7 @@ services:
retries: 10 retries: 10
task-runners: task-runners:
image: n8nio/runners:2.1.5 image: n8nio/runners:2.10.2
environment: environment:
- N8N_RUNNERS_TASK_BROKER_URI=${N8N_RUNNERS_TASK_BROKER_URI:-http://n8n:5679} - N8N_RUNNERS_TASK_BROKER_URI=${N8N_RUNNERS_TASK_BROKER_URI:-http://n8n:5679}
- N8N_RUNNERS_AUTH_TOKEN=$SERVICE_PASSWORD_N8N - N8N_RUNNERS_AUTH_TOKEN=$SERVICE_PASSWORD_N8N

View file

@ -7,7 +7,7 @@
services: services:
n8n: n8n:
image: n8nio/n8n:2.1.5 image: n8nio/n8n:2.10.2
environment: environment:
- SERVICE_URL_N8N_5678 - SERVICE_URL_N8N_5678
- N8N_EDITOR_BASE_URL=${SERVICE_URL_N8N} - N8N_EDITOR_BASE_URL=${SERVICE_URL_N8N}
@ -38,7 +38,7 @@ services:
retries: 10 retries: 10
task-runners: task-runners:
image: n8nio/runners:2.1.5 image: n8nio/runners:2.10.2
environment: environment:
- N8N_RUNNERS_TASK_BROKER_URI=${N8N_RUNNERS_TASK_BROKER_URI:-http://n8n:5679} - N8N_RUNNERS_TASK_BROKER_URI=${N8N_RUNNERS_TASK_BROKER_URI:-http://n8n:5679}
- N8N_RUNNERS_AUTH_TOKEN=${SERVICE_PASSWORD_N8N} - N8N_RUNNERS_AUTH_TOKEN=${SERVICE_PASSWORD_N8N}