Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rechunker action hhd-dev/rechunk #64

Open
vst-name opened this issue Jan 26, 2025 · 3 comments
Open

Rechunker action hhd-dev/rechunk #64

vst-name opened this issue Jan 26, 2025 · 3 comments

Comments

@vst-name
Copy link

Does this action actually work?
i couldn't help but notice that all upstream repo's use Rechunk task in Justfile...
Should i just setup Rechunk myself or is there a working configuration?

Thanks!

B.t.w. - was there a new version of bootc? new linter behavior enforces composefs=true which broke my build, i was about to make a PR but didn't make it in time =)

@p5
Copy link
Member

p5 commented Jan 26, 2025

The action should work. We just use a Justfile since it's easier to run locally.

RE bootc lint - I've just committed a change to disable this command, so it shouldn't be a problem any more. This was due to a bootc version change which enforces more configurations on the image.

@vst-name
Copy link
Author

vst-name commented Jan 26, 2025

Unfortunately, no. Since hhd-dev/rechunk uses sudo to create and mount the container - and podman by default uses different storage per-user

runs:
  using: 'composite'
  steps:
    - name: Mount Image
      id: mount
      shell: bash
      run: |
        CREF=$(sudo podman create ${{ inputs.ref }} bash)
        MOUNT=$(sudo podman mount $CREF)
        echo "container=$CREF" >> $GITHUB_OUTPUT
        echo "mount=$MOUNT" >> $GITHUB_OUTPUT

And so the ublue justfiles contains this snippet

    # Load into Rootful Podman
    ID=$(${SUDOIF} ${PODMAN} images --filter reference=localhost/"${image_name}":"${tag}" --format "'{{ '{{.ID}}' }}'")
    if [[ -z "$ID" && ! ${PODMAN} =~ docker ]]; then
        COPYTMP=$(mktemp -p "${PWD}" -d -t podman_scp.XXXXXXXXXX)
        ${SUDOIF} TMPDIR=${COPYTMP} ${PODMAN} image scp ${UID}@localhost::localhost/"${image_name}":"${tag}" root@localhost::localhost/"${image_name}":"${tag}"
        rm -rf "${COPYTMP}"
    fi

Perhaps the solution would be to change storage and state of podman to the same unified directory, so that "users" would be able to share storage?

@vst-name
Copy link
Author

vst-name commented Jan 26, 2025

Perhaps the solution would be to change storage and state of podman to the same unified directory, so that "users" would be able to share storage?

Nope, root created objects are inaccessible to other users...Oh, well guess I'll just add another job (space constraints).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants