diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fa12f99..da51aaf4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ * Added remote IP in the logs for all osqueryd/launcher requests. (#1653) -* Fixed bugs that caused logs to sometimes be ommited from the logwriter. (#1636, #1617) +* Fixed bugs that caused logs to sometimes be omitted from the logwriter. (#1636, #1617) * Fixed a bug where request bodies were not being explicitly closed. (#1613) @@ -163,7 +163,7 @@ See https://wiki.mozilla.org/Security/Server_Side_TLS for more information on th * Improve platform detection accuracy. - Previously Kolide was determing platform based on the OS of the system osquery was built on instead of the OS it was running on. Please note: Offline hosts may continue to report an erroneous platform until they check-in with Kolide. + Previously Kolide was determining platform based on the OS of the system osquery was built on instead of the OS it was running on. Please note: Offline hosts may continue to report an erroneous platform until they check-in with Kolide. * Fix bugs where query links in the pack sidebar pointed to the wrong queries. diff --git a/docs/cli/README.md b/docs/cli/README.md index 728a944c..ce51125e 100644 --- a/docs/cli/README.md +++ b/docs/cli/README.md @@ -1,7 +1,7 @@ CLI Documentation ================= -Kolide Fleet provides a server which allows you to manage and orchestrate an osquery deployment across of a set of workstations and servers. For certain use-cases, it makes sense to maintain the configuration and data of an osquery deployment in source-controlled files. It is also desireable to be able to manage these files with a familiar command-line tool. To facilitate this, we are working on an experimental CLI called `fleetctl`. +Kolide Fleet provides a server which allows you to manage and orchestrate an osquery deployment across of a set of workstations and servers. For certain use-cases, it makes sense to maintain the configuration and data of an osquery deployment in source-controlled files. It is also desirable to be able to manage these files with a familiar command-line tool. To facilitate this, we are working on an experimental CLI called `fleetctl`. ### Warning: In Progress @@ -18,7 +18,7 @@ Inspiration for the `fleetctl` command-line experience as well as the file forma The `fleetctl` tool is heavily inspired by the [`kubectl`](https://kubernetes.io/docs/user-guide/kubectl-overview/) tool. If you are familiar with `kubectl`, this will all feel very familiar to you. If not, some further explanation would likely be helpful. -Fleet exposes the aspects of an osquery deployment as a set of "objects". Objects may be a query, a pack, a set of configuration options, etc. The documentaiton for [Declarative Management of Kubernetes Objects Using Configuration Files](https://kubernetes.io/docs/tutorials/object-management-kubectl/declarative-object-management-configuration/) says the following about the object lifecycle: +Fleet exposes the aspects of an osquery deployment as a set of "objects". Objects may be a query, a pack, a set of configuration options, etc. The documentation for [Declarative Management of Kubernetes Objects Using Configuration Files](https://kubernetes.io/docs/tutorials/object-management-kubectl/declarative-object-management-configuration/) says the following about the object lifecycle: > Objects can be created, updated, and deleted by storing multiple object configuration files in a directory and using `kubectl apply` to recursively create and update those objects as needed. @@ -93,7 +93,7 @@ When you reason about how to manage these config files, consider following the [ - Group related objects into a single file whenever it makes sense. One file is often easier to manage than several. See the [config-single-file.yml](../../examples/config-single-file.yml) file as an example of this syntax. - Don’t specify default values unnecessarily – simple and minimal configs will reduce errors. -All of these files can be concatenated together into [one file](../../examples/config-single-file.yml) (seperated by `---`), or they can be in [individual files with a directory structure](../../examples/config-many-files) like the following: +All of these files can be concatenated together into [one file](../../examples/config-single-file.yml) (separated by `---`), or they can be in [individual files with a directory structure](../../examples/config-many-files) like the following: ``` |-- config.yml diff --git a/docs/development/development-infrastructure.md b/docs/development/development-infrastructure.md index 15e2e6d0..fa24e00a 100644 --- a/docs/development/development-infrastructure.md +++ b/docs/development/development-infrastructure.md @@ -29,7 +29,7 @@ fleet prepare db ## Running Fleet using Docker development infrastructure -To start the Fleet server backed by the Docker development infrasturcture, run the Fleet binary as follows: +To start the Fleet server backed by the Docker development infrastructure, run the Fleet binary as follows: ``` fleet serve diff --git a/frontend/osquery_tables.json b/frontend/osquery_tables.json index 23e458c1..0ea27a4c 100644 --- a/frontend/osquery_tables.json +++ b/frontend/osquery_tables.json @@ -79,7 +79,7 @@ {"description": "The name of the class.","name": "class","options": {},"type": "TEXT_TYPE"}, {"description": "Relative path to the class or instance.","name": "relative_path","options": {},"type": "TEXT_TYPE"} ], - "description": "WMI CommandLineEventConsumer, which can be used for persistance on Windows. https://www.blackhat.com/docs/us-15/materials/us-15-Graeber-Abusing-Windows-Management-Instrumentation-WMI-To-Build-A-Persistent%20Asynchronous-And-Fileless-Backdoor-wp.pdf", + "description": "WMI CommandLineEventConsumer, which can be used for persistence on Windows. https://www.blackhat.com/docs/us-15/materials/us-15-Graeber-Abusing-Windows-Management-Instrumentation-WMI-To-Build-A-Persistent%20Asynchronous-And-Fileless-Backdoor-wp.pdf", "examples": [ "select filter,consumer,query,command_line_template from wmi_filter_consumer_binding wcb join wmi_cli_event_consumers wcec on consumer = wcec.__relpath join wmi_event_filters wef on wef.__relpath = wcb.filter;" ], @@ -135,7 +135,7 @@ {"description": "The name of the class.","name": "class","options": {},"type": "TEXT_TYPE"}, {"description": "Relative path to the class or instance.","name": "relative_path","options": {},"type": "TEXT_TYPE"} ], - "description": "WMI ActiveScriptEventConsumer, which can be used for persistance on Windows. https://www.blackhat.com/docs/us-15/materials/us-15-Graeber-Abusing-Windows-Management-Instrumentation-WMI-To-Build-A-Persistent%20Asynchronous-And-Fileless-Backdoor-wp.pdf", + "description": "WMI ActiveScriptEventConsumer, which can be used for persistence on Windows. https://www.blackhat.com/docs/us-15/materials/us-15-Graeber-Abusing-Windows-Management-Instrumentation-WMI-To-Build-A-Persistent%20Asynchronous-And-Fileless-Backdoor-wp.pdf", "examples": [ "select filter,consumer,query,scripting_engine,script_text from wmi_filter_consumer_binding wcb join wmi_script_event_consumers wsec on consumer = wsec.__relpath join wmi_event_filters wef on wef.__relpath = wcb.filter;" ], @@ -188,7 +188,7 @@ "blacklisted": false, "columns": [ {"description": "The local owner of authorized_keys file","name": "uid","options": {"additional": true},"type": "BIGINT_TYPE"}, - {"description": "algorithim of key","name": "algorithm","options": {},"type": "TEXT_TYPE"}, + {"description": "algorithm of key","name": "algorithm","options": {},"type": "TEXT_TYPE"}, {"description": "parsed authorized keys line","name": "key","options": {},"type": "TEXT_TYPE"}, {"description": "Path to the authorized_keys file","name": "key_file","options": {},"type": "TEXT_TYPE"} ], @@ -1220,7 +1220,7 @@ {"description": "Platform information.","name": "platform_info","options": {},"type": "BIGINT_TYPE"}, {"description": "Performance setting for the processor.","name": "perf_ctl","options": {},"type": "BIGINT_TYPE"}, {"description": "Performance status for the processor.","name": "perf_status","options": {},"type": "BIGINT_TYPE"}, - {"description": "Bitfield controling enabled features.","name": "feature_control","options": {},"type": "BIGINT_TYPE"}, + {"description": "Bitfield controlling enabled features.","name": "feature_control","options": {},"type": "BIGINT_TYPE"}, {"description": "Run Time Average Power Limiting power limit.","name": "rapl_power_limit","options": {},"type": "BIGINT_TYPE"}, {"description": "Run Time Average Power Limiting energy status.","name": "rapl_energy_status","options": {},"type": "BIGINT_TYPE"}, {"description": "Run Time Average Power Limiting power units.","name": "rapl_power_units","options": {},"type": "BIGINT_TYPE"} @@ -1911,7 +1911,7 @@ "columns": [ {"description": "Daemon or agent service name","name": "label","options": {},"type": "TEXT_TYPE"}, {"description": "Name of the override key","name": "key","options": {},"type": "TEXT_TYPE"}, - {"description": "Overriden value","name": "value","options": {},"type": "TEXT_TYPE"}, + {"description": "Overridden value","name": "value","options": {},"type": "TEXT_TYPE"}, {"description": "User ID applied to the override, 0 applies to all","name": "uid","options": {},"type": "BIGINT_TYPE"}, {"description": "Path to daemon or agent plist","name": "path","options": {},"type": "TEXT_TYPE"} ], @@ -2084,7 +2084,7 @@ {"description": "Real user ID of the user process using the file","name": "uid","options": {},"type": "BIGINT_TYPE"}, {"description": "Effective user ID of the process using the file","name": "euid","options": {},"type": "BIGINT_TYPE"}, {"description": "Real group ID of the process using the file","name": "gid","options": {},"type": "BIGINT_TYPE"}, - {"description": "Effective group ID of the processs using the file","name": "egid","options": {},"type": "BIGINT_TYPE"}, + {"description": "Effective group ID of the processes using the file","name": "egid","options": {},"type": "BIGINT_TYPE"}, {"description": "Indicates the mode of the file","name": "mode","options": {},"type": "BIGINT_TYPE"}, {"description": "User ID of the owner of the file","name": "owner_uid","options": {},"type": "BIGINT_TYPE"}, {"description": "Group ID of the owner of the file","name": "owner_gid","options": {},"type": "BIGINT_TYPE"}, diff --git a/server/datastore/datastore_yara_test.go b/server/datastore/datastore_yara_test.go index 2ff92e64..de8bf66c 100644 --- a/server/datastore/datastore_yara_test.go +++ b/server/datastore/datastore_yara_test.go @@ -88,7 +88,7 @@ func testYARATransactions(t *testing.T, ds kolide.Datastore) { yaraSection, err := ds.YARASection() require.Nil(t, err) require.NotNil(t, yaraSection) - // there shouldn't be any file paths because we rolled back the transaciton + // there shouldn't be any file paths because we rolled back the transaction require.Len(t, yaraSection.FilePaths, 0) // try it again diff --git a/server/datastore/mysql/options.go b/server/datastore/mysql/options.go index e5237a43..924b773f 100644 --- a/server/datastore/mysql/options.go +++ b/server/datastore/mysql/options.go @@ -72,7 +72,7 @@ func (d *Datastore) ResetOptions() (opts []kolide.Option, err error) { } err = txn.Commit() if err != nil { - return nil, errors.Wrap(err, "commiting reset options") + return nil, errors.Wrap(err, "committing reset options") } return opts, nil diff --git a/server/health/health.go b/server/health/health.go index fc78e168..e55b9aa4 100644 --- a/server/health/health.go +++ b/server/health/health.go @@ -15,7 +15,7 @@ type Checker interface { // Handler returns an http.Handler that checks the status of all the dependencies. // Handler responds with either: -// 200 OK if the server can successfuly communicate with it's backends or +// 200 OK if the server can successfully communicate with it's backends or // 500 if any of the backends are reporting an issue. func Handler(logger log.Logger, checkers map[string]Checker) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { diff --git a/server/kolide/app.go b/server/kolide/app.go index df7b5bbe..808fa7bf 100644 --- a/server/kolide/app.go +++ b/server/kolide/app.go @@ -123,11 +123,11 @@ type AppConfig struct { // MetadataURL is a URL provided by the IDP which can be used to download // metadata MetadataURL string `db:"metadata_url"` - // IDPName is a human freindly name for the IDP + // IDPName is a human friendly name for the IDP IDPName string `db:"idp_name"` // EnableSSO flag to determine whether or not to enable SSO EnableSSO bool `db:"enable_sso"` - // FIMInterval defines the interval when file integrity checks will occurr + // FIMInterval defines the interval when file integrity checks will occur FIMInterval int `db:"fim_interval"` } @@ -154,7 +154,7 @@ type SSOSettingsPayload struct { // MetadataURL is a URL provided by the IDP which can be used to download // metadata MetadataURL *string `json:"metadata_url"` - // IDPName is a human freindly name for the IDP + // IDPName is a human friendly name for the IDP IDPName *string `json:"idp_name"` // EnableSSO flag to determine whether or not to enable SSO EnableSSO *bool `json:"enable_sso"` diff --git a/server/kolide/import_config.go b/server/kolide/import_config.go index 52ae2482..7d06633a 100644 --- a/server/kolide/import_config.go +++ b/server/kolide/import_config.go @@ -56,7 +56,7 @@ type ImportStatus struct { // SkipCount count of items that are skipped. The reasons for the omissions // can be found in Warnings. SkipCount int `json:"skip_count"` - // Warnings groups catagories of warnings with one or more detail messages. + // Warnings groups categories of warnings with one or more detail messages. Warnings map[WarningType][]string `json:"warnings"` // Messages contains an entry for each import attempt. Messages []string `json:"messages"` diff --git a/server/kolide/import_config_unmarshaler.go b/server/kolide/import_config_unmarshaler.go index 50aaf264..82b3473a 100644 --- a/server/kolide/import_config_unmarshaler.go +++ b/server/kolide/import_config_unmarshaler.go @@ -13,7 +13,7 @@ var wrongTypeError = errors.New("argument missing or unexpected type") // UnmarshalJSON custom unmarshaling for PackNameMap will determine whether // the pack section of an osquery config file refers to a file path, or // pack details. Pack details are unmarshalled into into PackDetails structure -// as oppossed to nested map[string]interface{} +// as opposed to nested map[string]interface{} func (pnm PackNameMap) UnmarshalJSON(b []byte) error { var temp map[string]interface{} err := json.Unmarshal(b, &temp) diff --git a/server/logwriter/logwriter.go b/server/logwriter/logwriter.go index d674be98..715edc55 100644 --- a/server/logwriter/logwriter.go +++ b/server/logwriter/logwriter.go @@ -16,7 +16,7 @@ type logWriter struct { mtx sync.Mutex } -// New creates a logwriter, path refers to file that will recieve log content +// New creates a logwriter, path refers to file that will receive log content func New(path string) (io.WriteCloser, error) { file, err := os.OpenFile(path, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0644) if err != nil { diff --git a/server/service/service_sessions_test.go b/server/service/service_sessions_test.go index 2dbd84da..b01bd43e 100644 --- a/server/service/service_sessions_test.go +++ b/server/service/service_sessions_test.go @@ -45,7 +45,7 @@ func TestAuthenticate(t *testing.T) { user := tt.user ctx := context.Background() loggedIn, token, err := svc.Login(ctx, tt.username, tt.password) - require.Nil(st, err, "login unsuccesful") + require.Nil(st, err, "login unsuccessful") assert.Equal(st, user.ID, loggedIn.ID) assert.NotEmpty(st, token) diff --git a/server/service/service_users_test.go b/server/service/service_users_test.go index 2d56429b..43405b09 100644 --- a/server/service/service_users_test.go +++ b/server/service/service_users_test.go @@ -583,7 +583,7 @@ func TestRequirePasswordReset(t *testing.T) { // Log user in if tt.Enabled { _, _, err = svc.Login(ctx, tt.Username, tt.PlaintextPassword) - require.Nil(t, err, "login unsuccesful") + require.Nil(t, err, "login unsuccessful") sessions, err = svc.GetInfoAboutSessionsForUser(ctx, user.ID) require.Nil(t, err) require.Len(t, sessions, 1, "user should have one session") diff --git a/tools/pkgrepos/README.md b/tools/pkgrepos/README.md index d24bd2cd..aa2bf6f1 100644 --- a/tools/pkgrepos/README.md +++ b/tools/pkgrepos/README.md @@ -69,7 +69,7 @@ go run package_metadata.go -repo /Users/$me/kolide_packages/ -git-tag=1.0.4 ``` 7. Create a git commit commit with the updated package repos. -The repo building scripts can be flaky, and occasionaly it's useful to use a `--reset HARD` flag with git to retry building the release. +The repo building scripts can be flaky, and occasionally it's useful to use a `--reset HARD` flag with git to retry building the release. 8. Push the release to gcloud. Pushing will override the contents of the gcs bucket and the release will be immediately available.