+This is the repository for the Tailwarden Organization Public Documentation. It is the official Tailwarden site for publishing latest news, blog posts, and documentation from our open source community.
+
+
+
+
+## Contribution Steps
+
+1. **Fork this repository**: Go to `https://github.com/repository-owner/docs.komiser.io` and click the "Fork" button in the top-right corner to create a fork of the repository on your GitHub account.
+
+2. **Clone your forked repo**: Open your terminal and use the following command to clone your forked repository to your local machine:
+
+ ```
+ git clone "https://github.com/github-username/docs.komiser.io.git"
+ ```
+
+3. **Create a documentation branch**: Switch to a new branch to work on your documentation changes:
+
+ ```
+ git checkout -b branch-name
+ ```
+
+4. **Make changes to the documentation**: Navigate to the `docs` folder and make the necessary updates to the documentation files.
+
+5. **Run the command to publish version**: Execute the following command and enter the next release version in the prompt, following the Semantic Versioning format (e.g., `1.0.0`, `1.1.0`, etc.):
+
+ ```
+ npm run publish-version
+ ```
+
+6. **Add changes to the staging area**: Add your changes to the staging area in preparation for commit:
+
+ ```
+ git add .
+ ```
+
+7. **Commit your changes**: Commit your changes with a meaningful commit message describing the updates made:
+
+ ```
+ git commit -m 'Your commit message here'
+ ```
+
+8. **Push your changes to GitHub**: Push the changes to your GitHub repository:
+
+ ```
+ git push origin branch-name
+ ```
+
+9. **Create a new Pull Request**: Go to your GitHub repository, switch to the new branch, and click the "New Pull Request" button. Submit the Pull Request to the main repository for review and merging.
+
+## Contribution Guidelines
+
+Please ensure your changes adhere to our contribution guidelines (link to CONTRIBUTING.md or guidelines page). Your Pull Request will be reviewed by our maintainers, and any necessary feedback or changes may be requested before merging.
+
+Thank you for contributing to our project! We appreciate your support and efforts in improving the documentation.
+
+---
diff --git a/README.md b/README.md
index 65864ee..620ca87 100644
--- a/README.md
+++ b/README.md
@@ -8,26 +8,65 @@ This is the repository for the Tailwarden Organization Public Documentation. It
-### How to Run Locally
+## How to Run Locally
-1. Clone this repository: `git clone "https://github.com/tailwarden/docs.komiser.io.git"`
-2. Run the commands :
- 1. `npm install`
- 2. `npm run build`
- 3. `npm run start`
-3. The site will be running locally on `http://localhost:3000`
+Follow these steps to run the project locally on your machine:
-### How To Contribute To the Documentation
+1. **Clone this repository**: Open your terminal and use the following command to clone the repository to your local machine:
-1. Fork this repository
-2. Create your documentation branch: `git checkout -b branch-name`
-3. Make changes to the documentation in markdown
-4. Add changes to the staging area `git add .`
-5. Commit your changes using the command `git commit -m 'commit message'`
-6. Push your changes to gitHub `git push origin branch-name`
-7. Create new Pull Request
+ ```
+ git clone "https://github.com/tailwarden/docs.komiser.io.git"
+ ```
+2. **Install dependencies and build**: Run the following commands one after another to install the project dependencies and build the application:
-## History
+ ```
+ npm install
+ npm run build
+ ```
-### v1.0.0 (Aug, 2022)
\ No newline at end of file
+3. **Start the local server**: Finally, start the local development server with the following command:
+
+ ```
+ npm run start
+ ```
+
+4. **Access the site locally**: Once the server starts, you can access the website locally in your web browser at `http://localhost:3000`.
+
+## How to Contribute to the Documentation
+
+We welcome contributions to improve our documentation. Follow these steps to make a contribution:
+
+1. **Fork this repository**: Click the "Fork" button at the top-right of this page to create a fork of the repository on your GitHub account.
+
+2. **Create a documentation branch**: Switch to a new branch to work on your documentation changes:
+
+ ```
+ git checkout -b branch-name
+ ```
+
+3. **Choose the version**: Locate the version you want to contribute to in the `version_docs` folder.
+
+4. **Make changes to the documentation**: Edit the documentation in Markdown format for the particular version.
+
+5. **Add changes to the staging area**: Add your changes to the staging area in preparation for commit:
+
+ ```
+ git add .
+ ```
+
+6. **Commit your changes**: Commit your changes with a meaningful commit message describing the updates made:
+
+ ```
+ git commit -m 'Your commit message here'
+ ```
+
+7. **Push your changes to GitHub**: Push the changes to your GitHub repository:
+
+ ```
+ git push origin branch-name
+ ```
+
+8. **Create a new Pull Request**: Go to your GitHub repository, switch to the new branch, and click the "New Pull Request" button. Submit the Pull Request to the main repository for review and merging.
+
+Thank you for contributing to our documentation! Your efforts help make our project better for everyone.
diff --git a/docs/Cloud Providers/aws.md b/docs/Cloud Providers/aws.md
index eb7e2d5..5a06db2 100644
--- a/docs/Cloud Providers/aws.md
+++ b/docs/Cloud Providers/aws.md
@@ -7,6 +7,7 @@ sidebar_label: Amazon Web Services
# Amazon Web Services
## Supported resources
+
- API Gateway
- Access control lists
- CloudFront distributions
@@ -46,30 +47,39 @@ sidebar_label: Amazon Web Services
- OpenSearch domains
## Komiser configurations
-From Komiser v3 onwards we specify our komiser configuration by way of a `config.toml` file. If you place the config.toml file in the same directory as the Komiser binary then it will pick it up by default, if it's placed in a different location, then we need to pass in the path using the `--config` flag.
+
+From Komiser v3 onwards we specify our komiser configuration by way of a `config.toml` file. If you place the config.toml file in the same directory as the Komiser binary then it will pick it up by default, if it's placed in a different location, then we need to pass in the path using the `--config` flag.
Example `start` command
+
```
-komiser start
+komiser start
```
## Config.toml file
+
---
-![config-file](../../static/img/config-komiser.png)
+
+![config-file](/img/config-komiser.png)
Komiser now supports multiple cloud accounts by default. Account configuration is done through the config.toml file, using either the `ENVIRONMENT_VARIABLES` or `CREDENTIALS_FILE`.
### Data persistence
+
Choose between these two methods of persisting your AWS Account data.
#### Postgres
+
**Add to config.toml file**
+
```
[postgres]
uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
```
+
Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
#### SQLite
+
```
# Add to config.toml file
@@ -77,9 +87,10 @@ Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a
file = "komiser.db"
```
- *The reason for this external data persistence is to improve the filtering, sorting and tagging management experience making it faster and smoother. It also serves as a standalone DB which you are free to query and visualize as you see fit.*
+_The reason for this external data persistence is to improve the filtering, sorting and tagging management experience making it faster and smoother. It also serves as a standalone DB which you are free to query and visualize as you see fit._
### Example config.toml
+
```
[[aws]]
name="sandbox"
@@ -105,10 +116,10 @@ uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
## Configuring Credentials
-When using the CLI you'll generally need your AWS credentials to authenticate with AWS services. Komiser supports multiple methods of providing these credentials. By default the CLI will source credentials automatically from its default credential chain.
+When using the CLI you'll generally need your AWS credentials to authenticate with AWS services. Komiser supports multiple methods of providing these credentials. By default the CLI will source credentials automatically from its default credential chain.
In the `source` section of the cloud profile inside the `config.toml` file we can choose between `ENVIRONMENT_VARIABLES` or `CREDENTIALS_FILE`
-* Environment Credentials - Set of environment variables that are useful when sub processes are created for specific roles. Useful for local development
+- Environment Credentials - Set of environment variables that are useful when sub processes are created for specific roles. Useful for local development
```
[[gcp]]
@@ -117,7 +128,7 @@ source="ENVIRONMENT_VARIABLES"
profile="production"
```
-* EC2 Instance Role Credentials - Use EC2 Instance Role to assign credentials to application running on an EC2 instance. This removes the need to manage credential files in production.
+- EC2 Instance Role Credentials - Use EC2 Instance Role to assign credentials to application running on an EC2 instance. This removes the need to manage credential files in production.
```
[[aws]]
@@ -126,10 +137,13 @@ source="CREDENTIALS_FILE"
path=./path/to/credentials/file
profile="default"
```
+
### Credentials file
-It is not recommended to add your AWS Access and Secret Access key in the credentials file in `production`. The most secure way of authentication is by using temporary credentials through IAM roles.
+
+It is not recommended to add your AWS Access and Secret Access key in the credentials file in `production`. The most secure way of authentication is by using temporary credentials through IAM roles.
Example
+
```
[ADMIN-account]
region = eu-central-1
@@ -144,50 +158,61 @@ role_session_name = komiser_session
```
## Local Komiser CLI
+
---
### Create an IAM user
-* Create an IAM user with the following IAM [policy](https://raw.githubusercontent.com/mlabouardy/komiser/master/policy.json):
+
+- Create an IAM user with the following IAM [policy](https://raw.githubusercontent.com/mlabouardy/komiser/master/policy.json):
```
wget https://raw.githubusercontent.com/mlabouardy/komiser/master/policy.json
```
+
### Add user credentials locally
-* Add your **Access Key ID** and **Secret Access Key** to *~/.aws/credentials* using this format
-```
+- Add your **Access Key ID** and **Secret Access Key** to _~/.aws/credentials_ using this format
+
+```
[default]
aws_access_key_id =
aws_secret_access_key =
region =
```
+
### Run Komiser CLI
-* That should be it. Try out the following from your command prompt to start the server:
+
+- That should be it. Try out the following from your command prompt to start the server:
```
komiser start
```
## Komiser CLI (Restricted regions)
+
---
-There might be times when you would like to specifically restrict the scope of Komiser's reach to a specific cloud region or a subset of them. This can be useful for organizations with tight SCPs in place.
-Add the `--regions` flag to the `Komiser start` command and seperate the regions with commas.
+
+There might be times when you would like to specifically restrict the scope of Komiser's reach to a specific cloud region or a subset of them. This can be useful for organizations with tight SCPs in place.
+Add the `--regions` flag to the `Komiser start` command and seperate the regions with commas.
+
```
-komiser start --regions eu-central-1,us-east-1,ap-southeast-1
+komiser start --regions eu-central-1,us-east-1,ap-southeast-1
-```
-> Note that all AWS Global resources in your account will be retrieved even using the `--regions`
+```
+> Note that all AWS Global resources in your account will be retrieved even using the `--regions`
## EKS installation (single account)
+
---
+
Link to [repository](https://github.com/tailwarden/helm/blob/master/README.md#configuration-single-aws-account)
-We will be using the official Komiser [Helm Chart](https://github.com/tailwarden/helm#configuration-multiple-aws-accounts) to deploy Komiser to our EKS cluster.
+We will be using the official Komiser [Helm Chart](https://github.com/tailwarden/helm#configuration-multiple-aws-accounts) to deploy Komiser to our EKS cluster.
### Prerequisite
-* [Helm](https://helm.sh/docs/intro/install/) installed locally
+- [Helm](https://helm.sh/docs/intro/install/) installed locally
### Create and IAM OIDC provider for your cluster
@@ -213,7 +238,7 @@ We will be using the official Komiser [Helm Chart](https://github.com/tailwarden
1. Open the IAM console at [https://console\.aws\.amazon\.com/iam/](https://console.aws.amazon.com/iam/)\.
-1. In the left navigation pane, choose **Policies** and then choose **Create policy**\.
+1. In the left navigation pane, choose **Policies** and then choose **Create policy**\.
1. Choose the **JSON** tab\.
@@ -257,7 +282,7 @@ We will be using the official Komiser [Helm Chart](https://github.com/tailwarden
`NOTE: Make sure to substitute ${NAMESPACE} for the namespace you will deploy the helm chart in. If deployed in any other namespace, you will see sts:AssumeRoleWithWebIdentity failure messages in the pod logs.`
-1. Run the modified code block from the previous step to create a file named *`trust.json`*\.
+1. Run the modified code block from the previous step to create a file named _`trust.json`_\.
1. Run the following AWS CLI command to create the role\. Replace `my-iam-role` with a name for your IAM role, and `my-role-description` with a description for your role\.
@@ -274,6 +299,7 @@ We will be using the official Komiser [Helm Chart](https://github.com/tailwarden
### Update ServiceAccount
Update [templates/service-account.yaml](https://github.com/tailwarden/helm/blob/master/templates/service-account.yaml) with the IAM role you've created previously
+
```
apiVersion: v1
kind: ServiceAccount
@@ -284,6 +310,7 @@ metadata:
```
### Add custom values to config.toml file in [configMap template](https://github.com/tailwarden/helm/blob/master/templates/configmap-awsaccounts.yaml)
+
```
[[aws]]
name="NAME"
@@ -294,12 +321,13 @@ profile="default"
[sqlite]
file="komiser.db"
-// or
+// or
// [postgres]
// uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
```
### Installing the chart
+
To install the chart:
```bash
@@ -334,14 +362,16 @@ The above command deploys Komiser on the Kubernetes cluster in the default confi
## Multiple account EKS (Helm chart) installation
+
---
+
Link to [README](https://github.com/tailwarden/helm/blob/master/README.md#configuration-multiple-aws-accounts) file with step by step instructions.
Steps for a container to access the resources in multiple AWS accounts.
We are working with two example clusters, ADMIN and DEV cluster.
Solution diagram:
-![solutions-diagram](../../static/img/multi-account-graph.png)
+![solutions-diagram](/img/multi-account-graph.png)
### Create and IAM OIDC provider for your cluster
@@ -369,19 +399,21 @@ Solution diagram:
2. Open the IAM console at [https://console\.aws\.amazon\.com/iam/](https://console.aws.amazon.com/iam/)\.
-1. In the left navigation pane, choose **Identity Providers** under **Access management**\.
+3. In the left navigation pane, choose **Identity Providers** under **Access management**\.
-1. To create a provider, choose **Add Provider**\.
+4. To create a provider, choose **Add Provider**\.
-1. For **Provider Type**, choose **OpenID Connect**\.
+5. For **Provider Type**, choose **OpenID Connect**\.
-1. For **Provider URL**, paste the ADMIN OIDC issuer URL, and then choose **Get thumbprint**\.
+6. For **Provider URL**, paste the ADMIN OIDC issuer URL, and then choose **Get thumbprint**\.
-1. For **Audience**, enter `sts.amazonaws.com` and choose **Add provider**\.
+7. For **Audience**, enter `sts.amazonaws.com` and choose **Add provider**\.
### Create A `DEV IAM role`
-* Add the recommended [Komiser policy](https://github.com/tailwarden/komiser/blob/master/policy.json)
-* Create a Trust Relathionship with the `ADMIN` role (once it's created)
+
+- Add the recommended [Komiser policy](https://github.com/tailwarden/komiser/blob/master/policy.json)
+- Create a Trust Relathionship with the `ADMIN` role (once it's created)
+
```
{
"Version": "2012-10-17",
@@ -399,8 +431,10 @@ Solution diagram:
```
### Create an `ADMIN IAM role`
-* Create a [role](#create-iam-role-and-attach-a-komiser-iam-policy) with the same configuration as above.
-* Additionally attach the policy to assume the `DEV` role
+
+- Create a [role](#create-iam-role-and-attach-a-komiser-iam-policy) with the same configuration as above.
+- Additionally attach the policy to assume the `DEV` role
+
```
{
"Version": "2012-10-17",
@@ -415,6 +449,7 @@ Solution diagram:
```
### Add the `ADMIN` role to the ServiceAccount
+
Add your values for `ACCOUNT_ID` and `ROLE_Name`
```
@@ -463,22 +498,22 @@ metadata:
3. Have a valid credentials file that the deployment has access to.
```
- apiVersion: apps/v1
- kind: Deployment
- metadata:
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
name: komiser
spec:
- selector:
- matchLabels:
+ selector:
+ matchLabels:
app: komiser
- template:
- metadata:
+ template:
+ metadata:
name: komiser
- labels:
+ labels:
app: komiser
spec:
serviceAccountName: komiser
- containers:
+ containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
@@ -495,3 +530,4 @@ metadata:
- name: test-volume
configMap:
name: aws-configmap
+ ```
diff --git a/docs/FAQ/faq.md b/docs/FAQ/faq.md
index 5fa9b20..07d6d74 100644
--- a/docs/FAQ/faq.md
+++ b/docs/FAQ/faq.md
@@ -8,19 +8,19 @@ sidebar_label: FAQs
## What's the difference between Tailwarden and Komiser?
-Komiser is the open-source version of [Tailwarden](https://www.tailwarden.com/). To get a more in-depth description of what Komiser is, read it [here](/docs/Introduction/what-is-komiser.md). In short, Komiser is a tool that prioritizes cloud transparency regarding the cost of your cloud resources. That's why komiser makes it easy to track all the resources and costs related to them, cross regions, and cross accounts.
+Komiser is the open-source version of [Tailwarden](https://www.tailwarden.com/). To get a more in-depth description of what Komiser is, read it [here](/docs/Introduction/what-is-komiser.md). In short, Komiser is a tool that prioritizes cloud transparency regarding the cost of your cloud resources. That's why komiser makes it easy to track all the resources and costs related to them, cross regions, and cross accounts.
-Tailwarden on the other hand aims to be a more all-in-one DevOps tool. Tailwarden is built for Developers, CTOs, and Project Managers not only DevOps engineers.
+Tailwarden on the other hand aims to be a more all-in-one DevOps tool. Tailwarden is built for Developers, CTOs, and Project Managers not only DevOps engineers.
-Tailwarden incorporates the Komiser cloud cost transparency features, along with security, governance features, and the ability to build custom dashboards on top of that. In addition with Tailwarden the user will get a consolidated view of all their cloud resources cross-account and cross-cloud-provider through the `Inventory page`.
+Tailwarden incorporates the Komiser cloud cost transparency features, along with security, governance features, and the ability to build custom dashboards on top of that. In addition with Tailwarden the user will get a consolidated view of all their cloud resources cross-account and cross-cloud-provider through the `Inventory page`.
-Tailwarden was established in late June 2022 and has a very ambitious feature roadmap that the team is working hard to deliver. So if an easy and accessible all-in-one cloud tool is something that could be valuable to you take a look at the [roadmap](https://tailwarden.canny.io/) (or even consider adding to it) and [join us](https://discord.tailwarden.com) for the ride.
+Tailwarden was established in late June 2022 and has a very ambitious feature roadmap that the team is working hard to deliver. So if an easy and accessible all-in-one cloud tool is something that could be valuable to you take a look at the [roadmap](https://tailwarden.canny.io/) (or even consider adding to it) and [join us](https://discord.tailwarden.com) for the ride.
-## What can Komiser help me with?
+## What can Komiser help me with?
-Anybody who was ever tasked with managing a cloud provider account (that isn't a personal test account) understands how `painful` it is to track all the resources, cost, and security that goes along with it. Let alone managing multiple accounts, and let's not even get started about `multi-cloud` environments.
+Anybody who was ever tasked with managing a cloud provider account (that isn't a personal test account) understands how `painful` it is to track all the resources, cost, and security that goes along with it. Let alone managing multiple accounts, and let's not even get started about `multi-cloud` environments.
-Cloud providers for the most part are excellent, but they all have pretty `crummy web consoles`. Komiser brings **transparency** around what you have provisioned in your account and the cost it's incurring. You can toggle between cloud accounts and regions to uncover potentially **hidden costs**. Komiser brings to the **forefront** what was **hidden in the shadows**.
+Cloud providers for the most part are excellent, but they all have pretty `crummy web consoles`. Komiser brings **transparency** around what you have provisioned in your account and the cost it's incurring. You can toggle between cloud accounts and regions to uncover potentially **hidden costs**. Komiser brings to the **forefront** what was **hidden in the shadows**.
## Is Komiser regularly maintained?
@@ -36,46 +36,46 @@ Yes, the migration process is very easy. Just open a Tailwarden account and link
## How can I use tags?
-
**Tailwarden tags**
On Tailwarden you can add in the Inventory section. Choose the resource you would like to tag and click in the three dots (...) under `Actions` and then fill in the pop-up.
-![add-tags](../../static/img/add-tags.png)
+![add-tags](/img/add-tags.png)
**Cloud provider tags**
-If you have resources tagged already in your cloud provider you will shortly to able to see those tags in the Komiser dashboard. You will be able to not only filter the tags you add on Komiser but also the tags configured in the cloud provider.
+If you have resources tagged already in your cloud provider you will shortly to able to see those tags in the Komiser dashboard. You will be able to not only filter the tags you add on Komiser but also the tags configured in the cloud provider.
-**Komiser tags**
+**Komiser tags**
-Komiser will have the tagging feature delivered as part of the Komsier revamps efforts and will be delivered at the end of October as part of the Komiser v3.0.0 release.
+Komiser will have the tagging feature delivered as part of the Komsier revamps efforts and will be delivered at the end of October as part of the Komiser v3.0.0 release.
## How can I request a new feature?
-If you would like to request a feature to be added to Komiser, feel free to do so through any of the following channels:
+If you would like to request a feature to be added to Komiser, feel free to do so through any of the following channels:
+
- GitHub [issues](https://github.com/tailwarden/komiser/issues)
- Discord [server](https://discord.tailwarden.com) (#feature-requests channel)
-- During weekly Tailwarden Office House, book a slot [here](https://calendly.com/jake-tailwarden).
-- Via [Twitter](https://twitter.com/tailwarden)
+- During weekly Tailwarden Office House, book a slot [here](https://calendly.com/jake-tailwarden).
+- Via [Twitter](https://twitter.com/tailwarden)
- Directly through our [Public Roadmap](https://roadmap.tailwarden.com/komiser)
## Where can I see the upcoming features?
-Keep tabs on what we are working on by bookmarking our [public roadmap](https://tailwarden.canny.io/). We are aware that we have to always stay nimble and agile so if you think we should prioritize a certain feature over another, let your voice be heard by upvoting it, we really appreciate your input. Also, let us know if we are missing anything.
+Keep tabs on what we are working on by bookmarking our [public roadmap](https://tailwarden.canny.io/). We are aware that we have to always stay nimble and agile so if you think we should prioritize a certain feature over another, let your voice be heard by upvoting it, we really appreciate your input. Also, let us know if we are missing anything.
## Does Komiser have access to my cloud data?
-Since Komiser is completely self-hosted, Tailwarden has zero access to any of your cloud data or personal information.
+Since Komiser is completely self-hosted, Tailwarden has zero access to any of your cloud data or personal information.
-## How can I build a custom dashboard?
+## How can I build a custom dashboard?
-`Custom dashboards` are one of the main features we are working to deliver as soon as possible. We are very excited about being able to give users the chance to build customized dashboards filtering by certain regions, resources, or more importantly by `custom tags` to bring the clearest view to what you want to see.
+`Custom dashboards` are one of the main features we are working to deliver as soon as possible. We are very excited about being able to give users the chance to build customized dashboards filtering by certain regions, resources, or more importantly by `custom tags` to bring the clearest view to what you want to see.
It will be available as a Tailwarden feature at first and might be added to Komiser down the line. Once the feature is live we will announce it on Discord. If you don't have one already, we invite you to open a free-trial Tailwarden account and test it out.
-Still got questions? Speak to us directly on [Discord](https://discord.tailwarden.com)!
+Still got questions? Speak to us directly on [Discord](https://discord.tailwarden.com)!
## How can I stay in the loop with new releases?
-Head on over to our [changelog](https://www.tailwarden.com/changelog). The best way to find out about the cool features and improvements we've shipped in the latest releases.
\ No newline at end of file
+Head on over to our [changelog](https://www.tailwarden.com/changelog). The best way to find out about the cool features and improvements we've shipped in the latest releases.
diff --git a/docs/Guides/How to Komiser/dashboard.md b/docs/Guides/How to Komiser/dashboard.md
index 9a79738..d12e160 100644
--- a/docs/Guides/How to Komiser/dashboard.md
+++ b/docs/Guides/How to Komiser/dashboard.md
@@ -3,6 +3,7 @@ slug: /guides/how-to-komiser/dashboard
title: Dashboard π
sidebar_label: Dashboard
---
+
The `Komiser Dashboard` provides an overview of your cloud environments, collecting and summarizing cloud resources across accounts, regions, and providers.
The `top widgets` display the connected cloud accounts, the regions where resources are located, and the total number of resources, as well as the total cost of your infrastructure.
@@ -13,7 +14,7 @@ To the left of the cloud map, you will find the `Resource manager`, where you ca
Below, you will find the `Cost explorer`, which allows you to sort resources and compare costs on a monthly to yearly basis. You can also exclude resources from the cost comparison.
-![Dashboard gif](../../../static/img/dashboard-komiser-lower-quality.gif)
+![Dashboard gif](/img/dashboard-komiser-lower-quality.gif)
### Check out the `dashboard` in the first part of the Komiser v3.0.3 video:
@@ -38,4 +39,4 @@ Below, you will find the `Cost explorer`, which allows you to sort resources and
}}
>
-
\ No newline at end of file
+
diff --git a/docs/Introduction/what-is-komiser.md b/docs/Introduction/what-is-komiser.md
index 681991e..c93b5c2 100644
--- a/docs/Introduction/what-is-komiser.md
+++ b/docs/Introduction/what-is-komiser.md
@@ -3,14 +3,15 @@ slug: /introduction/what-is-komiser
title: What is Komiser?
sidebar_label: What is Komiser?
---
+
# What is Komiser?
![Komiser-banner](/img/what-is-light.png#gh-light-mode-only)![Komiser-banner](/img/what-is-dark.png#gh-dark-mode-only)
-**Komiser** is the `open-source` version of [Tailwarden](https://www.tailwarden.com/) (Enterprise edition).
+**Komiser** is the `open-source` version of [Tailwarden](https://www.tailwarden.com/) (Enterprise edition).
-The tool started off as a side project by Tailwarden co-founder [Mohamed Labouardy](https://www.linkedin.com/in/mlabouardy/) while working as head of DevOps for a previous company at the time. He was tasked with managing a huge number of cloud resources spanning multiple cloud providers. He grew frustrated that there were no good tools out there to help manage this **sprawling multi-cloud infrastructure** which would unexpectedly rack up huge bills every month. So he decided to build it, with the help of contributors and extremely valuable feedback from the community. Komiser came to life as a continuously evolving cloud-agnostic cost inspector and resource manager.
+The tool started off as a side project by Tailwarden co-founder [Mohamed Labouardy](https://www.linkedin.com/in/mlabouardy/) while working as head of DevOps for a previous company at the time. He was tasked with managing a huge number of cloud resources spanning multiple cloud providers. He grew frustrated that there were no good tools out there to help manage this **sprawling multi-cloud infrastructure** which would unexpectedly rack up huge bills every month. So he decided to build it, with the help of contributors and extremely valuable feedback from the community. Komiser came to life as a continuously evolving cloud-agnostic cost inspector and resource manager.
-Two years on, with almost **3000 GitHub stars** and over **2 million** downloads, Komiser has grown to be an open tool used by many to bring transparency with regard to cost in their cloud environments.
+Two years on, with almost **3000 GitHub stars** and over **2 million** downloads, Komiser has grown to be an open tool used by many to bring transparency with regard to cost in their cloud environments.
-As a project, Komiser's goal is to help you **spend less time switching between confusing cloud provider consoles** and have a clear view of what you manage in the cloud. To have quick access to what is important to you. Through this transparency, you can `uncover hidden costs`, gain helpful `insight` and start `taking control` of your `infrastructure`.
\ No newline at end of file
+As a project, Komiser's goal is to help you **spend less time switching between confusing cloud provider consoles** and have a clear view of what you manage in the cloud. To have quick access to what is important to you. Through this transparency, you can `uncover hidden costs`, gain helpful `insight` and start `taking control` of your `infrastructure`.
diff --git a/docusaurus.config.js b/docusaurus.config.js
index 85445da..b506e0c 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -2,41 +2,42 @@
// Note: type annotations allow type checking and IDEs autocompletion
// const lightCodeTheme = require('prism-react-renderer/themes/github');
-const darkCodeTheme = require('prism-react-renderer/themes/dracula');
-const TwitterSvg = '';
-
+const darkCodeTheme = require("prism-react-renderer/themes/dracula");
+const TwitterSvg =
+ '';
/** @type {import('@docusaurus/types').Config} */
const config = {
- title: 'Komiser Documentation',
- tagline: 'The Future of DevOps',
- url: 'https://www.tailwarden.com/',
- baseUrl: '/',
- onBrokenLinks: 'warn',
- onBrokenMarkdownLinks: 'warn',
- favicon: 'img/komiser-favicon.png',
+ title: "Komiser Documentation",
+ tagline: "The Future of DevOps",
+ url: "https://www.tailwarden.com/",
+ baseUrl: "/",
+ onBrokenLinks: "warn",
+ onBrokenMarkdownLinks: "warn",
+ favicon: "img/komiser-favicon.png",
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
- organizationName: 'tailwarden', // Usually your GitHub org/user name.
- projectName: 'komiser', // Usually your repo name.
+ organizationName: "tailwarden", // Usually your GitHub org/user name.
+ projectName: "komiser", // Usually your repo name.
// Even if you don't use internalization, you can use this field to set useful
// metadata like html lang. For example, if your site is Chinese, you may want
// to replace "en" with "zh-Hans".
i18n: {
- defaultLocale: 'en',
- locales: ['en'],
+ defaultLocale: "en",
+ locales: ["en"],
},
presets: [
[
- '@docusaurus/preset-classic',
+ "@docusaurus/preset-classic",
/** @type {import('@docusaurus/preset-classic').Options} */
({
docs: {
- sidebarPath: require.resolve('./sidebars.js'),
+ sidebarPath: require.resolve("./sidebars.js"),
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
+ includeCurrentVersion: false,
editUrl: function ({
locale,
version,
@@ -44,34 +45,34 @@ const config = {
docPath,
permalink,
}) {
- return 'https://github.com/tailwarden/docs.komiser.io#how-to-contribute-to-the-documentation';
+ return "https://github.com/tailwarden/docs.komiser.io#how-to-contribute-to-the-documentation";
},
},
theme: {
- customCss: require.resolve('./src/css/custom.css'),
+ customCss: require.resolve("./src/css/custom.css"),
},
gtag: {
- trackingID: 'G-PVLRSMWSFG',
+ trackingID: "G-PVLRSMWSFG",
anonymizeIP: true,
},
- })
- ]
+ }),
+ ],
],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
- algolia:{
- apiKey:'9983878ae17ae51850aa1eefd20aef16',
- appId:'XWL4T9EL2T',
- indexName:'komiser',
- placeholder:'search'
+ algolia: {
+ apiKey: "9983878ae17ae51850aa1eefd20aef16",
+ appId: "XWL4T9EL2T",
+ indexName: "komiser",
+ placeholder: "search",
},
colorMode: {
- defaultMode: 'dark',
+ defaultMode: "dark",
},
announcementBar: {
- id: 'announcementBar-2', // Increment on change
+ id: "announcementBar-2", // Increment on change
content: `βοΈ If you like Komiser, give it a star on GitHub and follow us on Twitter ${TwitterSvg}`,
},
docs: {
@@ -80,99 +81,102 @@ const config = {
},
},
navbar: {
- title: '',
+ title: "",
logo: {
- alt: 'My Site Logo',
- src: '/img/komiser-logo-light.png',
- srcDark: '/img/komiser-logo-tw-dark.png',
+ alt: "My Site Logo",
+ src: "/img/komiser-logo-light.png",
+ srcDark: "/img/komiser-logo-tw-dark.png",
},
items: [
{
- type: 'doc',
- docId: 'intro',
- position: 'left',
- label: 'Docs',
+ type: "docsVersionDropdown",
+ },
+ {
+ type: "doc",
+ docId: "intro",
+ position: "left",
+ label: "Docs",
},
{
- label: 'Tailwarden cloud',
- to: 'https://cloud.tailwarden.com',
- position: 'left',
+ label: "Tailwarden cloud",
+ to: "https://cloud.tailwarden.com",
+ position: "left",
},
{
- href: 'https://github.com/tailwarden/komiser',
- className: 'pseudo-icon github-icon',
- position: 'right',
+ href: "https://github.com/tailwarden/komiser",
+ className: "pseudo-icon github-icon",
+ position: "right",
},
{
- href: 'https://discord.tailwarden.com',
- className: 'pseudo-icon discord-icon',
- position: 'right',
+ href: "https://discord.tailwarden.com",
+ className: "pseudo-icon discord-icon",
+ position: "right",
},
{
- type: 'search',
- position: 'right',
+ type: "search",
+ position: "right",
},
{
- label: 'Try Cloud',
- href: 'https://cloud.tailwarden.com/signup',
- position: 'right',
- className: 'dev-portal-signup dev-portal-link',
+ label: "Try Cloud",
+ href: "https://cloud.tailwarden.com/signup",
+ position: "right",
+ className: "dev-portal-signup dev-portal-link",
},
{
- label: 'Login',
- href: 'https://cloud.tailwarden.com/login',
- position: 'right',
- className: 'dev-portal-login dev-portal-link',
+ label: "Login",
+ href: "https://cloud.tailwarden.com/login",
+ position: "right",
+ className: "dev-portal-login dev-portal-link",
},
],
},
footer: {
- style: 'dark',
+ style: "dark",
links: [
{
- title: 'Community',
+ title: "Community",
items: [
{
- label: 'Discord',
- href: 'https://discord.tailwarden.com',
+ label: "Discord",
+ href: "https://discord.tailwarden.com",
},
{
- label: 'Twitter',
- href: 'https://twitter.com/tailwarden',
+ label: "Twitter",
+ href: "https://twitter.com/tailwarden",
},
{
- label: 'GitHub',
- href: 'https://github.com/tailwarden/komiser',
+ label: "GitHub",
+ href: "https://github.com/tailwarden/komiser",
},
],
},
{
- title: 'Developers',
+ title: "Developers",
items: [
{
- label: 'Getting Started',
- to: '/docs/introduction/getting-started',
+ label: "Getting Started",
+ to: "/docs/introduction/getting-started",
},
{
- label: 'Contribute',
- to: '/docs/contributing/contribute',
+ label: "Contribute",
+ to: "/docs/contributing/contribute",
},
{
- label: 'Public Roadmap',
- href: 'https://tailwarden.canny.io/',
+ label: "Public Roadmap",
+ href: "https://tailwarden.canny.io/",
},
],
},
{
- title: 'Company',
+ title: "Company",
items: [
{
- label: 'Careers',
- href: 'https://www.tailwarden.com',
+ label: "Careers",
+ href: "https://www.tailwarden.com",
},
{
- label: 'Tailwarden',
- href: 'https://www.notion.so/tailwarden/Work-at-Tailwarden-269b2aca1c844abc822d8b0f73618a6e',
+ label: "Tailwarden",
+ href: "https://www.notion.so/tailwarden/Work-at-Tailwarden-269b2aca1c844abc822d8b0f73618a6e",
},
],
},
diff --git a/package.json b/package.json
index 100c9ec..52898f2 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
+ "publish-version": "read -p \"Enter the version you want to publish: \" version && npm run docusaurus docs:version -- \"$version\"",
"write-heading-ids": "docusaurus write-heading-ids"
},
"dependencies": {
@@ -47,4 +48,4 @@
"engines": {
"node": ">=16.14"
}
-}
+}
\ No newline at end of file
diff --git a/versioned_docs/version-3.0.0/Cloud Providers/aws.md b/versioned_docs/version-3.0.0/Cloud Providers/aws.md
new file mode 100644
index 0000000..5a06db2
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Cloud Providers/aws.md
@@ -0,0 +1,533 @@
+---
+slug: /cloud-providers/aws
+title: Amazon Web Services
+sidebar_label: Amazon Web Services
+---
+
+# Amazon Web Services
+
+## Supported resources
+
+- API Gateway
+- Access control lists
+- CloudFront distributions
+- CloudWatch Dashboards
+- CloudWatch alarms
+- CloudWatch metrics
+- CloudWatch Log groups
+- DynamoDB tables
+- EC2 Internet Gateways
+- EC2 instances
+- EC2 Snapshots
+- EC2 Spot instances
+- EC2 Key pairs
+- EC2 Placement groups
+- ECR repositories
+- ECS clusters
+- ECS services
+- ECS tasks
+- EKS clusters
+- Elastic IPs
+- Elastic LoadBalancers
+- Elastic file systems
+- ElasticSearch clusters
+- IAM policies
+- IAM roles
+- IAM SAML providers
+- KMS keys
+- Lambda functions
+- RDS clusters
+- S3 buckets
+- SNS topics
+- SQS queues
+- Security groups
+- Subnets
+- VPCs
+- Volumes
+- OpenSearch domains
+
+## Komiser configurations
+
+From Komiser v3 onwards we specify our komiser configuration by way of a `config.toml` file. If you place the config.toml file in the same directory as the Komiser binary then it will pick it up by default, if it's placed in a different location, then we need to pass in the path using the `--config` flag.
+
+Example `start` command
+
+```
+komiser start
+```
+
+## Config.toml file
+
+---
+
+![config-file](/img/config-komiser.png)
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the config.toml file, using either the `ENVIRONMENT_VARIABLES` or `CREDENTIALS_FILE`.
+
+### Data persistence
+
+Choose between these two methods of persisting your AWS Account data.
+
+#### Postgres
+
+**Add to config.toml file**
+
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+#### SQLite
+
+```
+# Add to config.toml file
+
+[sqlite]
+ file = "komiser.db"
+```
+
+_The reason for this external data persistence is to improve the filtering, sorting and tagging management experience making it faster and smoother. It also serves as a standalone DB which you are free to query and visualize as you see fit._
+
+### Example config.toml
+
+```
+[[aws]]
+name="sandbox"
+source="CREDENTIALS_FILE"
+path=./path/to/credentials/file
+profile="default"
+
+[[aws]]
+name="staging"
+source="CREDENTIALS_FILE"
+path=./path/to/credentials/file
+profile="staging-account"
+
+[[gcp]]
+name="production"
+source="ENVIRONMENT_VARIABLES"
+# path=./path/to/credentials/file specify if CREDENTIALS_FILE is used
+profile="production"
+
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+
+## Configuring Credentials
+
+When using the CLI you'll generally need your AWS credentials to authenticate with AWS services. Komiser supports multiple methods of providing these credentials. By default the CLI will source credentials automatically from its default credential chain.
+In the `source` section of the cloud profile inside the `config.toml` file we can choose between `ENVIRONMENT_VARIABLES` or `CREDENTIALS_FILE`
+
+- Environment Credentials - Set of environment variables that are useful when sub processes are created for specific roles. Useful for local development
+
+```
+[[gcp]]
+name="production"
+source="ENVIRONMENT_VARIABLES"
+profile="production"
+```
+
+- EC2 Instance Role Credentials - Use EC2 Instance Role to assign credentials to application running on an EC2 instance. This removes the need to manage credential files in production.
+
+```
+[[aws]]
+name="sandbox"
+source="CREDENTIALS_FILE"
+path=./path/to/credentials/file
+profile="default"
+```
+
+### Credentials file
+
+It is not recommended to add your AWS Access and Secret Access key in the credentials file in `production`. The most secure way of authentication is by using temporary credentials through IAM roles.
+
+Example
+
+```
+[ADMIN-account]
+region = eu-central-1
+role_arn = arn:aws:iam::ACCOUNT-ID:role/IAMRoleName
+web_identity_token_file = /var/run/secrets/eks.amazonaws.com/serviceaccount/token
+
+[DEV-account]
+region = eu-central-1
+role_arn = arn:aws:iam::ACCOUNT-ID:role/IAMRoleName
+source_profile = ADMIN-account
+role_session_name = komiser_session
+```
+
+## Local Komiser CLI
+
+---
+
+### Create an IAM user
+
+- Create an IAM user with the following IAM [policy](https://raw.githubusercontent.com/mlabouardy/komiser/master/policy.json):
+
+```
+wget https://raw.githubusercontent.com/mlabouardy/komiser/master/policy.json
+```
+
+### Add user credentials locally
+
+- Add your **Access Key ID** and **Secret Access Key** to _~/.aws/credentials_ using this format
+
+```
+[default]
+aws_access_key_id =
+aws_secret_access_key =
+region =
+```
+
+### Run Komiser CLI
+
+- That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+## Komiser CLI (Restricted regions)
+
+---
+
+There might be times when you would like to specifically restrict the scope of Komiser's reach to a specific cloud region or a subset of them. This can be useful for organizations with tight SCPs in place.
+Add the `--regions` flag to the `Komiser start` command and seperate the regions with commas.
+
+```
+komiser start --regions eu-central-1,us-east-1,ap-southeast-1
+
+```
+
+> Note that all AWS Global resources in your account will be retrieved even using the `--regions`
+
+## EKS installation (single account)
+
+---
+
+Link to [repository](https://github.com/tailwarden/helm/blob/master/README.md#configuration-single-aws-account)
+
+We will be using the official Komiser [Helm Chart](https://github.com/tailwarden/helm#configuration-multiple-aws-accounts) to deploy Komiser to our EKS cluster.
+
+### Prerequisite
+
+- [Helm](https://helm.sh/docs/intro/install/) installed locally
+
+### Create and IAM OIDC provider for your cluster
+
+1. Open the Amazon [EKS](https://console.aws.amazon.com/eks/home#/clusters)\.
+
+1. Select the name of your cluster\.
+
+1. In the **Details** section on the **Overview** tab, note the value of the **OpenID Connect provider URL**\.
+
+1. Open the IAM console at [https://console\.aws\.amazon\.com/iam/](https://console.aws.amazon.com/iam/)\.
+
+1. In the left navigation pane, choose **Identity Providers** under **Access management**\. If a **Provider** is listed that matches the URL for your cluster, then you already have a provider for your cluster\. If a provider isn't listed that matches the URL for your cluster, then you must create one\.
+
+1. To create a provider, choose **Add Provider**\.
+
+1. For **Provider Type**, choose **OpenID Connect**\.
+
+1. For **Provider URL**, paste the OIDC issuer URL for your cluster, and then choose **Get thumbprint**\.
+
+1. For **Audience**, enter `sts.amazonaws.com` and choose **Add provider**\.
+
+### Create IAM role and attach a Komiser IAM policy
+
+1. Open the IAM console at [https://console\.aws\.amazon\.com/iam/](https://console.aws.amazon.com/iam/)\.
+
+1. In the left navigation pane, choose **Policies** and then choose **Create policy**\.
+
+1. Choose the **JSON** tab\.
+
+1. In the **Policy Document** field, paste the Komiser recommended [policy](https://github.com/mlabouardy/komiser/blob/master/policy.json).
+
+1. Choose **Review policy**\.
+
+1. Enter a name and description for your policy and then choose **Create policy**\.
+
+1. Record the Amazon Resource Name \(ARN\) of the policy to use later when you create your role\.
+
+### Create an IAM role for a service account
+
+
+
+1. Let's generate the `trust relationship` policy. Copy the following code block to your computer.
+
+ ```
+ read -r -d '' TRUST_RELATIONSHIP < trust.json
+ ```
+
+`NOTE: Make sure to substitute ${NAMESPACE} for the namespace you will deploy the helm chart in. If deployed in any other namespace, you will see sts:AssumeRoleWithWebIdentity failure messages in the pod logs.`
+
+1. Run the modified code block from the previous step to create a file named _`trust.json`_\.
+
+1. Run the following AWS CLI command to create the role\. Replace `my-iam-role` with a name for your IAM role, and `my-role-description` with a description for your role\.
+
+ ```
+ aws iam create-role --role-name my-iam-role --assume-role-policy-document file://trust.json --description "my-role-description"
+ ```
+
+1. Run the following command to attach an IAM policy to your role\. Replace `my-iam-role` with the name of your IAM role, `111122223333` with your account ID \(or with **aws**, if you're attaching an AWS managed policy\), and `my-iam-policy` with the name of an existing policy that you created or an IAM AWS managed policy\.
+
+ ```
+ aws iam attach-role-policy --role-name my-iam-role --policy-arn=arn:aws:iam::111122223333:policy/my-iam-policy
+ ```
+
+### Update ServiceAccount
+
+Update [templates/service-account.yaml](https://github.com/tailwarden/helm/blob/master/templates/service-account.yaml) with the IAM role you've created previously
+
+```
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: komiser
+ annotations:
+ eks.amazonaws.com/role-arn: arn:aws:iam::ACCOUNT_ID:role/ROLE_NAME
+```
+
+### Add custom values to config.toml file in [configMap template](https://github.com/tailwarden/helm/blob/master/templates/configmap-awsaccounts.yaml)
+
+```
+[[aws]]
+name="NAME"
+source="CREDENTIALS_FILE" // or use "ENVIRONMENT_VARIABLES"
+path="path/to/credentials"
+profile="default"
+
+[sqlite]
+file="komiser.db"
+
+// or
+// [postgres]
+// uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+
+### Installing the chart
+
+To install the chart:
+
+```bash
+$ helm install -f values.yaml komiser .
+```
+
+The above command deploys Komiser on the Kubernetes cluster in the default configuration.
+
+### Here's a video tutorial on how to deploy Komiser to an EKS cluster:
+
+
+
+
+
+## Multiple account EKS (Helm chart) installation
+
+---
+
+Link to [README](https://github.com/tailwarden/helm/blob/master/README.md#configuration-multiple-aws-accounts) file with step by step instructions.
+
+Steps for a container to access the resources in multiple AWS accounts.
+We are working with two example clusters, ADMIN and DEV cluster.
+
+Solution diagram:
+![solutions-diagram](/img/multi-account-graph.png)
+
+### Create and IAM OIDC provider for your cluster
+
+1. Open the Amazon EKS console at [https://console\.aws\.amazon\.com/eks/home\#/clusters](https://console.aws.amazon.com/eks/home#/clusters)\.
+
+1. Select the name of your cluster\.
+
+1. In the **Details** section on the **Overview** tab, note the value of the **OpenID Connect provider URL**\.
+
+1. Open the IAM console at [https://console\.aws\.amazon\.com/iam/](https://console.aws.amazon.com/iam/)\.
+
+1. In the left navigation pane, choose **Identity Providers** under **Access management**\. If a **Provider** is listed that matches the URL for your cluster, then you already have a provider for your cluster\. If a provider isn't listed that matches the URL for your cluster, then you must create one\.
+
+1. To create a provider, choose **Add Provider**\.
+
+1. For **Provider Type**, choose **OpenID Connect**\.
+
+1. For **Provider URL**, paste the OIDC issuer URL for your cluster, and then choose **Get thumbprint**\.
+
+1. For **Audience**, enter `sts.amazonaws.com` and choose **Add provider**\.
+
+### Register the `ADMIN` OIDC provider in the `DEV` cluster
+
+1. Grab the **OpenID Connect provider URL** from the **ADMIN** account.
+
+2. Open the IAM console at [https://console\.aws\.amazon\.com/iam/](https://console.aws.amazon.com/iam/)\.
+
+3. In the left navigation pane, choose **Identity Providers** under **Access management**\.
+
+4. To create a provider, choose **Add Provider**\.
+
+5. For **Provider Type**, choose **OpenID Connect**\.
+
+6. For **Provider URL**, paste the ADMIN OIDC issuer URL, and then choose **Get thumbprint**\.
+
+7. For **Audience**, enter `sts.amazonaws.com` and choose **Add provider**\.
+
+### Create A `DEV IAM role`
+
+- Add the recommended [Komiser policy](https://github.com/tailwarden/komiser/blob/master/policy.json)
+- Create a Trust Relathionship with the `ADMIN` role (once it's created)
+
+```
+ {
+ "Version": "2012-10-17",
+ "Statement": [
+ {
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": "arn:aws:iam::${ADMIN_ACCOUNT_ID}:role/${ROLE_NAME}"
+ },
+ "Action": "sts:AssumeRole",
+ "Condition": {}
+ }
+ ]
+ }
+```
+
+### Create an `ADMIN IAM role`
+
+- Create a [role](#create-iam-role-and-attach-a-komiser-iam-policy) with the same configuration as above.
+- Additionally attach the policy to assume the `DEV` role
+
+```
+ {
+ "Version": "2012-10-17",
+ "Statement": [
+ {
+ "Effect": "Allow",
+ "Action": "sts:AssumeRole",
+ "Resource": "arn:aws:iam::${DEV_ACCOUNT_ID}:role/${ROLE_NAME}"
+ }
+ ]
+ }
+```
+
+### Add the `ADMIN` role to the ServiceAccount
+
+Add your values for `ACCOUNT_ID` and `ROLE_Name`
+
+```
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: komiser
+ annotations:
+ eks.amazonaws.com/role-arn: arn:aws:iam::ACCOUNT_ID:role/ROLE_NAME
+```
+
+### Add a ConfigMap to the `/templates` folder
+
+1. Add the configmap.yaml file the the `/templates` folder in the root of the repository.
+
+ ```
+ apiVersion: v1
+ kind: ConfigMap
+ data:
+ config.toml: |-
+ [[aws]]
+ name="admin"
+ source="CREDENTIALS_FILE"
+ path=/path/to/credentials/file
+ profile="ADMIN-account" # Required if CREDENTIALS_FILE is set
+
+ [[aws]]
+ name="dev"
+ source="CREDENTIALS_FILE"
+ path=/path/to/credentials/file
+ profile="ADMIN-account" # Required if CREDENTIALS_FILE is set
+ metadata:
+ annotations:
+ meta.helm.sh/release-name: ${RELEASE_NAME}
+ meta.helm.sh/release-namespace: ${NAMESPACE}
+ labels:
+ app.kubernetes.io/managed-by: Helm
+ name: aws-configmap
+ namespace: ${NAMESPACE}
+ ```
+
+### Mount the ConfigMap to the Deployment manifest
+
+1. Make sure not to change the mount path or internal volume path, paths should match the example below.
+2. Add the correct `config.toml` path to `command` to the container to allow a multi account setup.
+3. Have a valid credentials file that the deployment has access to.
+
+ ```
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+ name: komiser
+ spec:
+ selector:
+ matchLabels:
+ app: komiser
+ template:
+ metadata:
+ name: komiser
+ labels:
+ app: komiser
+ spec:
+ serviceAccountName: komiser
+ containers:
+ - name: {{ .Chart.Name }}
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ command: ["komiser","start","--config","/root/.aws/config.toml"]
+ env:
+ - name: AWS_DEFAULT_REGION
+ value: "{{ .Values.aws.region }}"
+ - name: AWS_CONFIG_FILE
+ value: /root/.aws/credentials
+ volumeMounts:
+ - name: test-volume
+ mountPath: /root/.aws/
+ volumes:
+ - name: test-volume
+ configMap:
+ name: aws-configmap
+ ```
diff --git a/versioned_docs/version-3.0.0/Cloud Providers/azure.md b/versioned_docs/version-3.0.0/Cloud Providers/azure.md
new file mode 100644
index 0000000..ed42134
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Cloud Providers/azure.md
@@ -0,0 +1,141 @@
+---
+slug: /cloud-providers/azure
+title: Azure
+sidebar_label: Azure
+---
+
+# Azure
+
+## Supported resources
+- Disks
+- Machine Images
+- Virtual Machines
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `Service principal` environment variables as seen below.
+
+## Data persistence
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+## Configuring Credentials
+
+The Azure credentials required to successfully integrate Komiser and Azure can be generated by using a β[service principal](https://learn.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli)β. An Azure `service principal` is an identity created for use with applications, hosted services, and automated tools to access Azure resources.
+
+Once the Komiser service provider is created, we will add the associated `environment variables` to the config.toml file.
+
+### Creating a service principal
+First, install the [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) (az).
+
+Then, login with the Azure CLI running:
+```
+ az login
+```
+
+Now, create the service principal and give it a name of your choice by running the following command:
+```
+export subscriptionId=
+az account set --subscription $subscriptionId
+az provider register --namespace 'Microsoft.Security'
+
+# Create a service-principal for Komiser to use.
+az ad sp create-for-rbac --name komiser-sp --scopes /subscriptions/$subscriptionId --role Reader
+```
+> WARNING: The output of the `az ad sp create-for-rbac` command contains sensitive credentials, donβt share the output publically.
+
+### Locate the environment variables
+Find your environment variables by running:
+```
+az ad sp create-for-rbac
+```
+The output should look something like this:
+```
+{
+ "appId": "clientId",
+ "displayName": "komiser-sp",
+ "password": "clientSecret",
+ "tenant": "tenantId"
+}
+```
+
+### Add your Azure environment variables to your configuration file
+
+Copy them from the output of `az ad sp create-for-rbac`. Check the mapping below for each value.
+
+`tenantId` is `tenant` in the JSON.
+
+`clientId` is `appId` in the JSON.
+
+`clientSecret` is `password` in the JSON.
+
+`subscriptionId` can be found [here](https://learn.microsoft.com/en-us/azure/azure-portal/get-subscription-tenant-id).
+
+Copy your credentials as seen down below to integrate your Azure account to Komiser by adding a block to the `config.toml` file as follows:
+
+```
+[[azure]]
+name="Azure-account-name"
+tenantId=""
+clientId=""
+clientSecret=""
+subscriptionId=""
+
+[sqlite]
+file="komiser.db
+```
+
+
+The above example integrates a single Azure account to Komiser, if you want to add [more accounts](./azure.md#local-komiser-cli-multiple-accounts) you would add additional `[[azure]]` blocks, adding unique credentials to each block.
+
+>Currently, if you want to integrate your Azure account with Komiser's `Azure support (v1)`, the only option available is to add your sensitive credentials directly in the config.toml file. While this is a viable solution for testing and development environments, we recognize that it's `not a production-ready solution`, and we're actively working on delivering more secure and scalable authentication options in future updates.
+
+Once you have added the environment variables to the configuration file, in the same directory, run the command:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[azure]]
+name="Azure-account-name"
+tenantId=""
+clientId=""
+clientSecret=""
+subscriptionId=""
+
+[[azure]]
+name="Azure-account-name2"
+tenantId=""
+clientId=""
+clientSecret=""
+subscriptionId=""
+
+[[azure]]
+name="Azure-account-name3"
+tenantId=""
+clientId=""
+clientSecret=""
+subscriptionId=""
+
+[sqlite]
+file="komiser.db
+```
\ No newline at end of file
diff --git a/versioned_docs/version-3.0.0/Cloud Providers/civo.md b/versioned_docs/version-3.0.0/Cloud Providers/civo.md
new file mode 100644
index 0000000..5fdf1d9
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Cloud Providers/civo.md
@@ -0,0 +1,107 @@
+---
+slug: /cloud-providers/civo
+title: Civo
+sidebar_label: Civo
+---
+
+# Civo
+
+## Supported resources
+- Compute instances
+- Firewalls
+- Kubernetes clusters
+- LoadBalancers
+- Networks
+- Object stores
+- Volumes
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `API Token`.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+Firstly grab your API key from your Civo account.
+Under `Profile/Security/API key`
+Need help finding it? Head on over to the official Civo [documentation](https://www.civo.com/docs/account/api-keys).
+
+### Add your Civo API token to your configuration file
+
+```
+[[civo]]
+name="demo-account"
+token="yourApiTokenHere"
+
+[sqlite]
+file="komiser.db
+```
+
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[civo]]
+name="demo-account"
+token="yourApiTokenHere"
+
+[[civo]]
+name="sandbox"
+token="yourSandboxApiTokenHere"
+
+[[civo]]
+name="production"
+token="yourProductionApiTokenHere"
+
+[sqlite]
+file="komiser.db
+```
+
+### Watch Civo integration tutorial
+
+
+
\ No newline at end of file
diff --git a/versioned_docs/version-3.0.0/Cloud Providers/digital-ocean.md b/versioned_docs/version-3.0.0/Cloud Providers/digital-ocean.md
new file mode 100644
index 0000000..60642ef
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Cloud Providers/digital-ocean.md
@@ -0,0 +1,82 @@
+---
+slug: /cloud-providers/digital-ocean
+title: Digital Ocean
+sidebar_label: Digital Ocean
+---
+
+# Digital Ocean
+
+## Supported resources
+- Droplets
+- Firewalls
+- LoadBalancers
+- VPCs
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `Personal access Token`.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+Firstly create your DigitalOcean `personal access token` from the DigitalOcean console.
+
+Click the `API` link in the main navigation, which takes you to the `Applications & API` page on the `Tokens/Keys` tab. In the Personal access tokens section, click the `Generate New Token` button.
+
+Need help finding it? Head on over to the official DigitalOcean [documentation](https://docs.digitalocean.com/reference/api/create-personal-access-token/).
+
+### Add your DigitalOcean personal access token to your configuration file
+
+```
+[[digitalocean]]
+name="demo-account"
+token="yourApiTokenHere"
+
+[sqlite]
+file="komiser.db
+```
+
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[digitalocean]]
+name="demo-account"
+token="yourApiTokenHere"
+
+[[digitalocean]]
+name="sandbox"
+token="yourSandboxApiTokenHere"
+
+[[digitalocean]]
+name="production"
+token="yourProductionApiTokenHere"
+
+[sqlite]
+file="komiser.db
+```
\ No newline at end of file
diff --git a/versioned_docs/version-3.0.0/Cloud Providers/gcp.md b/versioned_docs/version-3.0.0/Cloud Providers/gcp.md
new file mode 100644
index 0000000..10f8e37
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Cloud Providers/gcp.md
@@ -0,0 +1,116 @@
+---
+slug: /cloud-providers/google-cloud-platform
+title: Google Cloud Platform
+sidebar_label: Google Cloud Platform (GCP)
+---
+
+# Google Cloud Platform
+
+## Supported resources
+
+- Certificate Manager
+- Cloud Storage Buckets
+- Cloud Functions
+- Compute Engine VM Instances
+- IAM Roles
+- IAM Service Accounts
+- SQL Instances
+- BigQuery tables
+- SSL certificates
+- Redis instances
+- Gateways
+- KMS Keys
+- Disks
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account credentials as shown below.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+ uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+To enable Komiser collecting your GCP resources, you need to have a [Service Account](https://cloud.google.com/iam/docs/service-account-overview) setup with at least the following permissions:
+
+- `storage.buckets.list` to list Buckets
+- `compute.instances.list` to list VM instances
+- `monitoring.timeSeries.list` to allow for cost estimation of your Buckets
+
+Create and download the Service Account as JSON from the GCP console and store it on your machine. Add the following configuration to your `config.toml`:
+
+```toml
+[[gcp]]
+ name="Sandbox"
+ serviceAccountKeyPath="/path/to/serviceAccount/serviceAccount.json"
+
+[sqlite]
+ file="komiser.db
+```
+
+The `name` can be anything you want. You can use different names in the case you want to connect more than one GCP account.
+
+Find your `organizationId` by pressing on the gear icon next to your Organization name.
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[gcp]]
+ name="AccountOne"
+ serviceAccountKeyPath="/path/to/serviceAccount/serviceAccount1.json"
+
+[[gcp]]
+ name="AccountTwo"
+ serviceAccountKeyPath="/path/to/serviceAccount/serviceAccount2.json"
+
+[sqlite]
+ file="komiser.db
+
+```
+
+## Run with Docker
+
+To expose the local Service Account file to the Docker container, run Komiser with following command:
+
+```
+ docker run \
+ -v /path/to/config.toml:/etc/config/config.toml \
+ -v /path/to/serviceAccount.json:/etc/config/serviceAccount.json \
+ -d -p 3000:3000 --name komiser tailwarden/komiser:latest \
+ komiser start --config /etc/config/config.toml
+```
+
+where `/path/to/serviceAccount.json` is the absolute path to the local file on your machine.
+
+Your `config.toml` should then look like this:
+
+```
+[[gcp]]
+ name="DockerAccount"
+ serviceAccountKeyPath="/etc/config/serviceAccount.json"
+
+[sqlite]
+ file="komiser.db
+```
\ No newline at end of file
diff --git a/versioned_docs/version-3.0.0/Cloud Providers/k8s.md b/versioned_docs/version-3.0.0/Cloud Providers/k8s.md
new file mode 100644
index 0000000..b4b19ea
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Cloud Providers/k8s.md
@@ -0,0 +1,100 @@
+---
+slug: /cloud-providers/kubernetes
+title: Kubernetes
+sidebar_label: Kubernetes
+---
+
+# Kubernetes
+
+## Supported resources
+- Deployments
+- Ingress controllers
+- Pods
+- PersistentVolumes
+- PersistentVolumeClaims
+- ServiceAccounts
+- Services
+
+## Local Komiser CLI integration with Kubernetes
+
+Komiser now supports multiple cloud accounts and Kubernetes clusters by default. Account configuration is done through the `config.toml` file.
+
+Pass in the path to your cluster's `config` file. Which you can find in your local `./kube` folder.
+
+### Data persistence
+Choose between these two methods of persisting your Kubernetes cluster data.
+
+#### Postgres
+**Add to config.toml file**
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+#### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+Firstly locate your Kubernetes `config` file.
+
+```
+β ~ cd .kube
+β .kube pwd
+β /Users/user-name/.kube/config
+```
+
+### Add the path to .kube/config in the configuration file.
+
+```
+[[k8s]]
+name="demo-account"
+path="path/to/.kube/config"
+
+[sqlite]
+file="komiser.db
+```
+
+### Run it!
+* That should be it. Try out the following command from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+### You should see something like this!
+> In komiser v3.0.1 only `pods` and `services` are supported. More Kubernetes resources will be added shortly.
+
+![Kubernetes-dashboard](/img/kubernetes-image-docs.png)
+
+### Here's a video tutorial on how to integrate your Kubernetes cluster with Komiser:
+
+
+
+
\ No newline at end of file
diff --git a/versioned_docs/version-3.0.0/Cloud Providers/linode.md b/versioned_docs/version-3.0.0/Cloud Providers/linode.md
new file mode 100644
index 0000000..a97460e
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Cloud Providers/linode.md
@@ -0,0 +1,85 @@
+---
+slug: /cloud-providers/linode
+title: Linode
+sidebar_label: Linode
+---
+
+# Linode
+
+## Supported resources
+- Buckets
+- Compute instances
+- Databases
+- Firewalls
+- NodeBalancers
+- Volumes
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `API Token`.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+Firstly grab your Personal Access token from your Linode account.
+
+- Log in to the Cloud Manager
+- Click on your username at the top of the screen and select `API Tokens` under the `My Profile` section.
+
+Need help finding it? Head on over to the official Civo [documentation](https://www.linode.com/docs/products/tools/api/guides/manage-api-tokens/).
+
+### Add your Linode API token to your configuration file
+
+```
+[[linode]]
+name="Staging-Account"
+token="YOUR TOKEN"
+
+[sqlite]
+file="komiser.db
+```
+
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[linode]]
+name="Development-Account"
+token="YOUR DEV ACOUNT TOKEN"
+
+[[linode]]
+name="Staging-Account"
+token="YOUR STAGING ACCOUNT TOKEN"
+
+[[linode]]
+name="Production-Account"
+token="YOUR PROD ACCOUNT TOKEN"
+
+[sqlite]
+file="komiser.db
+```
diff --git a/versioned_docs/version-3.0.0/Cloud Providers/mongodbatlas.md b/versioned_docs/version-3.0.0/Cloud Providers/mongodbatlas.md
new file mode 100644
index 0000000..4ca2e09
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Cloud Providers/mongodbatlas.md
@@ -0,0 +1,86 @@
+---
+slug: /cloud-providers/mongodb-atlas
+title: MongoDB Atlas
+sidebar_label: MongoDB Atlas
+---
+
+# MongoDB Atlas
+
+## Supported resources
+
+- Clusters
+
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `API Token`.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+ uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+To enable Komiser collecting your MongoDB Atlas Clusters, you need to add following configuration to the `config.toml`:
+
+```toml
+[[mongodbatlas]]
+ name="MyMongoDBAtlasAccount"
+ organizationId="organizationId"
+ publicApiKey="publicApiKey"
+ privateApiKey="privateApiKey"
+
+
+[sqlite]
+ file="komiser.db
+```
+
+The `name` can be anything you want. You can use different names in the case you want to connect more than one MongoDB Atlas account.
+
+Find your `organizationId` by pressing on the gear icon next to your Organization name.
+
+![](/img/mongodbatlas-orgid-1.png)
+
+To generate `publicApiKey` and `privateApiKey` you have to be an **Organization Owner**. On the **Settings** page where you've copied the `organizationId`, select **Access Manager** from the sidebar navigation. Create the public/private key pair and paste it in the the respective fields from the above configuration.
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[mongodbatlas]]
+ name="FirstAccount"
+ organizationId="organizationId"
+ publicApiKey="publicApiKey"
+ privateApiKey="privateApiKey"
+
+[[mongodbatlas]]
+ name="SecondAccount"
+ organizationId="organizationId"
+ publicApiKey="publicApiKey"
+ privateApiKey="privateApiKey"
+
+
+[sqlite]
+file="komiser.db
+```
diff --git a/versioned_docs/version-3.0.0/Cloud Providers/oci.md b/versioned_docs/version-3.0.0/Cloud Providers/oci.md
new file mode 100644
index 0000000..2c48f4c
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Cloud Providers/oci.md
@@ -0,0 +1,176 @@
+---
+slug: /cloud-providers/oci
+title: Oracle Cloud Infrastructure (OCI)
+sidebar_label: Oracle Cloud Infrastructure (OCI)
+---
+
+# Oracle Cloud Infrastructure (OCI)
+
+## Supported resources
+- Autonomous databases
+- Compute instances
+- Functions
+- Identity policies
+- Object storage
+- Storage block volumes
+
+## Local Komiser CLI (Single Account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the config.toml file, using the `CREDENTIALS_FILE` method.
+We've also added 2 methods of persisting your account data.
+
+### Data persistence
+Choose between these two methods of persisting your OCI account data.
+#### Postgres
+**Add to config.toml file**
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+#### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuration file
+In the configuration file you add the OCI account name, authentication method (CREDENTIALS_FILE) and a data persistence.
+
+```
+[[oci]]
+name="sandbox-account"
+source="CREDENTIALS_FILE"
+path="Users/name/.oci/credentials"
+profile="default"
+
+[sqlite]
+file="komiser.db
+```
+
+### Credentials file
+Use an OCI user and an API key for authentication. In this case, youβll need to put your tenancy OCID, user OCID, region name, the path to an API key, and the fingerprint of the API key.
+
+> Download OCI CLI, find instructions [here](https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/cliinstall.htm)
+
+The easiest way is to let OCI walk you through the setup process by executing the following command:
+```
+$ oci setup config
+
+Enter a location for your config [/home/opc/.oci/config]:
+Enter a user OCID: ocid1.user.oc1..
+Enter a tenancy OCID: ocid1.tenancy.oc1..
+Enter a region by index or name(e.g. 1: ap-chiyoda-1, 2: ap-chuncheon-1, ...: eu-frankfurt-1
+Do you want to generate a new API Signing RSA key pair? [Y/n]: Y
+Enter a directory for your keys to be created [/home/opc/.oci]:
+Enter a name for your key [oci_api_key]:
+Enter a passphrase for your private key (empty for no passphrase):
+
+```
+Now, a config file and key pair have been created in your local `.oci` folder:
+
+```
+$ ls -la /home/opc/.oci/
+-rw-------. 1 opc opc 302 Oct 1 11:13 config
+-rw-------. 1 opc opc 1675 Oct 1 11:13 oci_api_key.pem
+-rw-------. 1 opc opc 451 Oct 1 11:13 oci_api_key_public.pem
+
+
+$ cat /home/opc/.oci/config
+[DEFAULT]
+user=ocid1.user.oc1..
+fingerprint=e1:c8:bb:6a:71:c4:d6:28:90:7a:e3:23:0a:ed:d5:8d
+key_file=/home/opc/.oci/oci_api_key.pem
+tenancy=ocid1.tenancy.oc1..
+region=eu-eu-paris-1
+key_password=PASSWORD
+```
+Since Komiser looks for credentials in a file called `credentials`. Create a `credentials` file in the `.oci` folder and copy the contents of the `config` file to it.
+
+
+### Contents of credentials file
+```
+[DEFAULT]
+user=ocid1.user.oc1....
+fingerprint=e8:99:10:45:54:c4:3d:c6:61:9e:42:e0:51:c0:76:cc
+key_path="/Users/jakepage/.oci/oci_api_key.pem"
+tenancy=ocid1.tenancy.oc1...
+region=eu-paris-1
+key_password=PASSWORD
+```
+
+> Make sure that the path added in the `config.toml` is correct to ensure that Komiser has access to the credentials file.
+
+
+### Run it!
+That should be it. Try out the following command from your command prompt to start the server:
+
+```
+komiser start
+```
+
+If you point your browser to `http://localhost:3000`, you should be able to see your OCI resources.
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[oci]]
+name="sandbox-account"
+source="CREDENTIALS_FILE"
+path="Users/name/.oci/credentials"
+profile="DEFAULT"
+
+[[oci]]
+name="admin-account"
+source="CREDENTIALS_FILE"
+path="Users/name/.oci/credentials"
+profile="ADMIN"
+
+[[oci]]
+name="production-account"
+source="CREDENTIALS_FILE"
+path="Users/name/.oci/credentials"
+profile="PRODUCTION"
+
+[sqlite]
+file="komiser.db
+```
+
+### Contents of credentials file
+```
+[DEFAULT]
+user=ocid1.user.oc1....
+fingerprint=e8:99:10:45:54:c4:3d:c6:61:9e:42:e0:51:c0:76:cc
+key_path="/Users/jakepage/.oci/oci_api_key.pem"
+tenancy=ocid1.tenancy.oc1...
+region=eu-paris-1
+key_password=PASSWORD
+
+[ADMIN]
+user=ocid1.user.oc1....
+fingerprint=e8:99:10:45:54:c4:3d:c6:61:9e:42:e0:51:c0:76:cc
+key_path="/Users/jakepage/.oci/oci_api_key.pem"
+tenancy=ocid1.tenancy.oc1...
+region=eu-paris-1
+key_password=PASSWORD
+
+[PRODUCTION]
+user=ocid1.user.oc1....
+fingerprint=e8:99:10:45:54:c4:3d:c6:61:9e:42:e0:51:c0:76:cc
+key_path="/Users/jakepage/.oci/oci_api_key.pem"
+tenancy=ocid1.tenancy.oc1...
+region=eu-paris-1
+key_password=PASSWORD
+```
+
+### Run it!
+That should be it. Try out the following command from your command prompt to start the server:
+
+```
+komiser start
+```
+
+If you point your browser to `http://localhost:3000`, you should be able to see your OCI resources.
diff --git a/versioned_docs/version-3.0.0/Cloud Providers/ovh.md b/versioned_docs/version-3.0.0/Cloud Providers/ovh.md
new file mode 100644
index 0000000..fbfbe6b
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Cloud Providers/ovh.md
@@ -0,0 +1,58 @@
+# OVHcloud
+
+## Local Komiser CLI (Single Account)
+
+### Data persistence
+Choose between these two methods of persisting your OVH account data.
+#### Postgres
+**Add to config.toml file**
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+#### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Create and API
+* Create an API application from [here](https://eu.api.ovh.com/createToken/).
+
+### Configure correct enviroment variables
+* This CLI will first look for direct instanciation parameters then `OVH_ENDPOINT`, `OVH_APPLICATION_KEY`, `OVH_APPLICATION_SECRET` and `OVH_CONSUMER_KEY` environment variables. If either of these parameter is not provided, it will look for a configuration file of the form:
+
+```
+[default]
+; general configuration: default endpoint
+endpoint=ovh-eu
+
+[ovh-eu]
+; configuration specific to 'ovh-eu' endpoint
+application_key=my_app_key
+application_secret=my_application_secret
+consumer_key=my_consumer_key
+```
+
+* The CLI will successively attempt to locate this configuration file in
+
+ * Current working directory: `./ovh.conf`
+ * Current user's home directory `~/.ovh.conf`
+ * System wide configuration `/etc/ovh.conf`
+
+
+### Run it!
+* That should be it. Try out the following command from your command prompt to start the server:
+
+```
+komiser start --port 3000
+```
+
+* If you point your browser to http://localhost:3000, you should be able to see your projects:
+
+
+
+
\ No newline at end of file
diff --git a/versioned_docs/version-3.0.0/Cloud Providers/scaleway.md b/versioned_docs/version-3.0.0/Cloud Providers/scaleway.md
new file mode 100644
index 0000000..4ff1f5e
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Cloud Providers/scaleway.md
@@ -0,0 +1,103 @@
+---
+slug: /cloud-providers/scaleway
+title: Scaleway
+sidebar_label: Scaleway
+---
+
+# Scaleway
+
+## Supported resources
+- Compute Instances
+- Container Registries
+- Databases
+- Functions
+- Kubernetes Clusters
+- Load Balancers
+- Serverless Containers
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `Scaleway credentials`.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+The Scaleway credentials required to successfully integrate Komiser can be easily generated by:
+
+#### Creating and [API key](https://www.scaleway.com/en/docs/identity-and-access-management/iam/how-to/create-api-keys/) which generates `accessKey` and `secretKey`
+- Click Identity and Access Management (IAM) from the top-right of your [Organization Dashboard](https://console.scaleway.com/organization) in the Scaleway console. You are taken to your [Identity and Access Management](https://console.scaleway.com/iam/users) dashboard.
+- Click the `API Keys` tab.
+- Click the `β button` to generate a new API key.
+- Select the bearer of the API key. Choose between yourself (as an IAM user), or an IAM [application](https://www.scaleway.com/en/docs/identity-and-access-management/iam/concepts/#application) associated with the Organization.
+- Enter an optional description for the API key.
+- Enter the desired `expiration` period.
+- Click `Generate API Key`.
+
+#### Locate the Organization ID
+- Access the [Organization Dashboard](https://console.scaleway.com/organization).
+- In the Organization window click `Settings` to locate `organization ID`
+- Add the credentials to your `config.toml` file
+
+### Add your Scaleway credentials to your configuration file
+
+```
+[[scaleway]]
+name="demo-scaleway-account"
+accessKey="access_key"
+secretKey="secret_key"
+organizationId="organization_id"
+
+[sqlite]
+file="komiser.db
+```
+
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[scaleway]]
+name="demo-scaleway-account"
+accessKey="access_key"
+secretKey="secret_key"
+organizationId="organization_id"
+
+[[scaleway]]
+name="demo-scaleway-account-2"
+accessKey="access_key"
+secretKey="secret_key"
+organizationId="organization_id"
+
+[[scaleway]]
+name="demo-scaleway-account-3"
+accessKey="access_key"
+secretKey="secret_key"
+organizationId="organization_id"
+
+[sqlite]
+file="komiser.db
+```
\ No newline at end of file
diff --git a/versioned_docs/version-3.0.0/Cloud Providers/tencent.md b/versioned_docs/version-3.0.0/Cloud Providers/tencent.md
new file mode 100644
index 0000000..7503642
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Cloud Providers/tencent.md
@@ -0,0 +1,86 @@
+---
+slug: /cloud-providers/tencent
+title: Tencent
+sidebar_label: Tencent
+---
+
+# Tencent
+
+## Supported resources
+- Compute instances
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `API Token`.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+Firstly grab your Personal Access token from your Tencent account.
+
+- Log in to the `CODING Console` and click `Use Now` to go to `CODING` page.
+- Hover over your profile photo in the upper-right corner and click `Personal Settings`.
+- In the menu on the left, click `Access Token.`
+- Create an `access token`
+- Click Create Token, enter a token description, and select the access permissions for the token.
+- Click Create Token. When submitting the request, you will need to enter the service password to verify your identity.
+- Click OK to create the access token.
+- After submitting the request, you will be brought back to the list of access tokens, and the new token will be shown.
+
+Need help finding it? Head on over to the official Tencent [documentation](https://www.tencentcloud.com/document/product/1132/44731).
+
+### Add your Tencent Access token to your configuration file
+
+```
+[[tencent]]
+name="Staging-Account"
+token="YOUR TOKEN"
+
+[sqlite]
+file="komiser.db
+```
+
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[tencent]]
+name="Development-Account"
+token="YOUR DEV ACOUNT TOKEN"
+
+[[tencent]]
+name="Staging-Account"
+token="YOUR STAGING ACCOUNT TOKEN"
+
+[[tencent]]
+name="Production-Account"
+token="YOUR PROD ACCOUNT TOKEN"
+
+[sqlite]
+file="komiser.db
+```
diff --git a/versioned_docs/version-3.0.0/Contributing/contribute.md b/versioned_docs/version-3.0.0/Contributing/contribute.md
new file mode 100644
index 0000000..dc6492a
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Contributing/contribute.md
@@ -0,0 +1,50 @@
+---
+slug: /contributing/contribute
+title: contribute
+sidebar_label: Contribute
+---
+# Contribute
+
+This repository contains the files required to build the Komiser Documentation Hub. To any [contributors](https://github.com/tailwarden/komiser/blob/master/CONTRIBUTING.md) willing to add to the project, before anything else, Thank you!
+
+## Contributing to the docs
+
+- The best way to get started is by reading the ["Contributor's Guide" blog post](https://www.tailwarden.com/blog/how-to-contribute-to-komiser?utm_source=docs&utm_medium=referral) along with the [Contributor Guidelines](https://github.com/tailwarden/komiser/blob/master/CONTRIBUTING.md).
+- Afterwards, go ahead and **fork** the docs [repository](https://github.com/tailwarden/docs). Make any changes you want to your fork, and when you're ready to send those changes to us, go to your fork and create a new pull request.
+
+- If it takes longer than expected to get feedback from the `Tailwarden` team, head over to the [Discord Server](https://discord.tailwarden.com) and **ping** a Tailwarden staff member either in the `#general` or `#feedback` channel, unless you are a member of the private `contributor` channel. You can always request access to this channel.
+
+- Once your pull request has been opened, it will be assigned to one or more reviewers. Those reviewers will do a thorough code review, looking for correctness, bugs, opportunities for improvement, documentation, comments, and style
+
+- Make sure you include relevant updates or additions to documentation when creating or modifying features.
+Once youβve received review and approval, your commits are squashed, and your PR is ready for merging.
+
+- Congrats youβre officially a Komiser contributor π
+
+### Contributor walk-through video
+
+
+
+
+
+---
+If you're in need of any assistance at any stage of your contributing journey please don't hesitate to reach out to anybody in the `#general` or `#feedback` discord channels, also let us know if you want to be added to the private `#contributors` channel too. Or directly to `@mlabouardy` or `@JakePage` who will always be happy to help.
\ No newline at end of file
diff --git a/versioned_docs/version-3.0.0/FAQ/faq.md b/versioned_docs/version-3.0.0/FAQ/faq.md
new file mode 100644
index 0000000..07d6d74
--- /dev/null
+++ b/versioned_docs/version-3.0.0/FAQ/faq.md
@@ -0,0 +1,81 @@
+---
+slug: /faqs
+title: FAQs
+sidebar_label: FAQs
+---
+
+# FAQs
+
+## What's the difference between Tailwarden and Komiser?
+
+Komiser is the open-source version of [Tailwarden](https://www.tailwarden.com/). To get a more in-depth description of what Komiser is, read it [here](/docs/Introduction/what-is-komiser.md). In short, Komiser is a tool that prioritizes cloud transparency regarding the cost of your cloud resources. That's why komiser makes it easy to track all the resources and costs related to them, cross regions, and cross accounts.
+
+Tailwarden on the other hand aims to be a more all-in-one DevOps tool. Tailwarden is built for Developers, CTOs, and Project Managers not only DevOps engineers.
+
+Tailwarden incorporates the Komiser cloud cost transparency features, along with security, governance features, and the ability to build custom dashboards on top of that. In addition with Tailwarden the user will get a consolidated view of all their cloud resources cross-account and cross-cloud-provider through the `Inventory page`.
+
+Tailwarden was established in late June 2022 and has a very ambitious feature roadmap that the team is working hard to deliver. So if an easy and accessible all-in-one cloud tool is something that could be valuable to you take a look at the [roadmap](https://tailwarden.canny.io/) (or even consider adding to it) and [join us](https://discord.tailwarden.com) for the ride.
+
+## What can Komiser help me with?
+
+Anybody who was ever tasked with managing a cloud provider account (that isn't a personal test account) understands how `painful` it is to track all the resources, cost, and security that goes along with it. Let alone managing multiple accounts, and let's not even get started about `multi-cloud` environments.
+
+Cloud providers for the most part are excellent, but they all have pretty `crummy web consoles`. Komiser brings **transparency** around what you have provisioned in your account and the cost it's incurring. You can toggle between cloud accounts and regions to uncover potentially **hidden costs**. Komiser brings to the **forefront** what was **hidden in the shadows**.
+
+## Is Komiser regularly maintained?
+
+Komiser is an open-source project that is actively maintained by the Tailwarden team. The tool is currently undergoing a complete frontend revamp which will bring new functionalities coming near the end of October 2022. Join the [Discord server](https://discord.tailwarden.com) so you don't miss any updates.
+
+## What is the dashboard data refresh rate?
+
+Komiser and Tailwarden consume the public cloud provider service APIs. So the refresh interval of the data visible in the dashboard is dependent on the cloud provider API refresh rate. For most service APIs in most cloud providers, the refresh rate is every `30 minutes`. We have gone to great lengths to ensure we do not cause any additional costs for your cloud account (including AWS, GCP and Azure), regardless of scale.
+
+## Is it easy to migrate from Komiser to Tailwarden?
+
+Yes, the migration process is very easy. Just open a Tailwarden account and link your cloud account credentials.
+
+## How can I use tags?
+
+**Tailwarden tags**
+
+On Tailwarden you can add in the Inventory section. Choose the resource you would like to tag and click in the three dots (...) under `Actions` and then fill in the pop-up.
+
+![add-tags](/img/add-tags.png)
+
+**Cloud provider tags**
+
+If you have resources tagged already in your cloud provider you will shortly to able to see those tags in the Komiser dashboard. You will be able to not only filter the tags you add on Komiser but also the tags configured in the cloud provider.
+
+**Komiser tags**
+
+Komiser will have the tagging feature delivered as part of the Komsier revamps efforts and will be delivered at the end of October as part of the Komiser v3.0.0 release.
+
+## How can I request a new feature?
+
+If you would like to request a feature to be added to Komiser, feel free to do so through any of the following channels:
+
+- GitHub [issues](https://github.com/tailwarden/komiser/issues)
+- Discord [server](https://discord.tailwarden.com) (#feature-requests channel)
+- During weekly Tailwarden Office House, book a slot [here](https://calendly.com/jake-tailwarden).
+- Via [Twitter](https://twitter.com/tailwarden)
+- Directly through our [Public Roadmap](https://roadmap.tailwarden.com/komiser)
+
+## Where can I see the upcoming features?
+
+Keep tabs on what we are working on by bookmarking our [public roadmap](https://tailwarden.canny.io/). We are aware that we have to always stay nimble and agile so if you think we should prioritize a certain feature over another, let your voice be heard by upvoting it, we really appreciate your input. Also, let us know if we are missing anything.
+
+## Does Komiser have access to my cloud data?
+
+Since Komiser is completely self-hosted, Tailwarden has zero access to any of your cloud data or personal information.
+
+## How can I build a custom dashboard?
+
+`Custom dashboards` are one of the main features we are working to deliver as soon as possible. We are very excited about being able to give users the chance to build customized dashboards filtering by certain regions, resources, or more importantly by `custom tags` to bring the clearest view to what you want to see.
+
+It will be available as a Tailwarden feature at first and might be added to Komiser down the line. Once the feature is live we will announce it on Discord. If you don't have one already, we invite you to open a free-trial Tailwarden account and test it out.
+
+Still got questions? Speak to us directly on [Discord](https://discord.tailwarden.com)!
+
+## How can I stay in the loop with new releases?
+
+Head on over to our [changelog](https://www.tailwarden.com/changelog). The best way to find out about the cool features and improvements we've shipped in the latest releases.
diff --git a/versioned_docs/version-3.0.0/Guides/How to Komiser/alerts.md b/versioned_docs/version-3.0.0/Guides/How to Komiser/alerts.md
new file mode 100644
index 0000000..66cf2a0
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Guides/How to Komiser/alerts.md
@@ -0,0 +1,69 @@
+---
+slug: /guides/how-to-komiser/alerts
+title: Alerts π
+sidebar_label: Alerts
+---
+
+Komiser supports webhooks at the views level to incentivize developers on cost and cloud usage and bring accountability to cloud spending. Users can set up personalized notifications to proactively monitor their multi-cloud resources, ensuring timely awareness of important events and potential issues. These alerts can be configured based on various criteria such as custom views, resource costs, and resource usage.
+
+Developers can create custom views and set up alerts to monitor resource costs and usage without spending all day monitoring the views. With Komiser, users can set up alerts via [Slack](#slack-integration) or provide [Custom Webhooks](#custom-webhook-integration) to trigger certain actions such as
+- Creating a ticket on Jira/Linear to be tackled by the infrastructure team.
+- Triggering an alert on an incident & response platform like PagerDuty.
+- Running a custom script to resize the infrastructure.
+
+Note: The above actions are just a few examples of the endless possibilities that can be set by the user on the webhook receiving end. Komiser sends the required data in a [pre-defined format](#request-details). Alerts are triggered every hour in Komiser.
+
+### Steps to add an Alert
+1. Head over to the view you want to set an alert for.
+2. Click on `Alerts` on the top right of the screen.
+3. Click on `Add an Alert`.
+4. Choose the alert method: Slack/Custom Webhook. If you want to add Slack and it is disabled, refer to the [Slack Integration section](#slack-integration) below.
+5. Fill in the details accordingly.
+6. Save the alert.
+7. Congratulations! You should now see the alert when you click on the alerts tab again.
+
+## Slack integration
+To integrate Komiser with Slack you will have to generate a webhook and add it to the `config.toml` file.
+Find the steps to generate the slack webhook in the official slack documentation [here](https://api.slack.com/messaging/webhooks).
+
+### Steps to integrate Komiser with Slack:
+1. Create a Slack app (if you don't have one already).
+2. Enable Incoming Webhooks.
+3. Create an Incoming Webhook.
+4. Pick a channel that the app will post to, and then click to `Authorize your app`.
+5. You'll be sent back to your app settings, and you should now see a new entry under the Webhook URLs for Your Workspace section, with a Webhook URL that'll look something like this:
+```
+https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
+```
+6. Then simply add the `[slack]` block to your `config.toml` file:
+```
+[slack]
+webhook="https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
+```
+
+## Custom Webhook integration
+To integrate a custom webhook, you need a URL that listens to the data posted to it when it is triggered. You don't need to edit the `config.toml` file for this integration.
+
+### Request Details
+- Komiser makes a **POST** request to the endpoint.
+- The data is sent in the following format in the request body:
+ ```json
+ {
+ "komiser": "", // [string]
+ "view": "", // [string]
+ "message": "Usage/Cost alert", // [string]
+ "data": 32, // [float64] the threshold set for the alert
+ "timestamp": 1685793973 // [int64] number of seconds since January 1, 1970 UTC
+ }
+ ```
+- You can add an optional **Secret** field. It is a secret value that is added as a request header: `authorization: `.
+- It is recommended to **test the endpoint** before submitting the alert and verify the data you receive is the same as:
+ ```json
+ {
+ "komiser": "komiser version that will send the webhook",
+ "view": "testing the connection",
+ "message": "test alert",
+ "data": 0,
+ "timestamp": 1685794020 // number of seconds since January 1, 1970 UTC when you test the endpoint hence will be different for you
+ }
+ ```
diff --git a/versioned_docs/version-3.0.0/Guides/How to Komiser/customviews.md b/versioned_docs/version-3.0.0/Guides/How to Komiser/customviews.md
new file mode 100644
index 0000000..3ecead5
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Guides/How to Komiser/customviews.md
@@ -0,0 +1,14 @@
+---
+slug: /guides/how-to-komiser/custom-views
+title: Custom Views π π
+sidebar_label: Custom Views
+---
+
+With this Custom views, users can filter their multi-cloud resources such as VMs, storage buckets, databases, and more, based on various criteria like tags, regions, resource type, service type, and more. The ability to apply complex filters and organize resources into logical segments enables users to see the cost breakdown of different parts of their application or cloud organization.
+
+This helps to provide a clearer understanding of cloud spend and resource utilization, allowing users to make informed decisions on cost optimization and resource allocation. The saved filters can be accessed quickly in the future, making it easy to track and monitor cloud spend over time.
+
+### Blog posts about Komiser custom views
+
+- [Cultivate a Cost-Conscious Culture with Komiser](https://www.tailwarden.com/blog/cultivate-a-cost-conscious-culture-with-komiser?utm_source=docs&utm_medium=referral)
+- [Enabling and maintaining a cost conscious culture. At every level.](https://www.tailwarden.com/blog/enabling-and-maintaining-a-cost-conscious-culture-at-every-level?utm_source=docs&utm_medium=referral)
\ No newline at end of file
diff --git a/versioned_docs/version-3.0.0/Guides/How to Komiser/dashboard.md b/versioned_docs/version-3.0.0/Guides/How to Komiser/dashboard.md
new file mode 100644
index 0000000..d12e160
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Guides/How to Komiser/dashboard.md
@@ -0,0 +1,42 @@
+---
+slug: /guides/how-to-komiser/dashboard
+title: Dashboard π
+sidebar_label: Dashboard
+---
+
+The `Komiser Dashboard` provides an overview of your cloud environments, collecting and summarizing cloud resources across accounts, regions, and providers.
+
+The `top widgets` display the connected cloud accounts, the regions where resources are located, and the total number of resources, as well as the total cost of your infrastructure.
+
+The dashboard also includes a `Cloud map` that offers a geographical view of your resources. By hovering over the regional data centers, you can obtain more information about how many resources are deployed in each region.
+
+To the left of the cloud map, you will find the `Resource manager`, where you can filter resources by cloud accounts, providers, services, and regions, and easily visualize them in a pie chart.
+
+Below, you will find the `Cost explorer`, which allows you to sort resources and compare costs on a monthly to yearly basis. You can also exclude resources from the cost comparison.
+
+![Dashboard gif](/img/dashboard-komiser-lower-quality.gif)
+
+### Check out the `dashboard` in the first part of the Komiser v3.0.3 video:
+
+
+
+
diff --git a/versioned_docs/version-3.0.0/Guides/How to Komiser/overview.md b/versioned_docs/version-3.0.0/Guides/How to Komiser/overview.md
new file mode 100644
index 0000000..3985408
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Guides/How to Komiser/overview.md
@@ -0,0 +1,25 @@
+---
+slug: /guides/overview
+title: Overview
+sidebar_label: Overview
+---
+
+# Overview
+
+### Hey there Wardens!π
+
+**Welcome to the `How to Komiser` section section!**
+
+This is the section where we will help Komiser users, through blog posts and How-to video to get the most value from Komiser. Each video focuses on a feature or use-case of Komiser. By applying the actionable tips to your cloud resources, hopefully you will see a positive impact on your `cloud bill` and increse your general cloud `transparency`.
+
+### Want us to cover a particular service? πββοΈ
+
+If we haven't covered a service or a Komiser feature that you might find beneficial, please contact us and let us know. If is any way we can make your experience using Komiser a more pleasant one, we are here to make that happen!
+
+The best way to contact us is through out [Discord server](https://discord.tailwarden.com). Feel free to leave a message in the `#feedback` of `#cloud-talk` channels.
+
+
+
+
+
+
diff --git a/versioned_docs/version-3.0.0/Guides/How to Komiser/tagging.md b/versioned_docs/version-3.0.0/Guides/How to Komiser/tagging.md
new file mode 100644
index 0000000..28e6c58
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Guides/How to Komiser/tagging.md
@@ -0,0 +1,17 @@
+---
+slug: /guides/how-to-komiser/tagging
+title: Cloud Resource Tagging π·οΈ
+sidebar_label: Tagging
+---
+
+Cloud resource tagging can bring numerous benefits to your organization by allowing you to better manage, organize, and optimize its cloud resources. Tagging resources with relevant metadata such as `project name`, `owner`, and `cost center` can help to categorize and track cloud spending and resources across teams, departments, and projects. By using Komiser, you can easily automate the process of tagging resources, monitor cost and usage patterns, and identify opportunities for cost optimization.
+
+Additionally, Komiser provides valuable insights into resource utilization and can alert teams to changes in resource consumption. With these capabilities, companies can streamline cloud operations, reduce costs, and ensure that their cloud resources are aligned with business goals and objectives.
+
+### Blog posts on cloud resource tagging with Komiser
+
+- [Tagging Cloud Resources with Komiser](https://www.tailwarden.com/blog/tagging-cloud-resources-with-komiser?utm_source=docs&utm_medium=referral)
+- [Cloud Resource Tagging, optional?](https://www.tailwarden.com/blog/tagging-optional?utm_source=docs&utm_medium=referral)
+
+
+
diff --git a/versioned_docs/version-3.0.0/Introduction/community.md b/versioned_docs/version-3.0.0/Introduction/community.md
new file mode 100644
index 0000000..bf7556d
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Introduction/community.md
@@ -0,0 +1,26 @@
+---
+slug: /introduction/community
+title: community
+sidebar_label: Community
+---
+# Community
+
+## Our mission
+
+The Tailwarden community is made up of Wardens! We are people that wear many different hats, we rally around one mission though which is:
+
+```
+Supporting developers in building, monitoring and optimizing their technical infrastructure
+on cloud providers by bringing them accessible but state-of-the-art DevOps knowledge fueled by
+the shared knowledge that each community member brings along with them.
+```
+
+Below are a couple of ways you can take part and/or [contribute](/docs/Contributing/contribute.md) to the community.
+
+## Discord Server
+
+The [Discord Server](https://discord.tailwarden.com) is an open and inclusive place where you get assistance with anything Komiser and Tailwarden related, you can interact with the maintainers or simply hang out with the community and talk about anything around cloud, cost, security and DevOps.
+
+## Community calls
+
+Soon, various Tailwarden maintainers and staff members will open up a number of slots on their calendars in which you can book a slot to chat directly about Komiser or Tailwarden. It's a chance for you to let us know how we can best help you. But it is also incredibly helpful to us to hear your opinion about the product. We are all ears and would love to hear your ideas for your desired features and improvements. So if you're keen to share your thoughts with us, don't hesitate to book a time.
diff --git a/versioned_docs/version-3.0.0/Introduction/installation.md b/versioned_docs/version-3.0.0/Introduction/installation.md
new file mode 100644
index 0000000..0e08d35
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Introduction/installation.md
@@ -0,0 +1,152 @@
+---
+slug: /introduction/getting-started
+title: Installation
+sidebar_label: Installation
+---
+# Installation
+
+## Getting started
+
+You can install the CLI with a `curl` utility script or by downloading the binary from the releases page. Once installed you'll get the `komiser` command.
+
+### Linux
+
+```
+wget https://cli.komiser.io/latest/komiser_Linux_x86_64 -O komiser
+```
+
+### Windows
+
+```
+wget https://cli.komiser.io/latest/komiser_Windows_x86_64.zip
+tar -xf komiser_Windows_x86_64.zip
+```
+
+### Mac OS X
+
+For ARM architecture (M1 & M2 Chip)
+
+```
+wget https://cli.komiser.io/latest/komiser_Darwin_arm64 -O komiser
+```
+
+For AMD architecture (Intel Chip)
+
+```
+wget https://cli.komiser.io/latest/komiser_Darwin_x86_64 -O komiser
+```
+
+> Note
+ Make sure to add the execution permission to Komiser `chmod +x komiser`.
+
+
+### Homebrew installation
+
+```
+brew update
+brew tap tailwarden/komiser
+brew install komiser
+
+# Make sure you are running the newest version of Komiser:
+brew update
+brew reinstall komiser
+```
+
+## How to use
+
+### Komiser CLI installation
+
+
+
+
+
+### Options
+
+```
+Usage:
+ komiser start [command]
+```
+
+```
+Available Commands:
+ config Create configuration file
+ help Help about any command
+ start Run Komiser server
+ version Show tool version
+
+Flags:
+ -h, --help help for komiser
+```
+
+### Docker
+
+Komiser is also available as a Docker image:
+
+[https://hub.docker.com/r/tailwarden/komiser/tags/](https://hub.docker.com/r/tailwarden/komiser/tags)
+
+Check Docker Hub of the Komiser changelog to find the latest version of Komiser.
+
+> Note: From Komiser v3 onwards, we natively support multiple cloud account authentication through the `config.toml` file, you will need to mount this fill along with a credentials file (not needed is using ENVIRONMENT_VARIABLES as the auth source) to the Docker container using the `-v` flags as seen in the `Docker run` command below.
+
+```
+docker run -v /local/path/to/config.toml:/etc/config/config.toml -v /local/path/to/credentials.yaml:/etc/config/credentials.yaml -d -p 3000:3000 --name komiser tailwarden/komiser:latest komiser start --config /etc/config/config.toml
+```
+
+### Docker installation tutorial
+
+
+
+
+## Self-hosted
+
+Head over to your cloud provider of choice to learn how to connect your Komiser CLI to your cloud account and to deploy a self hosted version of the tool.
+
+* [AWS](/docs/cloud-providers/aws)
+* [Azure](/docs/cloud-providers/azure)
+* [Civo](/docs/cloud-providers/civo)
+* [DigitalOcean](/docs/cloud-providers/digital-ocean)
+* [GCP](/docs/cloud-providers/google-cloud-platform)
+* [Kubernetes](/docs/cloud-providers/kubernetes)
+* [Linode](/docs/cloud-providers/linode)
+* [MongoDB](/docs/cloud-providers/mongodb-atlas)
+* [OCI](/docs/cloud-providers/oci)
+* [Scaleway](/docs/cloud-providers/scaleway)
+* [Tencent](/docs/cloud-providers/tencent)
diff --git a/versioned_docs/version-3.0.0/Introduction/what-is-komiser.md b/versioned_docs/version-3.0.0/Introduction/what-is-komiser.md
new file mode 100644
index 0000000..c93b5c2
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Introduction/what-is-komiser.md
@@ -0,0 +1,17 @@
+---
+slug: /introduction/what-is-komiser
+title: What is Komiser?
+sidebar_label: What is Komiser?
+---
+
+# What is Komiser?
+
+![Komiser-banner](/img/what-is-light.png#gh-light-mode-only)![Komiser-banner](/img/what-is-dark.png#gh-dark-mode-only)
+
+**Komiser** is the `open-source` version of [Tailwarden](https://www.tailwarden.com/) (Enterprise edition).
+
+The tool started off as a side project by Tailwarden co-founder [Mohamed Labouardy](https://www.linkedin.com/in/mlabouardy/) while working as head of DevOps for a previous company at the time. He was tasked with managing a huge number of cloud resources spanning multiple cloud providers. He grew frustrated that there were no good tools out there to help manage this **sprawling multi-cloud infrastructure** which would unexpectedly rack up huge bills every month. So he decided to build it, with the help of contributors and extremely valuable feedback from the community. Komiser came to life as a continuously evolving cloud-agnostic cost inspector and resource manager.
+
+Two years on, with almost **3000 GitHub stars** and over **2 million** downloads, Komiser has grown to be an open tool used by many to bring transparency with regard to cost in their cloud environments.
+
+As a project, Komiser's goal is to help you **spend less time switching between confusing cloud provider consoles** and have a clear view of what you manage in the cloud. To have quick access to what is important to you. Through this transparency, you can `uncover hidden costs`, gain helpful `insight` and start `taking control` of your `infrastructure`.
diff --git a/versioned_docs/version-3.0.0/Telemetry/telemetry.md b/versioned_docs/version-3.0.0/Telemetry/telemetry.md
new file mode 100644
index 0000000..be7b877
--- /dev/null
+++ b/versioned_docs/version-3.0.0/Telemetry/telemetry.md
@@ -0,0 +1,38 @@
+---
+slug: /telemetry
+title: Telemetry
+sidebar_label: Telemetry
+---
+
+# Telemetry
+
+By default, the Komiser CLI collects some anonymous usage data. There are two types of data we collect:
+- **Usage**: features usage, we use this data to understand which providers are being used and how much, which helps guide our roadmap and development efforts.
+- **Errors**: stack traces sent whenever a panic occurs in the CLI. Having this data allows us to be notified when there is a bug that needs to be prioritized.
+
+### We will never:
+
+- Identify or track users.
+- Collect personal information such as IP addresses, email addresses, or website URLs.
+- Store data about your cloud resources or credentials .
+
+## Why collect telemetry data?
+
+We collect telemetry data for only two reasons:
+
+- In order to create a better product, we need reliable quantitative information. The data we collect helps us fix bugs, evaluate the success of features, and better understand our users' needs.
+
+- We also need to prove that people are actually using Komiser. Usage metrics help us justify our existence to investors so that we can keep this project alive.
+
+## What tools do we use to collect and visualize data?
+
+We use [Segment](https://segment.com/), a platform for data collection and management, to collect usage data. We then feed that data into [Amplitude](https://amplitude.com/), a tool for graphing and highlighting data, so that we can build visualizations according to our needs. As for error collection, we use [Sentry](https://sentry.io/).
+
+## How to disable data collection
+
+Data collection can be disabled at any time by setting a command-line option, then restarting the Komiser instance.
+
+```
+komiser start --telemetry false
+```
+
diff --git a/versioned_docs/version-3.0.0/intro.md b/versioned_docs/version-3.0.0/intro.md
new file mode 100644
index 0000000..10fbc92
--- /dev/null
+++ b/versioned_docs/version-3.0.0/intro.md
@@ -0,0 +1,65 @@
+---
+slug: /intro
+title: Overview of Tailwarden Documentation
+sidebar_label: Overview
+---
+
+# Overview of Komiser Documentation
+
+![Tailwarden](/img/komiser-overview-light.png#gh-light-mode-only)![Tailwarden](/img/komiser-overview-dark.png#gh-dark-mode-only)
+
+[![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/fold_left.svg?style=social&label=Follow%20%40tailwarden)](https://twitter.com/tailwarden) [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Optimize%20Cost%20and%20Security%20on%20AWS&url=https://github.com/mlabouardy/komiser&via=mlabouardy&hashtags=komiser,aws,gcp,cloud,serverless,devops)
+
+This section is a high-level overview of how the Komiser Documentation is structured. It will help you use the documentation more effectively by guiding you on where to look for specific information.
+
+The Komiser Documentation covers everything you need to know about Komiser. It made up of five main sections which are:
+
+- [Introduction](/docs/Introduction/installation.md)
+- [Cloud Providers](/docs/cloud-providers/aws)
+- [Contributing](/docs/Contributing/contribute.md)
+- [Guides](/docs/guides/overview)
+- [FAQs](/docs/FAQ/faq.md)
+
+## Introduction
+
+In the `introduction` section you will find the three pages below. Since Komiser is an open-source project, we are fully aware that any OSS project is only as valuable as the community that surrounds it, that's why we want to make it as easy as possible for everyone to participate, you should be able to learn how to do that in the `Community` section.
+Head over to the `Installation` page to get the download the Komiser CLI for your OS and architecture.
+The `What is Komiser?` page summarizes the goals and features of the Komiser project.
+
+- [Community](/docs/Introduction/community.md)
+- [Installation](/docs/Introduction/installation.md)
+- [What is Komiser?](/docs/Introduction/what-is-komiser.md)
+
+## Cloud Providers
+
+Komiser supports multiple cloud providers and form of deployment.
+Follow the links below to get the installation steps for the each cloud provider:
+
+- [AWS](/docs/cloud-providers/aws)
+- [Azure](/docs/cloud-providers/azure)
+- [Civo](/docs/cloud-providers/civo)
+- [DigitalOcean](/docs/cloud-providers/digital-ocean)
+- [Kubernetes](/docs/cloud-providers/kubernetes)
+- [Linode](/docs/cloud-providers/linode)
+- [MongoDB Atlas](/docs/cloud-providers/mongodb-atlas)
+- [OCI](/docs/cloud-providers/oci)
+- [Scaleway](/docs/cloud-providers/scaleway)
+- [Tencent](/docs/cloud-providers/tencent)
+
+## Contributing
+
+Komiser is written in `Golang` and is `Elv2 licensed` - contributions are always welcome whether that means providing feedback, be it through GitHub, through the `#feedback` channel on our [Discord server](https://discord.tailwarden.com) or testing existing and new features. All of the relevant information below:
+
+- [Contribute](/docs/Contributing/contribute.md)
+
+## Guides
+
+We want to be able to give Komiser users the tips and guidance neccessary to be able to get the most value from the tool as quickly as possible. That's why we will be continously adding and updating informative guides and series in which try to relay valuable and actionable advice.
+
+- [How to Komiser](/docs/guides/overview)
+
+## FAQs
+
+Find all the answers to all the Komiser related questions you might have. Feel free to reach out via the `#feedback` channel on [Discord](https://discord.tailwarden.com) to request the inclusion of additional questions.
+
+- [FAQs](/docs/FAQ/faq.md)
diff --git a/versioned_docs/version-3.1.0/Cloud Providers/aws.md b/versioned_docs/version-3.1.0/Cloud Providers/aws.md
new file mode 100644
index 0000000..5a06db2
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Cloud Providers/aws.md
@@ -0,0 +1,533 @@
+---
+slug: /cloud-providers/aws
+title: Amazon Web Services
+sidebar_label: Amazon Web Services
+---
+
+# Amazon Web Services
+
+## Supported resources
+
+- API Gateway
+- Access control lists
+- CloudFront distributions
+- CloudWatch Dashboards
+- CloudWatch alarms
+- CloudWatch metrics
+- CloudWatch Log groups
+- DynamoDB tables
+- EC2 Internet Gateways
+- EC2 instances
+- EC2 Snapshots
+- EC2 Spot instances
+- EC2 Key pairs
+- EC2 Placement groups
+- ECR repositories
+- ECS clusters
+- ECS services
+- ECS tasks
+- EKS clusters
+- Elastic IPs
+- Elastic LoadBalancers
+- Elastic file systems
+- ElasticSearch clusters
+- IAM policies
+- IAM roles
+- IAM SAML providers
+- KMS keys
+- Lambda functions
+- RDS clusters
+- S3 buckets
+- SNS topics
+- SQS queues
+- Security groups
+- Subnets
+- VPCs
+- Volumes
+- OpenSearch domains
+
+## Komiser configurations
+
+From Komiser v3 onwards we specify our komiser configuration by way of a `config.toml` file. If you place the config.toml file in the same directory as the Komiser binary then it will pick it up by default, if it's placed in a different location, then we need to pass in the path using the `--config` flag.
+
+Example `start` command
+
+```
+komiser start
+```
+
+## Config.toml file
+
+---
+
+![config-file](/img/config-komiser.png)
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the config.toml file, using either the `ENVIRONMENT_VARIABLES` or `CREDENTIALS_FILE`.
+
+### Data persistence
+
+Choose between these two methods of persisting your AWS Account data.
+
+#### Postgres
+
+**Add to config.toml file**
+
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+#### SQLite
+
+```
+# Add to config.toml file
+
+[sqlite]
+ file = "komiser.db"
+```
+
+_The reason for this external data persistence is to improve the filtering, sorting and tagging management experience making it faster and smoother. It also serves as a standalone DB which you are free to query and visualize as you see fit._
+
+### Example config.toml
+
+```
+[[aws]]
+name="sandbox"
+source="CREDENTIALS_FILE"
+path=./path/to/credentials/file
+profile="default"
+
+[[aws]]
+name="staging"
+source="CREDENTIALS_FILE"
+path=./path/to/credentials/file
+profile="staging-account"
+
+[[gcp]]
+name="production"
+source="ENVIRONMENT_VARIABLES"
+# path=./path/to/credentials/file specify if CREDENTIALS_FILE is used
+profile="production"
+
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+
+## Configuring Credentials
+
+When using the CLI you'll generally need your AWS credentials to authenticate with AWS services. Komiser supports multiple methods of providing these credentials. By default the CLI will source credentials automatically from its default credential chain.
+In the `source` section of the cloud profile inside the `config.toml` file we can choose between `ENVIRONMENT_VARIABLES` or `CREDENTIALS_FILE`
+
+- Environment Credentials - Set of environment variables that are useful when sub processes are created for specific roles. Useful for local development
+
+```
+[[gcp]]
+name="production"
+source="ENVIRONMENT_VARIABLES"
+profile="production"
+```
+
+- EC2 Instance Role Credentials - Use EC2 Instance Role to assign credentials to application running on an EC2 instance. This removes the need to manage credential files in production.
+
+```
+[[aws]]
+name="sandbox"
+source="CREDENTIALS_FILE"
+path=./path/to/credentials/file
+profile="default"
+```
+
+### Credentials file
+
+It is not recommended to add your AWS Access and Secret Access key in the credentials file in `production`. The most secure way of authentication is by using temporary credentials through IAM roles.
+
+Example
+
+```
+[ADMIN-account]
+region = eu-central-1
+role_arn = arn:aws:iam::ACCOUNT-ID:role/IAMRoleName
+web_identity_token_file = /var/run/secrets/eks.amazonaws.com/serviceaccount/token
+
+[DEV-account]
+region = eu-central-1
+role_arn = arn:aws:iam::ACCOUNT-ID:role/IAMRoleName
+source_profile = ADMIN-account
+role_session_name = komiser_session
+```
+
+## Local Komiser CLI
+
+---
+
+### Create an IAM user
+
+- Create an IAM user with the following IAM [policy](https://raw.githubusercontent.com/mlabouardy/komiser/master/policy.json):
+
+```
+wget https://raw.githubusercontent.com/mlabouardy/komiser/master/policy.json
+```
+
+### Add user credentials locally
+
+- Add your **Access Key ID** and **Secret Access Key** to _~/.aws/credentials_ using this format
+
+```
+[default]
+aws_access_key_id =
+aws_secret_access_key =
+region =
+```
+
+### Run Komiser CLI
+
+- That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+## Komiser CLI (Restricted regions)
+
+---
+
+There might be times when you would like to specifically restrict the scope of Komiser's reach to a specific cloud region or a subset of them. This can be useful for organizations with tight SCPs in place.
+Add the `--regions` flag to the `Komiser start` command and seperate the regions with commas.
+
+```
+komiser start --regions eu-central-1,us-east-1,ap-southeast-1
+
+```
+
+> Note that all AWS Global resources in your account will be retrieved even using the `--regions`
+
+## EKS installation (single account)
+
+---
+
+Link to [repository](https://github.com/tailwarden/helm/blob/master/README.md#configuration-single-aws-account)
+
+We will be using the official Komiser [Helm Chart](https://github.com/tailwarden/helm#configuration-multiple-aws-accounts) to deploy Komiser to our EKS cluster.
+
+### Prerequisite
+
+- [Helm](https://helm.sh/docs/intro/install/) installed locally
+
+### Create and IAM OIDC provider for your cluster
+
+1. Open the Amazon [EKS](https://console.aws.amazon.com/eks/home#/clusters)\.
+
+1. Select the name of your cluster\.
+
+1. In the **Details** section on the **Overview** tab, note the value of the **OpenID Connect provider URL**\.
+
+1. Open the IAM console at [https://console\.aws\.amazon\.com/iam/](https://console.aws.amazon.com/iam/)\.
+
+1. In the left navigation pane, choose **Identity Providers** under **Access management**\. If a **Provider** is listed that matches the URL for your cluster, then you already have a provider for your cluster\. If a provider isn't listed that matches the URL for your cluster, then you must create one\.
+
+1. To create a provider, choose **Add Provider**\.
+
+1. For **Provider Type**, choose **OpenID Connect**\.
+
+1. For **Provider URL**, paste the OIDC issuer URL for your cluster, and then choose **Get thumbprint**\.
+
+1. For **Audience**, enter `sts.amazonaws.com` and choose **Add provider**\.
+
+### Create IAM role and attach a Komiser IAM policy
+
+1. Open the IAM console at [https://console\.aws\.amazon\.com/iam/](https://console.aws.amazon.com/iam/)\.
+
+1. In the left navigation pane, choose **Policies** and then choose **Create policy**\.
+
+1. Choose the **JSON** tab\.
+
+1. In the **Policy Document** field, paste the Komiser recommended [policy](https://github.com/mlabouardy/komiser/blob/master/policy.json).
+
+1. Choose **Review policy**\.
+
+1. Enter a name and description for your policy and then choose **Create policy**\.
+
+1. Record the Amazon Resource Name \(ARN\) of the policy to use later when you create your role\.
+
+### Create an IAM role for a service account
+
+
+
+1. Let's generate the `trust relationship` policy. Copy the following code block to your computer.
+
+ ```
+ read -r -d '' TRUST_RELATIONSHIP < trust.json
+ ```
+
+`NOTE: Make sure to substitute ${NAMESPACE} for the namespace you will deploy the helm chart in. If deployed in any other namespace, you will see sts:AssumeRoleWithWebIdentity failure messages in the pod logs.`
+
+1. Run the modified code block from the previous step to create a file named _`trust.json`_\.
+
+1. Run the following AWS CLI command to create the role\. Replace `my-iam-role` with a name for your IAM role, and `my-role-description` with a description for your role\.
+
+ ```
+ aws iam create-role --role-name my-iam-role --assume-role-policy-document file://trust.json --description "my-role-description"
+ ```
+
+1. Run the following command to attach an IAM policy to your role\. Replace `my-iam-role` with the name of your IAM role, `111122223333` with your account ID \(or with **aws**, if you're attaching an AWS managed policy\), and `my-iam-policy` with the name of an existing policy that you created or an IAM AWS managed policy\.
+
+ ```
+ aws iam attach-role-policy --role-name my-iam-role --policy-arn=arn:aws:iam::111122223333:policy/my-iam-policy
+ ```
+
+### Update ServiceAccount
+
+Update [templates/service-account.yaml](https://github.com/tailwarden/helm/blob/master/templates/service-account.yaml) with the IAM role you've created previously
+
+```
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: komiser
+ annotations:
+ eks.amazonaws.com/role-arn: arn:aws:iam::ACCOUNT_ID:role/ROLE_NAME
+```
+
+### Add custom values to config.toml file in [configMap template](https://github.com/tailwarden/helm/blob/master/templates/configmap-awsaccounts.yaml)
+
+```
+[[aws]]
+name="NAME"
+source="CREDENTIALS_FILE" // or use "ENVIRONMENT_VARIABLES"
+path="path/to/credentials"
+profile="default"
+
+[sqlite]
+file="komiser.db"
+
+// or
+// [postgres]
+// uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+
+### Installing the chart
+
+To install the chart:
+
+```bash
+$ helm install -f values.yaml komiser .
+```
+
+The above command deploys Komiser on the Kubernetes cluster in the default configuration.
+
+### Here's a video tutorial on how to deploy Komiser to an EKS cluster:
+
+
+
+
+
+## Multiple account EKS (Helm chart) installation
+
+---
+
+Link to [README](https://github.com/tailwarden/helm/blob/master/README.md#configuration-multiple-aws-accounts) file with step by step instructions.
+
+Steps for a container to access the resources in multiple AWS accounts.
+We are working with two example clusters, ADMIN and DEV cluster.
+
+Solution diagram:
+![solutions-diagram](/img/multi-account-graph.png)
+
+### Create and IAM OIDC provider for your cluster
+
+1. Open the Amazon EKS console at [https://console\.aws\.amazon\.com/eks/home\#/clusters](https://console.aws.amazon.com/eks/home#/clusters)\.
+
+1. Select the name of your cluster\.
+
+1. In the **Details** section on the **Overview** tab, note the value of the **OpenID Connect provider URL**\.
+
+1. Open the IAM console at [https://console\.aws\.amazon\.com/iam/](https://console.aws.amazon.com/iam/)\.
+
+1. In the left navigation pane, choose **Identity Providers** under **Access management**\. If a **Provider** is listed that matches the URL for your cluster, then you already have a provider for your cluster\. If a provider isn't listed that matches the URL for your cluster, then you must create one\.
+
+1. To create a provider, choose **Add Provider**\.
+
+1. For **Provider Type**, choose **OpenID Connect**\.
+
+1. For **Provider URL**, paste the OIDC issuer URL for your cluster, and then choose **Get thumbprint**\.
+
+1. For **Audience**, enter `sts.amazonaws.com` and choose **Add provider**\.
+
+### Register the `ADMIN` OIDC provider in the `DEV` cluster
+
+1. Grab the **OpenID Connect provider URL** from the **ADMIN** account.
+
+2. Open the IAM console at [https://console\.aws\.amazon\.com/iam/](https://console.aws.amazon.com/iam/)\.
+
+3. In the left navigation pane, choose **Identity Providers** under **Access management**\.
+
+4. To create a provider, choose **Add Provider**\.
+
+5. For **Provider Type**, choose **OpenID Connect**\.
+
+6. For **Provider URL**, paste the ADMIN OIDC issuer URL, and then choose **Get thumbprint**\.
+
+7. For **Audience**, enter `sts.amazonaws.com` and choose **Add provider**\.
+
+### Create A `DEV IAM role`
+
+- Add the recommended [Komiser policy](https://github.com/tailwarden/komiser/blob/master/policy.json)
+- Create a Trust Relathionship with the `ADMIN` role (once it's created)
+
+```
+ {
+ "Version": "2012-10-17",
+ "Statement": [
+ {
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": "arn:aws:iam::${ADMIN_ACCOUNT_ID}:role/${ROLE_NAME}"
+ },
+ "Action": "sts:AssumeRole",
+ "Condition": {}
+ }
+ ]
+ }
+```
+
+### Create an `ADMIN IAM role`
+
+- Create a [role](#create-iam-role-and-attach-a-komiser-iam-policy) with the same configuration as above.
+- Additionally attach the policy to assume the `DEV` role
+
+```
+ {
+ "Version": "2012-10-17",
+ "Statement": [
+ {
+ "Effect": "Allow",
+ "Action": "sts:AssumeRole",
+ "Resource": "arn:aws:iam::${DEV_ACCOUNT_ID}:role/${ROLE_NAME}"
+ }
+ ]
+ }
+```
+
+### Add the `ADMIN` role to the ServiceAccount
+
+Add your values for `ACCOUNT_ID` and `ROLE_Name`
+
+```
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: komiser
+ annotations:
+ eks.amazonaws.com/role-arn: arn:aws:iam::ACCOUNT_ID:role/ROLE_NAME
+```
+
+### Add a ConfigMap to the `/templates` folder
+
+1. Add the configmap.yaml file the the `/templates` folder in the root of the repository.
+
+ ```
+ apiVersion: v1
+ kind: ConfigMap
+ data:
+ config.toml: |-
+ [[aws]]
+ name="admin"
+ source="CREDENTIALS_FILE"
+ path=/path/to/credentials/file
+ profile="ADMIN-account" # Required if CREDENTIALS_FILE is set
+
+ [[aws]]
+ name="dev"
+ source="CREDENTIALS_FILE"
+ path=/path/to/credentials/file
+ profile="ADMIN-account" # Required if CREDENTIALS_FILE is set
+ metadata:
+ annotations:
+ meta.helm.sh/release-name: ${RELEASE_NAME}
+ meta.helm.sh/release-namespace: ${NAMESPACE}
+ labels:
+ app.kubernetes.io/managed-by: Helm
+ name: aws-configmap
+ namespace: ${NAMESPACE}
+ ```
+
+### Mount the ConfigMap to the Deployment manifest
+
+1. Make sure not to change the mount path or internal volume path, paths should match the example below.
+2. Add the correct `config.toml` path to `command` to the container to allow a multi account setup.
+3. Have a valid credentials file that the deployment has access to.
+
+ ```
+ apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+ name: komiser
+ spec:
+ selector:
+ matchLabels:
+ app: komiser
+ template:
+ metadata:
+ name: komiser
+ labels:
+ app: komiser
+ spec:
+ serviceAccountName: komiser
+ containers:
+ - name: {{ .Chart.Name }}
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ command: ["komiser","start","--config","/root/.aws/config.toml"]
+ env:
+ - name: AWS_DEFAULT_REGION
+ value: "{{ .Values.aws.region }}"
+ - name: AWS_CONFIG_FILE
+ value: /root/.aws/credentials
+ volumeMounts:
+ - name: test-volume
+ mountPath: /root/.aws/
+ volumes:
+ - name: test-volume
+ configMap:
+ name: aws-configmap
+ ```
diff --git a/versioned_docs/version-3.1.0/Cloud Providers/azure.md b/versioned_docs/version-3.1.0/Cloud Providers/azure.md
new file mode 100644
index 0000000..ed42134
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Cloud Providers/azure.md
@@ -0,0 +1,141 @@
+---
+slug: /cloud-providers/azure
+title: Azure
+sidebar_label: Azure
+---
+
+# Azure
+
+## Supported resources
+- Disks
+- Machine Images
+- Virtual Machines
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `Service principal` environment variables as seen below.
+
+## Data persistence
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+## Configuring Credentials
+
+The Azure credentials required to successfully integrate Komiser and Azure can be generated by using a β[service principal](https://learn.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli)β. An Azure `service principal` is an identity created for use with applications, hosted services, and automated tools to access Azure resources.
+
+Once the Komiser service provider is created, we will add the associated `environment variables` to the config.toml file.
+
+### Creating a service principal
+First, install the [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) (az).
+
+Then, login with the Azure CLI running:
+```
+ az login
+```
+
+Now, create the service principal and give it a name of your choice by running the following command:
+```
+export subscriptionId=
+az account set --subscription $subscriptionId
+az provider register --namespace 'Microsoft.Security'
+
+# Create a service-principal for Komiser to use.
+az ad sp create-for-rbac --name komiser-sp --scopes /subscriptions/$subscriptionId --role Reader
+```
+> WARNING: The output of the `az ad sp create-for-rbac` command contains sensitive credentials, donβt share the output publically.
+
+### Locate the environment variables
+Find your environment variables by running:
+```
+az ad sp create-for-rbac
+```
+The output should look something like this:
+```
+{
+ "appId": "clientId",
+ "displayName": "komiser-sp",
+ "password": "clientSecret",
+ "tenant": "tenantId"
+}
+```
+
+### Add your Azure environment variables to your configuration file
+
+Copy them from the output of `az ad sp create-for-rbac`. Check the mapping below for each value.
+
+`tenantId` is `tenant` in the JSON.
+
+`clientId` is `appId` in the JSON.
+
+`clientSecret` is `password` in the JSON.
+
+`subscriptionId` can be found [here](https://learn.microsoft.com/en-us/azure/azure-portal/get-subscription-tenant-id).
+
+Copy your credentials as seen down below to integrate your Azure account to Komiser by adding a block to the `config.toml` file as follows:
+
+```
+[[azure]]
+name="Azure-account-name"
+tenantId=""
+clientId=""
+clientSecret=""
+subscriptionId=""
+
+[sqlite]
+file="komiser.db
+```
+
+
+The above example integrates a single Azure account to Komiser, if you want to add [more accounts](./azure.md#local-komiser-cli-multiple-accounts) you would add additional `[[azure]]` blocks, adding unique credentials to each block.
+
+>Currently, if you want to integrate your Azure account with Komiser's `Azure support (v1)`, the only option available is to add your sensitive credentials directly in the config.toml file. While this is a viable solution for testing and development environments, we recognize that it's `not a production-ready solution`, and we're actively working on delivering more secure and scalable authentication options in future updates.
+
+Once you have added the environment variables to the configuration file, in the same directory, run the command:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[azure]]
+name="Azure-account-name"
+tenantId=""
+clientId=""
+clientSecret=""
+subscriptionId=""
+
+[[azure]]
+name="Azure-account-name2"
+tenantId=""
+clientId=""
+clientSecret=""
+subscriptionId=""
+
+[[azure]]
+name="Azure-account-name3"
+tenantId=""
+clientId=""
+clientSecret=""
+subscriptionId=""
+
+[sqlite]
+file="komiser.db
+```
\ No newline at end of file
diff --git a/versioned_docs/version-3.1.0/Cloud Providers/civo.md b/versioned_docs/version-3.1.0/Cloud Providers/civo.md
new file mode 100644
index 0000000..5fdf1d9
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Cloud Providers/civo.md
@@ -0,0 +1,107 @@
+---
+slug: /cloud-providers/civo
+title: Civo
+sidebar_label: Civo
+---
+
+# Civo
+
+## Supported resources
+- Compute instances
+- Firewalls
+- Kubernetes clusters
+- LoadBalancers
+- Networks
+- Object stores
+- Volumes
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `API Token`.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+Firstly grab your API key from your Civo account.
+Under `Profile/Security/API key`
+Need help finding it? Head on over to the official Civo [documentation](https://www.civo.com/docs/account/api-keys).
+
+### Add your Civo API token to your configuration file
+
+```
+[[civo]]
+name="demo-account"
+token="yourApiTokenHere"
+
+[sqlite]
+file="komiser.db
+```
+
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[civo]]
+name="demo-account"
+token="yourApiTokenHere"
+
+[[civo]]
+name="sandbox"
+token="yourSandboxApiTokenHere"
+
+[[civo]]
+name="production"
+token="yourProductionApiTokenHere"
+
+[sqlite]
+file="komiser.db
+```
+
+### Watch Civo integration tutorial
+
+
+
\ No newline at end of file
diff --git a/versioned_docs/version-3.1.0/Cloud Providers/digital-ocean.md b/versioned_docs/version-3.1.0/Cloud Providers/digital-ocean.md
new file mode 100644
index 0000000..60642ef
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Cloud Providers/digital-ocean.md
@@ -0,0 +1,82 @@
+---
+slug: /cloud-providers/digital-ocean
+title: Digital Ocean
+sidebar_label: Digital Ocean
+---
+
+# Digital Ocean
+
+## Supported resources
+- Droplets
+- Firewalls
+- LoadBalancers
+- VPCs
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `Personal access Token`.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+Firstly create your DigitalOcean `personal access token` from the DigitalOcean console.
+
+Click the `API` link in the main navigation, which takes you to the `Applications & API` page on the `Tokens/Keys` tab. In the Personal access tokens section, click the `Generate New Token` button.
+
+Need help finding it? Head on over to the official DigitalOcean [documentation](https://docs.digitalocean.com/reference/api/create-personal-access-token/).
+
+### Add your DigitalOcean personal access token to your configuration file
+
+```
+[[digitalocean]]
+name="demo-account"
+token="yourApiTokenHere"
+
+[sqlite]
+file="komiser.db
+```
+
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[digitalocean]]
+name="demo-account"
+token="yourApiTokenHere"
+
+[[digitalocean]]
+name="sandbox"
+token="yourSandboxApiTokenHere"
+
+[[digitalocean]]
+name="production"
+token="yourProductionApiTokenHere"
+
+[sqlite]
+file="komiser.db
+```
\ No newline at end of file
diff --git a/versioned_docs/version-3.1.0/Cloud Providers/gcp.md b/versioned_docs/version-3.1.0/Cloud Providers/gcp.md
new file mode 100644
index 0000000..10f8e37
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Cloud Providers/gcp.md
@@ -0,0 +1,116 @@
+---
+slug: /cloud-providers/google-cloud-platform
+title: Google Cloud Platform
+sidebar_label: Google Cloud Platform (GCP)
+---
+
+# Google Cloud Platform
+
+## Supported resources
+
+- Certificate Manager
+- Cloud Storage Buckets
+- Cloud Functions
+- Compute Engine VM Instances
+- IAM Roles
+- IAM Service Accounts
+- SQL Instances
+- BigQuery tables
+- SSL certificates
+- Redis instances
+- Gateways
+- KMS Keys
+- Disks
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account credentials as shown below.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+ uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+To enable Komiser collecting your GCP resources, you need to have a [Service Account](https://cloud.google.com/iam/docs/service-account-overview) setup with at least the following permissions:
+
+- `storage.buckets.list` to list Buckets
+- `compute.instances.list` to list VM instances
+- `monitoring.timeSeries.list` to allow for cost estimation of your Buckets
+
+Create and download the Service Account as JSON from the GCP console and store it on your machine. Add the following configuration to your `config.toml`:
+
+```toml
+[[gcp]]
+ name="Sandbox"
+ serviceAccountKeyPath="/path/to/serviceAccount/serviceAccount.json"
+
+[sqlite]
+ file="komiser.db
+```
+
+The `name` can be anything you want. You can use different names in the case you want to connect more than one GCP account.
+
+Find your `organizationId` by pressing on the gear icon next to your Organization name.
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[gcp]]
+ name="AccountOne"
+ serviceAccountKeyPath="/path/to/serviceAccount/serviceAccount1.json"
+
+[[gcp]]
+ name="AccountTwo"
+ serviceAccountKeyPath="/path/to/serviceAccount/serviceAccount2.json"
+
+[sqlite]
+ file="komiser.db
+
+```
+
+## Run with Docker
+
+To expose the local Service Account file to the Docker container, run Komiser with following command:
+
+```
+ docker run \
+ -v /path/to/config.toml:/etc/config/config.toml \
+ -v /path/to/serviceAccount.json:/etc/config/serviceAccount.json \
+ -d -p 3000:3000 --name komiser tailwarden/komiser:latest \
+ komiser start --config /etc/config/config.toml
+```
+
+where `/path/to/serviceAccount.json` is the absolute path to the local file on your machine.
+
+Your `config.toml` should then look like this:
+
+```
+[[gcp]]
+ name="DockerAccount"
+ serviceAccountKeyPath="/etc/config/serviceAccount.json"
+
+[sqlite]
+ file="komiser.db
+```
\ No newline at end of file
diff --git a/versioned_docs/version-3.1.0/Cloud Providers/k8s.md b/versioned_docs/version-3.1.0/Cloud Providers/k8s.md
new file mode 100644
index 0000000..b4b19ea
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Cloud Providers/k8s.md
@@ -0,0 +1,100 @@
+---
+slug: /cloud-providers/kubernetes
+title: Kubernetes
+sidebar_label: Kubernetes
+---
+
+# Kubernetes
+
+## Supported resources
+- Deployments
+- Ingress controllers
+- Pods
+- PersistentVolumes
+- PersistentVolumeClaims
+- ServiceAccounts
+- Services
+
+## Local Komiser CLI integration with Kubernetes
+
+Komiser now supports multiple cloud accounts and Kubernetes clusters by default. Account configuration is done through the `config.toml` file.
+
+Pass in the path to your cluster's `config` file. Which you can find in your local `./kube` folder.
+
+### Data persistence
+Choose between these two methods of persisting your Kubernetes cluster data.
+
+#### Postgres
+**Add to config.toml file**
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+#### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+Firstly locate your Kubernetes `config` file.
+
+```
+β ~ cd .kube
+β .kube pwd
+β /Users/user-name/.kube/config
+```
+
+### Add the path to .kube/config in the configuration file.
+
+```
+[[k8s]]
+name="demo-account"
+path="path/to/.kube/config"
+
+[sqlite]
+file="komiser.db
+```
+
+### Run it!
+* That should be it. Try out the following command from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+### You should see something like this!
+> In komiser v3.0.1 only `pods` and `services` are supported. More Kubernetes resources will be added shortly.
+
+![Kubernetes-dashboard](/img/kubernetes-image-docs.png)
+
+### Here's a video tutorial on how to integrate your Kubernetes cluster with Komiser:
+
+
+
+
\ No newline at end of file
diff --git a/versioned_docs/version-3.1.0/Cloud Providers/linode.md b/versioned_docs/version-3.1.0/Cloud Providers/linode.md
new file mode 100644
index 0000000..a97460e
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Cloud Providers/linode.md
@@ -0,0 +1,85 @@
+---
+slug: /cloud-providers/linode
+title: Linode
+sidebar_label: Linode
+---
+
+# Linode
+
+## Supported resources
+- Buckets
+- Compute instances
+- Databases
+- Firewalls
+- NodeBalancers
+- Volumes
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `API Token`.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+Firstly grab your Personal Access token from your Linode account.
+
+- Log in to the Cloud Manager
+- Click on your username at the top of the screen and select `API Tokens` under the `My Profile` section.
+
+Need help finding it? Head on over to the official Civo [documentation](https://www.linode.com/docs/products/tools/api/guides/manage-api-tokens/).
+
+### Add your Linode API token to your configuration file
+
+```
+[[linode]]
+name="Staging-Account"
+token="YOUR TOKEN"
+
+[sqlite]
+file="komiser.db
+```
+
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[linode]]
+name="Development-Account"
+token="YOUR DEV ACOUNT TOKEN"
+
+[[linode]]
+name="Staging-Account"
+token="YOUR STAGING ACCOUNT TOKEN"
+
+[[linode]]
+name="Production-Account"
+token="YOUR PROD ACCOUNT TOKEN"
+
+[sqlite]
+file="komiser.db
+```
diff --git a/versioned_docs/version-3.1.0/Cloud Providers/mongodbatlas.md b/versioned_docs/version-3.1.0/Cloud Providers/mongodbatlas.md
new file mode 100644
index 0000000..4ca2e09
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Cloud Providers/mongodbatlas.md
@@ -0,0 +1,86 @@
+---
+slug: /cloud-providers/mongodb-atlas
+title: MongoDB Atlas
+sidebar_label: MongoDB Atlas
+---
+
+# MongoDB Atlas
+
+## Supported resources
+
+- Clusters
+
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `API Token`.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+ uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+To enable Komiser collecting your MongoDB Atlas Clusters, you need to add following configuration to the `config.toml`:
+
+```toml
+[[mongodbatlas]]
+ name="MyMongoDBAtlasAccount"
+ organizationId="organizationId"
+ publicApiKey="publicApiKey"
+ privateApiKey="privateApiKey"
+
+
+[sqlite]
+ file="komiser.db
+```
+
+The `name` can be anything you want. You can use different names in the case you want to connect more than one MongoDB Atlas account.
+
+Find your `organizationId` by pressing on the gear icon next to your Organization name.
+
+![](/img/mongodbatlas-orgid-1.png)
+
+To generate `publicApiKey` and `privateApiKey` you have to be an **Organization Owner**. On the **Settings** page where you've copied the `organizationId`, select **Access Manager** from the sidebar navigation. Create the public/private key pair and paste it in the the respective fields from the above configuration.
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[mongodbatlas]]
+ name="FirstAccount"
+ organizationId="organizationId"
+ publicApiKey="publicApiKey"
+ privateApiKey="privateApiKey"
+
+[[mongodbatlas]]
+ name="SecondAccount"
+ organizationId="organizationId"
+ publicApiKey="publicApiKey"
+ privateApiKey="privateApiKey"
+
+
+[sqlite]
+file="komiser.db
+```
diff --git a/versioned_docs/version-3.1.0/Cloud Providers/oci.md b/versioned_docs/version-3.1.0/Cloud Providers/oci.md
new file mode 100644
index 0000000..2c48f4c
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Cloud Providers/oci.md
@@ -0,0 +1,176 @@
+---
+slug: /cloud-providers/oci
+title: Oracle Cloud Infrastructure (OCI)
+sidebar_label: Oracle Cloud Infrastructure (OCI)
+---
+
+# Oracle Cloud Infrastructure (OCI)
+
+## Supported resources
+- Autonomous databases
+- Compute instances
+- Functions
+- Identity policies
+- Object storage
+- Storage block volumes
+
+## Local Komiser CLI (Single Account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the config.toml file, using the `CREDENTIALS_FILE` method.
+We've also added 2 methods of persisting your account data.
+
+### Data persistence
+Choose between these two methods of persisting your OCI account data.
+#### Postgres
+**Add to config.toml file**
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+#### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuration file
+In the configuration file you add the OCI account name, authentication method (CREDENTIALS_FILE) and a data persistence.
+
+```
+[[oci]]
+name="sandbox-account"
+source="CREDENTIALS_FILE"
+path="Users/name/.oci/credentials"
+profile="default"
+
+[sqlite]
+file="komiser.db
+```
+
+### Credentials file
+Use an OCI user and an API key for authentication. In this case, youβll need to put your tenancy OCID, user OCID, region name, the path to an API key, and the fingerprint of the API key.
+
+> Download OCI CLI, find instructions [here](https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/cliinstall.htm)
+
+The easiest way is to let OCI walk you through the setup process by executing the following command:
+```
+$ oci setup config
+
+Enter a location for your config [/home/opc/.oci/config]:
+Enter a user OCID: ocid1.user.oc1..
+Enter a tenancy OCID: ocid1.tenancy.oc1..
+Enter a region by index or name(e.g. 1: ap-chiyoda-1, 2: ap-chuncheon-1, ...: eu-frankfurt-1
+Do you want to generate a new API Signing RSA key pair? [Y/n]: Y
+Enter a directory for your keys to be created [/home/opc/.oci]:
+Enter a name for your key [oci_api_key]:
+Enter a passphrase for your private key (empty for no passphrase):
+
+```
+Now, a config file and key pair have been created in your local `.oci` folder:
+
+```
+$ ls -la /home/opc/.oci/
+-rw-------. 1 opc opc 302 Oct 1 11:13 config
+-rw-------. 1 opc opc 1675 Oct 1 11:13 oci_api_key.pem
+-rw-------. 1 opc opc 451 Oct 1 11:13 oci_api_key_public.pem
+
+
+$ cat /home/opc/.oci/config
+[DEFAULT]
+user=ocid1.user.oc1..
+fingerprint=e1:c8:bb:6a:71:c4:d6:28:90:7a:e3:23:0a:ed:d5:8d
+key_file=/home/opc/.oci/oci_api_key.pem
+tenancy=ocid1.tenancy.oc1..
+region=eu-eu-paris-1
+key_password=PASSWORD
+```
+Since Komiser looks for credentials in a file called `credentials`. Create a `credentials` file in the `.oci` folder and copy the contents of the `config` file to it.
+
+
+### Contents of credentials file
+```
+[DEFAULT]
+user=ocid1.user.oc1....
+fingerprint=e8:99:10:45:54:c4:3d:c6:61:9e:42:e0:51:c0:76:cc
+key_path="/Users/jakepage/.oci/oci_api_key.pem"
+tenancy=ocid1.tenancy.oc1...
+region=eu-paris-1
+key_password=PASSWORD
+```
+
+> Make sure that the path added in the `config.toml` is correct to ensure that Komiser has access to the credentials file.
+
+
+### Run it!
+That should be it. Try out the following command from your command prompt to start the server:
+
+```
+komiser start
+```
+
+If you point your browser to `http://localhost:3000`, you should be able to see your OCI resources.
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[oci]]
+name="sandbox-account"
+source="CREDENTIALS_FILE"
+path="Users/name/.oci/credentials"
+profile="DEFAULT"
+
+[[oci]]
+name="admin-account"
+source="CREDENTIALS_FILE"
+path="Users/name/.oci/credentials"
+profile="ADMIN"
+
+[[oci]]
+name="production-account"
+source="CREDENTIALS_FILE"
+path="Users/name/.oci/credentials"
+profile="PRODUCTION"
+
+[sqlite]
+file="komiser.db
+```
+
+### Contents of credentials file
+```
+[DEFAULT]
+user=ocid1.user.oc1....
+fingerprint=e8:99:10:45:54:c4:3d:c6:61:9e:42:e0:51:c0:76:cc
+key_path="/Users/jakepage/.oci/oci_api_key.pem"
+tenancy=ocid1.tenancy.oc1...
+region=eu-paris-1
+key_password=PASSWORD
+
+[ADMIN]
+user=ocid1.user.oc1....
+fingerprint=e8:99:10:45:54:c4:3d:c6:61:9e:42:e0:51:c0:76:cc
+key_path="/Users/jakepage/.oci/oci_api_key.pem"
+tenancy=ocid1.tenancy.oc1...
+region=eu-paris-1
+key_password=PASSWORD
+
+[PRODUCTION]
+user=ocid1.user.oc1....
+fingerprint=e8:99:10:45:54:c4:3d:c6:61:9e:42:e0:51:c0:76:cc
+key_path="/Users/jakepage/.oci/oci_api_key.pem"
+tenancy=ocid1.tenancy.oc1...
+region=eu-paris-1
+key_password=PASSWORD
+```
+
+### Run it!
+That should be it. Try out the following command from your command prompt to start the server:
+
+```
+komiser start
+```
+
+If you point your browser to `http://localhost:3000`, you should be able to see your OCI resources.
diff --git a/versioned_docs/version-3.1.0/Cloud Providers/ovh.md b/versioned_docs/version-3.1.0/Cloud Providers/ovh.md
new file mode 100644
index 0000000..fbfbe6b
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Cloud Providers/ovh.md
@@ -0,0 +1,58 @@
+# OVHcloud
+
+## Local Komiser CLI (Single Account)
+
+### Data persistence
+Choose between these two methods of persisting your OVH account data.
+#### Postgres
+**Add to config.toml file**
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+#### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Create and API
+* Create an API application from [here](https://eu.api.ovh.com/createToken/).
+
+### Configure correct enviroment variables
+* This CLI will first look for direct instanciation parameters then `OVH_ENDPOINT`, `OVH_APPLICATION_KEY`, `OVH_APPLICATION_SECRET` and `OVH_CONSUMER_KEY` environment variables. If either of these parameter is not provided, it will look for a configuration file of the form:
+
+```
+[default]
+; general configuration: default endpoint
+endpoint=ovh-eu
+
+[ovh-eu]
+; configuration specific to 'ovh-eu' endpoint
+application_key=my_app_key
+application_secret=my_application_secret
+consumer_key=my_consumer_key
+```
+
+* The CLI will successively attempt to locate this configuration file in
+
+ * Current working directory: `./ovh.conf`
+ * Current user's home directory `~/.ovh.conf`
+ * System wide configuration `/etc/ovh.conf`
+
+
+### Run it!
+* That should be it. Try out the following command from your command prompt to start the server:
+
+```
+komiser start --port 3000
+```
+
+* If you point your browser to http://localhost:3000, you should be able to see your projects:
+
+
+
+
\ No newline at end of file
diff --git a/versioned_docs/version-3.1.0/Cloud Providers/scaleway.md b/versioned_docs/version-3.1.0/Cloud Providers/scaleway.md
new file mode 100644
index 0000000..4ff1f5e
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Cloud Providers/scaleway.md
@@ -0,0 +1,103 @@
+---
+slug: /cloud-providers/scaleway
+title: Scaleway
+sidebar_label: Scaleway
+---
+
+# Scaleway
+
+## Supported resources
+- Compute Instances
+- Container Registries
+- Databases
+- Functions
+- Kubernetes Clusters
+- Load Balancers
+- Serverless Containers
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `Scaleway credentials`.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+The Scaleway credentials required to successfully integrate Komiser can be easily generated by:
+
+#### Creating and [API key](https://www.scaleway.com/en/docs/identity-and-access-management/iam/how-to/create-api-keys/) which generates `accessKey` and `secretKey`
+- Click Identity and Access Management (IAM) from the top-right of your [Organization Dashboard](https://console.scaleway.com/organization) in the Scaleway console. You are taken to your [Identity and Access Management](https://console.scaleway.com/iam/users) dashboard.
+- Click the `API Keys` tab.
+- Click the `β button` to generate a new API key.
+- Select the bearer of the API key. Choose between yourself (as an IAM user), or an IAM [application](https://www.scaleway.com/en/docs/identity-and-access-management/iam/concepts/#application) associated with the Organization.
+- Enter an optional description for the API key.
+- Enter the desired `expiration` period.
+- Click `Generate API Key`.
+
+#### Locate the Organization ID
+- Access the [Organization Dashboard](https://console.scaleway.com/organization).
+- In the Organization window click `Settings` to locate `organization ID`
+- Add the credentials to your `config.toml` file
+
+### Add your Scaleway credentials to your configuration file
+
+```
+[[scaleway]]
+name="demo-scaleway-account"
+accessKey="access_key"
+secretKey="secret_key"
+organizationId="organization_id"
+
+[sqlite]
+file="komiser.db
+```
+
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[scaleway]]
+name="demo-scaleway-account"
+accessKey="access_key"
+secretKey="secret_key"
+organizationId="organization_id"
+
+[[scaleway]]
+name="demo-scaleway-account-2"
+accessKey="access_key"
+secretKey="secret_key"
+organizationId="organization_id"
+
+[[scaleway]]
+name="demo-scaleway-account-3"
+accessKey="access_key"
+secretKey="secret_key"
+organizationId="organization_id"
+
+[sqlite]
+file="komiser.db
+```
\ No newline at end of file
diff --git a/versioned_docs/version-3.1.0/Cloud Providers/tencent.md b/versioned_docs/version-3.1.0/Cloud Providers/tencent.md
new file mode 100644
index 0000000..7503642
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Cloud Providers/tencent.md
@@ -0,0 +1,86 @@
+---
+slug: /cloud-providers/tencent
+title: Tencent
+sidebar_label: Tencent
+---
+
+# Tencent
+
+## Supported resources
+- Compute instances
+
+## Local Komiser CLI (Single account)
+
+Komiser now supports multiple cloud accounts by default. Account configuration is done through the `config.toml` file, just pass in your account `API Token`.
+
+We've also added 2 methods of persisting your account data.
+### Postgres
+#### Add to config.toml file
+```
+[postgres]
+uri="postgres://postgres:komiser@localhost:5432/komiser?sslmode=disable"
+```
+Note: For Postgres, Komiser anticipates the existence of a role `postgres` and a database `komiser` on the local Postgres server.
+
+### SQLite
+
+```
+[sqlite]
+ file = "komiser.db"
+```
+
+### Configuring Credentials
+
+Firstly grab your Personal Access token from your Tencent account.
+
+- Log in to the `CODING Console` and click `Use Now` to go to `CODING` page.
+- Hover over your profile photo in the upper-right corner and click `Personal Settings`.
+- In the menu on the left, click `Access Token.`
+- Create an `access token`
+- Click Create Token, enter a token description, and select the access permissions for the token.
+- Click Create Token. When submitting the request, you will need to enter the service password to verify your identity.
+- Click OK to create the access token.
+- After submitting the request, you will be brought back to the list of access tokens, and the new token will be shown.
+
+Need help finding it? Head on over to the official Tencent [documentation](https://www.tencentcloud.com/document/product/1132/44731).
+
+### Add your Tencent Access token to your configuration file
+
+```
+[[tencent]]
+name="Staging-Account"
+token="YOUR TOKEN"
+
+[sqlite]
+file="komiser.db
+```
+
+
+### Run it!
+* That should be it. Try out the following from your command prompt to start the server:
+
+```
+komiser start
+```
+
+* Point your browser to `http://localhost:3000`
+
+## Local Komiser CLI (Multiple accounts)
+Simply add more authentication blocks to the configuration file
+
+```
+[[tencent]]
+name="Development-Account"
+token="YOUR DEV ACOUNT TOKEN"
+
+[[tencent]]
+name="Staging-Account"
+token="YOUR STAGING ACCOUNT TOKEN"
+
+[[tencent]]
+name="Production-Account"
+token="YOUR PROD ACCOUNT TOKEN"
+
+[sqlite]
+file="komiser.db
+```
diff --git a/versioned_docs/version-3.1.0/Contributing/contribute.md b/versioned_docs/version-3.1.0/Contributing/contribute.md
new file mode 100644
index 0000000..dc6492a
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Contributing/contribute.md
@@ -0,0 +1,50 @@
+---
+slug: /contributing/contribute
+title: contribute
+sidebar_label: Contribute
+---
+# Contribute
+
+This repository contains the files required to build the Komiser Documentation Hub. To any [contributors](https://github.com/tailwarden/komiser/blob/master/CONTRIBUTING.md) willing to add to the project, before anything else, Thank you!
+
+## Contributing to the docs
+
+- The best way to get started is by reading the ["Contributor's Guide" blog post](https://www.tailwarden.com/blog/how-to-contribute-to-komiser?utm_source=docs&utm_medium=referral) along with the [Contributor Guidelines](https://github.com/tailwarden/komiser/blob/master/CONTRIBUTING.md).
+- Afterwards, go ahead and **fork** the docs [repository](https://github.com/tailwarden/docs). Make any changes you want to your fork, and when you're ready to send those changes to us, go to your fork and create a new pull request.
+
+- If it takes longer than expected to get feedback from the `Tailwarden` team, head over to the [Discord Server](https://discord.tailwarden.com) and **ping** a Tailwarden staff member either in the `#general` or `#feedback` channel, unless you are a member of the private `contributor` channel. You can always request access to this channel.
+
+- Once your pull request has been opened, it will be assigned to one or more reviewers. Those reviewers will do a thorough code review, looking for correctness, bugs, opportunities for improvement, documentation, comments, and style
+
+- Make sure you include relevant updates or additions to documentation when creating or modifying features.
+Once youβve received review and approval, your commits are squashed, and your PR is ready for merging.
+
+- Congrats youβre officially a Komiser contributor π
+
+### Contributor walk-through video
+
+
+
+
+
+---
+If you're in need of any assistance at any stage of your contributing journey please don't hesitate to reach out to anybody in the `#general` or `#feedback` discord channels, also let us know if you want to be added to the private `#contributors` channel too. Or directly to `@mlabouardy` or `@JakePage` who will always be happy to help.
\ No newline at end of file
diff --git a/versioned_docs/version-3.1.0/FAQ/faq.md b/versioned_docs/version-3.1.0/FAQ/faq.md
new file mode 100644
index 0000000..07d6d74
--- /dev/null
+++ b/versioned_docs/version-3.1.0/FAQ/faq.md
@@ -0,0 +1,81 @@
+---
+slug: /faqs
+title: FAQs
+sidebar_label: FAQs
+---
+
+# FAQs
+
+## What's the difference between Tailwarden and Komiser?
+
+Komiser is the open-source version of [Tailwarden](https://www.tailwarden.com/). To get a more in-depth description of what Komiser is, read it [here](/docs/Introduction/what-is-komiser.md). In short, Komiser is a tool that prioritizes cloud transparency regarding the cost of your cloud resources. That's why komiser makes it easy to track all the resources and costs related to them, cross regions, and cross accounts.
+
+Tailwarden on the other hand aims to be a more all-in-one DevOps tool. Tailwarden is built for Developers, CTOs, and Project Managers not only DevOps engineers.
+
+Tailwarden incorporates the Komiser cloud cost transparency features, along with security, governance features, and the ability to build custom dashboards on top of that. In addition with Tailwarden the user will get a consolidated view of all their cloud resources cross-account and cross-cloud-provider through the `Inventory page`.
+
+Tailwarden was established in late June 2022 and has a very ambitious feature roadmap that the team is working hard to deliver. So if an easy and accessible all-in-one cloud tool is something that could be valuable to you take a look at the [roadmap](https://tailwarden.canny.io/) (or even consider adding to it) and [join us](https://discord.tailwarden.com) for the ride.
+
+## What can Komiser help me with?
+
+Anybody who was ever tasked with managing a cloud provider account (that isn't a personal test account) understands how `painful` it is to track all the resources, cost, and security that goes along with it. Let alone managing multiple accounts, and let's not even get started about `multi-cloud` environments.
+
+Cloud providers for the most part are excellent, but they all have pretty `crummy web consoles`. Komiser brings **transparency** around what you have provisioned in your account and the cost it's incurring. You can toggle between cloud accounts and regions to uncover potentially **hidden costs**. Komiser brings to the **forefront** what was **hidden in the shadows**.
+
+## Is Komiser regularly maintained?
+
+Komiser is an open-source project that is actively maintained by the Tailwarden team. The tool is currently undergoing a complete frontend revamp which will bring new functionalities coming near the end of October 2022. Join the [Discord server](https://discord.tailwarden.com) so you don't miss any updates.
+
+## What is the dashboard data refresh rate?
+
+Komiser and Tailwarden consume the public cloud provider service APIs. So the refresh interval of the data visible in the dashboard is dependent on the cloud provider API refresh rate. For most service APIs in most cloud providers, the refresh rate is every `30 minutes`. We have gone to great lengths to ensure we do not cause any additional costs for your cloud account (including AWS, GCP and Azure), regardless of scale.
+
+## Is it easy to migrate from Komiser to Tailwarden?
+
+Yes, the migration process is very easy. Just open a Tailwarden account and link your cloud account credentials.
+
+## How can I use tags?
+
+**Tailwarden tags**
+
+On Tailwarden you can add in the Inventory section. Choose the resource you would like to tag and click in the three dots (...) under `Actions` and then fill in the pop-up.
+
+![add-tags](/img/add-tags.png)
+
+**Cloud provider tags**
+
+If you have resources tagged already in your cloud provider you will shortly to able to see those tags in the Komiser dashboard. You will be able to not only filter the tags you add on Komiser but also the tags configured in the cloud provider.
+
+**Komiser tags**
+
+Komiser will have the tagging feature delivered as part of the Komsier revamps efforts and will be delivered at the end of October as part of the Komiser v3.0.0 release.
+
+## How can I request a new feature?
+
+If you would like to request a feature to be added to Komiser, feel free to do so through any of the following channels:
+
+- GitHub [issues](https://github.com/tailwarden/komiser/issues)
+- Discord [server](https://discord.tailwarden.com) (#feature-requests channel)
+- During weekly Tailwarden Office House, book a slot [here](https://calendly.com/jake-tailwarden).
+- Via [Twitter](https://twitter.com/tailwarden)
+- Directly through our [Public Roadmap](https://roadmap.tailwarden.com/komiser)
+
+## Where can I see the upcoming features?
+
+Keep tabs on what we are working on by bookmarking our [public roadmap](https://tailwarden.canny.io/). We are aware that we have to always stay nimble and agile so if you think we should prioritize a certain feature over another, let your voice be heard by upvoting it, we really appreciate your input. Also, let us know if we are missing anything.
+
+## Does Komiser have access to my cloud data?
+
+Since Komiser is completely self-hosted, Tailwarden has zero access to any of your cloud data or personal information.
+
+## How can I build a custom dashboard?
+
+`Custom dashboards` are one of the main features we are working to deliver as soon as possible. We are very excited about being able to give users the chance to build customized dashboards filtering by certain regions, resources, or more importantly by `custom tags` to bring the clearest view to what you want to see.
+
+It will be available as a Tailwarden feature at first and might be added to Komiser down the line. Once the feature is live we will announce it on Discord. If you don't have one already, we invite you to open a free-trial Tailwarden account and test it out.
+
+Still got questions? Speak to us directly on [Discord](https://discord.tailwarden.com)!
+
+## How can I stay in the loop with new releases?
+
+Head on over to our [changelog](https://www.tailwarden.com/changelog). The best way to find out about the cool features and improvements we've shipped in the latest releases.
diff --git a/versioned_docs/version-3.1.0/Guides/How to Komiser/alerts.md b/versioned_docs/version-3.1.0/Guides/How to Komiser/alerts.md
new file mode 100644
index 0000000..66cf2a0
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Guides/How to Komiser/alerts.md
@@ -0,0 +1,69 @@
+---
+slug: /guides/how-to-komiser/alerts
+title: Alerts π
+sidebar_label: Alerts
+---
+
+Komiser supports webhooks at the views level to incentivize developers on cost and cloud usage and bring accountability to cloud spending. Users can set up personalized notifications to proactively monitor their multi-cloud resources, ensuring timely awareness of important events and potential issues. These alerts can be configured based on various criteria such as custom views, resource costs, and resource usage.
+
+Developers can create custom views and set up alerts to monitor resource costs and usage without spending all day monitoring the views. With Komiser, users can set up alerts via [Slack](#slack-integration) or provide [Custom Webhooks](#custom-webhook-integration) to trigger certain actions such as
+- Creating a ticket on Jira/Linear to be tackled by the infrastructure team.
+- Triggering an alert on an incident & response platform like PagerDuty.
+- Running a custom script to resize the infrastructure.
+
+Note: The above actions are just a few examples of the endless possibilities that can be set by the user on the webhook receiving end. Komiser sends the required data in a [pre-defined format](#request-details). Alerts are triggered every hour in Komiser.
+
+### Steps to add an Alert
+1. Head over to the view you want to set an alert for.
+2. Click on `Alerts` on the top right of the screen.
+3. Click on `Add an Alert`.
+4. Choose the alert method: Slack/Custom Webhook. If you want to add Slack and it is disabled, refer to the [Slack Integration section](#slack-integration) below.
+5. Fill in the details accordingly.
+6. Save the alert.
+7. Congratulations! You should now see the alert when you click on the alerts tab again.
+
+## Slack integration
+To integrate Komiser with Slack you will have to generate a webhook and add it to the `config.toml` file.
+Find the steps to generate the slack webhook in the official slack documentation [here](https://api.slack.com/messaging/webhooks).
+
+### Steps to integrate Komiser with Slack:
+1. Create a Slack app (if you don't have one already).
+2. Enable Incoming Webhooks.
+3. Create an Incoming Webhook.
+4. Pick a channel that the app will post to, and then click to `Authorize your app`.
+5. You'll be sent back to your app settings, and you should now see a new entry under the Webhook URLs for Your Workspace section, with a Webhook URL that'll look something like this:
+```
+https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
+```
+6. Then simply add the `[slack]` block to your `config.toml` file:
+```
+[slack]
+webhook="https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
+```
+
+## Custom Webhook integration
+To integrate a custom webhook, you need a URL that listens to the data posted to it when it is triggered. You don't need to edit the `config.toml` file for this integration.
+
+### Request Details
+- Komiser makes a **POST** request to the endpoint.
+- The data is sent in the following format in the request body:
+ ```json
+ {
+ "komiser": "", // [string]
+ "view": "", // [string]
+ "message": "Usage/Cost alert", // [string]
+ "data": 32, // [float64] the threshold set for the alert
+ "timestamp": 1685793973 // [int64] number of seconds since January 1, 1970 UTC
+ }
+ ```
+- You can add an optional **Secret** field. It is a secret value that is added as a request header: `authorization: `.
+- It is recommended to **test the endpoint** before submitting the alert and verify the data you receive is the same as:
+ ```json
+ {
+ "komiser": "komiser version that will send the webhook",
+ "view": "testing the connection",
+ "message": "test alert",
+ "data": 0,
+ "timestamp": 1685794020 // number of seconds since January 1, 1970 UTC when you test the endpoint hence will be different for you
+ }
+ ```
diff --git a/versioned_docs/version-3.1.0/Guides/How to Komiser/customviews.md b/versioned_docs/version-3.1.0/Guides/How to Komiser/customviews.md
new file mode 100644
index 0000000..3ecead5
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Guides/How to Komiser/customviews.md
@@ -0,0 +1,14 @@
+---
+slug: /guides/how-to-komiser/custom-views
+title: Custom Views π π
+sidebar_label: Custom Views
+---
+
+With this Custom views, users can filter their multi-cloud resources such as VMs, storage buckets, databases, and more, based on various criteria like tags, regions, resource type, service type, and more. The ability to apply complex filters and organize resources into logical segments enables users to see the cost breakdown of different parts of their application or cloud organization.
+
+This helps to provide a clearer understanding of cloud spend and resource utilization, allowing users to make informed decisions on cost optimization and resource allocation. The saved filters can be accessed quickly in the future, making it easy to track and monitor cloud spend over time.
+
+### Blog posts about Komiser custom views
+
+- [Cultivate a Cost-Conscious Culture with Komiser](https://www.tailwarden.com/blog/cultivate-a-cost-conscious-culture-with-komiser?utm_source=docs&utm_medium=referral)
+- [Enabling and maintaining a cost conscious culture. At every level.](https://www.tailwarden.com/blog/enabling-and-maintaining-a-cost-conscious-culture-at-every-level?utm_source=docs&utm_medium=referral)
\ No newline at end of file
diff --git a/versioned_docs/version-3.1.0/Guides/How to Komiser/dashboard.md b/versioned_docs/version-3.1.0/Guides/How to Komiser/dashboard.md
new file mode 100644
index 0000000..d12e160
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Guides/How to Komiser/dashboard.md
@@ -0,0 +1,42 @@
+---
+slug: /guides/how-to-komiser/dashboard
+title: Dashboard π
+sidebar_label: Dashboard
+---
+
+The `Komiser Dashboard` provides an overview of your cloud environments, collecting and summarizing cloud resources across accounts, regions, and providers.
+
+The `top widgets` display the connected cloud accounts, the regions where resources are located, and the total number of resources, as well as the total cost of your infrastructure.
+
+The dashboard also includes a `Cloud map` that offers a geographical view of your resources. By hovering over the regional data centers, you can obtain more information about how many resources are deployed in each region.
+
+To the left of the cloud map, you will find the `Resource manager`, where you can filter resources by cloud accounts, providers, services, and regions, and easily visualize them in a pie chart.
+
+Below, you will find the `Cost explorer`, which allows you to sort resources and compare costs on a monthly to yearly basis. You can also exclude resources from the cost comparison.
+
+![Dashboard gif](/img/dashboard-komiser-lower-quality.gif)
+
+### Check out the `dashboard` in the first part of the Komiser v3.0.3 video:
+
+
+
+
diff --git a/versioned_docs/version-3.1.0/Guides/How to Komiser/overview.md b/versioned_docs/version-3.1.0/Guides/How to Komiser/overview.md
new file mode 100644
index 0000000..3985408
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Guides/How to Komiser/overview.md
@@ -0,0 +1,25 @@
+---
+slug: /guides/overview
+title: Overview
+sidebar_label: Overview
+---
+
+# Overview
+
+### Hey there Wardens!π
+
+**Welcome to the `How to Komiser` section section!**
+
+This is the section where we will help Komiser users, through blog posts and How-to video to get the most value from Komiser. Each video focuses on a feature or use-case of Komiser. By applying the actionable tips to your cloud resources, hopefully you will see a positive impact on your `cloud bill` and increse your general cloud `transparency`.
+
+### Want us to cover a particular service? πββοΈ
+
+If we haven't covered a service or a Komiser feature that you might find beneficial, please contact us and let us know. If is any way we can make your experience using Komiser a more pleasant one, we are here to make that happen!
+
+The best way to contact us is through out [Discord server](https://discord.tailwarden.com). Feel free to leave a message in the `#feedback` of `#cloud-talk` channels.
+
+
+
+
+
+
diff --git a/versioned_docs/version-3.1.0/Guides/How to Komiser/tagging.md b/versioned_docs/version-3.1.0/Guides/How to Komiser/tagging.md
new file mode 100644
index 0000000..28e6c58
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Guides/How to Komiser/tagging.md
@@ -0,0 +1,17 @@
+---
+slug: /guides/how-to-komiser/tagging
+title: Cloud Resource Tagging π·οΈ
+sidebar_label: Tagging
+---
+
+Cloud resource tagging can bring numerous benefits to your organization by allowing you to better manage, organize, and optimize its cloud resources. Tagging resources with relevant metadata such as `project name`, `owner`, and `cost center` can help to categorize and track cloud spending and resources across teams, departments, and projects. By using Komiser, you can easily automate the process of tagging resources, monitor cost and usage patterns, and identify opportunities for cost optimization.
+
+Additionally, Komiser provides valuable insights into resource utilization and can alert teams to changes in resource consumption. With these capabilities, companies can streamline cloud operations, reduce costs, and ensure that their cloud resources are aligned with business goals and objectives.
+
+### Blog posts on cloud resource tagging with Komiser
+
+- [Tagging Cloud Resources with Komiser](https://www.tailwarden.com/blog/tagging-cloud-resources-with-komiser?utm_source=docs&utm_medium=referral)
+- [Cloud Resource Tagging, optional?](https://www.tailwarden.com/blog/tagging-optional?utm_source=docs&utm_medium=referral)
+
+
+
diff --git a/versioned_docs/version-3.1.0/Introduction/community.md b/versioned_docs/version-3.1.0/Introduction/community.md
new file mode 100644
index 0000000..bf7556d
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Introduction/community.md
@@ -0,0 +1,26 @@
+---
+slug: /introduction/community
+title: community
+sidebar_label: Community
+---
+# Community
+
+## Our mission
+
+The Tailwarden community is made up of Wardens! We are people that wear many different hats, we rally around one mission though which is:
+
+```
+Supporting developers in building, monitoring and optimizing their technical infrastructure
+on cloud providers by bringing them accessible but state-of-the-art DevOps knowledge fueled by
+the shared knowledge that each community member brings along with them.
+```
+
+Below are a couple of ways you can take part and/or [contribute](/docs/Contributing/contribute.md) to the community.
+
+## Discord Server
+
+The [Discord Server](https://discord.tailwarden.com) is an open and inclusive place where you get assistance with anything Komiser and Tailwarden related, you can interact with the maintainers or simply hang out with the community and talk about anything around cloud, cost, security and DevOps.
+
+## Community calls
+
+Soon, various Tailwarden maintainers and staff members will open up a number of slots on their calendars in which you can book a slot to chat directly about Komiser or Tailwarden. It's a chance for you to let us know how we can best help you. But it is also incredibly helpful to us to hear your opinion about the product. We are all ears and would love to hear your ideas for your desired features and improvements. So if you're keen to share your thoughts with us, don't hesitate to book a time.
diff --git a/versioned_docs/version-3.1.0/Introduction/installation.md b/versioned_docs/version-3.1.0/Introduction/installation.md
new file mode 100644
index 0000000..0e08d35
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Introduction/installation.md
@@ -0,0 +1,152 @@
+---
+slug: /introduction/getting-started
+title: Installation
+sidebar_label: Installation
+---
+# Installation
+
+## Getting started
+
+You can install the CLI with a `curl` utility script or by downloading the binary from the releases page. Once installed you'll get the `komiser` command.
+
+### Linux
+
+```
+wget https://cli.komiser.io/latest/komiser_Linux_x86_64 -O komiser
+```
+
+### Windows
+
+```
+wget https://cli.komiser.io/latest/komiser_Windows_x86_64.zip
+tar -xf komiser_Windows_x86_64.zip
+```
+
+### Mac OS X
+
+For ARM architecture (M1 & M2 Chip)
+
+```
+wget https://cli.komiser.io/latest/komiser_Darwin_arm64 -O komiser
+```
+
+For AMD architecture (Intel Chip)
+
+```
+wget https://cli.komiser.io/latest/komiser_Darwin_x86_64 -O komiser
+```
+
+> Note
+ Make sure to add the execution permission to Komiser `chmod +x komiser`.
+
+
+### Homebrew installation
+
+```
+brew update
+brew tap tailwarden/komiser
+brew install komiser
+
+# Make sure you are running the newest version of Komiser:
+brew update
+brew reinstall komiser
+```
+
+## How to use
+
+### Komiser CLI installation
+
+
+
+
+
+### Options
+
+```
+Usage:
+ komiser start [command]
+```
+
+```
+Available Commands:
+ config Create configuration file
+ help Help about any command
+ start Run Komiser server
+ version Show tool version
+
+Flags:
+ -h, --help help for komiser
+```
+
+### Docker
+
+Komiser is also available as a Docker image:
+
+[https://hub.docker.com/r/tailwarden/komiser/tags/](https://hub.docker.com/r/tailwarden/komiser/tags)
+
+Check Docker Hub of the Komiser changelog to find the latest version of Komiser.
+
+> Note: From Komiser v3 onwards, we natively support multiple cloud account authentication through the `config.toml` file, you will need to mount this fill along with a credentials file (not needed is using ENVIRONMENT_VARIABLES as the auth source) to the Docker container using the `-v` flags as seen in the `Docker run` command below.
+
+```
+docker run -v /local/path/to/config.toml:/etc/config/config.toml -v /local/path/to/credentials.yaml:/etc/config/credentials.yaml -d -p 3000:3000 --name komiser tailwarden/komiser:latest komiser start --config /etc/config/config.toml
+```
+
+### Docker installation tutorial
+
+
+
+
+## Self-hosted
+
+Head over to your cloud provider of choice to learn how to connect your Komiser CLI to your cloud account and to deploy a self hosted version of the tool.
+
+* [AWS](/docs/cloud-providers/aws)
+* [Azure](/docs/cloud-providers/azure)
+* [Civo](/docs/cloud-providers/civo)
+* [DigitalOcean](/docs/cloud-providers/digital-ocean)
+* [GCP](/docs/cloud-providers/google-cloud-platform)
+* [Kubernetes](/docs/cloud-providers/kubernetes)
+* [Linode](/docs/cloud-providers/linode)
+* [MongoDB](/docs/cloud-providers/mongodb-atlas)
+* [OCI](/docs/cloud-providers/oci)
+* [Scaleway](/docs/cloud-providers/scaleway)
+* [Tencent](/docs/cloud-providers/tencent)
diff --git a/versioned_docs/version-3.1.0/Introduction/what-is-komiser.md b/versioned_docs/version-3.1.0/Introduction/what-is-komiser.md
new file mode 100644
index 0000000..c93b5c2
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Introduction/what-is-komiser.md
@@ -0,0 +1,17 @@
+---
+slug: /introduction/what-is-komiser
+title: What is Komiser?
+sidebar_label: What is Komiser?
+---
+
+# What is Komiser?
+
+![Komiser-banner](/img/what-is-light.png#gh-light-mode-only)![Komiser-banner](/img/what-is-dark.png#gh-dark-mode-only)
+
+**Komiser** is the `open-source` version of [Tailwarden](https://www.tailwarden.com/) (Enterprise edition).
+
+The tool started off as a side project by Tailwarden co-founder [Mohamed Labouardy](https://www.linkedin.com/in/mlabouardy/) while working as head of DevOps for a previous company at the time. He was tasked with managing a huge number of cloud resources spanning multiple cloud providers. He grew frustrated that there were no good tools out there to help manage this **sprawling multi-cloud infrastructure** which would unexpectedly rack up huge bills every month. So he decided to build it, with the help of contributors and extremely valuable feedback from the community. Komiser came to life as a continuously evolving cloud-agnostic cost inspector and resource manager.
+
+Two years on, with almost **3000 GitHub stars** and over **2 million** downloads, Komiser has grown to be an open tool used by many to bring transparency with regard to cost in their cloud environments.
+
+As a project, Komiser's goal is to help you **spend less time switching between confusing cloud provider consoles** and have a clear view of what you manage in the cloud. To have quick access to what is important to you. Through this transparency, you can `uncover hidden costs`, gain helpful `insight` and start `taking control` of your `infrastructure`.
diff --git a/versioned_docs/version-3.1.0/Telemetry/telemetry.md b/versioned_docs/version-3.1.0/Telemetry/telemetry.md
new file mode 100644
index 0000000..be7b877
--- /dev/null
+++ b/versioned_docs/version-3.1.0/Telemetry/telemetry.md
@@ -0,0 +1,38 @@
+---
+slug: /telemetry
+title: Telemetry
+sidebar_label: Telemetry
+---
+
+# Telemetry
+
+By default, the Komiser CLI collects some anonymous usage data. There are two types of data we collect:
+- **Usage**: features usage, we use this data to understand which providers are being used and how much, which helps guide our roadmap and development efforts.
+- **Errors**: stack traces sent whenever a panic occurs in the CLI. Having this data allows us to be notified when there is a bug that needs to be prioritized.
+
+### We will never:
+
+- Identify or track users.
+- Collect personal information such as IP addresses, email addresses, or website URLs.
+- Store data about your cloud resources or credentials .
+
+## Why collect telemetry data?
+
+We collect telemetry data for only two reasons:
+
+- In order to create a better product, we need reliable quantitative information. The data we collect helps us fix bugs, evaluate the success of features, and better understand our users' needs.
+
+- We also need to prove that people are actually using Komiser. Usage metrics help us justify our existence to investors so that we can keep this project alive.
+
+## What tools do we use to collect and visualize data?
+
+We use [Segment](https://segment.com/), a platform for data collection and management, to collect usage data. We then feed that data into [Amplitude](https://amplitude.com/), a tool for graphing and highlighting data, so that we can build visualizations according to our needs. As for error collection, we use [Sentry](https://sentry.io/).
+
+## How to disable data collection
+
+Data collection can be disabled at any time by setting a command-line option, then restarting the Komiser instance.
+
+```
+komiser start --telemetry false
+```
+
diff --git a/versioned_docs/version-3.1.0/intro.md b/versioned_docs/version-3.1.0/intro.md
new file mode 100644
index 0000000..10fbc92
--- /dev/null
+++ b/versioned_docs/version-3.1.0/intro.md
@@ -0,0 +1,65 @@
+---
+slug: /intro
+title: Overview of Tailwarden Documentation
+sidebar_label: Overview
+---
+
+# Overview of Komiser Documentation
+
+![Tailwarden](/img/komiser-overview-light.png#gh-light-mode-only)![Tailwarden](/img/komiser-overview-dark.png#gh-dark-mode-only)
+
+[![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/fold_left.svg?style=social&label=Follow%20%40tailwarden)](https://twitter.com/tailwarden) [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Optimize%20Cost%20and%20Security%20on%20AWS&url=https://github.com/mlabouardy/komiser&via=mlabouardy&hashtags=komiser,aws,gcp,cloud,serverless,devops)
+
+This section is a high-level overview of how the Komiser Documentation is structured. It will help you use the documentation more effectively by guiding you on where to look for specific information.
+
+The Komiser Documentation covers everything you need to know about Komiser. It made up of five main sections which are:
+
+- [Introduction](/docs/Introduction/installation.md)
+- [Cloud Providers](/docs/cloud-providers/aws)
+- [Contributing](/docs/Contributing/contribute.md)
+- [Guides](/docs/guides/overview)
+- [FAQs](/docs/FAQ/faq.md)
+
+## Introduction
+
+In the `introduction` section you will find the three pages below. Since Komiser is an open-source project, we are fully aware that any OSS project is only as valuable as the community that surrounds it, that's why we want to make it as easy as possible for everyone to participate, you should be able to learn how to do that in the `Community` section.
+Head over to the `Installation` page to get the download the Komiser CLI for your OS and architecture.
+The `What is Komiser?` page summarizes the goals and features of the Komiser project.
+
+- [Community](/docs/Introduction/community.md)
+- [Installation](/docs/Introduction/installation.md)
+- [What is Komiser?](/docs/Introduction/what-is-komiser.md)
+
+## Cloud Providers
+
+Komiser supports multiple cloud providers and form of deployment.
+Follow the links below to get the installation steps for the each cloud provider:
+
+- [AWS](/docs/cloud-providers/aws)
+- [Azure](/docs/cloud-providers/azure)
+- [Civo](/docs/cloud-providers/civo)
+- [DigitalOcean](/docs/cloud-providers/digital-ocean)
+- [Kubernetes](/docs/cloud-providers/kubernetes)
+- [Linode](/docs/cloud-providers/linode)
+- [MongoDB Atlas](/docs/cloud-providers/mongodb-atlas)
+- [OCI](/docs/cloud-providers/oci)
+- [Scaleway](/docs/cloud-providers/scaleway)
+- [Tencent](/docs/cloud-providers/tencent)
+
+## Contributing
+
+Komiser is written in `Golang` and is `Elv2 licensed` - contributions are always welcome whether that means providing feedback, be it through GitHub, through the `#feedback` channel on our [Discord server](https://discord.tailwarden.com) or testing existing and new features. All of the relevant information below:
+
+- [Contribute](/docs/Contributing/contribute.md)
+
+## Guides
+
+We want to be able to give Komiser users the tips and guidance neccessary to be able to get the most value from the tool as quickly as possible. That's why we will be continously adding and updating informative guides and series in which try to relay valuable and actionable advice.
+
+- [How to Komiser](/docs/guides/overview)
+
+## FAQs
+
+Find all the answers to all the Komiser related questions you might have. Feel free to reach out via the `#feedback` channel on [Discord](https://discord.tailwarden.com) to request the inclusion of additional questions.
+
+- [FAQs](/docs/FAQ/faq.md)
diff --git a/versioned_sidebars/version-3.0.0-sidebars.json b/versioned_sidebars/version-3.0.0-sidebars.json
new file mode 100644
index 0000000..c7211aa
--- /dev/null
+++ b/versioned_sidebars/version-3.0.0-sidebars.json
@@ -0,0 +1,131 @@
+{
+ "mySidebar": [
+ {
+ "type": "doc",
+ "id": "intro"
+ },
+ {
+ "type": "category",
+ "label": "Introduction",
+ "items": [
+ {
+ "type": "doc",
+ "id": "Introduction/what-is-komiser"
+ },
+ {
+ "type": "doc",
+ "id": "Introduction/installation"
+ },
+ {
+ "type": "doc",
+ "id": "Introduction/community"
+ }
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Guides",
+ "items": [
+ {
+ "type": "category",
+ "label": "How to Komiser",
+ "items": [
+ {
+ "type": "doc",
+ "id": "Guides/How to Komiser/overview"
+ },
+ {
+ "type": "doc",
+ "id": "Guides/How to Komiser/tagging"
+ },
+ {
+ "type": "doc",
+ "id": "Guides/How to Komiser/customviews"
+ },
+ {
+ "type": "doc",
+ "id": "Guides/How to Komiser/dashboard"
+ },
+ {
+ "type": "doc",
+ "id": "Guides/How to Komiser/alerts"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Cloud Providers",
+ "items": [
+ {
+ "type": "doc",
+ "id": "Cloud Providers/aws"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/azure"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/civo"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/digital-ocean"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/oci"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/k8s"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/linode"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/tencent"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/scaleway"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/mongodbatlas"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/gcp"
+ }
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Contributing",
+ "items": [
+ {
+ "type": "doc",
+ "id": "Contributing/contribute"
+ }
+ ]
+ },
+ {
+ "type": "doc",
+ "id": "Telemetry/telemetry"
+ },
+ {
+ "type": "doc",
+ "id": "FAQ/faq"
+ },
+ {
+ "type": "link",
+ "label": "Changelog",
+ "href": "https://www.tailwarden.com/changelog"
+ }
+ ]
+}
diff --git a/versioned_sidebars/version-3.1.0-sidebars.json b/versioned_sidebars/version-3.1.0-sidebars.json
new file mode 100644
index 0000000..c7211aa
--- /dev/null
+++ b/versioned_sidebars/version-3.1.0-sidebars.json
@@ -0,0 +1,131 @@
+{
+ "mySidebar": [
+ {
+ "type": "doc",
+ "id": "intro"
+ },
+ {
+ "type": "category",
+ "label": "Introduction",
+ "items": [
+ {
+ "type": "doc",
+ "id": "Introduction/what-is-komiser"
+ },
+ {
+ "type": "doc",
+ "id": "Introduction/installation"
+ },
+ {
+ "type": "doc",
+ "id": "Introduction/community"
+ }
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Guides",
+ "items": [
+ {
+ "type": "category",
+ "label": "How to Komiser",
+ "items": [
+ {
+ "type": "doc",
+ "id": "Guides/How to Komiser/overview"
+ },
+ {
+ "type": "doc",
+ "id": "Guides/How to Komiser/tagging"
+ },
+ {
+ "type": "doc",
+ "id": "Guides/How to Komiser/customviews"
+ },
+ {
+ "type": "doc",
+ "id": "Guides/How to Komiser/dashboard"
+ },
+ {
+ "type": "doc",
+ "id": "Guides/How to Komiser/alerts"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Cloud Providers",
+ "items": [
+ {
+ "type": "doc",
+ "id": "Cloud Providers/aws"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/azure"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/civo"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/digital-ocean"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/oci"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/k8s"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/linode"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/tencent"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/scaleway"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/mongodbatlas"
+ },
+ {
+ "type": "doc",
+ "id": "Cloud Providers/gcp"
+ }
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Contributing",
+ "items": [
+ {
+ "type": "doc",
+ "id": "Contributing/contribute"
+ }
+ ]
+ },
+ {
+ "type": "doc",
+ "id": "Telemetry/telemetry"
+ },
+ {
+ "type": "doc",
+ "id": "FAQ/faq"
+ },
+ {
+ "type": "link",
+ "label": "Changelog",
+ "href": "https://www.tailwarden.com/changelog"
+ }
+ ]
+}
diff --git a/versions.json b/versions.json
new file mode 100644
index 0000000..db9cec6
--- /dev/null
+++ b/versions.json
@@ -0,0 +1,4 @@
+[
+ "3.1.0",
+ "3.0.0"
+]