Written by Amado Tejada
Self Portal is a cross-platform desktop application used to deploy software across your endpoints fleet while providing the same user experience via Chef and other software management solutions.
This is a front-end GUI for users and does not connect directly with management tools. Instead, it calls out to the management framework below to install the packages.
E.g. For Chef, when a user selects an app, chef-client
it will be executed running that specific app cookbook and installing the app in the background.
- cross-platform
- supports various deployment frameworks
- python framework bundled
- no end-user runtime dependencies
- dark & light themes
- easy to use for end-users
- log viewer for troubleshooting
This tool was made around Chef on Linux, but since its a front-end, it can be used with any other frameworks.
macOS | Windows | Linux |
---|---|---|
Chef | Chef | Chef |
Jamf | Choco | apt/yum/dnf |
pip | pip | pip |
autopkg | Scoop | snap/flatpak |
Dark | Light |
---|---|
Dark | Light |
---|---|
Dark | Light |
---|---|
Theme Chooser | Log Viewer |
---|---|
- Chef server and cookbooks needs to be pre-configured before using Self Portal.
- Cookbooks need to exist on Chef and scoped to the endpoints
- Node needs to be enrolled to the Chef instance.
(Other frameworks will have similar requirements. Defer to your framework documentation for more information on to setup, scoping, and enrolling.)
- pyinstaller to build executables
- PyQt5 - Runtime files are bundled in executable for simple deployment.
- Create JSON file for each cookbook/app to deploy - see below.
- Self Portal needs to run with an admin account and the ability to run
chef-client
with elevated permissions.
{
"name": "Chrome",
"id": "chrome",
"description": "Chrome is a fast, secure, free web browser. The browser built by Google.",
"category": ["browser"],
"icon": "resources/icons/chrome.png",
"bashcmd": "pkexec chef-client -o recipe[app_chrome] -L /var/log/chef/self_portal.log"
\\ Self Portal calls the bashcmd to install the software via Chef.
}
- It's best to build on the targeted OS
pyinstaller build.spec
Executables output to /self-portal/dist/
-
If you're using Chef, create cookbook for Self Portal and deploy the endpoints.
- If you're using other frameworks, use the alternative method to cookbook or remotely package policy.
-
Profit
This software {Self Portal} has not been endorsed or supported by any of the software mentioned above and is in no way associated with them and/or its subsidiaries or affiliate.
Self Portal is released under the Apache 2.0 License