/imdb-app

K8s Reference App written in C#

Primary LanguageC#MIT LicenseMIT

IMDb App

IMDb App is inteneded for platform testing and monitoring in one or many Kubernetes clusters and/or cloud deployments.

Prerequisites

  • Bash shell (tested on Visual Studio Codespaces, Mac, Ubuntu, Windows with WSL2)
    • Will not work with WSL1 or Cloud Shell
  • Azure CLI (download)
  • Docker CLI (download)
  • .NET 6.0 (download)
  • Visual Studio Code (optional) (download)

IMDb-app Usage


Imdb.Application
  IMDb App

Usage:
  Imdb.Application [options]

Options:
  -m, --in-memory                 Use in-memory database [default: False]
  -n, --no-cache                  Don't cache results [default: False]
  -u, --url-prefix <url-prefix>   URL prefix for ingress mapping [default: ]
  -p, --port <port>               Listen Port [default: 8080]
  -z, --zone <zone>               Zone for log [default: dev]
  -r, --region <region>           Region for log [default: dev]
  -l, --log-level                 Log Level [default: Error] <Critical|Debug|Error|Information|None|Trace|Warning>
  -d, --dry-run                   Validates configuration
  -v, --secrets-volume <dir>      Secrets Volume Path [default: secrets]
  -q, --request-log-level         Request Log Level [default: Warning] <Critical|Debug|Error|Information|None|Trace|Warning>
  --version                       Show version information
  -h, --help                      Show help and usage information

Run the Application

Using Visual Studio Codespaces

Visual Studio Codespaces is the easiest way to evaluate IMDb.

TODO: Describe opening and running a codespaces

Using bash shell

This will work from a terminal in Visual Studio Codespaces as well

  1. Clone the repo

git clone https://github.com/cse-labs/imdb-app.git

  1. Change to the app root directory

cd imdb-app

  1. Run the application in memory mode

Running the application in memory mode allows us to run the application without setting up the rest of the supporting infrastructure.

# run the application
dotnet run -- -m

You should see the following response:

Hosting environment: Production Content root path: /mnt/c/Users/t-anbassey/Source/imdb-app Now listening on: http://[::]:8080 Application started. Press Ctrl+C to shut down.

Testing the application

Open a new bash shell

Visual Studio Codespaces allows you to open multiple shells by clicking on the Split Terminal icon

# test the application

# test using httpie (installed automatically in Codespaces)
http localhost:4120/version

# test using curl
curl localhost:4120/version

Stop IMDb by typing Ctrl-C or the stop button if run via F5

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit Microsoft Contributor License Agreement.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.