feat: enable/disable log drain by service

This commit is contained in:
Andras Bacsai
2023-11-17 20:08:21 +01:00
parent b0c96e64c9
commit 3b20eee909
37 changed files with 270 additions and 24 deletions

View File

@@ -300,6 +300,9 @@ class Application extends BaseModel
}
return false;
}
public function isLogDrainEnabled() {
return data_get($this, 'settings.is_log_drain_enabled', false);
}
public function isConfigurationChanged($save = false)
{
$newConfigHash = $this->fqdn . $this->git_repository . $this->git_branch . $this->git_commit_sha . $this->build_pack . $this->static_image . $this->install_command . $this->build_command . $this->start_command . $this->port_exposes . $this->port_mappings . $this->base_directory . $this->publish_directory . $this->health_check_path . $this->health_check_port . $this->health_check_host . $this->health_check_method . $this->health_check_return_code . $this->health_check_scheme . $this->health_check_response_text . $this->health_check_interval . $this->health_check_timeout . $this->health_check_retries . $this->health_check_start_period . $this->health_check_enabled . $this->limits_memory . $this->limits_swap . $this->limits_swappiness . $this->limits_reservation . $this->limits_cpus . $this->limits_cpuset . $this->limits_cpu_shares . $this->dockerfile . $this->dockerfile_location . $this->custom_labels;

View File

@@ -304,7 +304,7 @@ class Server extends BaseModel
{
return $this->settings->is_reachable && $this->settings->is_usable;
}
public function isDrainLogActivated()
public function isLogDrainEnabled()
{
return $this->settings->is_logdrain_newrelic_enabled || $this->settings->is_logdrain_highlight_enabled || $this->settings->is_logdrain_axiom_enabled;
}

View File

@@ -797,7 +797,7 @@ class Service extends BaseModel
$serviceLabels = $serviceLabels->merge(fqdnLabelsForTraefik($this->uuid, $fqdns, true));
}
}
if ($this->server->isDrainLogActivated()) {
if ($this->server->isLogDrainEnabled() && $savedService->isLogDrainEnabled()) {
data_set($service, 'logging', [
'driver' => 'fluentd',
'options' => [

View File

@@ -18,6 +18,10 @@ class ServiceApplication extends BaseModel
$service->fileStorages()->delete();
});
}
public function isLogDrainEnabled()
{
return data_get($this, 'is_log_drain_enabled', false);
}
public function type()
{
return 'service';

View File

@@ -16,6 +16,10 @@ class ServiceDatabase extends BaseModel
$service->fileStorages()->delete();
});
}
public function isLogDrainEnabled()
{
return data_get($this, 'is_log_drain_enabled', false);
}
public function type()
{
return 'service';

View File

@@ -41,6 +41,10 @@ class StandaloneMariadb extends BaseModel
$database->environment_variables()->delete();
});
}
public function isLogDrainEnabled()
{
return data_get($this, 'is_log_drain_enabled', false);
}
public function type(): string
{
return 'standalone-mariadb';

View File

@@ -44,7 +44,10 @@ class StandaloneMongodb extends BaseModel
$database->environment_variables()->delete();
});
}
public function isLogDrainEnabled()
{
return data_get($this, 'is_log_drain_enabled', false);
}
public function mongoInitdbRootPassword(): Attribute
{
return Attribute::make(

View File

@@ -46,6 +46,11 @@ class StandaloneMysql extends BaseModel
return 'standalone-mysql';
}
public function isLogDrainEnabled()
{
return data_get($this, 'is_log_drain_enabled', false);
}
public function portsMappings(): Attribute
{
return Attribute::make(

View File

@@ -42,6 +42,11 @@ class StandalonePostgresql extends BaseModel
});
}
public function isLogDrainEnabled()
{
return data_get($this, 'is_log_drain_enabled', false);
}
public function portsMappings(): Attribute
{
return Attribute::make(

View File

@@ -37,6 +37,11 @@ class StandaloneRedis extends BaseModel
});
}
public function isLogDrainEnabled()
{
return data_get($this, 'is_log_drain_enabled', false);
}
public function portsMappings(): Attribute
{
return Attribute::make(