Skip to content

Commit

Permalink
Enforcing Min extension bundle versions for node22, java21,python3.12…
Browse files Browse the repository at this point in the history
… and dotnet9-isolated (#1179)
  • Loading branch information
vivekjilla authored Oct 23, 2024
1 parent 7108f9b commit 020dbf3
Show file tree
Hide file tree
Showing 13 changed files with 558 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
{
"HostingEnvironmentConfig": {
"extensionRequirements": {
"bundles": [
{
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"minimumVersion": "4.12.0"
}
],
"types": [
{
"name": "NetheriteProviderStartup",
"assemblyName": "DurableTask.Netherite.AzureFunctions",
"minimumAssemblyVersion": "1.0.0.0",
"minimumAssemblyFileVersion": "1.4.0.4129",
"packageName": "Microsoft.Azure.DurableTask.Netherite.AzureFunctions",
"minimumPackageVersion": "1.4.0"
},
{
"name": "SqlDurabilityProviderStartup",
"assemblyName": "DurableTask.SqlServer.AzureFunctions",
"minimumAssemblyVersion": "1.2.0.0",
"packageName": "Microsoft.DurableTask.SqlServer.AzureFunctions",
"minimumPackageVersion": "1.2.0"
},
{
"name": "CosmosDBWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.CosmosDB",
"minimumAssemblyVersion": "4.4.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.CosmosDB",
"minimumPackageVersion": "4.4.0"
},
{
"name": "DurableTaskWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.DurableTask",
"minimumAssemblyVersion": "2.0.0.0",
"MinimumAssemblyFileVersion": "2.12.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.DurableTask",
"minimumPackageVersion": "2.12.0"
},
{
"name": "EventGridWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.EventGrid",
"minimumAssemblyVersion": "3.3.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.EventGrid",
"minimumPackageVersion": "3.3.0"
},
{
"name": "EventHubsWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.EventHubs",
"minimumAssemblyVersion": "5.5.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.EventHubs",
"minimumPackageVersion": "5.5.0"
},
{
"name": "KafkaWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.Kafka",
"minimumAssemblyVersion": "3.9.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.Kafka",
"minimumPackageVersion": "3.9.0"
},
{
"name": "RabbitMQWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.RabbitMQ",
"minimumAssemblyVersion": "2.0.3.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.RabbitMQ",
"minimumPackageVersion": "2.0.3"
},
{
"name": "SendGridWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.SendGrid",
"minimumAssemblyVersion": "3.0.3.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.SendGrid",
"minimumPackageVersion": "3.0.3"
},
{
"name": "ServiceBusWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.ServiceBus",
"minimumAssemblyVersion": "5.12.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.ServiceBus",
"minimumPackageVersion": "5.12.0"
},
{
"name": "SignalRWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.SignalRService",
"minimumAssemblyVersion": "1.11.2.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.SignalRService",
"minimumPackageVersion": "1.11.2"
},
{
"name": "SqlBindingStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.Sql",
"minimumAssemblyVersion": "3.0.461.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.Sql",
"minimumPackageVersion": "3.0.461"
},
{
"name": "AzureStorageBlobsWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.Storage.Blobs",
"minimumAssemblyVersion": "5.2.1.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.Storage.Blobs",
"minimumPackageVersion": "5.2.1"
},
{
"name": "AzureStorageQueuesWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.Storage.Queues",
"minimumAssemblyVersion": "5.2.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.Storage.Queues",
"minimumPackageVersion": "5.2.0"
},
{
"name": "AzureTablesWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.Tables",
"minimumAssemblyVersion": "1.2.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.Tables",
"minimumPackageVersion": "1.2.0"
},
{
"name": "TwilioWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.Twilio",
"minimumAssemblyVersion": "3.0.2.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.Twilio",
"minimumPackageVersion": "3.0.2"
},
{
"name": "WebPubSubWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.WebPubSub",
"minimumAssemblyVersion": "1.7.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.WebPubSub",
"minimumPackageVersion": "1.7.0"
}
]
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,14 @@ ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
HOST_VERSION=${HOST_VERSION} \
ASPNETCORE_CONTENTROOT=/azure-functions-host \
AzureWebJobsFeatureFlags=EnableWorkerIndexing \
FUNCTIONS_HOSTING_ENVIRONMENT_CONFIG_FILE_PATH=/local/FunctionHostingEnvironmentConfig.json \
ASPNETCORE_URLS=http://+:80

COPY --from=runtime-image [ "/azure-functions-host", "/azure-functions-host" ]
COPY sshd_config /etc/ssh/
COPY start.sh /azure-functions-host/
COPY install_ca_certificates.sh /opt/startup/
COPY FunctionHostingEnvironmentConfig.json /local/FunctionHostingEnvironmentConfig.json

EXPOSE 2222 80

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
HOST_VERSION=${HOST_VERSION} \
ASPNETCORE_CONTENTROOT=/azure-functions-host \
AzureWebJobsFeatureFlags=EnableWorkerIndexing \
FUNCTIONS_HOSTING_ENVIRONMENT_CONFIG_FILE_PATH=/local/FunctionHostingEnvironmentConfig.json \
ASPNETCORE_URLS=http://+:80

# Default EXPOSE port inherited from Dotnet Base image has changed to 8080. Host still hosts on 80
Expand All @@ -35,6 +36,7 @@ RUN apt-get update && \
COPY --from=runtime-image [ "/azure-functions-host", "/azure-functions-host" ]

COPY install_ca_certificates.sh start_nonappservice.sh /opt/startup/
COPY FunctionHostingEnvironmentConfig.json /local/FunctionHostingEnvironmentConfig.json
RUN chmod +x /opt/startup/install_ca_certificates.sh && \
chmod +x /opt/startup/start_nonappservice.sh

Expand Down
135 changes: 135 additions & 0 deletions host/4/bookworm/java/java21/FunctionHostingEnvironmentConfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
{
"HostingEnvironmentConfig": {
"extensionRequirements": {
"bundles": [
{
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"minimumVersion": "4.12.0"
}
],
"types": [
{
"name": "NetheriteProviderStartup",
"assemblyName": "DurableTask.Netherite.AzureFunctions",
"minimumAssemblyVersion": "1.0.0.0",
"minimumAssemblyFileVersion": "1.4.0.4129",
"packageName": "Microsoft.Azure.DurableTask.Netherite.AzureFunctions",
"minimumPackageVersion": "1.4.0"
},
{
"name": "SqlDurabilityProviderStartup",
"assemblyName": "DurableTask.SqlServer.AzureFunctions",
"minimumAssemblyVersion": "1.2.0.0",
"packageName": "Microsoft.DurableTask.SqlServer.AzureFunctions",
"minimumPackageVersion": "1.2.0"
},
{
"name": "CosmosDBWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.CosmosDB",
"minimumAssemblyVersion": "4.4.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.CosmosDB",
"minimumPackageVersion": "4.4.0"
},
{
"name": "DurableTaskWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.DurableTask",
"minimumAssemblyVersion": "2.0.0.0",
"MinimumAssemblyFileVersion": "2.12.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.DurableTask",
"minimumPackageVersion": "2.12.0"
},
{
"name": "EventGridWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.EventGrid",
"minimumAssemblyVersion": "3.3.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.EventGrid",
"minimumPackageVersion": "3.3.0"
},
{
"name": "EventHubsWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.EventHubs",
"minimumAssemblyVersion": "5.5.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.EventHubs",
"minimumPackageVersion": "5.5.0"
},
{
"name": "KafkaWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.Kafka",
"minimumAssemblyVersion": "3.9.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.Kafka",
"minimumPackageVersion": "3.9.0"
},
{
"name": "RabbitMQWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.RabbitMQ",
"minimumAssemblyVersion": "2.0.3.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.RabbitMQ",
"minimumPackageVersion": "2.0.3"
},
{
"name": "SendGridWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.SendGrid",
"minimumAssemblyVersion": "3.0.3.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.SendGrid",
"minimumPackageVersion": "3.0.3"
},
{
"name": "ServiceBusWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.ServiceBus",
"minimumAssemblyVersion": "5.12.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.ServiceBus",
"minimumPackageVersion": "5.12.0"
},
{
"name": "SignalRWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.SignalRService",
"minimumAssemblyVersion": "1.11.2.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.SignalRService",
"minimumPackageVersion": "1.11.2"
},
{
"name": "SqlBindingStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.Sql",
"minimumAssemblyVersion": "3.0.461.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.Sql",
"minimumPackageVersion": "3.0.461"
},
{
"name": "AzureStorageBlobsWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.Storage.Blobs",
"minimumAssemblyVersion": "5.2.1.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.Storage.Blobs",
"minimumPackageVersion": "5.2.1"
},
{
"name": "AzureStorageQueuesWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.Storage.Queues",
"minimumAssemblyVersion": "5.2.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.Storage.Queues",
"minimumPackageVersion": "5.2.0"
},
{
"name": "AzureTablesWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.Tables",
"minimumAssemblyVersion": "1.2.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.Tables",
"minimumPackageVersion": "1.2.0"
},
{
"name": "TwilioWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.Twilio",
"minimumAssemblyVersion": "3.0.2.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.Twilio",
"minimumPackageVersion": "3.0.2"
},
{
"name": "WebPubSubWebJobsStartup",
"assemblyName": "Microsoft.Azure.WebJobs.Extensions.WebPubSub",
"minimumAssemblyVersion": "1.7.0.0",
"packageName": "Microsoft.Azure.WebJobs.Extensions.WebPubSub",
"minimumPackageVersion": "1.7.0"
}
]
}
}
}
2 changes: 2 additions & 0 deletions host/4/bookworm/java/java21/java21-appservice.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ COPY --from=runtime-image [ "/workers/java", "/azure-functions-host/workers/java
COPY sshd_config /etc/ssh/
COPY start.sh /azure-functions-host/
COPY install_ca_certificates.sh /opt/startup/
COPY FunctionHostingEnvironmentConfig.json /local/FunctionHostingEnvironmentConfig.json

EXPOSE 2222 80

Expand All @@ -46,6 +47,7 @@ ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
HOST_VERSION=${HOST_VERSION} \
ASPNETCORE_CONTENTROOT=/azure-functions-host \
JAVA_HOME=${JAVA_HOME} \
FUNCTIONS_HOSTING_ENVIRONMENT_CONFIG_FILE_PATH=/local/FunctionHostingEnvironmentConfig.json \
ASPNETCORE_URLS=http://+:80

# Fix from https://github.com/GoogleCloudPlatform/google-cloud-dotnet-powerpack/issues/22#issuecomment-729895157
Expand Down
2 changes: 2 additions & 0 deletions host/4/bookworm/java/java21/java21-slim.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
HOST_VERSION=${HOST_VERSION} \
ASPNETCORE_CONTENTROOT=/azure-functions-host \
JAVA_HOME=${JAVA_HOME} \
FUNCTIONS_HOSTING_ENVIRONMENT_CONFIG_FILE_PATH=/local/FunctionHostingEnvironmentConfig.json \
ASPNETCORE_URLS=http://+:80

# Fix from https://github.com/GoogleCloudPlatform/google-cloud-dotnet-powerpack/issues/22#issuecomment-729895157
Expand All @@ -59,6 +60,7 @@ COPY --from=runtime-image [ "/workers/java", "/azure-functions-host/workers/java
COPY --from=runtime-image [ "${JAVA_HOME}", "${JAVA_HOME}" ]
COPY --from=runtime-image [ "/FuncExtensionBundles", "/FuncExtensionBundles" ]
COPY install_ca_certificates.sh start_nonappservice.sh /opt/startup/
COPY FunctionHostingEnvironmentConfig.json /local/FunctionHostingEnvironmentConfig.json
RUN chmod +x /opt/startup/install_ca_certificates.sh && \
chmod +x /opt/startup/start_nonappservice.sh

Expand Down
2 changes: 2 additions & 0 deletions host/4/bookworm/java/java21/java21.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
HOST_VERSION=${HOST_VERSION} \
ASPNETCORE_CONTENTROOT=/azure-functions-host \
JAVA_HOME=${JAVA_HOME} \
FUNCTIONS_HOSTING_ENVIRONMENT_CONFIG_FILE_PATH=/local/FunctionHostingEnvironmentConfig.json \
ASPNETCORE_URLS=http://+:80

# Fix from https://github.com/GoogleCloudPlatform/google-cloud-dotnet-powerpack/issues/22#issuecomment-729895157
Expand All @@ -59,6 +60,7 @@ COPY --from=runtime-image [ "/workers/java", "/azure-functions-host/workers/java
COPY --from=runtime-image [ "${JAVA_HOME}", "${JAVA_HOME}" ]
COPY --from=runtime-image [ "/FuncExtensionBundles", "/FuncExtensionBundles" ]
COPY install_ca_certificates.sh start_nonappservice.sh /opt/startup/
COPY FunctionHostingEnvironmentConfig.json /local/FunctionHostingEnvironmentConfig.json
RUN chmod +x /opt/startup/install_ca_certificates.sh && \
chmod +x /opt/startup/start_nonappservice.sh

Expand Down
Loading

0 comments on commit 020dbf3

Please sign in to comment.