I am working on an internal package that will act as a front end to different databases and return data in a structured tidy format. The databases are all accessed via DSN but still require the username and password for odbc::dbConnect() to work. The usernames have read-only privileges on the databases
The package will be hosted on a private CRAN mirror behind my corporations firewall. My question is what is the best way to store the credentials of the database in a secure way in the package.
To make things more interesting, this will also likely be used on a Connect server, which may make a few of the options given here a little more difficult.
I have read through the linked article several times and spent a lot of time thinking about how these options could potentially be applied for a private package, but can't seem to come up with any solutions, other than having to manually create keyrings on each users computer every time a new user wants to use the package. This seems pretty inefficient in my mind. I also am not sure how that would work with Connect since it uses packrat to bundle all of the packages used.
Does anyone have any suggestions?