This repository is a software development kit for Punch developers. It provides easy-to-start-with samples for various use cases, implemented using java, python and punchlang functions.
The punch online documentation is available here: https://doc.punchplatform.com.
The starter examples use either docker or a kubernetes cluster equipped with the punch services.
With docker you only need docker to be installed on your laptop. If your work with a target kubernetes cluster, make sure you installed 'kubectl' and have a valid '.kube/config' file.
Some sample punchlines are available in all runtimes : java, spark and python. Check out their guides to use them.
One easy way to package a punch application is to generate your own image together with the required punchlet(s) or custom functions. Check out the custom_images folder.
Punchlets are small arbitrary functions written using the punchlang language. Checkout the punchlets guide. Writing a punchlet is easy, testing it as easy.
A robust and industrial log parser requires one or more punchlet(s), some additional resource files, some documentation and a way to package everything so that your parsers can be easily deployed on a production punch.
The parser SDK provides you with a toolkit to handle of all these packaging issues. It also provides you with a unit test framework.
Checkout out the sample parser folder.
Checkout out the sample sigma_rule folder.
Mlflow model that can be used in a punchline
Checkout out the model guide.
You can write your own Java or Python functions using the punch SDK. Refer to the custom_nodes guide.
A simulator tool is provided to ease the day-to-day working with the punch.
To include these in your path type in:
. activate.sh
You can now inject logs by simply executing simulate.sh
from anywhere in the starters' repository.