Re-run the remote harvest with -K or --ask-become-pass. Use --no-sudo only when you accept a limited harvest.
enroll harvest --remote-host app01.example.net --remote-user mig -K --out ./harvestUse --ask-key-passphrase interactively or --ssh-key-passphrase-env ENV_VAR in CI.
export ENROLL_SSH_KEY_PASSPHRASE='...'
enroll harvest --remote-host app01 --ssh-key-passphrase-env ENROLL_SSH_KEY_PASSPHRASE --out ./harvestWhen running as root, Enroll refuses or prompts if PATH could resolve host tools from an attacker-controlled location. Fix the PATH or parent directory permissions before running in automation. Use --assume-safe-path only when you intentionally trust the environment.
Plain manifest mode expects a directory harvest. For an encrypted harvest tarball, pass --sops <fingerprint> to manifest so Enroll decrypts and extracts it safely before rendering.
enroll manifest --harvest ./harvest/harvest.tar.gz.sops --out ./ansible --sops <GPG_FINGERPRINT>The bundle is internally inconsistent: state.json references an artifact that is absent, or artifacts/ contains files not referenced by state. Re-harvest from a trusted host, or inspect the bundle provenance before using it.
Install the generated requirements before running the playbook. Container, Podman, Flatpak, or Snap roles may add collection requirements.
cd ./ansible
ansible-galaxy collection install -r requirements.ymlAutomatic capture of .bashrc, .profile, .bash_logout, and .bash_aliases is disabled unless --dangerous is used. Prefer targeted --include-path first; normal secret checks still apply.