In order to make the best use of our CI process, we would like to build API Proxy artifacts (zip files) that are _consistent_ across the environments (dev, test, prod). i.e. Build once, deploy to multiple environments. So rather than have build-time replacement of xml elements in the API proxy files, we would just follow a best-practice of ensuring that *all* environment-specific configuration is stored in either Target Server, KVM, or Vault. Does this sound like a reasonable approach?
This is what we have done for all of our java artifacts (jars, wars, ears, etc.) in the past and it has worked well.
YES - totally reasonable approach. And a good practice to follow.
If you do this, you also need separate artifacts or data files for the TargetServers, KVMs, and Vault, and all those things need to be provisioned or checked at the time you import + deploy the proxies into dev, test, prod.
At the moment there is no way to "bulk export" those settings from an environment, so that you could check it into a source code repo. And there is no corresponding "bulk import". But it should be straightforward to provision all of those using the documented Administrative APIs for Apigee Edge.
A couple of things to consider
Hello all, I wanted to add an important note: encrypted KVMs are here. Details are in our documentation: http://docs.apigee.com/api-services/reference/key-value-map-operations-policy . You now have an option for encrypted data without having to use Node.js.
User | Count |
---|---|
3 | |
2 | |
1 | |
1 | |
1 |