Repository navigation
Incus: drive a remote Incus server from the client's default remote - #154
Conversation
Every call in the backend already uses bare names, so a switched default remote reaches another server; what still read this machine was the architecture, the keyctl probe and the df fallback for pool space. The target is announced when it is not local. This is the way in for IncusOS.
Try this branchThe engine and the scripts resolve independently, so a production script can COMMUNITY_SCRIPTS_CORE_URL=https://raw.githubusercontent.com/community-scripts/core/feat/incus-remote-client \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/debian.sh)"Swap This PR touches Run a script from a fork as wellcurl -fsSL https://raw.githubusercontent.com/community-scripts/core/feat/incus-remote-client/tools/run.sh |
bash -s -- https://raw.githubusercontent.com/YOU/DevScripts/your-branch ct/debian.sh \
https://raw.githubusercontent.com/community-scripts/core/feat/incus-remote-clientNote that Useful flags while testing
|
|
I have tested the PR on my environment. These seems to be 2 separate issues:
The value should be probably probablu clean app form the spaces and dashes before its saved as architecture. Or maybe it will be easier to use
|
…skip the local keyctl preflight The architectures list is indented differently across server versions, so the scalar is the reliable field. The kernel key limits belong to the server; a client driving a remote cannot read them (tester feedback on #154).
|
both confirmed and fixed on the branch @tai8pan |
|
@MickLesk, just tested with `bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/Incus/main/ct/pve-scripts-local.sh)" Architecture detection seems to be soleved, but I still have “kernel keys” issue. Probably more places that reads them them. Possible references I have found. I think two of them are already addressed, so its probaly
|
|
nothing changed, unfortunately. I’m not sure if the last commit should already work? |
|
Please test with the command above, to get the correct branch. |
|
OK, my bad. It seems “kernel keys” issue is also solved. There is one more issue wth storage availability check. An finally there is an error when building the container. Log file: |
The tester drives IncusOS from Alpine. dpkg does not exist there, so the architecture now comes from one helper that prefers the server; BusyBox sed has no -u, which killed the log tee with SIGPIPE; and the pool maths went through awk floats, which BusyBox truncates, so a 82 GiB pool read as 1 GB. incus storage info reports total and used only, and --bytes gives integers, so the subtraction stays in bash. The summary now names the server's kernel, not the client's.
|
I have resolved the issue with error dueling creation. It was my clients host issue. It’s APlipne that use busy box sed , that do not support -u option. I’ve just installed GNU sed and it completed successfully. So the only issue use is the storage pool space detection. |
… floats yaml.Dump quotes the --bytes values because they are strings that look like numbers, so the integer path never matched and the text path went through BusyBox awk, which truncates floats to 32 bit: an 82 GiB pool read as 1 GB. The size parser is plain bash arithmetic now. The wizard also no longer calls systemctl on a client without it.
|
Perfect. Both systemctl to and available storage pool solved. Good job! Thank you so much! |
|
alright ^^ then i can clean up the comments in my workbench and merge it later |




✍️ Description
Every call in the backend already uses bare names, so a switched default remote reaches another server; what still read this machine was the architecture, the keyctl probe and the df fallback for pool space. The target is announced when it is not local. This is the way in for IncusOS.
🔗 Related Issue
Fixes #
✅ Prerequisites (X in brackets)
API.txtwas updated to match.🤖 AI Assistance (X in brackets)
🛠️ Type of Change (X in brackets)
README,docs/,CONTRIBUTING.md, or other docs.