Skip to content
Snippets Groups Projects
Commit a63645d4 authored by Bryan BRANCOTTE's avatar Bryan BRANCOTTE
Browse files

for dev purpose, ability to use dockerized pg instance running

parent 4c19f646
No related branches found
No related tags found
2 merge requests!45Async near cavities,!43K8S deployments of release branche, and other updates
import os
import subprocess
def get_db_ip():
result = subprocess.run(
[
"docker",
"ps",
"-f",
"name=%s" % get_guessed_container_name(),
"-q",
],
stdout=subprocess.PIPE,
)
ids = result.stdout.decode("utf-8").strip().split("\n")
if len(ids) > 1:
raise Exception("Can't find the DB, too much match")
if len(ids) == 0 or len(ids[0]) == 0:
result = subprocess.run(
[
"docker",
"ps",
"-f",
"name=_db",
"-q",
],
stdout=subprocess.PIPE,
)
ids = result.stdout.decode("utf-8").strip().split("\n")
if len(ids) > 1:
raise Exception(
"Can't find the DB, couldn't guess container name (tried '%s'), "
"and too much match with '_db'" % get_guessed_container_name()
)
if len(ids) == 0 or len(ids[0]) == 0:
raise Exception("Can't find the DB")
result = subprocess.run(
[
"docker",
"inspect",
"-f",
"'{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'",
ids[0],
],
stdout=subprocess.PIPE,
)
return result.stdout.decode("utf-8").strip().replace("'", "")
def get_guessed_container_name():
return (
str(os.path.dirname(__file__).split(os.path.sep)[-2]).lower().replace("-", "")
+ "_db"
)
if __name__ == "__main__":
print(get_db_ip())
...@@ -17,6 +17,8 @@ from decouple import config ...@@ -17,6 +17,8 @@ from decouple import config
from django.utils.translation import gettext_lazy from django.utils.translation import gettext_lazy
from socket import gethostname, gethostbyname from socket import gethostname, gethostbyname
from ippisite import db_finder
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PERSISTENT_DIR = os.path.join(BASE_DIR, 'persistent') PERSISTENT_DIR = os.path.join(BASE_DIR, 'persistent')
...@@ -122,13 +124,16 @@ if config("USE_SQLITE_AS_DB", default="False").upper() == "TRUE": ...@@ -122,13 +124,16 @@ if config("USE_SQLITE_AS_DB", default="False").upper() == "TRUE":
} }
} }
else: else:
POSTGRES_HOST = config("POSTGRES_HOST", '')
if not POSTGRES_HOST:
POSTGRES_HOST = db_finder.get_db_ip()
DATABASES = { DATABASES = {
"default": { "default": {
"ENGINE": "django.db.backends.postgresql", "ENGINE": "django.db.backends.postgresql",
"NAME": config("POSTGRES_DB"), "NAME": config("POSTGRES_DB"),
"USER": config("POSTGRES_USER"), "USER": config("POSTGRES_USER"),
"PASSWORD": config("POSTGRES_PASSWORD"), "PASSWORD": config("POSTGRES_PASSWORD"),
"HOST": config("POSTGRES_HOST"), "HOST": POSTGRES_HOST,
"PORT": 5432, "PORT": 5432,
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment