FEAT_CHECK_ENV_SCRIPT
This commit is contained in:
parent
b833c7611b
commit
bb0ffbcf3a
244
.env.sample
244
.env.sample
@ -1,27 +1,15 @@
|
||||
#--------------------------------------------------------------------
|
||||
# Example Environment Configuration file
|
||||
#
|
||||
# This file can be used as a starting point for your own
|
||||
# custom .env files, and contains most of the possible settings
|
||||
# available in a default install.
|
||||
#
|
||||
# By default, all of the settings are commented out. If you want
|
||||
# to override the setting, you must un-comment it by removing the '#'
|
||||
# at the beginning of the line.
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# ENVIRONMENT
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# CI_ENVIRONMENT = development
|
||||
CI_ENVIRONMENT =
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# APP
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
app.baseURL = 'http://localhost/client_changes/nhance/'
|
||||
app.appTimezone = 'Asia/Kolkata'
|
||||
app.baseURL =
|
||||
app.appTimezone =
|
||||
# If you have trouble with `.`, you could also use `_`.
|
||||
# app_baseURL = ''
|
||||
# app.forceGlobalSecureRequests = false
|
||||
@ -30,187 +18,93 @@ app.appTimezone = 'Asia/Kolkata'
|
||||
#--------------------------------------------------------------------
|
||||
# DATABASE
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
|
||||
# Dev DB Connection
|
||||
|
||||
database.default.hostname = 119.18.54.85
|
||||
database.default.database = venbaehn_nhance
|
||||
database.default.username = venbaehn_nhance_user1
|
||||
database.default.password = 'iM~X7(cR+}A-'
|
||||
database.default.DBDriver = MySQLi
|
||||
database.default.DBPrefix =
|
||||
database.default.port = 3306
|
||||
|
||||
database.tests.hostname = 119.18.54.85
|
||||
database.tests.database = venbaehn_nhance
|
||||
database.tests.username = venbaehn_nhance_user1
|
||||
database.tests.password = 'iM~X7(cR+}A-'
|
||||
database.tests.DBDriver = MySQLi
|
||||
database.tests.DBPrefix =
|
||||
database.tests.port = 3306
|
||||
|
||||
# Test DB Connection
|
||||
|
||||
# database.default.hostname = 119.18.54.85
|
||||
# database.default.database = venbaehn_nhance_test
|
||||
# database.default.username = venbaehn_nhance_user1
|
||||
# database.default.password = 'iM~X7(cR+}A-'
|
||||
# database.default.DBDriver = MySQLi
|
||||
# database.default.DBPrefix =
|
||||
# database.default.port = 3306
|
||||
|
||||
# database.tests.hostname = 119.18.54.85
|
||||
# database.tests.database = venbaehn_nhance_test
|
||||
# database.tests.username = venbaehn_nhance_user1
|
||||
# database.tests.password = 'iM~X7(cR+}A-'
|
||||
# database.tests.DBDriver = MySQLi
|
||||
# database.tests.DBPrefix =
|
||||
# database.tests.port = 3306
|
||||
|
||||
# UAT DB Connection
|
||||
|
||||
# database.default.hostname = 119.18.54.85
|
||||
# database.default.database = venbaehn_nhance_uat
|
||||
# database.default.username = venbaehn_nhance_user1
|
||||
# database.default.password = 'iM~X7(cR+}A-'
|
||||
# database.default.DBDriver = MySQLi
|
||||
# database.default.DBPrefix =
|
||||
# database.default.port = 3306
|
||||
|
||||
# database.tests.hostname = 119.18.54.85
|
||||
# database.tests.database = venbaehn_nhance_uat
|
||||
# database.tests.username = venbaehn_nhance_user1
|
||||
# database.tests.password = 'iM~X7(cR+}A-'
|
||||
# database.tests.DBDriver = MySQLi
|
||||
# database.tests.DBPrefix =
|
||||
# database.tests.port = 3306
|
||||
|
||||
# Local PhpMyAdmin DB Connection
|
||||
|
||||
# database.default.hostname = localhost
|
||||
# database.default.database = nhance
|
||||
# database.default.username = root
|
||||
# database.default.password = ''
|
||||
# database.default.DBDriver = MySQLi
|
||||
# database.default.DBPrefix =
|
||||
# database.default.port = 3306
|
||||
|
||||
# database.tests.hostname = localhost
|
||||
# database.tests.database = nhance
|
||||
# database.tests.username = root
|
||||
# database.tests.password = ''
|
||||
# database.tests.DBDriver = MySQLi
|
||||
# database.tests.DBPrefix =
|
||||
# database.tests.port = 3306
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# CONTENT SECURITY POLICY
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# contentsecuritypolicy.reportOnly = false
|
||||
# contentsecuritypolicy.defaultSrc = 'none'
|
||||
# contentsecuritypolicy.scriptSrc = 'self'
|
||||
# contentsecuritypolicy.styleSrc = 'self'
|
||||
# contentsecuritypolicy.imageSrc = 'self'
|
||||
# contentsecuritypolicy.baseURI = null
|
||||
# contentsecuritypolicy.childSrc = null
|
||||
# contentsecuritypolicy.connectSrc = 'self'
|
||||
# contentsecuritypolicy.fontSrc = null
|
||||
# contentsecuritypolicy.formAction = null
|
||||
# contentsecuritypolicy.frameAncestors = null
|
||||
# contentsecuritypolicy.frameSrc = null
|
||||
# contentsecuritypolicy.mediaSrc = null
|
||||
# contentsecuritypolicy.objectSrc = null
|
||||
# contentsecuritypolicy.pluginTypes = null
|
||||
# contentsecuritypolicy.reportURI = null
|
||||
# contentsecuritypolicy.sandbox = false
|
||||
# contentsecuritypolicy.upgradeInsecureRequests = false
|
||||
# contentsecuritypolicy.styleNonceTag = '{csp-style-nonce}'
|
||||
# contentsecuritypolicy.scriptNonceTag = '{csp-script-nonce}'
|
||||
# contentsecuritypolicy.autoNonce = true
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# COOKIE
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# cookie.prefix = ''
|
||||
# cookie.expires = 0
|
||||
# cookie.path = '/'
|
||||
# cookie.domain = ''
|
||||
# cookie.secure = false
|
||||
# cookie.httponly = false
|
||||
# cookie.samesite = 'Lax'
|
||||
# cookie.raw = false
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# ENCRYPTION
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# encryption.key =
|
||||
# encryption.driver = OpenSSL
|
||||
# encryption.blockSize = 16
|
||||
# encryption.digest = SHA512
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# HONEYPOT
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# honeypot.hidden = 'true'
|
||||
# honeypot.label = 'Fill This Field'
|
||||
# honeypot.name = 'honeypot'
|
||||
# honeypot.template = '<label>{label}</label><input type="text" name="{name}" value=""/>'
|
||||
# honeypot.container = '<div style="display:none">{template}</div>'
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# SECURITY
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# security.csrfProtection = 'cookie'
|
||||
# security.tokenRandomize = false
|
||||
# security.tokenName = 'csrf_token_name'
|
||||
# security.headerName = 'X-CSRF-TOKEN'
|
||||
# security.cookieName = 'csrf_cookie_name'
|
||||
# security.expires = 7200
|
||||
# security.regenerate = true
|
||||
# security.redirect = false
|
||||
# security.samesite = 'Lax'
|
||||
DB_SSL_ENABLE =
|
||||
database.default.hostname =
|
||||
database.default.database =
|
||||
database.default.username =
|
||||
database.default.password =
|
||||
database.default.DBDriver =
|
||||
#database.default.DBPrefix =
|
||||
#database.default.port =
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# SESSION
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# session.driver = 'CodeIgniter\Session\Handlers\FileHandler'
|
||||
session.cookieName = 'ci_session_dev'
|
||||
session.expiration = 86400
|
||||
# session.cookieName = 'ci_session'
|
||||
#session.expiration = 28800
|
||||
# session.savePath = null
|
||||
# session.matchIP = false
|
||||
session.timeToUpdate = 300
|
||||
session.regenerateDestroy = true
|
||||
# session.timeToUpdate = 300
|
||||
# session.regenerateDestroy = false
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# LOGGER
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# logger.threshold = 4
|
||||
logger.threshold = 4
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# CURLRequest
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# curlrequest.shareOptions = true
|
||||
|
||||
GOOGLE_OAUTH_APP_NAME =
|
||||
#GOOGLE_OAUTH_CLIENT_ID =
|
||||
#GOOGLE_OAUTH_CLIENT_SECRET =
|
||||
|
||||
GOOGLE_OAUTH_CLIENT_ID =
|
||||
GOOGLE_OAUTH_CLIENT_SECRET =
|
||||
GOOGLE_OAUTH_REDIRECT_URI =
|
||||
GOOGLE_OAUTH_SCOPES =
|
||||
App_Url =
|
||||
NHANCE_LOGO =
|
||||
helpdeskURL =
|
||||
TOKENTIMEOUT =
|
||||
POST_ENROLLMENT_APP_LINK =
|
||||
GDRIVE_ROOT_FOLDER_ID =
|
||||
|
||||
|
||||
email.fromEmail =
|
||||
email.fromName =
|
||||
ZEPTO_API_KEY =
|
||||
email.SMTPPass =
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Google-OAUTH-Credentials
|
||||
# SET COOKIE DATA
|
||||
#--------------------------------------------------------------------
|
||||
cookie.Path = '/';
|
||||
cookie.Domain = '.nhanceindia.in'; //Enter Domain Name with preceding .(dot) -> .nhanceindia.in
|
||||
cookie.secure = 'true';// if https set as true or if http set as false
|
||||
|
||||
GOOGLE_OAUTH_APP_NAME = 'OAuth'
|
||||
GOOGLE_OAUTH_CLIENT_ID = '696241936560-m2mr272ge7vr2n4q36c22l3d2gdgi90l.apps.googleusercontent.com'
|
||||
GOOGLE_OAUTH_CLIENT_SECRET = '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'
|
||||
GOOGLE_OAUTH_REDIRECT_URI = 'http://localhost/client_changes/nhance/oauth2callback'
|
||||
GOOGLE_OAUTH_SCOPES = "https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/userinfo.profile"
|
||||
unlayer.projectID =
|
||||
email.enquiryMail =
|
||||
|
||||
database.postDB.hostname =
|
||||
database.postDB.database =
|
||||
database.postDB.username =
|
||||
database.postDB.password =
|
||||
database.postDB.DBDriver =
|
||||
database.postDB.DBPrefix =
|
||||
database.postDB.port =
|
||||
|
||||
App_Url = https://venbait.in/nhance/app/dev/
|
||||
POST_ENROLLMENT_APP_LINK = https://venbait.in/nhance/employee/dev/
|
||||
NHANCE_LOGO = https://venbait.in/nhance/dev/public/assets/images/Nhance_Favi.png
|
||||
POST_ENROLLMENT_BASEURL =
|
||||
|
||||
#SMS
|
||||
SMS_API_KEY =
|
||||
SMS_SENDER_ID =
|
||||
SMS_TEMPLATE_ID =
|
||||
SMS_SERVICE_NAME =
|
||||
SMS_APP_NAME =
|
||||
|
||||
# CORS Configuration
|
||||
CORS_ALLOWED_ORIGINS=
|
||||
CORS_ALLOW_CREDENTIALS=true
|
||||
CORS_ALLOWED_METHODS=GET,POST,PUT,PATCH,DELETE,OPTIONS
|
||||
CORS_ALLOWED_HEADERS=Content-Type,Authorization,X-Requested-With,Accept,Origin,App-Signature
|
||||
CORS_EXPOSE_HEADERS=X-Total-Count,X-Page-Count,X-RateLimit-Remaining
|
||||
CORS_MAX_AGE=7200
|
||||
CORS_DEBUG=true
|
||||
|
||||
APP_SIGNATURE =
|
||||
|
||||
@ -519,6 +519,7 @@ $routes->cli('cli/sendZeptoMail', 'MasterController::testZeptoSMTP');
|
||||
$routes->cli('cli/check_bounce_mail_cli', 'MasterController::testCheckBounceMails');
|
||||
$routes->cli('cli/app_check_list', 'MasterController::appCheckList');
|
||||
$routes->cli('cli/new_gdrive_token', 'GoogleDriveController::generateNewGoogleDriveAccessToken');
|
||||
$routes->cli('cli/check_env', 'MasterController::checkEnv');
|
||||
|
||||
//crone job
|
||||
$routes->cli('cli/enrollOpendAndClose', 'DashboardController::updatePolicyEnrollmentStatus');
|
||||
|
||||
@ -41,6 +41,7 @@ use App\Models\RTOModel;
|
||||
use App\Models\PartnerPosModel;
|
||||
|
||||
use CodeIgniter\CLI\CLI;
|
||||
use CodeIgniter\CLI\BaseCommand;
|
||||
|
||||
class MasterController extends AdminController
|
||||
{
|
||||
@ -1950,6 +1951,7 @@ class MasterController extends AdminController
|
||||
$this->checkGoogleOAuthCredentialsinDB();
|
||||
$this->getCronJobsList();
|
||||
$this->checkGdriveRootFolderID();
|
||||
$this->checkEnv();
|
||||
}
|
||||
|
||||
public function checkAndCreateDirectories()
|
||||
@ -2075,6 +2077,80 @@ class MasterController extends AdminController
|
||||
dd($result);
|
||||
}
|
||||
|
||||
|
||||
public function checkEnv()
|
||||
{
|
||||
$root = ROOTPATH;
|
||||
|
||||
$sample_file_name = '.env.sample';
|
||||
$sample_file_path = $root . $sample_file_name;
|
||||
|
||||
$envFile = $root . '.env';
|
||||
// echo ($exampleFile);//die();
|
||||
if (!file_exists($sample_file_path)) {
|
||||
echo ("$sample_file_path file not found");
|
||||
exit();
|
||||
}
|
||||
|
||||
if (!file_exists($envFile)) {
|
||||
echo('.env file not found');
|
||||
exit();
|
||||
}
|
||||
|
||||
$example = $this->parseEnv($sample_file_path);
|
||||
$actual = $this->parseEnv($envFile);
|
||||
|
||||
$missing = array_diff_key($example, $actual);
|
||||
$extra = array_diff_key($actual, $example);
|
||||
|
||||
CLI::write("#################### CHECKING ENV ##############################\n");
|
||||
if ($extra) {
|
||||
CLI::write('⚠️ Extra ENV keys (not in .env.example)', 'yellow');
|
||||
foreach (array_keys($extra) as $key) {
|
||||
CLI::write(" - $key", 'yellow');
|
||||
}
|
||||
}
|
||||
|
||||
CLI::newLine();
|
||||
if ($missing) {
|
||||
CLI::error('❌ Missing ENV keys');
|
||||
foreach (array_keys($missing) as $key) {
|
||||
CLI::write(" - $key", 'red');
|
||||
}
|
||||
}
|
||||
|
||||
CLI::newLine();
|
||||
if (!$missing && !$extra) {
|
||||
CLI::write('✅ ENV configuration is clean', 'green');
|
||||
return CLI::EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
CLI::write("#################### END OF CHECKING ENV ############################\n");
|
||||
|
||||
|
||||
}
|
||||
|
||||
private function parseEnv(string $file): array
|
||||
{
|
||||
$lines = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
|
||||
$env = [];
|
||||
|
||||
foreach ($lines as $line) {
|
||||
$line = trim($line);
|
||||
|
||||
if ($line === '' || str_starts_with($line, '#')) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (strpos($line, '=') !== false) {
|
||||
[$key] = explode('=', $line, 2);
|
||||
$env[trim($key)] = true;
|
||||
}
|
||||
}
|
||||
|
||||
return $env;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------
|
||||
|
||||
public function nhanceBranchMaster()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user