Skip to content

Instantly share code, notes, and snippets.

@Eibwen
Last active March 3, 2016 21:05
Show Gist options
  • Save Eibwen/10e99e6dcb5abad081ed to your computer and use it in GitHub Desktop.
Save Eibwen/10e99e6dcb5abad081ed to your computer and use it in GitHub Desktop.
Deregister services in Consul when they get messy
"use strict";
var request = require('request');
var HOST = "http://127.0.0.1:8500";
var SERVICE_LIST = "/v1/agent/services";
var SERVICE_DEREGISTER = "/v1/agent/service/deregister/";
request(HOST + SERVICE_LIST, (error, response, body) =>
{
if (error || response.statusCode != 200) {
console.log("ERROR: status code: " + response.statusCode);
console.log(error);
}
else {
var services = JSON.parse(body);
deregisterServices(services);
}
});
var deregisterServices = (services) =>
{
Object.keys(services).forEach(key =>
{
//console.log(key);
//console.log(services[key]);
var serviceId = services[key].ID;
request(HOST + SERVICE_DEREGISTER + serviceId, (error, response, body) =>
{
console.log("Deleting: " + serviceId + "...");
console.log("Status: " + response.statusCode);
});
});
};
{
"name": "CleanConsul",
"version": "1.0.0",
"description": "",
"main": "CleanConsul.js",
"dependencies": {
"request": "^2.69.0"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment