kusion

command module
v0.12.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 12, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

README

Intent-Driven Platform Orchestrator

🌐 Website⚡️ Quick Start📚 Docs💬 Discussions
[English] [中文]

Kusion GitHub release Go Report Card Go Reference license

What is Kusion?

Kusion is an intent-driven Platform Orchestrator, which sits at the core of an Internal Developer Platform (IDP). With Kusion you can enable app-centric development, your developers only need to write a single application specification - AppConfiguration. AppConfiguration 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.

workflow

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.

    workflow

  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.

    workflow

Quick Start

This guide will cover:

  1. Install Kusion CLI using package manager.
  2. Deploy an application to Kubernetes with Kusion.

Install

Homebrew (macOS & Linux)
# tap formula repository Kusionstack/tap
brew tap KusionStack/tap

# install Kusion 
brew install KusionStack/tap/kusion
Scoop
# add scoop bucket KusionStack
scoop bucket add KusionStack https://github.com/KusionStack/scoop-bucket.git

# install kusion
scoop install KusionStack/kusion

For more information about installation, please refer to the Installation Guide for more options.

Deploy

To deploy an application, you can run the kusion apply command.

apply

To rapidly get Kusion up and running, please refer to the Quick Start Guide.

Contact

If you have any questions, feel free to reach out to us in the following ways:

  • Slack | Join

  • DingTalk Group: 42753001 (Chinese)

  • Wechat Group (Chinese): Broker wechat to add you into the user group.

Contributing

If you're interested in contributing, please refer to the Contributing Guide before submitting a pull request.

License

Kusion is under the Apache 2.0 license. See the LICENSE file for details.

Documentation

Overview

kusion is a cloud-native engineering system, which manages the infrastructure by code.

Directories

Path Synopsis
hack
md5file
compute the md5 of the new binary
compute the md5 of the new binary
pkg
clipath
Package clipath calculates filesystem paths to Kusion's configuration, cache and data.
Package clipath calculates filesystem paths to Kusion's configuration, cache and data.
cmd
engine
Package engine holds code that drive the engine of Kusion.
Package engine holds code that drive the engine of Kusion.
engine/runtime
Package runtime contains code of all infrastructure runtimes supported by Kusion.
Package runtime contains code of all infrastructure runtimes supported by Kusion.
log
modules/generators
Package generators contains all codes about the Spec generator mechanism.
Package generators contains all codes about the Spec generator mechanism.
oci
test
e2e
third_party
dyff
Package dyff mainly comes from GitHub repo [https://github.com/homeport/dyff](https://github.com/homeport/dyff), version `v1.1.0`, you may check them under package `pkg/dyff`.
Package dyff mainly comes from GitHub repo [https://github.com/homeport/dyff](https://github.com/homeport/dyff), version `v1.1.0`, you may check them under package `pkg/dyff`.
kubevela
Package kubevela contains `Application` API which is copied from [kubevela](https://github.com/oam-dev/kubevela) and [workflow](https://github.com/kubevela/workflow).
Package kubevela contains `Application` API which is copied from [kubevela](https://github.com/oam-dev/kubevela) and [workflow](https://github.com/kubevela/workflow).
terraform
Package terraform contains codes about "terraform/dag" and "terraform/tfdiags" copied from Terraform.
Package terraform contains codes about "terraform/dag" and "terraform/tfdiags" copied from Terraform.
terraform/tfdiags
Package tfdiags is a utility package for representing errors and warnings in a manner that allows us to produce good messages for the user.
Package tfdiags is a utility package for representing errors and warnings in a manner that allows us to produce good messages for the user.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL