* Added initial screens for MyHub Signed-off-by: Amit Kumar Das <amitkumar.das@mayadata.io> * Integrated the database with frontend. Signed-off-by: Vedant Shrotria <vedant.shrotria@mayadata.io> * Added getCharts schema and Myhub charts page Signed-off-by: Amit Kumar Das <amitkumar.das@mayadata.io> * Modified query and mutations for hub name. Signed-off-by: Vedant Shrotria <vedant.shrotria@mayadata.io> * Added models and redux for MyHub Section Signed-off-by: Amit Kumar Das <amitkumar.das@mayadata.io> * Integrated MyHub Screens with Backend Signed-off-by: Amit Kumar Das <amitkumar.das@mayadata.io> * Added translations and minor CSS fixes Signed-off-by: Amit Kumar Das <amitkumar.das@mayadata.io> * Fixed deepscan issues Signed-off-by: Amit Kumar Das <amitkumar.das@mayadata.io> * Modified URL for icons to be used with other platforms. Signed-off-by: Vedant Shrotria <vedant.shrotria@mayadata.io> * Minor CSS changes Signed-off-by: Amit Kumar Das <amitkumar.das@mayadata.io> * Minor change Signed-off-by: Amit Kumar Das <amitkumar.das@mayadata.io> * Minor change Signed-off-by: Amit Kumar Das <amitkumar.das@mayadata.io> * Removed line breaks and minor CSS changes Signed-off-by: Amit Kumar Das <amitkumar.das@mayadata.io> Co-authored-by: Vedant Shrotria <vedant.shrotria@mayadata.io> |
||
|---|---|---|
| .. | ||
| authentication | ||
| cluster-agents | ||
| frontend | ||
| graphql-server | ||
| platforms/okteto | ||
| tools/self-deployer | ||
| Makefile | ||
| README.md | ||
| cluster-k8s-manifest.yml | ||
| litmus-portal-crds.yml | ||
| namespaced-K8s-template.yml | ||
| run.sh | ||
README.md
Litmus Portal
Litmus-Portal provides console and UI experience for managing, monitoring, and events around chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application or the Kubernetes platform.
Platforms Support
- Minikube
- GKE
- KIND
- EKS
- Okteto Cloud
Pre-requisites
- Kubernetes 1.11 or later.
Installation
Applying k8s manifest
Alpha 1 (Stable)
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/v1.9.x/litmus-portal/cluster-k8s-manifest.yml
Or
Master (Latest) Cluster scope. Install in litmus namespace by default.
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/litmus-portal/cluster-k8s-manifest.yml
Or
Master (Latest) Namespaced scope. Replace
<namespace>with the desired namespace.
export LITMUS_PORTAL_NAMESPACE="<namespace>"
kubectl create ns ${LITMUS_PORTAL_NAMESPACE}
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/litmus-portal/litmus-portal-crds.yml
curl https://raw.githubusercontent.com/litmuschaos/litmus/master/litmus-portal/namespaced-K8s-template.yml --output litmus-portal-namespaced-K8s-template.yml
envsubst < litmus-portal-namespaced-K8s-template.yml > ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml
kubectl apply -f ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml -n ${LITMUS_PORTAL_NAMESPACE}
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/litmus-portal/platforms/okteto/hello-world-AUT.yml -n ${LITMUS_PORTAL_NAMESPACE}
Configuration Options for Cluster scope.
-
litmus-portal-operations-configconfigmap.AgentNamespace: litmus -
All environment variables.
Configuration Options for Namespace scope.
-
litmus-portal-operations-configconfigmap.AgentNamespace: ${LITMUS_PORTAL_NAMESPACE} -
All environment variables.
Retrieving external url to access the litmus portal
export NODE_NAME=$(kubectl get pod -n litmus -l "component=litmusportal-frontend" -o=jsonpath='{.items[*].spec.nodeName}')
export EXTERNAL_IP=$(kubectl get nodes $NODE_NAME -o jsonpath='{.status.addresses[?(@.type=="ExternalIP")].address}')
export NODE_PORT=$(kubectl get -o jsonpath="{.spec.ports[0].nodePort}" services litmusportal-frontend-service -n litmus)
echo "URL: http://$EXTERNAL_IP:$NODE_PORT"
Note: Default username: admin and password: litmus
User Guide for Litmus Portal
Litmus-Portal provides console or UI experience for managing, monitoring, and events round chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application or the Kubernetes platform.
View the User Guide here
Uninstallation
Alpha 1 (Stable)
kubectl delete -f https://raw.githubusercontent.com/litmuschaos/litmus/v1.9.x/litmus-portal/cluster-k8s-manifest.yml
Or
Master (Latest) Cluster scope. Uninstall in litmus namespace by default.
kubectl delete -f https://raw.githubusercontent.com/litmuschaos/litmus/master/litmus-portal/cluster-k8s-manifest.yml
Or
Master (Latest) Namespaced scope. Replace
<namespace>with the desired namespace.
export LITMUS_PORTAL_NAMESPACE="<namespace>"
kubectl delete -f https://raw.githubusercontent.com/litmuschaos/litmus/master/litmus-portal/litmus-portal-crds.yml
kubectl delete -f ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml -n ${LITMUS_PORTAL_NAMESPACE}
kubectl delete -f https://raw.githubusercontent.com/litmuschaos/litmus/master/litmus-portal/platforms/okteto/hello-world-AUT.yml -n ${LITMUS_PORTAL_NAMESPACE}
Tech Stack
- Frontend
- TypeScript
- JavaScript
- ReactJS
- Apollo GraphQL client
- MaterialUI
- Backend
- GoLang
- GQLGEN GraphQL Server
- Database
- MongoDB