kubes 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2481a18249c348869a45a16c59ab5718f7e0e0eabb0ad5d613720e162b0b6150
4
- data.tar.gz: baab953af69e63ee3697dc995abdac3a49e734d825d4b60dbe253618c0adea69
3
+ metadata.gz: 895d21705a31fe0ae39b31e41f8896067315d73ddd85f560b6432ff995b8046e
4
+ data.tar.gz: f15fa3e3aae9a06b92be81e99ff7c5f3db3b885979df789339ffb0b5b6beb45e
5
5
  SHA512:
6
- metadata.gz: db322cd2a2c7154f56f6980b2e76319d211ad84290d8d5fbf1ce11e502b65260a2f7b9202636cf59d9a03a25ed84d96024598e97117a465679383cd733679cce
7
- data.tar.gz: 67e8ad348fd9bebc223c2b83c038c74999f7e1afc573fe94a989b161f7f1fde6cd35410b9fb120497dd93f565009f0793d6d8bc8208721f0aefd98324d4d6ed4
6
+ metadata.gz: be41b9ed48ede64f2574952be9e3b31fa8817a475780c27bda5159ea7e6ff3e01d8705d6bd3cb6cf98fb10d29a50dde470416a9da70bc5583c3f23f1f0614786
7
+ data.tar.gz: a5c9c3800ad8860779ed1e6eaefb37ea530e279ba20b0358cb5290c3a8513ecb2753dd4db4b622d832d98a7f7169fc5de49a3d06130d76341094d4c9b959a412
data/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
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.9.2] - 2022-10-10
7
+ - [#68](https://github.com/boltops-tools/kubes/pull/68) kubes docker name
8
+ - KUBES_IMAGE_TAG env var override ability
9
+
6
10
  ## [0.9.1] - 2022-08-24
7
11
  - [#67](https://github.com/boltops-tools/kubes/pull/67) small improvement to show layering: show compiled output path
8
12
 
@@ -7,6 +7,7 @@ Name | Description | Default
7
7
  auto_prune | Prune and delete old hashed resources like Secret and ConfigMap. | true
8
8
  builder | What docker build command to use. Can use `docker` or `gcloud` to build the Docker image. | docker
9
9
  image | Set a prebuilt Docker image to use. This is optional. Usually, you want to build an image from the Dockerfile. Setting this will change the `docker_image` helper to use a predefined image. See: [Docker Image]({% link _docs/intro/docker-image.md %}) | nil
10
+ image_tag | Normally, kubes will generate an image tag name. You can explicitly set it instead. IE: `latest` | nil
10
11
  kubectl.context | What kubectl context to auto-switch to. | nil
11
12
  kubectl.context_keep | Whether or not to keep the context switched | false
12
13
  kubectl.exit_on_fail.apply | Whether or not continue if the `kubectl apply` fails. Note, can use `KUBES_EXIT_ON_FAIL=0` env var to set to false. | true
@@ -9,7 +9,25 @@ class Kubes::CLI
9
9
  push if options[:push]
10
10
  end
11
11
 
12
- desc "push IMAGE", "Push the docker image."
12
+ desc "name", "Print the full docker image with tag that was last generated."
13
+ long_desc Help.text("docker:name")
14
+ option :name, type: :boolean, default: false
15
+ def name
16
+ builder = Kubes::Docker.new(options, "build")
17
+ name = builder.read_image_name
18
+ if name
19
+ puts name
20
+ else
21
+ $stderr.puts(<<~EOL)
22
+ WARN: docker image has not yet been built. Please first run:
23
+
24
+ kubes docker build
25
+
26
+ EOL
27
+ end
28
+ end
29
+
30
+ desc "push", "Push the docker image."
13
31
  long_desc Help.text("docker:push")
14
32
  option :push, type: :boolean, default: false
15
33
  def push
@@ -19,6 +19,12 @@ module Kubes::Docker::Strategy
19
19
  IO.write(image_state_path, text)
20
20
  end
21
21
 
22
+ def read_image_name
23
+ return unless File.exist?(image_state_path)
24
+ data = IO.read(image_state_path).strip
25
+ JSON.load(data)['image']
26
+ end
27
+
22
28
  # output can get entirely wiped so dont use that folder
23
29
  def image_state_path
24
30
  Kubes.config.state.path
@@ -43,7 +49,8 @@ module Kubes::Docker::Strategy
43
49
  @@timestamp = Time.now.strftime('%Y-%m-%dT%H-%M-%S')
44
50
  def generate_name
45
51
  # IE: tongueroo/demo:kubes-
46
- ["#{repo}:kubes-#{@@timestamp}", git_sha].compact.join('-')
52
+ tag = ENV['KUBES_IMAGE_TAG'] || Kubes.config.image_tag || ["kubes-#{@@timestamp}", git_sha].compact.join('-')
53
+ "#{repo}:#{tag}"
47
54
  end
48
55
 
49
56
  def repo
data/lib/kubes/docker.rb CHANGED
@@ -15,5 +15,8 @@ module Kubes
15
15
  klass_name = "Kubes::Docker::Strategy::#{@name.camelize}::#{strategy}"
16
16
  klass_name.constantize
17
17
  end
18
+
19
+ # For `kubes docker image` and read_image_name method
20
+ include Kubes::Docker::Strategy::ImageName
18
21
  end
19
22
  end
data/lib/kubes/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kubes
2
- VERSION = "0.9.1"
2
+ VERSION = "0.9.2"
3
3
  end
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.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-24 00:00:00.000000000 Z
11
+ date: 2022-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -855,7 +855,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
855
855
  - !ruby/object:Gem::Version
856
856
  version: '0'
857
857
  requirements: []
858
- rubygems_version: 3.3.12
858
+ rubygems_version: 3.3.21
859
859
  signing_key:
860
860
  specification_version: 4
861
861
  summary: 'Kubernetes Deployment Tool: build docker image, compile Kubernetes YAML