Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
t94j0 committed Apr 24, 2024
1 parent fcd12bb commit 26aef69
Show file tree
Hide file tree
Showing 3 changed files with 105 additions and 30 deletions.
36 changes: 8 additions & 28 deletions docs/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,27 +10,7 @@ Ensure your machine meets the following requirements:
- **Disk Space**: 100 GB
- **Architecture**: x64 only

### Step 1: Install Docker
Install Docker by following the [official Docker installation guide](https://docs.docker.com/engine/install/). The installation instructions for Debian are replicated below:

```bash
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```


### Step 2: Install k3s
### Step 1: Install k3s

Execute the following commands to install [k3s](https://docs.k3s.io/quick-start):

Expand All @@ -42,7 +22,7 @@ export KUBECONFIG=~/.kube/config
```


### Step 3: Install Helm
### Step 2: Install Helm

Install [Helm](https://helm.sh/docs/intro/install/):

Expand All @@ -55,7 +35,7 @@ sudo apt-get install helm
```


### Step 4: Install Dependencies
### Step 3: Install Dependencies

Install dependencies using Helm:

Expand All @@ -64,15 +44,15 @@ helm install elastic-operator eck-operator --repo https://helm.elastic.co --name
```


### Step 5: Install the `quickstart` Chart
### Step 4: Install the `quickstart` Chart

Deploy the `quickstart` Helm chart to configure secrets:

```bash
helm install --repo https://specterops.github.io/Nemesis/ nemesis-quickstart quickstart
```

### Step 6: Install `nemesis`
### Step 5: Install `nemesis`

Deploy the main Nemesis services:

Expand All @@ -81,7 +61,7 @@ helm install --repo https://specterops.github.io/Nemesis/ nemesis nemesis --time
```


### Step 7: Get basic-auth Secret
### Step 6: Get basic-auth Secret

Retrieve the basic authentication credentials to access the dashboard:

Expand All @@ -91,7 +71,7 @@ export BASIC_AUTH_PASSWORD=$(kubectl get secret basic-auth -o jsonpath="{.data.p
echo "${BASIC_AUTH_USER}:${BASIC_AUTH_PASSWORD}"
```

### Step 8: Logging into the Dashboard
### Step 7: Logging into the Dashboard

Once all installations and configurations are complete, open a web browser and go to:

Expand All @@ -109,7 +89,7 @@ You should be greeted by the services page:
![services](images/services.png)


### Step 9: Upload File for Analysis
### Step 8: Upload File for Analysis

1. Navigate to the dashboard

Expand Down
4 changes: 2 additions & 2 deletions docs/requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ K3s is the only officially supported way to install Nemesis. Installation instru

### K3s

Before installing k3s, you must have Docker installed on your system as it is a prerequisite for running containerized applications. Follow the Docker installation guide for your specific operating system at the official Docker documentation: [Install Docker Engine](https://docs.docker.com/engine/install/).
k3s is a lightweight Kubernetes distribution that simplifies the deployment and management of Kubernetes clusters.

#### Install k3s

k3s is a lightweight Kubernetes distribution that simplifies the deployment and management of Kubernetes clusters. Install k3s with the following command:
Install k3s with the following command:

```bash
curl -sfL https://get.k3s.io | sh -
Expand Down
95 changes: 95 additions & 0 deletions docs/requirements_developer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Requirements

## Table of Contents

1. [Table of Contents](#table-of-contents)
1. [VM Hardware Requirements](#vm-hardware-requirements)
2. [Software Requirements](#software-requirements)
1. [Docker](#docker)
1. [K3s](#k3s)

## VM Hardware Requirements

The hardware requirements are the same as what's listed in (requirements.md#vm-hardware-requirements).

## Software Requirements

K3s is the only officially supported way to install Nemesis. Installation instructions for [Docker Desktop](requirements_docker_desktop.md) and [Minikube](requirements_minikube.md) do exist but may not be up to date.

**The following requirements need to be installed:**

### Docker

Install Docker by following the [official Docker installation guide](https://docs.docker.com/engine/install/). The installation instructions for Debian are replicated below:

```bash
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```

### K3s

Install K3s with [cri-dockerd](https://github.com/Mirantis/cri-dockerd) to allow K3s to use Docker to deploy containers. This allows Skaffold and Nemesis scripts to work.

#### Install k3s

k3s is a lightweight Kubernetes distribution that simplifies the deployment and management of Kubernetes clusters.
Install k3s with the following command:

```bash
curl -sfL https://get.k3s.io | sh - --docker
```

After installing k3s, modify your kubeconfig to use the k3s Kubernetes configuration with the following commands:

```bash
export KUBECONFIG=~/.kube/config
mkdir ~/.kube 2> /dev/null
sudo k3s kubectl config view --raw > "$KUBECONFIG"
chmod 600 "$KUBECONFIG"
```

#### Install Helm

Follow the Helm installation guide for your specific operating system: [Installing Helm](https://helm.sh/docs/intro/install/).

The installation instructions for Debian are replicated here:

```bash
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
```

#### Install Dependencies

Install the Elastic operator with the following Helm command to manage Elasticsearch in the `default` namespace:

```bash
helm install elastic-operator eck-operator --repo https://helm.elastic.co --namespace elastic-system --create-namespace --set managedNamespaces='{default}'
```

#### Validate Installation

To ensure you're ready for the next step, run the command below and ensure a deployment exists for "traefik" and "elastic-operator."

```bash
$ helm ls -A
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
elastic-operator elastic-system 1 2024-04-22 10:42:02.9517585 -0400 EDT deployed eck-operator-2.12.1 2.12.1
traefik kube-system 1 2024-04-19 17:56:18.401408836 +0000 UTC deployed traefik-25.0.2+up25.0.0 v2.10.5
traefik-crd kube-system 1 2024-04-19 17:56:17.382691893 +0000 UTC deployed traefik-crd-25.0.2+up25.0.0 v2.10.5
```

0 comments on commit 26aef69

Please sign in to comment.