The Trento runner is responsible of running the Trento configuration health checks among the installed Trento Agents. It is yet another component in the Trento project
stack, and in order to work, it needs to talk with the Trento Web component. So, this seconds component must be available before starting using the Runner.
In order to start using the Trento Runner, follow the next instructions.
In order to run the Trento Runner, some requirements must be installed. Here the most important ones.
- Golang == 1.16
- Python ~=3.7
- Ansible ~=2.26.0
In order to install all the Python dependencies, run:
pip install -r requirements.dev.txt
Once all the dependencies are installed and the binary is present (more instructions about how to build a development binary in the next chapters), this is how the Trento Runner works.
First of all, identify the address and port where the Trento Web component is running, as the Runner needs to communicate with him. After that, simply start the runner like:
./trento-runner start --api-host $trento-web-server --api-port $trento-web-server-port
# Run ./trento-runner -h to find additional options
The Trento Runner configuration health checks are written in Ansible, and all of them follow a similar approach. Find in this documentation page how to understand and write new checks.
We use GNU Make as a task manager; here are some common targets:
make # clean, test and build everything
make clean # removes any build artifact
make test # executes all the tests
make fmt # fixes code formatting
make generate # refresh automatically generated code (e.g. static Go mocks)
Feel free to peek at the Makefile to know more.
Additionally, for the development we use mockery
for the generate
target, which in turn is required for the test
target.
You can install it with go install github.com/vektra/mockery/v2
.
Be sure to add the
mockery
binary to your$PATH
environment variable so thatmake
can find it. That usually comes with configuring$GOPATH
,$GOBIN
, and adding the latter to your$PATH
.
The Dockerfile will automatically fetch all the required compile-time dependencies to build the binary and finally a container image with the fresh binary in it.
You can build the component like follows:
docker build -t trento-runner .
Please only report bugs via GitHub issues; for any other inquiry or topic use GitHub discussion.
See CONTRIBUTING.md
Copyright 2022 SUSE LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.