.. | ||
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_URL
must 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
./dist
folder to the target Chromebook. -
In the target Chromebook, go to
chrome://settings
, toggleDeveloper mode
and click onLoad unpacked
and select thedist
folder.