DEPRECATED - please use clustergarage/argusd
2.3K
This repository implements a daemon process responsible for maintaining a collection of inotify-style listeners defined by the user to gain insights into when certain key events happen at the filesystem level of their container.
This daemon is able to perform a series of flexible tasks combined with a rich set of configurations around watching inode events:
inotify with recursive file tree options.Once cloned you should update the fim-proto submodule to make sure it's up-to-date with the latest shared definitions:
git submodule foreach git pull origin master
C++14 — for runtime, makes use of new language featurescmake v3.10+ — for building the binary locallygRPC — as a communication protocol to the controllerProtobuf — for a common type definitionTo build a local copy of the binary to run or troubleshoot with:
mkdir build && cd $_
cmake ..
make -j$(nproc --all)
Or if you wish to build as a Docker container and run this from a local registry:
docker build -t clustergarage/fimd .
To run locally, you must do so with elevated privilege in order to access the full rights to procfs:
# in the build/ directory
# running without secure credentials
sudo ./fimd
# running with secure credentials
sudo ./fimd -tls \
-tlscafile /etc/ssl/ca.pem \
-tlscertfile /etc/ssl/cert.pem \
-tlskeyfile /etc/ssl/key.pem
Warning: When running the daemon out-of-cluster in a VM-based Kubernetes context, it will fail to locate the PID from the container ID through numerous cgroup checks and will be unable to start any watchers. The solution to get around this is to either run a non-VM-based local Kubernetes, or to run as a pod inside the cluster. The configurations in order to do the latter option are located in the fim-k8s repo.
Content type
Image
Digest
Size
12.8 MB
Last updated
almost 8 years ago
docker pull clustergarage/fimd