Giter Site home page Giter Site logo

ec2-terraform's Introduction

podinfo

Podinfo is a tiny web application made with Go that showcases best practices of running microservices in Kubernetes. Podinfo is used by CNCF projects like Flux and Flagger for end-to-end testing and workshops.

Specifications:

Health checks (readiness and liveness) Graceful shutdown on interrupt signals File watcher for secrets and configmaps Instrumented with Prometheus and Open Telemetry Structured logging with zap 12-factor app with viper Fault injection (random errors and latency) Swagger docs Timoni, Helm and Kustomize installers End-to-End testing with Kubernetes Kind and Helm Multi-arch container image with Docker buildx and GitHub Actions Container image signing with Sigstore cosign SBOMs and SLSA Provenance embedded in the container image CVE scanning with Trivy Web API:

GET / prints runtime information GET /version prints podinfo version and git commit hash GET /metrics return HTTP requests duration and Go runtime metrics GET /healthz used by Kubernetes liveness probe GET /readyz used by Kubernetes readiness probe POST /readyz/enable signals the Kubernetes LB that this instance is ready to receive traffic POST /readyz/disable signals the Kubernetes LB to stop sending requests to this instance GET /status/{code} returns the status code GET /panic crashes the process with exit code 255 POST /echo forwards the call to the backend service and echos the posted content GET /env returns the environment variables as a JSON array GET /headers returns a JSON with the request HTTP headers GET /delay/{seconds} waits for the specified period POST /token issues a JWT token valid for one minute JWT=$(curl -sd 'anon' podinfo:9898/token | jq -r .token) GET /token/validate validates the JWT token curl -H "Authorization: Bearer $JWT" podinfo:9898/token/validate GET /configs returns a JSON with configmaps and/or secrets mounted in the config volume POST/PUT /cache/{key} saves the posted content to Redis GET /cache/{key} returns the content from Redis if the key exists DELETE /cache/{key} deletes the key from Redis if exists POST /store writes the posted content to disk at /data/hash and returns the SHA1 hash of the content GET /store/{hash} returns the content of the file /data/hash if exists GET /ws/echo echos content via websockets podcli ws ws://localhost:9898/ws/echo GET /chunked/{seconds} uses transfer-encoding type chunked to give a partial response and then waits for the specified period GET /swagger.json returns the API Swagger docs, used for Linkerd service profiling and Gloo routes discovery gRPC API.

ec2-terraform's People

Contributors

nourajazbeh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.