kusion

package module
v0.5.3 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2022 License: Apache-2.0 Imports: 0 Imported by: 0

README

Introduction

GitHub release Go Report Card license Go Reference Coverage Status

KusionStack provides the definition and best practice for the native ecology of the cloud, provides the statically typed language and tool support, and provides Compile to Cloud technology stack outside the business mirror. Kusion is written in Golang and has attributes of crossing Unix-Like platform.

📜 Language

English | 简体中文

✨ Functional Overview

Kusion's many functions are completed in the form of subcommands. Among them, the more commonly used subcommands include apply,init, destroy,ls, preview, etc.

  • kusion apply: Accept the code file written by the KCL language as the input. The output can be YAML files, JSON files, or even execute directly to the K8S Runtime
  • kusion init: Initialize KCL file structure and base codes for a new project
  • kusion destroy: Destroy a configuration stack to resource(s) by work directory
  • kusion ls: List all project and stack information
  • kusion preview: Preview a series of resource changes within the stack

For a complete command function description, please refer to the Kusion Command

🛠️ Installation

Binary (Cross-platform: windows, linux, mac ...)

To get the binary just download the latest release for your OS/Arch from the release page and put the binary somewhere convenient.

Kusinoup

You can install multiple versions of kusion with kusionup, and the latest version is installed by default.

brew install KusionStack/tap/kusionup
kusionup install

Build from Source

Starting with Go 1.16+, you can use the make command to build a complete kusion distribution package suitable for different platforms from the source code.

# Build all platforms (darwin, linux, windows)
make build-all

# Build kusion & kcl tool chain for macOS
# make build-local-darwin-all
# Build kusion & kcl tool chain for linux
# make build-local-linux-all
# Build kusion & kcl tool chain for windows
# make build-local-windows-all

Docker

Docker users can use the following commands to pull the latest image of the kusion:

docker pull kusionstack/kusion:latest

⚡ Quick Start

Visit Quick Start to understand how to quickly create and apply a KusionStack project.

🎖︎ Contribution Guide

Kusion is still in the initial stage, and there are many capabilities that need to be made up, so we welcome everyone to participate in construction with us. Visit the Contribution Guide to understand how to participate in the contribution KusionStack project. If you have any questions, please Submit the Issue.

Documentation

Overview

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

Directories

Path Synopsis
cmd
pkg
compile
Provide general KCL compilation method
Provide general KCL compilation method
engine
Package engine holds code that drive the engine of Kusion.
Package engine holds code that drive the engine of Kusion.
engine/operation
Package operation contains code for basic operations like Apply, Preview and Destroy
Package operation contains code for basic operations like Apply, Preview and Destroy
engine/operation/models
Package models contains internal models of operations todo CLI imports this package directly.
Package models contains internal models of operations todo CLI imports this package directly.
engine/runtime
Package runtime contains code of all infrastructure runtimes supported by Kusion.
Package runtime contains code of all infrastructure runtimes supported by Kusion.
engine/states
Package states contains code for all storage medium supported by Kusion.
Package states contains code for all storage medium supported by Kusion.
kusionctl/cmd/env
Reference: https://github.com/golang/go/blob/master/src/cmd/go/internal/cfg/cfg.go
Reference: https://github.com/golang/go/blob/master/src/cmd/go/internal/cfg/cfg.go
log
util/kdump
Package kdump like fmt.Println but more pretty and beautiful print Go values.
Package kdump like fmt.Println but more pretty and beautiful print Go values.
scripts
third_party

Jump to

Keyboard shortcuts

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