Kubernetes Dashboard built with Quarkus and React.
If you just want to try out the final project the easiest way is to deploy the released snapshot into Minikube (or any other k8s cluster - needs access to node):
# Deploy the application using https://hub.docker.com/r/marcnuri/yakd SNAPSHOT
kubectl create -f https://raw.githubusercontent.com/manusa/yakd/main/docs/yakd-kubernetes-dashboard.minikube.yml
# Open Browser and navigate to deployed application
minikube service yakdYou can test YAKD Kubernetes Dashboard by taking advantage of the OpenShift getting started Instruqt.
Access the Course (from Red Hat): https://developers.redhat.com/courses/openshift/getting-started
When the terminal loads, apply the provided YAKD Kubernetes Dashboard configuration:
#
# Deploy the application using https://hub.docker.com/r/marcnuri/yakd SNAPSHOT
#
$ oc create -f https://raw.githubusercontent.com/manusa/yakd/main/docs/yakc-kubernetes-dashboard.openshift-4.yml
service/yakc-quarkus-kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/yakc-kubernetes-dashboard-cluster-admin created
deployment.apps/yakc-quarkus-kubernetes-dashboard created
route.route.openshift.io/yakc-quarkus-kubernetes-dashboard created
#
# Retrieve URL for created route (should be ready once the YAKD Pod is running and ready)
#
$ echo "http://$(oc get route yakd -o jsonpath='{.spec.host}')"
http://yakd-default.crc-lgph7-master-0.crc.q1aebzewtnbc.instruqt.ioNow you can open the URL in your browser.
To build the whole project (Front-end & Back-end), the easiest way is to run the Maven build with
the provided profile build-frontend.
# Build project
$ mvn clean package -Pbuild-frontendBuild the application using the native property.
# On Windows first you need to run this
$ "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" && mvn clean install -Pnative
# To build (You can combine with the front-end build profiles)
$ mvn clean package -Dnative$ choco install -y visualstudio2017community --no-progress --package-parameters "--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 --add Microsoft.VisualStudio.Component.VC.CMake.Project"Follow these instructions if you want to build & deploy the project into a Kubernetes Cluster, in this case Minikube.
# Provide access to Minikube's Docker daemon (allows to skip pushing the generated image)
$ eval $(minikube docker-env)
# Build and deploy project
$ mvn clean install -Pbuild-frontend,k8s
# Open Browser and navigate to deployed application
$ minikube service yakc-dashboardThis will also add a role binding for the default service account to the cluster-admin role in the
default namespace. In case you are working on a different namespace you can customize this
value by providing a value for the k8s.namespace project property:
# Build and deploy project to custom namespace
$ mvn clean install -Pbuild-frontend,k8s -Dk8s.namespace=customYou can work on the project with hot reload by starting both applications separately.
The back-end application is a Quarkus application, you can start it in development mode by:
$ mvn quarkus:devYou can find the React client application in the src/main/frontend
directory.
# Install required dependencies
$ npm install
# Start development mode
$ npm startYou can point your browser to localhost:3000.
