Merge pull request #11212 from appwrite/chore-preview-domain-under-platform

Chore: Platform to defien preview domain
This commit is contained in:
Matej Bačo 2026-01-30 14:29:17 +01:00 committed by GitHub
commit 8938dcf8f4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 24 additions and 13 deletions

View file

@ -23,4 +23,5 @@ return [
'privacyUrl' => APP_EMAIL_PRIVACY_URL,
'websiteUrl' => 'https://' . APP_DOMAIN,
'emailSenderName' => APP_EMAIL_PLATFORM_NAME,
'sitePreviewDomain' => System::getEnv('_APP_DOMAIN_SITES', ''),
];

View file

@ -341,7 +341,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId
$projectId = $project->getId();
// Deployment preview
$sitesDomain = System::getEnv('_APP_DOMAIN_SITES', '');
$sitesDomain = $platform['sitePreviewDomain'];
$domain = ID::unique() . "." . $sitesDomain;
$ruleId = md5($domain);
$previewRuleId = $ruleId;

View file

@ -144,7 +144,7 @@ class Base extends Action
return $deployment;
}
public function redeployVcsSite(Request $request, Document $site, Document $project, Document $installation, Database $dbForProject, Database $dbForPlatform, Build $queueForBuilds, Document $template, GitHub $github, bool $activate, Authorization $authorization, string $referenceType = 'branch', string $reference = ''): Document
public function redeployVcsSite(Request $request, Document $site, Document $project, Document $installation, Database $dbForProject, Database $dbForPlatform, Build $queueForBuilds, Document $template, GitHub $github, bool $activate, Authorization $authorization, string $referenceType = 'branch', string $reference = '', array $platform): Document
{
$deploymentId = ID::unique();
$providerInstallationId = $installation->getAttribute('providerInstallationId', '');
@ -235,7 +235,7 @@ class Base extends Action
->setAttribute('latestDeploymentStatus', $deployment->getAttribute('status', ''));
$dbForProject->updateDocument('sites', $site->getId(), $site);
$sitesDomain = System::getEnv('_APP_DOMAIN_SITES', '');
$sitesDomain = $platform['sitePreviewDomain'];
$domain = ID::unique() . "." . $sitesDomain;
// TODO: (@Meldiron) Remove after 1.7.x migration

View file

@ -1037,7 +1037,7 @@ class Builds extends Action
// VCS branch
$branchName = $deployment->getAttribute('providerBranch');
if (!empty($branchName)) {
$sitesDomain = System::getEnv('_APP_DOMAIN_SITES', '');
$sitesDomain = $platform['sitePreviewDomain'];
$branchPrefix = substr($branchName, 0, 16);
if (strlen($branchName) > 16) {
$remainingChars = substr($branchName, 16);

View file

@ -88,6 +88,7 @@ class Create extends Action
->inject('queueForBuilds')
->inject('plan')
->inject('authorization')
->inject('platform')
->callback($this->action(...));
}
@ -108,7 +109,8 @@ class Create extends Action
Device $deviceForLocal,
Build $queueForBuilds,
array $plan,
Authorization $authorization
Authorization $authorization,
array $platform,
) {
$activate = \strval($activate) === 'true' || \strval($activate) === '1';
@ -272,7 +274,7 @@ class Create extends Action
->setAttribute('latestDeploymentStatus', $deployment->getAttribute('status', ''));
$dbForProject->updateDocument('sites', $site->getId(), $site);
$sitesDomain = System::getEnv('_APP_DOMAIN_SITES', '');
$sitesDomain = $platform['sitePreviewDomain'];
$domain = ID::unique() . "." . $sitesDomain;
// TODO: (@Meldiron) Remove after 1.7.x migration
@ -342,7 +344,7 @@ class Create extends Action
->setAttribute('latestDeploymentStatus', $deployment->getAttribute('status', ''));
$dbForProject->updateDocument('sites', $site->getId(), $site);
$sitesDomain = System::getEnv('_APP_DOMAIN_SITES', '');
$sitesDomain = $platform['sitePreviewDomain'];
$domain = ID::unique() . "." . $sitesDomain;
$ruleId = md5($domain);
$authorization->skip(

View file

@ -66,6 +66,7 @@ class Create extends Action
->inject('queueForBuilds')
->inject('deviceForSites')
->inject('authorization')
->inject('platform')
->callback($this->action(...));
}
@ -80,7 +81,8 @@ class Create extends Action
Event $queueForEvents,
Build $queueForBuilds,
Device $deviceForSites,
Authorization $authorization
Authorization $authorization,
array $platform
) {
$site = $dbForProject->getDocument('sites', $siteId);
@ -143,7 +145,7 @@ class Create extends Action
$dbForProject->updateDocument('sites', $site->getId(), $site);
// Preview deployments for sites
$sitesDomain = System::getEnv('_APP_DOMAIN_SITES', '');
$sitesDomain = $platform['sitePreviewDomain'];
$domain = ID::unique() . "." . $sitesDomain;
// TODO: (@Meldiron) Remove after 1.7.x migration

View file

@ -80,6 +80,7 @@ class Create extends Base
->inject('queueForBuilds')
->inject('gitHub')
->inject('authorization')
->inject('platform')
->callback($this->action(...));
}
@ -99,7 +100,8 @@ class Create extends Base
Event $queueForEvents,
Build $queueForBuilds,
GitHub $github,
Authorization $authorization
Authorization $authorization,
array $platform
) {
$site = $dbForProject->getDocument('sites', $siteId);
@ -133,6 +135,7 @@ class Create extends Base
github: $github,
activate: $activate,
authorization: $authorization,
platform: $platform
);
$queueForEvents
@ -186,7 +189,7 @@ class Create extends Base
->setAttribute('latestDeploymentStatus', $deployment->getAttribute('status', ''));
$dbForProject->updateDocument('sites', $site->getId(), $site);
$sitesDomain = System::getEnv('_APP_DOMAIN_SITES', '');
$sitesDomain = $platform['sitePreviewDomain'];
$domain = ID::unique() . "." . $sitesDomain;
// TODO: (@Meldiron) Remove after 1.7.x migration

View file

@ -74,6 +74,7 @@ class Create extends Base
->inject('queueForBuilds')
->inject('gitHub')
->inject('authorization')
->inject('platform')
->callback($this->action(...));
}
@ -90,7 +91,8 @@ class Create extends Base
Event $queueForEvents,
Build $queueForBuilds,
GitHub $github,
Authorization $authorization
Authorization $authorization,
array $platform
) {
$site = $dbForProject->getDocument('sites', $siteId);
@ -115,7 +117,8 @@ class Create extends Base
activate: $activate,
authorization: $authorization,
reference: $reference,
referenceType: $type
referenceType: $type,
platform: $platform
);
$queueForEvents