diff --git a/website/docs/litmusctl/additional-commands.md b/website/docs/litmusctl/additional-commands.md new file mode 100644 index 00000000..dc22ed92 --- /dev/null +++ b/website/docs/litmusctl/additional-commands.md @@ -0,0 +1,11 @@ +--- +id: additional-commands +title: Additional Commands +sidebar_label: Additional Commands +--- + + + +This guide covers additional litmusctl commands for managing your ChaosCenter account, projects, environments, and chaos infrastructures. + +Follow this [guide](https://github.com/litmuschaos/litmusctl/blob/master/Usage_0.23.0.md#additional-commands) to learn more about litmusctl commands. diff --git a/website/docs/litmusctl/connect-chaos-infrastructure.md b/website/docs/litmusctl/connect-chaos-infrastructure.md new file mode 100644 index 00000000..eb13f328 --- /dev/null +++ b/website/docs/litmusctl/connect-chaos-infrastructure.md @@ -0,0 +1,11 @@ +--- +id: connect-chaos-infrastructure +title: Connect Chaos Infrastructure +sidebar_label: Connect Chaos Infrastructure +--- + + + +This guide walks you through connecting a Chaos Infrastructure to your ChaosCenter using litmusctl. A Chaos Infrastructure is required to run chaos experiments in your Kubernetes cluster. + +Follow this [guide](https://github.com/litmuschaos/litmusctl/blob/master/Usage_0.23.0.md#steps-to-connect-a-chaos-infrastucture) to connect a Chaos Infrastructure. diff --git a/website/docs/litmusctl/create-chaos-experiment.md b/website/docs/litmusctl/create-chaos-experiment.md new file mode 100644 index 00000000..6899b2c9 --- /dev/null +++ b/website/docs/litmusctl/create-chaos-experiment.md @@ -0,0 +1,10 @@ +--- +id: create-chaos-experiment +title: Create Chaos Experiment +sidebar_label: Create Chaos Experiment +--- + + +This guide demonstrates how to create and run chaos experiments using litmusctl. You can create experiments using manifest files and manage them through the command line interface. + +Follow this [guide](https://github.com/litmuschaos/litmusctl/blob/master/Usage_0.23.0.md#steps-to-create-a-chaos-experiment) to create Chaos Experiment. diff --git a/website/docs/litmusctl/litmusctl-usage.md b/website/docs/litmusctl/litmusctl-usage.md index 251328f2..48903e13 100644 --- a/website/docs/litmusctl/litmusctl-usage.md +++ b/website/docs/litmusctl/litmusctl-usage.md @@ -1,26 +1,55 @@ --- id: litmusctl-usage -title: Litmusctl Usage -sidebar_label: Litmusctl Usage +title: Overview +sidebar_label: Usage Overview --- --- - - - - - - - - - - - - - - - - - -
TopicUser Guides
Connect Chaos InfrastructureClick Here
Create Chaos ExperimentClick Here
Additional CommandsClick Here
+This section provides comprehensive guides for using litmusctl to manage your chaos engineering workflows. litmusctl is the command-line interface for LitmusChaos that enables you to interact with ChaosCenter and manage chaos experiments from your terminal. + +## What You Can Do with litmusctl + +With litmusctl, you can: + +- **Connect Chaos Infrastructure**: Set up and connect chaos infrastructure to your ChaosCenter +- **Create and Manage Experiments**: Design, create, and run chaos experiments using manifest files +- **Manage Projects and Environments**: Organize your chaos engineering efforts across different projects and environments +- **Monitor and Control**: Track experiment status and manage your chaos engineering resources + +## Getting Started + +Before diving into the specific usage guides, ensure you have: + +1. **litmusctl installed** - Follow the [installation guide](installation.md) +2. **Access to ChaosCenter** - You'll need valid credentials for your ChaosCenter instance +3. **Kubernetes cluster access** - Required for connecting chaos infrastructure + +## Usage Guides + +The following guides will walk you through the key litmusctl workflows: + +### [Connect Chaos Infrastructure](connect-chaos-infrastructure.md) +Learn how to connect a chaos infrastructure to your ChaosCenter. This is typically the first step after installation, allowing you to run chaos experiments in your Kubernetes cluster. + +### [Create Chaos Experiment](create-chaos-experiment.md) +Discover how to create and run chaos experiments using litmusctl. This guide covers creating experiments from manifest files, running them, and monitoring their progress. + +### [Additional Commands](additional-commands.md) +Explore additional litmusctl commands for account management, project operations, environment handling, and infrastructure management. + +## Quick Reference + +| Task | Command | +|------|---------| +| Setup account | `litmusctl config set-account` | +| Connect infrastructure | `litmusctl connect chaos-infra` | +| Create experiment | `litmusctl create chaos-experiment -f ` | +| List projects | `litmusctl get projects` | +| List infrastructures | `litmusctl get chaos-infra` | + +## Next Steps + +1. Start with [Connect Chaos Infrastructure](connect-chaos-infrastructure.md) to set up your first chaos infrastructure +2. Move on to [Create Chaos Experiment](create-chaos-experiment.md) to run your first experiment +3. Explore [Additional Commands](additional-commands.md) for advanced usage and management tasks diff --git a/website/docs/user-guides/setup-with-helm.md b/website/docs/user-guides/setup-with-helm.md new file mode 100644 index 00000000..8259b917 --- /dev/null +++ b/website/docs/user-guides/setup-with-helm.md @@ -0,0 +1,76 @@ +--- +id: setup-with-helm +title: Install ChaosCenter with Helm +sidebar_label: Setup with Helm +--- + +--- + +If you prefer to install and configure Dex via the LitmusChaos Helm chart, you can provide the required environment variables through a `values.yaml` file. + +## Prerequisites +Add Litmus Helm Repository + +```bash +helm repo add litmuschaos https://litmuschaos.github.io/litmus-helm/ +helm repo update +``` + +## Create a values file +Create a file named dex-values.yaml and add the required configuration: + +```yaml +chaoscenter: + dex: + enabled: true + env: + - name: DEX_ENABLED + value: "true" + - name: OIDC_ISSUER + value: "" # Example: Google, GitHub issuer URL + - name: DEX_OAUTH_CALLBACK_URL + value: "http:///auth/callback" + - name: DEX_OAUTH_CLIENT_ID + value: "" + - name: DEX_OAUTH_CLIENT_SECRET + value: "" +``` + +:::note +- Replace ``, ``, and `` with your actual values from the OAuth provider configuration. +- For Google/GitHub, use their respective OIDC issuer URL. +::: + +## Install ChaosCenter with Dex enabled + +```bash +helm install chaos litmuschaos/litmus \ + -n litmus \ + --create-namespace \ + -f dex-values.yaml +``` + +## Upgrade (if ChaosCenter already installed) + +```bash +helm upgrade chaos litmuschaos/litmus \ + -n litmus \ + -f dex-values.yaml +``` + +## Verify the installation + +- Check if the Dex pod is running: + +```bash +kubectl get pods -n litmus | grep dex +``` + +Open the ChaosCenter UI and log in with your configured OAuth provider. + + +## Learn more + +- [Setup Endpoints and Access ChaosCenter without Ingress](setup-without-ingress.md) +- [Install ChaosCenter with HTTP](../getting-started/installation.md) +- [Install ChaosCenter with HTTPS](chaoscenter-advanced-installation.md) diff --git a/website/sidebars.js b/website/sidebars.js index b037b32e..3c0e9847 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -81,10 +81,10 @@ module.exports = { 'user-guides/chaoscenter-oauth-dex-installation', 'user-guides/chaoscenter-advanced-installation', 'user-guides/setup-without-ingress', - 'user-guides/setup-with-ingress' + 'user-guides/setup-with-ingress', + 'user-guides/setup-with-helm' ] - }, - 'user-guides/chaos-infrastructure-installation' + } ] }, { @@ -147,7 +147,19 @@ module.exports = { className: 'category-as-header', collapsed: false, collapsible: false, - items: ['litmusctl/installation', 'litmusctl/litmusctl-usage'] + items: [ + 'litmusctl/installation', + { + type: 'category', + label: 'Litmusctl Usage', + items: [ + 'litmusctl/litmusctl-usage', + 'litmusctl/connect-chaos-infrastructure', + 'litmusctl/create-chaos-experiment', + 'litmusctl/additional-commands' + ] + } + ] }, { type: 'category',