litmus/litmus-portal
Raj Babu Das 1993b29e8e
Adding Litmus Portal API docs (#2378)
* Adding Litmus Portal API doc

Signed-off-by: Raj Babu Das <raj.das@mayadata.io>

* Adding Litmus Portal API doc

Signed-off-by: Raj Babu Das <raj.das@mayadata.io>

* Adding Litmus Portal API doc

Signed-off-by: Raj Babu Das <raj.das@mayadata.io>
2020-12-15 20:59:06 +05:30
..
authentication add okteto manifests to graphql and authentication server (#2308) 2020-11-16 08:25:03 +05:30
cluster-agents chore(litmus-portal): Adding update workflow operation to graphql server (#2327) 2020-11-06 20:06:59 +05:30
frontend Adding Litmus Portal API docs (#2378) 2020-12-15 20:59:06 +05:30
graphql-server Adding go routine to cloning default myhub function (#2363) 2020-11-24 12:23:11 +05:30
platforms/okteto add okteto manifests to graphql and authentication server (#2308) 2020-11-16 08:25:03 +05:30
Makefile Removing self-deployer code and its dependencies (#2330) 2020-11-08 16:40:39 +05:30
README.md Changing litmus portal readme and litmus crds (#2352) 2020-11-15 22:59:33 +05:30
cluster-k8s-manifest.yml Merge remote-tracking branch 'upstream/master' into frontend-dockerimage-change 2020-11-15 09:47:53 +05:30
litmus-portal-crds.yml Changing litmus portal readme and litmus crds (#2352) 2020-11-15 22:59:33 +05:30
namespaced-K8s-template.yml Adding unprivileged docker file 2020-11-15 10:32:27 +05:30
run.sh Adding DB credentials to run.sh (#2366) 2020-11-30 11:04:01 +05:30

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 2 (Stable)

kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/v1.10.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-config configmap.

    AgentNamespace: litmus

  • All environment variables.

Configuration Options for Namespace scope.

  • litmus-portal-operations-config configmap.

    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.10.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
Additional information