Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Azure Functions deployment with In-Vitro #569

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

cavinkavi
Copy link

Summary

A small summary of the requirements (in one/two sentences).

To integrate Azure Functions deployment with In-Vitro. This feature enables deployment of serverless functions on the Azure Functions platform.

Implementation Notes ⚒️

  • Briefly outline the overall technical solution. If necessary, identify talking points where the reviewer's attention should be drawn to.

This PR adds a workflow to deploy multiple functions to Azure Functions via ZIP deployment.

Create an Azure Service Principal: az ad sp create-for-rbac --name "InVitro" --role Contributor --scopes /subscriptions/<your-subscription-id>

Login with Service Principal credentials: az login --service-principal --username <appId> --password <password> --tenant <tenant-id>

To start deployment: go run cmd/loader.go --config cmd/config_azure_trace.json

  • azurefunctions_setup: this folder contains the relevant config and workload files to be used for deployment.
  • azure_functions.go: initializes Azure resources required for deployment to Azure Functions, such as Resource Group, Storage Account, and Function App. In order to deploy multiple functions via ZIP, each function must have its own specific folder containing required dependencies, before zipping and deploying all the function folders as a single package. After successful deployment, local temporary folders holding the functions and the zip package are cleaned up.
    (Note: Azure resource cleanup (e.g., Resource Group) must be performed manually in the Azure Portal for now. This will be addressed in future PRs focused on invocation logic. All cleanup, including local temporary folders, will be done after entire experiment is completed.)

External Dependencies 🍀

  • gopkg.in/yaml.v2 for reading Azure configuration files.
  • Azure CLI for managing Azure resources and deployment.

Breaking API Changes ⚠️

  • N/A

Simply specify none (N/A) if not applicable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant