porkadot 0.1.0 → 0.18.1

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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/lib/porkadot/assets.rb +24 -0
  3. data/lib/porkadot/assets/bootstrap.rb +2 -2
  4. data/lib/porkadot/assets/etcd.rb +4 -1
  5. data/lib/porkadot/assets/etcd/etcd-server.yaml.erb +2 -0
  6. data/lib/porkadot/assets/kubelet.rb +3 -0
  7. data/lib/porkadot/assets/kubelet/config.yaml.erb +2 -0
  8. data/lib/porkadot/assets/kubelet/install-deps.sh.erb +21 -3
  9. data/lib/porkadot/assets/kubelet/install-pkgs.sh.erb +9 -1
  10. data/lib/porkadot/assets/kubernetes.rb +9 -0
  11. data/lib/porkadot/assets/kubernetes/manifests/coredns.yaml.erb +202 -0
  12. data/lib/porkadot/assets/kubernetes/manifests/dns-horizontal-autoscaler.yaml.erb +110 -0
  13. data/lib/porkadot/assets/kubernetes/manifests/flannel.yaml.erb +10 -10
  14. data/lib/porkadot/assets/kubernetes/manifests/kube-apiserver.secrets.yaml.erb +37 -0
  15. data/lib/porkadot/assets/kubernetes/manifests/kube-apiserver.yaml.erb +0 -36
  16. data/lib/porkadot/assets/kubernetes/manifests/kube-controller-manager.secrets.yaml.erb +16 -0
  17. data/lib/porkadot/assets/kubernetes/manifests/kube-controller-manager.yaml.erb +0 -15
  18. data/lib/porkadot/assets/kubernetes/manifests/kube-scheduler.yaml.erb +1 -1
  19. data/lib/porkadot/assets/kubernetes/manifests/kubelet-rubber-stamp.yaml.erb +11 -2
  20. data/lib/porkadot/assets/kubernetes/manifests/metallb.secrets.yaml.erb +13 -0
  21. data/lib/porkadot/assets/kubernetes/manifests/metallb.yaml.erb +116 -26
  22. data/lib/porkadot/assets/kubernetes/manifests/pod-checkpointer.yaml.erb +1 -1
  23. data/lib/porkadot/assets/kubernetes/manifests/porkadot.yaml.erb +23 -1
  24. data/lib/porkadot/assets/kubernetes/manifests/storage-version-migrator.yaml.erb +327 -0
  25. data/lib/porkadot/config.rb +8 -0
  26. data/lib/porkadot/configs/bootstrap.rb +13 -1
  27. data/lib/porkadot/configs/certs.rb +1 -1
  28. data/lib/porkadot/configs/certs/k8s.rb +6 -0
  29. data/lib/porkadot/configs/etcd.rb +7 -3
  30. data/lib/porkadot/configs/kubelet.rb +9 -1
  31. data/lib/porkadot/configs/kubernetes.rb +9 -0
  32. data/lib/porkadot/default.yaml +3 -2
  33. data/lib/porkadot/install/bootstrap.rb +7 -0
  34. data/lib/porkadot/install/kubelet.rb +4 -0
  35. data/lib/porkadot/install/kubernetes.rb +4 -0
  36. data/lib/porkadot/version.rb +1 -1
  37. metadata +8 -2
@@ -79,16 +79,20 @@ module Porkadot; module Configs
79
79
  File.join(self.kubelet.addon_path, 'etcd')
80
80
  end
81
81
 
82
+ def target_secrets_path
83
+ File.join(self.kubelet.addon_secrets_path, 'etcd')
84
+ end
85
+
82
86
  def ca_crt_path
83
- File.join(self.target_path, 'ca.crt')
87
+ File.join(self.target_secrets_path, 'ca.crt')
84
88
  end
85
89
 
86
90
  def etcd_key_path
87
- File.join(self.target_path, 'etcd.key')
91
+ File.join(self.target_secrets_path, 'etcd.key')
88
92
  end
89
93
 
90
94
  def etcd_crt_path
91
- File.join(self.target_path, 'etcd.crt')
95
+ File.join(self.target_secrets_path, 'etcd.crt')
92
96
  end
93
97
 
94
98
  end
@@ -41,16 +41,24 @@ module Porkadot; module Configs
41
41
  File.join(self.config.assets_dir, 'kubelet', name)
42
42
  end
43
43
 
44
+ def target_secrets_path
45
+ File.join(self.config.secrets_root_dir, 'kubelet', name)
46
+ end
47
+
44
48
  def addon_path
45
49
  File.join(self.target_path, 'addons')
46
50
  end
47
51
 
52
+ def addon_secrets_path
53
+ File.join(self.target_secrets_path, 'addons')
54
+ end
55
+
48
56
  def ca_crt_path
49
57
  File.join(self.target_path, 'ca.crt')
50
58
  end
51
59
 
52
60
  def bootstrap_key_path
53
- File.join(self.target_path, 'bootstrap.key')
61
+ File.join(self.target_secrets_path, 'bootstrap.key')
54
62
  end
55
63
 
56
64
  def bootstrap_cert_path
@@ -27,10 +27,18 @@ module Porkadot; module Configs
27
27
  File.join(self.config.assets_dir, 'kubernetes')
28
28
  end
29
29
 
30
+ def target_secrets_path
31
+ File.join(self.config.secrets_root_dir, 'kubernetes')
32
+ end
33
+
30
34
  def manifests_path
31
35
  File.join(self.target_path, 'manifests')
32
36
  end
33
37
 
38
+ def manifests_secrets_path
39
+ File.join(self.target_secrets_path, 'manifests')
40
+ end
41
+
34
42
  def control_plane_endpoint_host_and_port
35
43
  endpoint = self.config.k8s.control_plane_endpoint
36
44
  raise "kubernetes.control_plane_endpoint should not be nil" unless endpoint
@@ -48,6 +56,7 @@ module Porkadot; module Configs
48
56
  "#{RECOMMENDED_LABEL_PREFIX}/version": self.config.k8s.kubernetes_version,
49
57
  "#{RECOMMENDED_LABEL_PREFIX}/part-of": 'kubernetes',
50
58
  "#{RECOMMENDED_LABEL_PREFIX}/managed-by": 'porkadot',
59
+ "k8s-app": self.component_name,
51
60
  })
52
61
  end
53
62
 
@@ -27,10 +27,11 @@ lb:
27
27
 
28
28
  etcd:
29
29
  image_repository: gcr.io/etcd-development/etcd
30
- image_tag: v3.3.10
30
+ image_tag: v3.4.3
31
+ extra_env: []
31
32
 
32
33
  kubernetes:
33
- kubernetes_version: v1.17.3
34
+ kubernetes_version: v1.18.10
34
35
  image_repository: k8s.gcr.io
35
36
 
36
37
  networking:
@@ -1,6 +1,7 @@
1
1
  module Porkadot; module Install
2
2
  class Bootstrap
3
3
  KUBE_TEMP = File.join(Porkadot::Install::KUBE_TEMP, 'bootstrap')
4
+ KUBE_SECRETS_TEMP = File.join(Porkadot::Install::KUBE_TEMP, '.bootstrap')
4
5
  include SSHKit::DSL
5
6
  attr_reader :global_config
6
7
  attr_reader :config
@@ -21,8 +22,11 @@ module Porkadot; module Install
21
22
  execute(:mkdir, '-p', Porkadot::Install::KUBE_TEMP)
22
23
  if test("[ -d #{KUBE_TEMP} ]")
23
24
  execute(:rm, '-rf', KUBE_TEMP)
25
+ execute(:rm, '-rf', KUBE_SECRETS_TEMP)
24
26
  end
25
27
  upload! config.target_path, KUBE_TEMP, recursive: true
28
+ upload! config.target_secrets_path, KUBE_SECRETS_TEMP, recursive: true
29
+ execute(:cp, '-r', KUBE_SECRETS_TEMP + '/*', KUBE_TEMP)
26
30
 
27
31
  as user: 'root' do
28
32
  execute(:bash, File.join(KUBE_TEMP, 'install.sh'))
@@ -44,8 +48,11 @@ module Porkadot; module Install
44
48
  execute(:mkdir, '-p', Porkadot::Install::KUBE_TEMP)
45
49
  if test("[ -d #{KUBE_TEMP} ]")
46
50
  execute(:rm, '-rf', KUBE_TEMP)
51
+ execute(:rm, '-rf', KUBE_SECRETS_TEMP)
47
52
  end
48
53
  upload! config.target_path, KUBE_TEMP, recursive: true
54
+ upload! config.target_secrets_path, KUBE_SECRETS_TEMP, recursive: true
55
+ execute(:cp, '-r', KUBE_SECRETS_TEMP + '/*', KUBE_TEMP)
49
56
 
50
57
  global_config.nodes.each do |k, node|
51
58
  if node.apiserver?
@@ -1,6 +1,7 @@
1
1
  module Porkadot; module Install
2
2
  class KubeletList
3
3
  KUBE_TEMP = File.join(Porkadot::Install::KUBE_TEMP, 'kubelet')
4
+ KUBE_SECRETS_TEMP = File.join(Porkadot::Install::KUBE_TEMP, '.kubelet')
4
5
  include SSHKit::DSL
5
6
  attr_reader :global_config
6
7
  attr_reader :logger
@@ -27,8 +28,11 @@ module Porkadot; module Install
27
28
  execute(:mkdir, '-p', Porkadot::Install::KUBE_TEMP)
28
29
  if test("[ -d #{KUBE_TEMP} ]")
29
30
  execute(:rm, '-rf', KUBE_TEMP)
31
+ execute(:rm, '-rf', KUBE_SECRETS_TEMP)
30
32
  end
31
33
  upload! host.config.target_path, KUBE_TEMP, recursive: true
34
+ upload! host.config.target_secrets_path, KUBE_SECRETS_TEMP, recursive: true
35
+ execute(:cp, '-r', KUBE_SECRETS_TEMP + '/*', KUBE_TEMP)
32
36
 
33
37
  as user: 'root' do
34
38
  unless test("[ -f /opt/bin/kubelet-#{host.global_config.k8s.kubernetes_version} ]") && !force
@@ -1,6 +1,7 @@
1
1
  module Porkadot; module Install
2
2
  class Kubernetes
3
3
  KUBE_TEMP = File.join(Porkadot::Install::KUBE_TEMP, 'kubernetes')
4
+ KUBE_SECRETS_TEMP = File.join(Porkadot::Install::KUBE_TEMP, '.kubernetes')
4
5
  include SSHKit::DSL
5
6
  attr_reader :global_config
6
7
  attr_reader :config
@@ -19,8 +20,11 @@ module Porkadot; module Install
19
20
  execute(:mkdir, '-p', Porkadot::Install::KUBE_TEMP)
20
21
  if test("[ -d #{KUBE_TEMP} ]")
21
22
  execute(:rm, '-rf', KUBE_TEMP)
23
+ execute(:rm, '-rf', KUBE_SECRETS_TEMP)
22
24
  end
23
25
  upload! config.target_path, KUBE_TEMP, recursive: true
26
+ upload! config.target_secrets_path, KUBE_SECRETS_TEMP, recursive: true
27
+ execute(:cp, '-r', KUBE_SECRETS_TEMP + '/*', KUBE_TEMP)
24
28
 
25
29
  as user: 'root' do
26
30
  execute(:bash, File.join(KUBE_TEMP, 'install.sh'))
@@ -1,3 +1,3 @@
1
1
  module Porkadot
2
- VERSION = "0.1.0"
2
+ VERSION = "0.18.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: porkadot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.18.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - OTSUKA, Yuanying
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-27 00:00:00.000000000 Z
11
+ date: 2020-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -140,16 +140,22 @@ files:
140
140
  - lib/porkadot/assets/kubelet/kubelet.service.erb
141
141
  - lib/porkadot/assets/kubernetes.rb
142
142
  - lib/porkadot/assets/kubernetes/install.sh.erb
143
+ - lib/porkadot/assets/kubernetes/manifests/coredns.yaml.erb
144
+ - lib/porkadot/assets/kubernetes/manifests/dns-horizontal-autoscaler.yaml.erb
143
145
  - lib/porkadot/assets/kubernetes/manifests/flannel.yaml.erb
146
+ - lib/porkadot/assets/kubernetes/manifests/kube-apiserver.secrets.yaml.erb
144
147
  - lib/porkadot/assets/kubernetes/manifests/kube-apiserver.yaml.erb
148
+ - lib/porkadot/assets/kubernetes/manifests/kube-controller-manager.secrets.yaml.erb
145
149
  - lib/porkadot/assets/kubernetes/manifests/kube-controller-manager.yaml.erb
146
150
  - lib/porkadot/assets/kubernetes/manifests/kube-proxy.yaml.erb
147
151
  - lib/porkadot/assets/kubernetes/manifests/kube-scheduler.yaml.erb
148
152
  - lib/porkadot/assets/kubernetes/manifests/kubelet-rubber-stamp.yaml.erb
149
153
  - lib/porkadot/assets/kubernetes/manifests/kubelet.yaml.erb
154
+ - lib/porkadot/assets/kubernetes/manifests/metallb.secrets.yaml.erb
150
155
  - lib/porkadot/assets/kubernetes/manifests/metallb.yaml.erb
151
156
  - lib/porkadot/assets/kubernetes/manifests/pod-checkpointer.yaml.erb
152
157
  - lib/porkadot/assets/kubernetes/manifests/porkadot.yaml.erb
158
+ - lib/porkadot/assets/kubernetes/manifests/storage-version-migrator.yaml.erb
153
159
  - lib/porkadot/cmd.rb
154
160
  - lib/porkadot/cmd/cli.rb
155
161
  - lib/porkadot/cmd/install.rb