diff --git a/.cspell.json b/.cspell.json index 30be7af1..ddeb2271 100644 --- a/.cspell.json +++ b/.cspell.json @@ -5,6 +5,7 @@ "mdx" ], "words": [ + "apiextensions", "applicationset", "argoproj", "authcode", @@ -24,6 +25,7 @@ "crossplane", "cuecontext", "cuelang", + "customresourcedefinition", "devicecode", "dnsmasq", "dscacheutil", @@ -87,6 +89,7 @@ "ropc", "SECRETKEY", "secretstores", + "serverside", "spanid", "spiffe", "startupapicheck", diff --git a/doc/md/guides/expose-a-service.mdx b/doc/md/guides/expose-a-service.mdx index 62d74641..f46900ec 100644 --- a/doc/md/guides/expose-a-service.mdx +++ b/doc/md/guides/expose-a-service.mdx @@ -34,16 +34,16 @@ stored in a Git repository. - ```bash - mkdir expose-a-service - cd expose-a-service - git init - ``` +```bash +mkdir expose-a-service +cd expose-a-service +git init +``` - ```txt - Initialized empty Git repository in /expose-a-service/.git/ - ``` +```txt showLineNumbers +Initialized empty Git repository in /expose-a-service/.git/ +``` @@ -63,7 +63,7 @@ holos generate component workload-cluster ``` -```txt +```txt showLineNumbers generated component ``` @@ -73,17 +73,17 @@ Commit the generated platform config to the repository. - ```bash - git add . - git commit -m "holos generate platform guide - $(holos --version)" - ``` +```bash +git add . +git commit -m "holos generate platform guide - $(holos --version)" +``` - ```txt - [main (root-commit) 0b17b7f] holos generate platform guide - 0.93.3 - 213 files changed, 72349 insertions(+) - ... - ``` +```txt showLineNumbers +[main (root-commit) 0b17b7f] holos generate platform guide - 0.93.3 + 213 files changed, 72349 insertions(+) + ... +``` @@ -104,7 +104,7 @@ holos generate component gateway-api ``` -```txt +```txt showLineNumbers generated component ``` @@ -143,12 +143,6 @@ for Fleet in #Fleets { -:::tip -This example is equivalent to running `kubectl kustomize -./components/gateway-api` and saving the output to a file. Holos simplifies -this task and makes it consistent with Helm and other tools. -::: - Notice the Component also includes a `kustomization.yaml` file at the leaf. This is an unmodified upstream copy of the standard way to install the Gateway API. @@ -167,6 +161,73 @@ resources: +Render the Platform to render the Component for the workload clusters. + + + +```bash +holos render platform ./platform +``` + + +```txt showLineNumbers +rendered components/gateway-api for cluster workload in 279.312292ms +``` + + + +:::tip +This example is equivalent to running `kubectl kustomize +./components/gateway-api` and saving the output to a file. Holos simplifies +this task and makes it consistent with Helm and other tools. +::: + +Add and commit the Component and rendered Platform. + + + +```bash +git add . +git commit -m "add gateway-api component" +``` + + +```txt showLineNumbers +[main 88575a5] add gateway-api component + 9 files changed, 26907 insertions(+) + create mode 100644 components/gateway-api/gateway-api.cue + create mode 100644 components/gateway-api/kustomization.yaml + create mode 100644 components/gateway-api/standard/gateway.networking.k8s.io_gatewayclasses.yaml + create mode 100644 components/gateway-api/standard/gateway.networking.k8s.io_gateways.yaml + create mode 100644 components/gateway-api/standard/gateway.networking.k8s.io_grpcroutes.yaml + create mode 100644 components/gateway-api/standard/gateway.networking.k8s.io_httproutes.yaml + create mode 100644 components/gateway-api/standard/gateway.networking.k8s.io_referencegrants.yaml + create mode 100644 deploy/clusters/workload/components/gateway-api/gateway-api.gen.yaml + create mode 100644 gateway-api.gen.cue +``` + + + +Optionally apply the rendered component to your cluster. + + + +```bash +kubectl apply --server-side=true -f deploy/clusters/workload/components/gateway-api +``` + + +```txt showLineNumbers +customresourcedefinition.apiextensions.k8s.io/gatewayclasses.gateway.networking.k8s.io serverside-applied +customresourcedefinition.apiextensions.k8s.io/gateways.gateway.networking.k8s.io serverside-applied +customresourcedefinition.apiextensions.k8s.io/grpcroutes.gateway.networking.k8s.io serverside-applied +customresourcedefinition.apiextensions.k8s.io/httproutes.gateway.networking.k8s.io serverside-applied +customresourcedefinition.apiextensions.k8s.io/referencegrants.gateway.networking.k8s.io serverside-applied +``` + + + + ## Namespaces ## Istio