Fix english typos Kubes doc

Signed-off-by: Guillaume de Rouville <guillaume.derouville@gmail.com>
This commit is contained in:
Guillaume de Rouville 2021-07-05 15:24:48 +02:00
parent 72fcd7244b
commit 7615740020

View File

@ -147,7 +147,7 @@ kubectl get service
# todoapp-service NodePort 10.96.225.114 <none> 80:32658/TCP 11m # todoapp-service NodePort 10.96.225.114 <none> 80:32658/TCP 11m
``` ```
Next step is to transpose it in Cue. Before continuing, clean everything: The next step is to transpose it in Cue. Before continuing, clean everything:
```shell ```shell
kubectl delete -f k8s/ kubectl delete -f k8s/
@ -191,7 +191,7 @@ values={[
The above `config.cue` defines: The above `config.cue` defines:
- `kubeconfig` a generic value created to embbed this string `kubeconfig` value - `kubeconfig` a generic value created to embed this string `kubeconfig` value
```cue title="todoapp/cue.mod/kube/config.cue" ```cue title="todoapp/cue.mod/kube/config.cue"
package main package main
@ -364,7 +364,7 @@ values={[
# we'll use the "$HOME"/.kube/config created by `kind` # we'll use the "$HOME"/.kube/config created by `kind`
dagger input text kubeconfig -f "$HOME"/.kube/config -e kube dagger input text kubeconfig -f "$HOME"/.kube/config -e kube
# Add as artifact the k8s folder # Add as an artifact the k8s folder
dagger input dir manifest ./k8s -e kube dagger input dir manifest ./k8s -e kube
``` ```
@ -373,7 +373,7 @@ dagger input dir manifest ./k8s -e kube
<TabItem value="gke"> <TabItem value="gke">
```shell ```shell
# Add as artifact the k8s folder # Add as an artifact the k8s folder
dagger input dir manifest ./k8s -e kube dagger input dir manifest ./k8s -e kube
# Add Google credentials # Add Google credentials
@ -390,7 +390,7 @@ dagger input text gkeConfig.clusterName <GKE CLUSTER NAME> -e kube
<TabItem value="eks"> <TabItem value="eks">
```shell ```shell
# Add as artifact the k8s folder # Add as an artifact the k8s folder
dagger input dir manifest ./k8s -e kube dagger input dir manifest ./k8s -e kube
# Add Amazon credentials # Add Amazon credentials
@ -448,15 +448,15 @@ values={[
<TabItem value="kind"> <TabItem value="kind">
Let's see how to deploy locally an image and push it to the local cluster Let's see how to deploy an image locally and push it to the local cluster
`kube/todoapp.cue` faces these changes: `kube/todoapp.cue` faces these changes:
- `suffix`, a random string for unique tag name - `suffix`, a random string for a unique tag name
- `repository`, source code of the app to build. Needs to have a Dockerfile - `repository`, source code of the app to build. It needs to have a Dockerfile
- `registry`, URI of the registry to push to - `registry`, URI of the registry to push to
- `image`, build of the image - `image`, build of the image
- `remoteImage`, push image to registry - `remoteImage`, push an image to the registry
- `kustomization`, apply kustomization to image - `kustomization`, apply kustomization to image
```cue title="todoapp/kube/todoapp.cue" ```cue title="todoapp/kube/todoapp.cue"
@ -532,13 +532,10 @@ todoApp: {
Let's see how to leverage [GCR](https://github.com/dagger/dagger/tree/main/stdlib/gcp/gcr) Let's see how to leverage [GCR](https://github.com/dagger/dagger/tree/main/stdlib/gcp/gcr)
and [GKE](https://github.com/dagger/dagger/tree/main/stdlib/gcp/gke) packages. and [GKE](https://github.com/dagger/dagger/tree/main/stdlib/gcp/gke) packages.
The two files have to be edited in order to do so. The two files have to be edited to do so.
`kube/config.cue` configuration has following changes: `kube/config.cue` configuration has following change:
<!-- TODO Should I remove this ? -->
- removal of generic `kubeconfig` value as abstraction is not optimal for present use case
- definition of a new `ecrCreds` value that contains ecr credentials for remote image push to GCR - definition of a new `ecrCreds` value that contains ecr credentials for remote image push to GCR
```cue title="todoapp/cue.mod/kube/config.cue" ```cue title="todoapp/cue.mod/kube/config.cue"
@ -571,11 +568,11 @@ gcrCreds: gcr.#Credentials & {
`kube/todoapp.cue`, on the other hand, faces these changes: `kube/todoapp.cue`, on the other hand, faces these changes:
- `suffix`, a random string for unique tag name - `suffix`, a random string for a unique tag name
- `repository`, source code of the app to build. Needs to have a Dockerfile - `repository`, source code of the app to build. It needs to have a Dockerfile
- `registry`, URI of the registry to push to - `registry`, URI of the registry to push to
- `image`, build of the image - `image`, build of the image
- `remoteImage`, push image to registry - `remoteImage`, push an image to the registry
- `kustomization`, apply kustomization to image - `kustomization`, apply kustomization to image
```cue title="todoapp/kube/todoapp.cue" ```cue title="todoapp/kube/todoapp.cue"
@ -654,13 +651,10 @@ todoApp: {
Let's see how to leverage [ECR](https://github.com/dagger/dagger/tree/main/stdlib/aws/ecr) Let's see how to leverage [ECR](https://github.com/dagger/dagger/tree/main/stdlib/aws/ecr)
and [EKS](https://github.com/dagger/dagger/tree/main/stdlib/aws/eks) packages. and [EKS](https://github.com/dagger/dagger/tree/main/stdlib/aws/eks) packages.
The two files have to be edited in order to do so. The two files have to be edited to do so.
`kube/config.cue` configuration has following changes: `kube/config.cue` configuration has following change:
<!-- TODO Should I remove this ? -->
- removal of generic `kubeconfig` value as abstraction is not optimal for present use case
- definition of a new `ecrCreds` value that contains ecr credentials for remote image push to ECR - definition of a new `ecrCreds` value that contains ecr credentials for remote image push to ECR
```cue title="todoapp/kube/config.cue" ```cue title="todoapp/kube/config.cue"
@ -693,11 +687,11 @@ ecrCreds: ecr.#Credentials & {
`kube/todoapp.cue`, on the other hand, faces these changes: `kube/todoapp.cue`, on the other hand, faces these changes:
- `suffix`, a random string for unique tag name - `suffix`, a random string for a unique tag name
- `repository`, source code of the app to build. Needs to have a Dockerfile - `repository`, source code of the app to build. It needs to have a Dockerfile
- `registry`, URI of the registry to push to - `registry`, URI of the registry to push to
- `image`, build of the image - `image`, build of the image
- `remoteImage`, push image to registry - `remoteImage`, push an image to the registry
- `kustomization`, apply kustomization to image - `kustomization`, apply kustomization to image
```cue title="todoapp/kube/todoapp.cue" ```cue title="todoapp/kube/todoapp.cue"
@ -785,7 +779,7 @@ values={[
Next, we'll provide the two new inputs, `repository` and `registry`. Next, we'll provide the two new inputs, `repository` and `registry`.
```shell ```shell
# A name after `localhost:5000/` is required to avoid error on push to local registry # A name after `localhost:5000/` is required to avoid error on push to the local registry
dagger input text registry "localhost:5000/kind" -e kube dagger input text registry "localhost:5000/kind" -e kube
# Add todoapp (current folder) to repository value # Add todoapp (current folder) to repository value
@ -862,7 +856,7 @@ of the language features.
### Convert Kubernetes objects to CUE ### Convert Kubernetes objects to CUE
First, let's create re-usable definitions for the `deployment` and the `service` in order to remove a lot of boilerplate First, let's create re-usable definitions for the `deployment` and the `service` to remove a lot of boilerplate
and repetition. and repetition.
Let's define a re-usable `#Deployment` definition in `kube/deployment.cue`. Let's define a re-usable `#Deployment` definition in `kube/deployment.cue`.
@ -873,7 +867,7 @@ package main
// Deployment template containing all the common boilerplate shared by // Deployment template containing all the common boilerplate shared by
// deployments of this application. // deployments of this application.
#Deployment: { #Deployment: {
// Name of the deployment. This will be used to automatically label resources // Name of the deployment. This will be used to label resources automatically
// and generate selectors. // and generate selectors.
name: string name: string
@ -921,7 +915,7 @@ package main
// Service template containing all the common boilerplate shared by // Service template containing all the common boilerplate shared by
// services of this application. // services of this application.
#Service: { #Service: {
// Name of the service. This will be used to automatically label resources // Name of the service. This will be used to label resources automatically
// and generate selector. // and generate selector.
name: string name: string
@ -956,10 +950,10 @@ package main
### Generate Kubernetes manifest ### Generate Kubernetes manifest
Now that you got generic definition for your kubernetes objects. You can use them to get back your yaml definition Now that you have generic definitions for your Kubernetes objects. You can use them to get back your YAML definition
without having boilerplate or repetition. without having boilerplate nor repetition.
Create a new definition named `#AppManifest` that will take care of generating the yaml in `kube/manifest.cue`. Create a new definition named `#AppManifest` that will generate the YAML in `kube/manifest.cue`.
```cue title="todoapp/cue.mod/kube/manifest.cue" ```cue title="todoapp/cue.mod/kube/manifest.cue"
package main package main
@ -999,11 +993,10 @@ You can now remove the `manifest` input in `kube/todoapp.cue` and instead use th
`kube/todoapp.cue` configuration has following changes: `kube/todoapp.cue` configuration has following changes:
- removal of unused import `encoding/yaml` and `kustomize` package. - removal of unused imported `encoding/yaml` and `kustomize` packages.
- removal of `manifest` input that is doesn't need anymore. - removal of `manifest` input that is doesn't need anymore.
- removal of `kustomization` to replace it with `#AppManifest` definition. - removal of `kustomization` to replace it with `#AppManifest` definition.
- Update `kubeSrc` to use `manifest` field instead of `source` because we don't send kubernetes manifest - Update `kubeSrc` to use `manifest` field instead of `source` because we don't send Kubernetes manifest of `dagger.#Artifact` type anymore.
of `dagger.#Artifact` type anymore.
<Tabs defaultValue="kind" <Tabs defaultValue="kind"
groupId="provider" groupId="provider"
@ -1174,7 +1167,7 @@ todoApp: {
### Remove unused input ### Remove unused input
Now that we manage our kubernetes manifest in CUE, we don't need `manifest` anymore. Now that we manage our Kubernetes manifest in CUE, we don't need `manifest` anymore.
```shell ```shell
# Remove `manifest` input # Remove `manifest` input
@ -1197,7 +1190,7 @@ dagger up -e kube
# todoApp.remoteImage.digest "sha256:cb8d91518b076a3fe15a33f7c171290dfbad50283ad976f3f5b93e9f33cefag7" Image digest # todoApp.remoteImage.digest "sha256:cb8d91518b076a3fe15a33f7c171290dfbad50283ad976f3f5b93e9f33cefag7" Image digest
``` ```
Let's verify if the deployment worked: Let's verify that the deployment worked:
```shell ```shell
kubectl get deployments kubectl get deployments