litmus/litmus-portal
Amit Kumar Das 1aeec7c1ac
chore(litmus-portal): Added Myhub screens and redux setup for MyHub section (#2294)
* 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>
2020-10-27 06:23:23 +00:00
..
authentication Adding missing translations for views, Improved sidebar UI, styling improvements, UI inconsistencies reduced (#2104) 2020-09-29 21:18:15 +05:30
cluster-agents adding create configmap permission in subscriber manifest and few refactors in subscriber (#2248) 2020-10-13 16:05:45 +05:30
frontend chore(litmus-portal): Added Myhub screens and redux setup for MyHub section (#2294) 2020-10-27 06:23:23 +00:00
graphql-server Added Backend Implementation for My Hub and required graphql endpoints. (#2291) 2020-10-27 11:07:58 +05:30
platforms/okteto Okteto manifest update for litmus-portal. (#2256) 2020-10-14 17:53:59 +05:30
tools/self-deployer Namespace scope mode for litmus-portal and okteto cloud dev environment integration. (#2187) 2020-10-07 10:33:58 +05:30
Makefile Changing dir of subscriber (#1947) 2020-09-14 20:31:39 +05:30
README.md Changing version to 1.9.x in readme (#2268) 2020-10-15 14:54:32 +05:30
cluster-k8s-manifest.yml Adding external cluster support for litmusportal (#2127) 2020-10-08 12:30:30 +05:30
litmus-portal-crds.yml Namespace scope mode for litmus-portal and okteto cloud dev environment integration. (#2187) 2020-10-07 10:33:58 +05:30
namespaced-K8s-template.yml using downward api for portal ns (#2258) 2020-10-15 12:24:25 +05:30
run.sh Updated run.sh with new env vars (#2213) 2020-10-08 13:57:00 +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 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-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.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
Additional information