FoxIDs icon indicating copy to clipboard operation
FoxIDs copied to clipboard

Alternative deployment methods and persistance backends

Open bjornharrtell opened this issue 3 years ago • 6 comments

It would be nice if it was possible to optionally supply an existing app service plan to use. Rationale is when you have many small environments that already share app service plan(s) and you want to avoid introducing a new app service plan for each of these environments when integrating FoxID into them.

TODO

  • [ ] Alternative deployment menthods (via devops or github pipeline? target k8s infrastructure?=
  • [ ] Pluggable database backend + PostgreSQL as alt
  • [ ] https://github.com/ITfoxtec/FoxIDs/issues/742

bjornharrtell avatar Nov 07 '22 23:11 bjornharrtell

I understand your case. I think of FoxIDs as a cloud solution with tenants. Where the different environments can be configured in different tracks in one tennat. Alternatively, different tenants can segment the environments. Testing new versions of FoxIDs and updating can be handled in slots. On FoxIDs I have a test, QA and production slot. The different slots can be configured to use different instances of Document DB, Key Vault and Redis.

Revsgaard avatar Nov 08 '22 20:11 Revsgaard

I agree slots seems like a good idea when you require minimal downtime.

But "cloud solution" can mean many things. For example it could be desirable to run FoxID as a fully containerized solution on kubernetes cluster which solves concurrent/switchable deployments natively in another way.

bjornharrtell avatar Nov 09 '22 20:11 bjornharrtell

You are probably right about Kubernetes cluster, not something I have much knowledge about.

Revsgaard avatar Nov 09 '22 21:11 Revsgaard

No longer interesting to reuse app service plans. But it could be interesting to be able to run containerized in fx. Kubernetes. However that means need to find alternatives to CosmosDB and Azure Keyvault.

bjornharrtell avatar Nov 17 '22 10:11 bjornharrtell

It's possible to integrate cloud provided secrets using https://secrets-store-csi-driver.sigs.k8s.io/concepts.html#provider-for-the-secrets-store-csi-driver. For test/development purposes could rely on native built in (insecure) k8s secrets.

bjornharrtell avatar Nov 18 '22 15:11 bjornharrtell

A more or less direct replacement for CosmosDB is MongoDB. Could also use PostgreSQL (jsonb column).

bjornharrtell avatar Nov 18 '22 15:11 bjornharrtell