All skills
microsoft avatar

/azure-kubernetes-app-deploy

@a8f19b4
by microsoftmicrosoft/skills3.1k stars
351

Use when deploying an existing web application or API to an already-running Azure Kubernetes Service cluster. Detects the framework, generates a Dockerfile and Kubernetes manifests, validates against AKS Deployment Safeguards, and deploys with verification. WHEN: deploy app to AKS, deploy to existing AKS cluster, containerize app for Kubernetes, generate K8s manifests for Azure, set up CI/CD for AKS, my AKS deployment is failing safeguard checks, I have a Django/Express/Spring Boot app to run on AKS. DO NOT USE FOR: creating or provisioning an AKS cluster (use azure-kubernetes), assessing migration to AKS Automatic (use azure-kubernetes-automatic-readiness), or deploying to non-AKS targets like Web Apps, Container Apps, or Functions.

Use this Skill: https://skilld.dev/gh/microsoft/skills/azure-kubernetes-app-deploy

This session only. Nothing lands on disk.

referencesdetection.md

≈906 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Detection Reference

Shared detection logic used by Section 1 (Detection) in Quick Deploy.

Framework Detection

Scan for signal files at the project root (and one level deep for monorepos). Map each signal to a framework and, where possible, a sub-framework:

Signal File Framework Sub-framework Detection
package.json Node.js Inspect dependencies for: Express (express), Fastify (fastify), NestJS (@nestjs/core), Next.js (next), Remix (@remix-run/node), Hono (hono), Koa (koa)
requirements.txt Python Scan for: FastAPI (fastapi), Django (django), Flask (flask), Starlette (starlette), Gunicorn (gunicorn)
pyproject.toml Python Parse [project.dependencies] or [tool.poetry.dependencies] for the same libraries as above
Pipfile Python Parse [packages] section for the same libraries as above
pom.xml Java Search for <artifactId>spring-boot-starter-web</artifactId> → Spring Boot; <artifactId>quarkus-resteasy</artifactId> → Quarkus; <artifactId>micronaut-http-server-netty</artifactId> → Micronaut
build.gradle / build.gradle.kts Java / Kotlin Search for org.springframework.boot → Spring Boot; io.quarkus → Quarkus; io.micronaut → Micronaut
go.mod Go Parse require block for: github.com/gin-gonic/gin → Gin; github.com/labstack/echo → Echo; github.com/gofiber/fiber → Fiber. For net/http (stdlib): search .go source files for "net/http" import — stdlib packages never appear in the require block
*.csproj .NET Search for <PackageReference Include="Microsoft.AspNetCore.*" → ASP.NET Core; check <TargetFramework> for version (e.g. net8.0)
Cargo.toml Rust Parse [dependencies] for: actix-web → Actix; axum → Axum; rocket → Rocket; warp → Warp

If multiple signal files are found (e.g. both package.json and requirements.txt), record all of them — this may indicate a monorepo or polyglot project. Flag for clarification.

Port Detection

Check these sources in priority order (first match wins):

Source What to Look For Example
Dockerfile EXPOSE <port> directive EXPOSE 3000
.env / .env.example PORT=<number> PORT=8080
package.json (scripts.start) --port <number> or -p <number> next start --port 3000
Source code app.listen(<number>), .listen(<number>), server.port=<number> app.listen(3000)
application.properties / application.yml (Java) server.port=<number> server.port=8080
appsettings.json (.NET) "Urls": "http://*:<number>" "Urls": "http://*:8080"
Framework defaults Use known defaults if nothing explicit found Express: 3000, FastAPI: 8000, Spring Boot: 8080, ASP.NET: 8080, Gin: 8080

Health Endpoint Detection

Grep the source tree for route registrations matching these patterns:

Pattern Endpoint Type
/health Generic health check
/healthz Kubernetes-style health check
/ready, /readiness Readiness probe
/liveness Liveness probe
/startup Startup probe
/ping Simple ping (sometimes used as health)
/status Status endpoint
/api/health, /api/healthz Prefixed health check

Record the HTTP method (GET/HEAD) and expected response code (200) for each detected endpoint. If no health endpoints are found, flag it — probes will use /health as default.

Source: SKILL.md on GitHub

1 warning1mo3 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    This skill facilitates the deployment of applications to Azure Kubernetes Service (AKS) by automating Dockerfile generation and Kubernetes manifest creation. It incorporates security best practices such as AKS Deployment Safeguards and Azure Workload Identity. No significant security considerations were identified; external resource references and tool usage align with the skill's intended deployment purpose.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: MEDIUM · 2 issues

Signed by skilld at a8f19b4. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 months ago
metadata
{
  "author": "Microsoft",
  "version": "1.0.0"
}

README badge

README badge for microsoft/skills/azure-kubernetes-app-deploy