porkadot 0.22.2 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/hack/metallb/crds/kustomization.yaml +5 -0
  3. data/hack/metallb/exclude-l2-config.yaml +8 -0
  4. data/hack/metallb/kustomization.yaml +10 -0
  5. data/hack/update-kubelet-cert-approver.sh +6 -0
  6. data/hack/update-metallb.sh +7 -0
  7. data/lib/porkadot/assets/bootstrap/manifests/kube-apiserver.bootstrap.yaml.erb +1 -1
  8. data/lib/porkadot/assets/etcd/etcd-server.yaml.erb +17 -9
  9. data/lib/porkadot/assets/etcd/etcd.env.erb +4 -0
  10. data/lib/porkadot/assets/etcd/install.sh.erb +1 -0
  11. data/lib/porkadot/assets/etcd.rb +1 -0
  12. data/lib/porkadot/assets/kubelet/config.yaml.erb +1 -39
  13. data/lib/porkadot/assets/kubelet/initiatorname.iscsi.erb +1 -0
  14. data/lib/porkadot/assets/kubelet/kubelet.service.erb +2 -6
  15. data/lib/porkadot/assets/kubelet/metadata.json.erb +5 -0
  16. data/lib/porkadot/assets/{kubelet → kubelet-default}/install-deps.sh.erb +3 -1
  17. data/lib/porkadot/assets/{kubelet → kubelet-default}/install-pkgs.sh.erb +1 -3
  18. data/lib/porkadot/assets/kubelet-default/install.sh.erb +22 -7
  19. data/lib/porkadot/assets/kubelet-default/setup-containerd.sh.erb +22 -0
  20. data/lib/porkadot/assets/kubelet-default/setup-node.sh.erb +16 -0
  21. data/lib/porkadot/assets/kubelet.rb +14 -12
  22. data/lib/porkadot/assets/kubernetes/install.sh.erb +3 -1
  23. data/lib/porkadot/assets/kubernetes/manifests/addons/coredns/coredns.yaml.erb +1 -1
  24. data/lib/porkadot/assets/kubernetes/manifests/addons/coredns/dns-horizontal-autoscaler.yaml.erb +1 -1
  25. data/lib/porkadot/assets/kubernetes/manifests/addons/flannel/flannel.yaml.erb +12 -51
  26. data/lib/porkadot/assets/kubernetes/manifests/addons/kubelet-serving-cert-approver/kustomization.yaml.erb +3 -0
  27. data/lib/porkadot/assets/kubernetes/manifests/addons/kubelet-serving-cert-approver/src.yaml.erb +210 -0
  28. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/000-metallb.yaml.erb +3 -1
  29. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/crds.yaml +1272 -0
  30. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/kustomization.yaml.erb +2 -0
  31. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.config.yaml.erb +1 -12
  32. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.yaml.erb +520 -228
  33. data/lib/porkadot/assets/kubernetes/manifests/kube-apiserver.yaml.erb +4 -1
  34. data/lib/porkadot/assets/kubernetes/manifests/kube-controller-manager.yaml.erb +3 -0
  35. data/lib/porkadot/assets/kubernetes/manifests/kube-scheduler.yaml.erb +3 -1
  36. data/lib/porkadot/assets/kubernetes.rb +22 -3
  37. data/lib/porkadot/cmd/cli.rb +11 -0
  38. data/lib/porkadot/cmd/etcd.rb +68 -0
  39. data/lib/porkadot/config.rb +1 -1
  40. data/lib/porkadot/configs/addons.rb +4 -0
  41. data/lib/porkadot/configs/certs.rb +3 -0
  42. data/lib/porkadot/configs/etcd.rb +44 -2
  43. data/lib/porkadot/configs/kubelet.rb +25 -7
  44. data/lib/porkadot/const.rb +3 -0
  45. data/lib/porkadot/default.yaml +17 -15
  46. data/lib/porkadot/install/bootstrap.rb +1 -1
  47. data/lib/porkadot/install/kubelet.rb +123 -27
  48. data/lib/porkadot/version.rb +1 -1
  49. data/lib/porkadot.rb +2 -0
  50. data/porkadot.gemspec +1 -0
  51. metadata +33 -8
  52. data/lib/porkadot/assets/kubelet/install.sh.erb +0 -35
  53. data/lib/porkadot/assets/kubelet/setup-containerd.sh.erb +0 -17
  54. data/lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.secrets.yaml.erb +0 -13
data/lib/porkadot.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'thor'
2
2
  require 'sshkit'
3
+ require 'json'
3
4
 
4
5
  require "porkadot/version"
5
6
 
@@ -37,4 +38,5 @@ require 'porkadot/cmd/render/certs'
37
38
  require 'porkadot/cmd/render'
38
39
  require 'porkadot/cmd/install/bootstrap'
39
40
  require 'porkadot/cmd/install'
41
+ require 'porkadot/cmd/etcd'
40
42
  require 'porkadot/cmd'
data/porkadot.gemspec CHANGED
@@ -36,6 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.add_dependency "thor", "~> 1.0"
37
37
  spec.add_dependency "hashie", "~> 4.1"
38
38
  spec.add_dependency "sshkit", "~> 1.20"
39
+ spec.add_dependency "net-ssh", "= 7.0.1"
39
40
  spec.add_development_dependency "bundler", "~> 2.0"
40
41
  spec.add_development_dependency "rake", "~> 13.0"
41
42
  spec.add_development_dependency "minitest", "~> 5.0"
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.22.2
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OTSUKA, Yuanying
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-09 00:00:00.000000000 Z
11
+ date: 2024-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.20'
55
+ - !ruby/object:Gem::Dependency
56
+ name: net-ssh
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 7.0.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 7.0.1
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: bundler
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -114,7 +128,12 @@ files:
114
128
  - config/unstable.yaml
115
129
  - exe/porkadot
116
130
  - hack/gen-storage-version-migrator.sh
131
+ - hack/metallb/crds/kustomization.yaml
132
+ - hack/metallb/exclude-l2-config.yaml
133
+ - hack/metallb/kustomization.yaml
117
134
  - hack/storage-version-migrator/kustomization.yaml
135
+ - hack/update-kubelet-cert-approver.sh
136
+ - hack/update-metallb.sh
118
137
  - lib/porkadot.rb
119
138
  - lib/porkadot/assets.rb
120
139
  - lib/porkadot/assets/bootstrap.rb
@@ -132,16 +151,19 @@ files:
132
151
  - lib/porkadot/assets/certs/k8s.rb
133
152
  - lib/porkadot/assets/etcd.rb
134
153
  - lib/porkadot/assets/etcd/etcd-server.yaml.erb
154
+ - lib/porkadot/assets/etcd/etcd.env.erb
135
155
  - lib/porkadot/assets/etcd/install.sh.erb
156
+ - lib/porkadot/assets/kubelet-default/install-deps.sh.erb
157
+ - lib/porkadot/assets/kubelet-default/install-pkgs.sh.erb
136
158
  - lib/porkadot/assets/kubelet-default/install.sh.erb
159
+ - lib/porkadot/assets/kubelet-default/setup-containerd.sh.erb
160
+ - lib/porkadot/assets/kubelet-default/setup-node.sh.erb
137
161
  - lib/porkadot/assets/kubelet.rb
138
162
  - lib/porkadot/assets/kubelet/bootstrap-kubelet.conf.erb
139
163
  - lib/porkadot/assets/kubelet/config.yaml.erb
140
- - lib/porkadot/assets/kubelet/install-deps.sh.erb
141
- - lib/porkadot/assets/kubelet/install-pkgs.sh.erb
142
- - lib/porkadot/assets/kubelet/install.sh.erb
164
+ - lib/porkadot/assets/kubelet/initiatorname.iscsi.erb
143
165
  - lib/porkadot/assets/kubelet/kubelet.service.erb
144
- - lib/porkadot/assets/kubelet/setup-containerd.sh.erb
166
+ - lib/porkadot/assets/kubelet/metadata.json.erb
145
167
  - lib/porkadot/assets/kubernetes.rb
146
168
  - lib/porkadot/assets/kubernetes/install.secrets.sh.erb
147
169
  - lib/porkadot/assets/kubernetes/install.sh.erb
@@ -154,11 +176,13 @@ files:
154
176
  - lib/porkadot/assets/kubernetes/manifests/addons/flannel/kustomization.yaml.erb
155
177
  - lib/porkadot/assets/kubernetes/manifests/addons/kubelet-rubber-stamp/kubelet-rubber-stamp.yaml.erb
156
178
  - lib/porkadot/assets/kubernetes/manifests/addons/kubelet-rubber-stamp/kustomization.yaml.erb
179
+ - lib/porkadot/assets/kubernetes/manifests/addons/kubelet-serving-cert-approver/kustomization.yaml.erb
180
+ - lib/porkadot/assets/kubernetes/manifests/addons/kubelet-serving-cert-approver/src.yaml.erb
157
181
  - lib/porkadot/assets/kubernetes/manifests/addons/kustomization.yaml.erb
158
182
  - lib/porkadot/assets/kubernetes/manifests/addons/metallb/000-metallb.yaml.erb
183
+ - lib/porkadot/assets/kubernetes/manifests/addons/metallb/crds.yaml
159
184
  - lib/porkadot/assets/kubernetes/manifests/addons/metallb/kustomization.yaml.erb
160
185
  - lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.config.yaml.erb
161
- - lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.secrets.yaml.erb
162
186
  - lib/porkadot/assets/kubernetes/manifests/addons/metallb/metallb.yaml.erb
163
187
  - lib/porkadot/assets/kubernetes/manifests/addons/storage-version-migrator/kustomization.yaml.erb
164
188
  - lib/porkadot/assets/kubernetes/manifests/addons/storage-version-migrator/storage-version-migrator.yaml.erb
@@ -173,6 +197,7 @@ files:
173
197
  - lib/porkadot/assets/kubernetes/manifests/porkadot.yaml.erb
174
198
  - lib/porkadot/cmd.rb
175
199
  - lib/porkadot/cmd/cli.rb
200
+ - lib/porkadot/cmd/etcd.rb
176
201
  - lib/porkadot/cmd/install.rb
177
202
  - lib/porkadot/cmd/install/bootstrap.rb
178
203
  - lib/porkadot/cmd/render.rb
@@ -218,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
243
  - !ruby/object:Gem::Version
219
244
  version: '0'
220
245
  requirements: []
221
- rubygems_version: 3.1.2
246
+ rubygems_version: 3.3.7
222
247
  signing_key:
223
248
  specification_version: 4
224
249
  summary: Porkadot is a CLI tool to deploy Kubernetes cluster.
@@ -1,35 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -eu
4
- export LC_ALL=C
5
- ROOT=$(dirname "${BASH_SOURCE}")
6
-
7
- export KUBERNETES_PATH="/etc/kubernetes"
8
- export KUBERNETES_PKI_PATH="${KUBERNETES_PATH}/pki"
9
- export KUBERNETES_MANIFESTS_PATH="${KUBERNETES_PATH}/manifests"
10
- export KUBELET_PATH="/var/lib/kubelet"
11
-
12
- mkdir -p ${KUBERNETES_PATH}
13
- mkdir -p ${KUBERNETES_PKI_PATH}
14
- mkdir -p ${KUBERNETES_MANIFESTS_PATH}
15
- mkdir -p ${KUBELET_PATH}
16
-
17
- cp ${ROOT}/bootstrap-kubelet.conf ${KUBERNETES_PATH}/
18
- cp ${ROOT}/bootstrap.* ${KUBERNETES_PKI_PATH}/
19
- cp ${ROOT}/ca.crt ${KUBERNETES_PKI_PATH}/
20
- cp ${ROOT}/config.yaml ${KUBELET_PATH}/
21
- cp ${ROOT}/kubelet.service /etc/systemd/system/
22
-
23
- # Install addons
24
- for addon in $(ls ${ROOT}/addons/); do
25
- install_sh="${ROOT}/addons/${addon}/install.sh"
26
- if [[ -f ${install_sh} ]]; then
27
- echo "Install: ${install_sh}"
28
- bash ${install_sh}
29
- fi
30
- done
31
-
32
- rm -f ${KUBERNETES_PATH}/kubelet.conf
33
- systemctl daemon-reload
34
- systemctl enable kubelet
35
- systemctl restart kubelet
@@ -1,17 +0,0 @@
1
- #!/bin/bash
2
- set -eu
3
- export LC_ALL=C
4
- ROOT=$(dirname "${BASH_SOURCE}")
5
-
6
- mkdir -p /etc/containerd
7
- containerd config default | tee /etc/containerd/config.toml
8
-
9
- grep SystemdCgroup /etc/containerd/config.toml && :
10
-
11
- if [[ $? == 0 ]]; then
12
- sed -i -e "s/SystemdCgroup.*$/SystemdCgroup = true/" /etc/containerd/config.toml
13
- else
14
- sed -i -e "/containerd.runtimes.runc.options/a SystemdCgroup = true" /etc/containerd/config.toml
15
- fi
16
-
17
- systemctl restart containerd
@@ -1,13 +0,0 @@
1
- <% require 'securerandom' -%>
2
- <% k8s = global_config.k8s -%>
3
- ---
4
- apiVersion: v1
5
- stringData:
6
- secretkey: <%= SecureRandom.base64(128) %>
7
- kind: Secret
8
- metadata:
9
- name: memberlist
10
- namespace: metallb-system
11
- labels:
12
- app: metallb
13
- type: Opaque