From f77554cbd8aa6a3efe7ec219a82684e0b87f0d91 Mon Sep 17 00:00:00 2001 From: Amine Date: Tue, 28 Jan 2025 21:09:15 -0800 Subject: [PATCH] docs: rename ResourceGroup to ResourceGraphDefinition This commit renames the core `ResourceGroup` concept to `ResourceGraphDefinition` throughout the codebase to better reflect its role in defining resource dependency graphs. Patch includee: - Rename CRD from ResourceGroup to ResourceGraphDefinition - Update all documentation to use the new terminology - Remove AWS-specific FAQ entries --- README.md | 4 +- examples/aws/ack-controller/README.md | 4 +- website/docs/api/out.md | 138 ------------------ ...ps.md => 00-resource-group-definitions.md} | 42 +++--- .../docs/docs/concepts/10-simple-schema.md | 2 +- website/docs/docs/concepts/15-instances.md | 4 +- website/docs/docs/faq.md | 28 ++-- .../docs/getting-started/01-Installation.md | 2 +- ... 02-deploy-a-resource-graph-definition.md} | 44 +++--- website/docs/docs/overview.md | 14 +- website/docs/examples/ack-eks-cluster.md | 2 +- website/docs/examples/ack-networking-stack.md | 2 +- .../docs/examples/ack-valkey-cachecluster.md | 2 +- website/docs/examples/deploying-controller.md | 2 +- website/docs/examples/deploying-coredns.md | 2 +- website/docs/examples/examples.md | 18 +-- website/docs/examples/noop.md | 4 +- website/docs/examples/pod-rds-dbinstance.md | 2 +- website/docs/examples/web-app-ingress.md | 2 +- website/docs/examples/web-app.md | 2 +- 20 files changed, 86 insertions(+), 234 deletions(-) delete mode 100644 website/docs/api/out.md rename website/docs/docs/concepts/{00-resource-groups.md => 00-resource-group-definitions.md} (78%) rename website/docs/docs/getting-started/{02-deploy-a-resource-group.md => 02-deploy-a-resource-graph-definition.md} (81%) diff --git a/README.md b/README.md index 391e3440..9e1ade4c 100644 --- a/README.md +++ b/README.md @@ -23,8 +23,8 @@ kro is Kubernetes native and integrates seamlessly with existing tools to preser [kro-overview]: https://kro.run/docs/overview [kro-installation]: https://kro.run/docs/getting-started/Installation -[kro-getting-started]: https://kro.run/docs/getting-started/deploy-a-resource-group -[kro-concepts]: https://kro.run/docs/concepts/resource-groups/ +[kro-getting-started]: https://kro.run/docs/getting-started/deploy-a-resource-graph-definition +[kro-concepts]: https://kro.run/docs/concepts/resource-graph-definitions/ [kro-examples]: https://kro.run/examples/ ## FAQ diff --git a/examples/aws/ack-controller/README.md b/examples/aws/ack-controller/README.md index d07aac47..c3955395 100644 --- a/examples/aws/ack-controller/README.md +++ b/examples/aws/ack-controller/README.md @@ -52,7 +52,7 @@ The controllers are using the IAM controller to create the necessary roles for t - Deploy the controller - Create an instance of the controller -3. Install all the Resource Group CRDs: +3. Install all the Resource Graph Definition CRDs: ``` kubectl apply -f crds/ ``` @@ -62,7 +62,7 @@ The controllers are using the IAM controller to create the necessary roles for t kubectl apply -f controllers/ ``` -5. Install the combined Resource Group controllers: +5. Install the combined Resource Graph Definition controllers: ``` kubectl apply -f resourcegraphdefinition.yaml ``` diff --git a/website/docs/api/out.md b/website/docs/api/out.md deleted file mode 100644 index 73fb037d..00000000 --- a/website/docs/api/out.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -sidebar_label: "ResourceGroup API" -sidebar_position: 100 ---- - -# API Reference - -## Packages - -- [kro.run/v1alpha1](#krorunv1alpha1) - -## kro.run/v1alpha1 - -Package v1alpha1 contains API Schema definitions for the x v1alpha1 API group - -### Resource Types - -- [ResourceGroup](#resourcegroup) -- [ResourceGroupList](#resourcegrouplist) - -#### Condition - -Condition is the common struct used by all CRDs managed by ACK service -controllers to indicate terminal states of the CR and its backend AWS service -API resource - -_Appears in:_ - -- [ResourceGroupStatus](#resourcegroupstatus) - -| Field | Description | Default | Validation | -| ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ----------------- | -| `type` _[ConditionType](#conditiontype)_ | Type is the type of the Condition | | | -| `status` _[ConditionStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.3/#conditionstatus-v1-core)_ | Status of the condition, one of True, False, Unknown. | | | -| `lastTransitionTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.3/#time-v1-meta)_ | Last time the condition transitioned from one status to another. | | | -| `reason` _string_ | The reason for the condition's last transition. | | | -| `message` _string_ | A human readable message indicating details about the transition. | | | -| `observedGeneration` _integer_ | observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance. | | Minimum: 0
| - -#### ConditionType - -_Underlying type:_ _string_ - -_Appears in:_ - -- [Condition](#condition) - -#### Definition - -_Appears in:_ - -- [ResourceGroupSpec](#resourcegroupspec) - -| Field | Description | Default | Validation | -| ---------------------------------------- | ----------- | ------- | ---------- | -| `spec` _[RawExtension](#rawextension)_ | | | | -| `status` _[RawExtension](#rawextension)_ | | | | -| `types` _[RawExtension](#rawextension)_ | | | | -| `validation` _string array_ | | | | - -#### Resource - -_Appears in:_ - -- [ResourceGroupSpec](#resourcegroupspec) - -| Field | Description | Default | Validation | -| -------------------------------------------- | ----------- | ------- | ------------------- | -| `name` _string_ | | | Required: {}
| -| `definition` _[RawExtension](#rawextension)_ | | | Required: {}
| - -#### ResourceGroup - -ResourceGroup is the Schema for the resourcegroups API - -_Appears in:_ - -- [ResourceGroupList](#resourcegrouplist) - -| Field | Description | Default | Validation | -| ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ---------- | -| `apiVersion` _string_ | `kro.run/v1alpha1` | | | -| `kind` _string_ | `ResourceGroup` | | | -| `kind` _string_ | Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | | | -| `apiVersion` _string_ | APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.3/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | -| `spec` _[ResourceGroupSpec](#resourcegroupspec)_ | | | | -| `status` _[ResourceGroupStatus](#resourcegroupstatus)_ | | | | - -#### ResourceGroupList - -ResourceGroupList contains a list of ResourceGroup - -| Field | Description | Default | Validation | -| ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ---------- | -| `apiVersion` _string_ | `kro.run/v1alpha1` | | | -| `kind` _string_ | `ResourceGroupList` | | | -| `kind` _string_ | Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | | | -| `apiVersion` _string_ | APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | | | -| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.3/#listmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | -| `items` _[ResourceGroup](#resourcegroup) array_ | | | | - -#### ResourceGroupSpec - -ResourceGroupSpec defines the desired state of ResourceGroup - -_Appears in:_ - -- [ResourceGroup](#resourcegroup) - -| Field | Description | Default | Validation | -| ----------------------------------------- | ----------- | ------- | ------------------- | -| `kind` _string_ | | | Required: {}
| -| `apiVersion` _string_ | | | Required: {}
| -| `definition` _[Definition](#definition)_ | | | Required: {}
| -| `resources` _[Resource](#resource) array_ | | | Optional: {}
| - -#### ResourceGroupState - -_Underlying type:_ _string_ - -_Appears in:_ - -- [ResourceGroupStatus](#resourcegroupstatus) - -#### ResourceGroupStatus - -ResourceGroupStatus defines the observed state of ResourceGroup - -_Appears in:_ - -- [ResourceGroup](#resourcegroup) - -| Field | Description | Default | Validation | -| --------------------------------------------------- | --------------------------------------------------------------------------- | ------- | ---------- | -| `state` _[ResourceGroupState](#resourcegroupstate)_ | State is the state of the resourcegroup | | | -| `topologicalOrder` _string array_ | TopologicalOrder is the topological order of the resourcegroup graph | | | -| `conditions` _[Condition](#condition) array_ | Conditions represent the latest available observations of an object's state | | | diff --git a/website/docs/docs/concepts/00-resource-groups.md b/website/docs/docs/concepts/00-resource-group-definitions.md similarity index 78% rename from website/docs/docs/concepts/00-resource-groups.md rename to website/docs/docs/concepts/00-resource-group-definitions.md index ca91acdd..89884a31 100644 --- a/website/docs/docs/concepts/00-resource-groups.md +++ b/website/docs/docs/concepts/00-resource-group-definitions.md @@ -2,15 +2,15 @@ sidebar_position: 1 --- -# ResourceGroups +# ResourceGraphDefinitions -ResourceGroups are the fundamental building blocks in **kro**. They provide a +ResourceGraphDefinitions are the fundamental building blocks in **kro**. They provide a way to define, organize, and manage sets of related Kubernetes resources as a single, reusable unit. -## What is a ResourceGroup? +## What is a ResourceGraphDefinition? -A **ResourceGroup** is a custom resource that lets you create new Kubernetes +A **ResourceGraphDefinition** is a custom resource that lets you create new Kubernetes APIs for deploying multiple resources together. It acts as a blueprint, defining: @@ -20,19 +20,19 @@ defining: - When resources should be included (conditions) - What status to expose (status) -When you create a **ResourceGroup**, kro generates a new API (a.k.a Custom +When you create a **ResourceGraphDefinition**, kro generates a new API (a.k.a Custom Resource Defintion) in your cluster that others can use to deploy resources in a consistent, controlled way. -## Anatomy of a ResourceGroup +## Anatomy of a ResourceGraphDefinition -A ResourceGroup, like any Kubernetes resource, consists of three main parts: +A ResourceGraphDefinition, like any Kubernetes resource, consists of three main parts: 1. **Metadata**: name, namespace, labels, etc. -2. **Spec**: Defines the structure and properties of the ResourceGroup -3. **Status**: Reflects the current state of the ResourceGroup +2. **Spec**: Defines the structure and properties of the ResourceGraphDefinition +3. **Status**: Reflects the current state of the ResourceGraphDefinition -The `spec` section of a ResourceGroup contains two main components: +The `spec` section of a ResourceGraphDefinition contains two main components: - **Schema**: Defines what an instance of your API looks like: - What users can configure during creation and update @@ -48,9 +48,9 @@ This structure translates to YAML as follows: ```yaml apiVersion: kro.run/v1alpha1 -kind: ResourceGroup +kind: ResourceGraphDefinition metadata: - name: my-resourcegroup # Metadata section + name: my-resourcegraphdefinition # Metadata section spec: schema: # Define your API apiVersion: v1alpha1 # API version @@ -101,19 +101,19 @@ leverages a human-friendly and readable syntax that is OpenAPI spec compatible. No need to write complex OpenAPI schemas - just define your fields and types in a straightforward way. For the complete specification of this format, check out the [Simple Schema specification](./10-simple-schema.md). Status fields use CEL -expressions to reference fields from resources defined in your ResourceGroup. +expressions to reference fields from resources defined in your ResourceGraphDefinition. kro automatically: - Infers the correct types from your expressions - Validates that referenced resources exist - Updates these fields as your resources change -## ResourceGroup Processing +## ResourceGraphDefinition Processing -When you create a **ResourceGroup**, kro processes it in several steps to ensure +When you create a **ResourceGraphDefinition**, kro processes it in several steps to ensure correctness and set up the necessary components: -1. **Validation**: kro validates your **ResourceGroup** to ensure it's well +1. **Validation**: kro validates your **ResourceGraphDefinition** to ensure it's well formed and follows the correct syntax, maximizing the chances of successful deployment, and catching as many errors as possible early on. It: @@ -125,7 +125,7 @@ correctness and set up the necessary components: - Validates all CEL expressions in status fields and conditions 2. **API Generation**: kro generates and registers a new CRD in your cluster - based on your schema. For example, if your **ResourceGroup** defines a + based on your schema. For example, if your **ResourceGraphDefinition** defines a `WebApplication` API, kro creates a CRD that: - Provides API validation based on your schema definition @@ -141,17 +141,17 @@ correctness and set up the necessary components: - Handles the complete lifecycle for create, update, and delete operations - Keeps status information up to date based on actual resource states -For instance, when you create a `WebApplication` ResourceGroup, kro generates +For instance, when you create a `WebApplication` ResourceGraphDefinition, kro generates the `webapplications.kro.run` CRD. When users create instances of this API, kro manages all the underlying resources (Deployments, Services, Custom Resources, etc.) automatically. -kro continuously monitors your ResourceGroup for changes, updating the API and +kro continuously monitors your ResourceGraphDefinition for changes, updating the API and its behavior accordingly. -## ResourceGroup Instance Example +## ResourceGraphDefinition Instance Example -After the **ResourceGroup** is validated and registered in the cluster, users +After the **ResourceGraphDefinition** is validated and registered in the cluster, users can can create instances of it. Here's an example of how an instance for the `SimpleWebApp` might look: diff --git a/website/docs/docs/concepts/10-simple-schema.md b/website/docs/docs/concepts/10-simple-schema.md index 10ed828a..62db74fd 100644 --- a/website/docs/docs/concepts/10-simple-schema.md +++ b/website/docs/docs/concepts/10-simple-schema.md @@ -10,7 +10,7 @@ compatible. Here's a comprehensive example: ```yaml apiVersion: kro.run/v1alpha1 -kind: ResourceGroup +kind: ResourceGraphDefinition metadata: name: web-application spec: diff --git a/website/docs/docs/concepts/15-instances.md b/website/docs/docs/concepts/15-instances.md index 2f119b5e..eb9f5754 100644 --- a/website/docs/docs/concepts/15-instances.md +++ b/website/docs/docs/concepts/15-instances.md @@ -4,7 +4,7 @@ sidebar_position: 15 # Instances -Once **kro** processes your ResourceGroup, it creates a new API in your cluster. +Once **kro** processes your ResourceGraphDefinition, it creates a new API in your cluster. Users can then create instances of this API to deploy resources in a consistent, controlled way. @@ -95,7 +95,7 @@ Every instance includes: - `Error`: Problems detected 3. **Resource Status**: Status from your resources - - Values you defined in your ResourceGroup's status section + - Values you defined in your ResourceGraphDefinition's status section - Automatically updated as resources change ## Best Practices diff --git a/website/docs/docs/faq.md b/website/docs/docs/faq.md index 414bcd9f..84bdb51a 100644 --- a/website/docs/docs/faq.md +++ b/website/docs/docs/faq.md @@ -10,27 +10,27 @@ sidebar_position: 100 Kube Resource Orchestrator (**kro**) is a new operator for Kubernetes that simplifies the creation of complex Kubernetes resource configurations. kro lets you create and manage custom groups of Kubernetes resources by defining - them as a _ResourceGroup_, the project's fundamental custom resource. - ResourceGroup specifications define a set of resources and how they relate to + them as a _ResourceGraphDefinition_, the project's fundamental custom resource. + ResourceGraphDefinition specifications define a set of resources and how they relate to each other functionally. Once defined, resource groups can be applied to a Kubernetes cluster where the kro controller is running. Once validated by kro, you can create instances of your resource group. kro translates your - ResourceGroup instance and its parameters into specific Kubernetes resources + ResourceGraphDefinition instance and its parameters into specific Kubernetes resources and configurations which it then manages for you. 2. **How does kro work?** kro is designed to use core Kubernetes primitives to make resource grouping, - customization, and dependency management simpler. When a ResourceGroup is + customization, and dependency management simpler. When a ResourceGraphDefinition is applied to the cluster, the kro controller verifies its specification, then dynamically creates a new CRD and registers it with the API server. kro then deploys a dedicated controller to respond to instance events on the CRD. This microcontroller is responsible for managing the lifecycle of resources - defined in the ResourceGroup for each instance that is created. + defined in the ResourceGraphDefinition for each instance that is created. 3. **How do I use kro?** - First, you define your custom resource groups by creating _ResourceGroup_ + First, you define your custom resource groups by creating _ResourceGraphDefinition_ specifications. These specify one or more Kubernetes resources, and can include specific configuration for each resource. @@ -41,7 +41,7 @@ sidebar_position: 100 _WebApp_ resource group with a _Table_ custom resource to provision a cloud managed database instance for your web app to use. - Once you have defined a ResourceGroup, you can apply it to a Kubernetes + Once you have defined a ResourceGraphDefinition, you can apply it to a Kubernetes cluster where the kro controller is running. kro will take care of the heavy lifting of creating CRDs and deploying dedicated controllers in order to manage instances of your new custom resource group. @@ -59,18 +59,8 @@ sidebar_position: 100 resource dependency management and customization, paving the way for a simple and scalable way to create complex custom resources for Kubernetes. -5. **Do I need to have an AWS account to use this?** - - No, you can use kro with any Kubernetes cluster. - -6. **Can I use this in production?** +5. **Can I use this in production?** This project is in active development and not yet intended for production - use. The _ResourceGroup_ CRD and other APIs used in this project are not + use. The _ResourceGraphDefinition_ CRD and other APIs used in this project are not solidified and highly subject to change. - -7. **Will this be built into Amazon Elastic Kubernetes Service (EKS)?** - - This project is a public experiment, and not currently integrated into Amazon - EKS. We welcome your feedback and want to hear about what works and what - doesn't for your use cases, please let us know what you think. diff --git a/website/docs/docs/getting-started/01-Installation.md b/website/docs/docs/getting-started/01-Installation.md index b1445c3e..2c5c8077 100644 --- a/website/docs/docs/getting-started/01-Installation.md +++ b/website/docs/docs/getting-started/01-Installation.md @@ -106,5 +106,5 @@ helm uninstall kro -n kro ``` Keep in mind that this command will remove all kro resources from your cluster, -except for the ResourceGroup CRD and any other custom resources you may have +except for the ResourceGraphDefinition CRD and any other custom resources you may have created. diff --git a/website/docs/docs/getting-started/02-deploy-a-resource-group.md b/website/docs/docs/getting-started/02-deploy-a-resource-graph-definition.md similarity index 81% rename from website/docs/docs/getting-started/02-deploy-a-resource-group.md rename to website/docs/docs/getting-started/02-deploy-a-resource-graph-definition.md index 93c673ae..12592041 100644 --- a/website/docs/docs/getting-started/02-deploy-a-resource-group.md +++ b/website/docs/docs/getting-started/02-deploy-a-resource-graph-definition.md @@ -2,21 +2,21 @@ sidebar_position: 2 --- -# Deploy Your First ResourceGroup +# Deploy Your First ResourceGraphDefinition -This guide will walk you through creating your first Resource Group in **kro**. -We'll create a simple `ResourceGroup` that demonstrates key kro features. +This guide will walk you through creating your first Resource Graph Definition in **kro**. +We'll create a simple `ResourceGraphDefinition` that demonstrates key kro features. -## What is a **ResourceGroup**? +## What is a **ResourceGraphDefinition**? -A `ResourceGroup` lets you create new Kubernetes APIs that deploy multiple +A `ResourceGraphDefinition` lets you create new Kubernetes APIs that deploy multiple resources together as a single, reusable unit. In this example, we’ll create a -`ResourceGroup` that packages a reusable set of resources, including a +`ResourceGraphDefinition` that packages a reusable set of resources, including a `Deployment`, `Service`, and `Ingress`. These resources are available in any Kubernetes cluster. Users can then call the API to deploy resources as a single unit, ensuring they're always created together with the right configuration. -Under the hood, when you create a `ResourceGroup`, kro: +Under the hood, when you create a `ResourceGraphDefinition`, kro: 1. Treats your resources as a Directed Acyclic Graph (DAG) to understand their dependencies @@ -32,14 +32,14 @@ Before you begin, make sure you have the following: cluster. - `kubectl` installed and configured to interact with your Kubernetes cluster. -## Create your Application ResourceGroup +## Create your Application ResourceGraphDefinition -Let's create a Resource Group that combines a `Deployment`, a `Service` and -`Ingress`. Save this as `resourcegroup.yaml`: +Let's create a Resource Graph Definition that combines a `Deployment`, a `Service` and +`Ingress`. Save this as `resourcegraphdefinition.yaml`: -```yaml title="resourcegroup.yaml" +```yaml title="resourcegraphdefinition.yaml" apiVersion: kro.run/v1alpha1 -kind: ResourceGroup +kind: ResourceGraphDefinition metadata: name: my-application spec: @@ -124,26 +124,26 @@ spec: number: 80 ``` -### Deploy the ResourceGroup +### Deploy the ResourceGraphDefinition -1. **Create a ResourceGroup manifest file**: Create a new file with the - `ResourceGroup` definition. You can use the example above. +1. **Create a ResourceGraphDefinition manifest file**: Create a new file with the + `ResourceGraphDefinition` definition. You can use the example above. -2. **Apply the `ResourceGroup`**: Use the `kubectl` command to deploy the - ResourceGroup to your Kubernetes cluster: +2. **Apply the `ResourceGraphDefinition`**: Use the `kubectl` command to deploy the + ResourceGraphDefinition to your Kubernetes cluster: ```bash - kubectl apply -f resourcegroup.yaml + kubectl apply -f resourcegraphdefinition.yaml ``` -3. **Inpsect the `ResourceGroup`**: Check the status of the resources created by - the ResourceGroup using the `kubectl` command: +3. **Inpsect the `ResourceGraphDefinition`**: Check the status of the resources created by + the ResourceGraphDefinition using the `kubectl` command: ```bash kubectl get rg my-application -owide ``` - You should see the ResourceGroup in the `Active` state, along with relevant + You should see the ResourceGraphDefinition in the `Active` state, along with relevant information to help you understand your application: ```bash @@ -153,7 +153,7 @@ spec: ### Create your Application Instance -Now that your `ResourceGroup` is created, kro has generated a new API +Now that your `ResourceGraphDefinition` is created, kro has generated a new API (Application) that orchestrates creation of the a `Deployment`, a `Service`, and an `Ingress`. Let's use it! diff --git a/website/docs/docs/overview.md b/website/docs/docs/overview.md index 51e427cc..a861bc6a 100644 --- a/website/docs/docs/overview.md +++ b/website/docs/docs/overview.md @@ -39,12 +39,12 @@ _Fugure 1: End user interface - Custom API_ -### ResourceGroup +### ResourceGraphDefinition When you install **Kro** in your cluster, it installs a Custom Resource -Definition (CRD) called **ResourceGroup (RG)**. The **Platform**, **Security**, +Definition (CRD) called **ResourceGraphDefinition (RG)**. The **Platform**, **Security**, and **Compliance** teams, can collaborate to create custom APIs by defining -Custom Resources for the ResourceGroup CRD. +Custom Resources for the ResourceGraphDefinition CRD. In the depicted example, the **Platform Team** has created a **RG** with arbitrary name "Application Stack" that encapsulates the necessary resources, @@ -57,11 +57,11 @@ handles the deployment and configuration of the required resources.
![Platform Team Interface](../../../images/architecture-diagrams/KRO-Platform-Team.png) -_Fugure 2: ResourceGroup (RG) - Platform Team Interface_ +_Fugure 2: ResourceGraphDefinition (RG) - Platform Team Interface_
-### ResourceGroup Instance +### ResourceGraphDefinition Instance Developer teams can create multiple instances of the **Application Stack**, each tailored to their specific requirements. As shown, **Dev Team A** and **Dev Team @@ -74,8 +74,8 @@ requirements.
-![ResourceGroup Instance](../../../images/architecture-diagrams/KRO-Instance.png) -_Fugure 3: ResourceGroup Instance (RGI)_ +![ResourceGraphDefinition Instance](../../../images/architecture-diagrams/KRO-Instance.png) +_Fugure 3: ResourceGraphDefinition Instance (RGI)_
diff --git a/website/docs/examples/ack-eks-cluster.md b/website/docs/examples/ack-eks-cluster.md index e3d7d245..39ea5b66 100644 --- a/website/docs/examples/ack-eks-cluster.md +++ b/website/docs/examples/ack-eks-cluster.md @@ -6,7 +6,7 @@ sidebar_position: 10 ```yaml title="eks.yaml" apiVersion: kro.run/v1alpha1 -kind: ResourceGroup +kind: ResourceGraphDefinition metadata: name: ekscluster.kro.run spec: diff --git a/website/docs/examples/ack-networking-stack.md b/website/docs/examples/ack-networking-stack.md index 4270bad6..def8a3ef 100644 --- a/website/docs/examples/ack-networking-stack.md +++ b/website/docs/examples/ack-networking-stack.md @@ -6,7 +6,7 @@ sidebar_position: 10 ```yaml title="networking-stack.yaml" apiVersion: kro.run/v1alpha1 -kind: ResourceGroup +kind: ResourceGraphDefinition metadata: name: networkingstack.kro.run spec: diff --git a/website/docs/examples/ack-valkey-cachecluster.md b/website/docs/examples/ack-valkey-cachecluster.md index a139e84c..f5b76eba 100644 --- a/website/docs/examples/ack-valkey-cachecluster.md +++ b/website/docs/examples/ack-valkey-cachecluster.md @@ -6,7 +6,7 @@ sidebar_position: 10 ```yaml title="valkey-cachecluster.yaml" apiVersion: kro.run/v1alpha1 -kind: ResourceGroup +kind: ResourceGraphDefinition metadata: name: valkey.kro.run spec: diff --git a/website/docs/examples/deploying-controller.md b/website/docs/examples/deploying-controller.md index 5c38f969..3d0e4c45 100644 --- a/website/docs/examples/deploying-controller.md +++ b/website/docs/examples/deploying-controller.md @@ -6,7 +6,7 @@ sidebar_position: 10 ```yaml title="controller-rg.yaml" apiVersion: kro.run/v1alpha1 -kind: ResourceGroup +kind: ResourceGraphDefinition metadata: name: ekscontrollers.kro.run spec: diff --git a/website/docs/examples/deploying-coredns.md b/website/docs/examples/deploying-coredns.md index e99e4304..d10d6547 100644 --- a/website/docs/examples/deploying-coredns.md +++ b/website/docs/examples/deploying-coredns.md @@ -6,7 +6,7 @@ sidebar_position: 10 ```yaml title="coredns-rg.yaml" apiVersion: kro.run/v1alpha1 -kind: ResourceGroup +kind: ResourceGraphDefinition metadata: name: coredns.kro.run spec: diff --git a/website/docs/examples/examples.md b/website/docs/examples/examples.md index 299e59bf..dfdd4401 100644 --- a/website/docs/examples/examples.md +++ b/website/docs/examples/examples.md @@ -5,14 +5,14 @@ sidebar_position: 0 # Examples This section provides a collection of examples demonstrating how to define and -use ResourceGroups in **kro** for various scenarios. Each example showcases a +use ResourceGraphDefinitions in **kro** for various scenarios. Each example showcases a specific use case and includes a detailed explanation along with the corresponding YAML definitions. ## Basic Examples -- [Empty ResourceGroup (Noop)](./noop.md) Explore the simplest form of a - ResourceGroup that doesn't define any resources, serving as a reference for +- [Empty ResourceGraphDefinition (Noop)](./noop.md) Explore the simplest form of a + ResourceGraphDefinition that doesn't define any resources, serving as a reference for the basic structure. - [Simple Web Application](./web-app.md) Deploy a basic web application with a @@ -25,25 +25,25 @@ corresponding YAML definitions. ## Advanced Examples - [Deploying CoreDNS](./deploying-coredns.md) Learn how to deploy CoreDNS in a - Kubernetes cluster using kro ResourceGroups, including the necessary + Kubernetes cluster using kro ResourceGraphDefinitions, including the necessary Deployment, Service, and ConfigMap. - [Deploying a Controller](./deploying-controller.md) Discover how to deploy a - Kubernetes controller using kro ResourceGroups, including the necessary + Kubernetes controller using kro ResourceGraphDefinitions, including the necessary Deployment, ServiceAccount, and CRDs. - [AWS Networking Stack](./ack-networking-stack.md) Learn how to define and - manage an AWS networking stack using kro ResourceGroups, including VPCs, + manage an AWS networking stack using kro ResourceGraphDefinitions, including VPCs, subnets, and security groups. - [EKS Cluster with ACK CRDs](./ack-eks-cluster.md) Explore how to define and manage an EKS cluster using AWS Controllers for Kubernetes (ACK) CRDs within a - kro ResourceGroup. + kro ResourceGraphDefinition. - [Valkey CacheCluster with ACK CRDs](./ack-valkey-cachecluster.md) Learn how to create and configure a Valkey CacheCluster using ACK CRDs in a kro - ResourceGroup. + ResourceGraphDefinition. - [Pod and RDS DBInstance](./pod-rds-dbinstance.md) Deploy a Pod and an RDS - DBInstance in a kro ResourceGroup, showcasing the use of multiple resources + DBInstance in a kro ResourceGraphDefinition, showcasing the use of multiple resources with dependencies. diff --git a/website/docs/examples/noop.md b/website/docs/examples/noop.md index 81da2c0c..fd4b3214 100644 --- a/website/docs/examples/noop.md +++ b/website/docs/examples/noop.md @@ -2,11 +2,11 @@ sidebar_position: 5 --- -# Empty ResourceGroup +# Empty ResourceGraphDefinition ```yaml title="noop.yaml" apiVersion: kro.run/v1alpha1 -kind: ResourceGroup +kind: ResourceGraphDefinition metadata: name: kro.run/v1alpha1 spec: diff --git a/website/docs/examples/pod-rds-dbinstance.md b/website/docs/examples/pod-rds-dbinstance.md index e2cbf916..9fba4b43 100644 --- a/website/docs/examples/pod-rds-dbinstance.md +++ b/website/docs/examples/pod-rds-dbinstance.md @@ -6,7 +6,7 @@ sidebar_position: 20 ```yaml title="deploymentdbinstance-rg.yaml" apiVersion: kro.run/v1alpha1 -kind: ResourceGroup +kind: ResourceGraphDefinition metadata: name: deploymentandawspostgres spec: diff --git a/website/docs/examples/web-app-ingress.md b/website/docs/examples/web-app-ingress.md index ad054e39..a62430a4 100644 --- a/website/docs/examples/web-app-ingress.md +++ b/website/docs/examples/web-app-ingress.md @@ -6,7 +6,7 @@ sidebar_position: 10 ```yaml title="webapp-ingress.yaml" apiVersion: kro.run/v1alpha1 -kind: ResourceGroup +kind: ResourceGraphDefinition metadata: name: my-application spec: diff --git a/website/docs/examples/web-app.md b/website/docs/examples/web-app.md index 747f2bdb..90b8215b 100644 --- a/website/docs/examples/web-app.md +++ b/website/docs/examples/web-app.md @@ -6,7 +6,7 @@ sidebar_position: 10 ```yaml title="deploymentservice-rg.yaml" apiVersion: kro.run/v1alpha1 -kind: ResourceGroup +kind: ResourceGraphDefinition metadata: name: deploymentservice spec: