-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsettings.py
87 lines (69 loc) · 2.76 KB
/
settings.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import os
import sys
from dotenv import load_dotenv
from env_tools import env_to_bool
from canvas_sdk.utils.db import get_database_dict_from_url
load_dotenv()
ENV = os.getenv("ENV", "development")
IS_PRODUCTION = ENV == "production"
IS_TESTING = env_to_bool("IS_TESTING", "pytest" in sys.argv[0] or sys.argv[0] == "-c")
CUSTOMER_IDENTIFIER = os.getenv("CUSTOMER_IDENTIFIER", "local")
APP_NAME = os.getenv("APP_NAME")
INTEGRATION_TEST_URL = os.getenv("INTEGRATION_TEST_URL")
INTEGRATION_TEST_CLIENT_ID = os.getenv("INTEGRATION_TEST_CLIENT_ID")
INTEGRATION_TEST_CLIENT_SECRET = os.getenv("INTEGRATION_TEST_CLIENT_SECRET")
GRAPHQL_ENDPOINT = os.getenv("GRAPHQL_ENDPOINT", "http://localhost:8000/plugins-graphql")
REDIS_ENDPOINT = os.getenv("REDIS_ENDPOINT", f"redis://{APP_NAME}-redis:6379")
INSTALLED_APPS = [
"canvas_sdk.v1",
]
SECRET_KEY = os.getenv(
"SECRET_KEY",
"This value is the key to securing signed data – it is vital you keep this secure, or attackers could use it to generate their own signed values.",
)
# Use BigAutoField for Default Primary Key field type
DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
CANVAS_SDK_DB_NAME = os.getenv("CANVAS_SDK_DB_NAME", "home-app")
CANVAS_SDK_DB_USERNAME = os.getenv("CANVAS_SDK_DB_USERNAME", "app")
CANVAS_SDK_DB_PASSWORD = os.getenv("CANVAS_SDK_DB_PASSWORD", "app")
CANVAS_SDK_DB_HOST = os.getenv("CANVAS_SDK_DB_HOST", "home-app-db")
CANVAS_SDK_DB_PORT = os.getenv("CANVAS_SDK_DB_PORT", "5432")
if os.getenv("DATABASE_URL"):
database_dict = get_database_dict_from_url()
else:
database_dict = {
"ENGINE": "django.db.backends.postgresql",
"NAME": CANVAS_SDK_DB_NAME,
"USER": CANVAS_SDK_DB_USERNAME,
"PASSWORD": CANVAS_SDK_DB_PASSWORD,
"HOST": CANVAS_SDK_DB_HOST,
"PORT": CANVAS_SDK_DB_PORT,
}
DATABASES = {"default": database_dict}
AWS_ACCESS_KEY_ID = os.getenv("AWS_ACCESS_KEY_ID", "")
AWS_SECRET_ACCESS_KEY = os.getenv("AWS_SECRET_ACCESS_KEY", "")
AWS_REGION = os.getenv("AWS_REGION", "us-west-2")
MEDIA_S3_BUCKET_NAME = os.getenv("MEDIA_S3_BUCKET_NAME", "canvas-client-media")
PLUGIN_RUNNER_SIGNING_KEY = os.getenv("PLUGIN_RUNNER_SIGNING_KEY", "")
PLUGIN_DIRECTORY = os.getenv(
"PLUGIN_DIRECTORY",
(
"/plugin-runner/custom-plugins"
if IS_PRODUCTION
else "./plugin_runner/tests/data/plugins"
if IS_TESTING
else "./custom-plugins"
),
)
PLUGINS_PUBSUB_CHANNEL = os.getenv("PLUGINS_PUBSUB_CHANNEL", default="plugins")
CHANNEL_NAME = f"{CUSTOMER_IDENTIFIER}:{PLUGINS_PUBSUB_CHANNEL}"
MANIFEST_FILE_NAME = "CANVAS_MANIFEST.json"
SECRETS_FILE_NAME = "SECRETS.json"
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [],
"APP_DIRS": False,
"OPTIONS": {},
},
]