diff --git a/.kres.yaml b/.kres.yaml index c93ada2e..61955f21 100644 --- a/.kres.yaml +++ b/.kres.yaml @@ -33,6 +33,7 @@ spec: - mdadm - mei - metal-agent + - multipath-tools - nebula - netbird - newt @@ -59,6 +60,7 @@ spec: - tailscale - tenstorrent - thunderbolt + - trident-iscsi-tools - uinput - usb-modem-drivers - usb-audio-drivers diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 8b0e1f27..3141941e 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -8,68 +8,70 @@ If the field is marked as `Needs Maintainer`, it means that the package is curre ## Maintainers -| Name | Maintainer | Github ID | -| ----------------------------------------- | ------------------ | -------------------------------------------------------------------- | -| amazon-ena | Sidero Labs | NA | -| amdgpu | Sidero Labs | NA | -| amd-ucode | Sidero Labs | NA | -| binfmt-misc | Serge Logvinov | [sergelogvinov](https://github.com/sergelogvinov) | -| bnx2-bnx2x | Sidero Labs | NA | -| btrfs | Enno Boland | [Gottox](https://github.com/Gottox) | -| chelsio-drivers | Sidero Labs | NA | -| chelsio-firmware | Sidero Labs | NA | -| cloudflared | Maxime Nrb | [maxnrb](https://github.com/maxnrb) | -| crun | Henrik Gerdes | [hegerdes](https://github.com/hegerdes) | -| drbd | Needs Maintainer | NA | -| dvb-cx23885 | Skyler Mäntysaari | [samip5](https://github.com/samip5) | -| dvb-m88ds3103 | Yehia Amer | [yehia2amer](https://github.com/yehia2amer) | -| ecr-credential-provider | Florian Ströger | [Preisschild](https://github.com/Preisschild) | -| fuse3 | Sidero Labs | NA | -| gasket-driver | Sidero Labs | NA | -| gvisor | Sidero Labs | NA | -| gvisor-debug | Sidero Labs | NA | -| hello-world-service | Sidero Labs | NA | -| i915 | Sidero Labs | NA | -| intel-ice-firmware | Sidero Labs | NA | -| intel-ucode | Sidero Labs | NA | -| iscsi-tools | Sidero Labs | NA | -| kata-containers | Fabiano Fidêncio | [fidencio](https://github.com/fidencio) | -| lldpd | Nokia (Niklas Wik) | [salkin](https://github.com/salkin) | -| mdadm | Serge Logvinov | [sergelogvinov](https://github.com/sergelogvinov) | -| mei | Nick Meyer | [e3b0c442](https://github.com/e3b0c442) | -| metal-agent | Sidero Labs | NA | -| nebula | s e | [iamwacko](https://github.com/iamwacko) | -| netbird | Łukasz Szczepański | [l-szczepanski-speednet](https://github.com/l-szczepanski-speednet) | -| nfs-utils | Clément Nussbaumer | [clementnuss](https://github.com/clementnuss) | -| nut-client | Sidero Labs | NA | -| nvidia-container-toolkit-lts | Sidero Labs | NA | -| nivida-container-toolkit-production | Sidero Labs | NA | -| nvidia-fabricmanager-lts | Sidero Labs | NA | -| nvidia-fabricmanager-production | Sidero Labs | NA | -| nvidia-open-gpu-kernel-modules-lts | Sidero Labs | NA | -| nvidia-open-gpu-kernel-modules-production | Sidero Labs | NA | -| nvme-cli | Sidelo Labs | NA | -| nonfree-kmod-nvidia-lts | Sidero Labs | NA | -| nonfree-kmod-nvidia-production | Sidero Labs | NA | -| panfrost | Adam Cirillo | [adamcirillo](https://github.com/adamcirillo) | -| qemu-guest-agent | Markus Reiter | [reitermarkus](https://github.com/reitermarkus) | -| qlogic-firmware | Sidero Labs | NA | -| realtek-firmware | Sidero Labs | NA | -| revpi-firmware | Martin Schuessler | [c0ffee](https://github.com/c0ffee) | -| spin | Sven Pfennig | [0xE282B0](https://github.com/0xE282B0) | -| stargz-snapshotter | Sidero Labs | NA | -| tailscale | Beau Trepp | [btrepp](https://github.com/btrepp) | -| thunderbolt | Igor Rzegocki | [ajgon](https://github.com/ajgon) | -| uinput | Judah Rand | [judahrand](https://github.com/judahrand) | -| usb-audio-drivers | Breland Miley | [mindstorms6](https://github.com/mindstorms6) | -| usb-modem-drivers | Sidero Labs | NA | -| util-linux-tools | Sidero Labs | NA | -| v4l-uvc-drivers | Jacob McSwain | [USA-RedDragon](https://github.com/USA-RedDragon) | -| vc4 | Jorn Vanthienen | [Jorn Vanthienen](https://github.com/jvanthienen-gluo) | -| vmtoolsd-guest-agent | Robin Elfrink | [robinelfrink](https://github.com/robinelfrink) | -| wasmedge | Sidero Labs | NA | -| xdma-driver | Nikolai Shields | [nikolaishields](https://github.com/nikolaishields) | -| xen-guest-agent | Jerwin NJ | [j3rwin](https://github.com/j3rwin) | -| youki | 0xBrandon | [0xBrandon](https://github.com/0x4272616E646F6E) | -| zerotier | rob-htl | [rob-htl](https://github.com/rob-htl) | -| zfs | Aenix, Enix | [kvaps](https://github.com/kvaps), [donch](https://github.com/donch) | +| Name | Maintainer | Github ID | +| ----------------------------------------- | ------------------ | ---------------------------------------------------------------------------------------- | +| amazon-ena | Sidero Labs | NA | +| amdgpu | Sidero Labs | NA | +| amd-ucode | Sidero Labs | NA | +| binfmt-misc | Serge Logvinov | [sergelogvinov](https://github.com/sergelogvinov) | +| bnx2-bnx2x | Sidero Labs | NA | +| btrfs | Enno Boland | [Gottox](https://github.com/Gottox) | +| chelsio-drivers | Sidero Labs | NA | +| chelsio-firmware | Sidero Labs | NA | +| cloudflared | Maxime Nrb | [maxnrb](https://github.com/maxnrb) | +| crun | Henrik Gerdes | [hegerdes](https://github.com/hegerdes) | +| drbd | Needs Maintainer | NA | +| dvb-cx23885 | Skyler Mäntysaari | [samip5](https://github.com/samip5) | +| dvb-m88ds3103 | Yehia Amer | [yehia2amer](https://github.com/yehia2amer) | +| ecr-credential-provider | Florian Ströger | [Preisschild](https://github.com/Preisschild) | +| fuse3 | Sidero Labs | NA | +| gasket-driver | Sidero Labs | NA | +| gvisor | Sidero Labs | NA | +| gvisor-debug | Sidero Labs | NA | +| hello-world-service | Sidero Labs | NA | +| i915 | Sidero Labs | NA | +| intel-ice-firmware | Sidero Labs | NA | +| intel-ucode | Sidero Labs | NA | +| iscsi-tools | Sidero Labs | NA | +| kata-containers | Fabiano Fidêncio | [fidencio](https://github.com/fidencio) | +| lldpd | Nokia (Niklas Wik) | [salkin](https://github.com/salkin) | +| mdadm | Serge Logvinov | [sergelogvinov](https://github.com/sergelogvinov) | +| mei | Nick Meyer | [e3b0c442](https://github.com/e3b0c442) | +| metal-agent | Sidero Labs | NA | +| multipath-tools | INS | [Untersander](https://github.com/Untersander), [SimLi1333](https://github.com/SimLi1333) | +| nebula | s e | [iamwacko](https://github.com/iamwacko) | +| netbird | Łukasz Szczepański | [l-szczepanski-speednet](https://github.com/l-szczepanski-speednet) | +| nfs-utils | Clément Nussbaumer | [clementnuss](https://github.com/clementnuss) | +| nut-client | Sidero Labs | NA | +| nvidia-container-toolkit-lts | Sidero Labs | NA | +| nivida-container-toolkit-production | Sidero Labs | NA | +| nvidia-fabricmanager-lts | Sidero Labs | NA | +| nvidia-fabricmanager-production | Sidero Labs | NA | +| nvidia-open-gpu-kernel-modules-lts | Sidero Labs | NA | +| nvidia-open-gpu-kernel-modules-production | Sidero Labs | NA | +| nvme-cli | Sidelo Labs | NA | +| nonfree-kmod-nvidia-lts | Sidero Labs | NA | +| nonfree-kmod-nvidia-production | Sidero Labs | NA | +| panfrost | Adam Cirillo | [adamcirillo](https://github.com/adamcirillo) | +| qemu-guest-agent | Markus Reiter | [reitermarkus](https://github.com/reitermarkus) | +| qlogic-firmware | Sidero Labs | NA | +| realtek-firmware | Sidero Labs | NA | +| revpi-firmware | Martin Schuessler | [c0ffee](https://github.com/c0ffee) | +| spin | Sven Pfennig | [0xE282B0](https://github.com/0xE282B0) | +| stargz-snapshotter | Sidero Labs | NA | +| tailscale | Beau Trepp | [btrepp](https://github.com/btrepp) | +| thunderbolt | Igor Rzegocki | [ajgon](https://github.com/ajgon) | +| trident-iscsi-tools | INS | [Untersander](https://github.com/Untersander), [SimLi1333](https://github.com/SimLi1333) | +| uinput | Judah Rand | [judahrand](https://github.com/judahrand) | +| usb-audio-drivers | Breland Miley | [mindstorms6](https://github.com/mindstorms6) | +| usb-modem-drivers | Sidero Labs | NA | +| util-linux-tools | Sidero Labs | NA | +| v4l-uvc-drivers | Jacob McSwain | [USA-RedDragon](https://github.com/USA-RedDragon) | +| vc4 | Jorn Vanthienen | [Jorn Vanthienen](https://github.com/jvanthienen-gluo) | +| vmtoolsd-guest-agent | Robin Elfrink | [robinelfrink](https://github.com/robinelfrink) | +| wasmedge | Sidero Labs | NA | +| xdma-driver | Nikolai Shields | [nikolaishields](https://github.com/nikolaishields) | +| xen-guest-agent | Jerwin NJ | [j3rwin](https://github.com/j3rwin) | +| youki | 0xBrandon | [0xBrandon](https://github.com/0x4272616E646F6E) | +| zerotier | rob-htl | [rob-htl](https://github.com/rob-htl) | +| zfs | Aenix, Enix | [kvaps](https://github.com/kvaps), [donch](https://github.com/donch) | diff --git a/Makefile b/Makefile index db246820..a40314df 100644 --- a/Makefile +++ b/Makefile @@ -90,6 +90,7 @@ TARGETS += lldpd TARGETS += mdadm TARGETS += mei TARGETS += metal-agent +TARGETS += multipath-tools TARGETS += nebula TARGETS += netbird TARGETS += newt @@ -116,6 +117,7 @@ TARGETS += stargz-snapshotter TARGETS += tailscale TARGETS += tenstorrent TARGETS += thunderbolt +TARGETS += trident-iscsi-tools TARGETS += uinput TARGETS += usb-modem-drivers TARGETS += usb-audio-drivers @@ -294,4 +296,3 @@ release-notes: $(ARTIFACTS) conformance: @docker pull $(CONFORMANCE_IMAGE) @docker run --rm -it -v $(PWD):/src -w /src $(CONFORMANCE_IMAGE) enforce - diff --git a/README.md b/README.md index 2f84736a..8016c39e 100644 --- a/README.md +++ b/README.md @@ -146,9 +146,11 @@ tiers based on support level: | [fuse3](storage/fuse3) | :green_square: core | [ghcr.io/siderolabs/fuse3](https://github.com/siderolabs/extensions/pkgs/container/fuse3) | `3.17.4` | This system extension provides fuse3 functionality. | | [iscsi-tools](storage/iscsi-tools) | :green_square: core | [ghcr.io/siderolabs/iscsi-tools](https://github.com/siderolabs/extensions/pkgs/container/iscsi-tools) | `v0.2.0` | This system extension provides iscsi-tools. | | [mdadm](storage/mdadm) | :white_large_square: contrib | [ghcr.io/siderolabs/mdadm](https://github.com/siderolabs/extensions/pkgs/container/mdadm) | `v4.4` | This system extension provides mdadm binary. | +| [multipath-tools](storage/multipath-tools) | :white_large_square: contrib | [ghcr.io/siderolabs/multipath-tools](https://github.com/siderolabs/extensions/pkgs/container/multipath-tools) | `v0.0.1` | This system extension provides multipath-tools binaries and multipathd for multipath device support. | | [nfs-utils](storage/nfs-utils) | :white_large_square: contrib | [ghcr.io/siderolabs/nfs-utils](https://github.com/siderolabs/extensions/pkgs/container/nfs-utils) | `v0.1.1` | This system extension provides rpcbind and rpc.statd for NFSv3 file locking support. rpcbind is a server that converts RPC program numbers into universal addresses. rpc.statd is the NSM (Network Status Monitor) service daemon that notifies NFS peers of restarts. These services are required for NFSv3 mounts with file locking support. | | [nfsd](storage/nfsd) | :yellow_square: extra | [ghcr.io/siderolabs/nfsd](https://github.com/siderolabs/extensions/pkgs/container/nfsd) | `VERSION` | This system extension provides kernel module driver for NFSD built against a specific Talos version. | | [nfsrahead](storage/nfsrahead) | :white_large_square: contrib | [ghcr.io/siderolabs/nfsrahead](https://github.com/siderolabs/extensions/pkgs/container/nfsrahead) | `2.8.3` | This system extension provides nfsrahead, a tool to configure the readahead for NFS mounts. | +| [trident-iscsi-tools](storage/trident-iscsi-tools) | :white_large_square: contrib | [ghcr.io/siderolabs/trident-iscsi-tools](https://github.com/siderolabs/extensions/pkgs/container/trident-iscsi-tools) | `v0.0.1` | This system extension provides binaries for the host system required by [NetApp/Trident](https://github.com/NetApp/trident) iSCSI backend. | | [zfs](storage/zfs) | :yellow_square: extra | [ghcr.io/siderolabs/zfs](https://github.com/siderolabs/extensions/pkgs/container/zfs) | `2.4.0-rc2-VERSION` | This system extension provides the ZFS kernel module, the ZFS utilities, and a service to import all ZFS pools on start and unmount all pools on stop. | ### Power diff --git a/storage/multipath-tools/README.md b/storage/multipath-tools/README.md new file mode 100644 index 00000000..fc8131c1 --- /dev/null +++ b/storage/multipath-tools/README.md @@ -0,0 +1,44 @@ +# multipath-tools + +This extension provides the `multipathd` daemon on the host for handling device-mapper multipathing. +It enables consistent, fault-tolerant access to storage devices that expose multiple I/O paths. + +## What's Included + +* **multipathd**: Multipath daemon +* **multipath**: Device mapper target autoconfig +* **multipathc**: Interactive client for multipathd +* **mpathpersist**: Manages SCSI persistent reservations on dm multipath devices +* **kpartx**: Create device maps from partition tables. + +## Use Case + +To run this daemon you need the following **kernel** modules: +```yaml +kernel: + modules: + - name: dm_multipath + - name: dm_round-robin # or dm-queue-length +``` +To configure multipath accordingly you need to apply something like: +```yaml +apiVersion: v1alpha1 +kind: ExtensionServiceConfig +name: multipathd +configFiles: + - content: | + defaults { + user_friendly_names yes + find_multipaths no + path_selector "round-robin 0" + } + mountPath: /etc/multipath.conf +``` +You probably need to use `round-robin` or `queue-length` (if that is supported by your use case) as the default `service-time` is not supported, since `dm-service-time` kernel module is not jet in talos build at the moment. + + +## References + +- [multipath man page](https://linux.die.net/man/8/multipath) +- [multipathd man page](https://linux.die.net/man/8/multipathd) +- [Related Kernel module issue](https://github.com/siderolabs/talos/issues/9515) \ No newline at end of file diff --git a/storage/multipath-tools/manifest.yaml.tmpl b/storage/multipath-tools/manifest.yaml.tmpl new file mode 100644 index 00000000..fd171107 --- /dev/null +++ b/storage/multipath-tools/manifest.yaml.tmpl @@ -0,0 +1,10 @@ +version: v1alpha1 +metadata: + name: multipath-tools + version: "{{ .VERSION }}" + author: Institute for Network and Security (INS) at OST + description: | + [{{ .TIER }}] This system extension provides multipath-tools. + compatibility: + talos: + version: ">= v1.9.0" \ No newline at end of file diff --git a/storage/multipath-tools/multipathd.yaml b/storage/multipath-tools/multipathd.yaml new file mode 100644 index 00000000..7b6b4207 --- /dev/null +++ b/storage/multipath-tools/multipathd.yaml @@ -0,0 +1,55 @@ +name: multipathd +container: + security: + maskedPaths: [] + readonlyPaths: [] + writeableRootfs: true + entrypoint: /usr/local/sbin/multipathd + args: + - -d + - -s + mounts: + # ld-musl-x86_64.so.1 + - source: /lib + destination: /lib + type: bind + options: + - bind + - ro + # libs + - source: /usr/local/lib/ + destination: /usr/local/lib/ + type: bind + options: + - bind + - ro + - source: /usr/local/sbin + destination: /usr/local/sbin + type: bind + options: + - bind + - ro + # /dev/mapper and multipath disk + - source: /dev + destination: /dev + type: bind + options: + - bind + - rw + - source: /sys + destination: /sys + type: bind + options: + - bind + - rw +depends: + - network: + - addresses + - connectivity + - hostname + - etcfiles + - service: udevd + - path: /dev/mapper/control + - service: cri + # - configuration: true +restart: always diff --git a/storage/multipath-tools/pkg.yaml b/storage/multipath-tools/pkg.yaml new file mode 100644 index 00000000..e2e96ba3 --- /dev/null +++ b/storage/multipath-tools/pkg.yaml @@ -0,0 +1,68 @@ +name: multipath-tools +variant: scratch +shell: /bin/bash +dependencies: + - stage: base + - image: "{{ .BUILD_ARG_PKGS_PREFIX }}/systemd-udevd:{{ .BUILD_ARG_PKGS }}" + - image: "{{ .BUILD_ARG_PKGS_PREFIX }}/libjson-c:{{ .BUILD_ARG_PKGS }}" + - image: "{{ .BUILD_ARG_PKGS_PREFIX }}/lvm2:{{ .BUILD_ARG_PKGS }}" + - image: "{{ .BUILD_ARG_PKGS_PREFIX }}/liburcu:{{ .BUILD_ARG_PKGS }}" + - image: "{{ .BUILD_ARG_PKGS_PREFIX }}/libaio:{{ .BUILD_ARG_PKGS }}" +steps: + - sources: + - url: https://github.com/opensvc/multipath-tools/archive/refs/tags/{{ .MULTIPATH_TOOLS_VERSION }}.tar.gz + destination: multipath-tools.tar.gz + sha256: {{ .MULTIPATH_TOOLS_SHA256 }} + sha512: {{ .MULTIPATH_TOOLS_SHA512 }} + env: + PKG_CONFIG_PATH: /usr/lib/pkgconfig + prepare: + - | + sed -i 's#$VERSION#{{ .VERSION }}#' /pkg/manifest.yaml + - | + tar -xzf multipath-tools.tar.gz --strip-components=1 + build: + - | + make -j $(nproc) prefix="/usr/local" \ + sysconfdir="/etc" \ + configdir="/etc/multipath/conf.d" \ + mandir="/usr/share/man" \ + infodir="/usr/share/info" \ + statedir="/etc/multipath" \ + etc_prefix="" \ + LIB=lib \ + SYSTEMD="" + install: + - | + mkdir -p /rootfs/usr/local/lib/containers/multipathd/usr/lib/ + cp /usr/lib/libgcc_s.so.1 /rootfs/usr/local/lib/containers/multipathd/usr/lib/ + make prefix="/usr/local" DESTDIR=/rootfs LIB=lib install + - | + mkdir -p /rootfs/usr/local/etc/containers + cp /pkg/multipathd.yaml /rootfs/usr/local/etc/containers/ + # Remove kernel module loading config + - | + rm /rootfs/usr/lib/modules-load.d/multipath.conf + rmdir /rootfs/usr/lib/modules-load.d + # Remove unnecessary docs and includes + - | + rm -rf /rootfs/usr/local/share + rm -rf /rootfs/usr/local/include + # This file tries to create a tmpfs mount at `/var/run/multipath`. + - | + rm /rootfs/usr/lib/tmpfiles.d/multipath.conf + rmdir /rootfs/usr/lib/tmpfiles.d + # # Removed but might be needed by other users of multipath-tools + - | + rm /rootfs/usr/lib/udev/kpartx_id + test: + - | + mkdir -p /extensions-validator-rootfs + cp -r /rootfs/ /extensions-validator-rootfs/rootfs + cp /pkg/manifest.yaml /extensions-validator-rootfs/manifest.yaml + /extensions-validator validate --rootfs=/extensions-validator-rootfs --pkg-name="${PKG_NAME}" +finalize: + - from: /rootfs + to: /rootfs + - from: /pkg/manifest.yaml + to: / \ No newline at end of file diff --git a/storage/multipath-tools/vars.yaml b/storage/multipath-tools/vars.yaml new file mode 100644 index 00000000..c40bae1b --- /dev/null +++ b/storage/multipath-tools/vars.yaml @@ -0,0 +1,8 @@ +VERSION: v0.0.1 + +# renovate: datasource=github-releases extractVersion=^multipath-tools (?.*)$ depName=opensvc/multipath-tools +MULTIPATH_TOOLS_VERSION: 0.13.0 +MULTIPATH_TOOLS_SHA256: f2e67a1d2167f3945afab6f0697207a03678f5b2bd80f1f45958c6fa1dfb8eef +MULTIPATH_TOOLS_SHA512: 8f545609fa20df7547428f2929571dc0df87c17d9f61f11aad3559446c2e94755e18b1c4b3780b3de92ec2cbc450939ca15a9d6c95551eee4084064d83874b2d + +TIER: "contrib" \ No newline at end of file diff --git a/storage/trident-iscsi-tools/README.md b/storage/trident-iscsi-tools/README.md new file mode 100644 index 00000000..2debc0c2 --- /dev/null +++ b/storage/trident-iscsi-tools/README.md @@ -0,0 +1,51 @@ +# trident-iscsi-tools + +This extension provides basic **Linux** tools like 'cat', 'ls', and other binaries on the host used by the **Trident CSI**, which are apparently not jet bundled in to Trident itself. + + +## What's Included + +* **lsscsi** +* **coreutils**: ls, cat, dd +* **procps**: free, pgrep +* **blockdev** + + +## Use Case + +To run [trident-operator](https://github.com/NetApp/trident) with iSCSI, you need to enable the **extensions**: +* `iscsi-tools` +* `multipath-tools` +* `util-linux` (for blkid) +* `trident-iscsi-tools` + +and **additionally** the **kernel** modules: +```yaml +kernel: + modules: + - name: scsi-transport-iscsi + - name: libiscsi_tcp + - name: iscsi_tcp + - name: scsi_transport_fc + - name: dm_multipath + - name: dm_round-robin +``` +To configure multipath accordingly you need to apply: +```yaml +apiVersion: v1alpha1 +kind: ExtensionServiceConfig +name: multipathd +configFiles: + - content: | + defaults { + user_friendly_names yes + find_multipaths no + path_selector "round-robin 0" + } + mountPath: /etc/multipath.conf +``` + +## References + +- [lsscsi man page](https://linux.die.net/man/8/lsscsi) +- [Related Trident issue](https://github.com/NetApp/trident/issues/806#issuecomment-2399332314) \ No newline at end of file diff --git a/storage/trident-iscsi-tools/manifest.yaml.tmpl b/storage/trident-iscsi-tools/manifest.yaml.tmpl new file mode 100644 index 00000000..bfeac4f5 --- /dev/null +++ b/storage/trident-iscsi-tools/manifest.yaml.tmpl @@ -0,0 +1,10 @@ +version: v1alpha1 +metadata: + name: trident-iscsi-tools + version: "{{ .VERSION }}" + author: Institute for Networks and Security (INS) at OST + description: | + [{{ .TIER }}] This system extension provides the tools and binaries used by the NetApp Trident CSI for iSCSI. It contains lsscsi, ls, free, pgrep, cat and dd. + compatibility: + talos: + version: ">= v1.9.0" \ No newline at end of file diff --git a/storage/trident-iscsi-tools/pkg.yaml b/storage/trident-iscsi-tools/pkg.yaml new file mode 100644 index 00000000..815286ee --- /dev/null +++ b/storage/trident-iscsi-tools/pkg.yaml @@ -0,0 +1,46 @@ +name: trident-iscsi-tools +variant: scratch +shell: /bin/bash +dependencies: + - stage: base +steps: + - sources: + - url: "https://sg.danny.cz/scsi/lsscsi-{{ .LSSCSI_VERSION }}.tar.gz" + destination: lsscsi.tar.gz + sha256: {{ .LSSCSI_SHA256 }} + sha512: {{ .LSSCSI_SHA512 }} + prepare: + - | + sed -i 's#$VERSION#{{ .VERSION }}#' /pkg/manifest.yaml + - | + tar -xzf lsscsi.tar.gz --strip-components=1 + build: + - | + ./configure --prefix=/usr/local --exec-prefix=/usr/local + # make -j $(nproc) DESTDIR=/rootfs + install: + - | + make DESTDIR=/rootfs install + # Remove man pages and info pages to save space + - | + rm -rf /rootfs/usr/local/share + - | + mkdir -p /rootfs/usr/local/bin + mkdir -p /rootfs/usr/local/sbin + cp /usr/bin/ls /rootfs/usr/local/bin + cp /usr/bin/free /rootfs/usr/local/bin + cp /usr/bin/pgrep /rootfs/usr/local/bin + cp /usr/bin/cat /rootfs/usr/local/bin + cp /usr/bin/dd /rootfs/usr/local/bin + cp /usr/sbin/blockdev /rootfs/usr/local/sbin + test: + - | + mkdir -p /extensions-validator-rootfs + cp -r /rootfs/ /extensions-validator-rootfs/rootfs + cp /pkg/manifest.yaml /extensions-validator-rootfs/manifest.yaml + /extensions-validator validate --rootfs=/extensions-validator-rootfs --pkg-name="${PKG_NAME}" +finalize: + - from: /rootfs + to: /rootfs + - from: /pkg/manifest.yaml + to: / \ No newline at end of file diff --git a/storage/trident-iscsi-tools/vars.yaml b/storage/trident-iscsi-tools/vars.yaml new file mode 100644 index 00000000..eb69876d --- /dev/null +++ b/storage/trident-iscsi-tools/vars.yaml @@ -0,0 +1,8 @@ +VERSION: v0.0.1 + +# renovate: datasource=github-tags extractVersion=^r(?.*)$ depName=doug-gilbert/lsscsi +LSSCSI_VERSION: 0.32 +LSSCSI_SHA256: 0a800e9e94dca2ab702d65d72777ae8cae078e3d74d0bcbed64ba0849e8029a1 +LSSCSI_SHA512: 96cb87be53eae9fa3a7defa0065f4dee8ccc23805a9ed1dc93d101c5e0610b78765b61449bf6ce58c13de8aae8400e4ac6a60ad64f840d092b9d7293106c5145 + +TIER: "contrib" \ No newline at end of file diff --git a/tools/util-linux/pkg.yaml b/tools/util-linux/pkg.yaml index 0a66ad56..4041c1b5 100644 --- a/tools/util-linux/pkg.yaml +++ b/tools/util-linux/pkg.yaml @@ -26,6 +26,7 @@ steps: --disable-all-programs \ --enable-libmount \ --enable-libblkid \ + --enable-blkid \ --enable-nsenter \ --enable-fstrim \ build: