Skip to content

Getting Started

Bryan Mikaelian edited this page Jul 30, 2024 · 36 revisions

Venn is billing system that you can deploy on your own infrastructure. This all starts with the Venn Agent.

The agent is a standalone application that can be easily configured to talk to billing vendors and databases. Written in Clojure tt comes in two flavors: a Docker image or a standalone, pre-built JAR file.

Clojure currently supports all LTS version of Java. Those versions are currently Java 8, Java 11, and Java 17. We run CI again Java 11 and Java 17 but official releases of the agent only target Java 17. Java 8 is not supported at this time.

Using the Venn Agent as a library is not supported at this time.

Installing via Docker

The preferred way to run the agent is via Docker. We have three tagged versions of our image:

  • main which refers to a snapshot of what is on the main branch. This tag is updated on ever PR merge, so use at your own risk.
  • latest which refers to the latest release
  • A specific SEMVER that points an individual release

Images are currently pushed to the GitHub Docker Registry.

To run the agent via Docker, first follow the instructions on GitHub to pull the image. Remember, the main tag points to whatever is on the main branch which could be unstable. The recommended tags are either latest or a specific release.

Once you pulled the image, the agent can be started via docker run like so:

docker run agent:TAG

Using the Stand-alone JAR

A standalone jar file is also published to our GitHub Package Registry and our Maven Central repository. Again, this jar is built for Java 17 only. We have both SNAPSHOT and release versions available.

⚠️ Heads up: Our Maven Central repository is currently down. ⚠️

Download the appropriate jar from our GitHub Package Registry or Maven Central. Once downloaded, you can run your jar like so:

java -jar target/agent-standalone.jar

Other versions of Java

If you need to target a different version of Java, you can download the source code and build a JAR file yourself.

  1. Download babashka and confirm your installation works.
  2. Clone the repo and git checkout the appropriate release branch that you need.
git clone https://github.com/venn-billing/agent
  1. Verify the version of Java you need is correct
java -version
  1. Build the jar file using babashka bb.
bb uberjar

Your jar file will now be available in the target directory with the name agent-standalone.jar

You can run your jar like so

java -jar target/agent-standalone.jar
Clone this wiki locally