Giter Site home page Giter Site logo

kusionstack / kusionstack.io Goto Github PK

View Code? Open in Web Editor NEW
13.0 2.0 25.0 184.27 MB

Source for kusionstack.io site

Home Page: https://kusionstack.io

License: Apache License 2.0

Makefile 0.14% JavaScript 31.62% CSS 16.72% TypeScript 14.58% HTML 6.72% Shell 21.07% PowerShell 6.74% MDX 2.40%
kusionstack website kusion

kusionstack.io's People

Contributors

adohe avatar amyxia1994 avatar chai2010 avatar coldsteelrail avatar dependabot[bot] avatar eikykun avatar elliotxx avatar ffforest avatar he1pa avatar healthjyk avatar howieyuen avatar ktkongtong avatar ldxdl avatar liu-hm19 avatar niconical avatar panshuai-ps avatar peefy avatar shaofan-hs avatar sparkyuan avatar weichengwang1 avatar wu8685 avatar zong-zhe avatar zoumo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

kusionstack.io's Issues

Enhancement: KCL VS Code plugin quick start documentation lacks description of KCL icon modification.

Enhancement

KCL VS Code plugin quick start documentation lacks description of KCL icon modification. For example:

Since KCL and Kusion is not open source yet, we cannot publish the KCL icon to popular Icon themes, such as Seti and  vscode-icons. The workaround steps will be:
Use vscode-icons file icon theme.
download kcl file icon from <The todo link>
then copy the kcl icon file to ~/Library/Application\ Support/Code/User/vsicons-custom-icons, using following command:

mkdir -p ~/Library/Application\ Support/Code/User/vsicons-custom-icons

cp <the kcl icon you just download> ~/Library/Application\ Support/Code/User/vsicons-custom-icons/file_type_kcl.svg

cp <the kcl icon you just download> ~/Library/Application\ Support/Code/User/vsicons-custom-icons/file_type_light_kcl.svg
finally add the vsicons.associations.files option to your vscode settings, save your settings and the KCL file icon will be displayed on your *.k files, then reload you vscode-icons theme:

"vsicons.associations.files": [

  { 

    "icon": "kcl", 

    "extensions": ["k"], 

    "format": "svg",

    "light": true,

  }

],

doc: dev workflow of kusionstack

Enhancement

New users of KusionStack can be grouped as following types:

  1. directly use konfig models
  2. new models base on konfig models
  3. new models migrate from user app, maybe yaml, API or source code
  4. other functions or tools from KusionStack

So we need reorganize user guides docs for fluent developing experience.

KusionIDE RoadMap

highlight of KusionIDE

Kusion IDE helps users to:

  • produce good configurations
  • effectively sync manifest to the cloud, from dev, test to prod
  • get complete cloud visibility
  • embrace IaC GitOps
  • ...

RoadMap

image

docs: how to fix or update issue in PR

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

2. What did you expect to see? (Required)

3. What did you see instead (Required)

4. What is your KusionStack components version? (Required)

provide document about Kusion Secret management

Feature Request

Is your feature request related to a problem? Please describe:

the kusionstack website lacks guides about how to use kusion's secret management tools.
And when the document is provided, please complete that doc information in:

  • docs/user_docs/getting-started/usecases/deliver-hybrid-resources-project.md:
    Alternatively, Kusion provides a sensitive data management tool for handling the AccessKey and SecretKey mentioned above. For detailed guidance, please refer to the [kusion secret management documentation](the doc link)

  • i18n/zh-CN/docusaurus-plugin-content-docs/current/user_docs/getting-started/usecases/deliver-hybrid-resources-project.md:
    此外,Kusion 还提供敏感数据管理工具,用以加密存储上述提到的 AccessKey 和 SecretKey。详细指导请参阅[Kusion 敏感信息管理指南](the doc link)

how to edit image

General Question

the drawio file is missing, we should add source file for images.
edit the drawio at first, then output the image

docs: redesign kusionstack.io home page

Enhancement

Enhance home page with more user-side info. A typical example with 6 parts can be:

  1. Name with slogan
  2. Most important scenarios
  3. Second most important scenarios
  4. Capability & functionality highlights
  5. Tech highlights
  6. User adoption

docs: add user case doc

工程结构

1. 三级对象: 应用、环境、集群, 在大库中怎么映射合理?

概念
Project 是一个抽象概念,有明确的业务语意,可以映射一个应用,也可以映射成一种运维场景;
Stack 是一组可以独立部署、单独配置的 KCL 程序,是可以部署为一组基础设施实体的最小配置单元;
映射关系
云原生场景:应用和集群

  • Project -> 应用
  • Stack -> 集群

单租户场景:应用和环境

  • Project -> 应用
  • Stack -> 环境

多租户场景:应用和环境

  • Project -> 多租户间唯一的应用名称
  • Stack -> 环境

实践
按照上面映射关系的推荐,问题中提到的三级对象,可以互相嵌套:
应用是关注的核心对象,环境与集群是应用的描述属性,是多对多关系,也就是存在多种环境(dev/test/prod...),每个环境中有多个集群(clusterA/clusterB),可以在大库的 Project 的目录结构中增加一级,如下所示:

app
├── dev
│   ├── clusterA
│   │   ├── ci-test
│   │   │   ├── settings.yaml
│   │   │   └── stdout.golden.yaml
│   │   ├── kcl.yaml
│   │   ├── main.k
│   │   └── stack.yaml
│   └── clusterB
│       ├── ci-test
│       │   ├── settings.yaml
│       │   └── stdout.golden.yaml
│       ├── kcl.yaml
│       ├── main.k
│       └── stack.yaml
├── prod
├── test
└── project.yaml

2. 不同应用的不同集群间会有依赖关系(应用级别), 在大库中怎么表达?

假设应用A依赖应用B.field_b

  • 如果A,B两个应用在同一个Stack中。同一Stack中的所有资源可以通过dependsOn或$kusion_path关键字完成显示和隐式依赖
// App A
attributes:
  field: $kusion_path.app_b.field_b
id: app_a
dependsOn:
  - app_b
  
// App B
attributes:
  field_b: xxxxx
id: app_b
  • 如果A,B两个应用在不同Stack中。可以把B中的field_b作为一个独立资源,与应用A放在一个Stack中,应用A依赖此资源,apply此资源时,背后的Operator或者Provider去读取field_b的具体数据,再apply应用A时就可以自动完成变量替换
// App A
attributes:
  field: $kusion_path.app_b_config.field_b
id: app_a
dependsOn:
  - app_b_config
  
// App B Config
attributes:
  field_b: xxxxx
id: app_b_config

3. github上的konfig与内部的konfig结合的推荐方式?

KusionStack 在开源之前采用了 MonoRepo 的单一大库模式(全部的配置在一个仓库)。大库模式的优点配置依赖不会出现版本冲突问题,可以在一次变更提交中批量修改配置变更。大库模式也是Google等公司内部实践,比较适合企业内部配置方便统一管理的场景。
但是,单一大库模式不太适合开源社区的去中心化的配置管理。作为一个开源工具,用户自然希望能过基于Konfig中心的模型配置仓库再扩展出自己的定制配置仓库。目前,一个临时的方案是基于Konfig克隆版本,然后新建一个独立子 org/app 目录作为组织下app的配置管理。
KusionStack 同时也在设计包管理工具,希望KCL语言能够提供内置包工具兼容集中式和分布式的配置模块管理。同时也欢迎提供不同的反馈或设计方案。

CI

1. 有办法只对大库中修改的模块/应用做CI吗?

有,最基本的方式就是通过 git diff 定位修改文件列表。但修改的文件可能是公共配置,被一个或多个应用的所依赖,kusion 提供 kusion deps 子命令,用于分析依赖关系。

CD

1. kusion apply执行完, 部署状态能否有办法通过kusion命令查看么?

kusion watch 子命令提供相关能力,此功能目前还在开发中,预计下个版本发布。

2. 回滚操作依赖于gitlab/github的回滚吗, 有其他可以快速回滚的方式吗?

目前回滚操作,主要是借助 git revert + kusion apply 的方式。关于 kusion 本身的 Transaction 能力,这块也在我们的规划范围内。

安全

1. 身份认证和鉴权如何处理的?

kusion 会提供相关接口,可以与开源 Identity 平台对接;对于内部私有的可信平台,也会提供扩展机制,用来集成。总体来说,kusion 不负责权限的具体范围,只确定操作的 Allow or Deny。

2. kusion apply是每个人都有权限操作吗?

如上个回答所示,kusion 没有对接 Identity 平台之前,是人人可操作的;对接 Identity 平台后,由 Identity 平台负责权限划分。

Use Kusion WebIDE to provide quick start experience

Enhancement

Advantages of the WebIDE (vs local IDE)

  • For new users' quick start & playground: Since the installation and the Prerequisites to run the quick-start case and play with kusion are inconvenient for the newly attracted user, webIDE with all the kusion components out-of-box is a good choice.
  • For daily use of developing: the web IDE with bundled Kusion environment could be a fair choice, since it has natural advantages for the uniform environment and sharing code through the team, etc.

Technical feasibility analysis

There are several web IDE products, which have the ability to provide both the online-coding and a container created from the custom image:

  • github.dev (paid version)
  • ant group's cloud IDE commercial version
  • todo, others

I‘ve verified the feasibility through Antgroup's cloud IDE, and here's the result:

  • The IDE will be firstly released next month.
  • The IDE will provide a VS Code style coding interface.
  • The IDE can start a workspace with a running container, which can be used to run kusion commands and we already have the kusion image.
  • The IDE provides 50 hours of free usage per month for each device. And with 2C4G resources provided freely.
  • The container has access to the internet, so applying resources to AWS/Aliyun/... is accessible, users only need to do some configurations to upload the kubeConfig file to the workspace.
  • For users without an account of cloud providers, the lightweight k3s can be built-in to the kusion image to provide a quick try.

docs: more details about how-to-dev-within-konfig

Enhancement

  1. Change Project Best Practice to something like 'Dev in Konfig' with all related matters?
  2. A example of typical parts:
  • Mapping
  • Constants
  • Org stacks
  • Coding in a stack
  • Apply in a stack/project
  • ...

We can enhance 'Dev in Konfig' with users' input and questions we already know.

[doc test] test all the docs in kusionstack.io thoroughly, keep docs up to date

docs need to be tested

  • [the most important] step by step tutorials must be fluent, without any blocking error, and can be reproduced precisely as documented
  • links within the website must be valid
  • command line usage doc must be consistent with the actual output
  • the terminologies and statements of the same concept must be consistent throughout the website

ways to accomplish the goal

chore: auto update algolia index

Enhancement

Index is a record of the algolia search engine (similar to a database). Now it is relying on manual crawlers to build. This process needs to be added to github action to automatically trigger the crawler when the website is updated.

Bug: search bar do not work

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

2. What did you expect to see? (Required)

3. What did you see instead (Required)

4. What is your KusionStack components version? (Required)

chore: docsearch in kusionstack.io website

Enhancement

Now, there is only a search bar on the kusionstack.io website, but the function of docsearch is not implemented.
Need to crawl the site and integrate the search engine.

kusionstack.io Home page typo

Bug Report

  1. KusionStack codifies and unifies platform resources into stacked models and polices.
    s/polices/policies

  2. Orchestrate and provision on Kubernetes and Clouds in a managed manner
    Orchestration and provision

docs: Clarify typical ops workflow of kusion

Enhancement

We need to clarify typical ops workflows to end users.

For example:

Manual operation workflow: Login -> Preview -> Apply -> Watch -> ...
Github automation workflow: PR -> CI -> CD -> ..

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.