Skip to content

Commit

Permalink
docs: tag v0.14 docs (#593)
Browse files Browse the repository at this point in the history
  • Loading branch information
ffforest authored Jan 22, 2025
1 parent c5dd563 commit b6d1be7
Show file tree
Hide file tree
Showing 163 changed files with 11,018 additions and 9 deletions.
2 changes: 1 addition & 1 deletion docs/kusion/1-what-is-kusion/1-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ slug: /

# Overview

Welcome to Kusion! This introduction section covers what Kusion is, the Kusion workflow, and how Kusion compares to other software. If you just want to dive into using Kusion, feel free to skip ahead to the [Getting Started](getting-started/install-kusion) section.
Welcome to Kusion! This introduction section covers what Kusion is, the Kusion workflow, and how Kusion compares to other software. If you just want to dive into using Kusion, feel free to skip ahead to the [Getting Started](../2-getting-started/2-getting-started-with-kusion-cli/0-install-kusion.md) section.

## What is Kusion?

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# Install Kusion
# Install Kusion CLI

You can install the latest Kusion CLI on MacOS, Linux and Windows.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ In this tutorial, we will walk through how to deploy a quickstart application on

Before we start to play with this example, we need to have the Kusion CLI installed and run an accessible Kubernetes cluster. Here are some helpful documents:

- Install [Kusion CLI](../1-install-kusion.md).
- Install [Kusion CLI](../2-getting-started-with-kusion-cli/0-install-kusion.md).
- Run a [Kubernetes](https://kubernetes.io) cluster. Some light and convenient options for Kubernetes local deployment include [k3s](https://docs.k3s.io/quick-start), [k3d](https://k3d.io/v5.4.4/#installation), and [MiniKube](https://minikube.sigs.k8s.io/docs/tutorials/multi_node).

## Initialize Project
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ In this tutorial, we will walk through how to deploy a quickstart application on

Before we start to play with this example, we need to have the Kusion Server installed and run an accessible Kubernetes cluster. Here are some helpful documents:

- Install [Kusion Server](../1-install-kusion.md).
- Install [Kusion Server](../2-getting-started-with-kusion-cli/0-install-kusion.md).
- Run a [Kubernetes](https://kubernetes.io) cluster. Some light and convenient options for Kubernetes local deployment include [k3s](https://docs.k3s.io/quick-start), [k3d](https://k3d.io/v5.4.4/#installation), and [MiniKube](https://minikube.sigs.k8s.io/docs/tutorials/multi_node).

## Initialize Backend, Source, and Workspace
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ In this tutorial, we will learn how to create and manage our own application wit

Before we start to play with this example, we need to have the Kusion Server installed and run an accessible Kubernetes cluster. Besides, we need to have a GitHub account to initiate our own config code repository as `Source` in Kusion.

- Install [Kusion Server](../1-install-kusion.md).
- Install [Kusion Server](../2-getting-started-with-kusion-cli/0-install-kusion.md).
- Run a [Kubernetes](https://kubernetes.io) cluster. Some light and convenient options for Kubernetes local deployment include [k3s](https://docs.k3s.io/quick-start), [k3d](https://k3d.io/v5.4.4/#installation), and [MiniKube](https://minikube.sigs.k8s.io/docs/tutorials/multi_node).


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This tutorial will demonstrate how to deploy a WordPress application with Kusion

## Prerequisites

- Install [Kusion](../../../2-getting-started/1-install-kusion.md).
- Install [Kusion](../../../2-getting-started/2-getting-started-with-kusion-cli/0-install-kusion.md).
- Install [kubectl CLI](https://kubernetes.io/docs/tasks/tools/#kubectl) and run a [Kubernetes](https://kubernetes.io/) or [k3s](https://docs.k3s.io/quick-start) or [k3d](https://k3d.io/v5.4.4/#installation) or [MiniKube](https://minikube.sigs.k8s.io/docs/tutorials/multi_node) cluster.
- Prepare a cloud service account and create a user with at least **VPCFullAccess** and **RDSFullAccess** related permissions to use the Relational Database Service (RDS). This kind of user can be created and managed in the Identity and Access Management (IAM) console of the cloud vendor.
- The environment that executes `kusion` needs to have connectivity to terraform registry to download the terraform providers.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Before we start, we need to complete the following steps:
1、Install Kusion

We recommend using HomeBrew(Mac), Scoop(Windows), or an installation shell script to download and install Kusion.
See [Download and Install](../../../2-getting-started/1-install-kusion.md) for more details.
See [Download and Install](../../../2-getting-started/2-getting-started-with-kusion-cli/0-install-kusion.md) for more details.

2、Running Kubernetes cluster

Expand Down
62 changes: 62 additions & 0 deletions docs_versioned_docs/version-v0.14/1-what-is-kusion/1-overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
id: overview
title: Overview
slug: /
---

# Overview

Welcome to Kusion! This introduction section covers what Kusion is, the Kusion workflow, and how Kusion compares to other software. If you just want to dive into using Kusion, feel free to skip ahead to the [Getting Started](../2-getting-started/2-getting-started-with-kusion-cli/0-install-kusion.md) section.

## What is Kusion?

Kusion is an intent-driven [Platform Orchestrator](https://internaldeveloperplatform.org/platform-orchestrators/), which sits at the core of an [Internal Developer Platform (IDP)](https://internaldeveloperplatform.org/what-is-an-internal-developer-platform/). With Kusion you can enable app-centric development, your developers only need to write a single application specification - [AppConfiguration](https://www.kusionstack.io/docs/concepts/app-configuration). [AppConfiguration](https://www.kusionstack.io/docs/concepts/app-configuration) defines the workload and all resource dependencies without needing to supply environment-specific values, Kusion ensures it provides everything needed for the application to run.

Kusion helps app developers who are responsible for creating applications and the platform engineers responsible for maintaining the infrastructure the applications run on. These roles may overlap or align differently in your organization, but Kusion is intended to ease the workload for any practitioner responsible for either set of tasks.

![arch](https://raw.githubusercontent.com/KusionStack/kusion/main/docs/overview.jpg)


## How does Kusion work?

As a Platform Orchestrator, Kusion enables you to address challenges often associated with Day 0 and Day 1. Both platform engineers and application engineers can benefit from Kusion.

There are two key workflows for Kusion:

1. **Day 0 - Set up the modules and workspaces:** Platform engineers create shared modules for deploying applications and their underlying infrastructure, and workspace definitions for target landing zone. These standardized, shared modules codify the requirements from stakeholders across the organization including security, compliance, and finance.

Kusion modules abstract the complexity of underlying infrastructure tooling, enabling app developers to deploy their applications using a self-service model.

<div align="center">

![workflow](https://raw.githubusercontent.com/KusionStack/kusion/main/docs/platform_workflow.jpg)
</div>

2. **Day 1 - Set up the application:** Application developers leverage the workspaces and modules created by the platform engineers to deploy applications and their supporting infrastructure. The platform team maintains the workspaces and modules, which allows application developers to focus on building applications using a repeatable process on standardized infrastructure.

<div align="center">

![workflow](https://raw.githubusercontent.com/KusionStack/kusion/main/docs/app_workflow.jpg)
</div>

## Kusion Highlights

* **Platform as Code**

Specify desired application intent through declarative configuration code, drive continuous deployment with any CI/CD systems or GitOps to match that intent. No ad-hoc scripts, no hard maintain custom workflows, just declarative configuration code.

* **Dynamic Configuration Management**

Enable platform teams to set baseline-templates, control how and where to deploy application workloads and provision accessory resources. While still enabling application developers freedom via workload-centric specification and deployment.

* **Security & Compliance Built In**

Enforce security and infrastructure best practices with out-of-box [base models](https://github.com/KusionStack/catalog), create security and compliance guardrails for any Kusion deploy with third-party Policy as Code tools. All accessory resource secrets are automatically injected into Workloads.

* **Lightweight and Open Model Ecosystem**

Pure client-side solution ensures good portability and the rich APIs make it easier to integrate and automate. Large growing model ecosystem covers all stages in application lifecycle, with extensive connections to various infrastructure capabilities.

:::tip

**Kusion is an early project.** The end goal of Kusion is to boost [Internal Developer Platform](https://internaldeveloperplatform.org/) revolution, and we are iterating on Kusion quickly to strive towards this goal. For any help or feedback, please contact us in [Slack](https://github.com/KusionStack/community/discussions/categories/meeting) or [issues](https://github.com/KusionStack/kusion/issues).
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
id: kusion-vs-x
---

# Kusion vs Other Software

It can be difficult to understand how different software compare to each other. Is one a replacement for the other? Are they complementary? etc. In this section, we compare Kusion to other software.

**vs. GitOps (ArgoCD, FluxCD, etc.)**

According to the [open GitOps principles](https://opengitops.dev/), GitOps systems typically have its desired state expressed declaratively, continuously observe actual system state and attempt to apply the desired state. In the design of Kusion toolchain, we refer to those principles but have no intention to reinvent any GitOps systems wheel.

Kusion adopts your GitOps process and improves it with richness of features. The declarative [AppConfiguration](../concepts/appconfigurations) model can be used to express desired intent, once intent is declared [Kusion CLI](../reference/commands) takes the role to make production match intent as safely as possible.

**vs. PaaS (Heroku, Vercel, etc.)**

Kusion shares the same goal with traditional PaaS platforms to provide application delivery and management capabilities. The intuitive difference from the full functionality PaaS platforms is that Kusion is a client-side toolchain, not a complete PaaS platform.

Also traditional PaaS platforms typically constrain the type of applications they can run but there is no such constrain for Kusion which means Kusion provides greater flexibility.

Kusion allows you to have platform-like features without the constraints of a traditional PaaS. However, Kusion is not attempting to replace any PaaS platforms, instead Kusion can be used to deploy to a platform such as Heroku.

**vs. KubeVela**

KubeVela is a modern software delivery and management control plane which makes it easier to deploy and operate applications on top of Kubernetes.

Although some might initially perceive an overlap between Kusion and KubeVela, they are in fact complementary and can be integrated to work together. As a lightweight, purely client-side tool, coupled with corresponding [Generator](https://github.com/KusionStack/kusion-module-framework) implementation, Kusion can render [AppConfiguration](../concepts/appconfigurations) schema to generate CRD resources for KubeVela and leverage KubeVela's control plane to implement application delivery.

**vs. Helm**

The concept of Helm originates from the [package management](https://en.wikipedia.org/wiki/Package_manager) mechanism of the operating system. It is a package management tool based on templated YAML files and supports the execution and management of resources in the package.

Kusion is not a package manager. Kusion naturally provides a superset of Helm capabilities with the modeled key-value pairs, so that developers can use Kusion directly as a programable alternative to avoid the pain of writing text templates. For users who have adopted Helm, the stack compilation results in Kusion can be packaged and used in Helm format.

**vs. Kubernetes**

Kubernetes(K8s) is a container scheduling and management runtime widely used around the world, an "operating system" core for containers, and a platform for building platforms. Above the Kubernetes API layer, Kusion aims to provide app-centric **abstraction** and unified **workspace**, better **user experience** and automation **workflow**, and helps developers build the app delivery model easily and collaboratively.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"label": "What is Kusion?"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# Install Kusion CLI

You can install the latest Kusion CLI on MacOS, Linux and Windows.

## MacOs/Linux

For the MacOs and Linux, Homebrew and sh script are supported. Choose the one you prefer from the methods below.

<Tabs>
<TabItem value="Homebrew" >

The recommended method for installing on MacOS and Linux is to use the brew package manager.

**Install Kusion**

```bash
# tap formula repository Kusionstack/tap
brew tap KusionStack/tap

# install Kusion
brew install KusionStack/tap/kusion
```

**Update Kusion**

```bash
# update formulae from remote
brew update

# update Kusion
brew upgrade KusionStack/tap/kusion
```

**Uninstall Kusion**

```bash
# uninstall Kusion
brew uninstall KusionStack/tap/kusion
```

```mdx-code-block
</TabItem>
<TabItem value="curl | sh">
```

**Install Kusion**

```bash
# install Kusion, default latest version
curl https://www.kusionstack.io/scripts/install.sh | sh
```

**Install the Specified Version of Kusion**

You can also install the specified version of Kusion by appointing the version as shell script parameter, where the version is the [available tag](https://github.com/KusionStack/kusion/tags) trimming prefix "v", such as 0.11.0, 0.10.0, etc. In general, you don't need to specify Kusion version, just use the command above to install the latest version.

```bash
# install Kusion of specified version 0.11.0
curl https://www.kusionstack.io/scripts/install.sh | sh -s 0.11.0
```

**Uninstall Kusion**

```bash
# uninstall Kusion
curl https://www.kusionstack.io/scripts/uninstall.sh | sh
```

```mdx-code-block
</TabItem>
</Tabs>
```

## Windows

For the Windows, Scoop and Powershell script are supported. Choose the one you prefer from the methods below.

<Tabs>
<TabItem value="Scoop" >

The recommended method for installing on Windows is to use the scoop package manager.

**Install Kusion**

```bash
# add scoop bucket KusionStack
scoop bucket add KusionStack https://github.com/KusionStack/scoop-bucket.git

# install kusion
scoop install KusionStack/kusion
```

**Update Kusion**

```bash
# update manifest from remote
scoop update

# update Kusion
scoop install KusionStack/kusion
```

**Uninstall Kusion**

```bash
# uninstall Kusion
brew uninstall KusionStack/kusion
```

```mdx-code-block
</TabItem>
<TabItem value="Powershell">
```

**Install Kusion**

```bash
# install Kusion, default latest version
powershell -Command "iwr -useb https://www.kusionstack.io/scripts/install.ps1 | iex"
```

**Install the Specified Version of Kusion**

You can also install the specified version of Kusion by appointing the version as shell script parameter, where the version is the [available tag](https://github.com/KusionStack/kusion/tags) trimming prefix "v", such as 0.11.0, etc. In general, you don't need to specify Kusion version, just use the command above to install the latest version.

```bash
# install Kusion of specified version 0.10.0
powershell {"& { $(irm https://www.kusionstack.io/scripts/install.ps1) } -Version 0.11.0" | iex}
```

**Uninstall Kusion**

```bash
# uninstall Kusion
powershell -Command "iwr -useb https://www.kusionstack.io/scripts/uninstall.ps1 | iex"
```

```mdx-code-block
</TabItem>
</Tabs>
```
Loading

0 comments on commit b6d1be7

Please sign in to comment.