Add requirments file for azure

This commit is contained in:
Lorenz Padberg 2023-05-02 15:21:18 +02:00 committed by Daniel Egger
parent 4c45f54bab
commit b8d7cd0f2c
4 changed files with 246 additions and 0 deletions

21
env/azure/azure-infos.md vendored Normal file
View File

@ -0,0 +1,21 @@
# VBV installstion on Azure
## Prerequisites
- Azure subscription
- Azure CLI
## For this project we use the
vbv resource group.
[Azure app services tutorial](https://learn.microsoft.com/en-us/azure/app-service/media/tutorial-python-postgresql-app/python-postgresql-app-architecture-240px.png)
![](https://learn.microsoft.com/en-us/azure/app-service/media/tutorial-python-postgresql-app/python-postgresql-app-architecture-240px.png)
For the app we use azure app services, wiht a potgres database.
Deployment for django:
https://tonybaloney.github.io/posts/django-on-azure-beyond-hello-world.html
az webapp deployment user set --user-name <username> --password <password>

11
env/azure/commands.sh vendored Normal file
View File

@ -0,0 +1,11 @@
# create a webapp deploment user
# you can not run these command wiht the free tier subscription... at least developer tier is needed.
az webapp deployment user set --user-name iterativ_developer --password 1password
# Create plans for stage and prod
az appservice plan create --name stage --resource-group VBV --sku P1V2 --is-linux
az appservice plan create --name prod --resource-group VBV --sku P2V2 --is-linux
# create the two applications on Python 3.10, change
az webapp create --resource-group VBV --plan stage --name app-stage --runtime "PYTHON|3.10" --deployment-local-git
az webapp create --resource-group VBV --plan prod --name app-prod --runtime "PYTHON|3.10" --deployment-local-git

213
env/azure/vbv-prod.json vendored Normal file
View File

@ -0,0 +1,213 @@
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"sites_vbv_prod_name": {
"defaultValue": "vbv-prod",
"type": "String"
},
"serverfarms_prod_externalid": {
"defaultValue": "/subscriptions/b93dcf47-7d82-4af9-8dbc-3317650d0ad7/resourceGroups/VBV/providers/Microsoft.Web/serverfarms/prod",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Web/sites",
"apiVersion": "2022-09-01",
"name": "[parameters('sites_vbv_prod_name')]",
"location": "Switzerland North",
"kind": "app,linux",
"properties": {
"enabled": true,
"hostNameSslStates": [
{
"name": "[concat(parameters('sites_vbv_prod_name'), '.azurewebsites.net')]",
"sslState": "Disabled",
"hostType": "Standard"
},
{
"name": "[concat(parameters('sites_vbv_prod_name'), '.scm.azurewebsites.net')]",
"sslState": "Disabled",
"hostType": "Repository"
}
],
"serverFarmId": "[parameters('serverfarms_prod_externalid')]",
"reserved": true,
"isXenon": false,
"hyperV": false,
"vnetRouteAllEnabled": false,
"vnetImagePullEnabled": false,
"vnetContentShareEnabled": false,
"siteConfig": {
"numberOfWorkers": 1,
"linuxFxVersion": "PYTHON|3.10",
"acrUseManagedIdentityCreds": false,
"alwaysOn": true,
"http20Enabled": false,
"functionAppScaleLimit": 0,
"minimumElasticInstanceCount": 0
},
"scmSiteAlsoStopped": false,
"clientAffinityEnabled": false,
"clientCertEnabled": false,
"clientCertMode": "Required",
"hostNamesDisabled": false,
"customDomainVerificationId": "A2AB57353045150ADA4488FAA8AA9DFBBEDDD311934653F55243B336C2F3358E",
"containerSize": 0,
"dailyMemoryTimeQuota": 0,
"httpsOnly": true,
"redundancyMode": "None",
"publicNetworkAccess": "Enabled",
"storageAccountRequired": false,
"keyVaultReferenceIdentity": "SystemAssigned"
}
},
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('sites_vbv_prod_name'), '/ftp')]",
"location": "Switzerland North",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('sites_vbv_prod_name'))]"
],
"properties": {
"allow": false
}
},
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('sites_vbv_prod_name'), '/scm')]",
"location": "Switzerland North",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('sites_vbv_prod_name'))]"
],
"properties": {
"allow": false
}
},
{
"type": "Microsoft.Web/sites/config",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('sites_vbv_prod_name'), '/web')]",
"location": "Switzerland North",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('sites_vbv_prod_name'))]"
],
"properties": {
"numberOfWorkers": 1,
"defaultDocuments": [
"Default.htm",
"Default.html",
"Default.asp",
"index.htm",
"index.html",
"iisstart.htm",
"default.aspx",
"index.php",
"hostingstart.html"
],
"netFrameworkVersion": "v4.0",
"linuxFxVersion": "PYTHON|3.10",
"requestTracingEnabled": false,
"remoteDebuggingEnabled": false,
"remoteDebuggingVersion": "VS2019",
"httpLoggingEnabled": false,
"acrUseManagedIdentityCreds": false,
"logsDirectorySizeLimit": 35,
"detailedErrorLoggingEnabled": false,
"publishingUsername": "$vbv-prod",
"scmType": "BitbucketGit",
"use32BitWorkerProcess": true,
"webSocketsEnabled": false,
"alwaysOn": true,
"managedPipelineMode": "Integrated",
"virtualApplications": [
{
"virtualPath": "/",
"physicalPath": "site\\wwwroot",
"preloadEnabled": true
}
],
"loadBalancing": "LeastRequests",
"experiments": {
"rampUpRules": []
},
"autoHealEnabled": false,
"vnetRouteAllEnabled": false,
"vnetPrivatePortsCount": 0,
"publicNetworkAccess": "Enabled",
"localMySqlEnabled": false,
"ipSecurityRestrictions": [
{
"ipAddress": "Any",
"action": "Allow",
"priority": 2147483647,
"name": "Allow all",
"description": "Allow all access"
}
],
"scmIpSecurityRestrictions": [
{
"ipAddress": "Any",
"action": "Allow",
"priority": 2147483647,
"name": "Allow all",
"description": "Allow all access"
}
],
"scmIpSecurityRestrictionsUseMain": false,
"http20Enabled": false,
"minTlsVersion": "1.2",
"scmMinTlsVersion": "1.2",
"ftpsState": "Disabled",
"preWarmedInstanceCount": 0,
"elasticWebAppScaleLimit": 0,
"functionsRuntimeScaleMonitoringEnabled": false,
"minimumElasticInstanceCount": 0,
"azureStorageAccounts": {}
}
},
{
"type": "Microsoft.Web/sites/deployments",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('sites_vbv_prod_name'), '/96334b4eb6a7ae5b0d86abd7febcbcc67323bb94')]",
"location": "Switzerland North",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('sites_vbv_prod_name'))]"
],
"properties": {
"status": 4,
"author_email": "ramon.wenger@iterativ.ch",
"author": "Ramon Wenger",
"message": "Merged in feature/VBV-304-praesenztag-ui (pull request #65)\n \n Feature/VBV-304 praesenztag ui\n \n Approved-by: Daniel Egger",
"start_time": "2023-05-02T12:43:38.4426574Z",
"end_time": "2023-05-02T12:43:58.307067Z",
"active": true
}
},
{
"type": "Microsoft.Web/sites/hostNameBindings",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('sites_vbv_prod_name'), '/', parameters('sites_vbv_prod_name'), '.azurewebsites.net')]",
"location": "Switzerland North",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('sites_vbv_prod_name'))]"
],
"properties": {
"siteName": "vbv-prod",
"hostNameType": "Verified"
}
},
{
"type": "Microsoft.Web/sites/snapshots",
"apiVersion": "2015-08-01",
"name": "[concat(parameters('sites_vbv_prod_name'), '/2023-05-02T12_40_23_4355704')]",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('sites_vbv_prod_name'))]"
]
}
]
}

1
requirements.txt Normal file
View File

@ -0,0 +1 @@
-r server/requirements/requirements.txt