{"id":21654413,"url":"https://github.com/hvalfangst/azure-functions-custom-rust-handler","last_synced_at":"2026-04-05T21:04:46.413Z","repository":{"id":214192496,"uuid":"735699843","full_name":"hvalfangst/azure-functions-custom-rust-handler","owner":"hvalfangst","description":"HTTP-triggered Azure Function with custom binary handler compiled from code written in Rust with the Axum framework. This project is built and deployed automatically on repository pushes with Actions. Azure resources are provisioned with Terraform.","archived":false,"fork":false,"pushed_at":"2023-12-27T16:24:09.000Z","size":1766,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-25T06:25:09.398Z","etag":null,"topics":["axum","az-204","azure","azure-function-app","azure-function-custom-handler","azure-functions","rust","terraform"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hvalfangst.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-25T21:51:13.000Z","updated_at":"2025-01-03T07:52:25.000Z","dependencies_parsed_at":"2023-12-27T17:32:26.615Z","dependency_job_id":null,"html_url":"https://github.com/hvalfangst/azure-functions-custom-rust-handler","commit_stats":null,"previous_names":["hvalfangst/azure-functions-custom-handler-in-rust-with-axum","hvalfangst/azure-functions-in-rust-axum-with-cicd","hvalfangst/azure-functions-custom-rust-handler"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hvalfangst%2Fazure-functions-custom-rust-handler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hvalfangst%2Fazure-functions-custom-rust-handler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hvalfangst%2Fazure-functions-custom-rust-handler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hvalfangst%2Fazure-functions-custom-rust-handler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hvalfangst","download_url":"https://codeload.github.com/hvalfangst/azure-functions-custom-rust-handler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244554120,"owners_count":20471173,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axum","az-204","azure","azure-function-app","azure-function-custom-handler","azure-functions","rust","terraform"],"created_at":"2024-11-25T08:27:46.960Z","updated_at":"2025-12-30T22:14:10.774Z","avatar_url":"https://github.com/hvalfangst.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Azure Functions in Rust using Axum with CI/CD\n\nAzure Function with custom handler invoking a binary compiled from code written in Rust with the Axum framework.\nThis axum project is built and deployed automatically on repository pushes with GitHub Actions Workflows.\nAzure resources are provisioned with Terraform.\n\n## Requirements\n\n* x86-64\n* Linux/Unix\n* [Rust](https://www.rust-lang.org/tools/install)\n\n## Creating resources\n\nThe shell script 'up' allocates Azure resources with Terraform.\n\n## Deleting resources\n\nThe shell script 'down' deallocates Azure resources.\n\n\n## Guide\n\n### 1. Provision Azure Resources\n\n- Run the 'up' script to provision Azure resources.\n\n\n### 2. Access Azure Portal\n\n- Open your browser and navigate to the Azure Portal.\n\n### 3. Microsoft Entra ID Setup\n\n- Navigate to 'Microsoft Entra ID' using the search bar.\n- Click on 'Add' and choose 'App registration'.\n- Set name to 'hvalfangst-axum-function', account option to 'Single tenant', and click 'Register'.\n- Go to the overview of the newly created app registration 'hvalfangst-axum-function'.\n- Copy values associated with Application (client) ID and Directory (tenant) ID for future use.\n- Navigate to 'Certificates \u0026 secrets' under 'Manage'.\n- Click the button titled 'New client secret' under 'Client secrets'.\n- Pick a fitting description and keep default expiry. Click on the 'Add' button to finish.\n- Copy the associated value with the newly created secret.\n\n### 4. Subscription Setup\n\n- Navigate to your subscription, which holds your provisioned resource group.\n- Click on 'Add' under 'Access control (IAM)' and pick 'role assignment'.\n- Choose the role 'Contributor' under 'Privileged administrator roles'.\n- Navigate to the 'Members' section and click 'Select members'.\n- Search for the app registration 'hvalfangst-axum-function' and assign the role.\n\n### 5. GitHub Repository Secrets\n\n- Open the 'Settings' tab of your GitHub repository.\n- Click on 'Actions' under 'Security' -\u003e 'Secrets and variables'.\n- Create the following repository secrets:\n    - AZURE_SP_APP_ID : Value copied in step #3\n    - AZURE_SP_PASSWORD: Value copied in step #3\n    - AZURE_TENANT_ID : Value copied in step #4\n\n### 5. Deploy Workflow\n\nThe GitHub Actions workflow 'cicd' will automatically build our axum binary and deploy the azure function customer handler on repository pushes.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhvalfangst%2Fazure-functions-custom-rust-handler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhvalfangst%2Fazure-functions-custom-rust-handler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhvalfangst%2Fazure-functions-custom-rust-handler/lists"}