2855bc8f7f
## Addresses #11037 ### Implement the `privacy_preferences` table for the Fleetd Chrome extension. Columns correspond to the available properties of [`chrome.privacy`](https://developer.chrome.com/docs/extensions/reference/privacy/). Chrome on mac: <img width="816" alt="Screenshot 2023-06-23 at 11 55 21 AM" src="https://github.com/fleetdm/fleet/assets/61553566/a4700749-6325-442e-acf2-c14b1c9adf8f"> Chromebook with enterprise access (actual use case): ![Image from iOS](https://github.com/fleetdm/fleet/assets/61553566/93f2243d-357a-4d85-bd20-0aebd178388c) * Chromebook w/o enterprise access: as you can see, sometimes certain APIs are not available - this error occurs because the expected API object that would have a `get` method is actually `undefined` TODO – How to handle this case given that we want to let errors bubble up to the level at which Fleet can catch them? Maybe it would be nice to catch such errors and send them up to the Fleet layer, and still allow the loop to continue to populate the columns whose APIs _are_ available. _Decision: catch API errors here to preserve functionality of the remaining columns_ ![IMG_9407](https://github.com/fleetdm/fleet/assets/61553566/7fb26eb4-44e8-43f8-90c0-8b3d718c5ace) - [x] Changes file - [x] Manual QA --------- Co-authored-by: Jacob Shandling <jacob@fleetdm.com> |
||
---|---|---|
.. | ||
tables | ||
fleet_schema.json | ||
osquery_fleet_schema.json | ||
README.md |
Hello! Welcome to Fleet's osquery tables documentation.
This folder contains additional documentation that we add on top of the existing documentation for osquery to make the documentation of each table more useful for Fleet users.
Fleet's schema tables live in the tables/
folder. Each osquery table with Fleet overrides has a corresponding YAML file that will override information in the osquery schema documentation.
The existing documentation data lives in the osquery repo at: https://github.com/osquery/osquery-site/tree/source/src/data/osquery_schema_versions.
You can open PRs against a table's YAML file in the tables/
folder or the osquery schema file. Just note that the data in a table's YAML file overwrites the osquery data whenever there is a conflict.
When adding a new YAML override to Fleet's osquery schema you can use this template:
name: # (required) string - The name of the table.
description: >- # (required) string - The description for this table. Note: this field supports markdown
# Add description here
examples: >- # (optional) string - An example query for this table. Note: This field supports markdown
# Add examples here
notes: >- # (optional) string - Notes about this table. Note: This field supports markdown.
# Add notes here
platforms: >- # (optional) array - A list of supported platforms for this table (any of: `darwin`, `windows`, `linux`, `chrome`)
# Add platforms here
columns: # (required) array - An array of columns in this table
- name: # (required) string - The name of the column
description: # (required) string - The column's description
type: # (required) string - the column's data type
required: # (required) boolean - whether or not this column is required to query this table.
platforms: # (optional) array - List of supported platforms, used to clarify when a column isn't available on every platform its table supports (any of: `darwin`, `windows`, `linux`, `chrome`)
Alternatively, if you want to add documentation about an osquery table for which we don't have a YAML override, you can find the table's page on the Fleet website and click the "edit page" button. Clicking this button will take you to the GitHub web editor with the template pre-filled. After you add information about the table and its columns, you can open a new pull request to add the new YAML file to Fleet's overrides.