An Azure service that provides an event-driven serverless compute platform.
Hello Likitha,
Welcome to the Microsoft Q&A Platform! Thank you for asking your question here.
To answer your questions, the issues you are encountering are a mix of expected architectural behavior on the Flex Consumption plan and local environment configuration on your self-hosted runner.
Here is the breakdown of the supported paths and recommendations based on official Microsoft documentation:
1. Recommended Deployment Method for Flex Consumption
The Flexible Consumption plan does not utilize the traditional Kudu/SCM site. Because the Kudu APIs are unavailable, using a Publish Profile will always result in a 401 Unauthorized error when attempting to reach /api/settings.
The officially supported deployment mechanism is using OIDC (Azure AD) authentication combined with the Azure CLI or the Azure Functions GitHub Action.
The Azure CLI error you are seeing ([SSL: UNEXPECTED_EOF_WHILE_READING]) is not a limitation of Azure, but a Python certificate validation failure on your GitHub self-hosted runner. Because the Azure CLI is written in Python, it relies on its own certificate store rather than the OS-level trust store. When your corporate proxy intercepts the SSL traffic, the CLI rejects the proxy's certificate.
- The Fix: You need to export the corporate proxy's Root CA certificate and set the
REQUESTS_CA_BUNDLEenvironment variable on your self-hosted runner to point to that certificate file. This will allow the Azure CLI to trust the proxy and successfully upload the ZIP to the ARM API.
2. Upgrading to Standard or Premium
Standard and Premium plans do include the full App Service architecture, which restores full Kudu/SCM access and Publish Profile support. However, upgrading just to bypass a local proxy certificate issue is not strictly necessary. Once the REQUESTS_CA_BUNDLE variable is configured on your runner, deployments to Flex Consumption will succeed.
3. Plan Suitability for Your Workload
For a workload that triggers every 5 minutes, connects to Pulsar, and calls an API, Flexible Consumption is highly recommended. * Networking: Flex Consumption provides native VNET integration, allowing secure, private connections to Pulsar.
- Execution & Cold Starts: Because it runs every 5 minutes, the instances will largely stay warm. If you find that cold starts are impacting your API latency, Flex Consumption supports defining Always Ready instances, giving you pre-warmed workers without the higher baseline cost of a Premium plan.
References:
If configuring the certificate bundle does not resolve the CLI error, could you provide the specific steps and a sanitized version of your GitHub Actions workflow YAML? Setting up a script to reproduce your exact runner configuration within a test Azure environment will help isolate the remaining deployment blocks.