azure.yaml (80 lines of code) (raw):
# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json
name: azure-gpt-rag
metadata:
template: azure-gpt-rag
services:
dataIngest:
# project is temporally pulled fro its repo during deployment.
project: ./.azure/gpt-rag-ingestion
language: python
host: function
hooks:
postdeploy:
posix:
# this path is relative to ./.azure/gpt-rag-ingestion
run: scripts/postdeploy.sh
interactive: true
windows:
# this path is relative to ./.azure/gpt-rag-ingestion
run: scripts/postdeploy.ps1
interactive: true
orchestrator:
project: ./.azure/gpt-rag-orchestrator
language: python
host: function
frontend:
# backend is python and frontend is Vite app. The frontend is built with Vite settings to output into the backend's static folder.
project: ./.azure/gpt-rag-frontend/backend
language: python
host: appservice
hooks:
prepackage:
windows:
shell: pwsh
run: cd ../frontend;npm install;npm run build
interactive: true
continueOnError: false
posix:
shell: sh
run: cd ../frontend;npm install;npm run build
interactive: true
continueOnError: false
hooks:
prepackage:
posix:
run: scripts/fetchComponents.sh
interactive: false
windows:
run: scripts/fetchComponents.ps1
interactive: false
preprovision:
posix:
shell: sh
run: scripts/preprovision.sh
interactive: true
windows:
shell: pwsh
run: scripts/preprovision.ps1
interactive: true
postprovision:
posix:
shell: sh
run: scripts/postprovision.sh
interactive: true
windows:
shell: pwsh
run: scripts/postprovision.ps1
interactive: true
# Components are pulled from their own repo for deployment but are not persisted to this repo.
predeploy:
posix:
shell: sh
run: scripts/preDeploy.sh; scripts/fetchComponents.sh
interactive: true
windows:
shell: pwsh
run: scripts/preDeploy.ps1; scripts/fetchComponents.ps1
interactive: true
postdeploy:
posix:
shell: sh
run: scripts/cleanComponents.sh
interactive: false
windows:
shell: pwsh
run: scripts/cleanComponents.ps1
interactive: false