Skip to content

Commit c7f29f6

Browse files
committed
Send emergency email on production
1 parent 029481b commit c7f29f6

File tree

7 files changed

+221
-41
lines changed

7 files changed

+221
-41
lines changed

Diff for: .env

+5-2
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,12 @@
2828
APP_SYSTEM_LOCK_SESSION_LIFETIME=900 #in seconds (15 min) # if user unlocks the lock and remaind idle for this time - will be logged out
2929
APP_IPS_ACCESS_RESTRICTION="[]" #restrict access to the project only by given ips -> Example (exactly this way): [\"127.0.0.1\",\"192.168.10.1\"] (without spacebars)
3030

31+
# Monitoring based variables
32+
APP_EMERGENCY_EMAILS_RECEIVER_EMAIL="[email protected]" # emergency emails are sent to this address
33+
3134
# Symfony auto generated variables
3235
APP_SECRET=384b043b67a4f1431eef6b2f6e50b2cb # jwt
3336

34-
# Services
37+
# External Services
3538
## Notifier Proxy Logger
36-
APP_DEFAULT_NPL_RECEIVER_EMAILS=[\"[email protected]\"] # default receiver of emails transfered to NPL -> Example (exactly this way): [\"[email protected]\", \"[email protected]\"]
39+
APP_DEFAULT_NPL_RECEIVER_EMAILS=[\"[email protected]\"] # default receiver of emails transfered to NPL -> Example (exactly this way): [\"[email protected]\", \"[email protected]\"]

Diff for: composer.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,13 @@
4040
"symfony/flex": "^1.0",
4141
"symfony/form": "^5.0",
4242
"symfony/framework-bundle": "^5.0",
43+
"symfony/google-mailer": "^5.3",
4344
"symfony/http-foundation": "^5.0",
4445
"symfony/orm-pack": "^1.0",
4546
"symfony/routing": "^5.0",
4647
"symfony/security-bundle": "^5.0",
4748
"symfony/serializer": "^5.0",
48-
"symfony/swiftmailer-bundle": "^3.3",
49+
"symfony/swiftmailer-bundle": "^3.5",
4950
"symfony/templating": "^5.0",
5051
"symfony/translation": "^5.0",
5152
"symfony/twig-bundle": "^5.0",

Diff for: composer.lock

+171-8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: config/packages/dev/monolog.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ monolog:
2626
type: stream
2727
path: "%kernel.logs_dir%/%kernel.environment%.security.log"
2828
channels: ["security"]
29-
level: info
29+
level: info

Diff for: config/packages/prod/monolog.yaml

+9-1
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,12 @@ monolog:
2727
type: stream
2828
path: "%kernel.logs_dir%/%kernel.environment%.security.log"
2929
channels: ["security"]
30-
max_level: info
30+
max_level: info
31+
swift:
32+
type: swift_mailer
33+
from_email: "[email protected]"
34+
to_email: '%env(APP_EMERGENCY_EMAILS_RECEIVER_EMAIL)%'
35+
subject: '[%project.name%] An Error Occurred!'
36+
level: emergency
37+
formatter: monolog.formatter.html
38+
content_type: text/html

Diff for: config/services.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ parameters:
1010
security.restricted_ips: '%env(APP_IPS_ACCESS_RESTRICTION)%'
1111
system.from_email: '[email protected]'
1212

13+
project.name: "Personal Management System"
14+
1315
# Resolving deprecation for moving from 4.4x to 5.x
1416
sensio_framework_extra:
1517
router:

Diff for: src/AutoInstaller.php

+31-28
Original file line numberDiff line numberDiff line change
@@ -46,33 +46,35 @@ class AutoInstaller{
4646

4747
const APP_SECRET = 'b9abc19ae10d53eb7cf5b5684ec6511f';
4848

49-
const SYSTEM_LOCK_SESSION_LIFETIME = 900;
50-
const USER_LOGIN_SESSION_LIFETIME = 1800;
51-
const IPS_ACCESS_RESTRICTION = "[]";
52-
const NPL_DEFAULT_RECEIVER = '[\"[email protected]\"]';
49+
const SYSTEM_LOCK_SESSION_LIFETIME = 900;
50+
const USER_LOGIN_SESSION_LIFETIME = 1800;
51+
const IPS_ACCESS_RESTRICTION = "[]";
52+
const NPL_DEFAULT_RECEIVER = '[\"[email protected]\"]';
53+
const DEFAULT_EMERGENCY_EMAILS_RECEIVER = '[email protected]';
5354

5455
const ENV_DEV = "dev";
5556
const ENV_PROD = "prod";
5657

57-
const ENV_KEY_APP_ENV = 'APP_ENV';
58-
const ENV_KEY_APP_DEBUG = 'APP_DEBUG';
59-
const ENV_KEY_APP_SECRET = 'APP_SECRET';
60-
const ENV_KEY_APP_DEMO = 'APP_DEMO';
61-
const ENV_KEY_APP_MAINTENANCE = 'APP_MAINTENANCE';
62-
const ENV_KEY_APP_GUIDE = 'APP_GUIDE';
63-
const ENV_KEY_MAILER_URL = 'MAILER_URL';
64-
const ENV_KEY_DATABASE_URL = 'DATABASE_URL';
65-
const ENV_KEY_UPLOAD_DIR = 'UPLOAD_DIR';
66-
const ENV_KEY_IMAGES_UPLOAD_DIR = 'IMAGES_UPLOAD_DIR';
67-
const ENV_KEY_FILES_UPLOAD_DIR = 'FILES_UPLOAD_DIR';
68-
const ENV_KEY_VIDEOS_UPLOAD_DIR = 'VIDEOS_UPLOAD_DIR';
69-
const ENV_KEY_MINIATURES_UPLOAD_DIR = 'MINIATURES_UPLOAD_DIR';
70-
const ENV_KEY_PUBLIC_ROOT_DIR = 'PUBLIC_ROOT_DIR';
71-
const ENV_KEY_APP_USER_LOGIN_SESSION_LIFETIME = 'APP_USER_LOGIN_SESSION_LIFETIME';
72-
const ENV_KEY_APP_SYSTEM_LOCK_SESSION_LIFETIME = 'APP_SYSTEM_LOCK_SESSION_LIFETIME';
73-
const ENV_KEY_APP_IPS_ACCESS_RESTRICTION = 'APP_IPS_ACCESS_RESTRICTION';
74-
const ENV_KEY_APP_SHOW_INFO_BLOCKS = 'APP_SHOW_INFO_BLOCKS';
75-
const ENV_KEY_APP_DEFAULT_NPL_RECEIVER_EMAILS = 'APP_DEFAULT_NPL_RECEIVER_EMAILS';
58+
const ENV_KEY_APP_ENV = 'APP_ENV';
59+
const ENV_KEY_APP_DEBUG = 'APP_DEBUG';
60+
const ENV_KEY_APP_SECRET = 'APP_SECRET';
61+
const ENV_KEY_APP_DEMO = 'APP_DEMO';
62+
const ENV_KEY_APP_MAINTENANCE = 'APP_MAINTENANCE';
63+
const ENV_KEY_APP_GUIDE = 'APP_GUIDE';
64+
const ENV_KEY_MAILER_URL = 'MAILER_URL';
65+
const ENV_KEY_DATABASE_URL = 'DATABASE_URL';
66+
const ENV_KEY_UPLOAD_DIR = 'UPLOAD_DIR';
67+
const ENV_KEY_IMAGES_UPLOAD_DIR = 'IMAGES_UPLOAD_DIR';
68+
const ENV_KEY_FILES_UPLOAD_DIR = 'FILES_UPLOAD_DIR';
69+
const ENV_KEY_VIDEOS_UPLOAD_DIR = 'VIDEOS_UPLOAD_DIR';
70+
const ENV_KEY_MINIATURES_UPLOAD_DIR = 'MINIATURES_UPLOAD_DIR';
71+
const ENV_KEY_PUBLIC_ROOT_DIR = 'PUBLIC_ROOT_DIR';
72+
const ENV_KEY_APP_USER_LOGIN_SESSION_LIFETIME = 'APP_USER_LOGIN_SESSION_LIFETIME';
73+
const ENV_KEY_APP_SYSTEM_LOCK_SESSION_LIFETIME = 'APP_SYSTEM_LOCK_SESSION_LIFETIME';
74+
const ENV_KEY_APP_IPS_ACCESS_RESTRICTION = 'APP_IPS_ACCESS_RESTRICTION';
75+
const ENV_KEY_APP_SHOW_INFO_BLOCKS = 'APP_SHOW_INFO_BLOCKS';
76+
const ENV_KEY_APP_DEFAULT_NPL_RECEIVER_EMAILS = 'APP_DEFAULT_NPL_RECEIVER_EMAILS';
77+
const ENV_KEY_APP_EMERGENCY_EMAILS_RECEIVER_EMAIL = 'APP_EMERGENCY_EMAILS_RECEIVER_EMAIL';
7678

7779
const CONFIG_ENCRYPTION_YAML_PATH = "config/packages/config/encryption.yaml";
7880
const CONFIG_ENCRYPTION_KEY_ENCRYPT_KEY = "parameters.encrypt_key";
@@ -360,11 +362,12 @@ private static function buildEnv(){
360362
fwrite($fileHandler,self::ENV_KEY_MINIATURES_UPLOAD_DIR . "=" . self::UPLOAD_DIR_MINIATURES . PHP_EOL);
361363
fwrite($fileHandler,self::ENV_KEY_PUBLIC_ROOT_DIR . "=" . self::PUBLIC_DIR . PHP_EOL);
362364

363-
fwrite($fileHandler,self::ENV_KEY_APP_USER_LOGIN_SESSION_LIFETIME . "=" . self::USER_LOGIN_SESSION_LIFETIME . PHP_EOL);
364-
fwrite($fileHandler,self::ENV_KEY_APP_SYSTEM_LOCK_SESSION_LIFETIME . "=" . self::SYSTEM_LOCK_SESSION_LIFETIME . PHP_EOL);
365-
fwrite($fileHandler,self::ENV_KEY_APP_IPS_ACCESS_RESTRICTION . "=" . self::IPS_ACCESS_RESTRICTION . PHP_EOL);
366-
fwrite($fileHandler,self::ENV_KEY_APP_SHOW_INFO_BLOCKS . "=" . "true" . PHP_EOL);
367-
fwrite($fileHandler,self::ENV_KEY_APP_DEFAULT_NPL_RECEIVER_EMAILS . "=" . self::NPL_DEFAULT_RECEIVER . PHP_EOL);
365+
fwrite($fileHandler,self::ENV_KEY_APP_USER_LOGIN_SESSION_LIFETIME . "=" . self::USER_LOGIN_SESSION_LIFETIME . PHP_EOL);
366+
fwrite($fileHandler,self::ENV_KEY_APP_SYSTEM_LOCK_SESSION_LIFETIME . "=" . self::SYSTEM_LOCK_SESSION_LIFETIME . PHP_EOL);
367+
fwrite($fileHandler,self::ENV_KEY_APP_IPS_ACCESS_RESTRICTION . "=" . self::IPS_ACCESS_RESTRICTION . PHP_EOL);
368+
fwrite($fileHandler,self::ENV_KEY_APP_SHOW_INFO_BLOCKS . "=" . "true" . PHP_EOL);
369+
fwrite($fileHandler,self::ENV_KEY_APP_DEFAULT_NPL_RECEIVER_EMAILS . "=" . self::NPL_DEFAULT_RECEIVER . PHP_EOL);
370+
fwrite($fileHandler,self::ENV_KEY_APP_EMERGENCY_EMAILS_RECEIVER_EMAIL . "=" . self::DEFAULT_EMERGENCY_EMAILS_RECEIVER . PHP_EOL);
368371
}
369372
fclose($fileHandler);
370373
CliHandler::infoText('Env file has been created.');

0 commit comments

Comments
 (0)