Repository navigation
HintKeep@next Azure Web Apps Infrastructure
HintKeep's Web App hosting model prioritizes cost efficiency, flexibility, and streamlined operations—ideal for indie devs, small startups, and projects with serious growth potential. While container deployments offer fine-grained control, Azure Web Apps abstract away much of the infrastructure overhead without sacrificing reliability.
- Managed Identity or App Settings for secrets—no need for complex ACR credential handling.
- Shared App Service Plan means lower costs per hosted app.
- Secrets managed via built-in settings—no external vaults required.
- Release-gated CI/CD pipelines allow safe, staged rollouts.
- Seamless CORS integration with Netlify-hosted frontend.
| Component | Role |
|---|---|
| HintKeep API | Hosted via Azure Web App inside a shared App Service Plan |
| Frontend (Netlify) | Static site deployed to *.hintkeep.com subdomains |
Secrets & SAS Tokens
- Stored in App Settings and Connection Strings
- Periodically rotated SAS tokens for Azure Storage
- Updated via CLI or GitHub workflow using Azure commands
- Defined using Bicep templates
- Environment-specific
.bicepparamfiles control configuration and provisioning
| Trigger | Target Environment | Behavior |
|---|---|---|
Push to dev
|
dev |
Runs build pipeline: tests, linting, build steps |
| Release Created | prod |
Deploys tagged commit to Web App |
| Manual Dispatch |
preview, qa
|
Deploys any selected SHA/branch/tag |
SAS Token Rotation
Performed monthly or as needed using:
az storage account generate-sas → then injected via:
az webapp config appsettings set --name hintkeep-api --settings AZURE_SAS_TOKEN="..."
Since Netlify serves the frontend (e.g. hintkeep.com, dev.hintkeep.com), the API must allow cross-origin requests.
Example CORS middleware:
cors({ origin: [ "https://hintkeep.com", "https://dev.hintkeep.com" ] });
Origin domains can be stored in App Settings for dynamic configuration.
- SAS token rotation via Azure CLI or workflow
- Sync and verification of App Settings per environment
- Preview environments can be provisioned or cleaned up based on
.bicepparamupdates
| Feature | Benefit |
|---|---|
| CI/CD Driven Deployments | Release-based updates with safe gating |
| Secrets in App Settings | Easy management without external dependencies |
| Low Cost per Environment | Shared App Service Plan dramatically cuts expenses |
| Easy Frontend Integration | CORS configuration supports Netlify deployments |
| Flexible Preview Envs | Add slots or new apps with minimal setup friction |
| Service | Plan or Usage | Estimated Cost (€/month) |
|---|---|---|
| App Service Plan (P1v3) | Shared across ~3–4 Web Apps | ~€22–25 |
| Blob Storage | SAS certs + minimal config data | ~€0.02 |
| Table Storage (Optional) | For logging, state | ~€0.10–0.15 |
| GitHub Actions | Free tier | €0 |
| Netlify Hosting | Free static frontend hosting | €0 |
| Total | — | ~€22.12–25.17/month |
Estimate captured in July 2025 for North Europe. Actual cost may vary with usage or currency.