Skip to content

Commit

Permalink
feat: add device-mapper extension
Browse files Browse the repository at this point in the history
Add a new extension for device-mapper kernel drivers

Signed-off-by: ndbrew <[email protected]>
  • Loading branch information
ndbrew authored and ndbrew committed Aug 17, 2023
1 parent 0284425 commit bddfe68
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 0 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ TARGETS = \
amd-ucode \
bnx2-bnx2x \
btrfs \
device-mapper \
drbd \
gasket-driver \
gvisor \
Expand Down
17 changes: 17 additions & 0 deletions storage/device-mapper/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# device-mapper

This extension provides kernel modules needed for non-stock device-mapper functionality.

## Installation

Add the extension to your machine config and enable the modules.

```yaml
machine:
install:
extensions:
- image: ghcr.io/siderolabs/device-mapper:<VERSION>
kernel:
modules:
- name: dm-thin-pool
```
10 changes: 10 additions & 0 deletions storage/device-mapper/manifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: v1alpha1
metadata:
name: device-mapper
version: "$VERSION"
author: Nathan Brewer
description: |
This system extension provides extra device-mapper kernel module drivers.
compatibility:
talos:
version: ">= v1.5.0"
22 changes: 22 additions & 0 deletions storage/device-mapper/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: device-mapper
variant: scratch
shell: /toolchain/bin/bash
dependencies:
- stage: base
# The pkgs version for a particular release of Talos as defined in
# https://github.com/siderolabs/talos/blob/<talos version>/pkg/machinery/gendata/data/pkgs
- image: "{{ .PKGS_PREFIX }}/device-mapper-pkg:{{ .BUILD_ARG_PKGS }}"
steps:
- prepare:
- |
sed -i 's#$VERSION#{{ .VERSION }}#' /pkg/manifest.yaml
- install:
- |
mkdir -p /rootfs/lib/modules
cp -R /lib/modules/* /rootfs/lib/modules
finalize:
- from: /rootfs
to: /rootfs
- from: /pkg/manifest.yaml
to: /
2 changes: 2 additions & 0 deletions storage/device-mapper/vars.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# the first part is the driver version and the second the talos version for which the module is built against
VERSION: "{{ .BUILD_ARG_TAG }}"

0 comments on commit bddfe68

Please sign in to comment.