kubes 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.dockerignore +4 -0
- data/CHANGELOG.md +18 -1
- data/Dockerfile +14 -0
- data/docs/_docs/auto-context.md +4 -4
- data/docs/_docs/ci/cloudbuild.md +69 -0
- data/docs/_docs/config/builder.md +46 -0
- data/docs/_docs/config/env.md +3 -3
- data/docs/_docs/dsl/resources/deployment.md +0 -5
- data/docs/_docs/dsl/resources/network_policy.md +1 -1
- data/docs/_docs/dsl/resources/service.md +21 -5
- data/docs/_docs/helpers.md +2 -2
- data/docs/_docs/learn/dsl/deploy.md +2 -0
- data/docs/_docs/learn/dsl/new-project.md +1 -2
- data/docs/_docs/learn/yaml/deploy.md +2 -0
- data/docs/_docs/learn/yaml/new-project.md +1 -1
- data/docs/_docs/learn/yaml/review-project.md +0 -5
- data/docs/_docs/yaml.md +0 -5
- data/docs/_includes/intro/install.md +5 -1
- data/docs/_includes/learn/cluster.md +21 -4
- data/docs/_includes/learn/repo +0 -0
- data/docs/_includes/learn/repos.md +10 -0
- data/docs/_includes/learn/review.md +2 -2
- data/docs/_includes/sidebar.html +6 -0
- data/docs/_reference/kubes-apply.md +2 -2
- data/docs/_reference/kubes-delete.md +1 -1
- data/docs/_reference/kubes-deploy.md +1 -1
- data/docs/_reference/kubes-describe.md +24 -0
- data/docs/_reference/kubes-exec.md +42 -0
- data/docs/_reference/kubes-get.md +27 -0
- data/docs/_reference/kubes-init.md +1 -1
- data/docs/_reference/kubes-logs.md +26 -0
- data/docs/bin/web +1 -1
- data/docs/reference.md +4 -0
- data/lib/kubes/cli.rb +21 -0
- data/lib/kubes/cli/apply.rb +1 -1
- data/lib/kubes/cli/base.rb +4 -0
- data/lib/kubes/cli/build.rb +2 -2
- data/lib/kubes/cli/delete.rb +7 -2
- data/lib/kubes/cli/describe.rb +1 -1
- data/lib/kubes/cli/docker.rb +2 -2
- data/lib/kubes/cli/exec.rb +33 -0
- data/lib/kubes/cli/get.rb +3 -1
- data/lib/kubes/cli/help/exec.md +17 -0
- data/lib/kubes/cli/logs.rb +13 -0
- data/lib/kubes/compiler/dsl/syntax/deployment.rb +77 -10
- data/lib/kubes/compiler/dsl/syntax/service.rb +11 -0
- data/lib/kubes/compiler/shared/helpers.rb +2 -1
- data/lib/kubes/config.rb +2 -0
- data/lib/kubes/docker.rb +19 -0
- data/lib/kubes/docker/strategy/build/base.rb +24 -0
- data/lib/kubes/docker/strategy/build/docker.rb +11 -0
- data/lib/kubes/docker/strategy/build/gcloud.rb +10 -0
- data/lib/kubes/docker/strategy/hooks.rb +9 -0
- data/lib/kubes/docker/{base.rb → strategy/image_name.rb} +19 -32
- data/lib/kubes/docker/strategy/push/base.rb +9 -0
- data/lib/kubes/docker/{push.rb → strategy/push/docker.rb} +2 -5
- data/lib/kubes/docker/strategy/push/gcloud.rb +9 -0
- data/lib/kubes/docker/strategy/utils.rb +9 -0
- data/lib/kubes/hooks/builder.rb +2 -1
- data/lib/kubes/kubectl.rb +15 -3
- data/lib/kubes/kubectl/batch.rb +8 -1
- data/lib/kubes/kubectl/fetch/base.rb +24 -0
- data/lib/kubes/kubectl/fetch/deployment.rb +34 -0
- data/lib/kubes/kubectl/fetch/pods.rb +21 -0
- data/lib/kubes/util/sh.rb +1 -0
- data/lib/kubes/version.rb +1 -1
- data/lib/templates/dsl/.kubes/resources/web/deployment.rb +3 -1
- data/lib/templates/dsl/.kubes/resources/web/service.rb +1 -1
- data/lib/templates/yaml/.kubes/resources/web/deployment.yaml.tt +0 -5
- metadata +28 -5
- data/lib/kubes/docker/build.rb +0 -22
data/docs/_includes/sidebar.html
CHANGED
@@ -56,6 +56,7 @@
|
|
56
56
|
<li><a href="{% link _docs/config/docker.md %}">Docker</a></li>
|
57
57
|
<li><a href="{% link _docs/config/env.md %}">Env</a></li>
|
58
58
|
<li><a href="{% link _docs/config/kubectl.md %}">Kubectl</a></li>
|
59
|
+
<li><a href="{% link _docs/config/builder.md %}">Builder</a></li>
|
59
60
|
</ul>
|
60
61
|
</li>
|
61
62
|
<li><a href="{% link _docs/yaml.md %}">YAML</a></li>
|
@@ -93,6 +94,11 @@
|
|
93
94
|
</li>
|
94
95
|
<li><a href="{% link _docs/kustomize.md %}">Kustomize Support</a></li>
|
95
96
|
<li><a href="{% link _docs/auto-context.md %}">Auto Context</a></li>
|
97
|
+
<li>CI/CD
|
98
|
+
<ul>
|
99
|
+
<li><a href="{% link _docs/ci/cloudbuild.md %}">CloudBuild</a></li>
|
100
|
+
</ul>
|
101
|
+
</li>
|
96
102
|
<li>More
|
97
103
|
<ul class="more">
|
98
104
|
<li><a href="{% link support.md %}">Support</a></li>
|
@@ -5,11 +5,11 @@ reference: true
|
|
5
5
|
|
6
6
|
## Usage
|
7
7
|
|
8
|
-
kubes apply [
|
8
|
+
kubes apply [ROLE] [RESOURCE]
|
9
9
|
|
10
10
|
## Description
|
11
11
|
|
12
|
-
Apply the Kubernetes YAML files without
|
12
|
+
Apply the Kubernetes YAML files without building docker image
|
13
13
|
|
14
14
|
|
15
15
|
## Options
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
title: kubes describe
|
3
|
+
reference: true
|
4
|
+
---
|
5
|
+
|
6
|
+
## Usage
|
7
|
+
|
8
|
+
kubes describe [ROLE] [RESOURCE]
|
9
|
+
|
10
|
+
## Description
|
11
|
+
|
12
|
+
Describe Kubernetes resource using the compiled YAML files
|
13
|
+
|
14
|
+
|
15
|
+
## Options
|
16
|
+
|
17
|
+
```
|
18
|
+
[--image=IMAGE] # override image
|
19
|
+
[--compile], [--no-compile] # whether or not to compile the .kube/resources
|
20
|
+
# Default: true
|
21
|
+
[--verbose], [--no-verbose]
|
22
|
+
[--noop], [--no-noop]
|
23
|
+
```
|
24
|
+
|
@@ -0,0 +1,42 @@
|
|
1
|
+
---
|
2
|
+
title: kubes exec
|
3
|
+
reference: true
|
4
|
+
---
|
5
|
+
|
6
|
+
## Usage
|
7
|
+
|
8
|
+
kubes exec
|
9
|
+
|
10
|
+
## Description
|
11
|
+
|
12
|
+
Exec into the latest container from the deployment
|
13
|
+
|
14
|
+
The exec command finds the latest pod from the deployment and runs `kubectl exec -ti POD bash` to get you into it. It spares you from having to manually find and type it.
|
15
|
+
|
16
|
+
## Examples
|
17
|
+
|
18
|
+
kubes exec
|
19
|
+
kubes exec sh
|
20
|
+
kubes exec ls -l
|
21
|
+
|
22
|
+
## Multiple Deployments
|
23
|
+
|
24
|
+
If you have have multiple deployments in your ``.kubes/resources` then the command will use the first deployment by default. You can specify the specfic deployment with the `--name` option. Examples:
|
25
|
+
|
26
|
+
kubes exec --name demo-web
|
27
|
+
kubes exec --name demo-clock
|
28
|
+
kubes exec --name demo-worker
|
29
|
+
kubes exec --name demo-web sh
|
30
|
+
kubes exec --name demo-web ls -l
|
31
|
+
|
32
|
+
|
33
|
+
## Options
|
34
|
+
|
35
|
+
```
|
36
|
+
[--compile], [--no-compile] # whether or not to compile the .kube/resources
|
37
|
+
# Default: true
|
38
|
+
n, [--name=NAME] # deployment name to use. IE: demo-web
|
39
|
+
[--verbose], [--no-verbose]
|
40
|
+
[--noop], [--no-noop]
|
41
|
+
```
|
42
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
---
|
2
|
+
title: kubes get
|
3
|
+
reference: true
|
4
|
+
---
|
5
|
+
|
6
|
+
## Usage
|
7
|
+
|
8
|
+
kubes get [ROLE] [RESOURCE]
|
9
|
+
|
10
|
+
## Description
|
11
|
+
|
12
|
+
Get Kubernetes resource using the compiled YAML files
|
13
|
+
|
14
|
+
|
15
|
+
## Options
|
16
|
+
|
17
|
+
```
|
18
|
+
[--image=IMAGE] # override image
|
19
|
+
[--compile], [--no-compile] # whether or not to compile the .kube/resources
|
20
|
+
# Default: true
|
21
|
+
o, [--output=OUTPUT] # Output format: json|yaml|wide|name
|
22
|
+
[--show-pods], [--no-show-pods] # Also show pods from deployments
|
23
|
+
# Default: true
|
24
|
+
[--verbose], [--no-verbose]
|
25
|
+
[--noop], [--no-noop]
|
26
|
+
```
|
27
|
+
|
@@ -15,7 +15,7 @@ Init project
|
|
15
15
|
## Options
|
16
16
|
|
17
17
|
```
|
18
|
-
a, --app=APP # Docker repo name. Example:
|
18
|
+
a, --app=APP # Docker repo name. Example: web. Generates .kubes/APP/resources folder
|
19
19
|
[--force] # Bypass overwrite are you sure prompt for existing files
|
20
20
|
t, [--type=TYPE] # Type: dsl or yaml
|
21
21
|
# Default: yaml
|
@@ -0,0 +1,26 @@
|
|
1
|
+
---
|
2
|
+
title: kubes logs
|
3
|
+
reference: true
|
4
|
+
---
|
5
|
+
|
6
|
+
## Usage
|
7
|
+
|
8
|
+
kubes logs
|
9
|
+
|
10
|
+
## Description
|
11
|
+
|
12
|
+
logs from all deployment pods
|
13
|
+
|
14
|
+
|
15
|
+
## Options
|
16
|
+
|
17
|
+
```
|
18
|
+
[--compile], [--no-compile] # whether or not to compile the .kube/resources
|
19
|
+
# Default: true
|
20
|
+
n, [--name=NAME] # deployment name to use. IE: demo-web
|
21
|
+
f, [--follow], [--no-follow] # Follow logs
|
22
|
+
# Default: true
|
23
|
+
[--verbose], [--no-verbose]
|
24
|
+
[--noop], [--no-noop]
|
25
|
+
```
|
26
|
+
|
data/docs/bin/web
CHANGED
data/docs/reference.md
CHANGED
@@ -10,6 +10,10 @@ title: CLI Reference
|
|
10
10
|
* [kubes completion_script]({% link _reference/kubes-completion_script.md %})
|
11
11
|
* [kubes delete]({% link _reference/kubes-delete.md %})
|
12
12
|
* [kubes deploy]({% link _reference/kubes-deploy.md %})
|
13
|
+
* [kubes describe]({% link _reference/kubes-describe.md %})
|
13
14
|
* [kubes docker]({% link _reference/kubes-docker.md %})
|
15
|
+
* [kubes exec]({% link _reference/kubes-exec.md %})
|
16
|
+
* [kubes get]({% link _reference/kubes-get.md %})
|
14
17
|
* [kubes init]({% link _reference/kubes-init.md %})
|
18
|
+
* [kubes logs]({% link _reference/kubes-logs.md %})
|
15
19
|
* [kubes version]({% link _reference/kubes-version.md %})
|
data/lib/kubes/cli.rb
CHANGED
@@ -9,6 +9,9 @@ module Kubes
|
|
9
9
|
compile_option = Proc.new {
|
10
10
|
option :compile, type: :boolean, default: true, desc: "whether or not to compile the .kube/resources"
|
11
11
|
}
|
12
|
+
name_option = Proc.new {
|
13
|
+
option :name, aliases: %w[n], desc: "deployment name to use. IE: demo-web"
|
14
|
+
}
|
12
15
|
|
13
16
|
desc "docker SUBCOMMAND", "Docker subcommands"
|
14
17
|
long_desc Help.text(:docker)
|
@@ -60,15 +63,33 @@ module Kubes
|
|
60
63
|
Describe.new(options.merge(role: role, resource: resource)).run
|
61
64
|
end
|
62
65
|
|
66
|
+
desc "exec", "Exec into the latest container from the deployment"
|
67
|
+
long_desc Help.text(:exec)
|
68
|
+
compile_option.call
|
69
|
+
name_option.call
|
70
|
+
def exec(*cmd)
|
71
|
+
Exec.new(options.merge(cmd: cmd)).run
|
72
|
+
end
|
73
|
+
|
63
74
|
desc "get [ROLE] [RESOURCE]", "Get Kubernetes resource using the compiled YAML files"
|
64
75
|
long_desc Help.text(:get)
|
65
76
|
image_option.call
|
66
77
|
compile_option.call
|
67
78
|
option :output, aliases: %w[o], desc: "Output format: json|yaml|wide|name"
|
79
|
+
option :show_pods, type: :boolean, default: true, desc: "Also show pods from deployments"
|
68
80
|
def get(role=nil, resource=nil)
|
69
81
|
Get.new(options.merge(role: role, resource: resource)).run
|
70
82
|
end
|
71
83
|
|
84
|
+
desc "logs", "logs from all deployment pods"
|
85
|
+
long_desc Help.text(:logs)
|
86
|
+
compile_option.call
|
87
|
+
name_option.call
|
88
|
+
option :follow, aliases: %w[f], type: :boolean, default: true, desc: "Follow logs"
|
89
|
+
def logs(*cmd)
|
90
|
+
Logs.new(options.merge(cmd: cmd)).run
|
91
|
+
end
|
92
|
+
|
72
93
|
long_desc Help.text(:init)
|
73
94
|
Init.options.each { |args| option(*args) }
|
74
95
|
register(Init, "init", "init", "Init project")
|
data/lib/kubes/cli/apply.rb
CHANGED
data/lib/kubes/cli/base.rb
CHANGED
data/lib/kubes/cli/build.rb
CHANGED
data/lib/kubes/cli/delete.rb
CHANGED
@@ -3,9 +3,14 @@ class Kubes::CLI
|
|
3
3
|
include Kubes::Util::Sure
|
4
4
|
|
5
5
|
def run
|
6
|
+
compile
|
7
|
+
perform(preview: true) unless @options[:yes]
|
6
8
|
sure?("This will delete resources. Are you sure?")
|
7
|
-
|
8
|
-
|
9
|
+
perform(preview: false)
|
10
|
+
end
|
11
|
+
|
12
|
+
def perform(preview: false)
|
13
|
+
Kubes::Kubectl::Decider.new(:delete, @options.merge(preview: preview)).run
|
9
14
|
end
|
10
15
|
end
|
11
16
|
end
|
data/lib/kubes/cli/describe.rb
CHANGED
data/lib/kubes/cli/docker.rb
CHANGED
@@ -4,7 +4,7 @@ class Kubes::CLI
|
|
4
4
|
long_desc Help.text("docker:build")
|
5
5
|
option :push, type: :boolean, default: false
|
6
6
|
def build
|
7
|
-
builder = Kubes::Docker
|
7
|
+
builder = Kubes::Docker.new(options, "build")
|
8
8
|
builder.run
|
9
9
|
push if options[:push]
|
10
10
|
end
|
@@ -13,7 +13,7 @@ class Kubes::CLI
|
|
13
13
|
long_desc Help.text("docker:push")
|
14
14
|
option :push, type: :boolean, default: false
|
15
15
|
def push
|
16
|
-
pusher = Kubes::Docker
|
16
|
+
pusher = Kubes::Docker.new(options, "push")
|
17
17
|
pusher.run
|
18
18
|
end
|
19
19
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
class Kubes::CLI
|
2
|
+
class Exec < Base
|
3
|
+
include Kubes::Util::Sh
|
4
|
+
|
5
|
+
def run
|
6
|
+
compile
|
7
|
+
metadata = Kubes::Kubectl::Fetch::Deployment.new(@options).metadata
|
8
|
+
|
9
|
+
labels = metadata['labels'].map { |k,v| "#{k}=#{v}" }.join(',')
|
10
|
+
ns = metadata['namespace']
|
11
|
+
|
12
|
+
resp = capture("kubectl get pod -l #{labels} -n #{ns} -o json")
|
13
|
+
data = JSON.load(resp)
|
14
|
+
pod = latest_pod(data['items'])
|
15
|
+
|
16
|
+
unless pod
|
17
|
+
logger.error "ERROR: Unable to find a running pod".color(:red)
|
18
|
+
exit 1
|
19
|
+
end
|
20
|
+
|
21
|
+
name = pod['metadata']['name']
|
22
|
+
cmd = @options[:cmd].empty? ? "bash" : @options[:cmd].join(' ')
|
23
|
+
sh("kubectl exec -n #{ns} -ti #{name} -- #{cmd}")
|
24
|
+
end
|
25
|
+
|
26
|
+
# get latest running pod
|
27
|
+
def latest_pod(items)
|
28
|
+
running = items.select { |i| i['status']['phase'] == 'Running' }
|
29
|
+
sorted = running.sort_by { |i| i['metadata']['creationTimestamp'] || 0 }
|
30
|
+
sorted.last
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/kubes/cli/get.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
class Kubes::CLI
|
2
2
|
class Get < Base
|
3
3
|
def run
|
4
|
-
|
4
|
+
compile
|
5
5
|
Kubes::Kubectl.run(:get, @options)
|
6
|
+
pods = Kubes::Kubectl::Fetch::Pods.new(@options)
|
7
|
+
pods.show if @options[:show_pods]
|
6
8
|
end
|
7
9
|
end
|
8
10
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
The exec command finds the latest pod from the deployment and runs `kubectl exec -ti POD bash` to get you into it. It spares you from having to manually find and type it.
|
2
|
+
|
3
|
+
## Examples
|
4
|
+
|
5
|
+
kubes exec
|
6
|
+
kubes exec sh
|
7
|
+
kubes exec ls -l
|
8
|
+
|
9
|
+
## Multiple Deployments
|
10
|
+
|
11
|
+
If you have have multiple deployments in your ``.kubes/resources` then the command will use the first deployment by default. You can specify the specfic deployment with the `--name` option. Examples:
|
12
|
+
|
13
|
+
kubes exec --name demo-web
|
14
|
+
kubes exec --name demo-clock
|
15
|
+
kubes exec --name demo-worker
|
16
|
+
kubes exec --name demo-web sh
|
17
|
+
kubes exec --name demo-web ls -l
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class Kubes::CLI
|
2
|
+
class Logs < Base
|
3
|
+
include Kubes::Util::Sh
|
4
|
+
|
5
|
+
def run
|
6
|
+
compile
|
7
|
+
metadata = Kubes::Kubectl::Fetch::Deployment.new(@options).metadata
|
8
|
+
name = metadata['name']
|
9
|
+
follow = " -f" if @options[:follow]
|
10
|
+
sh("kubectl logs deployment/#{name}#{follow}")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module Kubes::Compiler::Dsl::Syntax
|
2
2
|
class Deployment < Resource
|
3
3
|
fields :container, # <Object>
|
4
|
-
:containers, # <[]Object>
|
5
4
|
"matchLabels:hash", # <map[string]string>
|
6
5
|
:sidecar, # <Object>
|
7
6
|
:templateMetadata, # <Object>
|
@@ -21,6 +20,42 @@ module Kubes::Compiler::Dsl::Syntax
|
|
21
20
|
fields :maxSurge, # <string>
|
22
21
|
:maxUnavailable # <string>
|
23
22
|
|
23
|
+
# kubectl explain deploy.spec.template.spec
|
24
|
+
fields :activeDeadlineSeconds, # <integer>
|
25
|
+
:affinity, # <Object>
|
26
|
+
:automountServiceAccountToken, # <boolean>
|
27
|
+
:containers, # <[]Object> -required-
|
28
|
+
:dnsConfig, # <Object>
|
29
|
+
:dnsPolicy, # <string>
|
30
|
+
:enableServiceLinks, # <boolean>
|
31
|
+
:ephemeralContainers, # <[]Object>
|
32
|
+
:hostAliases, # <[]Object>
|
33
|
+
:hostIPC, # <boolean>
|
34
|
+
:hostNetwork, # <boolean>
|
35
|
+
:hostPID, # <boolean>
|
36
|
+
:hostname, # <string>
|
37
|
+
:imagePullSecrets, # <[]Object>
|
38
|
+
:initContainers, # <[]Object>
|
39
|
+
:nodeName, # <string>
|
40
|
+
:nodeSelector, # <map[string]string>
|
41
|
+
:overhead, # <map[string]string>
|
42
|
+
:preemptionPolicy, # <string>
|
43
|
+
:priority, # <integer>
|
44
|
+
:priorityClassName, # <string>
|
45
|
+
:readinessGates, # <[]Object>
|
46
|
+
:restartPolicy, # <string>
|
47
|
+
:runtimeClassName, # <string>
|
48
|
+
:schedulerName, # <string>
|
49
|
+
:securityContext, # <Object>
|
50
|
+
:serviceAccount, # <string>
|
51
|
+
:serviceAccountName, # <string>
|
52
|
+
:shareProcessNamespace, # <boolean>
|
53
|
+
:subdomain, # <string>
|
54
|
+
:terminationGracePeriodSeconds,# <integer>
|
55
|
+
:tolerations, # <[]Object>
|
56
|
+
:topologySpreadConstraints, # <[]Object>
|
57
|
+
:volumes # <[]Object>
|
58
|
+
|
24
59
|
# kubectl explain deployment.spec.template.spec.containers
|
25
60
|
fields :args, # <[]string>
|
26
61
|
:command, # <[]string>
|
@@ -82,6 +117,11 @@ module Kubes::Compiler::Dsl::Syntax
|
|
82
117
|
end
|
83
118
|
|
84
119
|
def default_strategy
|
120
|
+
return unless maxUnavailable || maxSurge
|
121
|
+
|
122
|
+
maxSurge = maxUnavailable if maxUnavailable && !maxSurge
|
123
|
+
maxUnavailable = maxSurge if !maxUnavailable && maxSurge
|
124
|
+
|
85
125
|
{
|
86
126
|
rollingUpdate: {
|
87
127
|
maxSurge: maxSurge,
|
@@ -91,14 +131,6 @@ module Kubes::Compiler::Dsl::Syntax
|
|
91
131
|
}
|
92
132
|
end
|
93
133
|
|
94
|
-
def default_maxSurge
|
95
|
-
25
|
96
|
-
end
|
97
|
-
|
98
|
-
def default_maxUnavailable
|
99
|
-
25
|
100
|
-
end
|
101
|
-
|
102
134
|
def default_template
|
103
135
|
{
|
104
136
|
metadata: templateMetadata,
|
@@ -107,7 +139,42 @@ module Kubes::Compiler::Dsl::Syntax
|
|
107
139
|
end
|
108
140
|
|
109
141
|
def default_templateSpec
|
110
|
-
{
|
142
|
+
{
|
143
|
+
activeDeadlineSeconds: activeDeadlineSeconds,
|
144
|
+
affinity: affinity,
|
145
|
+
automountServiceAccountToken: automountServiceAccountToken,
|
146
|
+
containers: containers,
|
147
|
+
dnsConfig: dnsConfig,
|
148
|
+
dnsPolicy: dnsPolicy,
|
149
|
+
enableServiceLinks: enableServiceLinks,
|
150
|
+
ephemeralContainers: ephemeralContainers,
|
151
|
+
hostAliases: hostAliases,
|
152
|
+
hostIPC: hostIPC,
|
153
|
+
hostNetwork: hostNetwork,
|
154
|
+
hostPID: hostPID,
|
155
|
+
hostname: hostname,
|
156
|
+
imagePullSecrets: imagePullSecrets,
|
157
|
+
initContainers: initContainers,
|
158
|
+
nodeName: nodeName,
|
159
|
+
nodeSelector: nodeSelector,
|
160
|
+
overhead: overhead,
|
161
|
+
preemptionPolicy: preemptionPolicy,
|
162
|
+
priority: priority,
|
163
|
+
priorityClassName: priorityClassName,
|
164
|
+
readinessGates: readinessGates,
|
165
|
+
restartPolicy: restartPolicy,
|
166
|
+
runtimeClassName: runtimeClassName,
|
167
|
+
schedulerName: schedulerName,
|
168
|
+
securityContext: securityContext,
|
169
|
+
serviceAccount: serviceAccount,
|
170
|
+
serviceAccountName: serviceAccountName,
|
171
|
+
shareProcessNamespace: shareProcessNamespace,
|
172
|
+
subdomain: subdomain,
|
173
|
+
terminationGracePeriodSeconds: terminationGracePeriodSeconds,
|
174
|
+
tolerations: tolerations,
|
175
|
+
topologySpreadConstraints: topologySpreadConstraints,
|
176
|
+
volumes: volumes,
|
177
|
+
}
|
111
178
|
end
|
112
179
|
|
113
180
|
def default_templateMetadata
|