commit ea43e0352ea5347954e92c94dd930e9ef85dda549ed00e4516919dde42d7684d Author: Adrian Schröter Date: Fri May 3 12:18:06 2024 +0200 Sync from SUSE:SLFO:Main elemental revision 5772f8d547b8090955295ddf5da37309 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8eaf48d --- /dev/null +++ b/LICENSE @@ -0,0 +1,178 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/README.md b/README.md new file mode 100644 index 0000000..87478a3 --- /dev/null +++ b/README.md @@ -0,0 +1,59 @@ +# Elemental + +[![Lint](https://github.com/rancher/elemental/actions/workflows/lint.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/lint.yaml) + +## Regular tests + +| Rancher stable (night) | Rancher head 2.7 (8am) | Rancher head 2.8 (9am) | Rancher head 2.9 (10am) | +| - | - | - | - | +| [![CLI-K3s](https://github.com/rancher/elemental/actions/workflows/cli-k3s-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-rm_stable.yaml) | [![CLI-K3s](https://github.com/rancher/elemental/actions/workflows/cli-k3s-rm_head_2.7.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-rm_head_2.7.yaml) | [![CLI-K3s](https://github.com/rancher/elemental/actions/workflows/cli-k3s-rm_head_2.8.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-rm_head_2.8.yaml) | [![CLI-K3s](https://github.com/rancher/elemental/actions/workflows/cli-k3s-rm_head_2.9.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-rm_head_2.9.yaml) +| [![CLI-RKE2](https://github.com/rancher/elemental/actions/workflows/cli-rke2-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-rm_stable.yaml)| [![CLI-RKE2](https://github.com/rancher/elemental/actions/workflows/cli-rke2-rm_head_2.7.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-rm_head_2.7.yaml) | [![CLI-RKE2](https://github.com/rancher/elemental/actions/workflows/cli-rke2-rm_head_2.8.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-rm_head_2.8.yaml) | [![CLI-RKE2](https://github.com/rancher/elemental/actions/workflows/cli-rke2-rm_head_2.9.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-rm_head_2.9.yaml) +| [![CLI-K3s-Reset](https://github.com/rancher/elemental/actions/workflows/cli-k3s-reset-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-reset-rm_stable.yaml) | [![CLI-K3s-Reset](https://github.com/rancher/elemental/actions/workflows/cli-k3s-reset-rm_head_2.7.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-reset-rm_head_2.7.yaml) | [![CLI-K3s-Reset](https://github.com/rancher/elemental/actions/workflows/cli-k3s-reset-rm_head_2.8.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-reset-rm_head_2.8.yaml) | [![CLI-K3s-Reset](https://github.com/rancher/elemental/actions/workflows/cli-k3s-reset-rm_head_2.9.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-reset-rm_head_2.9.yaml) +| [![CLI-RKE2-Reset](https://github.com/rancher/elemental/actions/workflows/cli-rke2-reset-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-reset-rm_stable.yaml) | [![CLI-RKE2-Reset](https://github.com/rancher/elemental/actions/workflows/cli-rke2-reset-rm_head_2.7.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-reset-rm_head_2.7.yaml) | [![CLI-RKE2-Reset](https://github.com/rancher/elemental/actions/workflows/cli-rke2-reset-rm_head_2.8.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-reset-rm_head_2.8.yaml) |[![CLI-RKE2-Reset](https://github.com/rancher/elemental/actions/workflows/cli-rke2-reset-rm_head_2.9.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-reset-rm_head_2.9.yaml) +| [![CLI-K3s-Sequential](https://github.com/rancher/elemental/actions/workflows/cli-k3s-sequential-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-sequential-rm_stable.yaml) | N/A | N/A | N/A +| [![CLI-RKE2-Sequential](https://github.com/rancher/elemental/actions/workflows/cli-rke2-sequential-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-sequential-rm_stable.yaml) | N/A | N/A |N/A +| [![CLI-K3s-OS-Upgrade](https://github.com/rancher/elemental/actions/workflows/cli-k3s-os-upgrade-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-os-upgrade-rm_stable.yaml) | N/A | N/A | N/A +| [![CLI-RKE2-OS-Upgrade](https://github.com/rancher/elemental/actions/workflows/cli-rke2-os-upgrade-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-os-upgrade-rm_stable.yaml) | N/A | N/A |N/A +| [![CLI-K3s-Hardened](https://github.com/rancher/elemental/actions/workflows/cli-k3s-hardened-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-hardened-rm_stable.yaml) | [![CLI-K3s-Hardened](https://github.com/rancher/elemental/actions/workflows/cli-k3s-hardened-rm_head_2.7.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-hardened-rm_head_2.7.yaml) | [![CLI-K3s-Hardened](https://github.com/rancher/elemental/actions/workflows/cli-k3s-hardened-rm_head_2.8.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-hardened-rm_head_2.8.yaml) | [![CLI-K3s-Hardened](https://github.com/rancher/elemental/actions/workflows/cli-k3s-hardened-rm_head_2.9.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-hardened-rm_head_2.9.yaml) +| [![CLI-RKE2-Hardened](https://github.com/rancher/elemental/actions/workflows/cli-rke2-hardened-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-hardened-rm_stable.yaml) | [![CLI-RKE2-Hardened](https://github.com/rancher/elemental/actions/workflows/cli-rke2-hardened-rm_head_2.7.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-hardened-rm_head_2.7.yaml) | [![CLI-RKE2-Hardened](https://github.com/rancher/elemental/actions/workflows/cli-rke2-hardened-rm_head_2.8.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-hardened-rm_head_2.8.yaml) | [![CLI-RKE2-Hardened](https://github.com/rancher/elemental/actions/workflows/cli-rke2-hardened-rm_head_2.9.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-hardened-rm_head_2.9.yaml) +| [![CLI-K3s-Hardened-Upgrade-Reset](https://github.com/rancher/elemental/actions/workflows/cli-k3s-hardened-upgrade-reset-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-hardened-upgrade-reset-rm_stable.yaml) | N/A | N/A | N/A +| [![CLI-RKE2-Hardened-Upgrade-Reset](https://github.com/rancher/elemental/actions/workflows/cli-rke2-hardened-upgrade-reset-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-hardened-upgrade-reset-rm_stable.yaml) | N/A | N/A | N/A +| [![CLI-K3s-MultiCluster](https://github.com/rancher/elemental/actions/workflows/cli-k3s-multi_cluster-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-multi_cluster-rm_stable.yaml) | N/A | N/A | N/A +| [![CLI-RKE2-MultiCluster](https://github.com/rancher/elemental/actions/workflows/cli-rke2-multi_cluster-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-rke2-multi_cluster-rm_stable.yaml) | N/A | N/A | N/A +| [![CLI-K3s-Scalability](https://github.com/rancher/elemental/actions/workflows/cli-k3s-scalability-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-scalability-rm_stable.yaml) | N/A | N/A | N/A +| [![UI-K3s](https://github.com/rancher/elemental/actions/workflows/ui-k3s-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-k3s-rm_stable.yaml) | [![UI-K3s](https://github.com/rancher/elemental/actions/workflows/ui-k3s-rm_head_2.7.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-k3s-rm_head_2.7.yaml) | [![UI-K3s](https://github.com/rancher/elemental/actions/workflows/ui-k3s-rm_head_2.8.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-k3s-rm_head_2.8.yaml) | [![UI-K3s](https://github.com/rancher/elemental/actions/workflows/ui-k3s-rm_head_2.9.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-k3s-rm_head_2.9.yaml) +| [![UI-RKE2](https://github.com/rancher/elemental/actions/workflows/ui-rke2-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-rke2-rm_stable.yaml) | [![UI-RKE2](https://github.com/rancher/elemental/actions/workflows/ui-rke2-rm_head_2.7.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-rke2-rm_head_2.7.yaml) | [![UI-RKE2](https://github.com/rancher/elemental/actions/workflows/ui-rke2-rm_head_2.8.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-rke2-rm_head_2.8.yaml) | [![UI-RKE2](https://github.com/rancher/elemental/actions/workflows/ui-rke2-rm_head_2.9.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-rke2-rm_head_2.9.yaml) +| [![UI-K3s-OS-Upgrade](https://github.com/rancher/elemental/actions/workflows/ui-k3s-os-upgrade-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-k3s-os-upgrade-rm_stable.yaml) | [![UI-K3s-OS-Upgrade](https://github.com/rancher/elemental/actions/workflows/ui-k3s-os-upgrade-rm_head_2.7.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-k3s-os-upgrade-rm_head_2.7.yaml) | [![UI-K3s-OS-Upgrade](https://github.com/rancher/elemental/actions/workflows/ui-k3s-os-upgrade-rm_head_2.8.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-k3s-os-upgrade-rm_head_2.8.yaml) | [![UI-K3s-OS-Upgrade](https://github.com/rancher/elemental/actions/workflows/ui-k3s-os-upgrade-rm_head_2.9.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-k3s-os-upgrade-rm_head_2.9.yaml) +| [![UI-RKE2-OS-Upgrade](https://github.com/rancher/elemental/actions/workflows/ui-rke2-os-upgrade-rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-rke2-os-upgrade-rm_stable.yaml) | [![UI-RKE2-OS-Upgrade](https://github.com/rancher/elemental/actions/workflows/ui-rke2-os-upgrade-rm_head_2.7.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-rke2-os-upgrade-rm_head_2.7.yaml) | [![UI-RKE2-OS-Upgrade](https://github.com/rancher/elemental/actions/workflows/ui-rke2-os-upgrade-rm_head_2.8.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-rke2-os-upgrade-rm_head_2.8.yaml) | [![UI-RKE2-OS-Upgrade](https://github.com/rancher/elemental/actions/workflows/ui-rke2-os-upgrade-rm_head_2.9.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/ui-rke2-os-upgrade-rm_head_2.9.yaml) + +## Airgap tests + +[![CLI-K3s-Airgap-RM_stable](https://github.com/rancher/elemental/actions/workflows/cli-k3s-airgap_rm_stable.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-airgap_rm_stable.yaml) (Tested ith Rancher stable) + +[![CLI-K3s-Airgap-RM_latest_devel](https://github.com/rancher/elemental/actions/workflows/cli-k3s-airgap_rm_latest_dev.yaml/badge.svg?branch=main)](https://github.com/rancher/elemental/actions/workflows/cli-k3s-airgap_rm_latest_dev.yaml) (Tested with Rancher latest RC) + +## Goal + +Elemental is a software stack enabling a centralized, full cloud-native OS management solution with Kubernetes. + +Cluster Node OSes are built and maintained via container images through the [Elemental Toolkit](https://rancher.github.io/elemental-toolkit/) and installed on new hosts using the [Elemental CLI](https://github.com/rancher/elemental-cli). + +The [Elemental Operator](https://github.com/rancher/elemental-operator) and the [Rancher System Agent](https://github.com/rancher/system-agent) enable Rancher Manager to fully control Elemental clusters, from the installation and management of the OS on the Nodes to the provisioning of new K3s or RKE2 clusters in a centralized way. + +Follow our [Quickstart](https://rancher.github.io/elemental/quickstart/) or see the [full docs](https://rancher.github.io/elemental/) for more info. + +## License + +Copyright (c) 2020-2024 [SUSE, LLC](http://suse.com) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/_service b/_service new file mode 100644 index 0000000..50e2e64 --- /dev/null +++ b/_service @@ -0,0 +1,17 @@ + + + https://github.com/rancher/elemental + git + framework + LICENSE + README.md + .obs/specfile/elemental.spec + .obs/specfile/elemental-rpmlintrc + v2.1.x + @PARENT_TAG@ + v(.*) + + + elemental + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..ec4ca80 --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://github.com/rancher/elemental + 14a106c8c2450b2b77f6af324f137b432fa8bf01 \ No newline at end of file diff --git a/elemental-2.1.0.tar b/elemental-2.1.0.tar new file mode 100644 index 0000000..66c0026 Binary files /dev/null and b/elemental-2.1.0.tar differ diff --git a/elemental-rpmlintrc b/elemental-rpmlintrc new file mode 100644 index 0000000..506bb18 --- /dev/null +++ b/elemental-rpmlintrc @@ -0,0 +1,5 @@ +# ignore rclink missing checks +addFilter("W: suse-missing-rclink"); + +# ignore fhs complaints +addFilter("W: suse-filelist-forbidden-fhs23"); diff --git a/elemental.changes b/elemental.changes new file mode 100644 index 0000000..eeae6e5 --- /dev/null +++ b/elemental.changes @@ -0,0 +1,96 @@ +------------------------------------------------------------------- +Wed Mar 13 20:24:13 UTC 2024 - David Cassany + +- Bump to v2.1.0 + * Micro rename + * Only apply upgrade config on OS upgrades (#1283) + * Require elemental-toolkit v2 + * Adding the btrfs default at elemental-operator level + * Enable recovery upgrades (#1226) + * Set transient recovery hostname + * Update all Golang dependencies + * Adapt bootargs file to support btrfs snapshotter (#1213) + * Adapt upgrade script to the new elemental-toolkit + * Don't set the hostname (#1171) + * Make use of the update elemental kernel arguments + * Make initrd generation consistent across flavors + * Update rootfs settings + * Make sure no variables in /etc/os-release are duplicated + * Build RT flavour only for x86_64 + * Use Elemental systemd branding package + * Update kernel cmdline for elemental-sysroot (#1165) + * Use the elemental-rootfs feature (#1163) + * Run services after time-sync.target + * Mkdir /host/run/elemental in suc-upgrade + * Migrate to /run/elemental from /run/cos + * Add default network configuration for eth0 + * Remove default serial console kernel parameter + +------------------------------------------------------------------- +Tue Nov 28 17:26:41 UTC 2023 - dcassany@suse.com + +- Update to version 2.0.0: + * For some reason OBS complains of invalid format on SOURCEURL substitution + * Update workflow so that it branches the appropriate OBS packages + * Adding missing manifest for the base-iso image + * Align and update labels and tags with all images + * Remove obsolete images, sle micro variants are already in place + * Rename build-iso-next + * Remove longhorn overlay mount + * Drop the 'for Rancher' suffix + * Revert to 'old' RPi firmware + * Set entrypoint of elemental-iso-add-registration + * Fix SLEM4R OS build + * Update elemental-iso-add-registration + * Remove some old teal references + * Remove Teal images + * Bump ele-testhelpers deps + * Include system agent unit file in specfile + * Require elemental-toolkit instead of elemental-cli (#984) + +------------------------------------------------------------------- +Tue Nov 28 17:26:14 UTC 2023 - dcassany@suse.com + +- Update to version 1.3+git20230830.d301e1b: + * Add elemental-register-reset.service + * Use the new init command (#874) + * Disable service triggers on staging + * Fix elemental-iso-add-registration script + * rancher/ -> suse/ + * Use elemental-register --install argument (#934) + * Allow installation on non-SUSE distributions + * Add CONTRIBUTING.md + * Enable cloud-config from removable devices + * Ensure names are unique for all stages + * Do not compare versions from different repositories on upgrades + * Feat: add CODEOWNERS + * Load proxy setup from sysconfig and allow elemental specific env variables + * Include cryptsetup in elemental-teal + * Do not expand COS_PERSISTENT by default + * Add environment variable files in elemental-system-agent.service + * Run elemental-register in systemd service (#723) + * Include rke2-killall on shutdown process + * Update shutdown-k3s.service + * Prevent upgrade loops when FORCE is in use + * Do not allow downgrades without force flag + * Remove reboots on cloud-config addition + * Do not allow concurrent suc-upgrade executions + * Update docker/login-action to v2.1.0 (#666) + * Add shutdown-k3s.service to OBS spec + * Add service to kill k3s before umount + +------------------------------------------------------------------- +Tue Nov 28 17:19:29 UTC 2023 - dcassany@suse.com + +- Update to version 1.1.0+git20230125.14a106c: + * Add debug flag on upgrade command and update bootargs.cfg file (#625) + +------------------------------------------------------------------- +Tue Oct 25 09:59:01 UTC 2022 - Klaus Kämpf + +- add /etc/NetworkManager/conf.d/rke2-canal.conf (#446) + +------------------------------------------------------------------- +Wed Oct 5 11:25:44 UTC 2022 - David Cassany + +- Initial commit diff --git a/elemental.spec b/elemental.spec new file mode 100644 index 0000000..59ac557 --- /dev/null +++ b/elemental.spec @@ -0,0 +1,173 @@ +# +# spec file for package elemental +# +# Copyright (c) 2022 - 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + +%define systemdir /system +%define oemdir %{systemdir}/oem + +Name: elemental +Version: 2.1.0 +Release: 0 +Summary: A Rancher and Kubernetes optimized immutable Linux distribution +License: Apache-2.0 +Group: System/Management +URL: https://github.com/rancher/%{name} +Source: %{name}-%{version}.tar +Source1: LICENSE +Source2: README.md +Source3: %{name}-rpmlintrc + +Requires: elemental-toolkit >= 2.0.0 +Requires: elemental-toolkit < 2.1.0 +Requires: elemental-register +Requires: elemental-system-agent +Requires: elemental-support +Requires: NetworkManager +Requires: systemd-presets-branding-Elemental +Requires: elemental-updater = %{version}-%{release} +%{?systemd_requires} + +BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +Elemental is a new set of tools to manage operating systems as container images within Rancher Manager + +%package -n elemental-updater +Summary: Rancher elemental node updater +Group: System/Management + +%description -n elemental-updater +Rancher elemental node updater. To be installed on the node. + +%prep +%setup -q -n %{name}-%{version} +cp %{S:1} . +cp %{S:2} . + +%build + + +%install + +cp -a framework/files/* %{buildroot} + +rm -rf %{buildroot}/var/log/journal + +# remove placeholders +rm -rf %{buildroot}/usr/libexec/.placeholder + +%pre +%if 0%{?suse_version} +%service_add_pre elemental-populate-node-labels.service +%service_add_pre shutdown-containerd.service +%service_add_pre elemental-register.service +%service_add_pre elemental-register-install.service +%service_add_pre elemental-register-reset.service +%service_add_pre elemental-register.timer +%service_add_pre elemental-system-agent.service +%endif + +%post +%if 0%{?suse_version} +%service_add_post elemental-populate-node-labels.service +%service_add_post shutdown-containerd.service +%service_add_post elemental-register.service +%service_add_post elemental-register-install.service +%service_add_post elemental-register-reset.service +%service_add_post elemental-register.timer +%service_add_post elemental-system-agent.service +%else +%systemd_post elemental-populate-node-labels.service +%systemd_post shutdown-containerd.service +%systemd_post elemental-register.service +%systemd_post elemental-register-install.service +%systemd_post elemental-register-reset.service +%systemd_post elemental-register.timer +%systemd_post elemental-system-agent.service +%endif + +%preun +%if 0%{?suse_version} +%service_del_preun elemental-populate-node-labels.service +%service_del_preun shutdown-containerd.service +%service_del_preun elemental-register.service +%service_del_preun elemental-register-install.service +%service_del_preun elemental-register-reset.service +%service_del_preun elemental-register.timer +%service_del_preun elemental-system-agent.service +%else +%systemd_preun elemental-populate-node-labels.service +%systemd_preun shutdown-containerd.service +%systemd_preun elemental-register.service +%systemd_preun elemental-register-install.service +%systemd_preun elemental-register-reset.service +%systemd_preun elemental-register.timer +%systemd_preun elemental-system-agent.service +%endif + +%postun +%if 0%{?suse_version} +%service_del_postun elemental-populate-node-labels.service +%service_del_postun shutdown-containerd.service +%service_del_postun elemental-register.service +%service_del_postun elemental-register-install.service +%service_del_postun elemental-register-reset.service +%service_del_postun elemental-register.timer +%service_del_postun elemental-system-agent.service +%else +%systemd_postun elemental-populate-node-labels.service +%systemd_postun shutdown-containerd.service +%systemd_postun elemental-register.service +%systemd_postun elemental-register-install.service +%systemd_postun elemental-register-reset.service +%systemd_postun elemental-register.timer +%systemd_postun elemental-system-agent.service +%endif + +%files +%defattr(-,root,root,-) +%doc README.md +%license LICENSE +%dir %{_sysconfdir}/cos +%config %{_sysconfdir}/cos/bootargs.cfg +%dir %{_sysconfdir}/dracut.conf.d +%config %{_sysconfdir}/dracut.conf.d/51-certificates-initrd.conf +%config %{_sysconfdir}/dracut.conf.d/99-elemental-systemd.conf +%dir %{_sysconfdir}/NetworkManager +%dir %{_sysconfdir}/NetworkManager/conf.d +%config %{_sysconfdir}/NetworkManager/conf.d/rke2-canal.conf +%dir %{_unitdir} +%{_unitdir}/shutdown-containerd.service +%{_unitdir}/elemental-register.service +%{_unitdir}/elemental-register-install.service +%{_unitdir}/elemental-register-reset.service +%{_unitdir}/elemental-register.timer +%{_unitdir}/elemental-populate-node-labels.service +%{_unitdir}/elemental-system-agent.service +%{_sbindir}/elemental-populate-node-labels +%dir /usr/libexec +%dir %{systemdir} +%dir %{oemdir} +%{oemdir}/* + +%files -n elemental-updater +%defattr(-,root,root,-) +%license LICENSE +%{_sbindir}/self-upgrade +%{_sbindir}/suc-upgrade + +%changelog