mirror of
https://github.com/empayre/fleet.git
synced 2024-11-06 17:05:18 +00:00
d5f9fcaeb2
This PR adds support for file integrity monitoring. This is done by providing a simplified API that can be used to PATCH/GET FIM configurations. There is also code to build the FIM configuration to send back to osquery. Each PATCH request, if successful, replaces Fleet's existing FIM configuration. For example: curl -X "PATCH" "https://localhost:8080/api/v1/kolide/fim" \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uX2tleSI6IkVhaFhvZWswMGtWSEdaTTNCWndIMnhpYWxkNWZpcVFDR2hEcW1HK2UySmRNOGVFVE1DeTNTaUlFWmhZNUxhdW1ueFZDV2JiR1Bwdm5TKzdyK3NJUzNnPT0ifQ.SDCHAUA1vTuWGjXtcQds2GZLM27HAAiOUhR4WvgvTNY" \ -H "Content-Type: application/json; charset=utf-8" \ -d $'{ "interval": 500, "file_paths": { "etc": [ "/etc/%%" ], "users": [ "/Users/%/Library/%%", "/Users/%/Documents/%%" ], "usr": [ "/usr/bin/%%" ] } }'
62 lines
1.8 KiB
Go
62 lines
1.8 KiB
Go
package mock
|
|
|
|
//go:generate mockimpl -o datastore_users.go "s *UserStore" "kolide.UserStore"
|
|
//go:generate mockimpl -o datastore_invites.go "s *InviteStore" "kolide.InviteStore"
|
|
//go:generate mockimpl -o datastore_appconfig.go "s *AppConfigStore" "kolide.AppConfigStore"
|
|
//go:generate mockimpl -o datastore_licenses.go "s *LicenseStore" "kolide.LicenseStore"
|
|
//go:generate mockimpl -o datastore_labels.go "s *LabelStore" "kolide.LabelStore"
|
|
//go:generate mockimpl -o datastore_decorators.go "s *DecoratorStore" "kolide.DecoratorStore"
|
|
//go:generate mockimpl -o datastore_options.go "s *OptionStore" "kolide.OptionStore"
|
|
//go:generate mockimpl -o datastore_packs.go "s *PackStore" "kolide.PackStore"
|
|
//go:generate mockimpl -o datastore_hosts.go "s *HostStore" "kolide.HostStore"
|
|
//go:generate mockimpl -o datastore_fim.go "s *FileIntegrityMonitoringStore" "kolide.FileIntegrityMonitoringStore"
|
|
|
|
import "github.com/kolide/fleet/server/kolide"
|
|
|
|
var _ kolide.Datastore = (*Store)(nil)
|
|
|
|
type Store struct {
|
|
kolide.CampaignStore
|
|
kolide.SessionStore
|
|
kolide.PasswordResetStore
|
|
kolide.QueryStore
|
|
kolide.ScheduledQueryStore
|
|
kolide.YARAStore
|
|
kolide.TargetStore
|
|
FileIntegrityMonitoringStore
|
|
AppConfigStore
|
|
DecoratorStore
|
|
HostStore
|
|
InviteStore
|
|
LabelStore
|
|
LicenseStore
|
|
OptionStore
|
|
PackStore
|
|
UserStore
|
|
}
|
|
|
|
func (m *Store) Drop() error {
|
|
return nil
|
|
}
|
|
func (m *Store) MigrateTables() error {
|
|
return nil
|
|
}
|
|
func (m *Store) MigrateData() error {
|
|
return nil
|
|
}
|
|
func (m *Store) MigrationStatus() (kolide.MigrationStatus, error) {
|
|
return 0, nil
|
|
}
|
|
func (m *Store) Name() string {
|
|
return "mock"
|
|
}
|
|
|
|
type mockTransaction struct{}
|
|
|
|
func (m *mockTransaction) Commit() error { return nil }
|
|
func (m *mockTransaction) Rollback() error { return nil }
|
|
|
|
func (m *Store) Begin() (kolide.Transaction, error) {
|
|
return &mockTransaction{}, nil
|
|
}
|