refactor config
This commit is contained in:
parent
37f75954be
commit
2461ea6145
24
.env.example
24
.env.example
|
@ -1,39 +1,53 @@
|
|||
# Server url
|
||||
URL=http://sl-server:7777
|
||||
|
||||
# Enable sentry
|
||||
ENABLE_SENTRY=true
|
||||
|
||||
# Email related settings
|
||||
# Only print email content, not sending it
|
||||
NOT_SEND_EMAIL=true
|
||||
EMAIL_DOMAIN=sl.local
|
||||
SUPPORT_EMAIL=support@sl.local
|
||||
SENDGRID_API_KEY=to_fill
|
||||
# Max number emails user can generate for free plan
|
||||
MAX_NB_EMAIL_FREE_PLAN=3
|
||||
|
||||
# Database
|
||||
RESET_DB=true
|
||||
DB_URI=sqlite:///db.sqlite
|
||||
|
||||
# Flask
|
||||
FLASK_SECRET=secret
|
||||
|
||||
ENV=local
|
||||
|
||||
# AWS
|
||||
BUCKET=to_fill
|
||||
AWS_ACCESS_KEY_ID=to_fill
|
||||
AWS_SECRET_ACCESS_KEY=to_fill
|
||||
|
||||
# Cloudwatch
|
||||
ENABLE_CLOUDWATCH=true
|
||||
CLOUDWATCH_LOG_GROUP=local
|
||||
CLOUDWATCH_LOG_STREAM=local
|
||||
|
||||
|
||||
# Stripe
|
||||
STRIPE_YEARLY_PLAN=to_fill
|
||||
STRIPE_MONTHLY_PLAN=to_fill
|
||||
STRIPE_API=to_fill
|
||||
STRIPE_SECRET_KEY=to_fill
|
||||
|
||||
MAX_NB_EMAIL_FREE_PLAN=3
|
||||
|
||||
# Lyra analytics
|
||||
LYRA_ANALYTICS_ID=to_fill
|
||||
|
||||
# OpenId key
|
||||
OPENID_PRIVATE_KEY_PATH=local_data/jwtRS256.key
|
||||
OPENID_PUBLIC_KEY_PATH=local_data/jwtRS256.key.pub
|
||||
|
||||
# Words to generate random email alias
|
||||
WORDS_FILE_PATH=local_data/words.txt
|
||||
|
||||
# Github: make sure to set correctly the redirect url to /auth/github/callback
|
||||
# Github
|
||||
GITHUB_CLIENT_ID=to_fill
|
||||
GITHUB_CLIENT_SECRET=to_fill
|
||||
|
||||
|
|
|
@ -23,23 +23,38 @@ if config_file:
|
|||
else:
|
||||
load_dotenv()
|
||||
|
||||
# Constants
|
||||
PARTNER_CODES = ["SL2019"]
|
||||
|
||||
# Allow user to have 1 year of premium: set the expiration_date to 1 year more
|
||||
PROMO_CODE = "SIMPLEISBETTER"
|
||||
|
||||
|
||||
# Server url
|
||||
URL = os.environ["URL"]
|
||||
print("URL:", URL)
|
||||
|
||||
# Whether sentry is enabled
|
||||
ENABLE_SENTRY = "ENABLE_SENTRY" in os.environ
|
||||
|
||||
# Email related settings
|
||||
NOT_SEND_EMAIL = "NOT_SEND_EMAIL" in os.environ
|
||||
EMAIL_DOMAIN = os.environ["EMAIL_DOMAIN"]
|
||||
SUPPORT_EMAIL = os.environ["SUPPORT_EMAIL"]
|
||||
SENDGRID_API_KEY = os.environ["SENDGRID_API_KEY"]
|
||||
MAX_NB_EMAIL_FREE_PLAN = int(os.environ["MAX_NB_EMAIL_FREE_PLAN"])
|
||||
|
||||
|
||||
# Database
|
||||
RESET_DB = "RESET_DB" in os.environ
|
||||
DB_URI = os.environ["DB_URI"]
|
||||
|
||||
# Flask secret
|
||||
FLASK_SECRET = os.environ["FLASK_SECRET"]
|
||||
|
||||
# invalidate the session at each new version by changing the secret
|
||||
FLASK_SECRET = FLASK_SECRET + SHA1
|
||||
|
||||
ENABLE_SENTRY = "ENABLE_SENTRY" in os.environ
|
||||
ENV = os.environ["ENV"]
|
||||
|
||||
# AWS
|
||||
AWS_REGION = "eu-west-3"
|
||||
BUCKET = os.environ["BUCKET"]
|
||||
AWS_ACCESS_KEY_ID = os.environ["AWS_ACCESS_KEY_ID"]
|
||||
|
@ -49,27 +64,24 @@ ENABLE_CLOUDWATCH = "ENABLE_CLOUDWATCH" in os.environ
|
|||
CLOUDWATCH_LOG_GROUP = os.environ["CLOUDWATCH_LOG_GROUP"]
|
||||
CLOUDWATCH_LOG_STREAM = os.environ["CLOUDWATCH_LOG_STREAM"]
|
||||
|
||||
# Stripe
|
||||
STRIPE_API = os.environ["STRIPE_API"] # Stripe public key
|
||||
STRIPE_SECRET_KEY = os.environ["STRIPE_SECRET_KEY"]
|
||||
STRIPE_YEARLY_PLAN = os.environ["STRIPE_YEARLY_PLAN"]
|
||||
STRIPE_MONTHLY_PLAN = os.environ["STRIPE_MONTHLY_PLAN"]
|
||||
|
||||
# Max number emails user can generate for free plan
|
||||
MAX_NB_EMAIL_FREE_PLAN = int(os.environ["MAX_NB_EMAIL_FREE_PLAN"])
|
||||
|
||||
# Analytics
|
||||
LYRA_ANALYTICS_ID = os.environ["LYRA_ANALYTICS_ID"]
|
||||
|
||||
# Used to sign id_token
|
||||
# OpenID keys, used to sign id_token
|
||||
OPENID_PRIVATE_KEY_PATH = get_abs_path(os.environ["OPENID_PRIVATE_KEY_PATH"])
|
||||
OPENID_PUBLIC_KEY_PATH = get_abs_path(os.environ["OPENID_PUBLIC_KEY_PATH"])
|
||||
|
||||
PARTNER_CODES = ["SL2019"]
|
||||
|
||||
# Allow user to have 1 year of premium: set the expiration_date to 1 year more
|
||||
PROMO_CODE = "SIMPLEISBETTER"
|
||||
|
||||
# Used to generate random email
|
||||
WORDS_FILE_PATH = get_abs_path(os.environ["WORDS_FILE_PATH"])
|
||||
|
||||
|
||||
# Github, Google, Facebook client id and secrets
|
||||
GITHUB_CLIENT_ID = os.environ["GITHUB_CLIENT_ID"]
|
||||
GITHUB_CLIENT_SECRET = os.environ["GITHUB_CLIENT_SECRET"]
|
||||
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
from sendgrid import SendGridAPIClient
|
||||
from sendgrid.helpers.mail import Mail
|
||||
|
||||
from app.config import SUPPORT_EMAIL, SENDGRID_API_KEY, ENV
|
||||
from app.config import SUPPORT_EMAIL, SENDGRID_API_KEY, NOT_SEND_EMAIL
|
||||
from app.log import LOG
|
||||
|
||||
|
||||
def send(to_email, subject, html_content, plain_content=None):
|
||||
# On local only print out email content
|
||||
if ENV == "local":
|
||||
if NOT_SEND_EMAIL:
|
||||
LOG.d(
|
||||
"send mail to %s, subject:%s, content:%s", to_email, subject, html_content
|
||||
)
|
||||
|
|
|
@ -17,11 +17,11 @@ from app.config import (
|
|||
DB_URI,
|
||||
FLASK_SECRET,
|
||||
ENABLE_SENTRY,
|
||||
ENV,
|
||||
URL,
|
||||
SHA1,
|
||||
LYRA_ANALYTICS_ID,
|
||||
STRIPE_SECRET_KEY,
|
||||
RESET_DB,
|
||||
)
|
||||
from app.dashboard.base import dashboard_bp
|
||||
from app.developer.base import developer_bp
|
||||
|
@ -269,7 +269,7 @@ if __name__ == "__main__":
|
|||
# enable to print all queries generated by sqlalchemy
|
||||
# app.config["SQLALCHEMY_ECHO"] = True
|
||||
|
||||
if ENV == "local":
|
||||
if RESET_DB:
|
||||
LOG.d("reset db, add fake data")
|
||||
with app.app_context():
|
||||
fake_data()
|
||||
|
|
Loading…
Reference in New Issue