Skip to content

Commit f42328d

Browse files
authored
Merge pull request #717 from a-hilaly/docs-versioning
docs: add versioned documentation site for v0.1.0 through v0.4.1
2 parents 267967b + 21327d3 commit f42328d

File tree

217 files changed

+21250
-15
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

217 files changed

+21250
-15
lines changed

website/README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,21 @@ $ GIT_USER=<Your GitHub username> yarn deploy
4545
```
4646

4747
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
48+
49+
### Versioning
50+
51+
When a new kro controller version is released, you should also update/release the documentation:
52+
53+
1. **Update `version.json`**
54+
Add the new version to the `version.json` file.
55+
56+
2. **Create a Docusaurus version**
57+
Remove the `v` prefix from your version (e.g., `v0.1.0``0.1.0`):
58+
59+
```shell
60+
version_number=${version#v}
61+
npm run docusaurus docs:version $version_number
62+
```
63+
64+
3. **Submit a Pull Request**
65+
Commit your changes and open a PR to publish the new versioned docs.

website/docs/docs/overview.md.bak

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
---
2+
sidebar_position: 1
3+
---
4+
5+
# What is kro?
6+
7+
**kro** (Kube Resource Orchestrator) is an open-source, Kubernetes-native project
8+
that allows you to define custom **Kubernetes APIs** using simple and straightforward
9+
configuration. With kro, you can easily configure new custom APIs that create a
10+
group of Kubernetes objects and the logical operations between them. kro leverages
11+
[CEL (Common Expression Language)](https://github.com/google/cel-spec), the same
12+
language used by Kubernetes webhooks, for logical operations. Using CEL expressions,
13+
you can easily pass values from one object to another and incorporate conditionals into
14+
your custom API definitions. Based on the CEL expressions, kro automatically calculates
15+
the order in which objects should be created. You can define default values for fields
16+
in the API specification, streamlining the process for end users who can then
17+
effortlessly invoke these custom APIs to create grouped resources.
18+
19+
# How does kro work?
20+
21+
### Developer interface
22+
23+
When the end user applies a YAML spec to the cluster using the **Custom API**,
24+
the API creates a set of resources within the cluster. These resources can
25+
include both **native Kubernetes** resources and any **Custom Resource
26+
Definitions (CRDs)** installed in the cluster. Some of these resources may
27+
create additional resources outside of your cluster.
28+
29+
As depicted in the following diagram, the Developers call the Custom API, which
30+
creates resources such as the **Deployment**, **Ingress**, **ServiceAccount**,
31+
**Prometheus Monitor**, **IAM Role**, **IAM Policy**, and **Amazon S3 Bucket**.
32+
This allows the Developers to easily manage and deploy their applications in a
33+
standardized and streamlined manner.
34+
35+
<div align="center">
36+
37+
![End user interface - Custom API](../../../images/architecture-diagrams/KRO-Dev-Interface.png)
38+
_Figure 1: End user interface - Custom API_
39+
40+
</div>
41+
42+
### ResourceGraphDefinition
43+
44+
When you install **Kro** in your cluster, it installs a Custom Resource
45+
Definition (CRD) called **ResourceGraphDefinition (RG)**. The **Platform**, **Security**,
46+
and **Compliance** teams can collaborate to create custom APIs by defining
47+
Custom Resources for the ResourceGraphDefinition CRD.
48+
49+
In the depicted example, the **Platform Team** has created a **RG** with
50+
arbitrary name "Application Stack" that encapsulates the necessary resources,
51+
along with any additional logic, abstractions, and security best practices. When
52+
the RGD is applied to the cluster, a new API of kind ApplicationStack is created
53+
and available for the Developer to interact with. The Developers no longer need to
54+
directly manage the underlying infrastructure complexities, as the custom API
55+
handles the deployment and configuration of the required resources.
56+
57+
<div align="center">
58+
59+
![Platform Team Interface](../../../images/architecture-diagrams/KRO-Platform-Team.png)
60+
_Figure 2: ResourceGraphDefinition (RG) - Platform Team Interface_
61+
62+
</div>
63+
64+
### ResourceGraphDefinition Instance
65+
66+
Developer teams can create multiple instances of the **Application Stack**, each
67+
tailored to their specific requirements. As shown, **Dev Team A** and **Dev Team
68+
B** have both instantiated their own Application Stacks. While the underlying
69+
resources are similar, **Dev Team A** has chosen to expose their service
70+
externally, leveraging the Ingress option, while **Dev Team B** has opted to
71+
keep their service internal to the cluster. This flexibility allows each
72+
development team to customize their application stack based on their specific
73+
requirements.
74+
75+
<div align="center">
76+
77+
![ResourceGraphDefinition Instance](../../../images/architecture-diagrams/KRO-Instance.png)
78+
_Figure 3: ResourceGraphDefinition Instance (RGI)_
79+
80+
</div>
81+
82+
# Why kro?
83+
84+
### Manage any group of resources as one unit
85+
86+
Using **kro**, the **Platform Team** can enable Developer teams to quickly
87+
deploy and manage applications and their dependencies as one unit, handling the
88+
entire lifecycle from deployment to maintenance. The new APIs integrate
89+
seamlessly with developers' existing CD tools, preserving familiar processes and
90+
interfaces to simplify adoption.
91+
92+
### Collaborate
93+
94+
Transform **Kubernetes** into your unified platform configuration framework
95+
using **kro**. Platform, Compliance, and Security teams work together to develop
96+
APIs that standardize and streamline configurations, making it easier for
97+
Developer teams to adopt secure, compliant practices. This collaboration lets
98+
you build your organizational standards directly into the APIs, ensuring every
99+
application deployment aligns with security and compliance requirements without
100+
adding complexity for developers.
101+
102+
### Standardize
103+
104+
By creating unified APIs, you can define and enforce best practices across all
105+
environments, ensuring every application meets organizational requirements and
106+
achieving consistency across deployment environments.
107+
108+
# Community
109+
110+
We welcome questions, suggestions, and contributions from the community! To get
111+
involved, check out our
112+
[contributing guide](https://github.com/kro-run/kro/blob/main/CONTRIBUTING.md).
113+
For bugs or feature requests, feel free to
114+
[submit an issue](https://github.com/kro-run/kro/issues). You’re also invited to
115+
join our
116+
[community](https://github.com/kro-run/kro?tab=readme-ov-file#community-participation).

website/docusaurus.config.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ const config: Config = {
2424

2525
onBrokenLinks: "throw",
2626
markdown: {
27-
hooks: {
28-
onBrokenMarkdownLinks: "warn",
29-
},
27+
hooks: {
28+
onBrokenMarkdownLinks: "warn",
29+
},
3030
},
3131

3232
// Even if you don't use internationalization, you can use this field to set
@@ -71,6 +71,9 @@ const config: Config = {
7171
// Please change this to your repo.
7272
// Remove this to remove the "edit this page" links.
7373
editUrl: "https://github.com/kubernetes-sigs/kro/tree/main/website",
74+
disableVersioning: false,
75+
includeCurrentVersion: true,
76+
lastVersion: "0.4.1",
7477
},
7578
blog: false,
7679
theme: {
@@ -182,7 +185,8 @@ const config: Config = {
182185
],
183186
},
184187
],
185-
copyright: "kro is a subproject of Kubernetes SIG Cloud Provider. Kubernetes is a CNCF graduated project."
188+
copyright:
189+
"kro is a subproject of Kubernetes SIG Cloud Provider. Kubernetes is a CNCF graduated project.",
186190
},
187191
/* announcementBar: {
188192
id: `beta announcement`,

website/src/components/HomepageFeatures/index.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ const FeatureList: FeatureItem[] = [
1818
id: "benzene-ring-svgrepo-com",
1919
fill: "white",
2020
scale: 0.7,
21-
Svg: require("@site/static/img/resources.svg").default,
21+
Svg: require("/img/resources.svg").default,
2222
description: (
2323
<>
2424
Create powerful abstractions that encapsulate complex Kubernetes
@@ -29,7 +29,7 @@ const FeatureList: FeatureItem[] = [
2929
},
3030
{
3131
title: "Effortless Orchestration",
32-
Svg: require("@site/static/img/qrcode.svg").default,
32+
Svg: require("/img/qrcode.svg").default,
3333
id: "qr-code-svgrepo-com",
3434
fill: "a2",
3535
scale: 0.6,
@@ -46,7 +46,7 @@ const FeatureList: FeatureItem[] = [
4646
scale: 0.6,
4747
id: "scale-svgrepo-com",
4848
fill: "white",
49-
Svg: require("@site/static/img/expand-arrows.svg").default,
49+
Svg: require("/img/expand-arrows.svg").default,
5050
description: (
5151
<>
5252
kro effortlessly scales your resource management from simple deployments

website/src/pages/index.module.css

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
text-align: center;
99
position: relative;
1010
overflow: hidden;
11-
background-image: url('@site/static/img/bg-large.png');
11+
background-image: url("/img/bg-large.png");
1212
height: 420px;
1313
opacity: 0.1;
1414
}
@@ -76,26 +76,26 @@
7676
text-decoration: none;
7777
}
7878

79-
[data-theme='dark'] .indexCtas a {
79+
[data-theme="dark"] .indexCtas a {
8080
background-color: var(--main-color-dark);
8181
border-color: var(--main-color-dark);
8282
}
8383

84-
[data-theme='dark'] .indexCtas a:hover {
84+
[data-theme="dark"] .indexCtas a:hover {
8585
background-color: #fb8422;
8686
border-color: #fb8422;
8787
text-decoration: none;
8888
}
8989

90-
[data-theme='dark'] .heroA {
90+
[data-theme="dark"] .heroA {
9191
background-image: linear-gradient(rgb(54, 54, 54), rgb(27, 27, 29));
9292
}
9393

94-
[data-theme='dark'] .heroProjectTagline {
94+
[data-theme="dark"] .heroProjectTagline {
9595
color: #fff;
9696
}
9797

98-
[data-theme='dark'] .heroProjectTaglineSubtitle {
98+
[data-theme="dark"] .heroProjectTaglineSubtitle {
9999
color: #fff;
100100
}
101101

@@ -151,4 +151,4 @@
151151
.indexCtasGitHubButton {
152152
display: none;
153153
}
154-
}
154+
}

0 commit comments

Comments
 (0)