Skip to content

Commit

Permalink
updated the docs with cli next release
Browse files Browse the repository at this point in the history
Signed-off-by: Dipankar Das <65275144+dipankardas011@users.noreply.github.com>
  • Loading branch information
dipankardas011 committed Jun 1, 2024
1 parent 728bf40 commit 3ad42d7
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 274 deletions.
2 changes: 1 addition & 1 deletion content/en/about/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ menu: {main: {weight: 10}}

{{% blocks/lead %}}

The ksctl project by kubesimplify is a Cloud Agnostic Kubernetes Management command-line tool that helps developers and administrators to manage multiple Kubernetes clusters running on multiple cloud environments with options to choose from Self-Managed HA clusters to Managed Clusters provided by cloud providers
The ksctl project by ksctl is a Cloud Agnostic Kubernetes Management tool that helps developers and administrators to manage multiple Kubernetes clusters running on multiple cloud environments with options to choose from Self-Managed HA clusters to Managed Clusters provided by cloud providers

{{% /blocks/lead %}}

Expand Down
5 changes: 0 additions & 5 deletions content/en/docs/Contribution guidelines/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,11 +132,6 @@ git remote set-url --push upstream no_push # no push to upstream

## Trying out code changes

Info | data
-|-
Url | `https://jenkins.ksctl.com/`
UserName | `ksctl`
pass | `77777`

Before submitting a code change, it is important to test your changes thoroughly. You can do this by running the unit tests and integration tests.

Expand Down
6 changes: 3 additions & 3 deletions content/en/docs/Contribution guidelines/core.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@ Repository: ksctl/ksctl
{{% /pageinfo %}}


## Test out both All Mock and Unit tests
## Test out both All Mock and Unit tests and lints
```bash
make test
```

## Test out both All Unit tests
```bash
make unit_test_api
make unit_test_all
```

## Test out both All Mock tests
```bash
make mock_test
make mock_all
```

## for E2E tests on local
Expand Down
4 changes: 2 additions & 2 deletions content/en/docs/Getting started/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ their are various method
{{% tab header="**Operating System**:" disabled=true /%}}
{{% tab header="Linux" %}}
```bash
bash <(curl -s https://raw.githubusercontent.com/ksctl/cli/main/scripts/install.sh)
curl -sfL https://raw.githubusercontent.com/ksctl/cli/main/scripts/install.sh | python3 -
```
{{% /tab %}}
{{% tab header="MacOS" %}}
```bash
zsh <(curl -s https://raw.githubusercontent.com/ksctl/cli/main/scripts/install.sh)
curl -sfL https://raw.githubusercontent.com/ksctl/cli/main/scripts/install.sh | python3 -
```
{{% /tab %}}
{{% tab header="Windows" lang="sw" %}}
Expand Down
2 changes: 1 addition & 1 deletion content/en/docs/Ksctl Operators/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ tags: [test, docs]

Operators
- ksctl agent
- ksctl storage controller
- ksctl stateimporter
- ksctl application controller


Expand Down
270 changes: 8 additions & 262 deletions content/en/docs/Reference/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,267 +11,13 @@ for the Ksctl cli

# CLI Command Reference

This topic contains information about ksctl-cli commands, syntax, options, resource types, and a few examples of command usage.
Docs are available now in cli repo
Here are the links for the documentation files

## Syntax
[Markdown format](https://github.com/ksctl/cli/tree/main/gen/docs.md)
[RichText format](https://github.com/ksctl/cli/tree/main/gen/docs.rst)

Use the following syntax to run the ksctl-cli tool:

```bash
ksctl [command] [<command-arguments>] [command-options]
```

## Commands

The following table describes the syntax and descriptions for all the ksctl-cli commands.

| Operations | Syntax | Description |
| ---------------| ----------------------------------- | ------------------------------------------------------------------ |
| cred | `ksctl cred` | Login with your Cloud-provider Credentials |
| create | `ksctl create [options]` | Creates a cluster of ha or cloud managed types |
| delete | `ksctl delete [options]` | Delete a cluster of ha or cloud managed types |
| get-clusters | `ksctl get-clusters [options]` | Prints out all the clusters created via ksctl |
| switch-cluster | `ksctl switch-cluster [options]` | Use to switch between clusters |
| version | `ksctl version` | Prints out ksctl binary version |


## Options

The following are the ksctl-cli options.

| Options | Shorthand | Description |
| --------------- | --------- | ---------------------------------------------------------------------------- |
| --help | -h | It provides more information on the ksctl-cli. |
| --toggle | -t | Help message for toggle |
| --version | -v | It is the version of the `ksctl-cli` tool. |
| --feature-flags | N/A | It is a feature flag for testing latest development |

:::note NOTE

::::caution WARN!
this feature is being worked on
It will be used by the future releases of ksctl
::::

The ksctl cli tool must have access to the clusters you want it to manage. To grant it access, set the KUBECONFIG environment variable to a path to the kubeconfig file containing the necessary keys to access those clusters. To set the KUBECONFIG environment variable, use these commands:

On Linux/macOS: `export KUBECONFIG="[path to kubeconfig file from the output of creation]"`

On Windows: `$env:KUBECONFIG = "[path to kubeconfig file from the output of creation]"`
:::

## Register Credentials

Use this command to login in your selected cloud provider.

### Syntax
```bash
ksctl cred
```

:::note Note
This command is used to configure the credentials for your selected cloud provider. It will prompt you to enter the credentials specific to your cloud provider.
:::

Further select your respected cloud-provider and enter the required credentials when asked to complete the authentication process.
After successful authentication, you should see a confirmation message.

### Example
```bash
$ ksctl cred

1> AWS (EKS)
2> Azure (AKS)
3> Civo (K3s)

2
[LOG] Enter your SUBSCRIPTION ID
Enter Secret->
[LOG] Enter your TENANT ID
Enter Secret->
[LOG] Enter your CLIENT ID
Enter Secret->
[LOG] Enter your CLIENT SECRET
Enter Secret->
[SUCCESS] [secrets] configuration
[SUCCESS] [ksctl] Credential added
```

## Create a Cluster

Use this command to create cluster. Also have option of creating self-managed or a managed cluster

### Syntax

```bash
ksctl create-cluster <cloud-provider> --name <cluster-name> --node <Number-of-nodes> --region <deafult-region> --nodeSize <Node-size>
```

### Sub-Commands

The following are the `ksctl create [command] [options]` command.

| Command | Description |
| ----------------| ------------------------------------------- |
| aws | Use to create a EKS cluster in AWS |
| azure | Use to create a AKS cluster in Azure |
| civo | Use to create a CIVO k3s cluster |
| local | Use to create a LOCAL cluster using Docker |
| ha-azure | Use to create a HA cluster in Azure |
| ha-civo | Use to create a HA CIVO cluster |
| ha-[cloud_provider] add-nodes | Use to add more workernodes to existing cluster |

### Options

#### HA (aka self-managed Highly Available cluster)

Flags | Shorthand | Description |
-|- | - |
--approve | | approval to avoid showMsg (default true)
--apps=[string] | | Pre-Installed Applications
--cni=[string] | | CNI plugin to use
--distribution=[string] | | Kubernetes Distribution
--feature-flags=[string] | | Supported values with comma seperated features to be enabled
--name=[string] | -n | Cluster Name (default "demo")
--noCP=[int] | | Number of ControlPlane Nodes (default 3)
--noDS=[int] | | Number of DataStore Nodes (default 1)
--noWP=[int] | | Number of WorkerPlane Nodes (default 1)
--nodeSizeCP=[string] | | Node size of self-managed controlplane nodes
--nodeSizeDS=[string] | | Node size of self-managed datastore nodes
--nodeSizeLB=[string] | | Node size of self-managed loadbalancer node
--nodeSizeWP=[string] | | Node size of self-managed workerplane nodes
--region=[string] | -r | Region
--verbose | -v | for verbose output (default true)
--version=[string] | | Kubernetes Version

#### HA add-nodes (aka self-managed Highly Available cluster)

Flags | Shorthand | Description |
-|- | - |
--approve | | approval to avoid showMsg (default true)
--distribution=[string] | | Kubernetes Distribution
--feature-flags=[string] | | Supported values with comma seperated features to be enabled
--name=[string] | | Cluster Name (default "demo")
--noWP=[int] | | Number of WorkerPlane Nodes (default -1)
--nodeSizeWP=[string] | | Node size of self-managed workerplane nodes
--region=[string] | | Region
--verbose | | for verbose output (default true)
--version=[string] | | Kubernetes Version

#### Cloud Managed (aka managed)
Flags | Shorthand | Description |
-|- | - |
--approve| | approval to avoid showMsg (default true)
--apps=[string] | | Pre-Installed Applications
--cni=[string] | | CNI plugin to use
--distribution=[string] | | Kubernetes Distribution
--feature-flags=[string] | | Supported values with comma seperated features to be enabled
--name=[string] | -n | Cluster Name
--noMP=[int] | | Number of Managed Nodes (default 1)
--nodeSizeMP=[string] | | Node size of managed cluster nodes
--region=[string] | -r | Region
--verbose | -v | for verbose output (default true)
--version=[string] | | Kubernetes Version

:::note IMP
Some Cloud provider's managed cluster offering dont provide options to choose pre-installed apps
but we are continuously working to enable it from our side
:::

### Examples

```bash
# Managed
ksctl create civo --name demo --region LON1
# HA
ksctl create ha-civo --name demo --region LON1
```

## Delete a cluster

Use this command to delete the cluster.
### Sub-Commands

The following are the `ksctl delete [command] [options]` command.

| Command | Description |
| ----------------| ------------------------------------------- |
| aws | Use to delete a EKS cluster in AWS |
| azure | Use to delete a AKS cluster in Azure |
| civo | Use to delete a CIVO k3s cluster |
| local | Use to delete a LOCAL cluster using Docker |
| ha-azure | Use to delete a HA cluster in Azure |
| ha-civo | Use to delete a HA CIVO cluster |
| ha-[cloud_provider] delete-nodes | Use to delete workernodes from existing cluster |

### Syntax

```bash
ksctl delete <cloud-provider> --name <cluster-name> --region <deafult-region>
```

### Options

The following are the `ksctl delete [cloud-provider] [options]` command options.

Flags | Shorthand | Description |
-|- | - |
--name=[string] | -n | Name of the cluster
--region=[string] | -r | Specify the region of the cluster
--help | -h | It provides information on the delete command.
--verbose | -v | It provides verbose output (default true)
--approve | | approval to avoid showMsg (default true)
--feature-flags=[string] | | Supported values with comma seperated features to be enabled


#### HA delete-nodes (aka self-managed Highly Available cluster)

Flags | Shorthand | Description |
-|- | - |
--approve | | approval to avoid showMsg (default true)
--distribution=[string] | | Kubernetes Distribution
--feature-flags=[string] | | Supported values with comma seperated: [autoscale]
--name=[string] | -n | Cluster Name (default "demo")
--noWP=[int] | | Number of WorkerPlane Nodes (default -1)
--region=[string] | -r | Region
--verbose |-v | for verbose output (default true)

### Examples

```bash
# Managed
ksctl delete civo --name demo --region LON1
# HA
ksctl delete ha-civo --name demo --region LON1
```

## Switch

Use this command to switch between clusters

### Syntax
```bash
ksctl switch --provider <cloud-provider> --name <cluster-name> --region <deafult-region>
```

### Options
Flags | Shorthand | Description |
-|- | - |
--name=[string] | -n | Use to define Name of the Cluster
--region=[string] | -r | Specify the region of the cluster
--provider=[string] | -p | Specify the cloud provider
--verbose | -v | Use to get a verbose output

### Example
```bash
ksctl switch --provider civo --name demo --region LON1
```

## Get

Use to prints out all the clusters created via ksctl in tabluar method

### Example
```bash
kstcl get
```
{{% alert title="Info" color="info" %}}
These cli commands are available with cli specific versions from ksctl@v1.2.0 onwards
[v1.2.0 cli references](https://github.com/ksctl/cli/tree/v1.2.0/gen/docs.md)
{{% /alert %}}

0 comments on commit 3ad42d7

Please sign in to comment.