{"id":13833451,"url":"https://github.com/scribd/datadog_backup","last_synced_at":"2025-10-28T08:46:52.363Z","repository":{"id":37985263,"uuid":"279490604","full_name":"scribd/datadog_backup","owner":"scribd","description":"Backup your Datadog account.","archived":false,"fork":false,"pushed_at":"2025-03-25T18:13:26.000Z","size":16338,"stargazers_count":34,"open_issues_count":9,"forks_count":13,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-10-22T21:57:59.917Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/datadog_backup","language":"Ruby","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/scribd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-07-14T05:24:35.000Z","updated_at":"2025-03-27T16:43:53.000Z","dependencies_parsed_at":"2024-01-15T17:40:30.950Z","dependency_job_id":"4da20269-7d09-4320-8bc9-dd32c43331e5","html_url":"https://github.com/scribd/datadog_backup","commit_stats":{"total_commits":224,"total_committers":7,"mean_commits":32.0,"dds":0.5089285714285714,"last_synced_commit":"ee9b7971bfe729f74692636c4b20649ef2af2719"},"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"purl":"pkg:github/scribd/datadog_backup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Fdatadog_backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Fdatadog_backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Fdatadog_backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Fdatadog_backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scribd","download_url":"https://codeload.github.com/scribd/datadog_backup/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scribd%2Fdatadog_backup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281211339,"owners_count":26462074,"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","status":"online","status_checked_at":"2025-10-27T02:00:05.855Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-08-04T12:00:39.723Z","updated_at":"2025-10-28T08:46:52.341Z","avatar_url":"https://github.com/scribd.png","language":"Ruby","readme":"# Datadog Backup\n\n![Rspec and Release](https://github.com/scribd/datadog_backup/workflows/Rspec%20and%20Release/badge.svg)\n[![Gem Version](https://badge.fury.io/rb/datadog_backup.svg)](https://badge.fury.io/rb/datadog_backup)\n\nUse `datadog_backup` to backup your datadog account.\nCurrently supports\n\n  - dashboards\n  - monitors\n\nAdditional features may be built out over time.\n\n# v3 Migration\n\n## Breaking Changes\nv3 is a backwards incompatible change.\n\n- [ ] DATADOG_API_KEY and DATADOG_APP_KEY are no longer the environment variables used to authenticate to Datadog. Instead, set the environment variables DD_API_KEY and DD_APP_KEY.\n- [ ] ruby 2.7 is no longer supported. Please upgrade to ruby 3.0 or higher.\n- [ ] The options `--ssh` and `--ssshh` are no longer supported. Instead, please use `--quiet` to supress logging. `--debug` remains supported.\n- [ ] The environment variable `DATADOG_HOST` is no longer supported. Instead, please use `DD_SITE_URL`.\n\n## Misc\n- [ ] The legacy [dogapi-rb ](https://github.com/DataDog/dogapi-rb) gem is replaced with [faraday](https://lostisland.github.io/faraday/).  The [official client library](https://github.com/DataDog/datadog-api-client-ruby) was considered, but was not adopted as I had a hard time grok-ing it.\n\n\n## Installation\n\n```\ngem install datadog_backup\n```\n\n## Usage\n\n![demo](images/demo.gif)\n\n```\nDD_API_KEY=example123 DD_APP_KEY=example123 datadog_backup \u003cbackup|diffs|restore\u003e [--backup-dir /path/to/backups] [--debug] [--monitors-only] [--dashboards-only] [--diff-format color|html|html_simple] [--no-color] [--json]\n```\n\n```\ngem install datadog_backup\nexport DD_API_KEY=abc123\nexport DD_APP_KEY=abc123\n\n# Perform backup to `./backup/` using YAML encoding\ndatadog_backup backup\n\n# Make some changes\n\n# Just review the changes since last backup\ndatadog_backup diffs\n\n# Review the changes since last backup and apply local changes to datadog\n\ndatadog_backup restore\n```\n## Parameters\n\nSupply the following parameters in order to customize datadog_backup:\n\nparameter            | description                                                                                                                   | default\n---------------------|-------------------------------------------------------------------------------------------------------------------------------|--------------------------\n--debug              | log debug and above                                                                                                           | info\n--quiet              | only show errors and above                                                                                                    | info\n--backup-dir PATH    | path to the directory to backup to or restore from                                                                            | `./backup/`\n--monitors-only      | only backup monitors                                                                                                          | backup monitors and dashboards\n--dashboards-only    | only backup dashboards                                                                                                        | backup monitors and dashboards\n--json               | format backups as JSON instead of YAML. Does not impact `diffs` nor `restore`, but do not mix formats in the same backup-dir. | YAML\n--no-color           | removes colored output from diff format\n--diff-format FORMAT | one of `color`, `html_simple`, `html`                                                                                         | `color`\n--force-restore      | Force restore to Datadog. Do not ask to validate. Non-interactive.\n--disable-array-sort | Do not sort array elements, to preserver order of dashboard widgets.\n--h, --help          | help\n\n## Environment variables\n\nThe following environment variables can be set in order to further customize datadog_backup:\n\nenvironment variable | description                                                                      | default\n---------------------|--------------------------------------------------------------------------------|--------------------------\nDD_SITE_URL          | Describe the API endpoint to connect to (https://api.datadoghq.eu for example)   | https://api.datadoghq.com\nDD_API_KEY           | The API key for the Datadog account                                              | none\nDD_API_KEY           | The Application key for the Datadog account                                      | none\n\n\n### Usage in a Github repo\n\nSee [example/](https://github.com/scribd/datadog_backup/tree/main/example) for an example implementation as a repo that backs up your Datadog dashboards hourly.\n\n# Development\n\nReleases are cut using [semantic-release](https://github.com/semantic-release/semantic-release).\n\nPlease write commit messages following [Angular commit guidelines](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines)\n","funding_links":[],"categories":["Account Management"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscribd%2Fdatadog_backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscribd%2Fdatadog_backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscribd%2Fdatadog_backup/lists"}