Skip to content

Commit e7e4de1

Browse files
authored
Merge pull request #17 from RyanSiu1995/sudo-optional
Allow to remove sudo command
2 parents ed0e300 + ddea6b8 commit e7e4de1

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

action.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ inputs:
1515
kubernetesVersion:
1616
description: 'Valid if kubebuilderOnly is false for 3.0.0+. The action will install kubectl and kube-apiserver with this version'
1717
required: false
18+
useSudo:
19+
description: 'Use sudo in the workflow'
20+
default: true
1821
runs:
1922
using: 'node16'
2023
main: 'index.js'

index.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ async function run() {
1818
const kubebuilderOnly = core.getInput('kubebuilderOnly') === 'true';
1919
let etcdVersion = core.getInput('etcdVersion');
2020
let kubernetesVersion = core.getInput('kubernetesVersion');
21+
let sudo = core.getInput('useSudo') ? 'sudo' : '';
2122
const majorVersion = version.split(".")[0];
2223

2324
if (kubebuilderOnly && etcdVersion) {
@@ -53,9 +54,9 @@ async function run() {
5354
if (majorVersion > 2) {
5455
core.debug(`MajorVersion is greater than 2`);
5556
const downloadUrl = `https://github.com/kubernetes-sigs/kubebuilder/releases/download/v${version}/kubebuilder_${osPlat}_${osArch}`;
56-
execSync(`sudo mkdir -p /usr/local/kubebuilder/bin`);
57-
execSync(`sudo curl -L ${downloadUrl} -o /usr/local/kubebuilder/bin/kubebuilder`);
58-
execSync(`sudo chmod +x /usr/local/kubebuilder/bin/kubebuilder`);
57+
execSync(`${sudo} mkdir -p /usr/local/kubebuilder/bin`);
58+
execSync(`${sudo} curl -L ${downloadUrl} -o /usr/local/kubebuilder/bin/kubebuilder`);
59+
execSync(`${sudo} chmod +x /usr/local/kubebuilder/bin/kubebuilder`);
5960
if (!kubebuilderOnly) {
6061
// Install kubectl and kube-apiserver
6162
["kubectl", "kube-apiserver"].map((binary) => {
@@ -67,26 +68,26 @@ async function run() {
6768
execSync(`curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/${osPlat}/${osArch}/${binary}"`);
6869
}
6970
execSync(`chmod +x ${binary}`);
70-
execSync(`sudo mv ${binary} /usr/local/kubebuilder/bin`);
71+
execSync(`${sudo} mv ${binary} /usr/local/kubebuilder/bin`);
7172
})
7273
// Install etcd
7374
core.info(`Going to install etcd ${etcdVersion}`);
7475
execSync(`curl -L https://github.com/etcd-io/etcd/releases/download/${etcdVersion}/etcd-${etcdVersion}-${osPlat}-${osArch}.tar.gz | tar -xz --strip-components=1 -C /tmp/`);
75-
execSync(`sudo mv /tmp/etcd /usr/local/kubebuilder/bin`);
76+
execSync(`${sudo} mv /tmp/etcd /usr/local/kubebuilder/bin`);
7677
} else {
7778
core.debug(`No extra binary will be installed.`);
7879
}
7980
} else {
8081
const downloadUrl = `https://github.com/kubernetes-sigs/kubebuilder/releases/download/v${version}/kubebuilder_${version}_${osPlat}_${osArch}.tar.gz`;
8182
execSync(`curl -L ${downloadUrl} | tar -xz -C /tmp/`);
82-
execSync(`sudo mv /tmp/kubebuilder_${version}_${osPlat}_${osArch}/ /usr/local/kubebuilder/`);
83+
execSync(`${sudo} mv /tmp/kubebuilder_${version}_${osPlat}_${osArch}/ /usr/local/kubebuilder/`);
8384
execSync(`ls -la /usr/local/kubebuilder/bin`);
8485
if (kubebuilderOnly) {
8586
installedBinary
8687
.filter(x => x !== "kubebuilder")
8788
.map(x => {
8889
core.info(`Going to remove ${x}`);
89-
execSync(`sudo rm /usr/local/kubebuilder/bin/${x}`);
90+
execSync(`${sudo} rm /usr/local/kubebuilder/bin/${x}`);
9091
});
9192
} else {
9293
core.debug(`No extra binary will be deleted.`);

0 commit comments

Comments
 (0)