A CLI for pushing generated data to API end points for testing and experimentation.
Note: This project is in the very early stages of development. Feel free to jump into the issues, read up, or submit features or ping me @Adron to discuss.
Colligere CLI Application Feature Descriptions
The idea behind this CLI is to specifically create a way to send generated data against a particular API end point.
Setup a standard Go environment. Then install Go Dependency tool. Installation instructions are here.
Then clone to a local repository and run
git clone firstname.lastname@example.org:ThrashingCode/colligere.git dep ensure
Ideally make yourself a branch to do the coding, research, and testing on. Then run
go build and enjoy your coding. Happy hacking!
For getting up and running to work against a Cassandra Node with Docker follow these steps.
More to come for this section
docker run --name colligere-cassandra -d cassandra:3.11.3 docker exec -it colligere-cassandra bash
To be written...
The CLI will generate real world style data to submit via a schema. The schema will dictate basic structure from data types, how many elements of data to generate, and the particular kind of data. For example, data types would include types like integer, float, strings, and similar. The number of elements will simply be the number of items to generate in total. The kind of data would entail things like addresses, names, first names, last names, zip codes, credit cards, general lorum ipsum, and other kinds.
Check out examples of the schema & related information here.
The end point in which the CLI can submit to woul include a singular URI end point where the data payload would be sent. Using HTTP, with a verb - the default being POST - the data would be sent readily as a singular request.
Future Feature Ideas & Thoughts
The submission of data could be changed to be generated and sent via an ongoing stream of data vs as a bulk clump of data for ingest.
Another feature may be to rate limit, or regulate the submission of data sent to the end point.
Threading/Go Routines could be added, and maybe even a parameter, to add how many go routines would be used to simultaneously send requests to the end point.