-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
163 changed files
with
11,018 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...ion/2-getting-started/1-install-kusion.md → ...arted-with-kusion-cli/0-install-kusion.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
62 changes: 62 additions & 0 deletions
62
docs_versioned_docs/version-v0.14/1-what-is-kusion/1-overview.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | ||
|
||
 | ||
|
||
|
||
## 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"> | ||
|
||
 | ||
</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"> | ||
|
||
 | ||
</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). |
37 changes: 37 additions & 0 deletions
37
docs_versioned_docs/version-v0.14/1-what-is-kusion/2-kusion-vs-x.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
3 changes: 3 additions & 0 deletions
3
docs_versioned_docs/version-v0.14/1-what-is-kusion/_category_.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"label": "What is Kusion?" | ||
} |
144 changes: 144 additions & 0 deletions
144
...n-v0.14/2-getting-started/2-getting-started-with-kusion-cli/0-install-kusion.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> | ||
``` |
Oops, something went wrong.