Sha256: 4de928b89bc98c43a680cfdceca2bf0e237a5715062af26bcfb53980667156ca

Contents?: true

Size: 1.58 KB

Versions: 37

Compression:

Stored size: 1.58 KB

Contents

---
title: Review Project
---

Let's review the resources.

## Namespace

We'll create a namespace for the app resources:

.kubes/resources/shared/namespace.rb

```ruby
name "demo-#{Kubes.env}"
labels(app: "demo")
```

Notice, the `#{Kubes.env}`. Kubes adds the env to the namespace by default. You can change this with the `init --namespace` option.

## Deployment

The `web/deployment.rb` file is a little more interesting:

.kubes/resources/web/deployment.rb

```ruby
name "demo-web"
labels(role: "web")
namespace "default"

replicas 1
image docker_image # IE: user/demo:kubes-2020-06-13T19-55-16-43afc6e
```

The DSL form is more concise than the YAML form.  Also, notice the use of the `docker_image` helper. The `docker_image` is a kubes helper method that refers to the latest Docker image built. This spares you from updating the image manually.

## Base Folder

Also let's check the files in the base folder.

.kubes/resources/base/all.rb

```ruby
namespace "demo-#{Kubes.env}"
labels(app: "demo")
```

The base folder files are processed first as a part of [Kubes Layering]({% link _docs/layering.md %}). This allows you to define common fields and keep your code DRY.

Next, let's look at `service.rb`

.kubes/resources/web/service.rb

```ruby
name "demo-web"
labels(role: "web")

# Optional since default port is 80
# port 80
# targetPort 80
```

Service is also pretty simple.  Though the DSL may seem simple, it allows you to fully control the generated YAML. You can learn more about the DSL form at: [Deployment DSL Docs]({% link _docs/dsl/resources/deployment.md %})

Next, we'll deploy the app.

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
kubes-0.9.3 docs/_docs/learn/dsl/review-project.md
kubes-0.9.2 docs/_docs/learn/dsl/review-project.md
kubes-0.9.1 docs/_docs/learn/dsl/review-project.md
kubes-0.9.0 docs/_docs/learn/dsl/review-project.md
kubes-0.8.10 docs/_docs/learn/dsl/review-project.md
kubes-0.8.9 docs/_docs/learn/dsl/review-project.md
kubes-0.8.8 docs/_docs/learn/dsl/review-project.md
kubes-0.8.7 docs/_docs/learn/dsl/review-project.md
kubes-0.8.6 docs/_docs/learn/dsl/review-project.md
kubes-0.8.5 docs/_docs/learn/dsl/review-project.md
kubes-0.8.4 docs/_docs/learn/dsl/review-project.md
kubes-0.8.3 docs/_docs/learn/dsl/review-project.md
kubes-0.8.2 docs/_docs/learn/dsl/review-project.md
kubes-0.8.1 docs/_docs/learn/dsl/review-project.md
kubes-0.8.0 docs/_docs/learn/dsl/review-project.md
kubes-0.7.10 docs/_docs/learn/dsl/review-project.md
kubes-0.7.9 docs/_docs/learn/dsl/review-project.md
kubes-0.7.8 docs/_docs/learn/dsl/review-project.md
kubes-0.7.7 docs/_docs/learn/dsl/review-project.md
kubes-0.7.6 docs/_docs/learn/dsl/review-project.md