{"id":20334965,"url":"https://github.com/mdb/aka-archiver","last_synced_at":"2026-04-12T08:38:25.303Z","repository":{"id":137137422,"uuid":"45319952","full_name":"mdb/aka-archiver","owner":"mdb","description":"A CLI tool and NPM module that backs up Akamai GTM configuration to a git repository","archived":false,"fork":false,"pushed_at":"2015-12-08T13:20:04.000Z","size":31,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-17T16:55:26.227Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-31T22:07:31.000Z","updated_at":"2016-10-31T00:28:58.000Z","dependencies_parsed_at":"2023-03-14T14:21:13.924Z","dependency_job_id":null,"html_url":"https://github.com/mdb/aka-archiver","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/mdb/aka-archiver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdb%2Faka-archiver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdb%2Faka-archiver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdb%2Faka-archiver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdb%2Faka-archiver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdb","download_url":"https://codeload.github.com/mdb/aka-archiver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdb%2Faka-archiver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31709294,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T06:22:27.080Z","status":"ssl_error","status_checked_at":"2026-04-12T06:21:52.710Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-11-14T20:38:45.561Z","updated_at":"2026-04-12T08:38:25.275Z","avatar_url":"https://github.com/mdb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/mdb/aka-archiver.svg?branch=master)](https://travis-ci.org/mdb/aka-archiver)\n\n# aka-archiver\n\nA Node-based CLI tool and NPM module that saves Akamai GTM configuration to local JSON files \u0026 git.\n\n`aka-archiver` also offers Akamai GTM restoration functionality.\n\n## Why?\n\nAkamai provides no rollback functionality, version control, or backups of GTM domain, property, and data center configuration.\n\n`aka-archiver` saves GTM configuration to JSON files. The JSON can be used to restore your Akamai GTM configuration should it disappear or be problematically modified.\n\n## Installation\n\n```\nnpm install -g aka-archiver\n```\n\n## Usage\n\n`aka-archiver` can be used as an NPM module or as a CLI.\n\n### Module usage\n\n`aka-archiver`'s API leverages JavaScript promises.\n\n#### Basic Usage, TL;DR\n\nBack up all GTM configuration and commit/push the JSON configuration to a git repo:\n\n```javascript\nvar Archiver = require('aka-archiver'),\n    archiver = new Archiver({\n      clientToken: 'yourClientToken',\n      clientSecret: 'yourClientSecret',\n      accessToken: 'yourAccessToken',\n      edgegridHost: 'yourEdgegridHost'\n    });\n\narchiver.all()\n  .then(archiver.archive)\n  .then(function(msg) {\n    console.log(msg);\n  });\n});\n```\n\nNote that this defaults to `origin`, `master`.\n\nTo declare a specific remote \u0026 branch:\n\n```javascript\nvar Archiver = require('aka-archiver'),\n    archiver = new Archiver({\n      clientToken: 'yourClientToken',\n      clientSecret: 'yourClientSecret',\n      accessToken: 'yourAccessToken',\n      edgegridHost: 'yourEdgegridHost',\n      remote: 'your_remote',\n      branch: 'your_branch'\n    });\n```\n\n#### Full API\n\n```javascript\nvar Archiver = require('aka-archiver'),\n    archiver = new Archiver({\n      clientToken: 'yourClientToken',\n      clientSecret: 'yourClientSecret',\n      accessToken: 'yourAccessToken',\n      edgegridHost: 'yourEdgegridHost'\n    });\n\narchiver.all('yourdomain').then(function() {\n  console.log('saved full GTM configuration to local JSON files!');\n}, function(err) {\n  // handle error\n});\n\narchiver.domain('yourdomain').then(function() {\n  console.log('saved GTM domain configuration to local JSON file!');\n}, function(err) {\n  // handle error\n});\n\narchiver.properties('yourdomain').then(function() {\n  console.log('saved GTM properties configuration to local JSON file!');\n}, function(err) {\n  // handle error\n});\n\narchiver.dataCenters('yourdomain').then(function() {\n  console.log('saved GTM data centers configuration to local JSON file!');\n}, function(err) {\n  // handle error\n});\n\narchiver.archive().then(function() {\n  console.log('Pushed local GTM JSON backup to git repository!');\n}, function(err) {\n  // handle error\n});\n\narchiver.restore('yourdomain_domain.json').then(function() {\n  console.log('Restored GTM configuration to that contained in yourdomain_domain.json');\n}, function(err) {\n  // handle error\n});\n```\n\n### Commandline usage\n\nSet the following environment variables the proper values based on your Akamai account:\n\n```\nAKAMAI_EDGEGRID_CLIENT_TOKEN\nAKAMAI_EDGEGRID_CLIENT_SECRET\nAKAMAI_EDGEGRID_ACCESS_TOKEN\nAKAMAI_EDGEGRID_HOST\n```\n\nSave all the GTM configuration:\n\n```\naka-archive all yourdomain.akadns.net\n```\n\nResult:\n\n* `yourdomain.akadns.net_domain.json`\n* `yourdomain.akadns.net_properties.json`\n* `yourdomain.akadns.net_dataCenters.json`\n\nSave only domain configuration:\n\n```\naka-archive domain yourdomain.akadns.net\n```\n\nSave only properties configuration:\n\n```\naka-archive properties yourdomain.akadns.net\n```\n\nSave only data centers configuration:\n\n```\naka-archive dataCenters yourdomain.akadns.net\n```\n\nArchive the saved JSON files by committing/pushing any changes to a git repo; this assumes the\ncommand is executed from within a git repo and that the *.json files are already in the git repo:\n\n```\naka-archive archive\n```\n\nRestore a GTM configuration, given a `yourdomain.akadns.net_domain.json` GTM domain backup:\n\n```\naka-archive restore yourdomain.akadns.net_domain.json\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdb%2Faka-archiver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdb%2Faka-archiver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdb%2Faka-archiver/lists"}