Sluggo-Issue-Tracker / Sluggo-API

Sluggo, a flexible issue tracker for teams. Backend server developed with Django and Django REST Framework
Apache License 2.0
7 stars 1 forks source link

Remote DB config through environment variables #77

Closed wtpisaac closed 2 years ago

wtpisaac commented 2 years ago

Added a method to extract database config from environment variables, in get_database_configuration.py. This method will forward config to Django as if it were in the settings.py file.

Unsure if Django handles None vs. undefined in the configuration, so the method doesn't directly forward from environment variable fetch. Not fully sure if this is necessary.

Otherwise, added some info in the README about how to configure the environment variables, so the remote DB functionality is documented.

agavgavi commented 2 years ago

You mention adding documentation in the readme but I don't see any changes in this PR to that.

wtpisaac commented 2 years ago

You mention adding documentation in the readme but I don't see any changes in this PR to that.

forgot to push, fixed

tdimhcsleumas commented 2 years ago

I think you've selected the incorrect package for pycopg. When I tried to install it, it fails with the following error:

    ERROR: Command errored out with exit status 1:
     command: /home/sam/dev/Sluggo-API/env/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-lzsoyhcz/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-lzsoyhcz/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-lzsoyhcz/psycopg2/pip-egg-info
         cwd: /tmp/pip-install-lzsoyhcz/psycopg2/
    Complete output (23 lines):
    running egg_info
    creating /tmp/pip-install-lzsoyhcz/psycopg2/pip-egg-info/psycopg2.egg-info
    writing /tmp/pip-install-lzsoyhcz/psycopg2/pip-egg-info/psycopg2.egg-info/PKG-INFO
    writing dependency_links to /tmp/pip-install-lzsoyhcz/psycopg2/pip-egg-info/psycopg2.egg-info/dependency_links.txt
    writing top-level names to /tmp/pip-install-lzsoyhcz/psycopg2/pip-egg-info/psycopg2.egg-info/top_level.txt
    writing manifest file '/tmp/pip-install-lzsoyhcz/psycopg2/pip-egg-info/psycopg2.egg-info/SOURCES.txt'

    Error: pg_config executable not found.

    pg_config is required to build psycopg2 from source.  Please add the directory
    containing pg_config to the $PATH or specify the full executable path with the
    option:

        python setup.py build_ext --pg-config /path/to/pg_config build ...

    or with the pg_config option in 'setup.cfg'.

    If you prefer to avoid building psycopg2 from source, please install the PyPI
    'psycopg2-binary' package instead.

    For further information please check the 'doc/src/install.rst' file (also at
    <https://www.psycopg.org/docs/install.html>).

    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

The pycopg team recommends us use pycopg-binary instead, so I'll push a change to requriements.txt once I finish testing.

tdimhcsleumas commented 2 years ago

Additionally, it looks like PASS should be PASSWORD instead. Pushing a fix