We just purchased a second Ignition license to do development work on without disturbing our production instance.
I know we can install a ‘backup’ of the production instance onto this development gateway to get a duplicate and work from there. But is there any way to create configurations for a gateway?
As in, if the configuration is development, point to these databases, and if it’s production, point to these?
Not really. A strategy that can work well is to set up local DNS, so that you can refer to any external dependencies (DB, network shares, etc) by a particular hostname. Then you just need to make sure the appropriate DNS entries are present in both environments, and can freely send backups back and forth.
This thread discusses approaches you might take in scripting if the environment you run in matters.
Thanks for the link to the thread discussing scripting & configuration. That will be useful.
The local DNS solution for our external connections isn’t ideal for us.
As far as gateway backups go, is there any way to export portions of a gateway (similar to how you can export pieces of a project)?
That way I can exclude DB connections from the backup restore.
@PGriffith What about using system.db.setDatasourceConnectURL in a gateway startup script? (using environment variables to determine connection URL)
No, not at present. A better strategy for ‘partial’ gateway backup and restore is something we’re considering, but no timelines.
Yes, that would certainly work. I’m not sure I would necessarily advise for or against it - it’s going to be somewhat tricky to unpack where it’s happening. Also, gateway startup scripts are scoped inside a project, so someone could disable a project and inadvertently cause you to work against the wrong DB.
Gotcha. I could certainly see it being lost in obscurity and then running into issues if someone doesn’t know what they are doing.
I’ll keep that in mind and see if we can have some process controls around that to make it more difficult.
Thanks for your help!
Its not clear if you are using a fully qualified domain name for your resources, but if you are then instead of a local DNS, how about a local Hosts file on just the Dev machines? The Hosts file would map the resources to the IPs of your test DBs, and because you don’t put it on your production machine then no re-mapping occurs there.