diff --git a/.github/workflows/check-md-links.yaml b/.github/workflows/check-md-links.yaml new file mode 100644 index 000000000..0ef57be3f --- /dev/null +++ b/.github/workflows/check-md-links.yaml @@ -0,0 +1,18 @@ +name: Check Markdown links + +on: + pull_request: + types: [opened, edited, synchronize, reopened] + schedule: + # Run everyday at 10:00 AM (See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07) + - cron: "0 10 * * *" + +jobs: + markdown-link-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: gaurav-nelson/github-action-markdown-link-check@v1 + with: + use-quiet-mode: 'yes' + use-verbose-mode: 'yes' \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 970360e3a..98f575c2b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,7 +27,7 @@ If you have any questions or need further information, please don't hesitate to ## Code of Conduct -Please make sure to read our [Code of Conduct](/CODE_OF_CONDUCT.md). +Please make sure to read our [Code of Conduct](./CODE_OF_CONDUCT.md). ## Community Expectations diff --git a/README.md b/README.md index 6a6d71efb..993e6170a 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,8 @@ If you have any questions, feel free to reach out to us in the following ways: ## Contributing -If you're interested in contributing, please refer to the [Contributing Guide](CONTRIBUTING.md) **before submitting a pull request**. +If you're interested in contributing, please refer to the [Contributing Guide](./CONTRIBUTING.md) **before submitting +a pull request**. ## License diff --git a/docs/cmd/en_US/kusion.md b/docs/cmd/en_US/kusion.md index ff36581a8..672b98aac 100644 --- a/docs/cmd/en_US/kusion.md +++ b/docs/cmd/en_US/kusion.md @@ -6,7 +6,7 @@ Kusion is the Platform Orchestrator of Internal Developer Platform As a Platform Orchestrator, Kusion delivers user intentions to Kubernetes, Clouds and On-Premise resources. Also enables asynchronous cooperation between the development and the platform team and drives separation of concerns. - Find more information at: https://www.kusionstack.io/docs/user_docs/reference/cli/kusion/ + Find more information at: https://www.kusionstack.io/docs/reference/commands/ ``` kusion [flags] diff --git a/docs/design/collaboration/collaboration_paradigm.md b/docs/design/collaboration/collaboration_paradigm.md index bad1279bb..4432e125f 100644 --- a/docs/design/collaboration/collaboration_paradigm.md +++ b/docs/design/collaboration/collaboration_paradigm.md @@ -124,15 +124,15 @@ Based on our extensive practical experiences and in-depth conversations with oth We aim to minimize application developers' cognitive load and enable self-service so we do not let application developers care about low-level infrastructure details. They only need to declare what feature they want in a developer-friendly way, such as declaring one application needs a MySQL database and public Internet access with Kusion modules provided by platform engineers. Then Kusion will provision a MySQL database and a LoadBalancer that complies with platform standardization. -We introduce a set of Kusion modules to standardize deployment and the root module is AppConfiguration. AppConfiguration is a declarative application configuration model maintained by application developers to configure all operation intentions during SDLC and more details can be found on our [website](https://kusionstack.io/docs/user_docs/concepts/appconfiguration). Each Kusion module in the AppConfiguration represents a building block built by platform engineers to standardize the application's behavior and hide infrastructure complexity, such as database, networking, and monitoring. +We introduce a set of Kusion modules to standardize deployment and the root module is AppConfiguration. AppConfiguration is a declarative application configuration model maintained by application developers to configure all operation intentions during SDLC and more details can be found on our [website](https://www.kusionstack.io/docs/concepts/app-configuration). Each Kusion module in the AppConfiguration represents a building block built by platform engineers to standardize the application's behavior and hide infrastructure complexity, such as database, networking, and monitoring. ## Terms Before we dive into details, it is necessary to clarify certain terms. - Workspace: A workspace is a logical concept representing a target that an application will be deployed to. We just recommend they be grouped by SDLC phases or cloud vendors. For example, it could be named as `dev`, `staging`, and `prod` or cloud vendors such as `AWS`, `Azure`, and `Aliyun` or a even combination of the two. -- [Project](https://kusionstack.io/docs/user_docs/concepts/glossary#project): A project is a logical concept to bundle application configurations. -- [Stack](https://kusionstack.io/docs/user_docs/concepts/glossary#stack): A stack is a logical concept that provides a mechanism to isolate multiple deploys of the same application. It is the smallest operational unit that can be configured and deployed independently. The name of each stack must be the same as one specific workspace. +- [Project](https://www.kusionstack.io/docs/concepts/project/overview): A project is a logical concept to bundle application configurations. +- [Stack](https://www.kusionstack.io/docs/concepts/stack/overview): A stack is a logical concept that provides a mechanism to isolate multiple deploys of the same application. It is the smallest operational unit that can be configured and deployed independently. The name of each stack must be the same as one specific workspace.
diff --git a/docs/design/core_workflow/core_workflow.md b/docs/design/core_workflow/core_workflow.md
index 283254ca4..4e43ff28c 100644
--- a/docs/design/core_workflow/core_workflow.md
+++ b/docs/design/core_workflow/core_workflow.md
@@ -2,7 +2,7 @@
## Motivation
-Workflow is a sequence of steps involved in moving from the beginning to the end of a working process. [Kusion](https://kusionstack.io/docs/user_docs/intro/overview/) is a modern application delivery and management toolchain. We'd like to define a clear and stable core workflow, to describe how Kusion addresses the difficulty in application delivery. We hope the core workflow to be the user's first step into Kusion. By following the steps defined in the core workflow, user can use Kusion positively and breezily.
+Workflow is a sequence of steps involved in moving from the beginning to the end of a working process. [Kusion](https://www.kusionstack.io/docs/) is a modern application delivery and management toolchain. We'd like to define a clear and stable core workflow, to describe how Kusion addresses the difficulty in application delivery. We hope the core workflow to be the user's first step into Kusion. By following the steps defined in the core workflow, user can use Kusion positively and breezily.
The core workflow also guides the R&D iteration of Kusion. Kusion may provide more features (e.g. support more config modules, apply runtimes), or present different product forms (e.g. CLI, SaaS), the core workflow should always be consistent.
@@ -35,7 +35,7 @@ Kusion is application-centric. Next, we start from the perspective of applicatio
### Step 1: Write
-In order to reduce the complexity of configuration writing, Kusion uses code to describe the configuration, and provides a concise and universal application configuration model. The model's name is [`AppConfiguration`](https://kusionstack.io/docs/user_docs/config-walkthrough/overview#appconfiguration-model). AppConfiguration simplifies and abstracts underlying resources, shielding configuration items that application developers don't need to pay attention to. Besides, application developers can leverage advantages of code, to avoid repeated and error-prone traditional configuration writing work.
+In order to reduce the complexity of configuration writing, Kusion uses code to describe the configuration, and provides a concise and universal application configuration model. The model's name is [`AppConfiguration`](https://www.kusionstack.io/docs/concepts/app-configuration). AppConfiguration simplifies and abstracts underlying resources, shielding configuration items that application developers don't need to pay attention to. Besides, application developers can leverage advantages of code, to avoid repeated and error-prone traditional configuration writing work.
The output of the step *Write* is a piece of application configuration code. The code can fully indicate the application delivery result that the developer focuses on.
diff --git a/docs/design/secrets_management/secret_management.md b/docs/design/secrets_management/secret_management.md
index c3cfa7541..4e9e0fdf5 100644
--- a/docs/design/secrets_management/secret_management.md
+++ b/docs/design/secrets_management/secret_management.md
@@ -62,7 +62,9 @@ type AWSProvider struct {
#### The Workflow
-Based on the [collaboration paradigm](https://github.com/KusionStack/kusion/blob/main/docs/design/collaboration/Building%20the%20collaboration%20paradigm%20between%20App%20Developers%20and%20Platform%20Developers%20with%20Kusion.md) defined by Kusion as well as the fundanmental [workspace management](https://github.com/KusionStack/kusion/blob/main/docs/design/workspace_management/workspace_management.md) capability, the overall workflow of Kusion secrets management includes following steps:
+Based on the [collaboration paradigm](../collaboration/collaboration_paradigm.md) defined by Kusion as
+well as the fundamental [workspace management](../workspace_management/workspace_management.md) capability, the
+overall workflow of Kusion secrets management includes following steps:
1. During the workspace initialization phase, platform team setup the target secret store, including necessary credentials info to interact with secret store.
diff --git a/docs/design/workspace_management/workspace_management.md b/docs/design/workspace_management/workspace_management.md
index e67c6740b..ec6bf24b5 100644
--- a/docs/design/workspace_management/workspace_management.md
+++ b/docs/design/workspace_management/workspace_management.md
@@ -2,7 +2,7 @@
## Context
-Towards the version 0.10.0, Kusion is about to make a huge upgrade: the unambiguous definition of responsibility and collaboration paradigm between platform engineers and application developers through the application delivery process. The platform engineers firstly define modules and corresponding application-oriented schemas, where the latter constitute the application schema [AppConfiguration](https://www.kusionstack.io/docs/user_docs/config-walkthrough/overview#appconfiguration-model), and secondly initialize workspaces and corresponding configurations. The application developers select workspace and fill in the fields of AppConfiguration. Then, executing the delivery action in a trusted workspace, e.g. a CD pipeline, to apply the application intent from both the platform engineers and application developers.
+Towards the version 0.10.0, Kusion is about to make a huge upgrade: the unambiguous definition of responsibility and collaboration paradigm between platform engineers and application developers through the application delivery process. The platform engineers firstly define modules and corresponding application-oriented schemas, where the latter constitute the application schema [AppConfiguration](https://www.kusionstack.io/docs/concepts/app-configuration), and secondly initialize workspaces and corresponding configurations. The application developers select workspace and fill in the fields of AppConfiguration. Then, executing the delivery action in a trusted workspace, e.g. a CD pipeline, to apply the application intent from both the platform engineers and application developers.
The upgrade defines the role of platform engineers and the concepts of **Module** and **workspace**. The Module is a building block enabling the building the intent of a set of resources from **Schema Configuration** and **Workspace Configuration**. While the workspace is a collection of application-independent configurations, and a workspace configuration is composed of a set of module inputs, which forms the entire module inputs combined with schema configuration.
@@ -34,7 +34,7 @@ For clarity, the workspace data is seperated into two types: configuration and s
For the set of data items that serves the same target, if one or more than one of them is sensitive data, then the whole set of data items should be kept by environment variables. Ding so is to provide a continuous, smooth experience.
-According to [Building the collaboration paradigm between App Developers and Platform Developers with Kusion.md](https://github.com/KusionStack/kusion/blob/main/docs/design/collaboration/Building%20the%20collaboration%20paradigm%20between%20App%20Developers%20and%20Platform%20Developers%20with%20Kusion.md), *a stack must be linked with one workspace*. The stack name must be the same as the workspace name it will deploy to.
+According to [Building the collaboration paradigm between App Developers and Platform Developers with Kusion.md](https://www.kusionstack.io/docs/concepts/app-configuration), *a stack must be linked with one workspace*. The stack name must be the same as the workspace name it will deploy to.
![workspace-project-stack](../workspace-project-stack.png)