-
Notifications
You must be signed in to change notification settings - Fork 49
Open
Description
Is your feature request related to a problem? Please describe.
It is not related to a problem.
Describe the solution you would like
Currently, every release includes a Go executable where GOOS_ARCH is set to darwin. This generates a single executable.
In addition to that, I am proposing that a MacOS compressed DMG file is also released that contains SecretlessBroker.app in agent-mode for easy install and use on MacOS.
See Additional context below for how this can be accomplished.
Describe alternatives you have considered
n/a
Additional context
╰ tree SecretlessBroker.app
SecretlessBroker.app
└── Contents
├── Info.plist
├── MacOS
│ └── secretless-broker
└── Resources
└── icon.icns
3 directories, 3 filesmkdir SecretlessBroker.app- Within SecretlessBroker.app:
touch Info.plistmkdir MacOSmkdir Resources
- Within Info.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>secretless-broker</string>
<key>CFBundleIconFile</key>
<string>icon.icns</string>
<key>CFBundleIdentifier</key>
<string>com.cyberark.secretless</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>LSUIElement</key>
<true/>
</dict>
</plist>CFBundleExecutableis the name of the executable underSecretlessBroker.app/MacOS.CFBundleIdentifieris the identifier of the .app when it is running.LSUIElementset to true sets "agent-mode" so when SecretlessBroker.app is running, it doesn't constantly bounce in the dock menu.
- Within the MacOS directory, add the
secretless_brokerexecutable for Darwin fromgo build. - Within the Resources directory, add the icon set for SecretlessBroker.app icons in
@1xand@2xsizes.
- See @infamousjoeg for this file.
To create the DMG file and compress it, follow the rest of the documentation on this blog post: https://medium.com/@mattholt/packaging-a-go-application-for-macos-f7084b00f6b5. At the end of the blog post, there is a script that automates this entire process.