You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We want to create easy to use installer that works for everyone and is secure by default.
The current way to install is downloading the tarball and extracting it to the safe directory (writable only by root). This is easy to get wrong by using /usr/local or installing in your home directory as unprivileged user. It is also easy to install in a safe non-default location that requires additional configuration in related application like lima.
The next step is adding a launchd service, which is much harder on macOS compared to Linux. There are legacy and new ways to add an start a service, that seem to work or do nothing. This user experience is very poor.
To use bridged network, you need to modify the the launchd configuration to include the interface name.
Installer package
Provide a standard installer package (e.g. socket_vmnet-x.y.z-aarch64.pkg) in the github release page. The package can be installed using the Installer.app application (e.g. open socket_vmnet-x.y.z-aarch64.pkg) or using automated installation using the installer command.
The installer will install socket_vmnet to the default location /opt/socket_vmmnet, enforcing the correct permissions on the install directory (the recommended default).
The installer package can be created using pkgbuild:
Continuing discussion in #lima slack:
https://cloud-native.slack.com/archives/C043N6ZFV9S/p1731620681024829
We want to create easy to use installer that works for everyone and is secure by default.
The current way to install is downloading the tarball and extracting it to the safe directory (writable only by root). This is easy to get wrong by using /usr/local or installing in your home directory as unprivileged user. It is also easy to install in a safe non-default location that requires additional configuration in related application like lima.
The next step is adding a launchd service, which is much harder on macOS compared to Linux. There are legacy and new ways to add an start a service, that seem to work or do nothing. This user experience is very poor.
To use bridged network, you need to modify the the launchd configuration to include the interface name.
Installer package
Provide a standard installer package (e.g.
socket_vmnet-x.y.z-aarch64.pkg
) in the github release page. The package can be installed using theInstaller.app
application (e.g.open socket_vmnet-x.y.z-aarch64.pkg
) or using automated installation using theinstaller
command.The installer will install socket_vmnet to the default location /opt/socket_vmmnet, enforcing the correct permissions on the install directory (the recommended default).
The installer package can be created using pkgbuild:
The only documentation seems to be
pkgbuild(1)
.Adding and removing launchd service
The socket_vment executable will provide sub command to install and remove the launchd service:
socket_vmnet --install-service [--bridged=INTERFACE] [--service-plist=FILE]
The install command will install the plist file, replacing the INTERFACE name for bridged mode, and start or restart the service.
To use non default options user can copy the default plist files and use --service-plist=my-service.plist.
socket_vmnet --remove-service [--bridged=INTERFACE]
The remove command will stop and remove the service installed by the install command.
Documentation
When we have a downloadable pkg file, we can replace the binary installation instructions with instructions for the pkg file.
Installer.app
- open the pkg file an follow the installer pagesinstaller
command - show the commands to install the pkgTesting
We can build the pkg and install it using the
installer
command in the tests.We need to test:
Install tests are very quick and does not require much resources, can run on all standard macos runners
See also
The text was updated successfully, but these errors were encountered: