commit 9b21d1d734172c461887cb9245401063655ae4d5c8966e9a537c4d0d6b6d7001 Author: Adrian Schröter Date: Fri May 3 12:18:19 2024 +0200 Sync from SUSE:SLFO:Main elemental-agent revision e01790038e79b56cf4f759f3f642671a 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/_service b/_service new file mode 100644 index 0000000..abf4ca1 --- /dev/null +++ b/_service @@ -0,0 +1,18 @@ + + + https://github.com/rancher-sandbox/cluster-api-provider-elemental + git + .git + elemental-agent + main + @PARENT_TAG@ + v(.*) + enable + .obs/specfile/elemental-agent.spec + .obs/specfile/elemental-agent.rpmlintrc + + + + elemental-agent + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..0bb168c --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://github.com/rancher-sandbox/cluster-api-provider-elemental + ad2962ae2701f65a7b25004c28318e648188c4dc \ No newline at end of file diff --git a/elemental-agent-0.3.0.obscpio b/elemental-agent-0.3.0.obscpio new file mode 100644 index 0000000..d028371 --- /dev/null +++ b/elemental-agent-0.3.0.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31c55a72e18b8bbc8b8e01d61c0b332b3e287f6baa9e710aab526b8bdd392e67 +size 58270222 diff --git a/elemental-agent.changes b/elemental-agent.changes new file mode 100644 index 0000000..c82a36d --- /dev/null +++ b/elemental-agent.changes @@ -0,0 +1,20 @@ +------------------------------------------------------------------- +Mon Dec 04 15:52:15 UTC 2023 - dcassany@suse.com + +- Update to version 0.3.0: + * Include rpmlintrc as source in spec + * Add obs support (#11) + * Typo fix + * Improve elemental api tls setup (#10) + * Revert QUICKSTART unreleased https changes + * Add Elemental API TLS support (#9) + * Update Rancher Turtles documentation + * Implement authentication (#8) + * Fix plugins inclusion in release artifacts + * Fix release workflow + * Add elemental toolkit integration (#7) + +------------------------------------------------------------------- +Thu Nov 30 09:44:02 UTC 2023 - Andrea Mazzotti + +- Initial version 0.3.0 diff --git a/elemental-agent.obsinfo b/elemental-agent.obsinfo new file mode 100644 index 0000000..2b28471 --- /dev/null +++ b/elemental-agent.obsinfo @@ -0,0 +1,4 @@ +name: elemental-agent +version: 0.3.0 +mtime: 1701705065 +commit: 7bccd4c8ada58a906c007d456af1fbad303a7da4 diff --git a/elemental-agent.rpmlintrc b/elemental-agent.rpmlintrc new file mode 100644 index 0000000..65cab30 --- /dev/null +++ b/elemental-agent.rpmlintrc @@ -0,0 +1,5 @@ +# ignore rclink missing checks +addFilter("W: suse-missing-rclink"); + +# ignore -fPIE/fpie compiler flags +addFilter("W: position-independent-executable-suggested"); diff --git a/elemental-agent.spec b/elemental-agent.spec new file mode 100644 index 0000000..06895fb --- /dev/null +++ b/elemental-agent.spec @@ -0,0 +1,143 @@ +# +# spec file for package elemental-agent +# +# Copyright (c) 2023 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 pluginsdir /usr/lib/elemental/plugins + +Name: elemental-agent +Version: 0.3.0 +Release: 0 +Summary: Elemental CAPI agent +License: Apache-2.0 +Group: System/Management +URL: https://github.com/rancher-sandbox/cluster-api-provider-elemental +Source: %{name}-%{version}.tar +Source1: %{name}.obsinfo +Source2: %{name}.rpmlintrc +Requires: elemental-plugin + +BuildRequires: make + +BuildRequires: golang(API) >= 1.21 +BuildRequires: golang-packaging +%{go_provides} + +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +The Elemental CAPI agent is responsible for managing the OS +versions and maintaining a machine inventory to assist with edge or +baremetal installations. + +%package -n elemental-systemd-services +Summary: Elemental CAPI agent systemd services +Requires: elemental-agent = %{version}-%{release} +Requires: elemental-plugin-toolkit = %{version}-%{release} +%{?systemd_requires} +%description -n elemental-systemd-services +This package contains systemd services to run the elemental-agent +when the elemental-plugin-toolkit is also in use. + +%package -n elemental-plugin-toolkit +Summary: Provides the elemental plugin +Provides: elemental-plugin +Requires: elemental-agent = %{version}-%{release} +Requires: elemental-toolkit +%description -n elemental-plugin-toolkit +The toolkit plugin allows integration between the elemental-toolkit +and the elemental-agent. + +%package -n elemental-plugin-dummy +Summary: Provides a dummy plugin +Provides: elemental-plugin +Requires: elemental-agent = %{version}-%{release} +%description -n elemental-plugin-dummy +The dummy plugin is a very basic plugin for the elemental-agent +that can be used for debugging, or when no other plugin option +is available. + +%prep +%setup -q -n %{name}-%{version} +cp %{S:1} . + +%build +%goprep . + +export GIT_TAG=`echo "%{version}" | cut -d "+" -f 1` +GIT_COMMIT=$(cat %{name}.obsinfo | grep commit: | cut -d" " -f 2) +export GIT_COMMIT=${GIT_COMMIT:0:8} +MTIME=$(cat %{name}.obsinfo | grep mtime: | cut -d" " -f 2) +export GIT_COMMIT_DATE=$(date -d @${MTIME} +%Y%m%d) + +mkdir -p bin +make build-agent +make build-plugins + +%install +%goinstall + +%{__install} -d -m 755 %{buildroot}%{_sbindir} +%{__install} -d -m 755 %{buildroot}%{pluginsdir} + +%{__install} -m 755 bin/elemental-agent %{buildroot}%{_sbindir} +%{__install} -m 755 bin/elemental.so %{buildroot}%{pluginsdir} +%{__install} -m 755 bin/dummy.so %{buildroot}%{pluginsdir} + +mkdir -p %{buildroot}%{_unitdir} +cp -a framework/files/usr/lib/systemd/system/* %{buildroot}%{_unitdir} +%pre -n elemental-systemd-services +%service_add_pre elemental-agent.service +%service_add_pre elemental-agent-install.service + +%post -n elemental-systemd-services +%service_add_post elemental-agent.service +%service_add_post elemental-agent-install.service + +%preun -n elemental-systemd-services +%service_del_preun elemental-agent.service +%service_del_preun elemental-agent-install.service + +%postun -n elemental-systemd-services +%service_del_postun elemental-agent.service +%service_del_postun elemental-agent-install.service + +%files +%defattr(-,root,root,-) +%license LICENSE +%{_sbindir}/%{name} +%dir /usr/lib/elemental +%dir %{pluginsdir} + +%files -n elemental-systemd-services +%defattr(-,root,root,-) +%license LICENSE +%dir %{_unitdir} +%{_unitdir}/elemental-agent.service +%{_unitdir}/elemental-agent-install.service + +%files -n elemental-plugin-toolkit +%defattr(-,root,root,-) +%license LICENSE +%dir %{pluginsdir} +%{pluginsdir}/elemental.so + +%files -n elemental-plugin-dummy +%defattr(-,root,root,-) +%license LICENSE +%dir %{pluginsdir} +%{pluginsdir}/dummy.so + +%changelog