Skip to content

Commit b501096

Browse files
committed
packages: add kubernetes-1.21
* No longer need '0001-always-set-relevant-variables-for-cross-compiling.patch' * Third party package 'github.com/miekg/dns' version bump included some changes in its license file so the hash changed. The license is still 'BSD-3-Clause'.
1 parent 45125c2 commit b501096

14 files changed

+445
-0
lines changed

packages/kubernetes-1.21/Cargo.toml

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
[package]
2+
# "." is not allowed in crate names, but we want a friendlier name for the
3+
# directory and spec file, so we override it below.
4+
name = "kubernetes-1_21"
5+
version = "0.1.0"
6+
edition = "2018"
7+
publish = false
8+
build = "build.rs"
9+
10+
[package.metadata.build-package]
11+
package-name = "kubernetes-1.21"
12+
13+
[lib]
14+
path = "pkg.rs"
15+
16+
[[package.metadata.build-package.external-files]]
17+
url = "https://github.com/kubernetes/kubernetes/archive/v1.21.2/kubernetes-1.21.2.tar.gz"
18+
sha512 = "20f81c975d6a5a4e6cbbfcaa2f34e8dd4f96018a8a60004a9fedf13eb9d8d43a14f0b746fb48a1240e378d2a1b8de440104c72269d68239040fa6a690c5115ff"
19+
20+
# RPM BuildRequires
21+
[build-dependencies]
22+
glibc = { path = "../glibc" }
23+
24+
# RPM Requires
25+
[dependencies]
26+
# `conntrack-tools`, `containerd` and `findutils` are only needed at runtime,
27+
# and are pulled in by `release`.
28+
# conntrack-tools = { path = "../conntrack-tools" }
29+
# containerd = { path = "../containerd" }
30+
# findutils = { path = "../findutils" }

packages/kubernetes-1.21/build.rs

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
use std::process::{exit, Command};
2+
3+
fn main() -> Result<(), std::io::Error> {
4+
let ret = Command::new("buildsys").arg("build-package").status()?;
5+
if !ret.success() {
6+
exit(1);
7+
}
8+
Ok(())
9+
}

packages/kubernetes-1.21/clarify.toml

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
[clarify."github.com/JeffAshton/win_pdh"]
2+
expression = "BSD-3-Clause"
3+
license-files = [
4+
{ path = "LICENSE", hash = 0xb221dcc9 },
5+
]
6+
7+
[clarify."github.com/daviddengcn/go-colortext"]
8+
expression = "BSD-3-Clause AND MIT"
9+
license-files = [
10+
{ path = "LICENSE", hash = 0x9769fae1 },
11+
]
12+
13+
[clarify."github.com/ghodss/yaml"]
14+
expression = "MIT AND BSD-3-Clause"
15+
license-files = [
16+
{ path = "LICENSE", hash = 0xcdf3ae00 },
17+
]
18+
19+
[clarify."github.com/heketi/heketi"]
20+
# kubernetes only uses code that is under LGPLv3+/Apache 2.0, not the code that is GPLv2+/LGPLv3+
21+
expression = "LGPL-3.0-or-later OR Apache-2.0"
22+
license-files = [
23+
{ path = "LICENSE", hash = 0x3c4b96d1 },
24+
{ path = "LICENSE-APACHE2", hash = 0x438c8616 },
25+
{ path = "COPYING-LGPLV3", hash = 0xf0bccb3a },
26+
]
27+
skip-files = [ "COPYING-GPLV2" ]
28+
29+
[clarify."github.com/go-bindata/go-bindata"]
30+
expression = "CC0-1.0"
31+
license-files = [
32+
{ path = "LICENSE", hash = 0x393fafd6 },
33+
]
34+
35+
[clarify."github.com/miekg/dns"]
36+
expression = "BSD-3-Clause"
37+
license-files = [
38+
{ path = "COPYRIGHT", hash = 0xe41dd36c },
39+
{ path = "LICENSE", hash = 0xfc8f12ff },
40+
]
41+
42+
[clarify."sigs.k8s.io/yaml"]
43+
expression = "MIT AND BSD-3-Clause"
44+
license-files = [
45+
{ path = "LICENSE", hash = 0xcdf3ae00 },
46+
]
47+
48+
[clarify."honnef.co/go/tools"]
49+
expression = "MIT AND BSD-3-Clause AND Apache-2.0"
50+
license-files = [
51+
{ path = "LICENSE", hash = 0xad378ed2 },
52+
{ path = "LICENSE-THIRD-PARTY", hash = 0x546425eb },
53+
{ path = "lint/LICENSE", hash = 0xc6b58232 },
54+
{ path = "ssa/LICENSE", hash = 0xe656fb62 },
55+
]
56+
57+
[clarify."github.com/storageos/go-api"]
58+
expression = "MIT AND BSD-2-Clause"
59+
license-files = [
60+
{ path = "LICENCE", hash = 0x67a6861e },
61+
]
62+
skip-files = ["licence.go", "types/licence.go"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
apiVersion: v1
3+
kind: Config
4+
clusters:
5+
- cluster:
6+
{{~#if settings.kubernetes.api-server}}
7+
certificate-authority: "/etc/kubernetes/pki/ca.crt"
8+
server: "{{settings.kubernetes.api-server}}"
9+
{{~/if}}
10+
name: kubernetes
11+
contexts:
12+
- context:
13+
cluster: kubernetes
14+
user: kubelet
15+
name: kubelet
16+
current-context: kubelet
17+
users:
18+
- name: kubelet
19+
{{~#if settings.kubernetes.bootstrap-token}}
20+
user:
21+
token: "{{settings.kubernetes.bootstrap-token}}"
22+
{{~/if}}
+101
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
---
2+
kind: KubeletConfiguration
3+
apiVersion: kubelet.config.k8s.io/v1beta1
4+
{{~#if settings.kubernetes.standalone-mode}}
5+
address: 127.0.0.1
6+
authentication:
7+
anonymous:
8+
enabled: true
9+
webhook:
10+
enabled: false
11+
authorization:
12+
mode: AlwaysAllow
13+
{{~else}}
14+
address: 0.0.0.0
15+
authentication:
16+
anonymous:
17+
enabled: false
18+
webhook:
19+
cacheTTL: 2m0s
20+
enabled: true
21+
x509:
22+
clientCAFile: "/etc/kubernetes/pki/ca.crt"
23+
authorization:
24+
mode: Webhook
25+
webhook:
26+
cacheAuthorizedTTL: 5m0s
27+
cacheUnauthorizedTTL: 30s
28+
{{~/if}}
29+
clusterDomain: {{settings.kubernetes.cluster-domain}}
30+
{{~#if settings.kubernetes.cluster-dns-ip}}
31+
clusterDNS:
32+
- {{settings.kubernetes.cluster-dns-ip}}
33+
{{~/if}}
34+
{{~#if settings.kubernetes.eviction-hard}}
35+
evictionHard:
36+
{{~#each settings.kubernetes.eviction-hard}}
37+
{{@key}}: "{{this}}"
38+
{{~/each}}
39+
{{~/if}}
40+
{{~#if settings.kubernetes.allowed-unsafe-sysctls}}
41+
allowedUnsafeSysctls: {{settings.kubernetes.allowed-unsafe-sysctls}}
42+
{{~/if}}
43+
{{~#if settings.kubernetes.registry-qps includeZero=true}}
44+
registryPullQPS: {{settings.kubernetes.registry-qps}}
45+
{{~/if}}
46+
{{~#if settings.kubernetes.registry-burst includeZero=true}}
47+
registryBurst: {{settings.kubernetes.registry-burst}}
48+
{{~/if}}
49+
{{~#if settings.kubernetes.event-qps includeZero=true}}
50+
eventRecordQPS: {{settings.kubernetes.event-qps}}
51+
{{~/if}}
52+
{{~#if settings.kubernetes.event-burst includeZero=true}}
53+
eventBurst: {{settings.kubernetes.event-burst}}
54+
{{~/if}}
55+
{{~#if settings.kubernetes.kube-api-qps includeZero=true}}
56+
kubeAPIQPS: {{settings.kubernetes.kube-api-qps}}
57+
{{~/if}}
58+
{{~#if settings.kubernetes.kube-api-burst includeZero=true}}
59+
kubeAPIBurst: {{settings.kubernetes.kube-api-burst}}
60+
{{~/if}}
61+
kubeReserved:
62+
cpu: "{{kube_reserve_cpu settings.kubernetes.kube-reserved.cpu}}"
63+
{{~#if settings.kubernetes.kube-reserved.memory}}
64+
memory: "{{settings.kubernetes.kube-reserved.memory}}"
65+
{{~else}}
66+
{{~#if settings.kubernetes.max-pods}}
67+
memory: "{{kube_reserve_memory settings.kubernetes.max-pods settings.kubernetes.kube-reserved.memory}}"
68+
{{~/if}}
69+
{{~/if}}
70+
ephemeral-storage: "{{default "1Gi" settings.kubernetes.kube-reserved.ephemeral-storage}}"
71+
{{~#if settings.kubernetes.system-reserved}}
72+
systemReserved:
73+
{{~#each settings.kubernetes.system-reserved}}
74+
{{@key}}: "{{this}}"
75+
{{~/each}}
76+
{{~/if}}
77+
cpuManagerPolicy: "static"
78+
resolvConf: "/etc/resolv.conf"
79+
hairpinMode: hairpin-veth
80+
readOnlyPort: 0
81+
cgroupDriver: systemd
82+
cgroupRoot: "/"
83+
runtimeRequestTimeout: 15m
84+
featureGates:
85+
RotateKubeletServerCertificate: true
86+
CSIMigration: false
87+
protectKernelDefaults: true
88+
serializeImagePulls: false
89+
serverTLSBootstrap: {{settings.kubernetes.server-tls-bootstrap}}
90+
configMapAndSecretChangeDetectionStrategy: Cache
91+
tlsCipherSuites:
92+
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
93+
volumePluginDir: "/var/lib/kubelet/plugins/volume/exec"
94+
maxPods: {{default 110 settings.kubernetes.max-pods}}
95+
staticPodPath: "/etc/kubernetes/static-pods/"
96+
{{~#if settings.kubernetes.container-log-max-size includeZero=true}}
97+
containerLogMaxSize: {{settings.kubernetes.container-log-max-size}}
98+
{{~/if}}
99+
{{~#if settings.kubernetes.container-log-max-files includeZero=true}}
100+
containerLogMaxFiles: {{settings.kubernetes.container-log-max-files}}
101+
{{~/if}}

packages/kubernetes-1.21/kubelet-env

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
NODE_IP={{settings.kubernetes.node-ip}}
2+
NODE_LABELS={{join_map "=" "," "no-fail-if-missing" settings.kubernetes.node-labels}}
3+
NODE_TAINTS={{join_map "=" "," "no-fail-if-missing" settings.kubernetes.node-taints}}
4+
POD_INFRA_CONTAINER_IMAGE={{settings.kubernetes.pod-infra-container-image}}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
[Service]
2+
ExecStart=
3+
ExecStart=/usr/bin/kubelet \
4+
{{~#unless settings.kubernetes.standalone-mode}}
5+
--cloud-provider {{default "external" settings.kubernetes.cloud-provider}} \
6+
--kubeconfig /etc/kubernetes/kubelet/kubeconfig \
7+
{{~#if (eq settings.kubernetes.authentication-mode "tls")}}
8+
--bootstrap-kubeconfig /etc/kubernetes/kubelet/bootstrap-kubeconfig \
9+
{{~/if}}
10+
{{~else}}
11+
--cloud-provider "" \
12+
{{~/unless}}
13+
--config /etc/kubernetes/kubelet/config \
14+
--container-runtime=remote \
15+
--container-runtime-endpoint=unix:///run/dockershim.sock \
16+
--containerd=/run/dockershim.sock \
17+
--network-plugin cni \
18+
--root-dir /var/lib/kubelet \
19+
--cert-dir /var/lib/kubelet/pki \
20+
--node-ip ${NODE_IP} \
21+
--node-labels "${NODE_LABELS}" \
22+
--register-with-taints "${NODE_TAINTS}" \
23+
--pod-infra-container-image ${POD_INFRA_CONTAINER_IMAGE}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
apiVersion: v1
3+
kind: Config
4+
clusters:
5+
- cluster:
6+
{{~#if settings.kubernetes.api-server}}
7+
certificate-authority: "/etc/kubernetes/pki/ca.crt"
8+
server: "{{settings.kubernetes.api-server}}"
9+
{{~/if}}
10+
name: kubernetes
11+
contexts:
12+
- context:
13+
cluster: kubernetes
14+
user: kubelet
15+
name: kubelet
16+
current-context: kubelet
17+
users:
18+
- name: kubelet
19+
{{~#if (eq settings.kubernetes.authentication-mode "aws")}}
20+
{{~#if settings.kubernetes.cluster-name}}
21+
user:
22+
exec:
23+
apiVersion: client.authentication.k8s.io/v1alpha1
24+
command: "/usr/bin/aws-iam-authenticator"
25+
args:
26+
- token
27+
- "-i"
28+
- "{{settings.kubernetes.cluster-name}}"
29+
{{~/if}}
30+
{{~/if}}
31+
{{~#if (eq settings.kubernetes.authentication-mode "tls")}}
32+
user:
33+
client-certificate: "/var/lib/kubelet/pki/kubelet-client-current.pem"
34+
client-key: "/var/lib/kubelet/pki/kubelet-client-current.pem"
35+
{{~/if}}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Overcommit handling mode - 1: Always overcommit
2+
vm.overcommit_memory = 1
+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
[Unit]
2+
Description=Kubelet
3+
Documentation=https://github.com/kubernetes/kubernetes
4+
After=containerd.service configured.target
5+
Wants=configured.target
6+
BindsTo=containerd.service
7+
8+
[Service]
9+
Type=notify
10+
EnvironmentFile=/etc/network/proxy.env
11+
EnvironmentFile=/etc/kubernetes/kubelet/env
12+
ExecStartPre=/sbin/iptables -P FORWARD ACCEPT
13+
# Pull the pause container image before starting `kubelet` so `containerd/cri` wouldn't have to
14+
ExecStartPre=/usr/bin/host-ctr \
15+
--containerd-socket=/run/dockershim.sock \
16+
--namespace=k8s.io \
17+
pull-image \
18+
--source=${POD_INFRA_CONTAINER_IMAGE}
19+
# Must be overridden by a drop-in file or `kubelet` won't start
20+
ExecStart=/usr/bin/false
21+
22+
Restart=on-failure
23+
RestartForceExitStatus=SIGPIPE
24+
RestartSec=5
25+
Delegate=yes
26+
KillMode=process
27+
CPUAccounting=true
28+
MemoryAccounting=true
29+
30+
[Install]
31+
WantedBy=multi-user.target

0 commit comments

Comments
 (0)