kubes 0.6.3 → 0.6.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/docs/_docs/helpers.md +1 -13
- data/docs/_docs/helpers/aws/secrets.md +14 -2
- data/docs/_docs/helpers/aws/ssm.md +2 -2
- data/docs/_docs/helpers/custom.md +1 -0
- data/docs/_docs/helpers/google.md +20 -2
- data/docs/_docs/helpers/google/gke.md +18 -11
- data/docs/_docs/helpers/google/secrets.md +29 -1
- data/docs/_docs/plugins.md +12 -0
- data/docs/_docs/plugins/aws.md +21 -0
- data/docs/_docs/plugins/google.md +22 -0
- data/docs/_docs/variables.md +1 -12
- data/docs/_docs/variables/advanced.md +2 -0
- data/docs/_docs/variables/basic.md +2 -0
- data/docs/_docs/vs/custom.md +3 -3
- data/docs/_includes/config/hooks/options.md +1 -0
- data/docs/_includes/helpers/generator.md +13 -0
- data/docs/_includes/layering/layers.md +9 -11
- data/docs/_includes/plugins/gke-config.md +6 -0
- data/docs/_includes/sidebar.html +6 -0
- data/docs/_includes/variables/generator.md +23 -0
- data/kubes.gemspec +2 -2
- data/lib/kubes/auth.rb +1 -1
- data/lib/kubes/command.rb +1 -1
- data/lib/kubes/version.rb +1 -1
- metadata +12 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18a7d3b8deec0ae4cd5d7e8ba2be00309e8fbfe1be70b063c452335c7278c96d
|
4
|
+
data.tar.gz: a0d70be2e034c42a7cc916f919f1de42cd50af7941dc7058875825d0d9cd95d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd2109ea8ab7141bd2c58b4c95a11a352851cf6ff9cf6512aded1236bb58e4344372ba444ce6a21870654113e80f208ee2d9908c6a14f775c6abfee9eaa33c1f
|
7
|
+
data.tar.gz: 3215ffdb98eda928dd6bb4975e1b7f309db8a41ca70b6869a77df76cb828589753a8d1d54ad8c3d76195dbc925ee7ebb15337b07ac111c91eed78fedaf6a5080
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,21 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
|
5
5
|
|
6
|
+
## [0.6.8] - 2020-11-14
|
7
|
+
- [#40](https://github.com/boltops-tools/kubes/pull/40) fix version check
|
8
|
+
|
9
|
+
## [0.6.7] - 2020-11-12
|
10
|
+
- dependencies version bump: kubes_google
|
11
|
+
|
12
|
+
## [0.6.6] - 2020-11-12
|
13
|
+
- dependencies version bump: kubes_aws and kubes_google
|
14
|
+
|
15
|
+
## [0.6.5] - 2020-11-12
|
16
|
+
- [#39](https://github.com/boltops-tools/kubes/pull/39) google secrets fetcher option
|
17
|
+
|
18
|
+
## [0.6.4] - 2020-11-11
|
19
|
+
- [#38](https://github.com/boltops-tools/kubes/pull/38) fix auto auth for docker login to registry, docs for secret base64, update dependencies
|
20
|
+
|
6
21
|
## [0.6.3] - 2020-11-11
|
7
22
|
- [#37](https://github.com/boltops-tools/kubes/pull/37) Dockerfile for ci and hook updates
|
8
23
|
|
data/docs/_docs/helpers.md
CHANGED
@@ -26,16 +26,4 @@ There are also provider-specific helpers:
|
|
26
26
|
* [AWS Helpers]({% link _docs/helpers/aws.md %})
|
27
27
|
* [Google Helpers]({% link _docs/helpers/google.md %})
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
To help you get started quickly, you can generate starter helper code.
|
32
|
-
|
33
|
-
$ kubes new helper custom
|
34
|
-
create .kubes/helpers/custom_helper.rb
|
35
|
-
|
36
|
-
.kubes/helpers/custom_helper.rb
|
37
|
-
|
38
|
-
```ruby
|
39
|
-
module CustomHelper
|
40
|
-
end
|
41
|
-
```
|
29
|
+
{% include helpers/generator.md %}
|
@@ -45,11 +45,23 @@ data:
|
|
45
45
|
USER: dGVzdDIK
|
46
46
|
```
|
47
47
|
|
48
|
-
|
48
|
+
By default, the values are automatically base64 encoded.
|
49
49
|
|
50
50
|
## Base64 Option
|
51
51
|
|
52
|
-
|
52
|
+
By default, the values are automatically base64 encoded. You can change the default behavior with a config option.
|
53
|
+
|
54
|
+
.kubes/config.rb
|
55
|
+
|
56
|
+
```ruby
|
57
|
+
KubesAws.configure do |config|
|
58
|
+
config.secrets.base64 = false
|
59
|
+
end
|
60
|
+
```
|
61
|
+
|
62
|
+
Note: The use of `KubesAws.configure` instead of `Kubes.configure` here.
|
63
|
+
|
64
|
+
You can also set the `base64` option to turn on and off the automated base64 encoding on a per secret basis.
|
53
65
|
|
54
66
|
```ruby
|
55
67
|
aws_secret("demo-#{Kubes.env}-USER", base64: true) # default is base64=true
|
@@ -44,11 +44,11 @@ data:
|
|
44
44
|
USER: dGVzdDIK
|
45
45
|
```
|
46
46
|
|
47
|
-
The values are
|
47
|
+
The values are base64 encoded based on the SSM parameter type. When the type is a `SecureString`, Kubes base64 encodes it. Other types are not base64 encoded. You can override this behavior with the base64 option, described next.
|
48
48
|
|
49
49
|
## Base64 Option
|
50
50
|
|
51
|
-
The value is automatically base64 encoded
|
51
|
+
The value is automatically base64 encoded based on whether or not the SSM parameter type is a `SecureString`. You can explicitly the `base64` option if needed though. Example:
|
52
52
|
|
53
53
|
```ruby
|
54
54
|
aws_ssm("/demo/#{Kubes.env}/USER", base64: true) # default is base64=true
|
@@ -4,7 +4,7 @@ title: Google Helpers
|
|
4
4
|
|
5
5
|
List of Google helpers:
|
6
6
|
|
7
|
-
{% assign docs = site.docs | where: "categories","helpers-
|
7
|
+
{% assign docs = site.docs | where: "categories","helpers-google" %}
|
8
8
|
{% for doc in docs -%}
|
9
9
|
* [{{ doc.nav_text }}]({{ doc.url }})
|
10
10
|
{% endfor %}
|
@@ -14,4 +14,22 @@ List of Google helpers:
|
|
14
14
|
* By default, `KubeGoogle.logger = Kubes.logger`. This means, you can set `logger.level = "debug"` in `.kubes/config.rb` to see more details.
|
15
15
|
* The `gcloud` cli is used to create IAM roles. So `gcloud` is required.
|
16
16
|
* Note: Would like to use the google sdk, but it wasn't obvious how to do so. PRs are welcomed.
|
17
|
-
* The Google helpers are provided by the [boltops-tools/kubes_google](https://github.com/boltops-tools/kubes_google) library.
|
17
|
+
* The Google helpers are provided by the [boltops-tools/kubes_google](https://github.com/boltops-tools/kubes_google) library.
|
18
|
+
|
19
|
+
## Authentication
|
20
|
+
|
21
|
+
Most of the Google helpers use the SDK to call the Google Cloud API. As such, it needs to be authenticated. You can do this by setting the `GOOGLE_APPLICATION_CREDENTIALS` environment variable point to the path with a service account credentials file. IE:
|
22
|
+
|
23
|
+
.bash_profile
|
24
|
+
|
25
|
+
export GOOGLE_APPLICATION_CREDENTIALS=~/.gcp/service-account.json
|
26
|
+
|
27
|
+
If you would like to use a user IAM credentials instead of a service account. You can also run use [application-default login](https://cloud.google.com/sdk/gcloud/reference/auth/application-default/login). Example:
|
28
|
+
|
29
|
+
gcloud auth application-default login
|
30
|
+
|
31
|
+
This generates an Application Default Credentials at `.config/gcloud/application_default_credentials.json`. Note, make sure that `GOOGLE_APPLICATION_CREDENTIALS` is not set or else the `application_default_credentials.json` will not be used. Also, the google sdk prints a warning to use a service account instead. You can suppress that warning with this:
|
32
|
+
|
33
|
+
.bash_profile
|
34
|
+
|
35
|
+
export GOOGLE_AUTH_SUPPRESS_CREDENTIALS_WARNINGS=1
|
@@ -10,7 +10,7 @@ GKE Private Clusters whitelist and only allow authorized IPs to communicate with
|
|
10
10
|
|
11
11
|
## Setup
|
12
12
|
|
13
|
-
To enable the GKE IP whitelisting feature, it's a
|
13
|
+
To enable the GKE IP whitelisting feature, it's a few simple configurations:
|
14
14
|
|
15
15
|
.kubes/config/env/dev.rb
|
16
16
|
|
@@ -19,24 +19,25 @@ KubesGoogle.configure do |config|
|
|
19
19
|
config.gke.cluster_name = "dev-cluster"
|
20
20
|
config.gke.google_region = ENV['GOOGLE_REGION']
|
21
21
|
config.gke.google_project = ENV['GOOGLE_PROJECT']
|
22
|
-
config.gke.
|
22
|
+
config.gke.enable_hooks = KubesGoogle.cloudbuild?
|
23
|
+
config.gke.enable_get_credentials = KubesGoogle.cloudbuild? # enable hook to call: gcloud container clusters get-credentials
|
23
24
|
end
|
24
25
|
```
|
25
26
|
|
26
27
|
This enables `kubes apply` before and after hooks to add and remove the current machine IP.
|
27
28
|
|
29
|
+
Notes:
|
30
|
+
|
31
|
+
* Notice the use of `KubesGoogle.configure` instead of `Kubes.configure` here.
|
32
|
+
* The `KubesGoogle.cloudbuild?` checks if kubes is running on a CloudBuild machine. So hooks don't run locally on your machine.
|
33
|
+
|
28
34
|
## Options
|
29
35
|
|
30
36
|
Here are the `config.gke` settings:
|
31
37
|
|
32
38
|
Name | Description | Default
|
33
39
|
---|---|---
|
34
|
-
|
35
|
-
enable_get_credentials | Whether or not to run the hook that calls `gcloud container clusters get-credentials`. This spares you from having to call it manually. | false
|
36
|
-
enable_hooks | This will be true when the cluster_name is set. So there's no need to set it. The option provides a quick way to override and disable running the hooks. | true
|
37
|
-
google_project | Google project. Can also be set with the env var `GOOGLE_PROJECT`. `GOOGLE_PROJECT` takes precedence. | nil
|
38
|
-
google_region | Google region cluster is in. Can also be set with the env var `GOOGLE_REGION`. `GOOGLE_REGION` takes precedence. | nil
|
39
|
-
whitelist_ip | Explicit IP to whitelist. By default the IP address of the current machine is automatically detected and used. | nil
|
40
|
+
{% include plugins/gke-config.md %}
|
40
41
|
|
41
42
|
## Build Docker Image
|
42
43
|
|
@@ -61,7 +62,7 @@ steps:
|
|
61
62
|
- 'GOOGLE_PROJECT=$PROJECT_ID' # .kubes/config.rb: config.repo
|
62
63
|
- 'KUBES_ENV=$_KUBES_ENV'
|
63
64
|
- 'KUBES_EXTRA=$_KUBES_EXTRA'
|
64
|
-
- '
|
65
|
+
- 'KUBES_REPO_AUTO_AUTH=0'
|
65
66
|
|
66
67
|
substitutions:
|
67
68
|
_KUBES_ENV: dev
|
@@ -70,7 +71,7 @@ options:
|
|
70
71
|
substitution_option: 'ALLOW_LOOSE'
|
71
72
|
```
|
72
73
|
|
73
|
-
Make sure to replace the substitutions with your own values. IE:
|
74
|
+
Make sure to replace the substitutions with your own values. IE: _KUBES_ENV, etc.
|
74
75
|
|
75
76
|
## Google CloudBuild IAM Permissions
|
76
77
|
|
@@ -84,6 +85,12 @@ Important: The "Kubernetes Engine Developer" that is available in the Cloud Buil
|
|
84
85
|
|
85
86
|
## Run CloudBuild
|
86
87
|
|
87
|
-
Run cloudbuild
|
88
|
+
Run cloudbuild to deploy the dev env:
|
88
89
|
|
89
90
|
gcloud builds submit --config cloudbuild.yaml
|
91
|
+
|
92
|
+
To deploy the prod env:
|
93
|
+
|
94
|
+
gcloud builds submit --config cloudbuild.yaml --substitutions _KUBES_ENV=prod
|
95
|
+
|
96
|
+
See [gcloud builds submit](https://cloud.google.com/sdk/gcloud/reference/builds/submit) reference docs for more options.
|
@@ -57,7 +57,19 @@ GOOGLE_PROJECT | Google project id. This is required.
|
|
57
57
|
|
58
58
|
## Base64 Option
|
59
59
|
|
60
|
-
|
60
|
+
By default, the values are automatically base64 encoded. You can change the default behavior with a config option.
|
61
|
+
|
62
|
+
.kubes/config.rb
|
63
|
+
|
64
|
+
```ruby
|
65
|
+
KubesGoogle.configure do |config|
|
66
|
+
config.secrets.base64 = false
|
67
|
+
end
|
68
|
+
```
|
69
|
+
|
70
|
+
Note: The use of `KubesGoogle.configure` instead of `Kubes.configure` here.
|
71
|
+
|
72
|
+
You can also set the `base64` option to turn on and off the automated base64 encoding on a per secret basis.
|
61
73
|
|
62
74
|
```ruby
|
63
75
|
google_secret("demo-#{Kubes.env}-USER", base64: true) # default is base64=true
|
@@ -65,3 +77,19 @@ google_secret("demo-#{Kubes.env}-PASS", base64: false)
|
|
65
77
|
```
|
66
78
|
|
67
79
|
{% include helpers/base64.md %}
|
80
|
+
|
81
|
+
## Fetcher Strategy
|
82
|
+
|
83
|
+
Some systems configured with a VPN seem to have issues with the Google secrets SDK. You may see an error:
|
84
|
+
|
85
|
+
Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
|
86
|
+
|
87
|
+
As a workaround to this error, you can use the `gcloud` instead of the default `sdk` fetcher strategy. To configure it:
|
88
|
+
|
89
|
+
.kubes/config.rb
|
90
|
+
|
91
|
+
```ruby
|
92
|
+
KubesGoogle.configure do |config|
|
93
|
+
config.secrets.fetcher = "gcloud"
|
94
|
+
end
|
95
|
+
```
|
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
title: Kubes Plugins
|
3
|
+
---
|
4
|
+
|
5
|
+
Kubes makes it easier to work with Kubernetes by automating the deployment workflow. Many of the conveniences it adds is done with plugins. For example, `aws_secret`, `aws_ssm`, `google_secret` are implemented with Cloud Provider specific Kubes plugins.
|
6
|
+
|
7
|
+
## Baseline Plugins
|
8
|
+
|
9
|
+
The baseline plugins that currently ship with Kubes are:
|
10
|
+
|
11
|
+
* [kubes_aws]({% link _docs/plugins/aws.md %})
|
12
|
+
* [kubes_google]({% link _docs/plugins/google.md %})
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
title: AWS Kubes Plugin
|
3
|
+
---
|
4
|
+
|
5
|
+
The AWS Kubes Plugin adds support helpers like `aws_secret`. You can configure it's behavior. Example:
|
6
|
+
|
7
|
+
.kubes/config.rb
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
KubesAws.configure do |config|
|
11
|
+
config.secrets.base64 = false
|
12
|
+
end
|
13
|
+
```
|
14
|
+
|
15
|
+
## Options Reference Table
|
16
|
+
|
17
|
+
Here's a table with the options:
|
18
|
+
|
19
|
+
Name | Description | Default
|
20
|
+
---|---|---
|
21
|
+
secrets.base64 | Whether or not to automatically base64 encoded values returned by the `aws_secret` helper. | true
|
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
title: Google Kubes Plugin
|
3
|
+
---
|
4
|
+
|
5
|
+
The Google Kubes Plugin adds support helpers like `google_secret`. You can configure it's behavior. Example:
|
6
|
+
|
7
|
+
.kubes/config.rb
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
KubesGoogle.configure do |config|
|
11
|
+
config.secrets.base64 = true
|
12
|
+
end
|
13
|
+
```
|
14
|
+
|
15
|
+
## Options Reference Table
|
16
|
+
|
17
|
+
Here's a table with the options:
|
18
|
+
|
19
|
+
Name | Description | Default
|
20
|
+
---|---|---
|
21
|
+
secrets.base64 | Whether or not to automatically base64 encoded values returned by the `google_secret` helper. | true
|
22
|
+
{% include plugins/gke-config.md %}
|
data/docs/_docs/variables.md
CHANGED
@@ -9,15 +9,4 @@ You can set variables to be made available to the templates. Generally, it is re
|
|
9
9
|
* [{{ doc.title }}]({{ doc.url }})
|
10
10
|
{% endfor %}
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
To help you get started quickly, you can generate starter variable code.
|
15
|
-
|
16
|
-
$ kubes new variable
|
17
|
-
create .kubes/variables/dev.rb
|
18
|
-
|
19
|
-
.kubes/variables/dev.rb
|
20
|
-
|
21
|
-
```ruby
|
22
|
-
@example = "dev-value"
|
23
|
-
```
|
12
|
+
{% include variables/generator.md %}
|
data/docs/_docs/vs/custom.md
CHANGED
@@ -4,7 +4,7 @@ nav_text: Custom Solutions
|
|
4
4
|
categories: vs
|
5
5
|
---
|
6
6
|
|
7
|
-
Kubernetes
|
7
|
+
Kubernetes provides a great platform to run and manage Docker containers. The `kubectl` command is usually how you interact with a Kubernetes cluster. It does its job well and is quite a powerful tool.
|
8
8
|
|
9
9
|
{% include vs/article.md %}
|
10
10
|
|
@@ -51,7 +51,7 @@ We've duplicated `service.yaml` and `deployment.yaml`, though. Instead, it'll be
|
|
51
51
|
|
52
52
|
## PreBuilt Docker Image
|
53
53
|
|
54
|
-
Additionally, the Docker image is expected to be prebuilt. Because you must first build the Docker image, folks will usually write bash script that
|
54
|
+
Additionally, the Docker image is expected to be prebuilt. Because you must first build the Docker image, folks will usually write bash script that performs these additional steps and then glue things together.
|
55
55
|
|
56
56
|
## Kubernetes Resources Galore
|
57
57
|
|
@@ -82,7 +82,7 @@ The same code is used to create different environments. Kubes achieves this with
|
|
82
82
|
|
83
83
|
## Hooks
|
84
84
|
|
85
|
-
Kubes support a variety of hooks run scripts at any part of the `kubectl` commands. This allows you customize and add app-specific logic needed. Example:
|
85
|
+
Kubes support a variety of hooks run scripts at any part of the `kubectl` commands. This allows you to customize and add app-specific logic needed. Example:
|
86
86
|
|
87
87
|
.kubes/config/hooks/kubectl.rb
|
88
88
|
|
@@ -18,3 +18,4 @@ exit_on_fail | Whether or not to continue process if the script returns an faile
|
|
18
18
|
## Ruby Hooks
|
19
19
|
|
20
20
|
Instead of using a script for the hook `execute` option, you can also use a Ruby object. This provides some more control over the current process. See: [Ruby Hooks]({% link _docs/config/hooks/ruby.md %})
|
21
|
+
|
@@ -48,15 +48,13 @@ ROLE/KIND/ENV.{{ include.ext }} | web/deployment/dev.{{ include.ext }}
|
|
48
48
|
2. Then you can define the core of your resource definition in the `ROLE/KIND.{{ include.ext }}`. Example: `web/deployment.{{ include.ext }}`
|
49
49
|
3. Finally, you can provide environment-specific overrides in the `ROLE/KIND/ENV.{{ include.ext }}`. Example: `web/deployment/dev.{{ include.ext }}`.
|
50
50
|
|
51
|
-
Here's
|
51
|
+
Here's a concrete example of layering with the deployment resource kind:
|
52
52
|
|
53
|
-
.kubes/resources/
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
├── deployment.{{ include.ext }}
|
62
|
-
└── service.{{ include.ext }}
|
53
|
+
.kubes/resources/base/all.{{ include.ext }}
|
54
|
+
.kubes/resources/base/deployment.{{ include.ext }}
|
55
|
+
.kubes/resources/web/deployment.{{ include.ext }}
|
56
|
+
.kubes/resources/web/deployment/dev.{{ include.ext }}
|
57
|
+
|
58
|
+
All of these files get layered and merged together to produce a resulting deployment.{{ include.ext }}
|
59
|
+
|
60
|
+
.kubes/output/web/deployment.{{ include.ext }}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
gke.cluster_name | GKE cluster name. This is required when using the [GKE whitelisting feature]({% link _docs/helpers/google/gke.md %}). | nil
|
2
|
+
gke.enable_get_credentials | Whether or not to run the hook that calls `gcloud container clusters get-credentials`. This spares you from having to call it manually. | false
|
3
|
+
gke.enable_hooks | This will be true when the cluster_name is set. So there's no need to set it. The option provides a quick way to override and disable running the hooks. | true
|
4
|
+
gke.google_project | Google project. Can also be set with the env var `GOOGLE_PROJECT`. `GOOGLE_PROJECT` takes precedence. | nil
|
5
|
+
gke.google_region | Google region cluster is in. Can also be set with the env var `GOOGLE_REGION`. `GOOGLE_REGION` takes precedence. | nil
|
6
|
+
gke.whitelist_ip | Explicit IP to whitelist. By default the IP address of the current machine is automatically detected and used. | nil
|
data/docs/_includes/sidebar.html
CHANGED
@@ -173,6 +173,12 @@
|
|
173
173
|
<li><a href="{% link _docs/extra-env/dsl.md %}">DSL</a></li>
|
174
174
|
</ul>
|
175
175
|
</li>
|
176
|
+
<li><a href="{% link _docs/plugins.md %}">Plugins</a>
|
177
|
+
<ul>
|
178
|
+
<li><a href="{% link _docs/plugins/aws.md %}">AWS</a></li>
|
179
|
+
<li><a href="{% link _docs/plugins/google.md %}">Google</a></li>
|
180
|
+
</ul>
|
181
|
+
</li>
|
176
182
|
<li>Misc
|
177
183
|
<ul>
|
178
184
|
<li><a href="{% link _docs/misc/kustomize.md %}">Kustomize Support</a></li>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
## Generator
|
2
|
+
|
3
|
+
To help you get started quickly, you can generate starter variable code.
|
4
|
+
|
5
|
+
$ kubes new variable
|
6
|
+
create .kubes/variables/dev.rb
|
7
|
+
|
8
|
+
.kubes/variables/dev.rb
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
@example = "dev-value"
|
12
|
+
```
|
13
|
+
|
14
|
+
To create the prod variables, set `KUBES_ENV=prod`.
|
15
|
+
|
16
|
+
$ KUBES_ENV=prod kubes new variable
|
17
|
+
create .kubes/variables/prod.rb
|
18
|
+
|
19
|
+
.kubes/variables/prod.rb
|
20
|
+
|
21
|
+
```ruby
|
22
|
+
@example = "prod-value"
|
23
|
+
```
|
data/kubes.gemspec
CHANGED
@@ -29,8 +29,8 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.add_dependency "zeitwerk"
|
30
30
|
|
31
31
|
# core helper libs
|
32
|
-
spec.add_dependency "kubes_aws", "~> 0.
|
33
|
-
spec.add_dependency "kubes_google", "~> 0.3.
|
32
|
+
spec.add_dependency "kubes_aws", "~> 0.3.1"
|
33
|
+
spec.add_dependency "kubes_google", "~> 0.3.5"
|
34
34
|
|
35
35
|
spec.add_development_dependency "bundler"
|
36
36
|
spec.add_development_dependency "byebug"
|
data/lib/kubes/auth.rb
CHANGED
data/lib/kubes/command.rb
CHANGED
data/lib/kubes/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kubes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-11-
|
11
|
+
date: 2020-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -142,28 +142,28 @@ dependencies:
|
|
142
142
|
requirements:
|
143
143
|
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: 0.
|
145
|
+
version: 0.3.1
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: 0.
|
152
|
+
version: 0.3.1
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: kubes_google
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
157
|
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 0.3.
|
159
|
+
version: 0.3.5
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 0.3.
|
166
|
+
version: 0.3.5
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: bundler
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -362,6 +362,9 @@ files:
|
|
362
362
|
- docs/_docs/patterns/migrations.md
|
363
363
|
- docs/_docs/patterns/multiple-envs.md
|
364
364
|
- docs/_docs/patterns/secrets.md
|
365
|
+
- docs/_docs/plugins.md
|
366
|
+
- docs/_docs/plugins/aws.md
|
367
|
+
- docs/_docs/plugins/google.md
|
365
368
|
- docs/_docs/resources.md
|
366
369
|
- docs/_docs/resources/base.md
|
367
370
|
- docs/_docs/resources/role.md
|
@@ -385,6 +388,7 @@ files:
|
|
385
388
|
- docs/_includes/google_analytics.html
|
386
389
|
- docs/_includes/header.html
|
387
390
|
- docs/_includes/helpers/base64.md
|
391
|
+
- docs/_includes/helpers/generator.md
|
388
392
|
- docs/_includes/intro/features.md
|
389
393
|
- docs/_includes/intro/install.md
|
390
394
|
- docs/_includes/js.html
|
@@ -396,8 +400,10 @@ files:
|
|
396
400
|
- docs/_includes/learn/repos.md
|
397
401
|
- docs/_includes/learn/review.md
|
398
402
|
- docs/_includes/learn/start.md
|
403
|
+
- docs/_includes/plugins/gke-config.md
|
399
404
|
- docs/_includes/reference.md
|
400
405
|
- docs/_includes/sidebar.html
|
406
|
+
- docs/_includes/variables/generator.md
|
401
407
|
- docs/_includes/vs/article.md
|
402
408
|
- docs/_includes/vs/kubes/layering.md
|
403
409
|
- docs/_includes/vs/kubes/structure.md
|