diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index a0ed3352ad..890883f8e5 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -8,12 +8,12 @@ on: jobs: checks: name: Code style - runs-on: ubuntu-18.04 + runs-on: ubuntu-22.04 steps: - name: Set up Go uses: actions/setup-go@v2 with: - go-version: ^1.13 + go-version: 1.21 id: go - name: Checkout uses: actions/checkout@v2 @@ -26,12 +26,12 @@ jobs: generated: name: Generated code - runs-on: ubuntu-18.04 + runs-on: ubuntu-22.04 steps: - name: Set up Go uses: actions/setup-go@v2 with: - go-version: ^1.13 + go-version: 1.21 id: go - name: Checkout uses: actions/checkout@v2 @@ -42,12 +42,12 @@ jobs: build_and_test: name: Build and test - runs-on: ubuntu-18.04 + runs-on: ubuntu-22.04 steps: - name: Set up Go uses: actions/setup-go@v2 with: - go-version: ^1.13 + go-version: 1.21 id: go - name: Checkout uses: actions/checkout@v2 @@ -61,7 +61,7 @@ jobs: run: build/test-startup.sh cross-compile: - runs-on: ubuntu-18.04 + runs-on: ubuntu-22.04 strategy: matrix: os: [ "linux", "darwin", "windows" ] @@ -72,6 +72,6 @@ jobs: - name: Setup Go uses: actions/setup-go@v2 with: - go-version: "^1.13" + go-version: 1.21 - name: Build ${{ matrix.os }} binary run: make build-${{ matrix.os }} diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 6571641ff9..a999b9c9cb 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -6,12 +6,12 @@ on: jobs: sonarcloud: name: Sonar static analysis - runs-on: ubuntu-18.04 + runs-on: ubuntu-22.04 steps: - name: Set up Go uses: actions/setup-go@v2 with: - go-version: ^1.13 + go-version: 1.21 id: go - name: Checkout uses: actions/checkout@v2 diff --git a/.travis.yml b/.travis.yml index d77fc72237..e2912b896e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: go sudo: false go: - - 1.13.x + - 1.21.x env: - GO111MODULE=on diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9797624192..a276220bc5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,23 +1,23 @@ # Contributing to bosun and scollector - + We're glad you want to make a contribution! - + Fork this repository and send in a pull request when you're finished with your changes. Link any relevant issues in too. - -Take note of the build status of your pull request; only builds that pass will be accepted. + +Take note of the build status of your pull request; only builds that pass will be accepted. Please also keep to our conventions and style so we can keep this repository as clean as possible. - + ## Licence - + By contributing your code, you agree to licence your contribution under the terms of the [MIT licence]. - + All files are released with the MIT licence. ## Before contributing If you're about to raise an issue because you think you've found a bug, or you'd like to request a feature, or for any other reason, please read this first. -We're tracking issues in the issue tracker on GitHub. This includes bugs and feature requests. +We're tracking issues in the issue tracker on GitHub. This includes bugs and feature requests. It's not a support forum where we can answer questions about concrete Bosun instances or their configuration; unless, of course, they expose a bug in Bosun itself. Please use [StackOverflow] for support questions. There exists a Slack instance where general help questions can be asked or you can reach out to the developers. You can [request an invite here][SlackInvite]. @@ -26,11 +26,11 @@ Please also see also our [Code of Conduct]. ### Setting up your build system -The repository contains a [Makefile] which should make it easy to install all dependencies. Other than that, -you're going to need a recent (1.13+) Go environment, NPM and GCC. +The repository contains a [Makefile] which should make it easy to install all dependencies. Other than that, +you're going to need a recent (1.21+) Go environment, NPM and GCC. Run the following targets to get all dependencies: - `make deps` -- `make testdeps` +- `make testdeps` ### Bug reports @@ -41,29 +41,29 @@ Guidelines for bug reports: 1. **Use the GitHub issue search** — check if the issue has already been reported. -1. **Check if the issue has been fixed** — look for [closed issues] +1. **Check if the issue has been fixed** — look for [closed issues] or try to reproduce it using the latest code on the `master` branch. -A good bug report shouldn't leave others needing to chase you up for more information. +A good bug report shouldn't leave others needing to chase you up for more information. Be sure to include the details of your environment and relevant tests that demonstrate the failure. ### Feature requests Feature requests are very welcome. Please take a moment to make sure you consider the following: -1. **Use the GitHub search** to see if a request for that feature already exists. +1. **Use the GitHub search** to see if a request for that feature already exists. If so, please contribute to the issue instead of raising a new one. 1. Take a moment to think about whether your idea fits with the scope and aims of the project. -1. Remember, it's up to *you* to make a strong case to convince the maintainers of the merits of this feature. +1. Remember, it's up to *you* to make a strong case to convince the maintainers of the merits of this feature. Please provide as much detail and context as possible, this means explaining the use case and why it is likely to be common. ## Contributing code Thank you for contributing to Bosun :raised_hands: -Before opening a pull request, please take a moment to raise an issue describing the change or addition you'd like to -contribute. We'll do our best to support and review contributions, but there will be some things that don't fit the -plans we have for the project, which we therefore cannot accept. Reaching out to us on an issue helps all of us to be on +Before opening a pull request, please take a moment to raise an issue describing the change or addition you'd like to +contribute. We'll do our best to support and review contributions, but there will be some things that don't fit the +plans we have for the project, which we therefore cannot accept. Reaching out to us on an issue helps all of us to be on the same page and can save valuable time. We're using Github's labels to tag certain issues that we'd like help with. If you're a first time contributor, look out @@ -71,23 +71,23 @@ for issues tagged with [good first issue] for some of the easier issues to get y Use GitHub pull requests to submit code. General submission guidelines: -1. Add/update unit tests for your new feature or fix -1. Use the available targets in the [Makefile] (especially `make checks`) to perform the checks on your code. -For the full list of validation checks that will be run by the CI tool, see [.travis.yaml] and the Actions tab in +1. Add/update unit tests for your new feature or fix +1. Use the available targets in the [Makefile] (especially `make checks`) to perform the checks on your code. +For the full list of validation checks that will be run by the CI tool, see [.travis.yaml] and the Actions tab in Github. 1. Add any new third party dependencies to the `go.mod` file -1. The commit message should indicate what folder is being changed +1. The commit message should indicate what folder is being changed (example: `cmd/scollector: new xyz collector` or `docs: fix typo in window function`) -1. Documentation changes should be made in the same branch as code changes using the `docs` folder. -After the PR is approved is merged into the master branch it will show up on https://bosun.org -(and is rendered using Github Pages). +1. Documentation changes should be made in the same branch as code changes using the `docs` folder. +After the PR is approved is merged into the master branch it will show up on https://bosun.org +(and is rendered using Github Pages). Unless otherwise noted, the source files are distributed under the MIT license found in the LICENSE file. ### Style guidelines -We use the golang [Go code review comments] document as the basis for our style. -Take particular note of Error Strings, Mixed Caps, and Indent Error Flow sections. +We use the golang [Go code review comments] document as the basis for our style. +Take particular note of Error Strings, Mixed Caps, and Indent Error Flow sections. Also we don't have blank lines within functions. The make target `checks` will be run to make sure that the basic style guidelines are adhered to and fail the build @@ -96,13 +96,13 @@ if they weren't. ### Bosun submission guidelines 1. If changing HTML, JS, or other static content, run `make generate`. -1. [typescript][typescript] is required if changing JS files. - Invoke bosun with `-w` to watch for `.ts` changes and automatically run typescript. +1. [typescript][typescript] is required if changing JS files. + Invoke bosun with `-w` to watch for `.ts` changes and automatically run typescript. We currently use typescript 2.4.2: `npm i -g typescript@2.4.2` (or `make deps`) #### Note for vim users -As vim will usually save file in a temporary buffer, then will rename the file. +As vim will usually save file in a temporary buffer, then will rename the file. So for the *-w* option to work, one could eventually at this in `.vimrc`, assuming GOPATH is the homedir: @@ -120,8 +120,8 @@ set backupskip+=*/cmd/bosun/{*.go\\,web/static/{js/*.ts\\,templates/*.html}} ### scollector submission guidelines -1. New scollector collectors must have units, types, and descriptions for all new metrics. - Descriptions should not be in the `Add()` line, but in another data structure or constant. +1. New scollector collectors must have units, types, and descriptions for all new metrics. + Descriptions should not be in the `Add()` line, but in another data structure or constant. See [keepalive collectors] for the constants, and the [memcached] for good patterns. [Code of Conduct]: CODE_OF_CONDUCT.md "Code of Conduct" diff --git a/build/dockerRelease.sh b/build/dockerRelease.sh index 0baf8034ea..4266fc84a0 100755 --- a/build/dockerRelease.sh +++ b/build/dockerRelease.sh @@ -11,4 +11,4 @@ docker run --rm \ -w /src/bosun.org \ -e OUTPUTDIR=/output/ \ -e GITHUB_ACCESS_TOKEN=$GITHUB_ACCESS_TOKEN \ - golang:1.13 /src/bosun.org/build/release.sh /src/bosun.org + golang:1.21 /src/bosun.org/build/release.sh /src/bosun.org diff --git a/cmd/bosun/web/embed.go b/cmd/bosun/web/embed.go index 6e6744fc9b..15a47dd2d3 100644 --- a/cmd/bosun/web/embed.go +++ b/cmd/bosun/web/embed.go @@ -34,7 +34,7 @@ func RunTsc() { tmp := filepath.Join(base, "bosun-new.js") dst := filepath.Join(base, "bosun.js") args := []string{ - "--out", tmp, + "--outFile", tmp, } matches, _ := filepath.Glob(filepath.Join(base, "*.ts")) sort.Strings(matches) diff --git a/cmd/bosun/web/static.go b/cmd/bosun/web/static.go index eaa240ccfb..6d15cdeec2 100644 --- a/cmd/bosun/web/static.go +++ b/cmd/bosun/web/static.go @@ -21572,490 +21572,492 @@ rW84lvhBpLIYXuBt0AANun2s92afrt6bj7Slx5SZFYhY/78AAAD//zo639oEkAAA "/js/bosun.js": { local: "web/static/js/bosun.js", - size: 153080, + size: 153746, modtime: 0, compressed: ` -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 +7K4QklgCAA== `, }, diff --git a/cmd/bosun/web/static/js/bosun.js b/cmd/bosun/web/static/js/bosun.js index 66d76c965b..76b342c2c6 100644 --- a/cmd/bosun/web/static/js/bosun.js +++ b/cmd/bosun/web/static/js/bosun.js @@ -1,7 +1,7 @@ /// /// //Represents an auth token -var Token = (function () { +var Token = /** @class */ (function () { function Token() { this.Description = ""; this.Role = 0; @@ -10,19 +10,19 @@ var Token = (function () { return Token; }()); //metadata about a single role or permission -var BitMeta = (function () { +var BitMeta = /** @class */ (function () { function BitMeta() { } return BitMeta; }()); //all roles/permissions for bosun -var RoleDefs = (function () { +var RoleDefs = /** @class */ (function () { function RoleDefs() { } return RoleDefs; }()); // See models/incident.go Event (can't be event here because JS uses that) -var IncidentEvent = (function () { +var IncidentEvent = /** @class */ (function () { function IncidentEvent(ie) { this.Value = ie.Value; this.Expr = ie.Expr; @@ -32,7 +32,7 @@ var IncidentEvent = (function () { } return IncidentEvent; }()); -var Annotation = (function () { +var Annotation = /** @class */ (function () { function Annotation(a, get) { a = a || {}; this.Id = a.Id || ""; @@ -58,14 +58,14 @@ var Annotation = (function () { }; return Annotation; }()); -var Result = (function () { +var Result = /** @class */ (function () { function Result(r) { this.Value = r.Value; this.Expr = r.Expr; } return Result; }()); -var Action = (function () { +var Action = /** @class */ (function () { function Action(a) { this.User = a.User; this.Message = a.Message; @@ -78,7 +78,7 @@ var Action = (function () { return Action; }()); // See models/incident.go -var IncidentState = (function () { +var IncidentState = /** @class */ (function () { function IncidentState(is) { this.Id = is.Id; this.Start = is.Start; @@ -130,7 +130,7 @@ var IncidentState = (function () { }; return IncidentState; }()); -var StateGroup = (function () { +var StateGroup = /** @class */ (function () { function StateGroup(sg) { this.Active = sg.Active; this.Status = sg.Status; @@ -154,7 +154,7 @@ var StateGroup = (function () { } return StateGroup; }()); -var Groups = (function () { +var Groups = /** @class */ (function () { function Groups(g) { this.NeedAck = new Array(); if (g.NeedAck) { @@ -173,7 +173,7 @@ var Groups = (function () { } return Groups; }()); -var StateGroups = (function () { +var StateGroups = /** @class */ (function () { function StateGroups(sgs) { this.Groups = new Groups(sgs.Groups); this.TimeAndDate = sgs.TimeAndDate; @@ -209,87 +209,87 @@ bosunApp.config(['$routeProvider', '$locationProvider', '$httpProvider', functio when('/', { title: 'Dashboard', templateUrl: 'partials/dashboard.html', - controller: 'DashboardCtrl' + controller: 'DashboardCtrl', }); when('/items', { title: 'Items', templateUrl: 'partials/items.html', - controller: 'ItemsCtrl' + controller: 'ItemsCtrl', }); when('/expr', { title: 'Expression', templateUrl: 'partials/expr.html', - controller: 'ExprCtrl' + controller: 'ExprCtrl', }); when('/errors', { title: 'Errors', templateUrl: 'partials/errors.html', - controller: 'ErrorCtrl' + controller: 'ErrorCtrl', }); when('/graph', { title: 'Graph', templateUrl: 'partials/graph.html', - controller: 'GraphCtrl' + controller: 'GraphCtrl', }); when('/host', { title: 'Host View', templateUrl: 'partials/host.html', controller: 'HostCtrl', - reloadOnSearch: false + reloadOnSearch: false, }); when('/silence', { title: 'Silence', templateUrl: 'partials/silence.html', - controller: 'SilenceCtrl' + controller: 'SilenceCtrl', }); when('/config', { title: 'Configuration', templateUrl: 'partials/config.html', controller: 'ConfigCtrl', - reloadOnSearch: false + reloadOnSearch: false, }); when('/action', { title: 'Action', templateUrl: 'partials/action.html', - controller: 'ActionCtrl' + controller: 'ActionCtrl', }); when('/history', { title: 'Alert History', templateUrl: 'partials/history.html', - controller: 'HistoryCtrl' + controller: 'HistoryCtrl', }); when('/put', { title: 'Data Entry', templateUrl: 'partials/put.html', - controller: 'PutCtrl' + controller: 'PutCtrl', }); when('/annotation', { title: 'Annotation', templateUrl: 'partials/annotation.html', - controller: 'AnnotationCtrl' + controller: 'AnnotationCtrl', }); when('/incident', { title: 'Incident', templateUrl: 'partials/incident.html', - controller: 'IncidentCtrl' + controller: 'IncidentCtrl', }); when('/tokens', { title: 'Access Tokens', - template: "" + template: "", }); when('/tokens/new', { title: 'New Access Token', - template: "" + template: "", }); $routeProvider.otherwise({ - redirectTo: '/' + redirectTo: '/', }); $httpProvider.interceptors.push(function ($q) { return { 'request': function (config) { config.headers['X-Miniprofiler'] = 'true'; return config; - } + }, }; }); }]); @@ -378,7 +378,7 @@ bosunControllers.controller('BosunCtrl', ['$scope', '$route', '$http', '$q', '$r .error(function (err) { d.reject(err); }); - p["finally"]($scope.stop); + p.finally($scope.stop); return d.promise; }; // Size of the logo in (width and height) of the Bosun logo in the navbar @@ -505,7 +505,7 @@ moment.locale('en', { MM: "%dn", y: "%dy", yy: "%dy" - } + }, }); function ruleUrl(ak, fromTime) { var openBrack = ak.indexOf("{"); @@ -650,7 +650,8 @@ bosunControllers.controller('ExprCtrl', ['$scope', '$http', '$location', '$route .error(function (error) { $scope.error = error; $scope.running = ''; - })["finally"](function () { + }) + .finally(function () { $scope.stop(); }); } @@ -687,7 +688,7 @@ bosunControllers.controller('ExprCtrl', ['$scope', '$http', '$location', '$route name += '}'; var series = { Data: data, - Name: name + Name: name, }; graph[idx] = series; }); @@ -737,7 +738,7 @@ bosunControllers.controller('ActionCtrl', ['$scope', '$http', '$location', '$rou Type: $scope.type, Message: $scope.message, Keys: $scope.keys, - Notify: $scope.notify + Notify: $scope.notify, }; if ($scope.duration != "") { data['Time'] = moment.utc().add(parseDuration($scope.duration)); @@ -794,13 +795,14 @@ bosunControllers.controller('AnnotationCtrl', ['$scope', '$http', '$location', ' .error(function (error) { $scope.error = "failed to create annotation: " + error.error; $scope.submitSuccess = false; - })["finally"](function () { + }) + .finally(function () { $scope.stop(); }); }; $scope.deleteAnnotation = function () { $scope.animate(); - $http["delete"]('/api/annotation/' + $scope.annotation.Id) + $http.delete('/api/annotation/' + $scope.annotation.Id) .success(function (data) { $scope.error = ""; $scope.deleteSuccess = true; @@ -811,13 +813,14 @@ bosunControllers.controller('AnnotationCtrl', ['$scope', '$http', '$location', ' .error(function (error) { $scope.error = "failed to delete annotation with id: " + $scope.annotation.Id + ", error: " + error.error; $scope.deleteSuccess = false; - })["finally"](function () { + }) + .finally(function () { $scope.stop(); }); }; }]); /// -var AuthService = (function () { +var AuthService = /** @class */ (function () { function AuthService() { } AuthService.prototype.Init = function (authEnabled, username, roles, userPerms) { @@ -903,7 +906,7 @@ var AuthService = (function () { }()); bosunApp.service("authService", AuthService); //simple component to show a easily -var UsernameInputController = (function () { +var UsernameInputController = /** @class */ (function () { function UsernameInputController(auth) { this.auth = auth; } @@ -913,7 +916,7 @@ var UsernameInputController = (function () { bosunApp.component("usernameInput", { controller: UsernameInputController, controllerAs: "ct", - template: '' + template: '', }); /// bosunControllers.controller('ConfigCtrl', ['$scope', '$http', '$location', '$route', '$timeout', '$sce', function ($scope, $http, $location, $route, $timeout, $sce) { @@ -1055,7 +1058,7 @@ bosunControllers.controller('ConfigCtrl', ['$scope', '$http', '$location', '$rou wrap: true, caseSensitive: false, wholeWord: false, - regExp: true + regExp: true, }); if (type == "alert") { $scope.selectAlert(name); @@ -1078,7 +1081,8 @@ bosunControllers.controller('ConfigCtrl', ['$scope', '$http', '$location', '$rou }) .error(function (error) { $scope.errors = [error]; - })["finally"](function () { + }) + .finally(function () { $scope.stop(); delete (set.show); }); @@ -1238,7 +1242,7 @@ bosunControllers.controller('ConfigCtrl', ['$scope', '$http', '$location', '$rou if (diff == 0) { intervals = 1; } - else if (Math.abs(diff) < 60 * 1000) { + else if (Math.abs(diff) < 60 * 1000) { // 1 minute intervals = 2; } else { @@ -1263,7 +1267,8 @@ bosunControllers.controller('ConfigCtrl', ['$scope', '$http', '$location', '$rou }) .error(function (error) { $scope.errors = [error]; - })["finally"](function () { + }) + .finally(function () { $scope.running = false; $scope.stop(); }); @@ -1293,7 +1298,8 @@ bosunControllers.controller('ConfigCtrl', ['$scope', '$http', '$location', '$rou }) .error(function (error) { v.error = error; - })["finally"](function () { + }) + .finally(function () { v.doneLoading = true; }); }; @@ -1389,7 +1395,7 @@ bosunControllers.controller('ConfigCtrl', ['$scope', '$http', '$location', '$rou }; return $scope; }]); -var NotificationController = (function () { +var NotificationController = /** @class */ (function () { function NotificationController($http) { var _this = this; this.$http = $http; @@ -1414,11 +1420,11 @@ var NotificationController = (function () { }()); bosunApp.component('notification', { bindings: { - dat: "<" + dat: "<", }, controller: NotificationController, controllerAs: 'ct', - templateUrl: '/static/partials/notification.html' + templateUrl: '/static/partials/notification.html', }); bosunControllers.controller('DashboardCtrl', ['$scope', '$http', '$location', function ($scope, $http, $location) { var search = $location.search(); @@ -1454,7 +1460,7 @@ bosunApp.directive('tsResults', function () { scope.isSeries = function (v) { return typeof (v) === 'object'; }; - } + }, }; }); bosunApp.directive('tsComputations', function () { @@ -1462,7 +1468,7 @@ bosunApp.directive('tsComputations', function () { scope: { computations: '=tsComputations', time: '=', - header: '=' + header: '=', }, templateUrl: '/partials/computations.html', link: function (scope, elem, attrs) { @@ -1473,7 +1479,7 @@ bosunApp.directive('tsComputations', function () { scope.btoa = function (v) { return encodeURIComponent(btoa(v)); }; - } + }, }; }); function fmtDuration(v) { @@ -1532,7 +1538,7 @@ bosunApp.directive("tsTime", function () { elem.html(el); } }); - } + }, }; }); bosunApp.directive("tsTimeUnix", function () { @@ -1561,7 +1567,7 @@ bosunApp.directive("tsTimeUnix", function () { elem.html(el); } }); - } + }, }; }); bosunApp.directive("tsSince", function () { @@ -1571,14 +1577,14 @@ bosunApp.directive("tsSince", function () { var m = moment(v).utc(); elem.text(m.fromNow()); }); - } + }, }; }); bosunApp.directive("tooltip", function () { return { link: function (scope, elem, attrs) { angular.element(elem[0]).tooltip({ placement: "bottom" }); - } + }, }; }); bosunApp.directive('tsTab', function () { @@ -1595,14 +1601,14 @@ bosunApp.directive('tsTab', function () { return; } switch (evt.keyCode) { - case 9:// tab + case 9: // tab evt.preventDefault(); var v = ta.value; var start = ta.selectionStart; ta.value = v.substr(0, start) + "\t" + v.substr(start); ta.selectionStart = ta.selectionEnd = start + 1; return; - case 13:// enter + case 13: // enter if (ta.selectionStart != ta.selectionEnd) { return; } @@ -1618,7 +1624,7 @@ bosunApp.directive('tsTab', function () { ta.selectionStart = ta.selectionEnd = start + 1 + ws.length; } }); - } + }, }; }); bosunApp.directive('tsresizable', function () { @@ -1642,10 +1648,10 @@ bosunApp.directive('tsTableSort', ['$timeout', function ($timeout) { link: function (scope, elem, attrs) { $timeout(function () { $(elem).tablesorter({ - sortList: scope.$eval(attrs.tsTableSort) + sortList: scope.$eval(attrs.tsTableSort), }); }); - } + }, }; }]); // https://gist.github.com/mlynch/dd407b93ed288d499778 @@ -1668,7 +1674,7 @@ bosunApp.directive('tsTimeLine', function () { top: 10, right: 10, bottom: 30, - left: 250 + left: 250, }; return { link: function (scope, elem, attrs) { @@ -1792,7 +1798,7 @@ bosunApp.directive('tsTimeLine', function () { } } ; - } + }, }; }); var fmtUnits = ['', 'k', 'M', 'G', 'T', 'P', 'E']; @@ -1860,12 +1866,12 @@ bosunApp.directive('tsBar', ['$window', 'nfmtFilter', function ($window, fmtfilt top: 20, right: 20, bottom: 0, - left: 200 + left: 200, }; return { scope: { data: '=', - height: '=' + height: '=', }, link: function (scope, elem, attrs) { var svgHeight = +scope.height || 150; @@ -1948,7 +1954,7 @@ bosunApp.directive('tsBar', ['$window', 'nfmtFilter', function ($window, fmtfilt .attr('width', function (d) { return xScale(d.Value); }); } ; - } + }, }; }]); bosunApp.directive('tsGraph', ['$window', 'nfmtFilter', function ($window, fmtfilter) { @@ -1956,7 +1962,7 @@ bosunApp.directive('tsGraph', ['$window', 'nfmtFilter', function ($window, fmtfi top: 10, right: 10, bottom: 30, - left: 80 + left: 80, }; return { scope: { @@ -1972,13 +1978,13 @@ bosunApp.directive('tsGraph', ['$window', 'nfmtFilter', function ($window, fmtfi normalize: '=', annotation: '=', annotateEnabled: '=', - showAnnotations: '=' + showAnnotations: '=', }, - template: '
' + - '
' + - '
' + - '
' + - '
' + + template: '
' + // chartElemt + '
' + // timeElem + '
' + // legendAnnContainer + '
' + // legendElem + '
' + // annElem '
', link: function (scope, elem, attrs, $compile) { var chartElem = d3.select(elem.children()[0]); @@ -2472,7 +2478,7 @@ bosunApp.directive('tsGraph', ['$window', 'nfmtFilter', function ($window, fmtfi function datefmt(d) { return moment(d).utc().format(mfmt); } - } + }, }; }]); bosunControllers.controller('ErrorCtrl', ['$scope', '$http', '$location', '$route', function ($scope, $http, $location, $route) { @@ -2494,7 +2500,8 @@ bosunControllers.controller('ErrorCtrl', ['$scope', '$http', '$location', '$rout }) .error(function (data) { $scope.error = "Error fetching data: " + data; - })["finally"](function () { $scope.loading = false; }); + }) + .finally(function () { $scope.loading = false; }); $scope.click = function (err, event) { event.stopPropagation(); }; @@ -2547,22 +2554,22 @@ bosunControllers.controller('ErrorCtrl', ['$scope', '$http', '$location', '$rout }; }]); /// -var TagSet = (function () { +var TagSet = /** @class */ (function () { function TagSet() { } return TagSet; }()); -var TagV = (function () { +var TagV = /** @class */ (function () { function TagV() { } return TagV; }()); -var RateOptions = (function () { +var RateOptions = /** @class */ (function () { function RateOptions() { } return RateOptions; }()); -var Filter = (function () { +var Filter = /** @class */ (function () { function Filter(f) { this.type = f && f.type || "auto"; this.tagk = f && f.tagk || ""; @@ -2571,12 +2578,12 @@ var Filter = (function () { } return Filter; }()); -var FilterMap = (function () { +var FilterMap = /** @class */ (function () { function FilterMap() { } return FilterMap; }()); -var Query = (function () { +var Query = /** @class */ (function () { function Query(filterSupport, q) { this.aggregator = q && q.aggregator || 'sum'; this.metric = q && q.metric || ''; @@ -2674,7 +2681,7 @@ var Query = (function () { }; return Query; }()); -var GraphRequest = (function () { +var GraphRequest = /** @class */ (function () { function GraphRequest() { this.start = '1h-ago'; this.queries = []; @@ -2707,7 +2714,7 @@ var GraphRequest = (function () { return GraphRequest; }()); var graphRefresh; -var Version = (function () { +var Version = /** @class */ (function () { function Version() { } return Version; @@ -2761,7 +2768,7 @@ bosunControllers.controller('GraphCtrl', ['$scope', '$http', '$location', '$rout "d": "d", "w": "w", "n": "M", - "y": "y" + "y": "y", }; var isRel = /^(\d+)(\w)-ago$/; function RelToAbs(m) { @@ -2799,7 +2806,7 @@ bosunControllers.controller('GraphCtrl', ['$scope', '$http', '$location', '$rout $scope.error = error; }); }; - $scope.deleteAnnotation = function () { return $http["delete"]('/api/annotation/' + $scope.annotation.Id) + $scope.deleteAnnotation = function () { return $http.delete('/api/annotation/' + $scope.annotation.Id) .success(function (data) { $scope.error = ""; $scope.annotations = _.without($scope.annotations, _.findWhere($scope.annotations, { Id: $scope.annotation.Id })); @@ -3073,7 +3080,8 @@ bosunControllers.controller('GraphCtrl', ['$scope', '$http', '$location', '$rout .error(function (error) { $scope.error = error; $scope.running = ''; - })["finally"](function () { + }) + .finally(function () { $scope.stop(); if ($scope.refresh) { graphRefresh = $timeout(function () { get(true); }, 5000); @@ -3088,7 +3096,7 @@ bosunApp.directive('tsPopup', function () { return { restrict: 'E', scope: { - url: '=' + url: '=', }, template: '', link: function (scope, elem, attrs) { @@ -3099,15 +3107,15 @@ bosunApp.directive('tsPopup', function () { } var text = ''; button.popover({ - content: text + content: text, }); }); - } + }, }; }); bosunApp.directive('tsAlertHistory', function () { return { - templateUrl: '/partials/alerthistory.html' + templateUrl: '/partials/alerthistory.html', }; }); bosunControllers.controller('HistoryCtrl', ['$scope', '$http', '$location', '$route', function ($scope, $http, $location, $route) { @@ -3140,7 +3148,7 @@ bosunControllers.controller('HistoryCtrl', ['$scope', '$http', '$location', '$ro } }); selected_alerts[ak] = { - History: v.Events.reverse() + History: v.Events.reverse(), }; }); if (Object.keys(selected_alerts).length > 0) { @@ -3197,7 +3205,7 @@ bosunControllers.controller('HostCtrl', ['$scope', '$http', '$location', '$route new Query(false, { metric: 'os.cpu', derivative: 'counter', - tags: { host: $scope.host } + tags: { host: $scope.host }, }) ]; $http.get('/api/graph?' + 'json=' + encodeURIComponent(JSON.stringify(cpu_r)) + autods) @@ -3212,11 +3220,11 @@ bosunControllers.controller('HostCtrl', ['$scope', '$http', '$location', '$route mem_r.start = $scope.time; mem_r.queries.push(new Query(false, { metric: "os.mem.total", - tags: { host: $scope.host } + tags: { host: $scope.host }, })); mem_r.queries.push(new Query(false, { metric: "os.mem.used", - tags: { host: $scope.host } + tags: { host: $scope.host }, })); $http.get('/api/graph?' + 'json=' + encodeURIComponent(JSON.stringify(mem_r)) + autods) .success(function (data) { @@ -3234,7 +3242,7 @@ bosunControllers.controller('HostCtrl', ['$scope', '$http', '$location', '$route metric: "os.net.bytes", rate: true, rateOptions: { counter: true, resetValue: 1 }, - tags: { host: $scope.host, iface: "*", direction: "*" } + tags: { host: $scope.host, iface: "*", direction: "*" }, }) ]; $http.get('/api/graph?' + 'json=' + encodeURIComponent(JSON.stringify(net_bytes_r)) + autods) @@ -3264,11 +3272,11 @@ bosunControllers.controller('HostCtrl', ['$scope', '$http', '$location', '$route fs_r.queries = [ new Query(false, { metric: "os.disk.fs.space_total", - tags: { host: $scope.host, disk: "*" } + tags: { host: $scope.host, disk: "*" }, }), new Query(false, { metric: "os.disk.fs.space_used", - tags: { host: $scope.host, disk: "*" } + tags: { host: $scope.host, disk: "*" }, }) ]; $http.get('/api/graph?' + 'json=' + encodeURIComponent(JSON.stringify(fs_r)) + autods) @@ -3339,7 +3347,8 @@ bosunControllers.controller('IncidentCtrl', ['$scope', '$http', '$location', '$r }) .error(function (error) { v.error = error; - })["finally"](function () { + }) + .finally(function () { v.doneLoading = true; }); }; @@ -3398,7 +3407,7 @@ bosunControllers.controller('ItemsCtrl', ['$scope', '$http', function ($scope, $ }); }]); /// -var LinkService = (function () { +var LinkService = /** @class */ (function () { function LinkService() { } LinkService.prototype.GetEditSilenceLink = function (silence, silenceId) { @@ -3420,12 +3429,12 @@ var LinkService = (function () { return LinkService; }()); bosunApp.service("linkService", LinkService); -var Tag = (function () { +var Tag = /** @class */ (function () { function Tag() { } return Tag; }()); -var DP = (function () { +var DP = /** @class */ (function () { function DP() { } return DP; @@ -3457,7 +3466,7 @@ bosunControllers.controller('PutCtrl', ['$scope', '$http', '$route', function ($ metric: $scope.metric, timestamp: ts, value: parseFloat(v.v), - tags: tags + tags: tags, }); } }); @@ -3583,7 +3592,7 @@ bosunControllers.controller('SilenceCtrl', ['$scope', '$http', '$location', '$ro tags: tags.join(','), edit: $scope.edit, forget: $scope.forget ? 'true' : null, - message: $scope.message + message: $scope.message, }; return data; } @@ -3625,7 +3634,8 @@ bosunControllers.controller('SilenceCtrl', ['$scope', '$http', '$location', '$ro $http.post('/api/silence/set', state) .error(function (error) { $scope.error = error; - })["finally"](get); + }) + .finally(get); }; $scope.clear = function (id) { if (!window.confirm('Clear this silence?')) { @@ -3635,7 +3645,8 @@ bosunControllers.controller('SilenceCtrl', ['$scope', '$http', '$location', '$ro $http.post('/api/silence/clear?id=' + id, {}) .error(function (error) { $scope.error = error; - })["finally"](get); + }) + .finally(get); }; $scope.time = function (v) { var m = moment(v).utc(); @@ -3651,7 +3662,7 @@ bosunApp.directive('tsAckGroup', ['$location', '$timeout', function ($location, ack: '=', groups: '=tsAckGroup', schedule: '=', - timeanddate: '=' + timeanddate: '=', }, templateUrl: '/partials/ackgroup.html', link: function (scope, elem, attrs) { @@ -3748,7 +3759,7 @@ bosunApp.directive('tsAckGroup', ['$location', '$timeout', function ($location, }); return url; }; - } + }, }; }]); bosunApp.directive('tsState', ['$sce', '$http', function ($sce, $http) { @@ -3811,60 +3822,60 @@ bosunApp.directive('tsState', ['$sce', '$http', function ($sce, $http) { scope.state.RuleUrl += '&template_group=' + encodeURIComponent(groups.join(',')); } scope.state.Body = $sce.trustAsHtml(scope.state.Body); - } + }, }; }]); bosunApp.directive('tsNote', function () { return { restrict: 'E', - templateUrl: '/partials/note.html' + templateUrl: '/partials/note.html', }; }); bosunApp.directive('tsAck', function () { return { restrict: 'E', - templateUrl: '/partials/ack.html' + templateUrl: '/partials/ack.html', }; }); bosunApp.directive('tsClose', function () { return { restrict: 'E', - templateUrl: '/partials/close.html' + templateUrl: '/partials/close.html', }; }); bosunApp.directive('tsCancelClose', function () { return { restrict: 'E', - templateUrl: '/partials/cancelClose.html' + templateUrl: '/partials/cancelClose.html', }; }); bosunApp.directive('tsForget', function () { return { restrict: 'E', - templateUrl: '/partials/forget.html' + templateUrl: '/partials/forget.html', }; }); bosunApp.directive('tsPurge', function () { return { restrict: 'E', - templateUrl: '/partials/purge.html' + templateUrl: '/partials/purge.html', }; }); bosunApp.directive('tsForceClose', function () { return { restrict: 'E', - templateUrl: '/partials/forceClose.html' + templateUrl: '/partials/forceClose.html', }; }); /// -var TokenListController = (function () { +var TokenListController = /** @class */ (function () { function TokenListController($http, auth) { var _this = this; this.$http = $http; this.auth = auth; - this["delete"] = function () { + this.delete = function () { _this.status = "Deleting..."; - _this.$http["delete"]("/api/tokens?hash=" + encodeURIComponent(_this.deleteTarget)) + _this.$http.delete("/api/tokens?hash=" + encodeURIComponent(_this.deleteTarget)) .then(function () { _this.status = ""; _this.load(); @@ -3910,7 +3921,7 @@ bosunApp.component('tokenList', { templateUrl: '/static/partials/tokenList.html' }); /// -var NewTokenController = (function () { +var NewTokenController = /** @class */ (function () { function NewTokenController($http, auth) { var _this = this; this.$http = $http; diff --git a/cmd/scollector/main.go b/cmd/scollector/main.go index 7e2eca2f92..6b41e07548 100644 --- a/cmd/scollector/main.go +++ b/cmd/scollector/main.go @@ -303,7 +303,7 @@ func main() { } } }() - sChan := make(chan os.Signal) + sChan := make(chan os.Signal, 1) signal.Notify(sChan, os.Interrupt) <-sChan close(cquit) diff --git a/cmd/tsdbrelay/integrationTest/main.go b/cmd/tsdbrelay/integrationTest/main.go index 46f1410e64..c088520126 100644 --- a/cmd/tsdbrelay/integrationTest/main.go +++ b/cmd/tsdbrelay/integrationTest/main.go @@ -78,7 +78,7 @@ func init() { fatal("DC3-TSDB", http.ListenAndServe(":6556", dc2TsdbMux)) }() - ch := make(chan os.Signal) + ch := make(chan os.Signal, 1) signal.Notify(ch, os.Kill, os.Interrupt) go func() { <-ch diff --git a/docker/Dockerfile b/docker/Dockerfile index 6ba476e38d..1251676364 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.13 AS bosun_builder +FROM golang:1.21 AS bosun_builder WORKDIR /bosun COPY . /bosun diff --git a/go.sum b/go.sum index 5a3a2ef48e..bb873e29d3 100644 --- a/go.sum +++ b/go.sum @@ -29,9 +29,7 @@ github.com/StackExchange/wmi v0.0.0-20180725035823-b12b22c5341f/go.mod h1:3eOhrU github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= github.com/ajstarks/svgo v0.0.0-20151117013546-fd2151ebabde h1:spsB1I/8GhRhVDhuaFzIJ563/DYIOpUGcZsySZK1ofU= github.com/ajstarks/svgo v0.0.0-20151117013546-fd2151ebabde/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alicebob/gopher-json v0.0.0-20180125190556-5a6b3ba71ee6 h1:45bxf7AZMwWcqkLzDAQugVEwedisr5nRJ1r+7LYnv0U= github.com/alicebob/gopher-json v0.0.0-20180125190556-5a6b3ba71ee6/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc= @@ -107,7 +105,6 @@ github.com/getsentry/raven-go v0.1.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49P github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/glendc/gopher-json v0.0.0-20170414221815-dc4743023d0c h1:iRTj5SRYwbvsygdwVp+y9kZT145Y1s6xOPpeOEIeGc4= github.com/glendc/gopher-json v0.0.0-20170414221815-dc4743023d0c/go.mod h1:Gja1A+xZ9BoviGJNA2E9vFkPjjsl+CoJxSXiQM1UXtw= -github.com/go-ini/ini v1.21.1 h1:+QXUYsI7Tfxc64oD6R5BxU/Aq+UwGkyjH4W/hMNG7bg= github.com/go-ini/ini v1.21.1/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0 h1:Wz+5lgoB0kkuqLEc6NVmwRknTKP6dTGbSqvhZtBI/j0= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= @@ -130,7 +127,6 @@ github.com/golang/freetype v0.0.0-20150924013838-f29eb116deb3/go.mod h1:E/TSTwGw github.com/golang/glog v0.0.0-20141105023935-44145f04b68c/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20180924190550-6f2cf27854a4 h1:6UVLWz0fIIrv0UVj6t0A7cL48n8IyAdLVQqAYzEfsKI= github.com/golang/groupcache v0.0.0-20180924190550-6f2cf27854a4/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6 h1:ZgQEtGgCBiWRM39fZuwSd1LwSqqSW0hOdXCYYDX0R3I= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -156,7 +152,6 @@ github.com/google/gofuzz v0.0.0-20150304233714-bbcb9da2d746/go.mod h1:HP5RmnzzSN github.com/google/pprof v0.0.0-20180605153948-8b03ce837f34/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/googleapis/gnostic v0.0.0-20180520015035-48a0ecefe2e4/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/gophercloud/gophercloud v0.0.0-20170607034829-caf34a65f602/go.mod h1:3WdhXV3rUYy9p6AUW8d94kr+HS62Y4VL9mBnFxsD8q4= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= @@ -193,7 +188,6 @@ github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80s github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= github.com/jinzhu/now v0.0.0-20151001141511-ce80572eb55a h1:E3/FQGI4lCWmMwCgJCQzE9bYVKOLzAc4jqK8DnL02Ow= github.com/jinzhu/now v0.0.0-20151001141511-ce80572eb55a/go.mod h1:oHTiXerJ20+SfYcrdlBO7rzZRJWGwSTQ0iUY2jI6Gfc= -github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7 h1:SMvOWPJCES2GdFracYbBQh93GXac8fq7HeN6JnpduB8= github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc= github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= @@ -202,7 +196,6 @@ github.com/jmoiron/jsonq v0.0.0-20150511023944-e874b168d07e/go.mod h1:+rHyWac2R9 github.com/jordan-wright/email v0.0.0-20151016173557-f61123ea07e1 h1:t9N9joT8+GL35qGegwt+eOgR5RMTaNiIxjzUf7XQQsE= github.com/jordan-wright/email v0.0.0-20151016173557-f61123ea07e1/go.mod h1:1c7szIrayyPPB/987hsnvNzLushdWf4o/79s3P08L8A= github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/jtolds/gls v4.2.1+incompatible h1:fSuqC+Gmlu6l/ZYAoZzx2pyucC8Xza35fpRVWLVmUEE= github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v0.0.0-20150905172533-109e267447e9/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= @@ -211,7 +204,6 @@ github.com/justinas/alice v0.0.0-20160910103822-1051eaf52fca/go.mod h1:oLH0CmIax github.com/kardianos/osext v0.0.0-20160811001526-c2c54e542fb7 h1:pKv4oHt3kat9yf1jofmaRv3KxGaY5B7VV55GrfXFa74= github.com/kardianos/osext v0.0.0-20160811001526-c2c54e542fb7/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= github.com/knz/strtime v0.0.0-20181018220328-af2256ee352c/go.mod h1:4ZxfWkxwtc7dBeifERVVWRy9F9rTU9p0yCDgeCtlius= -github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -263,7 +255,6 @@ github.com/onsi/gomega v1.4.1 h1:PZSj/UFNaVp3KxrzHOcS7oyuWA7LoOY/77yCTEFu21U= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/opentracing-contrib/go-stdlib v0.0.0-20170113013457-1de4cc2120e7/go.mod h1:PLldrQSroqzH70Xl+1DQcGnefIbqsKR7UDaiux3zV+w= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= -github.com/opentracing/opentracing-go v1.0.1 h1:IYN/cK5AaULfeMAlgFZSIBLSpsZ5MRHDy1fKBEqqJfQ= github.com/opentracing/opentracing-go v1.0.1/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -315,13 +306,10 @@ github.com/siddontang/ledisdb v0.0.0-20190202134119-8ceb77e66a92 h1:qvsJwGToa8rx github.com/siddontang/ledisdb v0.0.0-20190202134119-8ceb77e66a92/go.mod h1:mF1DpOSOUiJRMR+FDqaqu3EBqrybQtrDDszLUZ6oxPg= github.com/siddontang/rdb v0.0.0-20150307021120-fc89ed2e418d h1:NVwnfyR3rENtlz62bcrkXME3INVUa4lcdGt+opvxExs= github.com/siddontang/rdb v0.0.0-20150307021120-fc89ed2e418d/go.mod h1:AMEsy7v5z92TR1JKMkLLoaOQk++LVnOKL3ScbJ8GNGA= -github.com/sirupsen/logrus v1.2.0 h1:juTguoYk5qI21pwyTXY3B3Y5cOTH3ZUyZCg1v/mihuo= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/assertions v1.1.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM= -github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a h1:JSvGDIbmil4Ui/dDdFBExb7/cmkNjyX5F97oglmvCDo= github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= github.com/smartystreets/gunit v1.3.4/go.mod h1:ZjM1ozSIMJlAz/ay4SG8PeKF00ckUp+zMHZXV9/bvak= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= @@ -329,7 +317,6 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= @@ -350,7 +337,6 @@ github.com/yuin/gopher-lua v0.0.0-20190514113301-1cd887cd7036 h1:1b6PAtenNyhsmo/ github.com/yuin/gopher-lua v0.0.0-20190514113301-1cd887cd7036/go.mod h1:gqRgreBUhTSL0GeU64rtZ3Uq3wtjOa/TB2YfrtkCbVQ= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= golang.org/x/crypto v0.0.0-20180621125126-a49355c7e3f8/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793 h1:u+LnwYTOOW7Ukr/fppxEb1Nwz0AtPflrblfvUudpo+I= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 h1:ObdrDkeb4kJdCP557AjRjq69pTHfNouLtWZG7j9rPN8= @@ -365,7 +351,6 @@ golang.org/x/net v0.0.0-20180320002117-6078986fec03/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181217023233-e147a9138326 h1:iCzOf0xz39Tstp+Tu/WwyGjUXCk34QhQORRxBeXXTA4= golang.org/x/net v0.0.0-20181217023233-e147a9138326/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -374,12 +359,10 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/oauth2 v0.0.0-20160608215109-65a8d08c6292 h1:HXWhxjZW2BJxGm1bt3b3Au7QNJc+/D8pjM1tfdDLlm8= golang.org/x/oauth2 v0.0.0-20160608215109-65a8d08c6292/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be h1:vEDujvNQGv4jgYKudGeI/+DAX4Jffq6hpD55MmoEvKs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f h1:Bl/8QSvNqXvPGPGXa2z5xUTmV7VDcZyvRZ+QQXkXTZQ= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= @@ -387,18 +370,13 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5 h1:mzjBh+S5frKOsOBobWIMAbXavqjmgO17k/2puhcFR94= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190204203706-41f3e6584952 h1:FDfvYgoVsA7TTZSbgiqjAbfPbK47CNHdWl3h/PJtii0= golang.org/x/sys v0.0.0-20190204203706-41f3e6584952/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd h1:r7DufRZuZbWB7j439YfAzP8RPDa9unLkpwQKUYbIMPI= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.0.0-20170810154203-b19bf474d317 h1:WKW+OPdYPlvOTVGHuMfjnIC6yY2SI93yFB0pZ7giBmQ= golang.org/x/text v0.0.0-20170810154203-b19bf474d317/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= @@ -416,7 +394,6 @@ google.golang.org/appengine v0.0.0-20170522224838-a2f4131514e5/go.mod h1:EbEs0AV google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/cloud v0.0.0-20160622021550-0a83eba2cadb h1:IAkbDsVCpt6+HIt4uWPISM5JflWvw6fMk+A1S8aZLxc= google.golang.org/cloud v0.0.0-20160622021550-0a83eba2cadb/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20170531203552-aa2eb687b4d3/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -424,11 +401,9 @@ google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRn google.golang.org/grpc v0.0.0-20170516193736-3419b4295567/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20141119150059-9eae18c3681a h1:tJDo4rNtNpoHS17CG6Ri6V4TtUaX25LWuHr9rvuG+fc= gopkg.in/asn1-ber.v1 v1.0.0-20141119150059-9eae18c3681a/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -450,7 +425,6 @@ gopkg.in/vmihailenco/msgpack.v2 v2.9.1/go.mod h1:/3Dn1Npt9+MYyLpYYXjInO/5jvMLamn gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0 h1:POO/ycCATvegFmVuPpQzZFJ+pGZeX22Ufu6fibxDVjU= gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg= gopkg.in/yaml.v2 v2.2.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= diff --git a/package-lock.json b/package-lock.json index 4a1f32240d..e252625c53 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,24 @@ { + "name": "bosun", + "lockfileVersion": 3, "requires": true, - "lockfileVersion": 1, - "dependencies": { - "typescript": { + "packages": { + "": { + "dependencies": { + "typescript": "^2.4.2" + } + }, + "node_modules/typescript": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.2.tgz", - "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=" + "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } } } }