Metadata-Version: 1.1
Name: db-facts
Version: 3.0.1
Summary: Database connection configuration manager
Home-page: UNKNOWN
Author: Vince Broz
Author-email: opensource@bluelabs.com
License: Apache Software License
Download-URL: https://github.com/bluelabsio/db-facts/tarball/3.0.1
Description: # db-facts
        
        db-facts translates from user-familiar database coordinates (e.g.,
        "redshift", "corppostgres dbadmin", "productoracle impl juser") into
        detailed instructions on how to access the database in question,
        providing configuration and templating mechnisms to wrap any
        credential management tools involved in providing those details and
        credentials.
        
        Example:
        
        ```sh
        $ db-facts sh redshift
        export CONNECTION_TYPE
        CONNECTION_TYPE=direct
        export LASTPASS_SHARE_NAME_SUFFIX
        LASTPASS_SHARE_NAME_SUFFIX='blue labs redshift'
        export DB_PASSWORD
        DB_PASSWORD='hunter2'
        DB_HOST=whatevs.whatevs.us-east-1.redshift.amazonaws.com
        export DB_HOST
        export DB_DATABASE
        DB_DATABASE=analytics
        export DB_USERNAME
        DB_USERNAME=vbroz
        export DB_PORT
        DB_PORT=5439
        export DB_TYPE
        DB_TYPE=redshift
        export DB_PROTOCOL
        DB_PROTOCOL=postgres
        ```
        
        To do this, it relies on a config file ("dbcli.yml") which teaches it
        how to parse the user-friendly coordinates.  Much of the heavy lifting
        in the parsing part is done
        by
        [jinja_context.py](https://github.com/bluelabsio/db-facts/blob/master/db_facts/jinja_context.py),
        which sets some variables and functions that can be used in jinja
        templates within the config file.
        
        This is part of the suite of programs which allow a user to type in
        things like `db redshift` and connect via their own credentials to the
        configured database named 'redshift'.  Other parts of this chain can
        be found in the [ws-scripts](https://github.com/bluelabsio/ws-scripts)
        repo.
        
        If you need to set the instructions immediately to your environment
        variables, you can do this with the command:
        ```sh
        eval $(db-facts redshift)
        ```
        
        ## Configuration
        
        You can configure `db-facts` to connect to your databases.  See
        [CONFIGURATION.md](./CONFIGURATION.md) for details.
        
        ## Extensions
        
        You can extend `db-facts` to pull configuration from other systems.
        See [EXTENSIONS.md](./EXTENSIONS.md) for details.
        
        ## Library
        
        To use as a library:
        
        ```sh
        $ python
        Python 3.5.2 (default, Sep 12 2016, 09:31:17)
        [GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
        Type "help", "copyright", "credits" or "license" for more information.
        >>> import bluelabs_db_facts
        >>> db_facts.db(['redshift'])
        {'protocol': 'postgres', 'lastpass_share_name_suffix': 'blue labs redshift', 'host': 'bl-int-analytics1.cxtyzogmmhiv.us-east-1.redshift.amazonaws.com', 'connection_type': 'direct', 'user': 'vbroz', 'database': 'analytics', 'password': 'hunter1', 'port': 5439, 'type': 'redshift'}
        >>>
        ```
        
        ## Development
        
        See [DEVELOPMENT.md](./DEVELOPMENT.md)
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Database :: Front-Ends
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
