From 9032d50077b6f662137bd6e0de0fac2d56d2a435 Mon Sep 17 00:00:00 2001 From: ffforest Date: Tue, 16 Jul 2024 17:31:11 +0800 Subject: [PATCH 1/2] feat: add kusion server design doc first draft --- docs/design/kusion_server/domain_models.png | Bin 0 -> 95262 bytes docs/design/kusion_server/kusion_server.md | 379 ++++++++++++++++++ docs/design/kusion_server/resource_models.png | Bin 0 -> 168599 bytes docs/design/kusion_server/workspace.png | Bin 0 -> 152217 bytes 4 files changed, 379 insertions(+) create mode 100644 docs/design/kusion_server/domain_models.png create mode 100644 docs/design/kusion_server/kusion_server.md create mode 100644 docs/design/kusion_server/resource_models.png create mode 100644 docs/design/kusion_server/workspace.png diff --git a/docs/design/kusion_server/domain_models.png b/docs/design/kusion_server/domain_models.png new file mode 100644 index 0000000000000000000000000000000000000000..29d9a02740b96bc1fc95c83bf7ddccbff5dba95c GIT binary patch literal 95262 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%0D3q= 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 J=W3+8{{cOobJG9- literal 0 HcmV?d00001 diff --git a/docs/design/kusion_server/kusion_server.md b/docs/design/kusion_server/kusion_server.md new file mode 100644 index 000000000..1d3a79a28 --- /dev/null +++ b/docs/design/kusion_server/kusion_server.md @@ -0,0 +1,379 @@ +# Kusion Server Design Doc + +# Table of Content +- [Abstract](#abstract) +- [Background](#background) +- [Goals and Non-Goals](#goals-and-non-goals) + - [Goals](#goals) + - [Non-goals](#non-goals) +- [Concepts](#concepts) += [Core Domain Models](#core-domain-models) + - [Model Hierarchy](#model-hierarchy) + - [Separation of Application Resources and Platform Resources](#separation-of-application-resources-and-platform-resources) +- [Core Capabilities and APIs](#core-capabilities-and-apis) + - [Organization Management](#organization-management) + - [Organizations](#organizations) + - [Roles and Assignments](#roles-and-assignments) + - [Application Management](#application-management) + - [Projects](#project) + - [Stacks](#stack) + - [Platform Configuration](#platform-configuration) + - [Backends](#backend) + - [Workspaces](#workspace) + - [Variable Sets (Optional)](#variable-sets-optional) + - [Matching Rules (Optional)](#matching-rules-optional) + - [GitOps Management](#gitops-management) + - [Source](#source) + - [Resource Management](#resource-management) + - [Resource](#resource) + - [Modules Management (Coming Soon)](#modules-management-coming-soon) + - [Workflow Management (Coming Soon)](#workflow-management-coming-soon) + - [Policy Management (Coming Soon)](#policy-management-coming-soon) + + +# Abstract + +This document captures the design details for Kusion 2.0, a.k.a Kusion with a Control Plane, or Kusion Server. + +# Background + +KusionStack is a Platform Engineering tech stack that is set to enable platform owners to build their tailored IDPs. + +Kusion today serves as a Command Line Interface (CLI) tool that functions as an Intent-Driven Platform Orchestrator. Kusion proposes a protocol-driven collaboration paradigm which includes the platform owners and application developers to each do their jobs separately, and then have Kusion perform the orchestration work to dynamically match and generate the final and infrastructure-facing specification (in Kusion's term, this is called a `spec`), which eventually gets applied by Kusion. + +However, this form of Kusion is limited in its ability to provider service at scale, where users are facing issues such credentials management, resource visibility, complexity in managing permissions, and effort to integrate with other systems etc. + +With that background, we are proposing Kusion 2.0 which is a form of Kusion that runs as a long-running service and exposes REST service endpoints. + +# Goals and Non-Goals + +## Goals + +- Kusion server is primarily targeting collaboration scenario (between application dev and platform engineers) at scale +- Kusion server should provide universal APIs that covers the entire lifecycle of an application delivery and operations +- Kusion server should provide RBAC based on identities, which includes user identities and system identities +- Kusion server should primarily recommend and use the GitOps-driven workflow +- Kusion server should expand the domain models in Kusion CLI to provide value-add capabilities such as the ability to persist resource status and construct a topological graph to which the application is deployed +- Kusion server should follow the same design principles of Kusion, which will be elaborated in the next section + +## Non-goals + +- Kusion server is not a resource manager in a sense that it should not directly manipulate resources. Instead, it relies on users to update configuration files (either application or platform configurations). +- Kusion server does not provide configuration management capabilities, a.k.a the ability to modify intent or spec files. The management of such files should be the responsibility of the users at the moment. +- Kusion server does not consider procedure operations such as "restarting a pod", or "scale up my database", etc. as part its scope at the moment. + +# Concepts + +- Platform Orchestrator: According to [internaldeveloperplatform.org](https://internaldeveloperplatform.org/platform-orchestrators/), a Platform Orchestrator is defined as "a new generation of tools that go beyond the traditional platform-as-a-service (PaaS) model and offer published contracts between developers and platform teams. The contract might involve provisioning cloud environments, databases, monitoring, authentication and more in a different environment. These tools enforce organizational standards while granting developers self-service access to variations through configuration". In the context of Kusion, it follows several stages while achieving that: Read -> Match -> Create -> Deploy -> Day-2 Operations. + +For other Kusion-native concepts, please refer to the [Kusion Concept Doc](https://www.kusionstack.io/docs/concepts/project/overview). + +# Core Domain Models +## Model Hierarchy +![domain_models](domain_models.png) + +## Separation of Application Resources and Platform Resources +![resource models](resource_models.png) + +# Core Capabilities and APIs +## Organization Management +- `Organization` represents a virtual entity that contains a collection of Projects that belongs together logically +- Usually this maps to a real software engineering organization, such as teams, departments, business units or business groups, etc. +- Deleting an organization deletes all projects in that organization +- Authorizing to a subject to an organization grants it permission to all projects in that organization + +### Organizations +#### Proposed Organizations APIs +``` +# CRUDL +POST /api/v1/orgs # Create an org +GET /api/v1/orgs/{orgID} # Read an org +PUT /api/v1/orgs/{orgID} # Update an org +DELETE /api/v1/orgs/{orgID} # Delete an org +GET /api/v1/orgs # List all orgs +``` + +#### Parameters + +| Parameters | Required | Unique Key | Description | +| -------- | ------- | -------- | ------- | +| Name | true | true | organization name | +| Description | false | false | organization description | +| Labels | false | false | organization labels | +| Owners | false | false | organization owners | + +#### Sample Payload: +``` +{ + "name": "ffforest-org", + "owners": ["forest"] +} +``` + +### Roles and Assignments +- Organization owners shoud be responsible for managing roles and role assignments in its org +- Detailed API design coming soon + +## Application Management +### Project +- `Project` generally represents an application that serves a business purpose. It may encapsulates one or more micro-services. +- The purpose of the project is to bundle application configurations there are relevant. Specifically, it organizes configurations for internal components that orchestrate the application +- A `Project` must belong to an `Organization` +- A `Project` must have a `Source` that points to where its configurations are stored + +#### Proposed Project APIs +``` +# CRUDL +POST /api/v1/project # Create a project +GET /api/v1/project/{projectID} # Read a project +PUT /api/v1/project/{projectID} # Update a project +DELETE /api/v1/project/{projectID} # Delete a project +GET /api/v1/project # List all projects +GET /api/v1/project?org=xxx # List all projects in an org +``` + +#### Parameters + +| Parameters | Required | Unique Key | Description | +| -------- | ------- | -------- | ------- | +| Name | true | true | project name | +| SourceID | true | false | source ID where project configuration is stored | +| OrganizationID | true | false | organization ID where project belongs to | +| Path | true | false | project path in the source | +| Description | false | false | project description | +| Labels | false | false | project labels | +| Owners | false | false | project owners | +| TemplateID(?) | false | false | project template ID | + +#### Sample Payload +``` +{ + "name": "forest-simple-service-4", + "path": "simple-service-4", + "organizationID": "1", + "sourceID": "1" +} +``` + +### Stack +- `Stack` is a configuration instance of an project. It represents a way to distinctly manage different configurations in the same project +- The recommended way is to use the abstract concept of an `environment` to name stacks, such as `dev`, `stage`, `prod`, etc., because _generally_ there are some configuration differences in each `environment`, such as environment variables +- However if ther are not, you can absolutely store all of them in one stack (such as `base`) +- One stack can be deployed to multiple `environments`, or in Kusion's term, `workspaces` +- A `Stack` DOES NOT necessarily represent the application instance in a given environment. It only represents a set of different application configuration +- `Environment` or `Workspace` is a deploy-time concept, whereas `stack` is a config-time concept +- A `Stack` must belong to a `Project` +- A `Stack` does not equal to `a project in a workspace` +- A `Stack` is a minimum unit of operation to write (Create+Update+Delete) or execute (Preview+Apply+Destroy) + +#### Proposed Stack APIs +``` +# CRUDL +POST /api/v1/stack # Create a stack +GET /api/v1/stack/{stackID} # Read a stack +PUT /api/v1/stack/{stackID} # Update a stack +DELETE /api/v1/stack/{stackID} # Delete a stack +GET /api/v1/stack # List all stacks +GET /api/v1/stack?project=xxx # List all stacks in a project +GET /api/v1/stack?org=xxx&project=xxx # List all stacks in a project in an org + +# Execute +POST /api/v1/stack/{stackID}/generate # Generate specs for a stack +POST /api/v1/stack/{stackID}/preview # Preview changes for a stack +POST /api/v1/stack/{stackID}/apply # Apply resources for a stack +POST /api/v1/stack/{stackID}/destroy # Destroy resources for a stack +POST /api/v1/stack/{stackID}/generate?cell=xxx&aig=xxx # Generate + +# Release +GET /api/v1/stack/{stackID}/release # List all releases for this stack +GET /api/v1/stack/{stackID}/release?workspace=dev # List all release for this stack in dev workspace +POST /api/v1/stack/{stackID}/rollback +``` + +#### Parameters + +| Parameters | Required | Unique Key | Description | +| -------- | ------- | -------- | ------- | +| Name | true | true | stack name | +| ProjectID | true | false | project ID where stack belongs to | +| Path | true | false | stack path in the source | +| Description | false | false | stack description | +| Labels | false | false | stack labels | +| Owners | false | false | stack owners | +| TemplateID(?) | false | false | stack template ID | + +#### Sample Payload +``` +{ + "name": "forest-simple-service-dev-2", + "path": "simple-service/dev-4", + "desiredVersion": "latest", + "projectID": "5" +} +``` + +#### Sample Request +``` +curl http://localhost:8888/api/v1/stack/1/generate?workspace=dev # this generates a new spec for dev workspace +curl http://localhost:8888/api/v1/stack/{stackID}/rollback?workspace=dev&releaseID=xxx # this rolls back a stack to one of its previous release +``` + +## Platform Configuration + +### Backend +- A `Backend` represents a storage backend for Kusion server to store structured data, such as workspace configurations (in the form of `workspace.yaml`) or releases (including `spec` and `state`) +- Supports AWS S3, AliCloud OSS and local storage currently + +#### Proposed Backend APIs +``` +# CRUDL +POST /api/v1/backend # Create a backend +GET /api/v1/backend/{backendID} # Read a backend +PUT /api/v1/backend/{backendID} # Update a backend +DELETE /api/v1/backend/{backendID} # Delete a backend +GET /api/v1/backend # List all backends +``` + +#### Parameters +| Parameters | Required | Unique Key | Description | +| -------- | ------- | -------- | ------- | +| Name | true | true | backend name | +| BackendConfig | true | false | backend configurations including AccessKey and SecretKey | +| Description | false | false | workspace description | +| Labels | false | false | workspace labels | +| Owners | false | false | workspace owners | + +#### Sample Payload +``` +{ + "name": "oss-backend-7", + "description": "oss backend 7", + "backendConfig": { + "type": "oss", + "configs": { + "accessKey": "ak7", + "secretKey": "sk7" + } + } +} +``` + +### Workspace +- A `Workspace` represents a specific landing zone. It is a deploy-time concept, as opposed to `stack` being a config-time concept +- It is a logical concept that maps to an actual target environment to deploy a stack to. In today's context, this usually represents a Kubernetes cluster for the application workload and an optional cloud account to provision infrastructure resources that the workload depends on (A database, for example) +- Aside from the deployment destination, workspaces are also designed to be associated with a series of platform configurations that are used by all the stacks deployed to said workspace +- Workspaces should be managed by Platform Engineers, and selected by developers (or whoever is in charge of the app delivery) + +![workspace](workspace.png) + +#### Proposed Workspace APIs +``` +# CRUDL +POST /api/v1/workspace # Create a workspace +GET /api/v1/workspace/{workspaceID} # Read a workspace +PUT /api/v1/workspace/{workspaceID} # Update a workspace +DELETE /api/v1/workspace/{workspaceID} # Delete a workspace +GET /api/v1/workspace # List all workspaces +``` + +#### Parameters + +| Parameters | Required | Unique Key | Description | +| -------- | ------- | -------- | ------- | +| Name | true | true | workspace name | +| BackendID | true | false | backend ID to store workspace configuration and releases | +| Description | false | false | workspace description | +| Labels | false | false | workspace labels | +| Owners | false | false | workspace owners | + +#### Sample Payload + +``` +{ + "name": "aws-us-east-1-prod", + "backendID": "7", + "owners": ["forest"] +} +``` + +### Variable Sets (Optional) +- Variable Sets are places to store variables used as part of the `kusion` workflow +- This provides an alternative way to store platform configurations +- It is also responsible for managing secrets and credentials, especially those that are on the platform level +- Detailed API design coming soon + +### Matching Rules (Optional) +- Matching Rule provides an alternative approach to "select" stacks based on rules configured on the workspace level +- The purpose is to lower developers' burden to be aware of the concept of workspaces +- Matching Rules can centrally manage all the matching logic between application configuration and platform configuration + +## GitOps Management + +### Source + +#### Proposed Source API +``` +# CRUDL +POST /api/v1/source # Create a source +GET /api/v1/source/{sourceID} # Read a source +PUT /api/v1/source/{sourceID} # Update a source +DELETE /api/v1/source/{sourceID} # Delete a source +GET /api/v1/source # List all sources +``` + +#### Parameters + +| Parameters | Required | Unique Key | Description | +| -------- | ------- | -------- | ------- | +| SourceProvider | true | true | source provider type, supports git and oci | +| Remote | true | true | source remote, usually an url | +| Description | false | false | source description | +| Labels | false | false | source labels | +| Owners | false | false | source owners | + +#### Sample Payload +``` +{ + "name": "ffforest-github", + "sourceProvider": "git", + "remote": "https://github.com/ffforest/kcp-samples.git", + "description": "KCP samples in ffforest github" +} +``` + +## Resource Management + +### Resource +- `Resource` here represents the actual resources that are applied via Kusion server +- Kusion server should record its status **at apply time, after it has succeeded**, but NOT to serve as a proxy to cloud provider APIs afterwards to get real-time status in Day-2 +- The purpose is to persist resources that are managed under a given org, project, stack (or smaller granularities), in order to generate a topological view to which an application has been deployed +- This application resource graph can also be used for IAM authorization purposes if need be +- Kusion server should produce a mapping between Kusion resource ID and infrastructure resource ID, including cloud resource identifiers (such as ARNs) or Kubernetes resource identifiers (GVK+namespace+name) +- Kusion server should be able to import existing cloud resources so that it can manage infrastructures that already exists. This is done by passing the cloud resource ID into a field in the `extension` in Kusion specs + +#### Proposed Resource APIs +``` +# Resource RL +GET /api/v1/resource/{resourceID} # Read a resource +GET /api/v1/resource # List all resources +GET /api/v1/resource?moduleinstance=xxx # List all resources in a module +GET /api/v1/resource?appconfig=xxx # List all resources in an appconfig +GET /api/v1/resource?stack=xxx # List all resources in a stack +``` + +## Modules Management (Coming Soon) +- A Kusion Module is a reusable building block designed by platform engineers to standardize application deployments and enable app developers to self-service +- Kusion server provide basic APIs for managing Kusion Modules that can be used by Kusion server +- This should include the ability to publish and register Kusion Modules + +## Workflow Management (Coming Soon) +- This provides workflow execution records which are necessary for audits +- Kusion server should have built-in approval and notifications mechanism + +### Release +- Release are automatically generated after a successful apply, with a combination of `Spec` and `State` +- Detailed API design coming soon + +## Policy Management (Coming Soon) +- This should include render-time policy (during `kusion generate`) and apply-time policy (during `kusion apply`) +- Policy should have an effective range: which orgs/projects/stacks does this policy set apply to? \ No newline at end of file diff --git a/docs/design/kusion_server/resource_models.png b/docs/design/kusion_server/resource_models.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f4cef8a13177a4548bff91d4e6c1f73b02303a GIT binary patch literal 168599 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 literal 0 HcmV?d00001 diff --git a/docs/design/kusion_server/workspace.png b/docs/design/kusion_server/workspace.png new file mode 100644 index 0000000000000000000000000000000000000000..a3cca959c7187d6949f0d1f8cb300be5dbfbe224 GIT binary patch literal 152217 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
%&7Gn{L{PW#heuGo8Ho&c3W>
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 ZOY%edNF*<~kQ561NQlS?mka9o{U7=+ph^G$ literal 0 HcmV?d00001 From 941784b04be613b032b263ba6ee8d93cd7ca1862 Mon Sep 17 00:00:00 2001 From: ffforest Date: Thu, 25 Jul 2024 20:44:41 +0800 Subject: [PATCH 2/2] docs: add kusion server roadmap --- docs/design/kusion_server/roadmap.md | 86 ++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 docs/design/kusion_server/roadmap.md diff --git a/docs/design/kusion_server/roadmap.md b/docs/design/kusion_server/roadmap.md new file mode 100644 index 000000000..99fb45c7f --- /dev/null +++ b/docs/design/kusion_server/roadmap.md @@ -0,0 +1,86 @@ +# Kusion Server Roadmap + +## Current gaps between upstream and internal version + +The following can be contributed back to upstream in August with the exception of `KCL Configuration Management`. + +### KCL Configuration Management +- Initialize and modify `.k` files with new branches +- Update configuration items +- Manage configuration versions + +### AuthN, AuthZ +- Support authentication based on JWT token + - Support auth whitelist + - Support RBAC if an IAM system is present + - Support ability to generate a token if an IAM system is present + +### Version management +- Stack status management + - Persistent last `generated`/`previewed`/`applied` spec version + - Support explicit spec ID or content when `previewing`/`applying` + +### Resources management +- Centrally write resource metadata and attributes after apply +- Basic ability to look them up based on different criteria: + - Project/Stack/Workspace + - Example `"All resources for project X, stack Y in workspace Z"` + - ResourcePlane/ResourceType + - Example: `"All AWS S3 buckets for project X"` + - Any field in resource attributes + - Example: `"All MySQL databases in production with version 5.7 in region us-west-1"` + +### Secrets management +- Manage application secrets with third-party vendors + - API to manage secrets associated with a `stack` (usually application secrets) + - Automatically replace them to actual values during preview/apply without showing them +- Workspace credential management with third-party vendors + - API to manage `KubeConfig`/`AccessKey`/`Secretkey` associated with a `workspace` + - Automatically replace them to actual values during preview/apply without showing them + +### Quality-of-life improvements +- Support applying through a federated cluster via a gateway runtime +- The ability to list `projects`/`stacks`/`workspaces` with custom filters, for example: + - list all `projects` under org x + - list all `stacks` under org x and project y + - find `workspace` with the name x +- Better search experience + - Project name and path validation + - The ability to point to a `project` by name instead of ID + - The ability to automatically create relevant orgs when creating projects + - if exists, use it; otherwise create a new one +- The ability to set up a default backend during startup +- Automatically lock the `stack` when other operations are in progress + - Gating mechanism for proceeding into the next stage in lifecycle (generate -> preview -> apply) +- Automatically generate swag docs + +## Next up... + +These are what's considered interesting in the next few months for Kusion server to work on... + +### AuthN and AuthZ +- This will likely be integration with open-source IAM solutions +- More ways to AuthN and AuthZ than JWT +- Support organizational roles and role assignments + +### Resource Graphs +- Grant customized permissions on resources created by Kusion server +- The ability to render a topological view of resources on said dimensions + +### GitOps +- Manage automated GitOps triggers +- Support master-worker architecture + +### Variables and Variable Sets +- Support platform configurations that can set on any scopes: global, org, project, workspace, etc +- Define priorities when multiple variables with the same key are present and may result in a scope conflict +- Support more third-party secret management solutions for storing sensitive variables + +### Audit trails and workflows +- Create audit trails with subject, object and operation +- Persist workflow executions, e.g. all the generate, preview, apply operations +- The ability to insert custom stages in these workflow, e.g. approvals + +### Policies +- Render-time (generate) policies and Execution-time (preview/apply) policy +- Both built-in and customizable \ No newline at end of file