kubes 0.2.3 → 0.2.4

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: c4f9062190dfd5888032514dc726587aeb3f55c826d1af71670c22268942ca4f
4
- data.tar.gz: 9cfe8ce6833abc6c25323ceb960cbd8f63d9ba2bec698572328420607c12f8da
3
+ metadata.gz: 8d2e75bd0d156b889fcbd5a55389d335e4509e2c27bc667940bfd87155b3d9a0
4
+ data.tar.gz: f13237e1d8fa442d2b1a1ed07d7e209b3054cf3cdfee8f68dab20e3358352add
5
5
  SHA512:
6
- metadata.gz: db1890f00464a7ed111dae86f8bdd084c7a947d36f8d74ba84e4e3abe6175d04cd6b6b81fe2dad59601c5553ba77a86cc8fd6ebfab9553d2a74c707562e935de
7
- data.tar.gz: a02cd12c91fc241b281182a6773f2e58c8d12246881757374e3d07994541b9d0e83a0edd74e7d069e640b0f1a756bcba9d30088f62d75f84a3949dbf11974d5f
6
+ metadata.gz: '09576784450fc73c4846f7803c375542de5ed1f37bda86cd8cd8e61cf53dfa774192b8648d9b207180b9681a4e787ea0ade6211d02eedcd63a11051c694bb0a1'
7
+ data.tar.gz: 13219946a970eb6e476902b09971ae832b47a8cddf0ebc73ab68a079de2d7a67e50a539b8784731d67cf5037c677c811408db6e3cbb8b7eea528bec5588784a4
@@ -0,0 +1,4 @@
1
+ .git
2
+ pkg
3
+ docs
4
+ spec
@@ -3,6 +3,9 @@
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.2.4]
7
+ - #16 google cloudbuild support & docs: add Dockerfile for kubes as a docker entrypoint
8
+
6
9
  ## [0.2.3]
7
10
  - #15 use kubernetes default deployment strategy instead
8
11
 
@@ -0,0 +1,14 @@
1
+ FROM ruby:2.7-alpine
2
+
3
+ RUN apk add --no-cache docker
4
+ RUN apk add --no-cache build-base ruby ruby-dev
5
+
6
+ RUN wget https://storage.googleapis.com/kubernetes-release/release/v1.18.6/bin/linux/amd64/kubectl
7
+ RUN chmod u+x kubectl && mv kubectl /bin/kubectl
8
+
9
+ WORKDIR /app
10
+ ADD . /app
11
+ RUN bundle install
12
+ RUN rake install
13
+
14
+ ENTRYPOINT ["/usr/local/bundle/bin/kubes"]
@@ -0,0 +1,69 @@
1
+ ---
2
+ title: CloudBuild
3
+ ---
4
+
5
+ To build kubes as a Docker image entrypoint for [Google CloudBuild Custom Builder](https://cloud.google.com/cloud-build/docs/configuring-builds/use-community-and-custom-builders).
6
+
7
+ git clone http://github.com/boltops-tools/kubes
8
+ cd kubes
9
+ gcloud builds submit --tag gcr.io/$GOOGLE_PROJECT/kubes
10
+
11
+ Be sure to set GOOGLE_PROJECT to your own project id.
12
+
13
+ ## Example Codebuild YAML
14
+
15
+ cloudbuild.yaml:
16
+
17
+ ```yaml
18
+ steps:
19
+ # Simply calling kubectl version with the CLOUDSDK_* vars will auth to the GKE cluster. Unsure why.
20
+ - name: gcr.io/cloud-builders/kubectl
21
+ args: ['version']
22
+ env:
23
+ - 'CLOUDSDK_COMPUTE_REGION=$_GCP_REGION'
24
+ - 'CLOUDSDK_CONTAINER_CLUSTER=$_GKE_CLUSTER'
25
+ - name: 'gcr.io/$PROJECT_ID/kubes'
26
+ args: ["deploy"]
27
+ env:
28
+ - 'GOOGLE_PROJECT=$PROJECT_ID' # .kubes/config.rb: config.repo
29
+ - 'KUBES_ENV=$_KUBES_ENV'
30
+ - 'KUBES_EXTRA=$_KUBES_EXTRA'
31
+
32
+ substitutions:
33
+ _GCP_REGION: us-central1
34
+ _GKE_CLUSTER: dev-cluster
35
+ _KUBES_ENV: dev
36
+ _KUBES_EXTRA: ''
37
+ options:
38
+ substitution_option: 'ALLOW_LOOSE'
39
+ ```
40
+
41
+ ## Run CloudBuild
42
+
43
+ Run cloudbuild with:
44
+
45
+ gcloud builds submit --config cloudbuild.yaml
46
+
47
+ Example with output:
48
+
49
+ $ gcloud builds submit --config cloudbuild.yaml
50
+ Starting Step #1
51
+ Step #1: => docker build -t gcr.io/tung-275700/demo:kubes-2020-07-25T21-13-59 -f Dockerfile .
52
+ Step #1: Pushed gcr.io/tung-275700/demo:kubes-2020-07-25T21-13-59 docker image.
53
+ Step #1: Docker push took 2s.
54
+ Step #1: Compiled .kubes/resources files to .kubes/output
55
+ Step #1: Deploying kubes resources
56
+ Step #1: => kubectl apply -f .kubes/output/shared/namespace.yaml
57
+ Step #1: namespace/demo unchanged
58
+ Step #1: => kubectl apply -f .kubes/output/web/service.yaml
59
+ Step #1: service/web unchanged
60
+ Step #1: => kubectl apply -f .kubes/output/web/deployment.yaml
61
+ Step #1: deployment.apps/web configured
62
+ $
63
+
64
+ ## Create Extra Environments
65
+
66
+ If you are using the [with_extra helper]({% link _docs/extra-env.md %}), you can create additional environments of the same app like so:
67
+
68
+ gcloud builds submit --config cloudbuild.yaml --substitutions=_KUBES_EXTRA=2
69
+ gcloud builds submit --config cloudbuild.yaml --substitutions=_KUBES_EXTRA=3
@@ -93,6 +93,11 @@
93
93
  </li>
94
94
  <li><a href="{% link _docs/kustomize.md %}">Kustomize Support</a></li>
95
95
  <li><a href="{% link _docs/auto-context.md %}">Auto Context</a></li>
96
+ <li>CI/CD
97
+ <ul>
98
+ <li><a href="{% link _docs/ci/cloudbuild.md %}">CloudBuild</a></li>
99
+ </ul>
100
+ </li>
96
101
  <li>More
97
102
  <ul class="more">
98
103
  <li><a href="{% link support.md %}">Support</a></li>
@@ -20,7 +20,8 @@ module Kubes::Compiler::Shared
20
20
  end
21
21
 
22
22
  def extra
23
- ENV['KUBES_EXTRA']
23
+ extra = ENV['KUBES_EXTRA']
24
+ extra&.strip&.empty? ? nil : extra # if blank string then also return nil
24
25
  end
25
26
 
26
27
  def base64(v)
@@ -1,3 +1,3 @@
1
1
  module Kubes
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.4"
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.2.3
4
+ version: 0.2.4
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-07-25 00:00:00.000000000 Z
11
+ date: 2020-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -214,9 +214,11 @@ executables:
214
214
  extensions: []
215
215
  extra_rdoc_files: []
216
216
  files:
217
+ - ".dockerignore"
217
218
  - ".gitignore"
218
219
  - ".rspec"
219
220
  - CHANGELOG.md
221
+ - Dockerfile
220
222
  - Gemfile
221
223
  - Guardfile
222
224
  - LICENSE.txt
@@ -231,6 +233,7 @@ files:
231
233
  - docs/Rakefile
232
234
  - docs/_config.yml
233
235
  - docs/_docs/auto-context.md
236
+ - docs/_docs/ci/cloudbuild.md
234
237
  - docs/_docs/config.md
235
238
  - docs/_docs/config/docker.md
236
239
  - docs/_docs/config/env.md