Hey Daniel,
I'll try explain my scenario a bit more.
We have an application that we install as a windows service, the application collects system performance data and writes it back to a database.
Currently:
We store our configurations in a windows share. When the service is installed, we provide it with a UNC path to check for its configuration files. If we need to make any changes, we edit the config on the central share, our service will restart every 2 minutes and reload its configuration.
1) Service starts
2) Service connects to \\servername\share\config and finds “config.conf”
3) A back up of this config is stored locally to the machine.
4) Service will restart, loading any configuration changes.
5) If the config is valid, start the service – Else, load the config back up.
This works for us, but means additional steps during deployment. We need to create the windows share and a DNS record for the share which is something we don’t always have control of and leaves us waiting for third party teams to make changes for us.
Ideally:
The database server where this data is sent also has a small web application we use to manage the database and certain aspects of the configuration.
Our plan is to host the config and update files (which I’ve tested separately and work fantastic)
http://myapplication/config
http://myapplication/updates
The process would then become
1) Begin the installation process
2) During the installation, the installer downloads the specified config files
3) This config is saved into the application data folder (C: \ProgramData\Application\Config) and a backup is created. I create a variable CONFIG_PATH which points to C: \ProgramData\Application\Config
4) The service is installed and I can then give its configuration flag
-config [CONFIG_PATH]config.conf
At this point I know I can achieve what I want regarding storing and accessing the configurations. Our next concern is securing this directory. There is a minimal chance anyone would try to browse this directory, but we would like to secure it using http authentication.
I read through an article in your documentation, but this was based around connecting to an IIS server. We’re using a Linux server to manage our database and run our web application using nginx.
My main query is whether the installer can be configured to work with http authentication when contacting a non IIS server or whether it will only work when connecting to an IIS server.
If not then we’ll need to think of another way to handle authentication.
Thanks,
Phil