github.com/google/fleetspeak@v0.1.15-0.20240426164851-4f31f62c1aea/README.md (about)

     1  # Fleetspeak
     2  
     3  [![.github/workflows/build.yml](https://github.com/google/fleetspeak/actions/workflows/build.yml/badge.svg)](https://github.com/google/fleetspeak/actions/workflows/build.yml)
     4  [![Go Report Card](https://goreportcard.com/badge/github.com/google/fleetspeak)](https://goreportcard.com/report/github.com/google/fleetspeak)
     5  
     6  Fleetspeak is a framework for communicating with a fleet of machines, with a
     7  focus on security monitoring and basic administrative use cases. It is a
     8  subproject of [GRR](https://github.com/google/grr/blob/master/README.md), and
     9  can be seen as an effort to modularizing and modernizing its communication
    10  mechanism.
    11  
    12  ## Status
    13  
    14  We have this code working internally as part of our GRR installation.
    15  
    16  ## Getting Started
    17  
    18  On linux, assuming a recent version of the go development environment (see the
    19  `go.mod` file for the exact requirement) and virtualenv, the following sequence
    20  of commands will build and test this pre-release:
    21  
    22  ```bash
    23  go get -v -t github.com/google/fleetspeak/...
    24  
    25  # Assuming default $GOPATH:
    26  cd ~/go/src/github.com/google/fleetspeak
    27  
    28  # Setup virtualenv - fleetspeak provides some python integration libraries,
    29  # and this ensures they are set up in a known way.
    30  virtualenv $HOME/FSENV
    31  source $HOME/FSENV/bin/activate
    32  
    33  # Pre-requisite to installing Fleetspeak (used to compile protos).
    34  pip install grpcio-tools
    35  
    36  pip install -e fleetspeak_python/
    37  
    38  # Set mysql parameters. The mysql datastore test will run if the following environment
    39  # variables are set. Otherwise it will be skipped.
    40  export MYSQL_TEST_USER=<username>
    41  export MYSQL_TEST_PASS=<password>   # will assume null password if unset.
    42  export MYSQL_TEST_ADDR=<host:port>
    43  
    44  # Build and test the release:
    45  fleetspeak/build.sh
    46  fleetspeak/test.sh
    47  ```
    48  
    49  Once built, you can take a look at the files and instructions in our
    50  [demo directory](https://github.com/google/fleetspeak/tree/master/fleetspeak/src/demo).
    51  
    52  ## DISCLAIMER
    53  
    54  While the code presented here is in some sense feature complete, much of it is
    55  barely tested or documented, and breaking changes are still possible. Therefore,
    56  please consider this a preview release while the dust settles. Suggestions and
    57  pull requests are very much appreciated.