Proto commits in google/fleetspeak

These 94 commits are when the Protocol Buffers files have changed:

Commit:2d48ec2
Author:Torben Schmitz
Committer:Copybara-Service

No public description FUTURE_COPYBARA_INTEGRATE_REVIEW=https://github.com/google/fleetspeak/pull/562 from google:spanner-preview 1d6e34dfe6fb0d12cc22a9e70e8f03b4013ca4f2 PiperOrigin-RevId: 738434459

The documentation is generated from this commit.

Commit:053c50f
Author:Dan Aschwanden

Adds github action commands for Spanner

The documentation is generated from this commit.

Commit:4027d55
Author:Torben Schmitz
Committer:Copybara-Service

Change the semantics of message annotations. They are not necessarily only for debugging information and can be used by message consumers and/or Fleetspeak component implementations such as services as they see fit. PiperOrigin-RevId: 706708191

Commit:697afc0
Author:Torben Schmitz
Committer:Copybara-Service

Harden StdinService configs Make StdinService configs explicitly opt into accepting args or stdin by the incoming InputMessages. Because there are no known users of StdinService, this should not break any existing configs. PiperOrigin-RevId: 704641242

Commit:ceb2de0
Author:Günther Noack
Committer:Copybara-Service

stdinservice: Simplify (Remove resource usage monitoring feature) We are not aware of anyone using this. If you do, please speak up! PiperOrigin-RevId: 704357387

Commit:54ba6f0
Author:Dan

Incorporates reviewer feedback

Commit:0269fdb
Author:daschwanden
Committer:GitHub

Merge branch 'google:master' into feature/http2

Commit:4a0a64f
Author:Torben Schmitz
Committer:Copybara-Service

Add client option to compress outbound traffic. The option to enable compression can be found in communicator settings, which are typically located in the communicator.txt file in the configuration directory. PiperOrigin-RevId: 646824917

Commit:7411ed9
Author:Dan Aschwanden

Adds preferHttp transport config

Commit:6b28dc6
Author:Copybara-Service

Merge pull request #510 from dhrgit:cps PiperOrigin-RevId: 638960075

Commit:fe0ddb9
Author:Torben
Committer:GitHub

Revert "new service factory: CPS (Cloud Pub/Sub)"

Commit:f5c6219
Author:Dan Horobeanu
Committer:Dan Horobeanu

new service factory: CPS (Cloud Pub/Sub) This commit adds a new service factory, whereby messages are delivered by publishing to a Cloud Pub/Sub topic.

Commit:4f31f62
Author:Matthew Pfeiffer
Committer:Copybara-Service

Add server name field to config PiperOrigin-RevId: 628432290

Commit:343892b
Author:Günther Noack
Committer:Copybara-Service

daemonservice_test: Speed up test run * TestHeartbeat: Speed up by reducing timeouts and resource-monitoring periods * Use `time.Duration` where durations are used, instead of seconds * execution: adapt busySleep() to work with `time.Duration` * Rename "deadline" to "timeout" in sync with convention in package `context` * TestBacklog*, TestLoopback*: Drain the `sc.OutChan` on test shutdown * These four tests were stuck trying to shut down the test client (~20secs) * TestMemoryLimit: Sped up by reducing recource-monitoring periods PiperOrigin-RevId: 599509820

Commit:012a98c
Author:Dan

Adds envoy xfcc header processing

Commit:6f82fce
Author:Copybara-Service

Merge pull request #390 from daschwanden:feature-frontend-cleartext PiperOrigin-RevId: 581519910

Commit:9215591
Author:Dan

Addresses reviewer feedback

Commit:2340a97
Author:Dan

Adds communicator test cases

Commit:6a7e590
Author:Dan

Adds changes for clear text frontend mode

Commit:6ae404f
Author:Dan

Fix proto comment

Commit:3472d2c
Author:Dan

Addresses reviewer feedback re documenting protos.

Commit:e883675
Author:Dan

Implements client certificate checksum header

Commit:91bc25a
Author:daschwanden
Committer:GitHub

Merge branch 'master' into client-cert-header

Commit:be7ec56
Author:Dan

Addresses reviewer feedback

Commit:75a76ba
Author:Torben Schmitz
Committer:Copybara-Service

Use more structured frontend mode configuration PiperOrigin-RevId: 574161588

Commit:94b5e10
Author:Torben Schmitz
Committer:torsm

No public description PiperOrigin-RevId: 572210614

Commit:3f279dc
Author:Dan

Adds test cases for checksum verification

Commit:3c4f73a
Author:daschwanden
Committer:GitHub

Merge branch 'google:master' into client-cert-header

Commit:96f54b2
Author:daschwanden
Committer:GitHub

Frontend mode enum (#379) Adds Frontend Mode enum logic that requires an explicit configuration setting to change the frontend certificate-checking behavior.

Commit:8d41a1a
Author:Dan

Implements client side cert header

Commit:4c8faeb
Author:torsm

Format Proto files

Commit:4159c23
Author:Torben
Committer:GitHub

Merge pull request #364 from coperni/client-certificate-header Allow Fleetspeak server to validate client certificate in http header

Commit:ab4c77b
Author:Torben

Remove fleetspeak/src/osquery

Commit:fbe866d
Author:copenri
Committer:copenri

Add client certificate validation for http headers

Commit:5cbf770
Author:mbushkov
Committer:GitHub

Notifying server-side services about blocked status of clients. (#360) * Added is_blocklisted_source to common.Message. * Filling Message.is_blocklisted_source when processing stored messages.

Commit:7c60b8f
Author:mbushkov
Committer:GitHub

Extended StreamClientIds to filter by "last contact time" and "blacklisted" attributes. (#356) * Changed the Datastore StreamClientIds signature, added implementations for MySQL and Sqlite, added tests. * Along the way: made datatore's AddClient write the "Blacklisted" attribute of the incoming ClientData to the database. Added a test to enforce this behavior. * Changed the gRPC proto for StreamClientIds method to accept "include_blacklisted" and "last_contact_after" attributes in the args.

Commit:110667a
Author:mol123
Committer:GitHub

Introduce new streaming RPCs to the admin server. (#320) * Introduce new streaming RPCs to the admin server. The new RPCs are: - `StreamClientIds` - `StreamClientContacts` The motivation is that both the client and client contacts tables can be very large. * MySQL datastore: use `runOnce` for streaming operations. * Clear res[] on retry.

Commit:cf70b7c
Author:mol123
Committer:GitHub

Add GetPendingMessages RPC to admin server. (#315)

Commit:3846fec
Author:mol123
Committer:GitHub

Make the https component of the fleetspeak server optional. (#310) * Make the https component of the fleetspeak server optional. This change makes it possible to run a pure fleetspeak admin server (without running a HTTPS server as well). The purpose of this change is to enable a distributed open source setup, consisting of multiple HTTPS servers behind a load balancer and multiple admin servers behind a second load balancer. The pure admin server needs to be able to use a http based notifier, without running a http based notification listener as well. For this, a new config option is introduced. * Improve comment for https_config.

Commit:b5ca543
Author:mbushkov
Committer:GitHub

Updating to Go 1.15 and fixing protobufs compilation. (#304) * Updated to Go 1.15 - the latest stable release (1.13 seems to have a slightly different modules behaviour). * Updating Go implies rebuilding protobufs. Along the way greatly simplified protobufs compilation and fixed .proto definitions to not generate protoc compiler warnings. * Committing updated go.mod and go.sum.

Commit:7c1f1c8
Author:mbushkov
Committer:GitHub

Monitoring number of open file descriptors on the clients. (#303) * Monitoring number of open file descriptors. * Currently working only on Linux. * Aggregating data on the client and storing in ClientResourceUsageRecords on the server.

Commit:e36a580
Author:tsehori
Committer:GitHub

Support time range in FetchResourceUsageRecords instead of limit (#294)

Commit:616a079
Author:tsehori
Committer:GitHub

Add RPC method to call FetchResourceUsageRecords over gRPC service (#281) This PR exposes FetchResourceUsageRecords datastore method to the existing admin gRPC service by creating a RPC method FetchClientResourceUsageRecords and two corresponding RPC messages FetchClientResourceUsageRecordsRequest and FetchClientResourceUsageRecordsResponse.

Commit:957c0f2
Author:Alexandr Tsaplin
Committer:GitHub

Add test with unicast message (#278) * Add testing unicast messages * Start using server notifications * Add separate function createUnicastRequest() * Refactor tests and fix unicastMessagesTest * Fix lint error

Commit:f90a37f
Author:Alexandr Tsaplin
Committer:GitHub

Add health checks (#276) * Add health checks - Added optional health check service to fleetspeak server binary. It's a simple http server that respondes with 200 OK status on all requests. - Updated configs of FS servers in cloud installation: now all the servers start a health check service. - Added a firewall rule for health checks in Terraform config * Refactor Refactor modifyFleetspeakServerConfig() parameters. Start to use http.Server in server health checks.

Commit:15542db
Author:Alexandr Tsaplin
Committer:GitHub

Add methods to FRR grpc Master service (#251) * Add methods to FRR grpc Master service Added CreateHunt() and CompletedRequests() to Master service in frr.proto, and updated frr tests. These 2 methods will be used in Fleetspeak e2e testing framework * Return non-rpc FRR Master server methods * Add CreateHuntResponse message

Commit:0b20964
Author:tsehori
Committer:GitHub

Making Fleetspeak server metrics scrapable by Prometheus (#247) New prometheusStatsCollector exports metrics gathered from Fleetspeak server to Prometheus client, making the metrics scrapable.

Commit:fbf9f00
Author:mol123
Committer:GitHub

Add support for using a proxy in the client. (#229)

Commit:301ab58
Author:mbushkov
Committer:GitHub

Admin server can now be configured to run as part of a server binary. (#228) * Made admin server one of Fleetspeak server components. * Added default configuration entry for admin_config. * Simplistic e2e test.

Commit:0df49b3
Author:mbushkov
Committer:GitHub

Implemented "Die" and "RestartService" system actions. (#220)

Commit:bf9b1ce
Author:mbushkov
Committer:GitHub

Added DeletePendingMessages admin RPC call. (#215) * Added DeletePendingMessages database call and implemented it for MySQL and sqlite. * Added a corresponding admin RPC call. * Added a corresponding method to the Python client. This should help in cases when a client has a number of messages in the queue that can potentially take a long time to be processed. At the moment there's no way and no requirement to specify the service to delete the pending mesages for. This should be fine for the first iteration.

Commit:19b918c
Author:Mikhail Bushkov
Committer:mbushkov

Removed the demo folder. It's not used anywhere in tests and is essentially not maintained. Removing it in anticipation of GRR-based opensource testing.

Commit:58338f9
Author:Denver Ogaro
Committer:GitHub

Add support for storing debug information alongside messages. (#199)

Commit:74cddc2
Author:Ben Galehouse

Add notifier support to component module.

Commit:bbc5491
Author:Ben Galehouse
Committer:Denver Ogaro

Client 2 (#185) * Add streaming support to generic client. * fleetspeak_config writes a linux client configuration file. * Add persistence manager support to the generic client code. * example.config fixup * config_windows.go fixup * Write darwin and windows client configs. * config.go fixup * Review fixup.

Commit:826fefa
Author:Ben Galehouse
Committer:Denver Ogaro

Client Packaging (#184) * Fix a few outdated comments. * Initial generic client configuration proto format. * Initial generic client entry point. * Rename server package building code. * Initial client package build script.

Commit:40f6415
Author:Ben Galehouse
Committer:Denver Ogaro

Typo type fixes. (#183) * Minor fixes. * Fix typo.

Commit:9c6f08b
Author:Ben Galehouse

Fill out fleetspeak-config tool to handle server configuration. Add example input file, include in package.

Commit:904196e
Author:Ben Galehouse
Committer:Ben Galehouse

Config tool input proto.

Commit:3e7d892
Author:Ben Galehouse
Committer:Denver Ogaro

Plugins to components (#179) * Replace plugin system with simpler component configuration strategy. * Regen protos. * Remove reference to plugins from package build code. * Initial test of component configuration code. * Add copyright blocks and a few high level comments.

Commit:b9ab61a
Author:Ben Galehouse
Committer:Ben Galehouse

Review fixes.

Commit:93030b7
Author:Ben Galehouse
Committer:Ben Galehouse

Add proto for osquery connector.

Commit:0064d98
Author:Ben Galehouse
Committer:Ben Galehouse

Add per-service control message info to ContactData.

Commit:df0a5e5
Author:Ben Galehouse

Add plugin loading support for remaining component types.

Commit:a9d79e8
Author:Ben Galehouse

Add an https communicator plugin.

Commit:40489d7
Author:Ben Galehouse

Add support for Communicator plugins.

Commit:537bc98
Author:Ben Galehouse

Add support for loading service factories.

Commit:d199ad8
Author:Ben Galehouse

Initial plugin system. Implement plugins for sqlite and mysql. Define server binary which can be extended using plugins.

Commit:438dbe5
Author:Ben Galehouse

Review fixup.

Commit:634cde3
Author:Ben Galehouse

Add new control indicator to ContactData.

Commit:447bdbe
Author:Denver Ogaro

Add process_terminated field to ClientResourceUsageRecord proto.

Commit:fdb7f9a
Author:Ben Galehouse
Committer:Ben Galehouse

Further propagate notification subsystem.

Commit:0f4262b
Author:Ben Galehouse
Committer:Ben Galehouse

Begin implementing StreamingMessageServer. Supports streaming uploads, still needs support for streaming downloads, needs tests, etc.

Commit:b90c919
Author:Denver Ogaro

Send notifications to the server when services get killed by Fleetspeak.

Commit:c26a296
Author:Ben Galehouse
Committer:Ben Galehouse

Add std output configuration parameters.

Commit:0caaa44
Author:mlkm
Committer:mlkm

Implement heartbeat monitoring in daemonservices

Commit:120044a
Author:mlkm
Committer:mlkm

Implement daemonservice memory supervision This is similar to the Nanny functionality from the parent project, github.com/google/grr

Commit:caa9514
Author:Ben Galehouse

Support certificate chains.

Commit:f0787fe
Author:Ben Galehouse

Change validation info to a message with a dict of tags.

Commit:7714e8d
Author:Ben Galehouse
Committer:Ben Galehouse

Review fixes.

Commit:170f470
Author:Ben Galehouse
Committer:Ben Galehouse

Add resource monitoring params to service configs

Commit:6d594d9
Author:Ben Galehouse

Proto regen.

Commit:f8e365d
Author:Ben Galehouse

Add version to ResourceUsageData.

Commit:75425a5
Author:Ben Galehouse

Add version string to StartupData.

Commit:6aec046
Author:Ben Galehouse

Add blacklisted flag to fleetspeak.server.Client.

Commit:d6230f4
Author:Denver Ogaro
Committer:Denver Ogaro

Pull in changes from real repo.

Commit:e198c03
Author:Denver Ogaro
Committer:Denver Ogaro

Implement sending startup data through channels.

Commit:71210b9
Author:Ben Galehouse

Add background flag to fleetspeak.Message.

Commit:e9fe4b5
Author:Ben Galehouse
Committer:Ben Galehouse

Add LastClock to Client proto.

Commit:d751651
Author:Ben Galehouse
Committer:Ben Galehouse

Add current client time to ContactData.

Commit:01c4522
Author:Ben Galehouse

Add BlacklistClient to admin grpc interface.

Commit:61143cc
Author:Ben Galehouse
Committer:Ben Galehouse

Add ContactHistory call to admin interface.

Commit:5c9e04a
Author:mlkm

Sync with internal codebase

Commit:8bbbdb5
Author:mlkm
Committer:mlkm

Initial commit