Commit Graph

188 Commits

Author SHA1 Message Date
Derek Nola
3ce4a6352d Build k3s overhaul (#12200)
* Add full ci support without Dapper
* Seperate git and other version tags, improves caching on binary builds
* Use new local targets for build-k3s.yaml workflow
* Allow optional ghcr build caching
* Build binary using GHA native commands
* Use internal setup-go action for e2e.yaml
* Add emulation builds to k3s-build.yaml (for arm32 and future riscv64)
* Be consistent in k3s artifact names
* Fix package/dockerfile warnings
* Fix install script for PR installs

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-04-25 11:57:10 -07:00
Brad Davidson
864ed2a4f1 Set User in k3s systemd unit
This ensures that the $HOME and $USER env vars get set. We have worked around this on the RKE2 side by setting it manually in the default .env file:
https://github.com/rancher/rke2/blob/master/bundle/lib/systemd/system/rke2-server.env

This is required for loading credentials from shared credentials files (`/root/.aws/credentials`)

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-03-03 11:45:45 -08:00
muicoder
d50106fcba Fix memory cgroup check on kernels without v1 controller support
Signed-off-by: muicoder <muicoder@gmail.com>
2025-02-28 08:50:20 -08:00
Brad Davidson
1c6dc31b1a Fix memory cgroup check on kernels without v1 controller support
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-02-27 21:20:06 -08:00
Reinhard Nägele
a0cfc6689d Make GITHUB_URL overridable
Signed-off-by: Reinhard Nägele <unguiculus@gmail.com>
2025-01-30 14:37:54 -08:00
Reinhard Nägele
dde2fef0c5 Fix K3S_DATA_DIR when running as non-root user (#11378)
When running the generated kill and uninstall scripts, the environment
variable `K3S_DATA_DIR` got lost, because `sudo` by default doesn't
preserve the environment. This is fixed by adding the `--preserve-env`
flag.

Signed-off-by: Reinhard Nägele <unguiculus@gmail.com>
2025-01-10 10:07:58 -08:00
Brad Davidson
0e15269e99 Fix INSTALL_K3S_PR support
Filter check names server-side instead of with jq. With recent changes to CI we now have more than 30 check runs, which is more than the API will return by default. Rather than paginating or increasing the page size, ask the server to filter for us.

Also replaces the awk/sort/head with jq split/sort/last

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2024-11-27 12:56:33 -08:00
Thomas Gleason
b83f80372a allow install script to print error on failed binary download (#11335)
Signed-off-by: Thomas Gleason <tommatime@proton.me>
2024-11-21 09:27:29 -08:00
Derek Nola
4f714d39a0 Capture all fedora atomic variants in install script (#11170)
* Capture all fedora atomic variants in install script

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Cover bluefin and other "fedora-like" OS as well

Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-10-31 09:22:49 -07:00
Papiris
f288ccea7e Remove trailing whitespace (#9362)
* Remove trailing whitespace from install.sh

Signed-off-by: Papiris <contributions@ingeniorskap.no>

* Update install.sh.sha256sum

Signed-off-by: Papiris <contributions@ingeniorskap.no>

---------

Signed-off-by: Papiris <contributions@ingeniorskap.no>
2024-10-02 09:51:11 -07:00
Brad Davidson
649678bd89 Fix k3s-killall.sh support for custom data dir
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2024-08-13 09:23:12 -07:00
ChrisBeaker
019b0afdd8 Fix: Add $SUDO prefix to transactional-update commands in install script (#10531)
* Fix: Add $SUDO prefix to transactional-update commands in install script

This commit addresses an issue in the k3s install script where the transactional-update commands did not include the $SUDO variable. This omission caused the script to fail if sudo was not used. Adding the $SUDO prefix ensures that the script runs correctly in all environments.

Signed-off-by: ChrisBeaker <christian.siebigteroth@suse.com>
Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-08-12 15:28:36 -07:00
Derek Nola
acb71ee379 Allow Amazon Linux 2 rpm installs
Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-08-07 13:03:53 -07:00
Derek Nola
79ec016b6d Allow kylin V10 rpm installs
Signed-off-by: Derek Nola <derek.nola@suse.com>
Co-Authored-By: ErikJang <81848652+erikjang@users.noreply.github.com>
2024-08-07 13:03:53 -07:00
Derek Nola
8ff7d162cc Allow fedora iot rpm installs
Signed-off-by: Derek Nola <derek.nola@suse.com>
Co-Authored-By: Blayne Campbell <5565939+bcambl@users.noreply.github.com>
2024-08-07 13:03:53 -07:00
Derek Nola
45c04f3502 Allow Amazon Linux 2023 rpm installs
Signed-off-by: Derek Nola <derek.nola@suse.com>
Co-Authored-By: ahmedali6 <87921765+ahmedali6@users.noreply.github.com>
2024-08-07 13:03:53 -07:00
Vitor Savian
3aceb85c22 Add a change for killall to not unmount server and agent directory
Signed-off-by: Vitor Savian <vitor.savian@suse.com>

Add recursive search and deletion of unmounted/mounted dirs in killall

Signed-off-by: Vitor Savian <vitor.savian@suse.com>

Only clean the server and agent directory if it is uninstall

Signed-off-by: Vitor Savian <vitor.savian@suse.com>

Add uninstall test to check mount points

Signed-off-by: Vitor Savian <vitor.savian@suse.com>

Add uninstall test in CI

Signed-off-by: Vitor Savian <vitor.savian@suse.com>
2024-08-07 10:06:12 -07:00
Jake Hyde
b045465178 Add data-dir to uninstall and killall scripts
Signed-off-by: Jake Hyde <jakefhyde@gmail.com>
2024-07-10 12:46:43 -07:00
Brad Davidson
d1709d60ce Fix INSTALL_K3S_PR support
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2024-07-10 09:21:50 -07:00
Derek Nola
4204248bc3 Check for bad token permissions when install via PR (#10387)
* Check for bad token permissions when install via PR

Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-07-09 08:36:56 -07:00
Brad Davidson
e8950a0a3b Fix issue installing artifacts from builds with multiple runs
Also makes error handling and variable capitalization consistent with other functions.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2024-05-23 13:50:24 -07:00
Derek Nola
3e948aa0d5 Correct formatting of GH PR sha256sum artifact (#9472)
* Conform to how the install script wants the sha256sum name
* Remove no-op sed for GH PR install

Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-03-01 08:45:01 -08:00
Mikhail Vorobyov
701e7e45ce Fix iptables check when sbin isn't in user PATH
Signed-off-by: Mikhail Vorobyov <mikhail.vorobev@uni.lu>
2024-02-09 13:59:47 -08:00
Derek Nola
fcd1108e73 Add ability to install K3s PR Artifact from GitHub (#9185)
* Add support for INSTALL_K3s_PR

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Add sha256sum to K3s PR artifacts

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Update install sha256sum

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Revert whitespace changes

Signed-off-by: Derek Nola <derek.nola@suse.com>

---------

Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-02-06 16:30:12 -08:00
ifNil
102ff76328 Print error when downloading file error inside install script (#6874)
* Print error when downloading file error inside install script
* Update install.sh.sha256sum

Signed-off-by: yhw <2278069802@qq.com>
2024-01-04 21:30:33 -08:00
Manuel Buil
30449e0128 Add 2>dev/null when checking nm-cloud systemd unit
Signed-off-by: Manuel Buil <mbuil@suse.com>
2024-01-03 09:36:11 +01:00
Harsimran Singh Maan
baaab250a7 Silence SELinux warning on INSTALL_K3S_SKIP_SELINUX_RPM (#8703)
When k3s is installed with INSTALL_K3S_SKIP_SELINUX_RPM=true or
INSTALL_K3S_SKIP_DOWNLOAD=true or INSTALL_K3S_SKIP_DOWNLOAD=selinux,
the following message(or similar) is seen on Amazon Linux 2023/Centos
```
[INFO]  Skipping installation of SELinux RPM
[WARN]  Failed to find the k3s-selinux policy, please install:
    dnf install -y container-selinux
    dnf install -y https://rpm.rancher.io/k3s/stable/common/centos/8/noarch/

[INFO]  Creating /usr/bin/kubectl symlink to k3s
```

whereas now

```
[INFO]  Skipping installation of SELinux RPM
[INFO]  Creating /usr/bin/kubectl symlink to k3s
```

Signed-off-by: Harsimran Singh Maan <maan.harry@gmail.com>
2024-01-02 12:30:07 -08:00
Hussein Galal
fd8db56d5a Fix wrong warning from restorecon in install script (#8871)
* Fix wrong warning from restorecon in install script

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Fix wrong warning from restorecon in install script

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

---------

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2023-11-16 00:11:25 +02:00
Samuel Mutel
19fd7e38f6 enh: Force umount for NFS mount (like with longhorn)
Signed-off-by: Samuel Mutel <12967891+smutel@users.noreply.github.com>
2023-11-14 16:34:43 -08:00
Brad Davidson
bbafb86e91 Don't use iptables-save/iptables-restore if it will corrupt rules
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-11-07 10:01:27 -08:00
Hussein Galal
112e1339b7 Restore selinux context systemd unit file (#8593)
* Restore context of systemd unit file

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Restore context of systemd unit file

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* update the hash of install.sh file

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

---------

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2023-10-31 22:54:09 +02:00
Hussein Galal
a6acdd0d75 Fix slemicro check for selinux (#8526)
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2023-10-04 00:40:35 +03:00
Hussein Galal
767b64ba58 Fix coreos multiple installs (#8083)
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2023-08-01 00:10:19 +03:00
Manuel Buil
d968e64de0 Add commands to logout from tailscale
Signed-off-by: Manuel Buil <mbuil@suse.com>
2023-06-14 18:57:10 +02:00
Andy Record
afc88cec88 check variant before version to decide rpm target and packager
Signed-off-by: Andy Record <adrecord@gmail.com>
2023-06-05 13:02:28 -07:00
Hussein Galal
fa0dc5900a Use el8 rpm for fedora 38 and 39 (#7664)
* Use el8 rpm for fedora 38 and 39

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* nit fix

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

---------

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2023-06-02 01:59:26 +03:00
Hussein Galal
9543470eb7 Add el9 selinux rpm (#7635)
* Add el9 to the install script

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Add rocky-9 install test to test el9 selinux

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Add rocky-9 install test to test el9 selinux to workflow

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Use el8 for fedora 37

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Add a warning to reboot in coreos systems

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* remove k3s-selinux module in case of upgrade in el9

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Check for available container-selinux and k3s-selinux

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* extend selinux upgrade to sle distros

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* create /var/lib/rpm-state in sle systems

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* nit fix

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* extend selinux upgrade to sle distros

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

---------

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2023-05-31 01:51:23 +03:00
Hussein Galal
213d7ad499 Revert "Add el9 selinux rpm (#7443)" (#7608)
This reverts commit d55ec08675.

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2023-05-25 16:41:05 +03:00
Hussein Galal
d55ec08675 Add el9 selinux rpm (#7443)
* Add el9 to the install script

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Add rocky-9 install test to test el9 selinux

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Add rocky-9 install test to test el9 selinux to workflow

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Use el8 for fedora 37

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Add a warning to reboot in coreos systems

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* remove k3s-selinux module in case of upgrade in el9

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Check for available container-selinux and k3s-selinux

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* extend selinux upgrade to sle distros

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* create /var/lib/rpm-state in sle systems

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* nit fix

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

---------

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2023-05-25 02:52:07 +03:00
Roberto Bonafiglia
91c5e0d75a Fix iptables rules clean during upgrade
Signed-off-by: Roberto Bonafiglia <roberto.bonafiglia@suse.com>
2023-05-22 20:17:59 +02:00
Roberto Bonafiglia
36699bbd60 Changed command -v redirection for iptables bin check
Signed-off-by: Roberto Bonafiglia <roberto.bonafiglia@suse.com>
2023-04-21 10:31:01 +02:00
Roberto Bonafiglia
d9f40d4f5b Update install script to clean iptables rules before start
Signed-off-by: Roberto Bonafiglia <roberto.bonafiglia@suse.com>
2023-04-12 22:33:10 +02:00
Hussein Galal
6b51ed478d Fix call for k3s-selinux versions in airgapped environments (#7264)
* Fix call for k3s-selinux versions in airgapped environments

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* use timeout options in the donwloader

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* more fixes

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* run verify_downloader in case binary was skipped

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

---------

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2023-04-11 22:32:48 +02:00
Hussein Galal
027cc187ce Add coreos and sle micro to selinux support (#6945)
* Add coreos and sle micro to selinux support

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Add fix for rpm-ostree

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Add uninstall for rpm-ostree (coreos)

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Don't start k3s on coreos

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Don't apply live

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Typo fix

Signed-off-by: Derek Nola <derek.nola@suse.com>

---------

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
Signed-off-by: Derek Nola <derek.nola@suse.com>
Co-authored-by: Derek Nola <derek.nola@suse.com>
2023-04-06 23:44:07 +02:00
Felix Niederwanger
7e59376bb9 Fix check for (open)SUSE version (#6791)
Fix the check, if we're running SUSE or openSUSE in the installer
script.

Signed-off-by: phoenix <felix.niederwanger@suse.com>
2023-02-06 11:27:12 -08:00
Alexey Vazhnov
870d9c32b0 Fix OpenRC init script error 'openrc-run.sh: source: not found' (#6614)
To avoid error message:

user@server ~ % /etc/init.d/k3s status
/lib/rc/sh/openrc-run.sh: 28: /etc/init.d/k3s: source: not found
/lib/rc/sh/openrc-run.sh: 29: /etc/init.d/k3s: source: not found
 * status: stopped

I've replaced `source` with `sourcex`, defined in https://github.com/OpenRC/openrc/blob/master/sh/openrc-run.sh.in#L30
Classic shell `.` also works.
Tested in Devuan 5 Daedalus (based on Debian 12 bookworm / testing), package `openrc` version 0.45.2-2.

Signed-off-by: Alexey Vazhnov <vazhnov@boot-keys.org>
2023-01-03 14:00:22 -05:00
Derek Nola
d723775792 Remove deprecated flags in v1.26 (#6574)
* Remove NoFlannel
* Remove cluster-secret
* Remove no-deploy
* Remove disable-selinux
* Convert wireguard to fatal error
* Remove reference to no-op K3S_CLUSTER_SECRET

Signed-off-by: Derek Nola <derek.nola@suse.com>
2022-12-05 14:01:01 -08:00
Klaas Demter
457e5e7379 Update install.sh to recommend current version of k3s-selinux
Signed-off-by: Klaas Demter <re4il07t@duck.com>
2022-12-05 11:52:33 -08:00
Sakala Venkata Krishna Rohit
4e2e91e089 Switch from Google Buckets to AWS S3 Buckets (#6497)
* Add python pip pakacge to install aws cli

Signed-off-by: Venkata Krishna Rohit Sakala <rohitsakala@gmail.com>

* Upload build artifacts to aws s3 instead of gcp bucket

Signed-off-by: Venkata Krishna Rohit Sakala <rohitsakala@gmail.com>

* Upload logs to aws s3 instead of google buckets

Signed-off-by: Venkata Krishna Rohit Sakala <rohitsakala@gmail.com>

* Replace gcloud auth with aws credentials for artifact uploading to buckets

Signed-off-by: Venkata Krishna Rohit Sakala <rohitsakala@gmail.com>

* Replace usage of google bucket with aws s3 buckets

Signed-off-by: Venkata Krishna Rohit Sakala <rohitsakala@gmail.com>

Signed-off-by: Venkata Krishna Rohit Sakala <rohitsakala@gmail.com>
2022-11-28 19:27:43 +02:00
Roberto Bonafiglia
87c7ea81f0 Updated flannel version to 0.20.1
Signed-off-by: Roberto Bonafiglia <roberto.bonafiglia@suse.com>
2022-11-03 17:49:26 +01:00