OpenNyAI / Jugalbandi-Manager

Jugalbandi (JB) Manager is a full AI-powered conversational chatbot platform. It's platform agnostic and can serve multiple channels such as WhatsApp or custom web interfaces. It can handle conversations in both text and voice across any language. It comes with Bhashini Speech models out of the box and can failover to Azure.
https://opennyai.github.io/Jugalbandi-Manager/
Apache License 2.0
15 stars 12 forks source link

[Feature Request]: ARM (Azure) template deployment #71

Open sameersegal opened 3 weeks ago

sameersegal commented 3 weeks ago

Is your feature request related to a problem? Please describe.

We need an ARM template-based deployment that works as easily as the following:

$ az login
$ az account set --subscription <Subscription ID>
$ az group create --name MyResourceGroup --location eastus
$ az deployment group create --resource-group MyResourceGroup --template-file template.json --parameters parameters.json

Describe the solution you'd like

We can leverage the public images for the containers. e.g. opennyaiin/jugalbandi-manager:api-latest We need to run an SQL script for DB upgrade / initialization. We assume Azure OpenAI is configured before and we have the relevant keys. Similarly Bhashini keys are inputed

Refer to this ChatGPT conversation: https://chatgpt.com/share/c960b010-2ad8-48f4-b0df-5301c78922a9

Later: We need to use AKS (kubernetes) for deployment We need to use Managed Identity (as per latest guidelines) instead of using Storage Account / EventHubs keys

Additional context

No response

sameersegal commented 2 weeks ago
sameersegal commented 2 weeks ago

Discussion with Azure folks:

We are creating a Solution Template since we are not interested in charging. It's a give away without retaining any rights as the publisher.

Refer to this example: https://github.com/Azure/Commercial-Marketplace-SaaS-Accelerator-Offer

Please note that if you need to execute scripts that also run AZ CLI, you probably will have to create a user-assigned managed identity and assign role assignments on the resources/resource group so that it has sufficient access to run the commands

The solution template linked above also imports a schema so that would also help I believe

Once you have ARM templates ready, use ARM TTK (toolkit) to validate

And then publish and test in your own subscription using a Service Catalog:

https://learn.microsoft.com/en-us/azure/azure-resource-manager/managed-applications/publish-service-catalog-app?tabs=azure-powershell