feat(services): add Jean Server one-click template and extra fields

Register the jean-server compose template, logo, and catalog entries,
and expose token and allowed-origins settings on the service form.
Sort extra fields by sortOrder and omit empty service-name prefixes.
This commit is contained in:
Andras Bacsai committed 2026-08-13 11:00:04 +02:00
1 parent 9794ce2686
commit c3f485e0d6
9 files changed
+165 -2

No files matched your search

+27
View File
@@ -45,3 +45,30 @@ it('only adds Grafana extra fields for Grafana server images', function (string
'promtail' => ['grafana/promtail:latest', false],
'tempo' => ['grafana/tempo:latest', false],
]);
it('exposes Jean Server authentication and access settings', function () {
$service = serviceExtraFieldsTestServiceWithApplicationImage('ghcr.io/coollabsio/jean-server:latest');
$service->environment_variables()->createMany([
['key' => 'SERVICE_PASSWORD_64_JEAN', 'value' => 'secret-token', 'is_preview' => false],
['key' => 'JEAN_ALLOWED_ORIGINS', 'value' => 'https://jean.example.com', 'is_preview' => false],
]);
$fields = $service->extraFields();
expect($fields)->toHaveKey('')
->and($fields[''])->toMatchArray([
'Token' => [
'key' => 'SERVICE_PASSWORD_64_JEAN',
'value' => 'secret-token',
'rules' => 'required',
'isPassword' => true,
'sortOrder' => 1,
],
'Allowed Origins' => [
'key' => 'JEAN_ALLOWED_ORIGINS',
'value' => 'https://jean.example.com',
'sortOrder' => 2,
],
]);
});