Metadata-Version: 2.1
Name: grove
Version: 0.102rc0
Summary: Grove
Home-page: https://github.com/implydata/grove
Author: gian
Author-email: gian@imply.io
License: UNKNOWN
Platform: UNKNOWN
Requires-Python: >=3.8
Requires-Dist: PyYaml~=6.0.2
Requires-Dist: boto3~=1.37.4
Requires-Dist: yarl~=1.15.2
Requires-Dist: aiohttp~=3.10.11
Requires-Dist: aiofiles~=24.1.0

# grove-agent

The Grove Python project. Grove is a system used for managing imply services running on both cloud and on-premise environements. It consists of a grove-server which communicates with a set of grove-agents. The grove-server pushes down configuration to grove-agents, including telling them to become a certain type of instance, which is defined by a particular deployment profile. Grove agents send heart beats to the grove-server letting it know that they are alive.

## What is in this repo
1. Grove-agent
2. Grove-server
3. Various Grove tools and scripts.

## Getting started

See [Grove for building and deploying Imply Services](https://implydata.atlassian.net/wiki/spaces/ENG/pages/254279727/Grove+for+building+and+deploying+Imply+services)


## Running Grove server locally

#### Install grove locally with command
```
# Install grove
python3 setup.py bdist_wheel
pip3 install --upgrade --force-reinstall dist/grove-*-py3-none-any.whl
```

#### Run default grove-server

```
grove-server
```
#### Run default grove-server in auth/ssl mode

```
# Configure the auth/ssl config file for grove
cat <<EOT > ${grove_config_file_location}/grove.yaml
server_username: 'imply'
server_password: 'fake_token'
server_ca_cert: '${grove_config_file_location}/ca.crt'
server_ssl_key: '${grove_config_file_location}/onprem.key'
server_ssl_cert: '${grove_config_file_location}/onprem.crt'
EOT

# Start the grove-server with grove_config specified
GROVE_CONFIG=${grove_config_file_location}/grove.yaml grove-server
```
Copy the ca.crt, onprem.key, onprem.crt from https://github.com/implydata/distribution/tree/master/onprem/src/baremetal/dev/assets

