| .. | ||
| src | ||
| .gitignore | ||
| jest.config.ts | ||
| jest.setup.ts | ||
| jsdomwithfetch.ts | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| server.go | ||
| tsconfig.json | ||
| updates.xml | ||
| webpack.common.js | ||
| webpack.dev.js | ||
| webpack.prod.js | ||
| yarn.lock | ||
Fleetd Chrome Extension
Packaging the extension
Generate a .pem file to be the key for the chrome extension.
(In parent dir) Run the following command to generate an extension.
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --pack-extension=./fleetd-chrome --pack-extension-key=path/to/chrome.pem
Adding Chrome to Fleet
To learn how to package and add hosts to Fleet, visit: https://fleetdm.com/docs/using-fleet/adding-hosts#add-chromebooks-with-the-fleetd-chrome-extension.
Debugging
Service worker
View service worker logs in chrome://serviceworker-internals/?devtools (in production), or in chrome://extensions (only during development).
Manual Enroll
Steps 1 and 2 can be performed on your workstation. Step 3 and 4 are to be executed on the target Chromebook.
- Create your .env file:
IMPORTANT: The address in
FLEET_URLmust have a valid TLS certificate.
echo 'FLEET_URL="https://your-fleet-server.example.com"' >> .env
echo 'FLEET_ENROLL_SECRET="<your enroll secret>"' >> .env
To test with your local Fleet server, you can use ngrok:
ngrok http https://localhost:8080
- Build the "unpacked extension":
npm install && npm run build
The above command will generate an unpacked extension in ./dist.
-
Send the
./distfolder to the target Chromebook. -
In the target Chromebook, go to
chrome://settings, toggleDeveloper modeand click onLoad unpackedand select thedistfolder.