{"id":13316344,"url":"https://github.com/kevindeyne/vardogr","last_synced_at":"2026-04-12T06:13:31.097Z","repository":{"id":37796222,"uuid":"134659777","full_name":"kevindeyne/vardogr","owner":"kevindeyne","description":"Vardøgr is a CLI that can push production-like data to test environments securely and at scale","archived":false,"fork":false,"pushed_at":"2023-02-23T17:13:59.000Z","size":1172,"stargazers_count":1,"open_issues_count":16,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-04T05:29:04.260Z","etag":null,"topics":["cli","data-generation","data-generator","database","mariadb","mysql","postgresql","scrambled-data"],"latest_commit_sha":null,"homepage":"https://kevindeyne.github.io/vardogr","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kevindeyne.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-24T04:11:06.000Z","updated_at":"2022-01-10T08:09:43.000Z","dependencies_parsed_at":"2023-01-30T19:00:25.367Z","dependency_job_id":null,"html_url":"https://github.com/kevindeyne/vardogr","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevindeyne%2Fvardogr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevindeyne%2Fvardogr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevindeyne%2Fvardogr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevindeyne%2Fvardogr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kevindeyne","download_url":"https://codeload.github.com/kevindeyne/vardogr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242944646,"owners_count":20210672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","data-generation","data-generator","database","mariadb","mysql","postgresql","scrambled-data"],"created_at":"2024-07-29T18:21:32.134Z","updated_at":"2026-04-12T06:13:31.061Z","avatar_url":"https://github.com/kevindeyne.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vardøgr\n![pre-release](https://github.com/kevindeyne/vardogr/workflows/pre-release/badge.svg)\n\nRealistic test data in development and qa environments can pinpoint bugs and performance issues early. However taking direct copies violates the security of data and takes time. It also does not scale. \n\nVardøgr is a tool that can push production-like data to test databases securely. It does this by generating a distribution model of the data first - describing the data and its relative distribution. \n\nIt can then run this model and generate data from it, either directly matching the origin size or scaling up. \n\n\u003cimg src=\"./explain.png\" alt=\"Image showcasing the description visually\" width=\"730\" height=\"432\"\u003e\n\n## Limitations\nCurrently using JOOQ's open source version, which only allows for connecting with open source databases. \nOnly tested with MariaDB, MySQL and PostgreSQL.\n\n## Commands\n\u003e build \n\nStart with this command. This will build up the distribution model from the production database. It will ask you for read-only credentials.\nUpon rerun, it will remember a valid configuration file and skip asking for credentials. Password is stored encrypted.\n\n\n\u003egenerate --factor 2 --clean\n\nThis takes a distribution model and applies it to a lower environment database. It will ask for credentials which require write access.\nThere are two parameters:\n- factor: Allows for scaling the model by a certain factor. Ie: generate --factor 2 will generate data 2x the size of the production data.\n- clean: By default, the generation 'appends'. Ie if a production table contains 100 records and the same table contains 25 records in test, by default it will only add 75 new records. By explicitly defining the clean option, it will trunctate the data first and create 100 brand new records.\n\nAlternatively, you can also use:\n\u003egenerate --fill 3000\n\nThis also takes a distribution model and applies it to a lower environment database. It will ask for credentials which require write access.\n- fill: Allows for scaling the model up to a certain record number. Ie: generate --fill 100 will generate data up to 100 records. If you already have data, those keep existing. You can use --clean to ensure it truncates data in the table before new data is added.\n\n\u003e help\n\nYou can always use help to get up to date documentation on available commands.\n\n\u003cimg src=\"./example.gif\" alt=\"Image showcasing the usage visually\" width=\"600\" height=\"304\"\u003e\n\n## How to build / run \nThis product uses Spring Shell and Maven. As such, you can build the project as such: \n\u003e mvn clean install\n\nand run it as such: \n\u003e mvn spring-boot:run\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevindeyne%2Fvardogr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkevindeyne%2Fvardogr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevindeyne%2Fvardogr/lists"}