mirror of
https://github.com/tiennm99/coolify.git
synced 2026-08-22 14:24:05 +00:00
fix(security): enforce team access on mutable actions
Authorize cloud provider token access, audit sensitive operations, and standardize public IDs across deployment and resource flows.
This commit is contained in:
@@ -64,7 +64,6 @@ use PurplePixie\PhpDns\DNSQuery;
|
||||
use PurplePixie\PhpDns\DNSTypes;
|
||||
use Spatie\Url\Url;
|
||||
use Symfony\Component\Yaml\Yaml;
|
||||
use Visus\Cuid2\Cuid2;
|
||||
|
||||
function base_configuration_dir(): string
|
||||
{
|
||||
@@ -115,6 +114,13 @@ function sanitize_string(?string $input = null): ?string
|
||||
return $sanitized;
|
||||
}
|
||||
|
||||
function new_public_id(int $length = 24): string
|
||||
{
|
||||
$length = max(1, $length);
|
||||
|
||||
return Str::lower(Str::random($length));
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that a path or identifier is safe for use in shell commands.
|
||||
*
|
||||
@@ -455,7 +461,7 @@ function generate_random_name(?string $cuid = null): string
|
||||
]
|
||||
);
|
||||
if (is_null($cuid)) {
|
||||
$cuid = new Cuid2;
|
||||
$cuid = new_public_id();
|
||||
}
|
||||
|
||||
return Str::kebab("{$generator->getName()}-$cuid");
|
||||
@@ -491,7 +497,7 @@ function formatPrivateKey(string $privateKey)
|
||||
function generate_application_name(string $git_repository, string $git_branch, ?string $cuid = null): string
|
||||
{
|
||||
if (is_null($cuid)) {
|
||||
$cuid = new Cuid2;
|
||||
$cuid = new_public_id();
|
||||
}
|
||||
|
||||
$repo_name = str_contains($git_repository, '/') ? last(explode('/', $git_repository)) : $git_repository;
|
||||
@@ -3259,7 +3265,7 @@ function parseDockerComposeFile(Service|Application $resource, bool $isNew = fal
|
||||
$template = $resource->preview_url_template;
|
||||
$host = $url->getHost();
|
||||
$schema = $url->getScheme();
|
||||
$random = new Cuid2;
|
||||
$random = new_public_id();
|
||||
$preview_fqdn = str_replace('{{random}}', $random, $template);
|
||||
$preview_fqdn = str_replace('{{domain}}', $host, $preview_fqdn);
|
||||
$preview_fqdn = str_replace('{{pr_id}}', $pull_request_id, $preview_fqdn);
|
||||
|
||||
Reference in New Issue
Block a user