Skip to content

jeremyrdavis/dotnet-cafe-demo

 
 

Repository files navigation

dotnet-cafe-demo

login to your openshift cluster

oc login -u <USERNAME> -p <PASSWORD> --server=https://CLUSTER_API_DNS:6443

create openshift project

oc new-project dotnet-cafe-demo

create mongodb

create a mongodb ephemeral instance in the project

oc new-app \
  -n dotnet-cafe-demo \
  --template=mongodb-ephemeral \
  -p MONGODB_USER=cafe-user \
  -p MONGODB_PASSWORD=redhat-20 \
  -p MONGODB_DATABASE=cafedb \
  -p MONGODB_ADMIN_PASSWORD=redhat-20 \
  -p DATABASE_SERVICE_NAME=dotnet-cafe-mongodb-service

create kafka cluster

This requires that the "Red Hat Integration - AMQ Streams" operator be installed on the cluster.

from the root of the dotnet-cafe-demo folder, run the create-kafka.yml script on OpenShift

oc create -f create-kafka.yml

dotnet.cafe.kitchen

build and deploy the dotnet.cafe.kitchen service and dependencies

set the environment variables for your OCP services DOTNET_CAFE_KAFKA_BOOTSTRAP

oc new-app \
  -n dotnet-cafe-demo \
  --name=dotnet-cafe-kitchen dotnet:3.1~https://github.com/vincent-tsugranes/dotnet-cafe-demo.git \
  --build-env DOTNET_STARTUP_PROJECT=dotnet.cafe.kitchen/dotnet.cafe.kitchen.csproj \
  -e DOTNET_CAFE_KAFKA_BOOTSTRAP=cafe-cluster-kafka-bootstrap:9092 \
  -l app=dotnet-cafe-module

dotnet.cafe.barista

oc new-app \
  -n dotnet-cafe-demo \
  --name=dotnet-cafe-barista dotnet:3.1~https://github.com/vincent-tsugranes/dotnet-cafe-demo.git \
  --build-env DOTNET_STARTUP_PROJECT=dotnet.cafe.barista/dotnet.cafe.barista.csproj \
  -e DOTNET_CAFE_KAFKA_BOOTSTRAP=cafe-cluster-kafka-bootstrap:9092 \
  -l app=dotnet-cafe-module

dotnet.cafe.counter

Set the DOTNET_CAFE_MONGODB environment variable as well

 oc new-app \
   -n dotnet-cafe-demo \
   --name=dotnet-cafe-counter dotnet:3.1~https://github.com/vincent-tsugranes/dotnet-cafe-demo.git \
   --build-env DOTNET_STARTUP_PROJECT=dotnet.cafe.counter/dotnet.cafe.counter.csproj \
   -e DOTNET_CAFE_MONGODB=mongodb://cafe-user:redhat-20@dotnet-cafe-mongodb-service:27017 \
   -e DOTNET_CAFE_KAFKA_BOOTSTRAP=cafe-cluster-kafka-bootstrap:9092 \
   -l app=dotnet-cafe-module

dotnet.cafe.web

  oc new-app \
    -n dotnet-cafe-demo \
    --name=dotnet-cafe-web dotnet:3.1~https://github.com/vincent-tsugranes/dotnet-cafe-demo.git \
    --build-env DOTNET_STARTUP_PROJECT=dotnet.cafe.web/dotnet.cafe.web.csproj \
    -e DOTNET_CAFE_KAFKA_BOOTSTRAP=cafe-cluster-kafka-bootstrap:9092 \
    -l app=dotnet-cafe-module

Expose a route to the site

    oc expose svc/dotnet-cafe-web

Browse the site at

    http://dotnet-cafe-web-dotnet-cafe-demo.apps.OPENSHIFT_DOMAIN/

#Add annotations for pretty topology display

  oc annotate deployment -l app=dotnet-cafe-module app.openshift.io/connects-to='["cafe-cluster-kafka",{"apiVersion":"apps/v1","kind":"StatefulSet","name":"cafe-cluster-kafka"}]'
  oc annotate deployment dotnet-cafe-counter app.openshift.io/connects-to='["cafe-cluster-kafka",{"apiVersion":"apps/v1","kind":"StatefulSet","name":"cafe-cluster-kafka"},{"apiVersion":"apps.openshift.io/v1","kind":"DeploymentConfig","name":"dotnet-cafe-mongodb-service"}]' --overwrite
  oc label dc dotnet-cafe-mongodb-service app.kubernetes.io/name=mongodb
  oc label deployment -l app=dotnet-cafe-module app.kubernetes.io/name=dotnet

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 66.5%
  • HTML 20.1%
  • JavaScript 9.7%
  • CSS 3.7%