mirror of https://github.com/statping/statping
commit
df974891fc
|
@ -1,4 +0,0 @@
|
|||
github: hunterlong
|
||||
patreon: statping
|
||||
open_collective: statping
|
||||
custom: ['https://www.nfoservers.com/donate.pl?force_recipient=1&recipient=info%40socialeck.com', 'https://www.buymeacoffee.com/hunterlong']
|
|
@ -1,25 +0,0 @@
|
|||
---
|
||||
name: Bug Report
|
||||
about: If you're having an issue or see an error
|
||||
|
||||
---
|
||||
|
||||
### Describe the bug
|
||||
Try to explain what issue your'e having in detail. You can copy and paste the issue from the log file in your root directory `/logs/statping.log`.
|
||||
|
||||
You can set the environment variable `ALLOW_REPORTS` to `true` to allow errors to be sent to our error reporting server. It's super helpful.
|
||||
|
||||
### To Reproduce
|
||||
Steps to reproduce the behavior:
|
||||
1. I'm using version: '...'
|
||||
2. I went to '....'
|
||||
3. Press this button '....'
|
||||
4. And things did '....'
|
||||
|
||||
### Expected Behavior
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
### Screenshots
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
[](https://slack.statping.com/) [](https://github.com/statping/statping/releases/latest) [](https://travis-ci.com/hunterlong/statping)
|
|
@ -1,22 +0,0 @@
|
|||
---
|
||||
name: Feature Request
|
||||
about: Suggest a feature and let's see what others say
|
||||
|
||||
---
|
||||
|
||||
### What would you like on Statping?
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
### Describe the solution you'd like
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
### Describe alternatives you've considered
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
### Is your feature request related to a problem? Please describe.
|
||||
I'm always frustrated when [...]
|
||||
|
||||
### Additional context
|
||||
Add any other context or screenshots about the feature request here.
|
||||
|
||||
[](https://slack.statping.com/) [](https://github.com/statping/statping/releases/latest) [](https://travis-ci.com/hunterlong/statping)
|
|
@ -1,25 +0,0 @@
|
|||
---
|
||||
name: Issue Report
|
||||
about: If you're having an issue or see an error
|
||||
|
||||
---
|
||||
|
||||
### Describe the bug
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
You can set the environment variable `ALLOW_REPORTS` to `true` to allow errors to be sent to our error reporting server. It's super helpful.
|
||||
|
||||
### To Reproduce
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
### Expected behavior
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
### Screenshots or Logs
|
||||
If applicable, add screenshots to help explain your problem. If you can, provide any logs from the latest `logs/statping.log` file.
|
||||
|
||||
[](https://slack.statping.com/) [](https://github.com/statping/statping/releases/latest) [](https://travis-ci.com/hunterlong/statup)
|
|
@ -1,4 +1,4 @@
|
|||
name: Development Build
|
||||
name: 1. Development Build and Testing
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
|
@ -14,10 +14,10 @@ jobs:
|
|||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.15.x
|
||||
go-version: 1.17.x
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.18.2
|
||||
node-version: 16.14.0
|
||||
|
||||
- name: Set Version
|
||||
run: |
|
||||
|
@ -54,19 +54,6 @@ jobs:
|
|||
name: static-rice-box
|
||||
path: ./source
|
||||
|
||||
- name: Configure AWS credentials for Asset uploads
|
||||
uses: aws-actions/configure-aws-credentials@v1
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-region: us-west-2
|
||||
|
||||
- name: Upload Static Assets to S3
|
||||
run: |
|
||||
tar -czvf source.tar.gz source/
|
||||
aws s3 cp source.tar.gz s3://assets.statping.com/commit/${{ github.sha }}/
|
||||
rm -rf source.tar.gz
|
||||
|
||||
build:
|
||||
needs: frontend
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -75,8 +62,12 @@ jobs:
|
|||
platform: [linux]
|
||||
arch: [386, amd64, arm-7, arm-6, arm64]
|
||||
include:
|
||||
- platform: darwin
|
||||
arch: arm64
|
||||
- platform: darwin
|
||||
arch: amd64
|
||||
- platform: windows
|
||||
arch: 386
|
||||
- platform: windows
|
||||
arch: amd64
|
||||
|
||||
|
@ -89,13 +80,6 @@ jobs:
|
|||
name: static-rice-box
|
||||
path: ./source
|
||||
|
||||
- name: Configure AWS credentials for Asset uploads
|
||||
uses: aws-actions/configure-aws-credentials@v1
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-region: us-west-2
|
||||
|
||||
- name: Add GOBIN to PATH
|
||||
run: |
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
|
@ -108,15 +92,16 @@ jobs:
|
|||
echo "XGO_TAGS=netgo osusergo linux sqlite_omit_load_extension" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Set Darwin Build Flags
|
||||
- name: Set MacOS (Darwin) Build Flags
|
||||
if: matrix.platform == 'darwin'
|
||||
run: echo "XGO_TAGS=netgo osusergo darwin sqlite_omit_load_extension" >> $GITHUB_ENV
|
||||
run : |
|
||||
echo "XGO_TAGS=netgo osusergo darwin sqlite_omit_load_extension" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Set Windows Build Flags
|
||||
if: matrix.platform == 'windows'
|
||||
run: |
|
||||
echo "BUILD_FLAGS=-extldflags -static" >> $GITHUB_ENV
|
||||
echo "BUILD_FLAGS=-extldflags -static -buildmode=exe" >> $GITHUB_ENV
|
||||
echo "XGO_TAGS=netgo osusergo sqlite_omit_load_extension" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
|
@ -127,12 +112,12 @@ jobs:
|
|||
COMMIT: ${{ github.sha }}
|
||||
with:
|
||||
xgo_version: latest
|
||||
go_version: 1.15.x
|
||||
go_version: 1.17.x
|
||||
dest: build
|
||||
prefix: statping
|
||||
targets: ${{ matrix.platform }}/${{ matrix.arch }}
|
||||
v: false
|
||||
x: false
|
||||
v: true
|
||||
x: true
|
||||
pkg: cmd
|
||||
buildmode: pie
|
||||
tags: ${{ env.XGO_TAGS }}
|
||||
|
@ -152,19 +137,19 @@ jobs:
|
|||
if: matrix.platform == 'windows'
|
||||
run: |
|
||||
cd build
|
||||
mv statping-windows-4.0-${{ matrix.arch }}.exe statping.exe
|
||||
mv statping-windows-${{ matrix.arch }}.exe statping.exe
|
||||
chmod +x statping.exe
|
||||
zip statping-windows-${{ matrix.arch }}.zip statping.exe
|
||||
rm -rf statping.exe
|
||||
echo "compressed=statping-windows-${{ matrix.arch }}.zip" >> $GITHUB_ENV
|
||||
|
||||
- name: Compress Darwin Builds
|
||||
- name: Compress MacOS (Darwin) Builds
|
||||
if: matrix.platform == 'darwin'
|
||||
run: |
|
||||
cd build
|
||||
mv statping-darwin-10.6-${{ matrix.arch }} statping
|
||||
mv statping-darwin-${{ matrix.arch }} statping
|
||||
chmod +x statping
|
||||
tar -czvf statping-darwin-${{ matrix.arch }}.tar.gz statping
|
||||
tar -czvf statping-darwin-${{ matrix.arch }}.tar.gz *
|
||||
rm -rf statping
|
||||
echo "compressed=statping-darwin-${{ matrix.arch }}.tar.gz" >> $GITHUB_ENV
|
||||
|
||||
|
@ -174,22 +159,6 @@ jobs:
|
|||
name: statping-${{ matrix.platform }}-${{ matrix.arch }}
|
||||
path: ./build
|
||||
|
||||
- name: Upload Releases
|
||||
id: upload-assets
|
||||
uses: softprops/action-gh-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
VERSION: ${{ env.VERSION }}
|
||||
with:
|
||||
tag_name: dev-v${{ env.VERSION }}
|
||||
draft: true
|
||||
prerelease: true
|
||||
files: build/${{ env.compressed }}
|
||||
|
||||
- name: Upload Compiled Binaries to S3
|
||||
run: |
|
||||
aws s3 cp build/${{ env.compressed }} s3://assets.statping.com/commit/${{ github.sha }}/
|
||||
|
||||
test:
|
||||
needs: frontend
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -217,10 +186,10 @@ jobs:
|
|||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.15.x
|
||||
go-version: 1.17.x
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.18.2
|
||||
node-version: 16.14.0
|
||||
|
||||
- name: Install Global Dependencies
|
||||
run: npm install -g yarn sass newman cross-env wait-on @sentry/cli
|
||||
|
@ -228,7 +197,7 @@ jobs:
|
|||
- name: Setting ENV's
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/12.18.2/x64/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
|
@ -272,7 +241,7 @@ jobs:
|
|||
MOBILE_NUMBER: ${{ secrets.MOBILE_NUMBER }}
|
||||
PUSHOVER_TOKEN: ${{ secrets.PUSHOVER_TOKEN }}
|
||||
PUSHOVER_API: ${{ secrets.PUSHOVER_API }}
|
||||
SLACK_URL: ${{ secrets.SLACK_URL }}
|
||||
SLACK_URL: https://hooks.slack.com/services/TTJ1B90DP/RENU20O9M/9uI823SUnYBuGcxYlpSimD6H
|
||||
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
TELEGRAM_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL }}
|
||||
TWILIO_SID: ${{ secrets.TWILIO_SID }}
|
||||
|
@ -287,12 +256,12 @@ jobs:
|
|||
SNS_REGION: ${{ secrets.SNS_REGION }}
|
||||
SNS_TOPIC: ${{ secrets.SNS_TOPIC }}
|
||||
|
||||
- name: Coveralls Testing Coverage
|
||||
run: |
|
||||
go get github.com/mattn/goveralls
|
||||
goveralls -coverprofile=coverage.out -repotoken $COVERALLS
|
||||
env:
|
||||
COVERALLS: ${{ secrets.COVERALLS }}
|
||||
# - name: Coveralls Testing Coverage
|
||||
# run: |
|
||||
# go get github.com/mattn/goveralls
|
||||
# goveralls -coverprofile=coverage.out -repotoken $COVERALLS
|
||||
# env:
|
||||
# COVERALLS: ${{ secrets.COVERALLS }}
|
||||
|
||||
test-postman-sqlite:
|
||||
needs: frontend
|
||||
|
@ -301,12 +270,12 @@ jobs:
|
|||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.15.x
|
||||
go-version: 1.17.x
|
||||
|
||||
- name: Setting ENV's
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/12.18.2/x64/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
|
@ -355,12 +324,12 @@ jobs:
|
|||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.15.x
|
||||
go-version: 1.17.x
|
||||
|
||||
- name: Setting ENV's
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/12.18.2/x64/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
|
@ -412,12 +381,12 @@ jobs:
|
|||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.15.x
|
||||
go-version: 1.17.x
|
||||
|
||||
- name: Setting ENV's
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/12.18.2/x64/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
|
@ -447,65 +416,3 @@ jobs:
|
|||
environment: ./dev/postman_env_postgres.json
|
||||
timeoutRequest: 30000
|
||||
delayRequest: 600
|
||||
|
||||
docker-release:
|
||||
needs: [test, build, test-postman-sqlite, test-postman-mysql, test-postman-postgres]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Statping Repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setting ENV's
|
||||
run: echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
id: buildx
|
||||
with:
|
||||
install: true
|
||||
|
||||
- name: Docker Login
|
||||
env:
|
||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||
run: echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin
|
||||
|
||||
- name: Cache Docker layers
|
||||
uses: actions/cache@v2
|
||||
id: buildx-docker-master
|
||||
with:
|
||||
path: /tmp/.buildx-cache
|
||||
key: buildx-docker-master
|
||||
restore-keys: |
|
||||
buildx-docker-master
|
||||
- name: Docker Build :base
|
||||
run: make buildx-base
|
||||
|
||||
- name: Docker Build :dev
|
||||
run: make buildx-dev
|
||||
|
||||
# sentry-release:
|
||||
# needs: [test, test-postman-sqlite, test-postman-postgres, test-postman-mysql]
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - name: Checkout Statping Repo
|
||||
# uses: actions/checkout@v2
|
||||
#
|
||||
# - name: Setup Sentry CLI
|
||||
# uses: mathrix-education/setup-sentry-cli@master
|
||||
# with:
|
||||
# version: latest
|
||||
# url: ${{ secrets.SENTRY_URL }}
|
||||
# token: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
# organization: statping
|
||||
#
|
||||
# - name: Setting ENV's
|
||||
# run: echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
# shell: bash
|
||||
#
|
||||
# - name: Sentry Release
|
||||
# run: make sentry-release
|
|
@ -0,0 +1,501 @@
|
|||
name: 2. Unstable Build, Test and Deploy
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- unstable
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
|
||||
jobs:
|
||||
|
||||
frontend:
|
||||
runs-on: [self-hosted, linux, aboutcher-hosted, rocky8]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.17.x
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 16.14.0
|
||||
|
||||
- name: Set Version
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Install Global Dependencies
|
||||
run: npm install -g yarn sass cross-env mjml
|
||||
|
||||
- name: Download Frontend Dependencies
|
||||
working-directory: ./frontend
|
||||
run: yarn
|
||||
|
||||
- name: Download Go mods
|
||||
run: |
|
||||
go mod download
|
||||
go mod verify
|
||||
make test-deps
|
||||
|
||||
- name: Build Frontend Statping
|
||||
env:
|
||||
VERSION: ${{ env.VERSION }}
|
||||
COMMIT: ${{ github.sha }}
|
||||
MJML_APP: ${{ secrets.MJML_APP }}
|
||||
MJML_PRIVATE: ${{ secrets.MJML_PRIVATE }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
run: make clean generate compile
|
||||
|
||||
- name: Upload Compiled Frontend (rice-box.go)
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: static-rice-box
|
||||
path: ./source
|
||||
|
||||
build:
|
||||
needs: frontend
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
platform: [linux]
|
||||
arch: [386, amd64, arm-7, arm-6, arm64]
|
||||
include:
|
||||
- platform: darwin
|
||||
arch: arm64
|
||||
- platform: darwin
|
||||
arch: amd64
|
||||
- platform: windows
|
||||
arch: 386
|
||||
- platform: windows
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Download Compiled Frontend (rice-box.go)
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: static-rice-box
|
||||
path: ./source
|
||||
|
||||
- name: Add GOBIN to PATH
|
||||
run: |
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Set Linux Build Flags
|
||||
if: matrix.platform == 'linux'
|
||||
run: |
|
||||
echo "BUILD_FLAGS=-extldflags -static" >> $GITHUB_ENV
|
||||
echo "XGO_TAGS=netgo osusergo linux sqlite_omit_load_extension" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Set MacOS (Darwin) Build Flags
|
||||
if: matrix.platform == 'darwin'
|
||||
run : |
|
||||
echo "XGO_TAGS=netgo osusergo darwin sqlite_omit_load_extension" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Set Windows Build Flags
|
||||
if: matrix.platform == 'windows'
|
||||
run: |
|
||||
echo "BUILD_FLAGS=-extldflags -static -buildmode=exe" >> $GITHUB_ENV
|
||||
echo "XGO_TAGS=netgo osusergo sqlite_omit_load_extension" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Build ${{ matrix.platform }}/${{ matrix.arch }}
|
||||
uses: crazy-max/ghaction-xgo@v1
|
||||
env:
|
||||
VERSION: ${{ env.VERSION }}
|
||||
COMMIT: ${{ github.sha }}
|
||||
with:
|
||||
xgo_version: latest
|
||||
go_version: 1.17.x
|
||||
dest: build
|
||||
prefix: statping
|
||||
targets: ${{ matrix.platform }}/${{ matrix.arch }}
|
||||
v: true
|
||||
x: true
|
||||
pkg: cmd
|
||||
buildmode: pie
|
||||
tags: ${{ env.XGO_TAGS }}
|
||||
ldflags: -s -w -X main.VERSION=${{ env.VERSION }} -X main.COMMIT=${{ env.COMMIT }} ${{ env.BUILD_FLAGS }}
|
||||
|
||||
- name: Compress Linux Builds
|
||||
if: matrix.platform == 'linux'
|
||||
run: |
|
||||
cd build
|
||||
mv statping-linux-${{ matrix.arch }} statping
|
||||
chmod +x statping
|
||||
tar -czvf statping-linux-${{ matrix.arch }}.tar.gz statping
|
||||
rm -rf statping
|
||||
echo "compressed=statping-linux-${{ matrix.arch }}.tar.gz" >> $GITHUB_ENV
|
||||
|
||||
- name: Compress Windows Builds
|
||||
if: matrix.platform == 'windows'
|
||||
run: |
|
||||
cd build
|
||||
mv statping-windows-${{ matrix.arch }}.exe statping.exe
|
||||
chmod +x statping.exe
|
||||
zip statping-windows-${{ matrix.arch }}.zip statping.exe
|
||||
rm -rf statping.exe
|
||||
echo "compressed=statping-windows-${{ matrix.arch }}.zip" >> $GITHUB_ENV
|
||||
|
||||
- name: Compress MacOS (Darwin) Builds
|
||||
if: matrix.platform == 'darwin'
|
||||
run: |
|
||||
cd build
|
||||
mv statping-darwin-${{ matrix.arch }} statping
|
||||
chmod +x statping
|
||||
tar -czvf statping-darwin-${{ matrix.arch }}.tar.gz *
|
||||
rm -rf statping
|
||||
echo "compressed=statping-darwin-${{ matrix.arch }}.tar.gz" >> $GITHUB_ENV
|
||||
|
||||
- name: Upload Compiled Statping Binary
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: statping-${{ matrix.platform }}-${{ matrix.arch }}
|
||||
path: ./build
|
||||
|
||||
- name: Upload Releases
|
||||
id: upload-assets
|
||||
uses: softprops/action-gh-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
VERSION: ${{ env.VERSION }}
|
||||
with:
|
||||
tag_name: dev-v${{ env.VERSION }}
|
||||
draft: true
|
||||
prerelease: true
|
||||
files: build/${{ env.compressed }}
|
||||
|
||||
# test:
|
||||
# needs: frontend
|
||||
# runs-on: [self-hosted, linux, aboutcher-hosted]
|
||||
# services:
|
||||
# postgres:
|
||||
# image: postgres:10.8
|
||||
# env:
|
||||
# POSTGRES_USER: root
|
||||
# POSTGRES_PASSWORD: password123
|
||||
# POSTGRES_DB: statping
|
||||
# ports:
|
||||
# - 5432:5432
|
||||
# options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
||||
|
||||
# mysql:
|
||||
# image: mysql:5.7
|
||||
# env:
|
||||
# MYSQL_ROOT_PASSWORD: password123
|
||||
# MYSQL_DATABASE: statping
|
||||
# ports:
|
||||
# - 3306:3306
|
||||
# options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
||||
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - uses: actions/setup-go@v2
|
||||
# with:
|
||||
# go-version: 1.17.x
|
||||
# - uses: actions/setup-node@v1
|
||||
# with:
|
||||
# node-version: 16.14.0
|
||||
|
||||
# - name: Install Global Dependencies
|
||||
# run: npm install -g yarn sass newman cross-env wait-on @sentry/cli
|
||||
|
||||
# - name: Setting ENV's
|
||||
# run: |
|
||||
# echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
# echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
# echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
# shell: bash
|
||||
|
||||
# - name: Download Compiled Frontend (rice-box.go)
|
||||
# uses: actions/download-artifact@v1
|
||||
# with:
|
||||
# name: static-rice-box
|
||||
# path: ./source
|
||||
|
||||
# - name: Install Statping
|
||||
# env:
|
||||
# VERSION: ${{ env.VERSION }}
|
||||
# COMMIT: ${{ github.sha }}
|
||||
# run: |
|
||||
# make build certs
|
||||
# chmod +x statping
|
||||
# mv statping $(go env GOPATH)/bin/
|
||||
|
||||
# - name: Go Tests
|
||||
# run: |
|
||||
# go get gotest.tools/gotestsum
|
||||
# gotestsum --no-summary=skipped --format testname -- -covermode=count -coverprofile=coverage.out -p=1 ./...
|
||||
# env:
|
||||
# VERSION: ${{ env.VERSION }}
|
||||
# COMMIT: ${{ github.sha }}
|
||||
# DB_CONN: sqlite3
|
||||
# STATPING_DIR: ${{ github.workspace }}
|
||||
# API_SECRET: demopassword123
|
||||
# DISABLE_LOGS: false
|
||||
# ALLOW_REPORTS: true
|
||||
# SAMPLE_DATA: true
|
||||
# COVERALLS: ${{ secrets.COVERALLS }}
|
||||
# DISCORD_URL: ${{ secrets.DISCORD_URL }}
|
||||
# EMAIL_HOST: ${{ secrets.EMAIL_HOST }}
|
||||
# EMAIL_USER: ${{ secrets.EMAIL_USER }}
|
||||
# EMAIL_PASS: ${{ secrets.EMAIL_PASS }}
|
||||
# EMAIL_OUTGOING: ${{ secrets.EMAIL_OUTGOING }}
|
||||
# EMAIL_SEND_TO: ${{ secrets.EMAIL_SEND_TO }}
|
||||
# EMAIL_PORT: ${{ secrets.EMAIL_PORT }}
|
||||
# MOBILE_ID: ${{ secrets.MOBILE_ID }}
|
||||
# MOBILE_NUMBER: ${{ secrets.MOBILE_NUMBER }}
|
||||
# PUSHOVER_TOKEN: ${{ secrets.PUSHOVER_TOKEN }}
|
||||
# PUSHOVER_API: ${{ secrets.PUSHOVER_API }}
|
||||
# SLACK_URL: ${{ secrets.SLACK_URL }}
|
||||
# TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
# TELEGRAM_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL }}
|
||||
# TWILIO_SID: ${{ secrets.TWILIO_SID }}
|
||||
# TWILIO_SECRET: ${{ secrets.TWILIO_SECRET }}
|
||||
# TWILIO_FROM: ${{ secrets.TWILIO_FROM }}
|
||||
# TWILIO_TO: ${{ secrets.TWILIO_TO }}
|
||||
# TEST_EMAIL: ${{ secrets.TEST_EMAIL }}
|
||||
# GOTIFY_URL: ${{ secrets.GOTIFY_URL }}
|
||||
# GOTIFY_TOKEN: ${{ secrets.GOTIFY_TOKEN }}
|
||||
# SNS_TOKEN: ${{ secrets.SNS_TOKEN }}
|
||||
# SNS_SECRET: ${{ secrets.SNS_SECRET }}
|
||||
# SNS_REGION: ${{ secrets.SNS_REGION }}
|
||||
# SNS_TOPIC: ${{ secrets.SNS_TOPIC }}
|
||||
|
||||
# - name: Coveralls Testing Coverage
|
||||
# run: |
|
||||
# go get github.com/mattn/goveralls
|
||||
# goveralls -coverprofile=coverage.out -repotoken $COVERALLS
|
||||
# env:
|
||||
# COVERALLS: ${{ secrets.COVERALLS }}
|
||||
|
||||
test-postman-sqlite:
|
||||
needs: frontend
|
||||
runs-on: [self-hosted, linux, aboutcher-hosted, centos7]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.17.x
|
||||
|
||||
- name: Setting ENV's
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Download Compiled Frontend (rice-box.go)
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: static-rice-box
|
||||
path: ./source
|
||||
|
||||
- name: Install Statping
|
||||
env:
|
||||
VERSION: ${{ env.VERSION }}
|
||||
COMMIT: ${{ github.sha }}
|
||||
run: |
|
||||
make build
|
||||
chmod +x statping
|
||||
mv statping $(go env GOPATH)/bin/
|
||||
- name: Run Statping
|
||||
run: |
|
||||
API_SECRET=demosecret123 statping --port=8585 > /dev/null &
|
||||
sleep 5
|
||||
- name: Postman SQLite Tests
|
||||
uses: matt-ball/newman-action@master
|
||||
with:
|
||||
apiKey: ${{ secrets.POSTMAN_API }}
|
||||
collection: ./dev/postman.json
|
||||
environment: ./dev/postman_env_sqlite.json
|
||||
timeoutRequest: 30000
|
||||
delayRequest: 600
|
||||
|
||||
test-postman-mysql:
|
||||
needs: frontend
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:5.7
|
||||
env:
|
||||
MYSQL_ROOT_PASSWORD: password123
|
||||
MYSQL_DATABASE: statping
|
||||
ports:
|
||||
- 3306:3306
|
||||
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.17.x
|
||||
|
||||
- name: Setting ENV's
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Download Compiled Frontend (rice-box.go)
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: static-rice-box
|
||||
path: ./source
|
||||
|
||||
- name: Install Statping
|
||||
env:
|
||||
VERSION: ${{ env.VERSION }}
|
||||
COMMIT: ${{ github.sha }}
|
||||
MJML_APP: ${{ secrets.MJML_APP }}
|
||||
MJML_PRIVATE: ${{ secrets.MJML_PRIVATE }}
|
||||
run: |
|
||||
make build
|
||||
chmod +x statping
|
||||
mv statping $(go env GOPATH)/bin/
|
||||
- name: Run Statping
|
||||
run: |
|
||||
API_SECRET=demosecret123 statping --port=8585 > /dev/null &
|
||||
sleep 5
|
||||
- name: Postman MySQL Tests
|
||||
uses: matt-ball/newman-action@master
|
||||
with:
|
||||
apiKey: ${{ secrets.POSTMAN_API }}
|
||||
collection: ./dev/postman.json
|
||||
environment: ./dev/postman_env_mysql.json
|
||||
timeoutRequest: 30000
|
||||
delayRequest: 600
|
||||
|
||||
test-postman-postgres:
|
||||
needs: frontend
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:10.8
|
||||
env:
|
||||
POSTGRES_USER: root
|
||||
POSTGRES_PASSWORD: password123
|
||||
POSTGRES_DB: statping
|
||||
ports:
|
||||
- 5432:5432
|
||||
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.17.x
|
||||
|
||||
- name: Setting ENV's
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Download Compiled Frontend (rice-box.go)
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: static-rice-box
|
||||
path: ./source
|
||||
|
||||
- name: Install Statping
|
||||
env:
|
||||
VERSION: ${{ env.VERSION }}
|
||||
COMMIT: ${{ github.sha }}
|
||||
run: |
|
||||
make build
|
||||
chmod +x statping
|
||||
mv statping $(go env GOPATH)/bin/
|
||||
- name: Run Statping
|
||||
run: |
|
||||
API_SECRET=demosecret123 statping --port=8585 > /dev/null &
|
||||
sleep 5
|
||||
- name: Postman Postgres Tests
|
||||
uses: matt-ball/newman-action@master
|
||||
with:
|
||||
apiKey: ${{ secrets.POSTMAN_API }}
|
||||
collection: ./dev/postman.json
|
||||
environment: ./dev/postman_env_postgres.json
|
||||
timeoutRequest: 30000
|
||||
delayRequest: 600
|
||||
|
||||
docker-release:
|
||||
needs: [build, test-postman-sqlite, test-postman-mysql, test-postman-postgres]
|
||||
runs-on: [self-hosted, linux, aboutcher-hosted, rocky8]
|
||||
|
||||
steps:
|
||||
- name: Checkout Statping Repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setting ENV's
|
||||
run: echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
id: buildx
|
||||
with:
|
||||
install: true
|
||||
|
||||
- name: Cache Docker layers
|
||||
uses: actions/cache@v2
|
||||
id: buildx-docker-master
|
||||
with:
|
||||
path: /tmp/.buildx-cache
|
||||
key: buildx-docker-master
|
||||
restore-keys: |
|
||||
buildx-docker-master
|
||||
|
||||
# - name: Docker Login
|
||||
# env:
|
||||
# DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||
# DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||
# run: echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin#
|
||||
|
||||
# - name: Docker Build :base
|
||||
# run: make buildx-base
|
||||
|
||||
- name: Docker Login
|
||||
env:
|
||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||
run: echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin
|
||||
|
||||
- name: Docker Build :dev
|
||||
run: make buildx-dev
|
||||
|
||||
|
||||
# sentry-release:
|
||||
# needs: [test, test-postman-sqlite, test-postman-postgres, test-postman-mysql]
|
||||
# runs-on: [self-hosted, linux, aboutcher-hosted]
|
||||
# steps:
|
||||
# - name: Checkout Statping Repo
|
||||
# uses: actions/checkout@v2
|
||||
#
|
||||
# - name: Setup Sentry CLI
|
||||
# uses: mathrix-education/setup-sentry-cli@master
|
||||
# with:
|
||||
# version: latest
|
||||
# url: ${{ secrets.SENTRY_URL }}
|
||||
# token: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
# organization: statping
|
||||
#
|
||||
# - name: Setting ENV's
|
||||
# run: echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
# shell: bash
|
||||
#
|
||||
# - name: Sentry Release
|
||||
# run: make sentry-release
|
|
@ -1,23 +1,23 @@
|
|||
name: Master Build
|
||||
name: 3. Stable Build, Test and Deploy
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- stable
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
|
||||
jobs:
|
||||
|
||||
frontend:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: [self-hosted, linux, aboutcher-hosted, rocky8]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.15.x
|
||||
go-version: 1.17.x
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.18.2
|
||||
node-version: 16.14.0
|
||||
|
||||
- name: Set Version
|
||||
run: |
|
||||
|
@ -54,29 +54,33 @@ jobs:
|
|||
name: static-rice-box
|
||||
path: ./source
|
||||
|
||||
- name: Configure AWS credentials for Asset uploads
|
||||
uses: aws-actions/configure-aws-credentials@v1
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-region: us-west-2
|
||||
|
||||
- name: Upload Static Assets to S3
|
||||
run: |
|
||||
tar -czvf source.tar.gz source/
|
||||
aws s3 cp source.tar.gz s3://assets.statping.com/commit/${{ github.sha }}/
|
||||
rm -rf source.tar.gz
|
||||
# - name: Configure AWS credentials for Asset uploads
|
||||
# uses: aws-actions/configure-aws-credentials@v1
|
||||
# with:
|
||||
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
# aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
# aws-region: us-west-2
|
||||
#
|
||||
# - name: Upload Static Assets to S3
|
||||
# run: |
|
||||
# tar -czvf source.tar.gz source/
|
||||
# aws s3 cp source.tar.gz s3://assets.statping.com/commit/${{ github.sha }}/
|
||||
# rm -rf source.tar.gz
|
||||
|
||||
build:
|
||||
needs: frontend
|
||||
needs: [test-postman-sqlite, test-postman-mysql, test-postman-postgres]
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
platform: [linux]
|
||||
arch: [386, amd64, arm-7, arm-6, arm64]
|
||||
include:
|
||||
- platform: darwin
|
||||
arch: arm64
|
||||
- platform: darwin
|
||||
arch: amd64
|
||||
- platform: windows
|
||||
arch: 386
|
||||
- platform: windows
|
||||
arch: amd64
|
||||
|
||||
|
@ -89,12 +93,12 @@ jobs:
|
|||
name: static-rice-box
|
||||
path: ./source
|
||||
|
||||
- name: Configure AWS credentials for Asset uploads
|
||||
uses: aws-actions/configure-aws-credentials@v1
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-region: us-west-2
|
||||
# - name: Configure AWS credentials for Asset uploads
|
||||
# uses: aws-actions/configure-aws-credentials@v1
|
||||
# with:
|
||||
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
# aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
# aws-region: us-west-2
|
||||
|
||||
- name: Add GOBIN to PATH
|
||||
run: |
|
||||
|
@ -108,7 +112,7 @@ jobs:
|
|||
echo "XGO_TAGS=netgo osusergo linux sqlite_omit_load_extension" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Set Darwin Build Flags
|
||||
- name: Set MacOS (Darwin) Build Flags
|
||||
if: matrix.platform == 'darwin'
|
||||
run: echo "XGO_TAGS=netgo osusergo darwin sqlite_omit_load_extension" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
@ -116,7 +120,7 @@ jobs:
|
|||
- name: Set Windows Build Flags
|
||||
if: matrix.platform == 'windows'
|
||||
run: |
|
||||
echo "BUILD_FLAGS=-extldflags -static" >> $GITHUB_ENV
|
||||
echo "BUILD_FLAGS=-extldflags -static -buildmode=exe" >> $GITHUB_ENV
|
||||
echo "XGO_TAGS=netgo osusergo sqlite_omit_load_extension" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
|
@ -127,7 +131,7 @@ jobs:
|
|||
COMMIT: ${{ github.sha }}
|
||||
with:
|
||||
xgo_version: latest
|
||||
go_version: 1.15.x
|
||||
go_version: 1.17.x
|
||||
dest: build
|
||||
prefix: statping
|
||||
targets: ${{ matrix.platform }}/${{ matrix.arch }}
|
||||
|
@ -152,17 +156,17 @@ jobs:
|
|||
if: matrix.platform == 'windows'
|
||||
run: |
|
||||
cd build
|
||||
mv statping-windows-4.0-${{ matrix.arch }}.exe statping.exe
|
||||
mv statping-windows-${{ matrix.arch }}.exe statping.exe
|
||||
chmod +x statping.exe
|
||||
zip statping-windows-${{ matrix.arch }}.zip statping.exe
|
||||
rm -rf statping.exe
|
||||
echo "compressed=statping-windows-${{ matrix.arch }}.zip" >> $GITHUB_ENV
|
||||
|
||||
- name: Compress Darwin Builds
|
||||
- name: Compress MacOS (Darwin) Builds
|
||||
if: matrix.platform == 'darwin'
|
||||
run: |
|
||||
cd build
|
||||
mv statping-darwin-10.6-${{ matrix.arch }} statping
|
||||
mv statping-darwin-${{ matrix.arch }} statping
|
||||
chmod +x statping
|
||||
tar -czvf statping-darwin-${{ matrix.arch }}.tar.gz statping
|
||||
rm -rf statping
|
||||
|
@ -186,127 +190,127 @@ jobs:
|
|||
prerelease: true
|
||||
files: build/${{ env.compressed }}
|
||||
|
||||
- name: Upload Compiled Binaries to S3
|
||||
run: |
|
||||
aws s3 cp build/${{ env.compressed }} s3://assets.statping.com/commit/${{ github.sha }}/
|
||||
# - name: Upload Compiled Binaries to S3
|
||||
# run: |
|
||||
# aws s3 cp build/${{ env.compressed }} s3://assets.statping.com/commit/${{ github.sha }}/
|
||||
|
||||
test:
|
||||
needs: frontend
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:10.8
|
||||
env:
|
||||
POSTGRES_USER: root
|
||||
POSTGRES_PASSWORD: password123
|
||||
POSTGRES_DB: statping
|
||||
ports:
|
||||
- 5432:5432
|
||||
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
||||
|
||||
mysql:
|
||||
image: mysql:5.7
|
||||
env:
|
||||
MYSQL_ROOT_PASSWORD: password123
|
||||
MYSQL_DATABASE: statping
|
||||
ports:
|
||||
- 3306:3306
|
||||
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.15.x
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.18.2
|
||||
|
||||
- name: Install Global Dependencies
|
||||
run: npm install -g yarn sass newman cross-env wait-on @sentry/cli
|
||||
|
||||
- name: Setting ENV's
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/12.18.2/x64/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Download Compiled Frontend (rice-box.go)
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: static-rice-box
|
||||
path: ./source
|
||||
|
||||
- name: Install Statping
|
||||
env:
|
||||
VERSION: ${{ env.VERSION }}
|
||||
COMMIT: ${{ github.sha }}
|
||||
run: |
|
||||
make build certs
|
||||
chmod +x statping
|
||||
mv statping $(go env GOPATH)/bin/
|
||||
|
||||
- name: Go Tests
|
||||
run: |
|
||||
go get gotest.tools/gotestsum
|
||||
gotestsum --no-summary=skipped --format testname -- -covermode=count -coverprofile=coverage.out -p=1 ./...
|
||||
env:
|
||||
VERSION: ${{ env.VERSION }}
|
||||
COMMIT: ${{ github.sha }}
|
||||
DB_CONN: sqlite3
|
||||
STATPING_DIR: ${{ github.workspace }}
|
||||
API_SECRET: demopassword123
|
||||
DISABLE_LOGS: false
|
||||
ALLOW_REPORTS: true
|
||||
SAMPLE_DATA: true
|
||||
COVERALLS: ${{ secrets.COVERALLS }}
|
||||
DISCORD_URL: ${{ secrets.DISCORD_URL }}
|
||||
EMAIL_HOST: ${{ secrets.EMAIL_HOST }}
|
||||
EMAIL_USER: ${{ secrets.EMAIL_USER }}
|
||||
EMAIL_PASS: ${{ secrets.EMAIL_PASS }}
|
||||
EMAIL_OUTGOING: ${{ secrets.EMAIL_OUTGOING }}
|
||||
EMAIL_SEND_TO: ${{ secrets.EMAIL_SEND_TO }}
|
||||
EMAIL_PORT: ${{ secrets.EMAIL_PORT }}
|
||||
MOBILE_ID: ${{ secrets.MOBILE_ID }}
|
||||
MOBILE_NUMBER: ${{ secrets.MOBILE_NUMBER }}
|
||||
PUSHOVER_TOKEN: ${{ secrets.PUSHOVER_TOKEN }}
|
||||
PUSHOVER_API: ${{ secrets.PUSHOVER_API }}
|
||||
SLACK_URL: ${{ secrets.SLACK_URL }}
|
||||
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
TELEGRAM_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL }}
|
||||
TWILIO_SID: ${{ secrets.TWILIO_SID }}
|
||||
TWILIO_SECRET: ${{ secrets.TWILIO_SECRET }}
|
||||
TWILIO_FROM: ${{ secrets.TWILIO_FROM }}
|
||||
TWILIO_TO: ${{ secrets.TWILIO_TO }}
|
||||
TEST_EMAIL: ${{ secrets.TEST_EMAIL }}
|
||||
GOTIFY_URL: ${{ secrets.GOTIFY_URL }}
|
||||
GOTIFY_TOKEN: ${{ secrets.GOTIFY_TOKEN }}
|
||||
SNS_TOKEN: ${{ secrets.SNS_TOKEN }}
|
||||
SNS_SECRET: ${{ secrets.SNS_SECRET }}
|
||||
SNS_REGION: ${{ secrets.SNS_REGION }}
|
||||
SNS_TOPIC: ${{ secrets.SNS_TOPIC }}
|
||||
|
||||
- name: Coveralls Testing Coverage
|
||||
run: |
|
||||
go get github.com/mattn/goveralls
|
||||
goveralls -coverprofile=coverage.out -repotoken $COVERALLS
|
||||
env:
|
||||
COVERALLS: ${{ secrets.COVERALLS }}
|
||||
# test:
|
||||
# needs: frontend
|
||||
# runs-on: ubuntu-latest
|
||||
# services:
|
||||
# postgres:
|
||||
# image: postgres:10.8
|
||||
# env:
|
||||
# POSTGRES_USER: root
|
||||
# POSTGRES_PASSWORD: password123
|
||||
# POSTGRES_DB: statping
|
||||
# ports:
|
||||
# - 5432:5432
|
||||
# options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
||||
#
|
||||
# mysql:
|
||||
# image: mysql:5.7
|
||||
# env:
|
||||
# MYSQL_ROOT_PASSWORD: password123
|
||||
# MYSQL_DATABASE: statping
|
||||
# ports:
|
||||
# - 3306:3306
|
||||
# options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
||||
#
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - uses: actions/setup-go@v2
|
||||
# with:
|
||||
# go-version: 1.17.x
|
||||
# - uses: actions/setup-node@v1
|
||||
# with:
|
||||
# node-version: 16.14.0
|
||||
#
|
||||
# - name: Install Global Dependencies
|
||||
# run: npm install -g yarn sass newman cross-env wait-on @sentry/cli
|
||||
#
|
||||
# - name: Setting ENV's
|
||||
# run: |
|
||||
# echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
# echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
# echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
# shell: bash
|
||||
#
|
||||
# - name: Download Compiled Frontend (rice-box.go)
|
||||
# uses: actions/download-artifact@v1
|
||||
# with:
|
||||
# name: static-rice-box
|
||||
# path: ./source
|
||||
#
|
||||
# - name: Install Statping
|
||||
# env:
|
||||
# VERSION: ${{ env.VERSION }}
|
||||
# COMMIT: ${{ github.sha }}
|
||||
# run: |
|
||||
# make build certs
|
||||
# chmod +x statping
|
||||
# mv statping $(go env GOPATH)/bin/
|
||||
#
|
||||
# - name: Go Tests
|
||||
# run: |
|
||||
# go get gotest.tools/gotestsum
|
||||
# gotestsum --no-summary=skipped --format testname -- -covermode=count -coverprofile=coverage.out -p=1 ./...
|
||||
# env:
|
||||
# VERSION: ${{ env.VERSION }}
|
||||
# COMMIT: ${{ github.sha }}
|
||||
# DB_CONN: sqlite3
|
||||
# STATPING_DIR: ${{ github.workspace }}
|
||||
# API_SECRET: demopassword123
|
||||
# DISABLE_LOGS: false
|
||||
# ALLOW_REPORTS: true
|
||||
# SAMPLE_DATA: true
|
||||
# COVERALLS: ${{ secrets.COVERALLS }}
|
||||
# DISCORD_URL: ${{ secrets.DISCORD_URL }}
|
||||
# EMAIL_HOST: ${{ secrets.EMAIL_HOST }}
|
||||
# EMAIL_USER: ${{ secrets.EMAIL_USER }}
|
||||
# EMAIL_PASS: ${{ secrets.EMAIL_PASS }}
|
||||
# EMAIL_OUTGOING: ${{ secrets.EMAIL_OUTGOING }}
|
||||
# EMAIL_SEND_TO: ${{ secrets.EMAIL_SEND_TO }}
|
||||
# EMAIL_PORT: ${{ secrets.EMAIL_PORT }}
|
||||
# MOBILE_ID: ${{ secrets.MOBILE_ID }}
|
||||
# MOBILE_NUMBER: ${{ secrets.MOBILE_NUMBER }}
|
||||
# PUSHOVER_TOKEN: ${{ secrets.PUSHOVER_TOKEN }}
|
||||
# PUSHOVER_API: ${{ secrets.PUSHOVER_API }}
|
||||
# SLACK_URL: ${{ secrets.SLACK_URL }}
|
||||
# TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
|
||||
# TELEGRAM_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL }}
|
||||
# TWILIO_SID: ${{ secrets.TWILIO_SID }}
|
||||
# TWILIO_SECRET: ${{ secrets.TWILIO_SECRET }}
|
||||
# TWILIO_FROM: ${{ secrets.TWILIO_FROM }}
|
||||
# TWILIO_TO: ${{ secrets.TWILIO_TO }}
|
||||
# TEST_EMAIL: ${{ secrets.TEST_EMAIL }}
|
||||
# GOTIFY_URL: ${{ secrets.GOTIFY_URL }}
|
||||
# GOTIFY_TOKEN: ${{ secrets.GOTIFY_TOKEN }}
|
||||
# SNS_TOKEN: ${{ secrets.SNS_TOKEN }}
|
||||
# SNS_SECRET: ${{ secrets.SNS_SECRET }}
|
||||
# SNS_REGION: ${{ secrets.SNS_REGION }}
|
||||
# SNS_TOPIC: ${{ secrets.SNS_TOPIC }}
|
||||
#
|
||||
# - name: Coveralls Testing Coverage
|
||||
# run: |
|
||||
# go get github.com/mattn/goveralls
|
||||
# goveralls -coverprofile=coverage.out -repotoken $COVERALLS
|
||||
# env:
|
||||
# COVERALLS: ${{ secrets.COVERALLS }}
|
||||
|
||||
test-postman-sqlite:
|
||||
needs: frontend
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: [self-hosted, linux, aboutcher-hosted, centos7]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.15.x
|
||||
go-version: 1.17.x
|
||||
|
||||
- name: Setting ENV's
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/12.18.2/x64/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
|
@ -355,12 +359,12 @@ jobs:
|
|||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.15.x
|
||||
go-version: 1.17.x
|
||||
|
||||
- name: Setting ENV's
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/12.18.2/x64/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
|
@ -412,12 +416,12 @@ jobs:
|
|||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.15.x
|
||||
go-version: 1.17.x
|
||||
|
||||
- name: Setting ENV's
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/12.18.2/x64/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
|
@ -449,8 +453,8 @@ jobs:
|
|||
delayRequest: 600
|
||||
|
||||
docker-release:
|
||||
needs: [build, test, test-postman-sqlite, test-postman-postgres, test-postman-mysql]
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
runs-on: [self-hosted, linux, aboutcher-hosted, rocky8]
|
||||
steps:
|
||||
- name: Checkout Statping Repo
|
||||
uses: actions/checkout@v2
|
||||
|
@ -468,12 +472,6 @@ jobs:
|
|||
with:
|
||||
install: true
|
||||
|
||||
- name: Docker Login
|
||||
env:
|
||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||
run: echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin
|
||||
|
||||
- name: Cache Docker layers
|
||||
uses: actions/cache@v2
|
||||
id: buildx-docker
|
||||
|
@ -482,8 +480,21 @@ jobs:
|
|||
key: buildx-docker
|
||||
restore-keys: |
|
||||
buildx-docker
|
||||
- name: Docker Build :base
|
||||
run: make buildx-base
|
||||
|
||||
# - name: Docker Login
|
||||
# env:
|
||||
# DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||
# DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||
# run: echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin
|
||||
#
|
||||
# - name: Docker Build :base
|
||||
# run: make buildx-base
|
||||
|
||||
- name: Docker Login
|
||||
env:
|
||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||
run: echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin
|
||||
|
||||
- name: Docker Build :lastest
|
||||
run: make buildx-latest
|
||||
|
@ -510,37 +521,37 @@ jobs:
|
|||
# - name: Sentry Release
|
||||
# run: make sentry-release
|
||||
|
||||
homebrew-release:
|
||||
needs: docker-release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Statping Repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setting ENV's
|
||||
run: echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Update Homebrew Package
|
||||
env:
|
||||
VERSION: ${{ env.VERSION }}
|
||||
TRAVIS_API: ${{ secrets.TRAVIS_API }}
|
||||
run: make publish-homebrew
|
||||
|
||||
slack-update:
|
||||
needs: docker-release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Statping Repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setting ENV's
|
||||
run: echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Slack Notification
|
||||
uses: rtCamp/action-slack-notify@master
|
||||
env:
|
||||
SLACK_WEBHOOK: ${{ secrets.SLACK_URL }}
|
||||
SLACK_CHANNEL: dev
|
||||
SLACK_USERNAME: StatpingDev
|
||||
# homebrew-release:
|
||||
# needs: docker-release
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - name: Checkout Statping Repo
|
||||
# uses: actions/checkout@v2
|
||||
#
|
||||
# - name: Setting ENV's
|
||||
# run: echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
# shell: bash
|
||||
#
|
||||
# - name: Update Homebrew Package
|
||||
# env:
|
||||
# VERSION: ${{ env.VERSION }}
|
||||
# TRAVIS_API: ${{ secrets.TRAVIS_API }}
|
||||
# run: make publish-homebrew
|
||||
#
|
||||
# slack-update:
|
||||
# needs: docker-release
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - name: Checkout Statping Repo
|
||||
# uses: actions/checkout@v2
|
||||
#
|
||||
# - name: Setting ENV's
|
||||
# run: echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
# shell: bash
|
||||
#
|
||||
# - name: Slack Notification
|
||||
# uses: rtCamp/action-slack-notify@master
|
||||
# env:
|
||||
# SLACK_WEBHOOK: ${{ secrets.SLACK_URL }}
|
||||
# SLACK_CHANNEL: dev
|
||||
# SLACK_USERNAME: StatpingDev
|
|
@ -20,10 +20,10 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: '1.14.2'
|
||||
go-version: '1.17.8'
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: '12.18.2'
|
||||
node-version: '16.14.0'
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Add GOBIN to PATH
|
||||
|
@ -86,7 +86,7 @@ jobs:
|
|||
go-version: 1.15.x
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.18.2
|
||||
node-version: 16.14.0
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install Global Dependencies
|
||||
|
@ -97,7 +97,7 @@ jobs:
|
|||
- name: Setting ENV's
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/12.18.2/x64/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
|
@ -140,7 +140,7 @@ jobs:
|
|||
- name: Setting ENV's
|
||||
run: |
|
||||
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/12.18.2/x64/bin" >> $GITHUB_PATH
|
||||
echo "/opt/hostedtoolcache/node/16.14.0/x64/bin" >> $GITHUB_PATH
|
||||
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
|
|
395
CHANGELOG.md
395
CHANGELOG.md
|
@ -1,370 +1,33 @@
|
|||
# 0.90.75 (12-20-2020)
|
||||
- Removed favicons and PNG files from assets, now using base64 images
|
||||
- Cleaned up some issues with UI
|
||||
# 0.90.80 (01-26-2022)
|
||||
- Fixed permissions on /app directory - Thanks twouters
|
||||
|
||||
# 0.90.74 (12-18-2020)
|
||||
- Fixed issue with favicon/manifest.json throwing 404 errors
|
||||
- Modified language go:generate script to slowdown for 429 errors
|
||||
- Removed Sentry error logging functionality
|
||||
# 0.90.79 (01-24-2022)
|
||||
- Updated Russian Language - Thanks meatlayer
|
||||
- Docker file fix for BASE_PATH and health checks - Thanks michaelkrieger
|
||||
- Removed statping emailer notifier (not SMTP Mail)
|
||||
- Fixes for notification failures (Issue statping#911) - Thanks glanchow
|
||||
- Updated Home page uptime wording (24hr/7days) - Thanks Jonathanrbarney & thatInfrastructureGuy
|
||||
- [GITHUB] Removed mailer tests
|
||||
|
||||
# 0.90.73 (12-15-2020)
|
||||
- Removed complexity in code for http server
|
||||
- Removed internal cache functionality (not useful, needs refactor)
|
||||
- Merged PR https://github.com/statping/statping/pull/909
|
||||
- Merged PR https://github.com/statping/statping/pull/880
|
||||
- Merged PR https://github.com/statping/statping/pull/859
|
||||
# 0.90.78 (09-15-2021)
|
||||
- HTTP Webhooks accept multiple HTTP Headers
|
||||
- Modified Telegram notifier to allow chat_ids
|
||||
- New Notifier - Mattermost
|
||||
- Updated German Language - Thanks Flofeld
|
||||
- Czech Language - Thanks Fjuro
|
||||
- Some minor branding Changes
|
||||
- Moved some asset dependancies from assets.statping.com
|
||||
- Fixed the (Ubuntu) Snap Store build script
|
||||
- Retrospectively updated the Changelog
|
||||
- [GITHUB] Fixed Windows/Mac autobuilds
|
||||
- [GITHUB] Unstable container build
|
||||
- [GITHUB] Triggers SNAP builds
|
||||
|
||||
# 0.90.72 (10-28-2020)
|
||||
- Fixed issue with graphs becoming stuck on reload
|
||||
# 0.90.77 (08-18-2021)
|
||||
- More branding changes
|
||||
- Fix for go statping-ng/email deps (https://github.com/statping-ng/statping-ng/issues/9)
|
||||
- [GITHUB] Fixed autobuilds
|
||||
|
||||
# 0.90.71 (10-13-2020)
|
||||
- Reverted Docker user in Dockerfile
|
||||
|
||||
# 0.90.70 (10-1-2020)
|
||||
- Merged PR #806 - Enhance GRPC Monitoring
|
||||
- Merged PR #692 - When login fields are autofilled the sign in button should be enabled
|
||||
- Modified multiple Vue forms to use number models for integer inputs
|
||||
- Fixed page freeze issue for incidents https://github.com/statping/statping/issues/842
|
||||
- Modified cache routine from 5 seconds to 60 seconds
|
||||
|
||||
# 0.90.69 (09-18-2020)
|
||||
- Fixed issue with service view not loading. #808 #811 #800
|
||||
|
||||
# 0.90.68 (09-17-2020)
|
||||
- Added DB_DSN env for mysql, postgres or sqlite DSN database connection string
|
||||
- Added READ_ONLY env for a read only connection to the database
|
||||
- Added Custom OAuth OpenID toggle switch in settings (appends 'openid' in scope)
|
||||
- Fixed Custom OAuth response_type issue
|
||||
- Added Configs tab in Settings to edit the config.yml from frontend
|
||||
|
||||
# 0.90.67 (09-14-2020)
|
||||
- Modified core settings to update config.yml on save
|
||||
- Modified Theme Editor to restart the HTTP router on create/delete (fixing 404's)
|
||||
|
||||
# 0.90.66 (09-08-2020)
|
||||
- Added Import and Export views in Dashboard
|
||||
- Modified services list sparkline to use start/end of day timestamp
|
||||
- Modified i18n language files, added go generate script to automatically translate
|
||||
|
||||
# 0.90.65 (09-01-2020)
|
||||
- Fixed issue with dashboard not logging in (notifier panic)
|
||||
- Modified static email templates to github.com/statping/emails
|
||||
- Modified Regenerate API function to keep API_SECRET env
|
||||
- Added DEMO_MODE env variable, if true, 'admin' cannot be deleted
|
||||
- Modified Service sparklines on Dashboard
|
||||
- Added modal popup for UI deletes/edits
|
||||
|
||||
# 0.90.64 (08-18-2020)
|
||||
- Modified max-width for container to 1012px, larger UI
|
||||
- Added failure sparklines in the Services list view
|
||||
- Added "Update Available" alert on the top of Settings if new version is available
|
||||
- Added Version and Github Commit hash to left navigation on Settings page
|
||||
- Added "reason" for failures (will be used for more custom notification messages) [regex, lookup, timeout, connection, close, status_code]
|
||||
- Added Help page that is generated from Statping's Wiki repo on build
|
||||
- Modified Service Group failures on index page to show 90 days of failures
|
||||
- Modified Service view page, updated Latency and Ping charts, added failures below
|
||||
- Modified Service chart on index page to show ping data along with latency
|
||||
- Added AWS SNS Notifier
|
||||
- Modified dashboard services UI
|
||||
- Modified service.Failures API to include 32 failures (max)
|
||||
|
||||
# 0.90.63 (08-17-2020)
|
||||
- Modified build process to use xgo for all arch builds
|
||||
- Modified Statping's Push Notifications server notifier to match with Firebase/gorush params
|
||||
|
||||
# 0.90.62 (08-07-2020)
|
||||
- Added Notification logs
|
||||
- Fixed issues with Notifer After (x) failures for notifications
|
||||
- Modified notifications to not send on initial startup
|
||||
- Updated Incident UI
|
||||
- Added additional testing for notifications
|
||||
- Modified SCSS/SASS files to be generated from 1, main.scss to main.css
|
||||
- Modified index page to use /assets directory for assets, (main.css, style.css)
|
||||
- Modified index page to use CDN asset paths
|
||||
- Fixed New Checkin form
|
||||
- Modified email notifier template to be rendered from MJML (using go generate)
|
||||
- Modified database relationships with services using gorm
|
||||
- Modified "statping env" command to show user/group ID
|
||||
- Removed "js" folder when exporting assets, js files are always version of release, not static JS files
|
||||
|
||||
# 0.90.61 (07-22-2020)
|
||||
- Modified sass layouts, organized and split up sections
|
||||
- Modified Checkins to seconds rather than milliseconds (for cronjob)
|
||||
- Modified Service View page to show data inside cards
|
||||
- Fixed issue with uptime_data sending incorrect start/end timestamps
|
||||
- Modified http cache to bypass if url has a "v" query param
|
||||
- Added "Static Services" (a fake service that requires you to update the online/offline status)
|
||||
- Added Update Static Service PATCH route (/api/services/{id})
|
||||
- Modified SASS api endpoints (base, layout, forms, mixins, mobile, variables)
|
||||
- Added additional testing
|
||||
- Modified node version from 10.x to 12.18.2
|
||||
- Modified Notifier's struct values to be NullString and NullInt to allow empty values
|
||||
- Added Search ability to Logs in UI
|
||||
- Fixed issue with Incidents and Checkins not being deleted once service is deleted
|
||||
|
||||
# 0.90.60 (07-15-2020)
|
||||
- Added LETSENCRYPT_ENABLE (boolean) env to enable/disable letsencrypt SSL
|
||||
|
||||
# 0.90.59 (07-14-2020)
|
||||
- Added LetsEncrypt SSL Generator by using LETSENCRYPT_HOST and LETSENCRYPT_EMAIL envs.
|
||||
- Modified JWT token key to be sha256 of API Secret
|
||||
- Modified github actions to build multi-arch Docker images
|
||||
- Added "update" command to install latest version
|
||||
- Fixed dashboard uptime_data API request to request correct start/time timestamp
|
||||
|
||||
# 0.90.58 (07-09-2020)
|
||||
- Fixed ICMP latency/ping durations
|
||||
- Fixed webhook notifier
|
||||
- Modified file structure for Vue admin dashboard components.
|
||||
- Added Gotify notifier
|
||||
|
||||
# 0.90.57 (07-04-2020)
|
||||
- Fixed login issue
|
||||
|
||||
# 0.90.56 (06-25-2020)
|
||||
- Modified metrics now include service name for each service metric
|
||||
- Added switch for true/false notifier values
|
||||
- Added list for notifiers that have static values (in drop down)
|
||||
- Fixed oAuth form saving
|
||||
- Fixed some HTTP Cookie issues
|
||||
- Added error if Theme Editor returns an error from API
|
||||
- Added Pushover priority and sounds
|
||||
- Added HTTP headers for outgoing requests (includes User-Agent=Statping and Statping-Version=0.90.55)
|
||||
- Fixed Google oAuth handling
|
||||
- Added Google oAuth email/domain user restrictions
|
||||
- Modified notifiers to use dereferenced services and failures
|
||||
- Added core.Example() function for testing
|
||||
- Added Custom oAuth Authentication method
|
||||
- Fixed setup form not creating user from values inputted in form
|
||||
- Fixed issues with Telegram Notifier
|
||||
- Modified notifier test handler to return notifier based on URL, not JSON payload
|
||||
|
||||
# 0.90.55 (06-18-2020)
|
||||
- Added 404 page
|
||||
- Modified Statping's PR process, dev -> master
|
||||
- Fixed Discord notifier
|
||||
- Modified email template for SMTP emails
|
||||
- Added OnSave() method for all notifiers
|
||||
|
||||
# 0.90.54 (06-17-2020)
|
||||
- Fixed Slack Notifier's failure/success data saving issue
|
||||
- Added additional i18n Languages (help needed!)
|
||||
|
||||
# 0.90.53 (06-16-2020)
|
||||
- Modified most of the key's for prometheus metrics
|
||||
- Added Database Stats in prometheus metrics
|
||||
- Added object query counts in prometheus metrics
|
||||
|
||||
# 0.90.52 (06-15-2020)
|
||||
- Fixed NOT NULL sql field
|
||||
|
||||
# 0.90.51 (06-15-2020)
|
||||
- Fix Theme Editor codemirror inputs to show on load
|
||||
- Added favicon folder for local assets can be used without remote access
|
||||
- Modified Notifier's to return the response as a string for the frontend
|
||||
- Modified Notifiers so they can use custom data for their request
|
||||
- Added Notifier OnSuccess and onFailure custom data on frontend
|
||||
|
||||
# 0.90.50 (06-13-2020)
|
||||
- Removed PORT, replaced with SERVER_PORT
|
||||
- Removed HOST/IP, replaced with SERVER_IP
|
||||
|
||||
# 0.90.49 (06-12-2020)
|
||||
- Added additional prometheus /metrics for better debugging
|
||||
|
||||
# 0.90.48 (06-11-2020)
|
||||
- Modified shutdown routine to make command exit with code 0
|
||||
- Modified install.sh for correct installation
|
||||
|
||||
# 0.90.47 (06-10-2020)
|
||||
- Fixed Urgent bug taking 100% of CPU (Timer)
|
||||
- Modified HTTP server, now in it's own go routine/channel
|
||||
- Fixed Service form for editing
|
||||
- Added pprof golang debugging http server if `GO_ENV` == "test"
|
||||
- Added `HOST` env variable (hostname for http server)
|
||||
- Added `DISABLE_HTTP` env variable (defaults to false, disables the http server)
|
||||
- Added `DISABLE_COLORS` env variable (default to false, disables color encoding for logs)
|
||||
- Added `LOGS_MAX_COUNT`
|
||||
- Added `LOGS_MAX_AGE`
|
||||
- Added `LOGS_MAX_SIZE`
|
||||
- Added `DEBUG` (starts a pprof golang debugging http server on port 9090, defaults to false)
|
||||
- Confirmed `DISABLE_LOGS` is working
|
||||
- Modified Mobile Notifier to fit new push notification server endpoint
|
||||
- PR Merged: Fix time conversion in overview and charts #645
|
||||
- PR Merged: Wait for cmd reads to complete before calling Wait() #626
|
||||
- PR Merged: separate command options and option arguments #623
|
||||
|
||||
# 0.90.46 (06-04-2020)
|
||||
- Add i18n language translations for frontend
|
||||
- Added PR for heatmap https://github.com/statping/statping/pull/589
|
||||
- Added Statping newsletter option during /setup mode
|
||||
- Fix for disabling logs with `DISABLE_LOGS` env
|
||||
|
||||
# 0.90.45 (06-01-2020)
|
||||
- Merged PR [#612](https://github.com/statping/statping/pull/612) for edit/create service issue.
|
||||
|
||||
# 0.90.44 (05-25-2020)
|
||||
- Modified Makefile to include "netgo" tag during golang build
|
||||
|
||||
# 0.90.43 (05-21-2020)
|
||||
- Fixed service TLS checkbox form for edit and create
|
||||
- Modified ICMP ping's to use system's "ping" command (doesn't need root access)
|
||||
|
||||
# 0.90.42 (05-20-2020)
|
||||
- Fixed TCP services that dont use TLS.
|
||||
|
||||
# 0.90.41 (05-20-2020)
|
||||
- Added TLS Client Cert/Key feature for HTTP and TCP/UDP services
|
||||
- Replaced environment variable ADMIN_PASS to ADMIN_PASSWORD.
|
||||
|
||||
# 0.90.40 (05-18-2020)
|
||||
- Fixed issues with MySQL and Postgres taking forever to insert sample data (now run in bulk)
|
||||
- Removed API Authentication for /api/logout route
|
||||
- Modified Core Sample/Upstart row to include NAME, DESCRIPTION, and DOMAIN environment vars (also added default values)
|
||||
|
||||
# 0.90.39 (05-15-2020)
|
||||
- Modified some SCSS designs for services failures in group
|
||||
- Fixed Twilio notifier and tests
|
||||
|
||||
# 0.90.38 (05-10-2020)
|
||||
- Added service timeframe/interval on index charts
|
||||
- Added --config flag to specify config.yml file
|
||||
- Modified multiple files for simple UX fixes
|
||||
|
||||
# 0.90.37 (05-04-2020)
|
||||
- Fixed authentication issues dealing with cookies
|
||||
- Modified build process, arm/arm64 couldnt run sqlite
|
||||
|
||||
# 0.90.36 (05-02-2020)
|
||||
- Fixed Notifier golang templating func to use correct variables
|
||||
|
||||
# 0.90.35 (05-01-2020)
|
||||
- Fixed issue with API endpoints cannot accepting Authorization header
|
||||
- Fixed issue with sass executable not being found, SASS environment var re-implemented
|
||||
- Added additional Postman API doc endpoints
|
||||
|
||||
# 0.90.34 (04-28-2020)
|
||||
- Added missing information to Mail notification ([#472](https://github.com/statping/statping/issues/472))
|
||||
- Added service.yml file to auto create services (https://github.com/statping/statping/wiki/services.yml)
|
||||
- Removed Core API_KEY, (unused code, use API_SECRET)
|
||||
|
||||
# 0.90.33 (04-24-2020)
|
||||
- Fixed config loading method
|
||||
|
||||
# 0.90.32 (04-23-2020)
|
||||
- Modified the saving and loading process config.yml
|
||||
|
||||
# 0.90.31 (04-21-2020)
|
||||
- Version bump for github actions
|
||||
|
||||
# 0.90.30 (04-19-2020)
|
||||
- Attempt to fix Github Actions build process
|
||||
- Fix for empty database connection string, and not starting in setup mode
|
||||
|
||||
# 0.90.29 (04-19-2020)
|
||||
- Added HTTP Redirects for services
|
||||
- Removed use of SASS environment variable, now finds path or sends error
|
||||
- Modified Makefile to create new snapcraft versions
|
||||
- Fixed issue when logs are not initiated yet. Issue #502
|
||||
- Fixed issue when SQLite (statping.db) is not found Issue #499
|
||||
- Modified port flag in Docker image
|
||||
- Fixed issue on startup without config.yml file not starting in setup mode
|
||||
|
||||
# 0.90.28 (04-16-2020)
|
||||
- Fixed postgres timestamp grouping
|
||||
- Added postman (newman) API testing
|
||||
- Added Viper and Cobra config/env parsing package
|
||||
- Added more golang tests
|
||||
- Modified handlers to use a more generic find method
|
||||
- Added 'env' command to show variables used in config
|
||||
- Added 'reset' command that will delete files and backup .db file for a fresh install
|
||||
- Added error type that has common errors with http status code based on error
|
||||
|
||||
# 0.90.27 (04-15-2020)
|
||||
- Fixed postgres database table creation process
|
||||
- Modified go build process, additional ARCHs
|
||||
- Added 'SAMPLE_DATA' environment variable to disable example data on startup. (default: true)
|
||||
|
||||
# 0.90.26 (04-13-2020)
|
||||
- Fixed Delete Failures button/function
|
||||
- Removed timezone field from Settings (core)
|
||||
- Modified CDN asset URL
|
||||
- Fixed single Service view, more complex charts
|
||||
|
||||
# 0.90.25
|
||||
- Added string response on OnTest for Notifiers
|
||||
- Modified UI to show user the response for a Notifier.
|
||||
- Modified some Notifiers title's
|
||||
- Added more Cypress e2e testing
|
||||
- Modified Incidents form and UX.
|
||||
- Added /api/services/{id}/uptime_data API endpoint to show online/offline durations as a series for charts.
|
||||
- Modified index page to automatically refresh Service details on interval
|
||||
|
||||
# 0.90.24
|
||||
- Fixed login form from not showing
|
||||
|
||||
# 0.90.23
|
||||
- Added Incident Reporting
|
||||
- Added Cypress tests
|
||||
- Added Github and Google OAuth login (beta)
|
||||
- Added Delete All Failures
|
||||
- Added Checkin form
|
||||
- Added Pushover notifier
|
||||
|
||||
# 0.90.22
|
||||
- Added range input types for integer form fields
|
||||
- Modified Sentry error logging details
|
||||
- Modified form field layouts for better UX.
|
||||
- Modified Notifier form
|
||||
- Fixed Notifier Test form and logic
|
||||
|
||||
# 0.90.21
|
||||
- Fixed BASE_PATH when using a path for Statping
|
||||
- Added Cypress testing
|
||||
- Modified SQLite golang package
|
||||
- Modified SQLite connection limit, and idle limit. (defaults to 25)
|
||||
- Fixed installation to use project name and description from form post
|
||||
|
||||
# 0.90.20
|
||||
- Fixed Service Form from sending integer values as strings to API
|
||||
- Added Cypress e2e testing (working on adding more)
|
||||
|
||||
# 0.90.19
|
||||
- Fixed private Services from showing in API (/api/services and /api/services/{id})
|
||||
- Removed unused code
|
||||
|
||||
# 0.90.18
|
||||
- Added service type gRPC, you can now check on gRPC services. (limited)
|
||||
|
||||
# 0.90.17
|
||||
- Fixed notification fields for frontend
|
||||
- Fixed notification JSON form to send integer if value is an integer.
|
||||
- Added testing for notifiers
|
||||
|
||||
# 0.90.16
|
||||
- Added Notify After (int) field for Services. Will send notifications after x amount of failures.
|
||||
- Added new method in utils package for replacing `{{.Service.*}}` and `{{.Failure.*}}` variables from string to it's true value
|
||||
- Fixed Notifer get endpoint
|
||||
- Cleaned Notifier methods
|
||||
- Updated recommended changes from [sonarcloud.io](https://sonarcloud.io/organizations/statping/projects)
|
||||
- Organized utils package files
|
||||
|
||||
# 0.90.15
|
||||
- Fixed /dashboard authentication state to show admin tabs if your an admin. [Issue #438](https://github.com/statping/statping/issues/438)
|
||||
- Fixed Cache JS error on Dashboard
|
||||
|
||||
# 0.90.14
|
||||
- Updated SCSS compiling, and confirmed it works.
|
||||
- Added `$container-color` SCSS variable.
|
||||
- Fixed issue with JWT token (nil pointer) for the Cookie name
|
||||
|
||||
# 0.90.13
|
||||
- Added new function `utils.RenameDirectory` to rename directory
|
||||
- Added new function `(*DbConfig) BackupAssets` to backup a customized theme and place into a directory named `assets_backup`. Only for migration 0.80 to 0.90+, entirely new frontend.
|
||||
- Updated JS function `convertToChartData` to return an empty chart data if API response was empty.
|
||||
- Updated `banner.png` to make a bit smaller, (680px)
|
||||
- Fixed method that returns `no such table: services` on startup, check table first.
|
||||
- Fixed version from not being added into Core table. [Issue #436](https://github.com/statping/statping/issues/436)
|
||||
|
||||
# 0.90.12
|
||||
- Fixed MySQL timestamp formatting. (issue #432)
|
||||
# 0.90.76 (08-13-2021)
|
||||
- Forked statping and renamed to statping-ng
|
||||
- Branding changes
|
||||
|
|
56
Dockerfile
56
Dockerfile
|
@ -1,12 +1,57 @@
|
|||
FROM statping/statping:base AS base
|
||||
FROM node:16.14.0-alpine AS frontend
|
||||
LABEL maintainer="Statping-ng (https://github.com/statping-ng)"
|
||||
ARG BUILDPLATFORM
|
||||
WORKDIR /statping
|
||||
COPY ./frontend/package.json .
|
||||
COPY ./frontend/yarn.lock .
|
||||
RUN yarn install --pure-lockfile --network-timeout 1000000
|
||||
COPY ./frontend .
|
||||
RUN yarn build && yarn cache clean
|
||||
|
||||
# Statping Golang BACKEND building from source
|
||||
# Creates "/go/bin/statping" and "/usr/local/bin/sass" for copying
|
||||
FROM golang:1.17-alpine AS backend
|
||||
LABEL maintainer="Statping-NG (https://github.com/statping-ng)"
|
||||
ARG VERSION
|
||||
ARG COMMIT
|
||||
ARG BUILDPLATFORM
|
||||
ARG TARGETARCH
|
||||
RUN apk add --update --no-cache libstdc++ gcc g++ make git autoconf \
|
||||
libtool ca-certificates linux-headers wget curl jq && \
|
||||
update-ca-certificates
|
||||
|
||||
WORKDIR /root
|
||||
RUN git clone https://github.com/sass/sassc.git
|
||||
RUN . sassc/script/bootstrap && make -C sassc -j4
|
||||
# sassc binary: /root/sassc/bin/sassc
|
||||
|
||||
WORKDIR /go/src/github.com/statping-ng/statping-ng
|
||||
ADD go.mod go.sum ./
|
||||
RUN go mod download
|
||||
ENV GO111MODULE on
|
||||
ENV CGO_ENABLED 1
|
||||
RUN go get github.com/stretchr/testify/assert && \
|
||||
go get github.com/stretchr/testify/require && \
|
||||
go get github.com/GeertJohan/go.rice/rice && \
|
||||
go get github.com/cortesi/modd/cmd/modd && \
|
||||
go get github.com/crazy-max/xgo
|
||||
COPY . .
|
||||
COPY --from=frontend /statping/dist/ ./source/dist/
|
||||
RUN make clean generate embed
|
||||
RUN go build -a -ldflags "-s -w -extldflags -static -X main.VERSION=${VERSION} -X main.COMMIT=${COMMIT}" -o statping --tags "netgo linux" ./cmd
|
||||
RUN chmod a+x statping && mv statping /go/bin/statping
|
||||
# /go/bin/statping - statping binary
|
||||
# /root/sassc/bin/sassc - sass binary
|
||||
# /statping - Vue frontend (from frontend)
|
||||
|
||||
# Statping main Docker image that contains all required libraries
|
||||
FROM alpine:latest
|
||||
|
||||
RUN apk --no-cache add libgcc libstdc++ ca-certificates curl jq && update-ca-certificates
|
||||
|
||||
COPY --from=base /go/bin/statping /usr/local/bin/
|
||||
COPY --from=base /root/sassc/bin/sassc /usr/local/bin/
|
||||
COPY --from=base /usr/local/share/ca-certificates /usr/local/share/
|
||||
COPY --from=backend /go/bin/statping /usr/local/bin/
|
||||
COPY --from=backend /root/sassc/bin/sassc /usr/local/bin/
|
||||
COPY --from=backend /usr/local/share/ca-certificates /usr/local/share/
|
||||
|
||||
WORKDIR /app
|
||||
VOLUME /app
|
||||
|
@ -15,9 +60,10 @@ ENV IS_DOCKER=true
|
|||
ENV SASS=/usr/local/bin/sassc
|
||||
ENV STATPING_DIR=/app
|
||||
ENV PORT=8080
|
||||
ENV BASE_PATH=""
|
||||
|
||||
EXPOSE $PORT
|
||||
|
||||
HEALTHCHECK --interval=60s --timeout=10s --retries=3 CMD curl -s "http://localhost:$PORT/health" | jq -r -e ".online==true"
|
||||
HEALTHCHECK --interval=60s --timeout=10s --retries=3 CMD if [ -z "$BASE_PATH" ]; then HEALTHPATH="/health"; else HEALTHPATH="/$BASE_PATH/health" ; fi && curl -s "http://localhost:80$HEALTHPATH" | jq -r -e ".online==true"
|
||||
|
||||
CMD statping --port $PORT
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
FROM node:12.18.2-alpine AS frontend
|
||||
LABEL maintainer="Hunter Long (https://github.com/hunterlong)"
|
||||
FROM node:16.14.0-alpine AS frontend
|
||||
LABEL maintainer="Statping-ng (https://github.com/statping-ng)"
|
||||
ARG BUILDPLATFORM
|
||||
WORKDIR /statping
|
||||
COPY ./frontend/package.json .
|
||||
|
@ -10,8 +10,8 @@ RUN yarn build && yarn cache clean
|
|||
|
||||
# Statping Golang BACKEND building from source
|
||||
# Creates "/go/bin/statping" and "/usr/local/bin/sass" for copying
|
||||
FROM golang:1.14-alpine AS backend
|
||||
LABEL maintainer="Hunter Long (https://github.com/hunterlong)"
|
||||
FROM golang:1.17-alpine AS backend
|
||||
LABEL maintainer="Statping-NG (https://github.com/statping-ng)"
|
||||
ARG VERSION
|
||||
ARG COMMIT
|
||||
ARG BUILDPLATFORM
|
||||
|
@ -25,7 +25,7 @@ RUN git clone https://github.com/sass/sassc.git
|
|||
RUN . sassc/script/bootstrap && make -C sassc -j4
|
||||
# sassc binary: /root/sassc/bin/sassc
|
||||
|
||||
WORKDIR /go/src/github.com/statping/statping
|
||||
WORKDIR /go/src/github.com/statping-ng/statping-ng
|
||||
ADD go.mod go.sum ./
|
||||
RUN go mod download
|
||||
ENV GO111MODULE on
|
||||
|
|
98
Makefile
98
Makefile
|
@ -3,14 +3,14 @@ COMMIT=$(shell git rev-parse HEAD)
|
|||
SIGN_KEY=B76D61FAA6DB759466E83D9964B9C6AAE2D55278
|
||||
BINARY_NAME=statping
|
||||
GOBUILD=go build -a
|
||||
GOVERSION=1.14.0
|
||||
NODE_VERSION=12.18.2
|
||||
GOVERSION=1.17.8
|
||||
NODE_VERSION=16.14.0
|
||||
XGO=xgo -go $(GOVERSION) --dest=build
|
||||
BUILDVERSION=-ldflags "-X main.VERSION=${VERSION} -X main.COMMIT=${COMMIT}"
|
||||
TRVIS_SECRET=O3/2KTOV8krv+yZ1EB/7D1RQRe6NdpFUEJNJkMS/ollYqmz3x2mCO7yIgIJKCKguLXZxjM6CxJcjlCrvUwibL+8BBp7xJe4XFIOrjkPvbbVPry4HkFZCf2GfcUK6o4AByQ+RYqsW2F17Fp9KLQ1rL3OT3eLTwCAGKx3tlY8y+an43zkmo5dN64V6sawx26fh6XTfww590ey+ltgQTjf8UPNup2wZmGvMo9Hwvh/bYR/47bR6PlBh6vhlKWyotKf2Fz1Bevbu0zc35pee5YlsrHR+oSF+/nNd/dOij34BhtqQikUR+zQVy9yty8SlmneVwD3yOENvlF+8roeKIXb6P6eZnSMHvelhWpAFTwDXq2N3d/FIgrQtLxsAFTI3nTHvZgs6OoTd6dA0wkhuIGLxaL3FOeztCdxP5J/CQ9GUcTvifh5ArGGwYxRxQU6rTgtebJcNtXFISP9CEUR6rwRtb6ax7h6f1SbjUGAdxt+r2LbEVEk4ZlwHvdJ2DtzJHT5DQtLrqq/CTUgJ8SJFMkrJMp/pPznKhzN4qvd8oQJXygSXX/gz92MvoX0xgpNeLsUdAn+PL9KketfR+QYosBz04d8k05E+aTqGaU7FUCHPTLwlOFvLD8Gbv0zsC/PWgSLXTBlcqLEz5PHwPVHTcVzspKj/IyYimXpCSbvu1YOIjyc=
|
||||
PUBLISH_BODY='{ "request": { "branch": "master", "message": "Homebrew update version v${VERSION}", "config": { "env": { "VERSION": "${VERSION}", "COMMIT": "$(TRAVIS_COMMIT)" } } } }'
|
||||
TRAVIS_BUILD_CMD='{ "request": { "branch": "master", "message": "Compile master for Statping v${VERSION}", "config": { "merge_mode": "replace", "language": "go", "go": 1.14, "install": true, "sudo": "required", "services": ["docker"], "env": { "secure": "${TRVIS_SECRET}" }, "before_deploy": ["git config --local user.name \"hunterlong\"", "git config --local user.email \"info@socialeck.com\"", "git tag v$(VERSION) --force"], "deploy": [{ "provider": "releases", "api_key": "$$GITHUB_TOKEN", "file_glob": true, "file": "build/*", "skip_cleanup": true, "on": { "branch": "master" } }], "before_script": ["rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm install stable", "nvm install 10.17.0", "nvm use 10.17.0 --default", "npm install -g sass yarn cross-env", "pip install --user awscli"], "script": ["make release"], "after_success": [], "after_deploy": ["make post-release"] } } }'
|
||||
TEST_DIR=$(GOPATH)/src/github.com/statping/statping
|
||||
TRAVIS_BUILD_CMD='{ "request": { "branch": "master", "message": "Compile master for Statping v${VERSION}", "config": { "merge_mode": "replace", "language": "go", "go": 1.17, "install": true, "sudo": "required", "services": ["docker"], "env": { "secure": "${TRVIS_SECRET}" }, "before_deploy": ["git config --local user.name \"hunterlong\"", "git config --local user.email \"info@socialeck.com\"", "git tag v$(VERSION) --force"], "deploy": [{ "provider": "releases", "api_key": "$$GITHUB_TOKEN", "file_glob": true, "file": "build/*", "skip_cleanup": true, "on": { "branch": "master" } }], "before_script": ["rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm install stable", "nvm install 16.14.0", "nvm use 16.14.0 --default", "npm install -g sass yarn cross-env", "pip install --user awscli"], "script": ["make release"], "after_success": [], "after_deploy": ["make post-release"] } } }'
|
||||
TEST_DIR=$(GOPATH)/src/github.com/statping-ng/statping-ng
|
||||
PATH:=$(GOPATH)/bin:$(PATH)
|
||||
OS = freebsd linux openbsd
|
||||
ARCHS = 386 arm amd64 arm64
|
||||
|
@ -33,20 +33,20 @@ go-build: clean
|
|||
lint:
|
||||
go fmt ./...
|
||||
golint ./...
|
||||
impi --local github.com/statping/statping/ --scheme stdLocalThirdParty ./...
|
||||
impi --local github.com/statping-ng/statping-ng/ --scheme stdLocalThirdParty ./...
|
||||
goimports ./...
|
||||
|
||||
up:
|
||||
docker-compose -f docker-compose.yml -f dev/docker-compose.full.yml up -d --remove-orphans
|
||||
docker compose -f docker-compose.yml -f dev/docker-compose.full.yml up -d --remove-orphans
|
||||
make print_details
|
||||
|
||||
down:
|
||||
docker-compose -f docker-compose.yml -f dev/docker-compose.full.yml down --volumes --remove-orphans
|
||||
docker compose -f docker-compose.yml -f dev/docker-compose.full.yml down --volumes --remove-orphans
|
||||
|
||||
lite: clean
|
||||
docker build -t statping/statping:dev -f dev/Dockerfile.dev .
|
||||
docker-compose -f dev/docker-compose.lite.yml down
|
||||
docker-compose -f dev/docker-compose.lite.yml up --remove-orphans
|
||||
docker build -t statping-ng/statping-ng:dev -f dev/Dockerfile.dev .
|
||||
docker compose -f dev/docker-compose.lite.yml down
|
||||
docker compose -f dev/docker-compose.lite.yml up --remove-orphans
|
||||
|
||||
reup: down clean compose-build-full up
|
||||
|
||||
|
@ -94,50 +94,37 @@ go-run:
|
|||
go run ./cmd
|
||||
|
||||
start:
|
||||
docker-compose -f docker-compose.yml -f dev/docker-compose.full.yml start
|
||||
docker compose -f docker-compose.yml -f dev/docker-compose.full.yml start
|
||||
|
||||
stop:
|
||||
docker-compose -f docker-compose.yml -f dev/docker-compose.full.yml stop
|
||||
docker compose -f docker-compose.yml -f dev/docker-compose.full.yml stop
|
||||
|
||||
logs:
|
||||
docker logs statping --follow
|
||||
|
||||
db-up:
|
||||
docker-compose -f dev/docker-compose.db.yml up -d --remove-orphans
|
||||
docker compose -f dev/docker-compose.db.yml up -d --remove-orphans
|
||||
|
||||
db-down:
|
||||
docker-compose -f dev/docker-compose.db.yml down --volumes --remove-orphans
|
||||
docker compose -f dev/docker-compose.db.yml down --volumes --remove-orphans
|
||||
|
||||
console:
|
||||
docker exec -t -i statping /bin/sh
|
||||
|
||||
compose-build-full: docker-base
|
||||
docker-compose -f docker-compose.yml -f dev/docker-compose.full.yml build --parallel --build-arg VERSION=${VERSION}
|
||||
compose-build-full:
|
||||
docker compose -f docker-compose.yml -f dev/docker-compose.full.yml build --parallel --build-arg VERSION=${VERSION}
|
||||
|
||||
docker-base:
|
||||
docker build -t statping/statping:base -f Dockerfile.base --build-arg VERSION=${VERSION} .
|
||||
|
||||
docker-latest: docker-base
|
||||
docker build -t statping/statping:latest --build-arg VERSION=${VERSION} .
|
||||
|
||||
docker-vue:
|
||||
docker build -t statping/statping:vue --build-arg VERSION=${VERSION} .
|
||||
docker-latest:
|
||||
docker build -t statping-ng/statping-ng:latest --build-arg VERSION=${VERSION} .
|
||||
|
||||
docker-test:
|
||||
docker-compose -f docker-compose.test.yml up --remove-orphans
|
||||
|
||||
push-base: clean compile docker-base
|
||||
docker push statping/statping:base
|
||||
|
||||
push-vue: clean compile docker-base docker-vue
|
||||
docker push statping/statping:base
|
||||
docker push statping/statping:vue
|
||||
docker compose -f docker-compose.test.yml up --remove-orphans
|
||||
|
||||
modd:
|
||||
modd -f ./dev/modd.conf
|
||||
|
||||
top:
|
||||
docker-compose -f docker-compose.yml -f dev/docker-compose.full.yml top
|
||||
docker compose -f docker-compose.yml -f dev/docker-compose.full.yml top
|
||||
|
||||
frontend-build:
|
||||
@echo "Removing old frontend distributions..."
|
||||
|
@ -285,22 +272,15 @@ download-key:
|
|||
wget -O statping.gpg $(SIGN_URL)
|
||||
gpg --import statping.gpg
|
||||
|
||||
# push the :dev docker tag using curl
|
||||
dockerhub-dev:
|
||||
docker build --build-arg VERSION=${VERSION} -t statping/statping:dev --no-cache -f Dockerfile.base .
|
||||
docker push statping/statping:dev
|
||||
|
||||
dockerhub:
|
||||
docker build --build-arg VERSION=${VERSION} -t statping/statping:base --no-cache -f Dockerfile.base .
|
||||
docker build --build-arg VERSION=${VERSION} -t statping/statping:latest --no-cache -f Dockerfile .
|
||||
docker tag statping/statping statping/statping:v${VERSION}
|
||||
docker push statping/statping:base
|
||||
docker push statping/statping:v${VERSION}
|
||||
docker push statping/statping
|
||||
docker build --build-arg VERSION=${VERSION} -t adamboutcher/statping-ng:latest --no-cache -f Dockerfile .
|
||||
docker tag adamboutcher/statping-ng adamboutcher/statping-ng:v${VERSION}
|
||||
docker push adamboutcher/statping-ng:v${VERSION}
|
||||
docker push adamboutcher/statping-ng
|
||||
|
||||
docker-build-dev:
|
||||
docker build --build-arg VERSION=${VERSION} -t statping/statping:latest --no-cache -f Dockerfile .
|
||||
docker tag statping/statping:latest statping/statping:dev-v${VERSION}
|
||||
docker build --build-arg VERSION=${VERSION} -t statping-ng/statping-ng:latest --no-cache -f Dockerfile .
|
||||
docker tag statping-ng/statping-ng:latest statping-ng/statping-ng:dev-v${VERSION}
|
||||
|
||||
post-release: frontend-build upload_to_s3 publish-homebrew dockerhub
|
||||
|
||||
|
@ -337,10 +317,10 @@ sentry-release:
|
|||
|
||||
download-bins: clean
|
||||
mkdir build || true
|
||||
wget "https://github.com/statping/statping/releases/download/v${VERSION}/statping-linux-386.tar.gz"
|
||||
wget "https://github.com/statping/statping/releases/download/v${VERSION}/statping-linux-amd64.tar.gz"
|
||||
wget "https://github.com/statping/statping/releases/download/v${VERSION}/statping-linux-arm.tar.gz"
|
||||
wget "https://github.com/statping/statping/releases/download/v${VERSION}/statping-linux-arm64.tar.gz"
|
||||
wget "https://github.com/statping-ng/statping-ng/releases/download/v${VERSION}/statping-linux-386.tar.gz"
|
||||
wget "https://github.com/statping-ng/statping-ng/releases/download/v${VERSION}/statping-linux-amd64.tar.gz"
|
||||
wget "https://github.com/statping-ng/statping-ng/releases/download/v${VERSION}/statping-linux-arm.tar.gz"
|
||||
wget "https://github.com/statping-ng/statping-ng/releases/download/v${VERSION}/statping-linux-arm64.tar.gz"
|
||||
mv statping-linux-386.tar.gz build/
|
||||
mv statping-linux-amd64.tar.gz build/
|
||||
mv statping-linux-arm.tar.gz build/
|
||||
|
@ -381,23 +361,17 @@ xgo-latest:
|
|||
xgo --go $(GOVERSION) --targets=linux/amd64,linux/386,linux/arm-7,linux/arm-6,linux/arm64,windows/386,windows/amd64,darwin/386,darwin/amd64 --out='statping' --pkg='cmd' --dest=build --tags 'netgo' --ldflags='-X main.VERSION=${VERSION} -X main.COMMIT=$(COMMIT) -linkmode external -extldflags "-static"' .
|
||||
|
||||
buildx-latest: multiarch
|
||||
docker buildx create --name statping-latest
|
||||
docker buildx create --name statping-latest --driver-opt image=moby/buildkit:master
|
||||
docker buildx inspect --builder statping-latest --bootstrap
|
||||
docker buildx build --builder statping-latest --cache-from "type=local,src=/tmp/.buildx-cache" --cache-to "type=local,dest=/tmp/.buildx-cache" --pull --push --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -f Dockerfile -t statping/statping:latest -t statping/statping:v${VERSION} --build-arg=VERSION=${VERSION} --build-arg=COMMIT=${COMMIT} .
|
||||
docker buildx build --builder statping-latest --cache-from "type=local,src=/tmp/.buildx-cache" --cache-to "type=local,dest=/tmp/.buildx-cache,mode=max" --push --pull --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -f Dockerfile -t adamboutcher/statping-ng:latest -t adamboutcher/statping-ng:v${VERSION} --build-arg=VERSION=${VERSION} --build-arg=COMMIT=${COMMIT} .
|
||||
docker buildx rm statping-latest
|
||||
|
||||
buildx-dev: multiarch
|
||||
docker buildx create --name statping-dev
|
||||
docker buildx create --name statping-dev --driver-opt image=moby/buildkit:master
|
||||
docker buildx inspect --builder statping-dev --bootstrap
|
||||
docker buildx build --builder statping-dev --cache-from "type=local,src=/tmp/.buildx-cache" --cache-to "type=local,dest=/tmp/.buildx-cache" --pull --push --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -f Dockerfile -t statping/statping:dev --build-arg=VERSION=${VERSION} --build-arg=COMMIT=${COMMIT} .
|
||||
docker buildx build --builder statping-dev --cache-from "type=local,src=/tmp/.buildx-cache" --cache-to "type=local,dest=/tmp/.buildx-cache,mode=max" --push --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -f Dockerfile -t adamboutcher/statping-ng:dev --build-arg=VERSION=${VERSION} --build-arg=COMMIT=${COMMIT} .
|
||||
docker buildx rm statping-dev
|
||||
|
||||
buildx-base: multiarch
|
||||
docker buildx create --name statping-base
|
||||
docker buildx inspect --builder statping-base --bootstrap
|
||||
docker buildx build --builder statping-base --cache-from "type=local,src=/tmp/.buildx-cache" --cache-to "type=local,dest=/tmp/.buildx-cache" --pull --push --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -f Dockerfile.base -t statping/statping:base --build-arg=VERSION=${VERSION} --build-arg=COMMIT=${COMMIT} .
|
||||
docker buildx rm statping-base
|
||||
|
||||
multiarch:
|
||||
mkdir /tmp/.buildx-cache || true
|
||||
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
|
@ -408,7 +382,7 @@ delve:
|
|||
|
||||
check:
|
||||
@echo "Checking the programs required for the build are installed..."
|
||||
@echo "go: $(shell go version) - $(shell which go)" && go version >/dev/null 2>&1 || (echo "ERROR: go 1.14 is required."; exit 1)
|
||||
@echo "go: $(shell go version) - $(shell which go)" && go version >/dev/null 2>&1 || (echo "ERROR: go 1.17 is required."; exit 1)
|
||||
@echo "node: $(shell node --version) - $(shell which node)" && node --version >/dev/null 2>&1 || (echo "ERROR: node 12.x is required."; exit 1)
|
||||
@echo "yarn: $(shell yarn --version) - $(shell which yarn)" && yarn --version >/dev/null 2>&1 || (echo "ERROR: yarn is required."; exit 1)
|
||||
@echo "All required programs are installed!"
|
||||
|
@ -426,5 +400,5 @@ gen_help:
|
|||
marked -o html/$file.html $file --gfm
|
||||
done
|
||||
|
||||
.PHONY: all check build certs multiarch install-darwin go-build build-all buildx-base buildx-dev buildx-latest build-alpine test-all test test-api docker frontend up down print_details lite sentry-release snapcraft build-linux build-mac build-win build-all postman
|
||||
.PHONY: all check build certs multiarch install-darwin go-build build-all buildx-dev buildx-latest build-alpine test-all test test-api docker frontend up down print_details lite sentry-release snapcraft build-linux build-mac build-win build-all postman
|
||||
.SILENT: travis_s3_creds
|
||||
|
|
265
README.md
265
README.md
|
@ -1,109 +1,152 @@
|
|||
<p align="center">
|
||||
<img width="60%" src="https://s3-us-west-2.amazonaws.com/gitimgs/statping.png">
|
||||
<h1 align="center" style="text-align:center">
|
||||
<img alt="Statping-ng" src="https://raw.githubusercontent.com/statping-ng/statping-ng/dev/frontend/public/img/banner.png" width="60%" style="width:60%"/>
|
||||
</h1>
|
||||
<p align="center" style="text-align:center">
|
||||
<strong>Statping-ng</strong> - <em>Web and App Status Monitoring for Any Type of Project</em>
|
||||
</p>
|
||||
<p align="center">
|
||||
<b>Statping - Web and App Status Monitoring for Any Type of Project</b><br>
|
||||
<a href="https://github.com/statping/statping/wiki">View Wiki</a> | <a href="https://demo.statping.com">Demo</a> | <a href="https://itunes.apple.com/us/app/apple-store/id1445513219">iPhone</a> | <a href="https://play.google.com/store/apps/details?id=com.statping">Android</a> <br> <a href="http://docs.statping.com">API</a> | <a href="https://github.com/statping/statping/wiki/Docker">Docker</a> | <a href="https://github.com/statping/statping/wiki/AWS-EC2">EC2</a> | <a href="https://github.com/statping/statping/wiki/Mac">Mac</a> | <a href="https://github.com/statping/statping/wiki/Linux">Linux</a> | <a href="https://github.com/statping/statping/wiki/Windows">Windows</a>
|
||||
<p align="center" style="text-align:center">
|
||||
<a href="https://statping-ng.github.io" >Website</a> |
|
||||
<a href="https://github.com/statping-ng/statping-ng/wiki" >Wiki</a>
|
||||
<br/>
|
||||
<a href="https://github.com/statping-ng/statping-ng/wiki/Linux" >Linux</a> |
|
||||
<a href="https://github.com/statping-ng/statping-ng/wiki/Windows" >Windows</a> |
|
||||
<a href="https://github.com/statping-ng/statping-ng/wiki/Mac" >Mac</a> |
|
||||
<a href="https://github.com/statping-ng/statping-ng/wiki/Docker" >Containers</a>
|
||||
</p>
|
||||
|
||||
# Statping - Status Page & Monitoring Server
|
||||
An easy to use Status Page for your websites and applications. Statping will automatically fetch the application and render a beautiful status page with tons of features for you to build an even better status page. This Status Page generator allows you to use MySQL, Postgres, or SQLite on multiple operating systems.
|
||||
<h2> Statping-ng - <em>Status Page & Monitoring Server</em></h2>
|
||||
<p>An easy to use Status Page for your websites and applications. Statping will automatically fetch the application and render a beautiful status page with tons of features for you to build an even better status page. This Status Page generator allows you to use MySQL, Postgres, or SQLite on multiple operating systems.
|
||||
</p><p>
|
||||
Statping-ng aims to be an updated drop-in replacement of statping after development stopped on the original fork.
|
||||
</p>
|
||||
|
||||
 [](https://godoc.org/github.com/statping/statping) [](https://slack.statping.com) [](https://microbadger.com/images/statping/statping) [](https://hub.docker.com/r/statping/statping/builds/)
|
||||
<p align="center" style="text-align:center">
|
||||
<a href="https://github.com/statping-ng/statping-ng/blob/stable/LICENSE"><img alt="License" src="https://img.shields.io/github/license/statping-ng/statping-ng?color=success&style=for-the-badge&logo" /></a>
|
||||
</p><p align="center" style="text-align:center">
|
||||
<img alt="Last Commit" src="https://img.shields.io/github/last-commit/statping-ng/statping-ng?style=for-the-badge&logo=github" />
|
||||
<img alt="Dev Build Status" src="https://img.shields.io/github/workflow/status/statping-ng/statping-ng/1.%20Development%20Build%20and%20Testing?label=Dev&style=for-the-badge&logo=github" />
|
||||
<img alt="Unstable Build Status" src="https://img.shields.io/github/workflow/status/statping-ng/statping-ng/2.%20Unstable%20Build,%20Test%20and%20Deploy?label=Unstable&style=for-the-badge&logo=github" />
|
||||
<img alt="Stable Build Status" src="https://img.shields.io/github/workflow/status/statping-ng/statping-ng/3.%20Stable%20Build,%20Test%20and%20Deploy?label=Stable&style=for-the-badge&logo=github" />
|
||||
</p><p align="center" style="text-align:center">
|
||||
<a href="https://hub.docker.com/r/adamboutcher/statping-ng"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/adamboutcher/statping-ng?style=for-the-badge&logo=docker&logoColor=white" /></a>
|
||||
<a href="https://hub.docker.com/r/adamboutcher/statping-ng"><img alt="Docker Image Size" src="https://img.shields.io/docker/image-size/adamboutcher/statping-ng/latest?style=for-the-badge&logo=docker&logoColor=white" /></a>
|
||||
</p><p align="center" style="text-align:center">
|
||||
<img alt="Go Version" src="https://img.shields.io/github/go-mod/go-version/statping-ng/statping-ng?style=for-the-badge" />
|
||||
<a href="https://goreportcard.com/badge/github.com/statping-ng/statping-ng"><img alt="Go Report" src="https://goreportcard.com/badge/github.com/statping-ng/statping-ng?style=for-the-badge" /></a>
|
||||
</p>
|
||||
|
||||
<br><br>
|
||||
<img align="left" width="320" height="235" src="https://img.cjx.io/statupsiterun.gif">
|
||||
<h2>A Future-Proof Status Page</h2>
|
||||
Statping strives to remain future-proof and remain intact if a failure is created. Your Statping service should not be running on the same instance you're trying to monitor. If your server crashes your Status Page should still remaining online to notify your users of downtime.
|
||||
<hr/>
|
||||
<h2 align="center" style="text-align:center">About Statping-ng</h2>
|
||||
|
||||
<br><a href="https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/statping/statping/master/dev/pwd-stack.yml"><img height=25 src="https://assets.statping.com/docker-pwd.png"></a> (dashboard login is `admin`, password `admin`)
|
||||
<br><br><br>
|
||||
|
||||
<h2>No Requirements</h2>
|
||||
Statping is built in Go Language so all you need is the precompile binary based on your operating system. You won't need to install anything extra once you have the Statping binary installed. You can even run Statping on a Raspberry Pi.
|
||||
<br><br>
|
||||
<p align="center">
|
||||
<a href="https://github.com/statping/statping/wiki/Linux"><img width="5%" src="https://img.cjx.io/linux.png"></a>
|
||||
<a href="https://github.com/statping/statping/wiki/Mac"><img width="5%" src="https://img.cjx.io/apple.png"></a>
|
||||
<a href="https://github.com/statping/statping/wiki/Windows"><img width="5%" src="https://img.cjx.io/windows.png"></a>
|
||||
<a href="https://play.google.com/store/apps/details?id=com.statping"><img width="5%" src="https://img.cjx.io/android.png"></a>
|
||||
<a href="https://itunes.apple.com/us/app/apple-store/id1445513219"><img width="5%" src="https://img.cjx.io/appstore.png"></a>
|
||||
<a href="https://hub.docker.com/r/statping/statping"><img width="5%" src="https://img.cjx.io/dockericon.png"></a>
|
||||
<br><br></p>
|
||||
<img style="margin-right:10px;float:left;width:320px;height:235px;" align="left" width="320" height="235" src="https://statping-ng.github.io/assets/external/statupsiterun.gif" />
|
||||
<h3>A Future-Proof Status Page</h3>
|
||||
<p>
|
||||
Statping-ng strives to remain future-proof and remain intact if a failure is created. Your Statping-ng service should not be running on the same instance you're trying to monitor. If your server crashes your Status Page should still remaining online to notify your users of downtime.
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/statping-ng/statping-ng/stable/dev/pwd-stack.yml"><img alt="Try Statping-ng via Play with Docker" src="https://statping-ng.github.io/assets/external/docker-pwd.png" height="25px" style="height:25px" /></a> - Login is <kbd>admin</kbd>, password <kbd>admin</kbd>.
|
||||
</p>
|
||||
<div style="clear:both;"><br/><br/></div>
|
||||
|
||||
|
||||
<img align="right" width="320" height="235" src="https://gitimgs.s3-us-west-2.amazonaws.com/slack-notifer.png">
|
||||
<h2>Lightweight and Fast</h2>
|
||||
Statping is a very lightweight application and is available for Linux, Mac, and Windows. The Docker image is only ~16Mb so you know that this application won't be filling up your hard drive space.
|
||||
<h3>No Requirements - Run on Any Server</h3>
|
||||
<p>
|
||||
Statping-ng is built in Go Language so all you need is the pre-compiled binary based on your operating system. You won't need to install anything extra once you have the Statping binary installed. Windows, Linux or Mac, We compile to all the popular systems, including Raspberry Pi!
|
||||
</p>
|
||||
<p align="center" style="text-align:center">
|
||||
<a href="https://github.com/statping-ng/statping-ng/wiki/Linux"><img alt="Linux" src="https://statping-ng.github.io/assets/external/linux.png" style="width:5%;margin-right:5px;" width=5% /></a>
|
||||
<a href="https://github.com/statping-ng/statping-ng/wiki/Windows"><img alt="Windows" src="https://statping-ng.github.io/assets/external/windows.png" style="width:5%;margin-right:5px;" width=5% /></a>
|
||||
<a href="https://github.com/statping-ng/statping-ng/wiki/Mac"><img alt="Apple Mac" src="https://statping-ng.github.io/assets/external/apple.png" style="width:5%;margin-right:5px;" width=5% /></a>
|
||||
<a href="https://github.com/statping-ng/statping-ng/wiki/Docker"><img alt="Containers" src="https://statping-ng.github.io/assets/external/dockericon.png" style="width:5%;margin-right:5px;" width=5% /></a>
|
||||
<a href="https://statping-ng.github.io/assets/external/android.png)](https://play.google.com/store/apps/details?id=com.statping"><img alt="Android Play Store" src="https://statping-ng.github.io/assets/external/android.png" style="width:5%;margin-right:5px;" width=5% /></a>
|
||||
<a href="https://itunes.apple.com/us/app/apple-store/id1445513219"><img alt="Apple Apps Store" src="https://statping-ng.github.io/assets/external/appstore.png" style="width:5%;margin-right:5px;" width=5% /></a>
|
||||
</p>
|
||||
<br/>
|
||||
<div style="clear:both;"><br/><br/></div>
|
||||
|
||||
|
||||
<img style="margin-left:10px;float:right;width:320px;height:235px;" align="right" width="320" height="235" src="https://statping-ng.github.io/assets/external/slack-notifer.png" />
|
||||
<h3>Lightweight and Fast</h3>
|
||||
<p>
|
||||
Statping-ng is a very lightweight application and is available for Linux, Mac, and Windows. The Docker image is only ~20Mb so you know that this application won't be filling up your hard drive space.
|
||||
The Status binary for all other OS's is ~17Mb at most.
|
||||
<br><br><br><br><br><br>
|
||||
</p>
|
||||
<div style="clear:both;"><br/><br/><br/></div>
|
||||
|
||||
<img align="left" width="320" height="235" src="https://img.cjx.io/statping_iphone_bk.png">
|
||||
<h2>Mobile App is Gorgeous</h2>
|
||||
The Statping app is available on the App Store and Google Play for free. The app will allow you to view services, receive notifications when a service is offline, update groups, users, services, messages, and more! Start your own Statping server and then connect it to the app by scanning the QR code in settings.
|
||||
|
||||
<p align="center">
|
||||
<a href="https://play.google.com/store/apps/details?id=com.statping"><img src="https://img.cjx.io/google-play.svg"></a>
|
||||
<a href="https://itunes.apple.com/us/app/apple-store/id1445513219"><img src="https://img.cjx.io/app-store-badge.svg"></a>
|
||||
<h3>Want easy containers?</h3>
|
||||
<p>
|
||||
No Worries, we provide docker containers for many different system architectures, with multiple docker-compose files to suit your needs, you can even bring your own SSL Certificate or automatically leverage <a href="https://letsencrypt.org/">Lets Encrypt</a> to keep things secure. But it's can be as simple as a docker run!
|
||||
</p>
|
||||
<div style="clear:both;"><br/><br/></div>
|
||||
|
||||
|
||||
<img style="margin-left:10px;float:right;width:320px;height:235px;" align="right" width="320" height="235" src="https://statping-ng.github.io/assets/external/statping_theme.gif" />
|
||||
<h3>Custom SASS Styling</h3>
|
||||
Statping-ng will allow you to completely customize your Status Page using SASS styling with easy to use variables. The container image actually contains a pre-built SASS binary so you won't even need to setup anything!
|
||||
<div style="clear:both;"><br/><br/><br/></div>
|
||||
|
||||
|
||||
<img style="margin-right:10px;float:left;width:320px;height:235px;" align="left" width="320" height="235" src="https://statping-ng.github.io/assets/external/statping_iphone_bk.png" />
|
||||
<h3>Compatible with the Statping App</h3>
|
||||
<p>
|
||||
Statping-ng is 100% compatible with the statping app which is available on the Apple App Store and Google Play for free. The app will allow you to view services, receive notifications when a service is offline, update groups, users, services, messages, and more! Start your own Statping-ng server and then connect it to the app by scanning the QR code in settings.</p>
|
||||
<p align="center" style="text-align:center">
|
||||
<a href="https://play.google.com/store/apps/details?id=com.statping"><img src="https://statping-ng.github.io/assets/external/google-play.svg"></a>
|
||||
<a href="https://itunes.apple.com/us/app/apple-store/id1445513219"><img src="https://statping-ng.github.io/assets/external/app-store-badge.svg"></a>
|
||||
</p>
|
||||
<p align="center" style="text-align:center"><small>The mobile app is not maintained by statping-ng and includes in-app purchases to the developer of statping.</small></p>
|
||||
<div style="clear:both;"><br/><br/></div>
|
||||
|
||||
<h3>Notifications - Slack, Email, Twilio and more</h3>
|
||||
<p>Statping-ng includes email notification via SMTP and Slack integration using <a href="https://api.slack.com/incoming-webhooks">Incoming Webhook</a>. Insert the webhook URL into the Settings page in Statping-ng and enable the Slack integration. Anytime a service fails, the channel that you specified on Slack will receive a message.</p>
|
||||
<p>View the <a href="https://github.com/statping-ng/statping-ng/wiki/Statping-Plugins">Plugin Wiki</a> to see detailed information about Golang Plugins. Statping-ng isn't just another Status Page for your applications, it's a framework that allows you to create your own plugins to interact with every element of your status page. <a href="https://github.com/statping-ng/statping-ng/wiki/Notifiers">Notifier's</a> can also be create with only 1 golang file.</p>
|
||||
<div style="clear:both;"><br/><br/><br/></div>
|
||||
|
||||
|
||||
<img style="margin-left:10px;float:right;width:320px;height:235px;" width="320" height="235" align="right" src="https://statping-ng.github.io/assets/external/statping_settings.gif" />
|
||||
<h2>Easy to use Dashboard</h2>
|
||||
<p>
|
||||
Having a straight forward dashboard makes Statping-ng that much better. Quickly and Easy view statuses. Monitor your websites and applications with a basic HTTP GET request, or add a POST request with your own JSON to post to the endpoint.</p>
|
||||
<div style="clear:both;"><br/><br/><br/><br/></div>
|
||||
|
||||
|
||||
<img style="margin:35px 0;width:100%;height:250px;" align="center" width="100%" height="250" src="https://statping-ng.github.io/assets/external/statupsc2.png" />
|
||||
|
||||
|
||||
|
||||
<h2 align="center" style="text-align:center">Quick Start</h2>
|
||||
<p>Here's a few quick start guides to get you going, fast.</p>
|
||||
|
||||
<h3>Docker</h3>
|
||||
<p>Use the <a href="https://hub.docker.com/r/adamboutcher/statping-ng">Statping Docker Image</a> to create a status page in seconds. Checkout the <a href="https://github.com/statping-ng/statping-ng/wiki/Docker">Docker Wiki</a> to view more details on how to get started using Docker.
|
||||
</p>
|
||||
|
||||
<br><br>
|
||||
|
||||
## Run on Any Server
|
||||
Whether you're a Docker fan-boy or a [AWS EC2](https://github.com/statping/statping/wiki/AWS-EC2) master, Statping gives you multiple options to simply get running. Our Amazon AMI image is only 8Gb and will automatically update to the most stable version of Statping.
|
||||
Running on an EC2 server might be the most cost effective way to host your own Statping Status Page. The server runs on the smallest EC2 instance (t2.nano) AWS has to offer, which only costs around $4.60 USD a month for your dedicated Status Page.
|
||||
Want to run it on your own Docker server? Awesome! Statping has multiple docker-compose.yml files to work with. Statping can automatically create a SSL Certification for your status page.
|
||||
<br><br><br><br>
|
||||
|
||||
<img align="left" width="320" height="205" src="https://img.cjx.io/statping_theme.gif">
|
||||
<h2>Custom SASS Styling</h2>
|
||||
Statping will allow you to completely customize your Status Page using SASS styling with easy to use variables. The Docker image actually contains a prebuilt SASS binary so you won't even need to setup anything!
|
||||
<br><br><br><br>
|
||||
|
||||
## Slack, Email, Twilio and more
|
||||
Statping includes email notification via SMTP and Slack integration using [Incoming Webhook](https://api.slack.com/incoming-webhooks). Insert the webhook URL into the Settings page in Statping and enable the Slack integration. Anytime a service fails, you're channel that you specified on Slack will receive a message.
|
||||
<br><br><br><br>
|
||||
|
||||
<h2>User Created Notifiers</h2>
|
||||
View the [Plugin Wiki](https://github.com/statping/statping/wiki/Statping-Plugins) to see detailed information about Golang Plugins. Statping isn't just another Status Page for your applications, it's a framework that allows you to create your own plugins to interact with every element of your status page. [Notifier's](https://github.com/statping/statping/wiki/Notifiers) can also be create with only 1 golang file.
|
||||
<br><br><br><br>
|
||||
|
||||
<img align="center" width="100%" height="250" src="https://img.cjx.io/statupsc2.png">
|
||||
|
||||
<br><br><br><br>
|
||||
|
||||
<img align="right" width="320" height="235" src="https://img.cjx.io/statping_settings.gif">
|
||||
<h2>Easy to use Dashboard</h2>
|
||||
Having a straight forward dashboard makes Statping that much better. Monitor your websites and applications with a basic HTTP GET request, or add a POST request with your own JSON to post to the endpoint.
|
||||
<br><br><br><br>
|
||||
|
||||
## Run on Docker
|
||||
Use the [Statping Docker Image](https://hub.docker.com/r/statping/statping) to create a status page in seconds. Checkout the [Docker Wiki](https://github.com/statping/statping/wiki/Docker) to view more details on how to get started using Docker.
|
||||
```bash
|
||||
docker run -it -p 8080:8080 statping/statping
|
||||
docker run -it -p 8080:8080 adamboutcher/statping-ng
|
||||
```
|
||||
There are multiple ways to startup a Statping server. You want to make sure Statping is on it's own instance that is not on the same server as the applications you wish to monitor. It doesn't look good when your Status Page goes down, I recommend a small EC2 instance so you can set it, and forget it.
|
||||
<br><br><br><br>
|
||||
|
||||
## Docker Compose
|
||||
In this folder there is a standard docker-compose file that include nginx, postgres, and Statping.
|
||||
<h3>Docker Compose</h3>
|
||||
<p>In the root (base) folder there is a standard docker-compose file that includes nginx, postgres, and Statping-ng.</p>
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
<br><br><br><br>
|
||||
|
||||
## Docker Compose with Automatic SSL
|
||||
You can automatically start a Statping server with automatic SSL encryption using this docker-compose file. First point your domain's DNS to the Statping server, and then run this docker-compose command with DOMAIN and EMAIL. Email is for letsencrypt services.
|
||||
<h3>Docker Compose with Automatic SSL</h3>
|
||||
<p>You can automatically start a Statping-ng server with automatic SSL encryption using this docker-compose file. First point your domain's DNS to the Statping-ng server, and then run this docker-compose command with DOMAIN and EMAIL. Email is for <a href="https://letsencrypt.org/">letsencrypt</a> services.</p>
|
||||
|
||||
```bash
|
||||
LETSENCRYPT_HOST=mydomain.com \
|
||||
LETSENCRYPT_EMAIL=info@mydomain.com \
|
||||
docker-compose -f docker-compose-ssl.yml up -d
|
||||
```
|
||||
Once your instance has started, it will take a moment to get your SSL certificate. Make sure you have a A or CNAME record on your domain that points to the IP/DNS of your server running Statping.
|
||||
<br><br><br><br>
|
||||
|
||||
## Prometheus Exporter
|
||||
Statping includes a [Prometheus Exporter](https://github.com/statping/statping/wiki/Prometheus-Exporter) so you can have even more monitoring power with your services. The Prometheus exporter can be seen on `/metrics`, simply create another exporter in your prometheus config. Use your Statping API Secret for the Authorization Bearer header, the `/metrics` URL is dedicated for Prometheus and requires the correct API Secret has `Authorization` header.
|
||||
<p>Once your instance has started, it will take a moment to get your SSL certificate. Make sure you have a A or CNAME record on your domain that points to the IP/DNS of your server running Statping-ng.</p>
|
||||
|
||||
<h3>Prometheus Exporter</h3>
|
||||
<p>Statping-ng includes a <a href="https://github.com/statping-ng/statping-ng/wiki/Prometheus-Exporter">Prometheus Exporter</a> so you can have even more monitoring power with your services. The Prometheus exporter can be seen on <kbd>/metrics</kbd>, simply create another exporter in your prometheus config. Use your Statping-ng API Secret for the Authorization Bearer header, the <kbd>/metrics</kbd> URL is dedicated for Prometheus and requires the correct API Secret has <kbd>Authorization</kbd> header.</p>
|
||||
|
||||
```yaml
|
||||
scrape_configs:
|
||||
- job_name: 'statping'
|
||||
|
@ -111,61 +154,9 @@ scrape_configs:
|
|||
static_configs:
|
||||
- targets: ['statping:8080']
|
||||
```
|
||||
<br><br><br><br>
|
||||
|
||||
## Run on EC2 Server
|
||||
Running Statping on the smallest EC2 server is very quick using the AWS AMI Image. Checkout the [AWS Wiki](https://github.com/statping/statping/wiki/AWS-EC2) to see a step by step guide on how to get your EC2 Statping service online.
|
||||
<br><br><br><br>
|
||||
|
||||
##### Create Security Groups
|
||||
Create the AWS Security Groups with the commands below, Statping will expose port 80 and 443.
|
||||
```bash
|
||||
aws ec2 create-security-group --group-name StatpingPublicHTTP \
|
||||
--description "Statping HTTP Server on port 80 and 443"
|
||||
# will response back a Group ID. Copy ID and use it for --group-id below.
|
||||
|
||||
aws ec2 authorize-security-group-ingress \
|
||||
--group-id sg-7e8b830f --protocol tcp \
|
||||
--port 80 --cidr 0.0.0.0/0
|
||||
|
||||
aws ec2 authorize-security-group-ingress \
|
||||
--group-id sg-7e8b830f --protocol tcp \
|
||||
--port 443 --cidr 0.0.0.0/0
|
||||
```
|
||||
##### Create EC2 without SSL
|
||||
```bash
|
||||
aws ec2 run-instances \
|
||||
--image-id ami-7be8a103 \
|
||||
--count 1 --instance-type t2.nano \
|
||||
--key-name MYKEYHERE \
|
||||
--security-group-ids sg-7e8b830f
|
||||
```
|
||||
##### Create EC2 with Automatic SSL Certification
|
||||
The AWS-CLI command below will automatically create an EC2 server and create an SSL certificate from Lets Encrypt, for free.
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/statping/statping/master/servers/ec2-ssl.sh
|
||||
# Edit ec2-ssl.sh and insert your domain you want to use, then run command below.
|
||||
# Use the Security Group ID that you used above for --security-group-ids
|
||||
|
||||
aws ec2 run-instances \
|
||||
--user-data file://ec2-ssl.sh \
|
||||
--image-id ami-7be8a103 \
|
||||
--count 1 --instance-type t2.nano \
|
||||
--key-name MYKEYHERE \
|
||||
--security-group-ids sg-7e8b830f
|
||||
```
|
||||
|
||||
## Contributing
|
||||
Statping accepts Push Requests to the `dev` branch! Feel free to add your own features and notifiers. You probably want to checkout the [Notifier Wiki](https://github.com/statping/statping/wiki/Notifiers) to get a better understanding on how to create your own notification methods for failing/successful services. Testing on Statping will test each function on MySQL, Postgres, and SQLite. I recommend running MySQL and Postgres Docker containers for testing. You can find multiple docker-compose files in the dev directory.
|
||||
|
||||

|
||||
[](https://goreportcard.com/report/github.com/statping/statping)
|
||||
[](https://travis-ci.com/statping/statping) [](https://dashboard.cypress.io/#/projects/bi8mhr/runs)
|
||||
[](https://hub.docker.com/r/statping/statping/builds/) [](https://godoc.org/github.com/statping/statping)[](https://coveralls.io/github/statping/statping?branch=master)
|
||||
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.buymeacoffee.com/hunterlong" target="_blank">
|
||||
<img height="55" src="https://img.cjx.io/buy-me-redbull.png" >
|
||||
</a>
|
||||
</p>
|
||||
<h2>Contributing</h2>
|
||||
<p>Statping-ng accepts Push Requests to the <kbd>dev</kbd> branch!</p>
|
||||
<p>Feel free to add your own features and notifiers.You probably want to checkout the <a href="https://github.com/statping-ng/statping-ng/wiki/Notifiers">Notifier Wiki</a> to get a better understanding on how to create your own notification methods for failing/successful services.</p>
|
||||
<p>Testing on Statping-ng will test each function on MySQL, Postgres, and SQLite. I recommend running MySQL and Postgres Docker containers for testing.</p>
|
||||
<p>You can find multiple docker-compose files in the <kbd>dev</kbd> directory.</p>
|
||||
|
|
4
app.json
4
app.json
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "Statping",
|
||||
"name": "Statping-ng",
|
||||
"description": "Statping Server Monitoring with Status Page",
|
||||
"repository": "https://github.com/statping/statping",
|
||||
"repository": "https://github.com/adamboutcher/statping-ng",
|
||||
"logo": "https://assets.statping.com/banner.png",
|
||||
"keywords": ["statping", "server", "monitoring", "status page","golang", "go"]
|
||||
}
|
||||
|
|
16
cmd/cli.go
16
cmd/cli.go
|
@ -5,12 +5,12 @@ import (
|
|||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/statping/statping/handlers"
|
||||
"github.com/statping/statping/source"
|
||||
"github.com/statping/statping/types/configs"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/handlers"
|
||||
"github.com/statping-ng/statping-ng/source"
|
||||
"github.com/statping-ng/statping-ng/types/configs"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
@ -351,7 +351,7 @@ func ask(format string) bool {
|
|||
func updateDisplay() error {
|
||||
gitCurrent, err := checkGithubUpdates()
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "Issue connecting to https://github.com/statping/statping")
|
||||
return errors.Wrap(err, "Issue connecting to https://github.com/statping-ng/statping-ng")
|
||||
}
|
||||
if gitCurrent.TagName == "" {
|
||||
return nil
|
||||
|
@ -395,7 +395,7 @@ func runOnce() error {
|
|||
}
|
||||
|
||||
func checkGithubUpdates() (githubResponse, error) {
|
||||
url := "https://api.github.com/repos/statping/statping/releases/latest"
|
||||
url := "https://api.github.com/repos/statping-ng/statping-ng/releases/latest"
|
||||
contents, _, err := utils.HttpRequest(url, "GET", nil, nil, nil, time.Duration(2*time.Second), true, nil)
|
||||
if err != nil {
|
||||
return githubResponse{}, err
|
||||
|
|
|
@ -2,8 +2,8 @@ package main
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"github.com/statping/statping/source"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/source"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"io/ioutil"
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
"fmt"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"io"
|
||||
"os"
|
||||
"os/exec"
|
||||
|
|
|
@ -23,5 +23,5 @@
|
|||
// docker pull crazy-max/xgo
|
||||
// build-all
|
||||
//
|
||||
// More info on: https://github.com/statping/statping
|
||||
// More info on: https://github.com/adamboutcher/statping-ng
|
||||
package main
|
||||
|
|
|
@ -2,7 +2,7 @@ package main
|
|||
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
18
cmd/main.go
18
cmd/main.go
|
@ -3,15 +3,15 @@ package main
|
|||
import (
|
||||
"fmt"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/statping/statping/database"
|
||||
"github.com/statping/statping/handlers"
|
||||
"github.com/statping/statping/notifiers"
|
||||
"github.com/statping/statping/source"
|
||||
"github.com/statping/statping/types/configs"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/metrics"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/database"
|
||||
"github.com/statping-ng/statping-ng/handlers"
|
||||
"github.com/statping-ng/statping-ng/notifiers"
|
||||
"github.com/statping-ng/statping-ng/source"
|
||||
"github.com/statping-ng/statping-ng/types/configs"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/metrics"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
|
|
|
@ -4,8 +4,8 @@ import (
|
|||
"database/sql"
|
||||
"fmt"
|
||||
"github.com/jinzhu/gorm"
|
||||
"github.com/statping/statping/types/metrics"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types/metrics"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@ package database
|
|||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/statping/statping/types"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strconv"
|
||||
|
|
|
@ -2,7 +2,7 @@ package database
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"time"
|
||||
|
||||
_ "github.com/jinzhu/gorm/dialects/mysql"
|
||||
|
|
|
@ -0,0 +1,275 @@
|
|||
version: '2.3'
|
||||
|
||||
|
||||
###############################################
|
||||
# Statping Full Stack
|
||||
#
|
||||
# Statping SQLIte => http://localhost:8080
|
||||
# Statping MySQL => http://localhost:8081
|
||||
# Statping Postgres => http://localhost:8082
|
||||
# Statping MariaDB => http://localhost:8083
|
||||
#
|
||||
# Adminer => http://localhost:8282
|
||||
# Prometheus => http://localhost:7050
|
||||
# Grafana => http://localhost:3000
|
||||
#
|
||||
# MySQL => http://localhost:3306
|
||||
# Postgres => http://localhost:5432
|
||||
# MariaDB => http://localhost:3307
|
||||
#
|
||||
###############################################
|
||||
|
||||
services:
|
||||
|
||||
statping_sqlite:
|
||||
container_name: statping_sqlite
|
||||
platform: linux/amd64
|
||||
build:
|
||||
context: ./
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./dev/docker/statping/sqlite:/app
|
||||
- ./dev/services.yml:/app/services.yml
|
||||
environment:
|
||||
DB_CONN: sqlite
|
||||
API_SECRET: exampleapisecret
|
||||
NAME: Statping
|
||||
DOMAIN: http://localhost:8084
|
||||
DESCRIPTION: This is a dev environment on SQLite!
|
||||
ADMIN_USER: admin
|
||||
ADMIN_PASSWORD: admin
|
||||
SAMPLE_DATA: 'false'
|
||||
ports:
|
||||
- 8084:8080
|
||||
networks:
|
||||
- database
|
||||
- frontend
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -f http://localhost:8080/health || false"]
|
||||
timeout: 2s
|
||||
interval: 10s
|
||||
retries: 20
|
||||
|
||||
statping_mysql:
|
||||
container_name: statping_mysql
|
||||
platform: linux/amd64
|
||||
build:
|
||||
context: ./
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./dev/docker/statping/mysql:/app
|
||||
- ./dev/services.yml:/app/services.yml
|
||||
environment:
|
||||
DB_CONN: mysql
|
||||
DB_HOST: mysql
|
||||
DB_USER: root
|
||||
DB_PASS: password123
|
||||
DB_DATABASE: statping
|
||||
DB_PORT: 3306
|
||||
API_SECRET: exampleapisecret
|
||||
NAME: Statping MySQL
|
||||
DOMAIN: http://localhost:8081
|
||||
DESCRIPTION: This is a dev environment on MySQL!
|
||||
ADMIN_USER: admin
|
||||
ADMIN_PASSWORD: admin
|
||||
SAMPLE_DATA: 'false'
|
||||
ports:
|
||||
- 8081:8080
|
||||
networks:
|
||||
- database
|
||||
- frontend
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -f http://localhost:8080/health || false"]
|
||||
timeout: 2s
|
||||
interval: 10s
|
||||
retries: 20
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
|
||||
statping_postgres:
|
||||
container_name: statping_postgres
|
||||
platform: linux/amd64
|
||||
build:
|
||||
context: ./
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./dev/docker/statping/mysql:/app
|
||||
- ./dev/services.yml:/app/services.yml
|
||||
environment:
|
||||
DB_CONN: postgres
|
||||
DB_HOST: postgres
|
||||
DB_USER: root
|
||||
DB_PASS: password123
|
||||
DB_DATABASE: statping
|
||||
DB_PORT: 5432
|
||||
API_SECRET: exampleapisecret
|
||||
NAME: Statping Postgres
|
||||
DOMAIN: http://localhost:8082
|
||||
DESCRIPTION: This is a dev environment on Postgres!
|
||||
ADMIN_USER: admin
|
||||
ADMIN_PASSWORD: admin
|
||||
SAMPLE_DATA: 'false'
|
||||
ports:
|
||||
- 8082:8080
|
||||
networks:
|
||||
- database
|
||||
- frontend
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -f http://localhost:8080/health || false"]
|
||||
timeout: 2s
|
||||
interval: 10s
|
||||
retries: 20
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
|
||||
statping_mariadb:
|
||||
container_name: statping_mariadb
|
||||
platform: linux/amd64
|
||||
build:
|
||||
context: ./
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./dev/docker/statping/mariadb:/app
|
||||
- ./dev/services.yml:/app/services.yml
|
||||
environment:
|
||||
DB_CONN: mysql
|
||||
DB_HOST: mariadb
|
||||
DB_USER: root
|
||||
DB_PASS: password123
|
||||
DB_DATABASE: statping
|
||||
DB_PORT: 3306
|
||||
API_SECRET: exampleapisecret
|
||||
NAME: Statping MariaDB
|
||||
DOMAIN: http://localhost:8083
|
||||
DESCRIPTION: This is a dev environment on MariaDB!
|
||||
ADMIN_USER: admin
|
||||
ADMIN_PASSWORD: admin
|
||||
SAMPLE_DATA: 'false'
|
||||
ports:
|
||||
- 8083:8080
|
||||
networks:
|
||||
- database
|
||||
- frontend
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -f http://localhost:8080/health || false"]
|
||||
timeout: 2s
|
||||
interval: 10s
|
||||
retries: 20
|
||||
depends_on:
|
||||
mariadb:
|
||||
condition: service_healthy
|
||||
|
||||
postgres:
|
||||
container_name: postgres
|
||||
image: postgres
|
||||
volumes:
|
||||
- ./dev/docker/databases/postgres:/var/lib/postgresql/data
|
||||
ports:
|
||||
- 5432:5432
|
||||
environment:
|
||||
POSTGRES_PASSWORD: password123
|
||||
POSTGRES_DB: statping
|
||||
POSTGRES_USER: root
|
||||
networks:
|
||||
- database
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U root"]
|
||||
interval: 15s
|
||||
timeout: 10s
|
||||
retries: 20
|
||||
|
||||
mysql:
|
||||
container_name: mysql
|
||||
image: mysql:5.7
|
||||
volumes:
|
||||
- ./dev/docker/databases/mysql:/var/lib/mysql
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: password123
|
||||
MYSQL_DATABASE: statping
|
||||
ports:
|
||||
- 3306:3306
|
||||
networks:
|
||||
- database
|
||||
healthcheck:
|
||||
test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
|
||||
timeout: 20s
|
||||
interval: 15s
|
||||
retries: 30
|
||||
|
||||
mariadb:
|
||||
container_name: mariadb
|
||||
image: mariadb
|
||||
volumes:
|
||||
- ./dev/docker/databases/mariadb:/var/lib/mysql
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: password123
|
||||
MYSQL_DATABASE: statping
|
||||
ports:
|
||||
- 3307:3306
|
||||
networks:
|
||||
- database
|
||||
healthcheck:
|
||||
test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
|
||||
timeout: 20s
|
||||
interval: 15s
|
||||
retries: 30
|
||||
|
||||
adminer:
|
||||
container_name: adminer
|
||||
image: adminer
|
||||
restart: always
|
||||
networks:
|
||||
- database
|
||||
- frontend
|
||||
ports:
|
||||
- 8282:8080
|
||||
|
||||
prometheus:
|
||||
container_name: prometheus
|
||||
platform: linux/amd64
|
||||
image: prom/prometheus:v2.0.0
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./dev/prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
- ./dev/docker/databases/prometheus:/prometheus
|
||||
ports:
|
||||
- 7050:9090
|
||||
networks:
|
||||
- database
|
||||
healthcheck:
|
||||
test: "/bin/wget -q -Y off http://localhost:9090/status -O /dev/null > /dev/null 2>&1"
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
|
||||
grafana:
|
||||
container_name: grafana
|
||||
image: grafana/grafana
|
||||
restart: on-failure
|
||||
ports:
|
||||
- 3000:3000
|
||||
volumes:
|
||||
- ./dev/docker/grafana:/var/lib/grafana
|
||||
- ./dev/grafana/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yml
|
||||
- ./dev/grafana/dashboard.yml:/etc/grafana/provisioning/dashboards/dashboard.yml
|
||||
- ./dev/grafana/statping_dashboard.json:/etc/grafana/provisioning/dashboards/statping_dashboard.json
|
||||
environment:
|
||||
- GF_USERS_ALLOW_SIGN_UP=false
|
||||
- GF_AUTH_ANONYMOUS_ENABLED=true
|
||||
depends_on:
|
||||
prometheus:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- frontend
|
||||
- database
|
||||
healthcheck:
|
||||
test: "/usr/bin/wget -q -Y off http://localhost:3000/api/health -O /dev/null > /dev/null 2>&1"
|
||||
interval: 10s
|
||||
retries: 20
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
database:
|
|
@ -24,11 +24,11 @@ services:
|
|||
statping_sqlite:
|
||||
container_name: statping_sqlite
|
||||
build:
|
||||
context: ../
|
||||
context: ./
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./docker/statping/sqlite:/app
|
||||
- ./services.yml:/app/services.yml
|
||||
- ./dev/docker/statping/sqlite:/app
|
||||
- ./dev/services.yml:/app/services.yml
|
||||
environment:
|
||||
DB_CONN: sqlite
|
||||
API_SECRET: exampleapisecret
|
||||
|
@ -39,7 +39,7 @@ services:
|
|||
ADMIN_PASSWORD: admin
|
||||
SAMPLE_DATA: 'false'
|
||||
ports:
|
||||
- 8080:8080
|
||||
- 8084:8080
|
||||
networks:
|
||||
- database
|
||||
- frontend
|
||||
|
@ -52,11 +52,11 @@ services:
|
|||
statping_mysql:
|
||||
container_name: statping_mysql
|
||||
build:
|
||||
context: ../
|
||||
context: ./
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./docker/statping/mysql:/app
|
||||
- ./services.yml:/app/services.yml
|
||||
- ./dev/docker/statping/mysql:/app
|
||||
- ./dev/services.yml:/app/services.yml
|
||||
environment:
|
||||
DB_CONN: mysql
|
||||
DB_HOST: mysql
|
||||
|
@ -88,11 +88,11 @@ services:
|
|||
statping_postgres:
|
||||
container_name: statping_postgres
|
||||
build:
|
||||
context: ../
|
||||
context: ./
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./docker/statping/mysql:/app
|
||||
- ./services.yml:/app/services.yml
|
||||
- ./dev/docker/statping/mysql:/app
|
||||
- ./dev/services.yml:/app/services.yml
|
||||
environment:
|
||||
DB_CONN: postgres
|
||||
DB_HOST: postgres
|
||||
|
@ -124,11 +124,11 @@ services:
|
|||
statping_mariadb:
|
||||
container_name: statping_mariadb
|
||||
build:
|
||||
context: ../
|
||||
context: ./
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./docker/statping/mariadb:/app
|
||||
- ./services.yml:/app/services.yml
|
||||
- ./dev/docker/statping/mariadb:/app
|
||||
- ./dev/services.yml:/app/services.yml
|
||||
environment:
|
||||
DB_CONN: mysql
|
||||
DB_HOST: mariadb
|
||||
|
@ -161,7 +161,7 @@ services:
|
|||
container_name: postgres
|
||||
image: postgres
|
||||
volumes:
|
||||
- ./docker/databases/postgres:/var/lib/postgresql/data
|
||||
- ./dev/docker/databases/postgres:/var/lib/postgresql/data
|
||||
ports:
|
||||
- 5432:5432
|
||||
environment:
|
||||
|
@ -180,7 +180,7 @@ services:
|
|||
container_name: mysql
|
||||
image: mysql:5.7
|
||||
volumes:
|
||||
- ./docker/databases/mysql:/var/lib/mysql
|
||||
- ./dev/docker/databases/mysql:/var/lib/mysql
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: password123
|
||||
|
@ -201,7 +201,7 @@ services:
|
|||
container_name: mariadb
|
||||
image: mariadb
|
||||
volumes:
|
||||
- ./docker/databases/mariadb:/var/lib/mysql
|
||||
- ./dev/docker/databases/mariadb:/var/lib/mysql
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: password123
|
||||
|
@ -233,8 +233,8 @@ services:
|
|||
image: prom/prometheus:v2.0.0
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
- ./docker/databases/prometheus:/prometheus
|
||||
- ./dev/prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
- ./dev/docker/databases/prometheus:/prometheus
|
||||
ports:
|
||||
- 7050:9090
|
||||
networks:
|
||||
|
@ -251,10 +251,10 @@ services:
|
|||
ports:
|
||||
- 3000:3000
|
||||
volumes:
|
||||
- ./docker/grafana:/var/lib/grafana
|
||||
- ./grafana/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yml
|
||||
- ./grafana/dashboard.yml:/etc/grafana/provisioning/dashboards/dashboard.yml
|
||||
- ./grafana/statping_dashboard.json:/etc/grafana/provisioning/dashboards/statping_dashboard.json
|
||||
- ./dev/docker/grafana:/var/lib/grafana
|
||||
- ./dev/grafana/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yml
|
||||
- ./dev/grafana/dashboard.yml:/etc/grafana/provisioning/dashboards/dashboard.yml
|
||||
- ./dev/grafana/statping_dashboard.json:/etc/grafana/provisioning/dashboards/statping_dashboard.json
|
||||
environment:
|
||||
- GF_USERS_ALLOW_SIGN_UP=false
|
||||
- GF_AUTH_ANONYMOUS_ENABLED=true
|
||||
|
|
|
@ -4,19 +4,19 @@ services:
|
|||
|
||||
statping_dev:
|
||||
container_name: statping_dev
|
||||
image: statping/statping:dev
|
||||
image: statping-ng/statping-ng:dev
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ./cmd:/go/src/github.com/statping/statping/cmd/
|
||||
- ./core:/go/src/github.com/statping/statping/core/
|
||||
- ./database:/go/src/github.com/statping/statping/database/
|
||||
- ./dev:/go/src/github.com/statping/statping/dev/
|
||||
- ./frontend:/go/src/github.com/statping/statping/frontend/
|
||||
- ./handlers:/go/src/github.com/statping/statping/handlers/
|
||||
- ./notifiers:/go/src/github.com/statping/statping/notifiers/
|
||||
- ./source:/go/src/github.com/statping/statping/source/
|
||||
- ./types:/go/src/github.com/statping/statping/types/
|
||||
- ./utils:/go/src/github.com/statping/statping/utils/
|
||||
- ./cmd:/go/src/github.com/statping-ng/statping-ng/cmd/
|
||||
- ./core:/go/src/github.com/statping-ng/statping-ng/core/
|
||||
- ./database:/go/src/github.com/statping-ng/statping-ng/database/
|
||||
- ./dev:/go/src/github.com/statping-ng/statping-ng/dev/
|
||||
- ./frontend:/go/src/github.com/statping-ng/statping-ng/frontend/
|
||||
- ./handlers:/go/src/github.com/statping-ng/statping-ng/handlers/
|
||||
- ./notifiers:/go/src/github.com/statping-ng/statping-ng/notifiers/
|
||||
- ./source:/go/src/github.com/statping-ng/statping-ng/source/
|
||||
- ./types:/go/src/github.com/statping-ng/statping-ng/types/
|
||||
- ./utils:/go/src/github.com/statping-ng/statping-ng/utils/
|
||||
environment:
|
||||
DB_CONN: sqlite
|
||||
API_SECRET: exampleapisecret
|
||||
|
|
File diff suppressed because one or more lines are too long
8
doc.go
8
doc.go
|
@ -1,10 +1,10 @@
|
|||
// Package statping is a server monitoring application that includes a status page server. Visit the Statping repo at
|
||||
// https://github.com/statping/statping to get a full understanding of what this application can do.
|
||||
// https://github.com/adamboutcher/statping-ng to get a full understanding of what this application can do.
|
||||
//
|
||||
// Install Statping
|
||||
//
|
||||
// Statping is available for Mac, Linux and Windows 64x. You can download the tar.gz file or use a couple other methods. Download
|
||||
// the latest release at https://github.com/statping/statping/releases/latest or view below. If you're on windows, download
|
||||
// the latest release at https://github.com/statping-ng/statping-ng/releases/latest or view below. If you're on windows, download
|
||||
// the zip file from the latest releases link.
|
||||
//
|
||||
// // MacOS using homebrew
|
||||
|
@ -20,5 +20,5 @@
|
|||
// Statping can be built in many way, the best way is to use Docker!
|
||||
// docker run -it -p 8080:8080 statping/statping
|
||||
//
|
||||
// Enjoy Statping and tell me any issues you might be having on Github. https://github.com/hunterlong
|
||||
package statping
|
||||
// Enjoy Statping and tell me any issues you might be having on Github. https://github.com/adamboutcher
|
||||
package statping_ng
|
||||
|
|
|
@ -3,7 +3,7 @@ version: '2.3'
|
|||
services:
|
||||
statping:
|
||||
container_name: statping
|
||||
image: statping/statping:dev
|
||||
image: adamboutcher/statping-ng:latest
|
||||
restart: always
|
||||
volumes:
|
||||
- statping_data:/app
|
||||
|
|
|
@ -72,7 +72,7 @@ context('Settings Tests', () => {
|
|||
cy.visit('/dashboard/settings')
|
||||
cy.get('#v-pills-style-tab').click()
|
||||
cy.get('#pills-vars-tab').click()
|
||||
cy.get('#assets_dir').should('contain', 'github.com/statping/statping/assets')
|
||||
cy.get('#assets_dir').should('contain', 'github.com/statping-ng/statping-ng/assets')
|
||||
})
|
||||
|
||||
it('should save Local Assets', () => {
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<meta property="twitter:description" content="{{CoreApp.Description}} {{CoreApp.Name}}">
|
||||
|
||||
{{if USE_CDN}}
|
||||
<link rel="stylesheet" href="https://assets.statping.com/css/vendor.css">
|
||||
<link rel="stylesheet" href="https://statping-ng.github.io/assets/hosted/vendor.css" />
|
||||
{{else}}
|
||||
<% _.each(htmlWebpackPlugin.tags.headTags, function(headTag) { %>
|
||||
<%= headTag %> <% }) %>
|
||||
|
@ -39,10 +39,10 @@
|
|||
<div id="app" class="statping_container"></div>
|
||||
|
||||
{{if USE_CDN}}
|
||||
<script src="https://assets.statping.com/js/bundle.js"></script>
|
||||
<script src="https://assets.statping.com/js/vendor.chunk.js"></script>
|
||||
<script src="https://assets.statping.com/js/polyfill.chunk.js"></script>
|
||||
<script src="https://assets.statping.com/js/main.chunk.js"></script>
|
||||
<script src="https://statping-ng.github.io/assets/hosted/bundle.js"></script>
|
||||
<script src="https://statping-ng.github.io/assets/hosted/vendor.chunk.js"></script>
|
||||
<script src="https://statping-ng.github.io/assets/hosted/polyfill.chunk.js"></script>
|
||||
<script src="https://statping-ng.github.io/assets/hosted/main.chunk.js"></script>
|
||||
{{else}}
|
||||
<% _.each(htmlWebpackPlugin.tags.bodyTags, function(bodyTag) { %>
|
||||
<%= bodyTag %> <% }) %>
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 43 KiB |
|
@ -5,11 +5,11 @@
|
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, maximum-scale=1.0, user-scalable=0">
|
||||
<base href="/">
|
||||
<title>Statping</title>
|
||||
<title>Statping-ng</title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>We're sorry but Statping doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||
<strong>We're sorry but Statping-ng doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||
</noscript>
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
|
|
|
@ -7,8 +7,8 @@ const tokenKey = "statping_auth";
|
|||
|
||||
class Api {
|
||||
constructor() {
|
||||
this.version = "0.90.74";
|
||||
this.commit = "df8e1f73d9f7fdf218bc5c26130d7d8a6af6719a";
|
||||
this.version = "0.91.0";
|
||||
this.commit = "b7ecf0c31b0c75c394061d2f6457a925e4440f1e";
|
||||
}
|
||||
|
||||
async oauth() {
|
||||
|
@ -275,7 +275,7 @@ class Api {
|
|||
}
|
||||
|
||||
async github_release() {
|
||||
return fetch('https://api.github.com/repos/statping/statping/releases/latest').then(response => response.json())
|
||||
return fetch('https://api.github.com/repos/statping-ng/statping-ng/releases/latest').then(response => response.json())
|
||||
}
|
||||
|
||||
async allActions(...all) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<nav class="navbar navbar-expand-lg">
|
||||
<router-link to="/" class="navbar-brand">Statping</router-link>
|
||||
<router-link to="/" class="navbar-brand">Statping-ng</router-link>
|
||||
<button @click="navopen = !navopen" class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<font-awesome-icon v-if="!navopen" icon="bars"/>
|
||||
<font-awesome-icon v-if="navopen" icon="times"/>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
You can insert dynamic fields within the notifier payloads for some notifiers.
|
||||
|
||||
<p class="mt-2">
|
||||
Checkout the <a href="https://github.com/statping/statping/blob/master/types/services/struct.go">Service struct</a> and the <a href="https://github.com/statping/statping/blob/master/types/failures/struct.go">Failures struct</a> and create variables in golang template format.
|
||||
Checkout the <a href="https://github.com/statping-ng/statping-ng/blob/master/types/services/struct.go">Service struct</a> and the <a href="https://github.com/statping-ng/statping-ng/blob/master/types/failures/struct.go">Failures struct</a> and create variables in golang template format.
|
||||
</p>
|
||||
|
||||
<p class="mt-2">
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<router-link class="links" :to="admin ? '/dashboard' : '/login'">{{$t('dashboard')}}</router-link>
|
||||
</div>
|
||||
<span class="font-1 mt-3">
|
||||
<a href="https://github.com/statping/statping" class="statping" target="_blank">
|
||||
<a href="https://github.com/statping-ng/statping-ng" class="statping" target="_blank">
|
||||
Statping v{{core.version}} made with <font-awesome-icon icon="heart" class="hlight font-1"/></a>
|
||||
</span>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div>
|
||||
<div id="header">
|
||||
<h1 id="title" class="col-12 text-center pt-4 mt-4 mb-3 header-title font-6">{{core.name}}</h1>
|
||||
<h5 id="description" class="col-12 text-center mb-5 header-desc font-3">{{core.description}}</h5>
|
||||
</div>
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
</div>
|
||||
<div class="col-4">
|
||||
<span class="font-5 d-block font-weight-bold">{{service.online_24_hours}} %</span>
|
||||
<span class="font-1 subtitle">{{$t('last_uptime', [24, $tc('hour', 24)])}}</span>
|
||||
<span class="font-1 subtitle">{{$t('last_uptime')}} 24 {{$tc('hour', 24)}}</span>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<span class="font-5 d-block font-weight-bold">{{service.online_7_days}} %</span>
|
||||
<span class="font-1 subtitle">{{$t('last_uptime', [7, $tc('day', 7)])}}</span>
|
||||
<span class="font-1 subtitle">{{$t('last_uptime')}} 7 {{$tc('day', 7)}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<form @submit.prevent="saveSettings">
|
||||
<div class="card">
|
||||
<div class="card-header">Statping Settings</div>
|
||||
<div class="card-header">Statping-ng Settings</div>
|
||||
<div class="card-body">
|
||||
<div class="form-group">
|
||||
<label>{{ $t('project_name') }}</label>
|
||||
|
@ -42,6 +42,7 @@
|
|||
<option value="fr">French</option>
|
||||
<option value="ru">Russian</option>
|
||||
<option value="de">German</option>
|
||||
<option value="cs">Czech</option>
|
||||
<option value="ja">Japanese</option>
|
||||
<option value="it">Italian</option>
|
||||
<option value="ko">Korean</option>
|
||||
|
|
|
@ -282,7 +282,7 @@ export default {
|
|||
this.notifier.form.forEach((f) => {
|
||||
let field = f.field.toLowerCase()
|
||||
let val = this.notifier[field]
|
||||
if (this.isNumeric(val)) {
|
||||
if (this.isNumeric(val) && this.form.method!='telegram') {
|
||||
val = parseInt(val)
|
||||
}
|
||||
this.form[field] = val
|
||||
|
@ -304,7 +304,7 @@ export default {
|
|||
this.notifier.form.forEach((f) => {
|
||||
let field = f.field.toLowerCase()
|
||||
let val = this.notifier[field]
|
||||
if (this.isNumeric(val)) {
|
||||
if (this.isNumeric(val) && this.form.method!='telegram') {
|
||||
val = parseInt(val)
|
||||
}
|
||||
this.form[field] = val
|
||||
|
|
|
@ -94,12 +94,13 @@
|
|||
<div class="col-sm-8">
|
||||
<select v-model="service.method" name="method" class="form-control">
|
||||
<option value="GET" >GET</option>
|
||||
<option value="HEAD" >HEAD</option>
|
||||
<option value="POST" >POST</option>
|
||||
<option value="DELETE" >DELETE</option>
|
||||
<option value="PATCH" >PATCH</option>
|
||||
<option value="PUT" >PUT</option>
|
||||
</select>
|
||||
<small class="form-text text-muted">A GET request will simply request the endpoint, you can also send data with POST.</small>
|
||||
<small class="form-text text-muted">A GET/HEAD request will simply request the endpoint, you can also send data with POST.</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -52,8 +52,8 @@ const chinese = {
|
|||
days_ago: "天前",
|
||||
today: "今天",
|
||||
week: "周",
|
||||
month: "月份",
|
||||
day: "日",
|
||||
month: "月份 | 月数",
|
||||
day: "日 | 天数",
|
||||
hour: "小时",
|
||||
minute: "分钟",
|
||||
failures_24_hours: "过去 24 小时失败",
|
||||
|
@ -139,4 +139,4 @@ const chinese = {
|
|||
service_create: "创建服务"
|
||||
}
|
||||
|
||||
export default chinese
|
||||
export default chinese
|
||||
|
|
|
@ -0,0 +1,142 @@
|
|||
const czech = {
|
||||
settings: "Nastavení",
|
||||
dashboard: "Nástěnka",
|
||||
services: "Služby",
|
||||
service: "Služba",
|
||||
failures: "Selhání",
|
||||
users: "Uživatelé",
|
||||
login: "Přihlásit se",
|
||||
logout: "Odhlásit se",
|
||||
online: "Online",
|
||||
offline: "Offline",
|
||||
configs: "Konfigurace",
|
||||
username: "Uživatelské jméno",
|
||||
password: "Heslo",
|
||||
email: "E-mail",
|
||||
confirm_password: "Potvrzení hesla",
|
||||
uptime: "Doba provozu",
|
||||
name: "Název",
|
||||
copy: "Zkopírovat",
|
||||
close: "Zavřít",
|
||||
secret: "Tajný klíč",
|
||||
regen_api: "Znovu vygenerovat API klíče",
|
||||
regen_desc: "Tajný API klíč se používá ke trasám read, create, update a delete. Pokud potřebujete, můžete znovu vygenerovat vaše API klíče.",
|
||||
visibility: "Viditelnost",
|
||||
group: "Skupina",
|
||||
group_create: "Vytvořit skupinu",
|
||||
group_update: "Aktualizovat skupinu",
|
||||
group_public_desc: "Zobrazit skupiny veřejně",
|
||||
groups: "Skupiny",
|
||||
no_group: "Žádná skupina",
|
||||
public: "Veřejné",
|
||||
private: "Soukromé",
|
||||
announcements: "Oznámení",
|
||||
notifiers: "Oznamovače",
|
||||
logs: "Protokol",
|
||||
help: "Podpora",
|
||||
type: "Typ",
|
||||
edit: "Upravit",
|
||||
update: "Aktualizovat",
|
||||
create: "Vytvořit",
|
||||
view: "Zobrazit",
|
||||
save: "Uložit",
|
||||
title: "Název",
|
||||
status: "Stav",
|
||||
begins: "Začíná",
|
||||
total_services: "Celkový počet služeb",
|
||||
online_services: "Online služby",
|
||||
request_timeout: "Časový limit požadavku vypršel",
|
||||
service_never_online: "Služba nikdy nebyla online",
|
||||
service_online_check: "Online zkontrolováno",
|
||||
service_offline_time: "Služba je offline",
|
||||
days_ago: "dny",
|
||||
today: "Dnes",
|
||||
week: "Týden",
|
||||
month: "Měsíc",
|
||||
day: "Den",
|
||||
hour: "Hodina",
|
||||
minute: "Minuta",
|
||||
failures_24_hours: "Selhání v posledních 24 hodinách",
|
||||
no_services: "Momentálně nemáte žádné služby!",
|
||||
theme: "Téma",
|
||||
cache: "Cache",
|
||||
authentication: "Autentifikace",
|
||||
import: "Importovat",
|
||||
main_settings: "Obecná nastavení",
|
||||
variables: "Proměnné",
|
||||
docs: "Dokumentace",
|
||||
links: "Odkazy",
|
||||
changelog: "Seznam změn",
|
||||
repo: "Repozitář",
|
||||
language: "Jazyk",
|
||||
db_connection: "Spojení s databází",
|
||||
db_host: "Host databáze",
|
||||
db_port: "Database Port",
|
||||
db_username: "Uživatelské jméno databáze",
|
||||
db_password: "Heslo databáze",
|
||||
db_database: "Název databáze",
|
||||
send_reports: "Posílat hlášení o chybách",
|
||||
send_reports_desc: "Posílat hlášení o chybách Statpingu pro ladění",
|
||||
project_name: "Název stavové stránky",
|
||||
description: "Popis",
|
||||
domain: "Doména",
|
||||
enable_cdn: "Povolit CDN",
|
||||
newsletter: "Newsletter",
|
||||
newsletter_note: "Budeme vám posílat e-maily pouze s velkými změnami",
|
||||
loading: "Načítání",
|
||||
save_settings: "Uložit nastavení",
|
||||
average_response: "Průměrná odpověď",
|
||||
last_uptime: "Poslední doba provozu",
|
||||
sign_in: "Přihlásit se",
|
||||
last_login: "Poslední přihlášení",
|
||||
admin: "Správce",
|
||||
user: "Uživatel",
|
||||
failed: "Selhání",
|
||||
wrong_login: "Nesprávné uživatelské jméno nebo heslo",
|
||||
theme_editor: "Editor témat",
|
||||
enable_assets: "Povolit lokální assety",
|
||||
assets_desc: "Přizpůsobte si vaši stavovou stránku povolením lokálních assetů. Vytvoříme adresář s názvem 'assets' obsahující všechno CSS.",
|
||||
assets_btn: "Povolit lokální assety",
|
||||
assets_loading: "Vytváření assetů",
|
||||
assets_dir: "Adresář assetů",
|
||||
footer: "Zápatí",
|
||||
footer_notes: "V zápatí můžete používat HTML značky",
|
||||
global_announcement: "Globální oznámení",
|
||||
announcement_date: "Rozsah data oznámení",
|
||||
notify_users: "Oznámit uživatelům",
|
||||
notify_desc: "Oznámit uživatelům před naplánovanou dobou",
|
||||
notify_method: "Metoda oznámení",
|
||||
notify_before: "Oznámit před",
|
||||
message_create: "Vytvořit oznámení",
|
||||
message_edit: "Upravit oznámení",
|
||||
minutes: "Minut",
|
||||
hours: "Hodin",
|
||||
days: "Dnů",
|
||||
user_create: "Vytvořit uživatele",
|
||||
user_update: "Aktualizovat uživatele",
|
||||
administrator: "Správce",
|
||||
checkins: "Kontroly",
|
||||
incidents: "Incidenty",
|
||||
service_info: "Informace o službě",
|
||||
service_name: "Název služby",
|
||||
service_type: "Typ služby",
|
||||
permalink: "Pevná URL",
|
||||
service_public: "Veřejná služba",
|
||||
check_interval: "Interval kontroly",
|
||||
service_endpoint: "Koncový bod služby",
|
||||
service_check: "Typ kontroly služby",
|
||||
service_timeout: "Vypršení času",
|
||||
expected_resp: "Očekávaná odpověď",
|
||||
expected_code: "Očekávaný stavový kód",
|
||||
follow_redir: "Následovaná přesměrování",
|
||||
verify_ssl: "Ověřit SSL",
|
||||
tls_cert: "Použít TLS certifikát",
|
||||
notification_opts: "Možnosti oznámení",
|
||||
notifications_enable: "Povolit oznámení",
|
||||
notify_after: "Oznámit po selháních",
|
||||
notify_all: "Oznamovat vše",
|
||||
service_update: "Aktualizovat službu",
|
||||
service_create: "Vytvořit službu"
|
||||
}
|
||||
|
||||
export default czech
|
|
@ -51,11 +51,11 @@ const english = {
|
|||
service_offline_time: "Service has been offline for",
|
||||
days_ago: "Days Ago",
|
||||
today: "Today",
|
||||
week: "Week",
|
||||
month: "Month",
|
||||
day: "Day",
|
||||
hour: "Hour",
|
||||
minute: "Minute",
|
||||
week: "Week | Weeks",
|
||||
month: "Month | Months",
|
||||
day: "Day | Days",
|
||||
hour: "Hour | Hours",
|
||||
minute: "Minute | Minutes",
|
||||
failures_24_hours: "Failures last 24 hours",
|
||||
no_services: "You currently don't have any services!",
|
||||
theme: "Theme",
|
||||
|
@ -139,4 +139,4 @@ const english = {
|
|||
service_create: "Create Service"
|
||||
}
|
||||
|
||||
export default english
|
||||
export default english
|
||||
|
|
|
@ -51,11 +51,11 @@ const french = {
|
|||
service_offline_time: "Le service a été hors ligne pour",
|
||||
days_ago: "Il y a jours",
|
||||
today: "Aujourd'hui",
|
||||
week: "Semaine",
|
||||
week: "Semaine | Semaines",
|
||||
month: "Mois",
|
||||
day: "Jour",
|
||||
hour: "Heure",
|
||||
minute: "Minute",
|
||||
day: "Jour | Jours",
|
||||
hour: "Heure | Heures",
|
||||
minute: "Minute | Minutes",
|
||||
failures_24_hours: "Les échecs durent 24 heures",
|
||||
no_services: "Vous n'avez actuellement aucun service !",
|
||||
theme: "Thème",
|
||||
|
@ -109,7 +109,7 @@ const french = {
|
|||
notify_before: "Avertir avant",
|
||||
message_create: "Créer une annonce",
|
||||
message_edit: "Modifier l'annonce",
|
||||
minutes: "Procès-Verbal",
|
||||
minutes: "Minutes",
|
||||
hours: "Heures",
|
||||
days: "Jours",
|
||||
user_create: "Créer un utilisateur",
|
||||
|
@ -139,4 +139,4 @@ const french = {
|
|||
service_create: "Créer un service"
|
||||
}
|
||||
|
||||
export default french
|
||||
export default french
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
const german = {
|
||||
settings: "Einstellungen",
|
||||
dashboard: "Armaturenbrett",
|
||||
services: "Dienstleistungen",
|
||||
service: "Service",
|
||||
dashboard: "Dashboard",
|
||||
services: "Dienste",
|
||||
service: "Dienst",
|
||||
failures: "Ausfälle",
|
||||
users: "Benutzer",
|
||||
login: "Login",
|
||||
|
@ -20,43 +20,43 @@ const german = {
|
|||
close: "Schließen",
|
||||
secret: "Geheimnis",
|
||||
regen_api: "API-Schlüssel neu generieren",
|
||||
regen_desc: "API Secret wird für Lesen erstellen Update und Löschen Routen verwendet. Sie können API-Schlüssel bei Bedarf neu generieren.",
|
||||
regen_desc: "Der API-Schlüssel wird für das Lesen, Erstellen, Updaten und Löschen von Routen verwendet. Sie können API-Schlüssel bei Bedarf neu generieren.",
|
||||
visibility: "Sichtbarkeit",
|
||||
group: "Gruppe",
|
||||
group_create: "Gruppe erstellen",
|
||||
group_update: "Gruppe aktualisieren",
|
||||
group_public_desc: "Gruppendienste für die Öffentlichkeit anzeigen",
|
||||
group_public_desc: "Gruppendienste öffentlich anzeigen",
|
||||
groups: "Gruppen",
|
||||
no_group: "Keine Gruppe",
|
||||
public: "Öffentlichkeit",
|
||||
public: "Öffentlich",
|
||||
private: "Privat",
|
||||
announcements: "Ankündigungen",
|
||||
notifiers: "Notifizierer",
|
||||
notifiers: "Benachrichtigungen",
|
||||
logs: "Protokolle",
|
||||
help: "Helfen",
|
||||
help: "Hilfe",
|
||||
type: "Typ",
|
||||
edit: "Bearbeiten",
|
||||
update: "Update",
|
||||
create: "Schaffen",
|
||||
view: "Ansicht",
|
||||
save: "sparen",
|
||||
create: "Erstellen",
|
||||
view: "Anzeigen",
|
||||
save: "Speichern",
|
||||
title: "Titel",
|
||||
status: "Status",
|
||||
begins: "Beginnt",
|
||||
total_services: "Dienstleistungen insgesamt",
|
||||
total_services: "Dienste insgesamt",
|
||||
online_services: "Online-Dienste",
|
||||
request_timeout: "Zeitüberschreitung anfordern",
|
||||
service_never_online: "Service war noch nie online",
|
||||
request_timeout: "Zeitüberschreitung bei Anforderung",
|
||||
service_never_online: "Dienst war noch nie online",
|
||||
service_online_check: "Online geprüft",
|
||||
service_offline_time: "Dienst war offline für",
|
||||
days_ago: "Vor Tagen",
|
||||
days_ago: "Tage vergangen",
|
||||
today: "Heute",
|
||||
week: "Woche",
|
||||
month: "Monat",
|
||||
day: "Tag",
|
||||
hour: "Stunde",
|
||||
minute: "Minute",
|
||||
failures_24_hours: "Ausfälle dauern 24 Stunden",
|
||||
week: "Woche | Wochen",
|
||||
month: "Monat | Monate",
|
||||
day: "Tag | Tage",
|
||||
hour: "Stunde | Stunden",
|
||||
minute: "Minute | Minuten",
|
||||
failures_24_hours: "Ausfälle letzte 24 Stunden",
|
||||
no_services: "Sie haben derzeit keine Dienste!",
|
||||
theme: "Thema",
|
||||
cache: "Cache",
|
||||
|
@ -66,8 +66,8 @@ const german = {
|
|||
variables: "Variablen",
|
||||
docs: "Dokumentation",
|
||||
links: "Links",
|
||||
changelog: "Protokoll ändern",
|
||||
repo: "Depot",
|
||||
changelog: "Änderungsprotokoll",
|
||||
repo: "Repo",
|
||||
language: "Sprache",
|
||||
db_connection: "Datenbankverbindung",
|
||||
db_host: "Datenbank-Host",
|
||||
|
@ -77,7 +77,7 @@ const german = {
|
|||
db_database: "Name der Datenbank",
|
||||
send_reports: "Fehlerberichte senden",
|
||||
send_reports_desc: "Fehler zum Debuggen an Statping senden",
|
||||
project_name: "Name der Seite „Status“",
|
||||
project_name: "Name der Statusseite",
|
||||
description: "Beschreibung",
|
||||
domain: "Domäne",
|
||||
enable_cdn: "CDN aktivieren",
|
||||
|
@ -95,7 +95,7 @@ const german = {
|
|||
wrong_login: "Falscher Benutzername oder Passwort",
|
||||
theme_editor: "Theme-Editor",
|
||||
enable_assets: "Lokale Assets aktivieren",
|
||||
assets_desc: "Passen Sie das Design Ihrer Statusseite an, indem Sie lokale Elemente aktivieren. Dadurch wird ein Verzeichnis „Assets“ erstellt, das alle CSS enthält.",
|
||||
assets_desc: "Passen Sie das Design Ihrer Statusseite an, indem Sie lokale Assets aktivieren. Dadurch wird ein Verzeichnis „Assets“ erstellt, das das gesamte CSS enthält.",
|
||||
assets_btn: "Lokale Assets aktivieren",
|
||||
assets_loading: "Erstellen von Assets",
|
||||
assets_dir: "Assets Verzeichnis",
|
||||
|
@ -106,7 +106,7 @@ const german = {
|
|||
notify_users: "Benutzer benachrichtigen",
|
||||
notify_desc: "Benutzer vor geplanter Zeit benachrichtigen",
|
||||
notify_method: "Benachrichtigungsmethode",
|
||||
notify_before: "Vor benachrichtigen",
|
||||
notify_before: "Benachrichtigen vor",
|
||||
message_create: "Ankündigung erstellen",
|
||||
message_edit: "Ankündigung bearbeiten",
|
||||
minutes: "Protokoll",
|
||||
|
@ -117,15 +117,15 @@ const german = {
|
|||
administrator: "Administrator",
|
||||
checkins: "Checkins",
|
||||
incidents: "Vorfälle",
|
||||
service_info: "Service-Info",
|
||||
service_info: "Dienstinfo",
|
||||
service_name: "Dienstname",
|
||||
service_type: "Service-Art",
|
||||
service_type: "Dienstart",
|
||||
permalink: "Permalink-URL",
|
||||
service_public: "Öffentlicher Dienst",
|
||||
check_interval: "Intervall prüfen",
|
||||
service_endpoint: "Service-Endpunkt",
|
||||
service_check: "Service-Prüfungstyp",
|
||||
service_timeout: "Zeitüberschreitung anfordern",
|
||||
service_endpoint: "Dienst-Endpunkt",
|
||||
service_check: "Dienst-Prüfungstyp",
|
||||
service_timeout: "Dienst Zeitüberschreitung",
|
||||
expected_resp: "Erwartete Antwort",
|
||||
expected_code: "Erwarteter Statuscode",
|
||||
follow_redir: "Weiterleitungen folgen",
|
||||
|
@ -134,9 +134,9 @@ const german = {
|
|||
notification_opts: "Benachrichtigungsoptionen",
|
||||
notifications_enable: "Benachrichtigungen aktivieren",
|
||||
notify_after: "Benachrichtigung nach Fehlern",
|
||||
notify_all: "Alle Änderungen benachrichtigen",
|
||||
notify_all: "Benachrichtigung nach allen Änderungen",
|
||||
service_update: "Dienst aktualisieren",
|
||||
service_create: "Dienst erstellen"
|
||||
}
|
||||
|
||||
export default german
|
||||
export default german
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import english from "./english"
|
||||
import spanish from "./spanish"
|
||||
import german from "./german"
|
||||
import czech from "./czech"
|
||||
import russian from "./russian";
|
||||
import french from "./french";
|
||||
import japanese from "./japanese";
|
||||
|
@ -12,6 +13,7 @@ const language = {
|
|||
en: english,
|
||||
es: spanish,
|
||||
de: german,
|
||||
cs: czech,
|
||||
ru: russian,
|
||||
fr: french,
|
||||
ja: japanese,
|
||||
|
|
|
@ -51,10 +51,10 @@ const italian = {
|
|||
service_offline_time: "Il servizio è stato offline per",
|
||||
days_ago: "Giorni fa",
|
||||
today: "Oggi",
|
||||
week: "Settimana",
|
||||
month: "Mese",
|
||||
day: "Giorno",
|
||||
hour: "Ora",
|
||||
week: "Settimana | Settimane",
|
||||
month: "Mese | Mesi",
|
||||
day: "Giorno | Giorni",
|
||||
hour: "Ora | Ore",
|
||||
minute: "Minuti",
|
||||
failures_24_hours: "Errori nelle ultime 24 ore",
|
||||
no_services: "Al momento non hai alcun servizio!",
|
||||
|
@ -139,4 +139,4 @@ const italian = {
|
|||
service_create: "Crea servizio"
|
||||
}
|
||||
|
||||
export default italian
|
||||
export default italian
|
||||
|
|
|
@ -51,11 +51,11 @@ const japanese = {
|
|||
service_offline_time: "のサービスがオフラインになりました",
|
||||
days_ago: "日前",
|
||||
today: "今日",
|
||||
week: "週数",
|
||||
month: "月",
|
||||
day: "日",
|
||||
hour: "アワー",
|
||||
minute: "分",
|
||||
week: "週数 | 週",
|
||||
month: "月 | ヶ月",
|
||||
day: "日 | 日数",
|
||||
hour: "アワー | 時間",
|
||||
minute: "分 | 議事録",
|
||||
failures_24_hours: "過去 24 時間の障害",
|
||||
no_services: "現在、サービスをお持ちになりません。",
|
||||
theme: "テーマ",
|
||||
|
@ -139,4 +139,4 @@ const japanese = {
|
|||
service_create: "サービスの作成"
|
||||
}
|
||||
|
||||
export default japanese
|
||||
export default japanese
|
||||
|
|
|
@ -55,7 +55,7 @@ const korean = {
|
|||
month: "월",
|
||||
day: "일",
|
||||
hour: "시간",
|
||||
minute: "분",
|
||||
minute: "분 | 의사록",
|
||||
failures_24_hours: "지난 24시간 동안 장애 발생",
|
||||
no_services: "현재 서비스가 없습니다!",
|
||||
theme: "테마",
|
||||
|
@ -139,4 +139,4 @@ const korean = {
|
|||
service_create: "서비스 만들기"
|
||||
}
|
||||
|
||||
export default korean
|
||||
export default korean
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
const russian = {
|
||||
settings: "Настройки",
|
||||
dashboard: "Панель управления",
|
||||
services: "служб",
|
||||
service: "обслуживания",
|
||||
dashboard: "Панель",
|
||||
services: "Сервисы",
|
||||
service: "Сервис",
|
||||
failures: "Сбои",
|
||||
users: "Пользователи",
|
||||
login: "Войти",
|
||||
logout: "Выход из системы",
|
||||
logout: "Выход",
|
||||
online: "Онлайн",
|
||||
offline: "Оффлайн",
|
||||
configs: "Конфигурация",
|
||||
|
@ -22,42 +22,42 @@ const russian = {
|
|||
regen_api: "Регенерация ключей API",
|
||||
regen_desc: "API Secret используется для чтения создания обновлений и удаления маршрутов. Вы можете регенерировать ключи API, если вам нужно.",
|
||||
visibility: "Видимость",
|
||||
group: "Группы",
|
||||
group: "Группа",
|
||||
group_create: "Создать группу",
|
||||
group_update: "Обновить группу",
|
||||
group_public_desc: "Показать групповые услуги публике",
|
||||
group_public_desc: "Показавать группу публично всем",
|
||||
groups: "Группы",
|
||||
no_group: "Нет группы",
|
||||
public: "Общественный",
|
||||
private: "Частные",
|
||||
public: "Публичный",
|
||||
private: "Приватный",
|
||||
announcements: "Объявления",
|
||||
notifiers: "Уведомлятели",
|
||||
notifiers: "Способы уведомлений",
|
||||
logs: "Журналы",
|
||||
help: "Помогите",
|
||||
help: "Помощь",
|
||||
type: "Тип",
|
||||
edit: "Редактировать",
|
||||
update: "Обновить",
|
||||
create: "Создайте",
|
||||
create: "Создать",
|
||||
view: "Посмотреть",
|
||||
save: "Сохранить",
|
||||
title: "Название",
|
||||
status: "положению",
|
||||
begins: "Начинается",
|
||||
total_services: "Всего услуг",
|
||||
status: "Статус",
|
||||
begins: "Начало",
|
||||
total_services: "Всего сервисов",
|
||||
online_services: "Онлайн-сервисы",
|
||||
request_timeout: "Тайм-аут запроса",
|
||||
service_never_online: "Сервис никогда не был в сети",
|
||||
service_online_check: "Проверено онлайн",
|
||||
service_offline_time: "Служба была отключена для",
|
||||
service_offline_time: "Сервис был отключен для",
|
||||
days_ago: "Дней назад",
|
||||
today: "Сегодня",
|
||||
week: "Недели",
|
||||
month: "Месяц",
|
||||
day: "День",
|
||||
hour: "Час",
|
||||
minute: "Минута",
|
||||
month: "Месяц | Месяцы",
|
||||
day: "День | Дней",
|
||||
hour: "Час | Часов",
|
||||
minute: "Минута | Минуты",
|
||||
failures_24_hours: "Сбои за 24 часа",
|
||||
no_services: "В настоящее время у вас нет услуг!",
|
||||
no_services: "В настоящее время у вас нет сервисов!",
|
||||
theme: "Тема",
|
||||
cache: "Кэш",
|
||||
authentication: "Проверка подлинности",
|
||||
|
@ -76,20 +76,20 @@ const russian = {
|
|||
db_password: "Пароль базы данных",
|
||||
db_database: "Имя базы данных",
|
||||
send_reports: "Отправка отчетов об ошибках",
|
||||
send_reports_desc: "Отправить ошибки в Statping для отладки",
|
||||
send_reports_desc: "Отправлять ошибки в Statping для отладки",
|
||||
project_name: "Имя страницы состояния",
|
||||
description: "Описание",
|
||||
domain: "Домен",
|
||||
enable_cdn: "Включить CDN",
|
||||
newsletter: "Информационный бюллетень",
|
||||
newsletter_note: "Мы отправим вам только сообщение по электронной почте для серьезных изменений",
|
||||
newsletter: "Рассылка новостей",
|
||||
newsletter_note: "Мы отправим вам электронное письмо только в случае серьезных изменений",
|
||||
loading: "Загрузка",
|
||||
save_settings: "Сохранить настройки",
|
||||
average_response: "Средний ответ",
|
||||
last_uptime: "Время безотказной работы",
|
||||
sign_in: "Войти",
|
||||
last_login: "Последний вход",
|
||||
admin: "Администратор",
|
||||
admin: "Админ",
|
||||
user: "Пользователя",
|
||||
failed: "Не удалось",
|
||||
wrong_login: "Неверное имя пользователя или пароль",
|
||||
|
@ -99,7 +99,7 @@ const russian = {
|
|||
assets_btn: "Включить локальные ресурсы",
|
||||
assets_loading: "Создание компонентов",
|
||||
assets_dir: "Каталог активов",
|
||||
footer: "Подколонтитул",
|
||||
footer: "Нижний колонтитул (footer)",
|
||||
footer_notes: "Вы можете использовать HTML-теги в нижнем колонтитуле",
|
||||
global_announcement: "Глобальное объявление",
|
||||
announcement_date: "Диапазон дат объявления",
|
||||
|
@ -114,29 +114,29 @@ const russian = {
|
|||
days: "Дни",
|
||||
user_create: "Создать пользователя",
|
||||
user_update: "Обновить пользователя",
|
||||
administrator: "Администратора",
|
||||
checkins: "Чеккинс",
|
||||
administrator: "Администратор",
|
||||
checkins: "Проверки",
|
||||
incidents: "Инциденты",
|
||||
service_info: "Информация о сервисе",
|
||||
service_name: "Имя службы",
|
||||
service_type: "Тип услуги",
|
||||
service_name: "Имя сервиса",
|
||||
service_type: "Тип сервиса",
|
||||
permalink: "URL-адрес Постоянной ссылки",
|
||||
service_public: "Государственная служба",
|
||||
service_public: "Видимость публично",
|
||||
check_interval: "Интервал проверки",
|
||||
service_endpoint: "Конечная точка службы",
|
||||
service_check: "Тип проверки службы",
|
||||
service_endpoint: "Адрес проверяемого хоста",
|
||||
service_check: "Тип проверки",
|
||||
service_timeout: "Тайм-аут запроса",
|
||||
expected_resp: "Ожидаемый ответ",
|
||||
expected_code: "Код ожидаемого состояния",
|
||||
follow_redir: "Следуйте за перенаправленными",
|
||||
verify_ssl: "Проверить SSL",
|
||||
follow_redir: "Вкл. следование по редиректам",
|
||||
verify_ssl: "Проверять SSL",
|
||||
tls_cert: "Использовать сертификат TLS",
|
||||
notification_opts: "Параметры уведомления",
|
||||
notifications_enable: "Включить уведомления",
|
||||
notify_after: "Уведомлять после сбоев",
|
||||
notify_all: "Уведомлять обо всех изменениях",
|
||||
service_update: "Обновить службу",
|
||||
service_create: "Создать службу"
|
||||
service_update: "Обновить сервис",
|
||||
service_create: "Создать сервис"
|
||||
}
|
||||
|
||||
export default russian
|
||||
export default russian
|
||||
|
|
|
@ -51,11 +51,11 @@ const spanish = {
|
|||
service_offline_time: "El servicio ha estado desconectado para",
|
||||
days_ago: "Hace días",
|
||||
today: "Hoy",
|
||||
week: "Semana",
|
||||
month: "Mes",
|
||||
day: "Día",
|
||||
hour: "Hora",
|
||||
minute: "Minuto",
|
||||
week: "Semana | Semanas",
|
||||
month: "Mes | Meses",
|
||||
day: "Día | Días",
|
||||
hour: "Hora | Horas",
|
||||
minute: "Minuto | Minutos",
|
||||
failures_24_hours: "Fallos de las últimas 24 horas",
|
||||
no_services: "¡Actualmente no tienes ningún servicio!",
|
||||
theme: "Tema",
|
||||
|
@ -139,4 +139,4 @@ const spanish = {
|
|||
service_create: "Crear servicio"
|
||||
}
|
||||
|
||||
export default spanish
|
||||
export default spanish
|
||||
|
|
|
@ -7,8 +7,6 @@
|
|||
|
||||
<a @click.prevent='tab="Features"' class="d-block mb-1 text-link" href="#">Features</a>
|
||||
|
||||
<a @click.prevent='tab="Paid Hosting"' class="d-block mb-1 text-link" href="#">Paid Hosting</a>
|
||||
|
||||
<a @click.prevent='tab="Types of Monitoring"' class="d-block mb-1 text-link" href="#">Types of Monitoring</a>
|
||||
|
||||
<a @click.prevent='tab="Notifiers"' class="d-block mb-1 text-link" href="#">Notifiers</a>
|
||||
|
@ -75,26 +73,22 @@
|
|||
|
||||
<div class="col-12" v-if='tab === "Home"'>
|
||||
<div v-pre>
|
||||
<p align="center">
|
||||
<img width="60%" src="https://s3-us-west-2.amazonaws.com/gitimgs/statping.png">
|
||||
<img width="70%" src="https://img.cjx.io/statuptokenbalance.gif">
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/statping/statping">
|
||||
<a href="https://github.com/statping/statping/labels/priority"><img src="https://img.shields.io/github/issues/statping/statping/priority?color=blue&label=priority"></a> <a href="https://github.com/statping/statping/labels/bug"><img src="https://img.shields.io/github/issues/statping/statping/bug?color=red&label=bugs"></a> <a href="https://github.com/statping/statping/labels/feature"><img src="https://img.shields.io/github/issues/statping/statping/feature?color=pink&label=features"></a>
|
||||
<img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/statping-ng/statping-ng">
|
||||
<a href="https://github.com/statping-ng/statping-ng/labels/priority"><img src="https://img.shields.io/github/issues/statping-ng/statping-ng/priority?color=blue&label=priority"></a> <a href="https://github.com/statping-ng/statping-ng/labels/bug"><img src="https://img.shields.io/github/issues/statping-ng/statping-ng/bug?color=red&label=bugs"></a> <a href="https://github.com/statping-ng/statping-ng/labels/feature"><img src="https://img.shields.io/github/issues/statping-ng/statping-ng/feature?color=pink&label=features"></a>
|
||||
</p>
|
||||
|
||||
<h1>Docker</h1>
|
||||
|
||||
<p>View the <a href="https://github.com/statping/statping/wiki/Docker" target="_blank">Docker Wiki</a> for more information and advanced usage.</p>
|
||||
<p>View the <a href="https://github.com/statping-ng/statping-ng/wiki/Docker" target="_blank">Docker Wiki</a> for more information and advanced usage.</p>
|
||||
|
||||
<pre><code class="language-sh">docker run -it -p 8080:8080 statping/statping
|
||||
</code></pre>
|
||||
|
||||
<h1>MacOSX</h1>
|
||||
|
||||
<p>View the <a href="https://github.com/statping/statping/wiki/Mac" target="_blank">Mac Wiki</a> for more information and other methods.</p>
|
||||
<p>View the <a href="https://github.com/statping-ng/statping-ng/wiki/Mac" target="_blank">Mac Wiki</a> for more information and other methods.</p>
|
||||
|
||||
<pre><code class="language-sh">brew tap statping/statping
|
||||
brew install statping
|
||||
|
@ -102,19 +96,19 @@ brew install statping
|
|||
|
||||
<h1>Linux</h1>
|
||||
|
||||
<p>View the <a href="https://github.com/statping/statping/wiki/Linux" target="_blank">Linux Wiki</a> for more information and other methods.</p>
|
||||
<p>View the <a href="https://github.com/statping-ng/statping-ng/wiki/Linux" target="_blank">Linux Wiki</a> for more information and other methods.</p>
|
||||
|
||||
<pre><code class="language-sh">curl -o- -L https://statping.com/install.sh | bash
|
||||
</code></pre>
|
||||
|
||||
<p><a href="https://snapcraft.io/statping" target="_blank"><img src="https://snapcraft.io/static/images/badges/en/snap-store-white.svg" alt="Get it from the Snap Store" /></a></p>
|
||||
<p><a href="https://snapcraft.io/statping-ng" target="_blank"><img src="https://snapcraft.io/static/images/badges/en/snap-store-white.svg" alt="Get it from the Snap Store" /></a></p>
|
||||
|
||||
<pre><code class="language-sh">snap install statping
|
||||
<pre><code class="language-sh">snap install statping-ng
|
||||
</code></pre>
|
||||
|
||||
<h1>Windows</h1>
|
||||
|
||||
<p>Download the <a href="https://github.com/statping/statping/releases/latest" target="_blank">latest version</a> as an <code>.exe</code> from <a href="https://github.com/statping/statping/releases/latest" target="_blank">Releases</a>. View the <a href="https://github.com/statping/statping/wiki/Windows" target="_blank">Windows Wiki</a> for more information and other methods.</p>
|
||||
<p>Download the <a href="https://github.com/statping-ng/statping-ng/releases/latest" target="_blank">latest version</a> as an <code>.exe</code> from <a href="https://github.com/statping-ng/statping-ng/releases/latest" target="_blank">Releases</a>. View the <a href="https://github.com/statping-ng/statping-ng/wiki/Windows" target="_blank">Windows Wiki</a> for more information and other methods.</p>
|
||||
|
||||
<h1>EC2</h1>
|
||||
|
||||
|
@ -139,7 +133,7 @@ brew install statping
|
|||
|
||||
<h1>Plugins</h1>
|
||||
|
||||
<p>Statping is an awesome Status Page generator that allows you to create your own plugins with Golang Plugins! You don’t need to request a PR or even tell us about your plugin. Plugin’s are compiled and then send as a binary to the Statping <code>/plugins</code> folder. Test your plugins using the <code>statup test plugin</code> command, checkout the <a href="https://github.com/statping/statping/wiki/Statping-Plugins" target="_blank">Plugin Wiki</a> to see detailed information about creating plugins.</p>
|
||||
<p>Statping is an awesome Status Page generator that allows you to create your own plugins with Golang Plugins! You don’t need to request a PR or even tell us about your plugin. Plugin’s are compiled and then send as a binary to the Statping <code>/plugins</code> folder. Test your plugins using the <code>statup test plugin</code> command, checkout the <a href="https://github.com/statping-ng/statping-ng/wiki/Statping-Plugins" target="_blank">Plugin Wiki</a> to see detailed information about creating plugins.</p>
|
||||
|
||||
<h1>No Maintenance</h1>
|
||||
|
||||
|
@ -151,7 +145,7 @@ brew install statping
|
|||
|
||||
<h1>Prometheus Exporter</h1>
|
||||
|
||||
<p>If you want a deeper view of your applications status, you can use Grafana and Prometheus to graph all types of data about your services. Read more about the <a href="https://github.com/statping/statping/wiki/Prometheus-Exporter" target="_blank">Prometheus Exporter</a></p>
|
||||
<p>If you want a deeper view of your applications status, you can use Grafana and Prometheus to graph all types of data about your services. Read more about the <a href="https://github.com/statping-ng/statping-ng/wiki/Prometheus-Exporter" target="_blank">Prometheus Exporter</a></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -211,7 +205,7 @@ brew install statping
|
|||
<p>Statping includes multiple Notifiers to alert you when your services are offline. You can also create your own notifier and send a Push Request to this repo! Creating a custom notifier is pretty easy as long as you follow the requirements. A notifier will automatically be installed into the users Statping database, and form values will save without any hassles. 💃</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/statping/statping/wiki/Notifier-Example">Example Code</a> | <a href="https://github.com/statping/statping/wiki/Notifier-Events">Events</a> | <a href="https://github.com/statping/statping/tree/master/notifiers">View Notifiers</a></p>
|
||||
<a href="https://github.com/statping-ng/statping-ng/wiki/Notifier-Example">Example Code</a> | <a href="https://github.com/statping-ng/statping-ng/wiki/Notifier-Events">Events</a> | <a href="https://github.com/statping-ng/statping-ng/tree/master/notifiers">View Notifiers</a></p>
|
||||
|
||||
<h2>Notifier Requirements</h2>
|
||||
|
||||
|
@ -224,7 +218,7 @@ brew install statping
|
|||
|
||||
<h2>Notifier Interface (required)</h2>
|
||||
|
||||
<p>Statping has the <code>Notifier</code> interface which you’ll need to include in your notifier. Statping includes many other events/triggers for your notifier, checkout <a href="https://github.com/statping/statping/wiki/Notifier-Events">Notifier Events</a> to see all of them.</p>
|
||||
<p>Statping has the <code>Notifier</code> interface which you’ll need to include in your notifier. Statping includes many other events/triggers for your notifier, checkout <a href="https://github.com/statping-ng/statping-ng/wiki/Notifier-Events">Notifier Events</a> to see all of them.</p>
|
||||
|
||||
<pre><code class="language-go">// Notifier interface is required to create a new Notifier
|
||||
type Notifier interface {
|
||||
|
@ -305,7 +299,7 @@ type NotificationForm struct {
|
|||
|
||||
<h1>Adding Notifiers</h1>
|
||||
|
||||
<p>To add a notifier to the Statping application, simply append your Notifier in the <code>AttachNotifiers()</code> function inside of <a href="https://github.com/statping/statping/blob/master/core/core.go" target="_blank">core/core.go</a>.</p>
|
||||
<p>To add a notifier to the Statping application, simply append your Notifier in the <code>AttachNotifiers()</code> function inside of <a href="https://github.com/statping-ng/statping-ng/blob/master/core/core.go" target="_blank">core/core.go</a>.</p>
|
||||
|
||||
<pre><code class="language-go">// AttachNotifiers will attach all the notifier's into the system
|
||||
func AttachNotifiers() error {
|
||||
|
@ -323,7 +317,7 @@ func AttachNotifiers() error {
|
|||
}
|
||||
</code></pre>
|
||||
|
||||
<h6><a href="https://github.com/statping/statping/blob/master/core/core.go#L183" target="_blank">AttachNotifiers</a></h6>
|
||||
<h6><a href="https://github.com/statping-ng/statping-ng/blob/master/core/core.go#L183" target="_blank">AttachNotifiers</a></h6>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -339,7 +333,7 @@ func AttachNotifiers() error {
|
|||
<p>Updating Statping is very simple, you can choose one of the options below:
|
||||
- Run command: <code>statping update</code> (you may need to run sudo depending on your server)
|
||||
- or Run command: <code>curl -o- -L https://statping.com/install.sh | bash</code>
|
||||
- or download tar.gz file from <a href="https://github.com/statping/statping/releases/latest" target="_blank">Latest Releases</a> and extract for <code>statping</code>.</p>
|
||||
- or download tar.gz file from <a href="https://github.com/statping-ng/statping-ng/releases/latest" target="_blank">Latest Releases</a> and extract for <code>statping</code>.</p>
|
||||
|
||||
<h2>Blank/White Page</h2>
|
||||
|
||||
|
@ -370,7 +364,7 @@ func AttachNotifiers() error {
|
|||
<h1 class="h1 mt-5 mb-5 text-muted">Bulk Import Services</h1>
|
||||
<span class="spacer"></span>
|
||||
<div v-pre>
|
||||
<p>You can import multiple services when Statping first loads by creating a file named <a href="https://github.com/statping/statping/wiki/services.yml" target="_blank">services.yml</a> in the working directory for Statping. It will insert the new service into the database, and will not be re-added on reboot. All services must be an array under the <code>services:</code> field.</p>
|
||||
<p>You can import multiple services when Statping first loads by creating a file named <a href="https://github.com/statping-ng/statping-ng/wiki/services.yml" target="_blank">services.yml</a> in the working directory for Statping. It will insert the new service into the database, and will not be re-added on reboot. All services must be an array under the <code>services:</code> field.</p>
|
||||
|
||||
<h2>Dynamic Yaml</h2>
|
||||
|
||||
|
@ -428,7 +422,7 @@ services:
|
|||
<h1 class="h1 mt-5 mb-5 text-muted">Environment Variables</h1>
|
||||
<span class="spacer"></span>
|
||||
<div v-pre>
|
||||
<p>This page will list all environment variables that could be passed into Statping. You can see all default values in <a href="https://github.com/statping/statping/blob/dev/utils/env.go" target="_blank">utils/env.go</a> file under the <code>InitEnvs()</code> function.</p>
|
||||
<p>This page will list all environment variables that could be passed into Statping. You can see all default values in <a href="https://github.com/statping-ng/statping-ng/blob/dev/utils/env.go" target="_blank">utils/env.go</a> file under the <code>InitEnvs()</code> function.</p>
|
||||
|
||||
<h3>Statping Server</h3>
|
||||
|
||||
|
@ -447,7 +441,7 @@ services:
|
|||
|
||||
<h3>Automatic SSL Certificate</h3>
|
||||
|
||||
<p>With LetsEncrypt enabled, Statping will run through the SSL process and create the SSL certs in the <code>certs</code> folder. Read more about the SSL Process on the <a href="https://github.com/statping/statping/wiki/SSL" target="_blank">SSL Wiki</a>.
|
||||
<p>With LetsEncrypt enabled, Statping will run through the SSL process and create the SSL certs in the <code>certs</code> folder. Read more about the SSL Process on the <a href="https://github.com/statping-ng/statping-ng/wiki/SSL" target="_blank">SSL Wiki</a>.
|
||||
- <code>LETSENCRYPT_ENABLE</code> - Set to <strong>true</strong> to have LetsEncrypt enabled. (defaults to false)
|
||||
- <code>LETSENCRYPT_HOST</code> - Domain to generate SSL certificate
|
||||
- <code>LETSENCRYPT_EMAIL</code> - Email address that gets sent with the LetsEncrypt Request
|
||||
|
@ -476,7 +470,7 @@ services:
|
|||
<ul>
|
||||
<li><p><code>BASE_PATH</code> - Set the base URL prefix (set to ‘monitor’ if URL is domain.com/monitor)</p></li>
|
||||
|
||||
<li><p><code>PREFIX</code> - A Prefix for each value in <a href="https://github.com/statping/statping/wiki/Prometheus-Exporter" target="_blank">Prometheus /metric exporter</a></p></li>
|
||||
<li><p><code>PREFIX</code> - A Prefix for each value in <a href="https://github.com/statping-ng/statping-ng/wiki/Prometheus-Exporter" target="_blank">Prometheus /metric exporter</a></p></li>
|
||||
|
||||
<li><p><code>HTTP_PROXY</code> - Use a <a href="https://golang.org/pkg/net/http/#ProxyFromEnvironment" target="_blank">HTTP Proxy</a> for HTTP Requests</p></li>
|
||||
|
||||
|
@ -666,7 +660,7 @@ auto-include many customized parameters to get everything working correctly.</p>
|
|||
<h1>Dependencies</h1>
|
||||
|
||||
<p>Statping has a couple of required dependencies when testing and compiling the
|
||||
binary. The <a href="https://github.com/statping/statping/blob/master/Makefile" target="_blank">Makefile</a>
|
||||
binary. The <a href="https://github.com/statping-ng/statping-ng/blob/master/Makefile" target="_blank">Makefile</a>
|
||||
will make these tasks a lot easier. Take a look at the Makefile to see what
|
||||
commands are running. Run the command below to get setup right away.</p>
|
||||
|
||||
|
@ -748,7 +742,7 @@ changes, and submit a Pull Request with the features/bugs you added or removed.<
|
|||
changed by using<a href="https://gitlab.com/l0nax/changelog-go" target="_blank">changelog-go</a>.</p>
|
||||
|
||||
<p>If your PR is related to an Issue (ie. on a bug fix or when adding a new notifier)
|
||||
don’t forget adding the related GitHub Issue ID like this: <code>[#270](https://github.com/statping/statping/issues/270)</code>
|
||||
don’t forget adding the related GitHub Issue ID like this: <code>[#270](https://github.com/statping-ng/statping-ng/issues/270)</code>
|
||||
Check out the example below.
|
||||
Adding <em>one</em> changelog entry should be done in a separate Commit - not only
|
||||
because this is a good Committing practice, also because it’s separated by your
|
||||
|
@ -759,7 +753,7 @@ where all changes of a new Version are documented.</p>
|
|||
|
||||
<h6>Example for fixing a bug in the UI</h6>
|
||||
|
||||
<pre><code class="language-bash">~] changelog new "Fix zooming out on graph doesn't load additional data ([#270](https://github.com/statping/statping/issues/270))"
|
||||
<pre><code class="language-bash">~] changelog new "Fix zooming out on graph doesn't load additional data ([#270](https://github.com/statping-ng/statping-ng/issues/270))"
|
||||
[0] New Feature (Added)
|
||||
[1] Bug Fix (Fixed)
|
||||
[2] Feature change (Changed)
|
||||
|
@ -833,7 +827,7 @@ where all changes of a new Version are documented.</p>
|
|||
|
||||
<h1>Attach a SSL Certificate</h1>
|
||||
|
||||
<p>When you mount <code>server.crt</code> and <code>server.key</code> to the <code>/app</code> directory, Statping will run a HTTPS server on port 443. Checkout the <a href="https://github.com/statping/statping/wiki/SSL" target="_blank">SSL Wiki</a> documentation to see more information about this.</p>
|
||||
<p>When you mount <code>server.crt</code> and <code>server.key</code> to the <code>/app</code> directory, Statping will run a HTTPS server on port 443. Checkout the <a href="https://github.com/statping-ng/statping-ng/wiki/SSL" target="_blank">SSL Wiki</a> documentation to see more information about this.</p>
|
||||
|
||||
<pre><code class="language-bash">docker run -d \
|
||||
-p 443:443 \
|
||||
|
@ -1043,7 +1037,7 @@ networks:
|
|||
<h1 class="h1 mt-5 mb-5 text-muted">Docker-Compose</h1>
|
||||
<span class="spacer"></span>
|
||||
<div v-pre>
|
||||
<p>This page includes multiple docker-compose.yml setups for you to run. There are many environment variables for additional settings and features, checkout the <a href="https://github.com/statping/statping/wiki/Environment-Variables" target="_blank">Environment Variables Wiki</a> to see them all.</p>
|
||||
<p>This page includes multiple docker-compose.yml setups for you to run. There are many environment variables for additional settings and features, checkout the <a href="https://github.com/statping-ng/statping-ng/wiki/Environment-Variables" target="_blank">Environment Variables Wiki</a> to see them all.</p>
|
||||
|
||||
<p align="center">
|
||||
<img alt="Docker Image Version (tag latest semver)" src="https://img.shields.io/docker/v/statping/statping/latest">
|
||||
|
@ -1248,7 +1242,7 @@ nginx-ssl:
|
|||
|
||||
<h1>Grafana Dashboard with Prometheus</h1>
|
||||
|
||||
<p>Grafana is an awesome metric visualizer that allows you to create some awesome dashboards. We’ve already created a <a href="https://grafana.com/grafana/dashboards/6950" target="_blank">Grafana Dashboard</a> that you can easy import! Checkout the <a href="https://github.com/statping/statping/wiki/Prometheus-Exporter" target="_blank">Grafana Wiki</a> and the <a href="https://github.com/statping/statping/wiki/Prometheus-Exporter" target="_blank">Prometheus Exporter Wiki</a> for more details.</p>
|
||||
<p>Grafana is an awesome metric visualizer that allows you to create some awesome dashboards. We’ve already created a <a href="https://grafana.com/grafana/dashboards/6950" target="_blank">Grafana Dashboard</a> that you can easy import! Checkout the <a href="https://github.com/statping-ng/statping-ng/wiki/Prometheus-Exporter" target="_blank">Grafana Wiki</a> and the <a href="https://github.com/statping-ng/statping-ng/wiki/Prometheus-Exporter" target="_blank">Prometheus Exporter Wiki</a> for more details.</p>
|
||||
|
||||
<h5><code>prometheus.yml</code> config file</h5>
|
||||
|
||||
|
@ -1399,8 +1393,8 @@ networks:
|
|||
|
||||
<p>You can upgrade the Statping executable by running the commands below on your EC2 instance.</p>
|
||||
|
||||
<pre><code>VERSION=$(curl -s "https://github.com/statping/statping/releases/latest" | grep -o 'tag/[v.0-9]*' | awk -F/ '{print $2}')
|
||||
wget https://github.com/statping/statping/releases/download/$VERSION/statping-linux-x64.tar.gz
|
||||
<pre><code>VERSION=$(curl -s "https://github.com/statping-ng/statping-ng/releases/latest" | grep -o 'tag/[v.0-9]*' | awk -F/ '{print $2}')
|
||||
wget https://github.com/statping-ng/statping-ng/releases/download/$VERSION/statping-linux-x64.tar.gz
|
||||
tar -xvzf statping-linux-x64.tar.gz
|
||||
chmod +x statping
|
||||
mv statping /usr/local/bin/statping
|
||||
|
@ -1588,10 +1582,10 @@ systemctl start statping
|
|||
|
||||
<h2>Raspberry Pi</h2>
|
||||
|
||||
<p>You can even run Statping on your Raspberry Pi by installing the precompiled binary from <a href="https://github.com/statping/statping/releases/latest" target="_blank">Latest Releases</a>. For the Raspberry Pi 3 you’ll want to download the <code>statping-linux-arm7.tar.gz</code> file. Be sure to change <code>VERSION</code> to the latest version in Releases, and include the ‘v’.</p>
|
||||
<p>You can even run Statping on your Raspberry Pi by installing the precompiled binary from <a href="https://github.com/statping-ng/statping-ng/releases/latest" target="_blank">Latest Releases</a>. For the Raspberry Pi 3 you’ll want to download the <code>statping-linux-arm7.tar.gz</code> file. Be sure to change <code>VERSION</code> to the latest version in Releases, and include the ‘v’.</p>
|
||||
|
||||
<pre><code>VERSION=$(curl -sL "https://github.com/statping/statping/releases/latest" | grep -o 'tag/[v.0-9]*' | awk -F/ '{print $2}' | head -n1)
|
||||
wget https://github.com/statping/statping/releases/download/$VERSION/statping-linux-arm-7.tar.gz
|
||||
<pre><code>VERSION=$(curl -sL "https://github.com/statping-ng/statping-ng/releases/latest" | grep -o 'tag/[v.0-9]*' | awk -F/ '{print $2}' | head -n1)
|
||||
wget https://github.com/statping-ng/statping-ng/releases/download/$VERSION/statping-linux-arm-7.tar.gz
|
||||
tar -xvzf statping-linux-arm-7.tar.gz
|
||||
chmod +x statping
|
||||
mv statping /usr/local/bin/statping
|
||||
|
@ -1601,7 +1595,7 @@ statping version
|
|||
|
||||
<h2>Alpine Linux</h2>
|
||||
|
||||
<p>The Docker image is using the Statping Alpine binary since it’s so incredibly small. You can run it on your own alpine image by downloading <code>statping-linux-alpine.tar.gz</code> from <a href="https://github.com/statping/statping/releases/latest" target="_blank">Latest Releases</a>.</p>
|
||||
<p>The Docker image is using the Statping Alpine binary since it’s so incredibly small. You can run it on your own alpine image by downloading <code>statping-linux-alpine.tar.gz</code> from <a href="https://github.com/statping-ng/statping-ng/releases/latest" target="_blank">Latest Releases</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1612,7 +1606,7 @@ statping version
|
|||
<div v-pre>
|
||||
<h1>Installing on Windows</h1>
|
||||
|
||||
<p>Currently, Statping only works on Windows 64-bit computers. Just download the exe file from <a href="https://github.com/statping/statping/releases/latest" target="_blank">Latest Releases</a> and run it in your command prompt. It will create a HTTP server on port 8080, so you can visit <code>http://localhost:8080</code> to see your Statping Status Page.</p>
|
||||
<p>Currently, Statping only works on Windows 64-bit computers. Just download the exe file from <a href="https://github.com/statping-ng/statping-ng/releases/latest" target="_blank">Latest Releases</a> and run it in your command prompt. It will create a HTTP server on port 8080, so you can visit <code>http://localhost:8080</code> to see your Statping Status Page.</p>
|
||||
|
||||
<h1>Compiling SCSS for Custom Theme</h1>
|
||||
|
||||
|
@ -1638,7 +1632,7 @@ statping version
|
|||
|
||||
<h2>Known Issues with Windows</h2>
|
||||
|
||||
<p>Unfortunately, Statping only works on Windows 64-bit processors. If you have more than 4gb of ram, there’s a good chance you already have a 64-bit processor. Download the <a href="https://github.com/statping/statping/releases/latest" target="_blank">Latest Releases</a> of Statping, extract the ZIP file, then double click on the <code>statping.exe</code> file. You can use a SQLite database for a quick setup, or connect to a local/remote Postgres or MySQL database server.</p>
|
||||
<p>Unfortunately, Statping only works on Windows 64-bit processors. If you have more than 4gb of ram, there’s a good chance you already have a 64-bit processor. Download the <a href="https://github.com/statping-ng/statping-ng/releases/latest" target="_blank">Latest Releases</a> of Statping, extract the ZIP file, then double click on the <code>statping.exe</code> file. You can use a SQLite database for a quick setup, or connect to a local/remote Postgres or MySQL database server.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1656,7 +1650,7 @@ statping version
|
|||
|
||||
<h3>Statping Yaml Config</h3>
|
||||
|
||||
<p>You can include multiple environment variables to the configg file. If you include <code>DB_CONN</code> Statping will attempt to automatically connect to that database. View the <a href="https://github.com/statping/statping/wiki/Config-with-.env-File" target="_blank">Full List of Environment Variables</a> to fully customize this config.</p>
|
||||
<p>You can include multiple environment variables to the configg file. If you include <code>DB_CONN</code> Statping will attempt to automatically connect to that database. View the <a href="https://github.com/statping-ng/statping-ng/wiki/Config-with-.env-File" target="_blank">Full List of Environment Variables</a> to fully customize this config.</p>
|
||||
|
||||
<pre><code class="language-yaml">applications:
|
||||
- name: statping
|
||||
|
@ -1701,13 +1695,13 @@ statping version
|
|||
<h1>Useful Codebase</h1>
|
||||
|
||||
<ul>
|
||||
<li><p><a href="https://github.com/statping/statping/blob/master/handlers/routes.go" target="_blank">handlers/routes.go</a> - Contains all the HTTP request routes</p></li>
|
||||
<li><p><a href="https://github.com/statping-ng/statping-ng/blob/master/handlers/routes.go" target="_blank">handlers/routes.go</a> - Contains all the HTTP request routes</p></li>
|
||||
|
||||
<li><p><a href="https://github.com/statping/statping/blob/master/cmd/commands.go" target="_blank">cmd/commands.go</a> - CLI Commands</p></li>
|
||||
<li><p><a href="https://github.com/statping-ng/statping-ng/blob/master/cmd/commands.go" target="_blank">cmd/commands.go</a> - CLI Commands</p></li>
|
||||
|
||||
<li><p><a href="https://github.com/statping/statping/blob/master/types/services/struct.go" target="_blank">types/service/struct.go</a> - Service struct</p></li>
|
||||
<li><p><a href="https://github.com/statping-ng/statping-ng/blob/master/types/services/struct.go" target="_blank">types/service/struct.go</a> - Service struct</p></li>
|
||||
|
||||
<li><p><a href="https://github.com/statping/statping/blob/master/types/core/struct.go" target="_blank">types/core/struct.go</a> - Core struct</p></li>
|
||||
<li><p><a href="https://github.com/statping-ng/statping-ng/blob/master/types/core/struct.go" target="_blank">types/core/struct.go</a> - Core struct</p></li>
|
||||
</ul>
|
||||
|
||||
<h1>Deployment Process</h1>
|
||||
|
@ -1720,11 +1714,11 @@ statping version
|
|||
<li>SASS will generate a compiled version of the CSS.</li>
|
||||
<li>Statping Help page is generated by cloning the Wiki repo using <code>go generate</code>.</li>
|
||||
<li>Travis-CI tests the Golang application.</li>
|
||||
<li>Travis-CI tests the Statping API using <a href="https://github.com/statping/statping/blob/master/source/tmpl/postman.json" target="_blank">Postman</a>.</li>
|
||||
<li>Travis-CI tests the Statping API using <a href="https://github.com/statping-ng/statping-ng/blob/master/source/tmpl/postman.json" target="_blank">Postman</a>.</li>
|
||||
<li>If all tests are successful, Travis-CI will compile the binaries using <a href="https://github.com/karalabe/xgo" target="_blank">xgo</a>.</li>
|
||||
<li>Binaries are code signed using the official <a href="https://github.com/statping/statping/wiki/PGP-Signature" target="_blank">PGP key</a> and compressed.</li>
|
||||
<li>Binaries are code signed using the official <a href="https://github.com/statping-ng/statping-ng/wiki/PGP-Signature" target="_blank">PGP key</a> and compressed.</li>
|
||||
<li><a href="https://cloud.docker.com/repository/docker/statping/statping/builds" target="_blank">Docker</a> receives a trigger to build for the <code>latest</code> tag.</li>
|
||||
<li>Travis-CI uploads the <a href="https://github.com/statping/statping/releases" target="_blank">latest release</a> as a tagged version on Github.</li>
|
||||
<li>Travis-CI uploads the <a href="https://github.com/statping-ng/statping-ng/releases" target="_blank">latest release</a> as a tagged version on Github.</li>
|
||||
<li>Travis-CI updates the <a href="https://github.com/hunterlong/homebrew-statping" target="_blank">homebrew-statping</a> repo with the latest version.</li>
|
||||
</ol>
|
||||
|
||||
|
@ -1737,10 +1731,10 @@ statping version
|
|||
<h1 class="h1 mt-5 mb-5 text-muted">Makefile</h1>
|
||||
<span class="spacer"></span>
|
||||
<div v-pre>
|
||||
<p>Here’s a simple list of Makefile commands you can run using <code>make</code>. The <a href="https://github.com/statping/statping/blob/master/Makefile" target="_blank">Makefile</a> may change often, so i’ll try to keep this Wiki up-to-date.</p>
|
||||
<p>Here’s a simple list of Makefile commands you can run using <code>make</code>. The <a href="https://github.com/statping-ng/statping-ng/blob/master/Makefile" target="_blank">Makefile</a> may change often, so i’ll try to keep this Wiki up-to-date.</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/statping/statping/blob/master/Makefile">View Makefile</a>
|
||||
<a href="https://github.com/statping-ng/statping-ng/blob/master/Makefile">View Makefile</a>
|
||||
</p>
|
||||
|
||||
<h1>Useful Commands</h1>
|
||||
|
@ -1797,7 +1791,7 @@ statping version
|
|||
<p>Statping implements the <a href="https://graphql.org/" target="_blank">GraphQL</a> API interface so you can customize the exact data you need within a query. The GraphQL endpoint is at <code>/graphql</code> on your Statping instance and is only available for Authenticated users or while sending the <code>Authorization</code> API Secret.</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/statping/statping/blob/master/handlers/graphql/schema.graphql">View schema.graphql</a>
|
||||
<a href="https://github.com/statping-ng/statping-ng/blob/master/handlers/graphql/schema.graphql">View schema.graphql</a>
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
@ -1866,7 +1860,7 @@ statping version
|
|||
|
||||
<hr>
|
||||
|
||||
<p>The code for handling GraphQL requests is in <a href="https://github.com/statping/statping/tree/master/handlers/graphql" target="_blank">handlers/graphql</a> and is using <a href="https://github.com/99designs/gqlgen" target="_blank">gqlgen</a> to automatically generate the schema based on the golang structs.</p>
|
||||
<p>The code for handling GraphQL requests is in <a href="https://github.com/statping-ng/statping-ng/tree/master/handlers/graphql" target="_blank">handlers/graphql</a> and is using <a href="https://github.com/99designs/gqlgen" target="_blank">gqlgen</a> to automatically generate the schema based on the golang structs.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2109,7 +2103,7 @@ CMD_FILE=/bin/bash
|
|||
<h1 class="h1 mt-5 mb-5 text-muted">config.yml</h1>
|
||||
<span class="spacer"></span>
|
||||
<div v-pre>
|
||||
<p>The <code>config.yml</code> file contains all of the Statping database settings and API keys/secrets. When Statping loads, it will attempt to open this file to parse it’s core values. You can view the Go type file on <a href="https://github.com/statping/statping/blob/master/types/types.go#L40" target="_blank">types/types.go</a>.</p>
|
||||
<p>The <code>config.yml</code> file contains all of the Statping database settings and API keys/secrets. When Statping loads, it will attempt to open this file to parse it’s core values. You can view the Go type file on <a href="https://github.com/statping-ng/statping-ng/blob/master/types/types.go#L40" target="_blank">types/types.go</a>.</p>
|
||||
|
||||
<h3><code>config.yml</code> Parameters</h3>
|
||||
|
||||
|
@ -2129,7 +2123,7 @@ CMD_FILE=/bin/bash
|
|||
|
||||
<h2>Using Environment Variables instead of <code>config.yml</code></h2>
|
||||
|
||||
<p>You technically don’t need this <code>config.yml</code> file to run Statping. You can also run the Statping server by including environment variables when you start the server. You can view all the available variables by viewing the <a href="https://github.com/statping/statping/wiki/Config-with-.env-File" target="_blank">Config with .env</a> Wiki page.</p>
|
||||
<p>You technically don’t need this <code>config.yml</code> file to run Statping. You can also run the Statping server by including environment variables when you start the server. You can view all the available variables by viewing the <a href="https://github.com/statping-ng/statping-ng/wiki/Config-with-.env-File" target="_blank">Config with .env</a> Wiki page.</p>
|
||||
|
||||
<p><strong>Statping will auto run with environment variables if</strong> <code>DB_CONN</code> <strong>is set!</strong></p>
|
||||
|
||||
|
@ -2236,7 +2230,7 @@ statping_service_response_length{id="2" name="Statping.com"}
|
|||
<h3>Steps to Authenticate</h3>
|
||||
|
||||
<ol>
|
||||
<li>Download the Statping <code>tar.gz</code> file from <a href="https://github.com/statping/statping/releases/latest" target="_blank">Latest Releases</a> and extract the <code>statping</code> binary and the <code>statup.asc</code> file.</li>
|
||||
<li>Download the Statping <code>tar.gz</code> file from <a href="https://github.com/statping-ng/statping-ng/releases/latest" target="_blank">Latest Releases</a> and extract the <code>statping</code> binary and the <code>statup.asc</code> file.</li>
|
||||
<li>Run command: <code>gpg --verify statping.asc</code></li>
|
||||
<li>You should see <code>Good signature from "Hunter Long <info@statping.com>" [ultimate]</code>.</li>
|
||||
</ol>
|
||||
|
@ -2314,7 +2308,7 @@ OluFxewsEO0QNDrfFb+0gnjYlnGqOFcZjUMXbDdY5oLSPtXohynuTK1qyQ==
|
|||
<div class="col-12 shadow-md mt-5">
|
||||
<div class="text-dim" v-pre>
|
||||
<p align="center">
|
||||
<a href="https://statping.com">Statping.com</a> | <a href="https://demo.statping.com">Demo</a> | <a href="https://hub.docker.com/r/statping/statping">Docker</a> | <a href="https://github.com/statping/statping/wiki/Notifiers">Notifiers</a> | <a href="https://documenter.getpostman.com/view/1898229/RzfiJUd6">API</a>
|
||||
<a href="https://statping.com">Statping.com</a> | <a href="https://demo.statping.com">Demo</a> | <a href="https://hub.docker.com/r/statping/statping">Docker</a> | <a href="https://github.com/statping-ng/statping-ng/wiki/Notifiers">Notifiers</a> | <a href="https://documenter.getpostman.com/view/1898229/RzfiJUd6">API</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -12,27 +12,28 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 full-col-12">
|
||||
<div v-for="service in services_no_group" v-bind:key="service.id" class="list-group online_list mb-4">
|
||||
<div class="list-group-item list-group-item-action">
|
||||
<router-link class="no-decoration font-3" :to="serviceLink(service)">{{service.name}}</router-link>
|
||||
<span class="badge float-right" :class="{'bg-success': service.online, 'bg-danger': !service.online }">{{service.online ? "ONLINE" : "OFFLINE"}}</span>
|
||||
<GroupServiceFailures :service="service"/>
|
||||
<IncidentsBlock :service="service"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 full-col-12">
|
||||
<MessageBlock v-for="message in messages" v-bind:key="message.id" :message="message" />
|
||||
</div>
|
||||
|
||||
<div class="col-12 full-col-12">
|
||||
<div v-for="service in services_no_group" v-bind:key="service.id" class="list-group online_list mb-4">
|
||||
<div class="list-group-item list-group-item-action">
|
||||
<router-link class="no-decoration font-3" :to="serviceLink(service)">{{service.name}}</router-link>
|
||||
<span class="badge float-right" :class="{'bg-success': service.online, 'bg-danger': !service.online }">{{service.online ? "ONLINE" : "OFFLINE"}}</span>
|
||||
<GroupServiceFailures :service="service"/>
|
||||
<IncidentsBlock :service="service"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Group v-for="group in groups" v-bind:key="group.id" :group=group />
|
||||
<div class="col-12 full-col-12">
|
||||
<MessageBlock v-for="message in messages" v-bind:key="message.id" :message="message" />
|
||||
</div>
|
||||
|
||||
<div class="col-12 full-col-12">
|
||||
<div v-for="service in services" :ref="service.id" v-bind:key="service.id">
|
||||
<ServiceBlock :service="service" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 full-col-12">
|
||||
<div v-for="service in services" :ref="service.id" v-bind:key="service.id">
|
||||
<ServiceBlock :service="service" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -61,7 +61,7 @@ export default {
|
|||
const ts = data.match(/[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]/gm)
|
||||
return {
|
||||
time: ts[0],
|
||||
message: data.split(ts+": ")[1]
|
||||
message: data.split(ts+": ")[1] || ''
|
||||
}
|
||||
},
|
||||
cleanLog(l) {
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
Update {{github.tag_name}} Available
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<a href="https://github.com/statping/statping/releases/latest" class="btn btn-sm text-success mt-2">Download</a>
|
||||
<a href="https://github.com/statping-ng/statping-ng/releases/latest" class="btn btn-sm text-success mt-2">Download</a>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<a href="https://github.com/statping/statping/blob/master/CHANGELOG.md" class="btn btn-sm text-dim mt-2">Changelog</a>
|
||||
<a href="https://github.com/statping-ng/statping-ng/blob/master/CHANGELOG.md" class="btn btn-sm text-dim mt-2">Changelog</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -46,26 +46,30 @@
|
|||
</a>
|
||||
</div>
|
||||
|
||||
<h6 class="mt-4 mb-3 text-muted">Statping {{$t('links')}}</h6>
|
||||
<h6 class="mt-4 mb-3 text-muted">Statping-ng {{$t('links')}}</h6>
|
||||
|
||||
<a href="https://github.com/statping/statping/wiki" class="mb-2 font-2 text-decoration-none text-muted">
|
||||
<a href="https://statping-ng.github.io" class="mb-2 font-2 text-decoration-none text-muted">
|
||||
<font-awesome-icon icon="globe" class="mr-3"/> Statping-ng
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/statping-ng/statping-ng/wiki" class="mb-2 font-2 text-decoration-none text-muted">
|
||||
<font-awesome-icon icon="question" class="mr-3"/> {{$t('docs')}}
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/statping/statping/wiki/API" class="mb-2 font-2 text-decoration-none text-muted">
|
||||
<a href="https://github.com/statping-ng/statping-ng/wiki/API" class="mb-2 font-2 text-decoration-none text-muted">
|
||||
<font-awesome-icon icon="laptop" class="mr-2"/> API {{$t('docs')}}
|
||||
</a>
|
||||
|
||||
<a href="https://raw.githubusercontent.com/statping/statping/master/CHANGELOG.md" class="mb-2 font-2 text-decoration-none text-muted">
|
||||
<a href="https://raw.githubusercontent.com/statping-ng/statping-ng/stable/CHANGELOG.md" class="mb-2 font-2 text-decoration-none text-muted">
|
||||
<font-awesome-icon icon="book" class="mr-3"/> {{$t('changelog')}}
|
||||
</a>
|
||||
|
||||
<a href="https://github.com/statping/statping" class="mb-2 font-2 text-decoration-none text-muted">
|
||||
<a href="https://github.com/statping-ng/statping-ng" class="mb-2 font-2 text-decoration-none text-muted">
|
||||
<font-awesome-icon icon="code-branch" class="mr-3"/> {{$t('repo')}}
|
||||
</a>
|
||||
|
||||
<span class="small text-dim text-center mt-5">Statping v{{core.version}}<br>
|
||||
<a class="small text-muted no-decoration" v-if="core.commit" v-bind:href="`https://github.com/statping/statping/commit/${core.commit}`">{{core.commit.slice(0,8)}}</a>
|
||||
<span class="small text-dim text-center mt-5">Statping-ng v{{core.version}}<br>
|
||||
<a class="small text-muted no-decoration" v-if="core.commit" v-bind:href="`https://github.com/statping-ng/statping-ng/commit/${core.commit}`">{{core.commit.slice(0,8)}}</a>
|
||||
</span>
|
||||
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
module.exports = {
|
||||
baseUrl: '/',
|
||||
publicPath: '/',
|
||||
assetsDir: 'assets',
|
||||
filenameHashing: false,
|
||||
productionTip: process.env.NODE_ENV !== 'production',
|
||||
devtools: process.env.NODE_ENV !== 'production',
|
||||
performance: process.env.NODE_ENV !== 'production',
|
||||
// productionTip: process.env.NODE_ENV !== 'production',
|
||||
// devtools: process.env.NODE_ENV !== 'production',
|
||||
// performance: process.env.NODE_ENV !== 'production',
|
||||
devServer: {
|
||||
disableHostCheck: true,
|
||||
proxyTable: {
|
||||
proxy: {
|
||||
'/api': {
|
||||
logLevel: 'debug',
|
||||
target: 'http://0.0.0.0:8585',
|
||||
|
|
122
go.mod
122
go.mod
|
@ -1,10 +1,10 @@
|
|||
module github.com/statping/statping
|
||||
module github.com/statping-ng/statping-ng
|
||||
|
||||
// +heroku goVersion go1.14
|
||||
go 1.14
|
||||
// +heroku goVersion go1.17
|
||||
go 1.17
|
||||
|
||||
require (
|
||||
github.com/GeertJohan/go.rice v1.0.0
|
||||
github.com/GeertJohan/go.rice v1.0.2
|
||||
github.com/aws/aws-sdk-go v1.30.20
|
||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible
|
||||
github.com/fatih/structs v1.1.0
|
||||
|
@ -12,8 +12,7 @@ require (
|
|||
github.com/foomo/tlsconfig v0.0.0-20180418120404-b67861b076c9
|
||||
github.com/getsentry/sentry-go v0.5.1
|
||||
github.com/go-mail/mail v2.3.1+incompatible
|
||||
github.com/golang/protobuf v1.4.2 // indirect
|
||||
github.com/google/go-cmp v0.5.1 // indirect
|
||||
github.com/go-ping/ping v1.1.0
|
||||
github.com/gorilla/mux v1.7.4
|
||||
github.com/hako/durafmt v0.0.0-20200605151348-3a43fc422dd9
|
||||
github.com/jinzhu/gorm v1.9.12
|
||||
|
@ -23,20 +22,111 @@ require (
|
|||
github.com/sirupsen/logrus v1.6.0
|
||||
github.com/spf13/cobra v1.0.0
|
||||
github.com/spf13/viper v1.6.3
|
||||
github.com/statping/emails v1.0.0
|
||||
github.com/stretchr/objx v0.2.0 // indirect
|
||||
github.com/statping-ng/emails v1.0.3
|
||||
github.com/stretchr/testify v1.6.1
|
||||
github.com/t-tiger/gorm-bulk-insert/v2 v2.0.1
|
||||
go.uber.org/atomic v1.6.0 // indirect
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9
|
||||
golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449 // indirect
|
||||
golang.org/x/net v0.0.0-20200904194848-62affa334b73 // indirect
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519
|
||||
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
|
||||
golang.org/x/text v0.3.3 // indirect
|
||||
golang.org/x/tools v0.0.0-20201012192620-5bd05386311b // indirect
|
||||
google.golang.org/appengine v1.6.6 // indirect
|
||||
google.golang.org/grpc v1.28.1
|
||||
google.golang.org/protobuf v1.25.0 // indirect
|
||||
gopkg.in/natefinch/lumberjack.v2 v2.0.0
|
||||
gopkg.in/yaml.v2 v2.3.0
|
||||
)
|
||||
|
||||
require (
|
||||
cloud.google.com/go v0.56.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go v41.3.0+incompatible // indirect
|
||||
github.com/Azure/go-autorest/autorest v0.10.0 // indirect
|
||||
github.com/Azure/go-autorest/autorest/adal v0.8.3 // indirect
|
||||
github.com/Azure/go-autorest/autorest/azure/auth v0.4.2 // indirect
|
||||
github.com/Azure/go-autorest/autorest/azure/cli v0.3.1 // indirect
|
||||
github.com/Azure/go-autorest/autorest/date v0.2.0 // indirect
|
||||
github.com/Azure/go-autorest/autorest/to v0.3.0 // indirect
|
||||
github.com/Azure/go-autorest/autorest/validation v0.2.0 // indirect
|
||||
github.com/Azure/go-autorest/logger v0.1.0 // indirect
|
||||
github.com/Azure/go-autorest/tracing v0.5.0 // indirect
|
||||
github.com/OpenDNS/vegadns2client v0.0.0-20180418235048-a3fa4a771d87 // indirect
|
||||
github.com/akamai/AkamaiOPEN-edgegrid-golang v0.9.11 // indirect
|
||||
github.com/aliyun/alibaba-cloud-sdk-go v1.61.131 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.0.2 // indirect
|
||||
github.com/cloudflare/cloudflare-go v0.11.6 // indirect
|
||||
github.com/cpu/goacmedns v0.0.2 // indirect
|
||||
github.com/daaku/go.zipexe v1.0.0 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/dimchansky/utfbom v1.1.0 // indirect
|
||||
github.com/dnsimple/dnsimple-go v0.60.0 // indirect
|
||||
github.com/exoscale/egoscale v0.18.1 // indirect
|
||||
github.com/fsnotify/fsnotify v1.5.1 // indirect
|
||||
github.com/go-acme/lego/v3 v3.7.0 // indirect
|
||||
github.com/go-errors/errors v1.0.2 // indirect
|
||||
github.com/go-resty/resty/v2 v2.2.0 // indirect
|
||||
github.com/go-sql-driver/mysql v1.5.0 // indirect
|
||||
github.com/gofrs/uuid v3.2.0+incompatible // indirect
|
||||
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
|
||||
github.com/golang/protobuf v1.4.2 // indirect
|
||||
github.com/google/go-querystring v1.0.0 // indirect
|
||||
github.com/google/uuid v1.3.0 // indirect
|
||||
github.com/googleapis/gax-go/v2 v2.0.5 // indirect
|
||||
github.com/gophercloud/gophercloud v0.10.0 // indirect
|
||||
github.com/hashicorp/go-cleanhttp v0.5.1 // indirect
|
||||
github.com/hashicorp/go-retryablehttp v0.6.6 // indirect
|
||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||
github.com/iij/doapi v0.0.0-20190504054126-0bbf12d6d7df // indirect
|
||||
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
||||
github.com/jinzhu/inflection v1.0.0 // indirect
|
||||
github.com/jmespath/go-jmespath v0.3.0 // indirect
|
||||
github.com/json-iterator/go v1.1.9 // indirect
|
||||
github.com/kolo/xmlrpc v0.0.0-20200310150728-e0350524596b // indirect
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.3 // indirect
|
||||
github.com/labbsr0x/bindman-dns-webhook v1.0.2 // indirect
|
||||
github.com/labbsr0x/goh v1.0.1 // indirect
|
||||
github.com/lextoumbourou/goodhosts v2.1.0+incompatible // indirect
|
||||
github.com/lib/pq v1.3.0 // indirect
|
||||
github.com/linode/linodego v0.14.0 // indirect
|
||||
github.com/liquidweb/liquidweb-go v1.6.1 // indirect
|
||||
github.com/magiconair/properties v1.8.1 // indirect
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
|
||||
github.com/miekg/dns v1.1.29 // indirect
|
||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||
github.com/mitchellh/mapstructure v1.2.2 // indirect
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.1 // indirect
|
||||
github.com/namedotcom/go v0.0.0-20180403034216-08470befbe04 // indirect
|
||||
github.com/nrdcg/auroradns v1.0.1 // indirect
|
||||
github.com/nrdcg/dnspod-go v0.4.0 // indirect
|
||||
github.com/nrdcg/goinwx v0.6.1 // indirect
|
||||
github.com/nrdcg/namesilo v0.2.1 // indirect
|
||||
github.com/oracle/oci-go-sdk v17.4.0+incompatible // indirect
|
||||
github.com/ovh/go-ovh v0.0.0-20181109152953-ba5adb4cf014 // indirect
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
|
||||
github.com/pelletier/go-toml v1.7.0 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 // indirect
|
||||
github.com/prometheus/common v0.6.0 // indirect
|
||||
github.com/prometheus/procfs v0.0.3 // indirect
|
||||
github.com/sacloud/libsacloud v1.36.1 // indirect
|
||||
github.com/spf13/afero v1.2.2 // indirect
|
||||
github.com/spf13/cast v1.3.1 // indirect
|
||||
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/subosito/gotenv v1.2.0 // indirect
|
||||
github.com/timewasted/linode v0.0.0-20160829202747-37e84520dcf7 // indirect
|
||||
github.com/transip/gotransip/v6 v6.0.2 // indirect
|
||||
github.com/vultr/govultr v0.3.3 // indirect
|
||||
go.opencensus.io v0.22.3 // indirect
|
||||
go.uber.org/ratelimit v0.1.0 // indirect
|
||||
golang.org/x/net v0.2.0 // indirect
|
||||
golang.org/x/sync v0.1.0 // indirect
|
||||
golang.org/x/sys v0.2.0 // indirect
|
||||
golang.org/x/text v0.4.0 // indirect
|
||||
golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1 // indirect
|
||||
google.golang.org/api v0.21.0 // indirect
|
||||
google.golang.org/appengine v1.6.6 // indirect
|
||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 // indirect
|
||||
google.golang.org/protobuf v1.25.0 // indirect
|
||||
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
|
||||
gopkg.in/ini.v1 v1.55.0 // indirect
|
||||
gopkg.in/ns1/ns1-go.v2 v2.3.0 // indirect
|
||||
gopkg.in/square/go-jose.v2 v2.5.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect
|
||||
)
|
||||
|
|
142
go.sum
142
go.sum
|
@ -1,4 +1,3 @@
|
|||
cloud.google.com/go v0.26.0 h1:e0WKqKTd5BnrG8aKH3J3h+QvEIQtSUcf2n5UZ5ZgLtQ=
|
||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
|
||||
|
@ -74,16 +73,15 @@ github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EF
|
|||
github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w=
|
||||
github.com/DATA-DOG/go-sqlmock v1.4.1 h1:ThlnYciV1iM/V0OSF/dtkqWb6xo5qITT1TJBG1MRDJM=
|
||||
github.com/DATA-DOG/go-sqlmock v1.4.1/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
|
||||
github.com/GeertJohan/go.incremental v1.0.0 h1:7AH+pY1XUgQE4Y1HcXYaMqAI0m9yrFqo/jt0CW30vsg=
|
||||
github.com/GeertJohan/go.incremental v1.0.0/go.mod h1:6fAjUhbVuX1KcMD3c8TEgVUqmo4seqhv0i0kdATSkM0=
|
||||
github.com/GeertJohan/go.rice v1.0.0 h1:KkI6O9uMaQU3VEKaj01ulavtF7o1fWT7+pk/4voiMLQ=
|
||||
github.com/GeertJohan/go.rice v1.0.0/go.mod h1:eH6gbSOAUv07dQuZVnBmoDP8mgsM1rtixis4Tib9if0=
|
||||
github.com/GeertJohan/go.rice v1.0.2 h1:PtRw+Tg3oa3HYwiDBZyvOJ8LdIyf6lAovJJtr7YOAYk=
|
||||
github.com/GeertJohan/go.rice v1.0.2/go.mod h1:af5vUNlDNkCjOZeSGFgIJxDje9qdjsO6hshx0gTmZt4=
|
||||
github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY=
|
||||
github.com/Joker/jade v1.0.1-0.20190614124447-d475f43051e7/go.mod h1:6E6s8o2AE4KhCrqr6GRJjdC/gNfTdxkIXvuGZZda2VM=
|
||||
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
||||
github.com/OpenDNS/vegadns2client v0.0.0-20180418235048-a3fa4a771d87 h1:xPMsUicZ3iosVPSIP7bW5EcGUzjiiMl1OYTe14y/R24=
|
||||
github.com/OpenDNS/vegadns2client v0.0.0-20180418235048-a3fa4a771d87/go.mod h1:iGLljf5n9GjT6kc0HBvyI1nOKnGQbNB66VzSNbK5iks=
|
||||
github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398 h1:WDC6ySpJzbxGWFh4aMxFFC28wwGp5pEuoTtvA4q/qQ4=
|
||||
github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0=
|
||||
github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
|
||||
github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
|
||||
|
@ -91,7 +89,6 @@ github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY
|
|||
github.com/akamai/AkamaiOPEN-edgegrid-golang v0.9.8/go.mod h1:aVvklgKsPENRkl29bNwrHISa1F+YLGTHArMxZMBqWM8=
|
||||
github.com/akamai/AkamaiOPEN-edgegrid-golang v0.9.11 h1:QGjNHMwoPYxE5NpOAc8kpd2KTY293/oFk5BWdjkza+k=
|
||||
github.com/akamai/AkamaiOPEN-edgegrid-golang v0.9.11/go.mod h1:L+HB2uBoDgi3+r1pJEJcbGwyyHhd2QXaGsKLbDwtm8Q=
|
||||
github.com/akavel/rsrc v0.8.0 h1:zjWn7ukO9Kc5Q62DOJCcxGpXC18RawVtYAGdz2aLlfw=
|
||||
github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c=
|
||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||
|
@ -104,7 +101,6 @@ github.com/aws/aws-sdk-go v1.30.20 h1:ktsy2vodSZxz/arYqo7DlpkIeNohHL+4Rmjdo7YGtr
|
|||
github.com/aws/aws-sdk-go v1.30.20/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
||||
github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g=
|
||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||
github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0=
|
||||
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
||||
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
||||
|
@ -113,7 +109,6 @@ github.com/cenkalti/backoff/v4 v4.0.2 h1:JIufpQLbh4DkbQoii76ItQIUFzevQSqOLZca4ea
|
|||
github.com/cenkalti/backoff/v4 v4.0.2/go.mod h1:eEew/i+1Q6OrCDZh3WiXYv3+nJwBASZ8Bog/87DQnVg=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
|
||||
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
|
||||
github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U=
|
||||
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
|
||||
|
@ -134,10 +129,8 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7
|
|||
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||
github.com/cpu/goacmedns v0.0.2 h1:hYAgjnPu7HogTgb8trqQouR/RrBgXq1TPBgmxbK9eRA=
|
||||
github.com/cpu/goacmedns v0.0.2/go.mod h1:4MipLkI+qScwqtVxcNO6okBhbgRrr7/tKXUSgSL0teQ=
|
||||
github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk=
|
||||
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/daaku/go.zipexe v1.0.0 h1:VSOgZtH418pH9L16hC/JrgSNJbbAL26pj7lmD1+CGdY=
|
||||
|
@ -145,7 +138,6 @@ github.com/daaku/go.zipexe v1.0.0/go.mod h1:z8IiR6TsVLEYKwXAoE/I+8ys/sDkgTzSL0CL
|
|||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd h1:83Wprp6ROGeiHFAP8WJdI2RoxALQYgdllERc3N5N2DM=
|
||||
github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
|
||||
github.com/denisenkom/go-mssqldb v0.0.0-20200206145737-bbfc9a55622e h1:LzwWXEScfcTu7vUZNlDDWDARoSGEtvlDKK2BYHowNeE=
|
||||
github.com/denisenkom/go-mssqldb v0.0.0-20200206145737-bbfc9a55622e/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
|
||||
|
@ -160,7 +152,6 @@ github.com/dnaeon/go-vcr v0.0.0-20180814043457-aafff18a5cc2/go.mod h1:aBB1+wY4s9
|
|||
github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
|
||||
github.com/dnsimple/dnsimple-go v0.60.0 h1:N+q+ML1CZGf+5r4udu9Opy7WJNtOaFT9aM86Af9gLhk=
|
||||
github.com/dnsimple/dnsimple-go v0.60.0/go.mod h1:O5TJ0/U6r7AfT8niYNlmohpLbCSG+c71tQlGr9SeGrg=
|
||||
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
|
||||
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
|
||||
github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
|
||||
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
|
||||
|
@ -183,10 +174,10 @@ github.com/foomo/simplecert v1.7.5 h1:5654G52nAaFGdIjQsjCbccqkQraN9oa2qvh4Ugtc+r
|
|||
github.com/foomo/simplecert v1.7.5/go.mod h1:RojYROT3nMm8GtJZAPUz0sM5YuSQ/6MIdZvtLTqsxbc=
|
||||
github.com/foomo/tlsconfig v0.0.0-20180418120404-b67861b076c9 h1:RPOsDNbnDUFaSt/3bCxUsaGCJsKqA6dGubevl20nE9g=
|
||||
github.com/foomo/tlsconfig v0.0.0-20180418120404-b67861b076c9/go.mod h1:OdiGKKgTAfMv7x9Hh9qYFueue77tr09LUAxwy2+M8wY=
|
||||
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
|
||||
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
||||
github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI=
|
||||
github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
|
||||
github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc=
|
||||
github.com/getsentry/sentry-go v0.5.1 h1:MIPe7ScHADsrK2vznqmhksIUFxq7m0JfTh+ZIMkI+VQ=
|
||||
github.com/getsentry/sentry-go v0.5.1/go.mod h1:B8H7x8TYDPkeWPRzGpIiFO97LZP6rL8A3hEt8lUItMw=
|
||||
|
@ -197,7 +188,6 @@ github.com/go-acme/lego/v3 v3.7.0 h1:qC5/8/CbltyAE8fGLE6bGlqucj7pXc/vBxiLwLOsmAQ
|
|||
github.com/go-acme/lego/v3 v3.7.0/go.mod h1:4eDjjYkAsDXyNcwN8IhhZAwxz9Ltiks1Zmpv0q20J7A=
|
||||
github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98=
|
||||
github.com/go-cmd/cmd v1.0.5/go.mod h1:y8q8qlK5wQibcw63djSl/ntiHUHXHGdCkPk0j4QeW4s=
|
||||
github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w=
|
||||
github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
|
||||
github.com/go-errors/errors v1.0.2 h1:xMxH9j2fNg/L4hLn/4y3M0IUsn0M6Wbu/Uh9QlOfBh4=
|
||||
github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs=
|
||||
|
@ -210,10 +200,11 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V
|
|||
github.com/go-mail/mail v2.3.1+incompatible h1:UzNOn0k5lpfVtO31cK3hn6I4VEVGhe3lX8AJBAxXExM=
|
||||
github.com/go-mail/mail v2.3.1+incompatible/go.mod h1:VPWjmmNyRsWXQZHVHT3g0YbIINUkSmuKOiLIDkWbL6M=
|
||||
github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8=
|
||||
github.com/go-ping/ping v1.1.0 h1:3MCGhVX4fyEUuhsfwPrsEdQw6xspHkv5zHsiSoDFZYw=
|
||||
github.com/go-ping/ping v1.1.0/go.mod h1:xIFjORFzTxqIV/tDVGO4eDy/bLuSyawEeojSm3GfRGk=
|
||||
github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48/go.mod h1:dZGr0i9PLlaaTD4H/hoZIDjQ+r6xq8mgbRzHZf7f2J8=
|
||||
github.com/go-resty/resty/v2 v2.2.0 h1:vgZ1cdblp8Aw4jZj3ZsKh6yKAlMg3CHMrqFSFFd+jgY=
|
||||
github.com/go-resty/resty/v2 v2.2.0/go.mod h1:nYW/8rxqQCmI3bPz9Fsmjbr2FBjGuR2Mzt6kDh3zZ7w=
|
||||
github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA=
|
||||
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
||||
github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
|
||||
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||
|
@ -223,7 +214,6 @@ github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6Wezm
|
|||
github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
|
||||
github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE=
|
||||
github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
|
||||
github.com/gogo/protobuf v1.1.1 h1:72R+M5VuhED/KujmZVcIquuo8mBgX4oVda//DQb3PXo=
|
||||
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
||||
|
@ -244,23 +234,19 @@ github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt
|
|||
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
|
||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
|
||||
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
|
||||
github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
|
||||
github.com/golang/protobuf v1.3.5 h1:F768QJ1E9tib+q5Sc8MkdJi1RxLTbRcTf8LJV56aRls=
|
||||
github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
|
||||
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
|
||||
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
|
||||
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
|
||||
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
|
||||
github.com/golang/protobuf v1.4.0 h1:oOuy+ugB+P/kBdUnG5QaMXSIyJ1q38wWSojYCb3z5VQ=
|
||||
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
|
||||
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
|
||||
github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0=
|
||||
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
||||
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||
github.com/gomarkdown/markdown v0.0.0-20200820230800-3724143f5294 h1:rSb2ZQZ3B1rlWBWamxobyn0jTuGZHbPO5Rmjw48uWRM=
|
||||
github.com/gomarkdown/markdown v0.0.0-20200820230800-3724143f5294/go.mod h1:aii0r/K0ZnHv7G0KF7xy1v0A7s2Ljrb5byB7MO5p6TU=
|
||||
github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
|
||||
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||
|
@ -268,7 +254,6 @@ github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ
|
|||
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
||||
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
||||
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
||||
github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
|
||||
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.1 h1:JFrFEBb2xKufg6XkJsJr+WbKb4FQlURi5RUcBveYu9k=
|
||||
|
@ -283,8 +268,10 @@ github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hf
|
|||
github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
||||
github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
|
||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
|
||||
github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM=
|
||||
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
||||
|
@ -325,20 +312,15 @@ github.com/iij/doapi v0.0.0-20190504054126-0bbf12d6d7df/go.mod h1:QMZY7/J/KSQEhK
|
|||
github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA=
|
||||
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
|
||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||
github.com/iris-contrib/blackfriday v2.0.0+incompatible h1:o5sHQHHm0ToHUlAJSTjW9UWicjJSDDauOOQ2AHuIVp4=
|
||||
github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI=
|
||||
github.com/iris-contrib/go.uuid v2.0.0+incompatible h1:XZubAYg61/JwnJNbZilGjf3b3pB80+OQg2qf6c8BfWE=
|
||||
github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0=
|
||||
github.com/iris-contrib/i18n v0.0.0-20171121225848-987a633949d0/go.mod h1:pMCz62A0xJL6I+umB2YTlFRwWXaDFA0jy+5HzGiJjqI=
|
||||
github.com/iris-contrib/schema v0.0.1 h1:10g/WnoRR+U+XXHWKBHeNy/+tZmM2kcAVGLOsz+yaDA=
|
||||
github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw=
|
||||
github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA=
|
||||
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
|
||||
github.com/jinzhu/gorm v1.9.12 h1:Drgk1clyWT9t9ERbzHza6Mj/8FY/CqMyVzOiHviMo6Q=
|
||||
github.com/jinzhu/gorm v1.9.12/go.mod h1:vhTjlKSJUTWNtcbQtrMBFCxy7eXTzeCAzfL5fBZT/Qs=
|
||||
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
|
||||
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
|
||||
github.com/jinzhu/now v1.0.1 h1:HjfetcXq097iXP0uoPCdnM4Efp5/9MsM0/M+XOTeR3M=
|
||||
github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
|
||||
github.com/jinzhu/now v1.1.1 h1:g39TucaRWyV3dwDO++eEc6qf8TVIQ/Da48WmqjZ3i7E=
|
||||
github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
|
||||
|
@ -347,7 +329,6 @@ github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2
|
|||
github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik=
|
||||
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
||||
github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||
github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs=
|
||||
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||
github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||
github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns=
|
||||
|
@ -361,26 +342,19 @@ github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVE
|
|||
github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA=
|
||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
|
||||
github.com/kataras/golog v0.0.9 h1:J7Dl82843nbKQDrQM/abbNJZvQjS6PfmkkffhOTXEpM=
|
||||
github.com/kataras/golog v0.0.9/go.mod h1:12HJgwBIZFNGL0EJnMRhmvGA0PQGx8VFwrZtM4CqbAk=
|
||||
github.com/kataras/iris/v12 v12.0.1 h1:Wo5S7GMWv5OAzJmvFTvss/C4TS1W0uo6LkDlSymT4rM=
|
||||
github.com/kataras/iris/v12 v12.0.1/go.mod h1:udK4vLQKkdDqMGJJVd/msuMtN6hpYJhg/lSzuxjhO+U=
|
||||
github.com/kataras/neffos v0.0.10/go.mod h1:ZYmJC07hQPW67eKuzlfY7SO3bC0mw83A3j6im82hfqw=
|
||||
github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d h1:V5Rs9ztEWdp58oayPq/ulmlqJJZeJP6pP79uP3qjcao=
|
||||
github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d/go.mod h1:NV88laa9UiiDuX9AhMbDPkGYSPugBOV6yTZB1l2K9Z0=
|
||||
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
||||
github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
|
||||
github.com/klauspost/compress v1.9.0 h1:GhthINjveNZAdFUD8QoQYfjxnOONZgztK/Yr6M23UTY=
|
||||
github.com/klauspost/compress v1.9.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
|
||||
github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
|
||||
github.com/kolo/xmlrpc v0.0.0-20190717152603-07c4ee3fd181/go.mod h1:o03bZfuBwAXHetKXuInt4S7omeXUu62/A845kiycsSQ=
|
||||
github.com/kolo/xmlrpc v0.0.0-20200310150728-e0350524596b h1:DzHy0GlWeF0KAglaTMY7Q+khIFoG8toHP+wLFBVBQJc=
|
||||
github.com/kolo/xmlrpc v0.0.0-20200310150728-e0350524596b/go.mod h1:o03bZfuBwAXHetKXuInt4S7omeXUu62/A845kiycsSQ=
|
||||
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/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
|
@ -398,7 +372,6 @@ github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvf
|
|||
github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k=
|
||||
github.com/lextoumbourou/goodhosts v2.1.0+incompatible h1:1U1p5Z1wrXl23/fW/GY4zdTbQ8UJbyvrkPbqAZ6tzbw=
|
||||
github.com/lextoumbourou/goodhosts v2.1.0+incompatible/go.mod h1:89s48k108X3gKDWn8AHk3gUzUGTcMZCCAOsE4QU1bbo=
|
||||
github.com/lib/pq v1.1.1 h1:sJZmqHoEaY7f+NPP8pgLB/WxulyR3fewgCM2qaSlBb4=
|
||||
github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
github.com/lib/pq v1.3.0 h1:/qkRGz8zljWiDcFvgpwUpwIAPu3r07TDvs3Rws+o/pU=
|
||||
github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
|
@ -412,17 +385,14 @@ github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czP
|
|||
github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4=
|
||||
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/matryer/try v0.0.0-20161228173917-9ac251b645a2/go.mod h1:0KeJpeMD6o+O4hW7qJOT7vyQPKrWmj26uf5wMc/IiIs=
|
||||
github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU=
|
||||
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
|
||||
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.9 h1:d5US/mDsogSGW37IV293h//ZFaeajb69h+EHFsv2xGg=
|
||||
github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
|
||||
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||
github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
||||
github.com/mattn/go-sqlite3 v2.0.1+incompatible h1:xQ15muvnzGBHpIpdrNi1DA5x0+TcBZzsIDwmw9uTHzw=
|
||||
github.com/mattn/go-sqlite3 v2.0.1+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
||||
github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U=
|
||||
github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
||||
|
@ -432,7 +402,6 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0j
|
|||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||
github.com/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg=
|
||||
github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ=
|
||||
github.com/microcosm-cc/bluemonday v1.0.2 h1:5lPfLTTAvAbtS0VqT+94yOtFnGfUWYyx0+iToC3Os3s=
|
||||
github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc=
|
||||
github.com/miekg/dns v1.1.27/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
|
||||
github.com/miekg/dns v1.1.29 h1:xHBEhR+t5RzcFJjBLJlax2daXOrTYtr9z4WdKEfWFzg=
|
||||
|
@ -440,7 +409,6 @@ github.com/miekg/dns v1.1.29/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7
|
|||
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
|
||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/go-vnc v0.0.0-20150629162542-723ed9867aed/go.mod h1:3rdaFaCv4AyBgu5ALFM0+tSuHrBh6v692nyQe3ikrq0=
|
||||
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
|
||||
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/mitchellh/mapstructure v1.2.2 h1:dxe5oCinTXiTIcfgmZecdCzPmAJKd46KsCWc35r0TV4=
|
||||
github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
|
@ -457,12 +425,11 @@ github.com/namedotcom/go v0.0.0-20180403034216-08470befbe04/go.mod h1:5sN+Lt1CaY
|
|||
github.com/nats-io/nats.go v1.8.1/go.mod h1:BrFz9vVn0fU3AcH9Vn4Kd7W0NpJ651tD5omQ3M8LwxM=
|
||||
github.com/nats-io/nkeys v0.0.2/go.mod h1:dab7URMsZm6Z/jp9Z5UGa87Uutgc2mVpXLC4B7TDb/4=
|
||||
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
|
||||
github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32 h1:W6apQkHrMkS0Muv8G/TipAy/FJl/rCYT0+EuS8+Z0z4=
|
||||
github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
||||
github.com/nkovacs/streamquote v0.0.0-20170412213628-49af9bddb229 h1:E2B8qYyeSgv5MXpmzZXRNp8IAQ4vjxIjhpAf5hv/tAg=
|
||||
github.com/nkovacs/streamquote v0.0.0-20170412213628-49af9bddb229/go.mod h1:0aYXnNPJ8l7uZxf45rWW1a/uME32OF0rhiYGNQ2oF2E=
|
||||
github.com/nkovacs/streamquote v1.0.0/go.mod h1:BN+NaZ2CmdKqUuTUXUEm9j95B2TRbpOWpxbJYzzgUsc=
|
||||
github.com/nrdcg/auroradns v1.0.1 h1:m/kBq83Xvy3cU261MOknd8BdnOk12q4lAWM+kOdsC2Y=
|
||||
github.com/nrdcg/auroradns v1.0.1/go.mod h1:y4pc0i9QXYlFCWrhWrUSIETnZgrf4KuwjDIWmmXo3JI=
|
||||
github.com/nrdcg/dnspod-go v0.4.0 h1:c/jn1mLZNKF3/osJ6mz3QPxTudvPArXTjpkmYj0uK6U=
|
||||
|
@ -487,7 +454,6 @@ github.com/ovh/go-ovh v0.0.0-20181109152953-ba5adb4cf014 h1:37VE5TYj2m/FLA9SNr4z
|
|||
github.com/ovh/go-ovh v0.0.0-20181109152953-ba5adb4cf014/go.mod h1:joRatxRJaZBsY3JAOEMcoOp05CnZzsx4scTxi95DHyQ=
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
|
||||
github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
|
||||
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
||||
github.com/pelletier/go-toml v1.7.0 h1:7utD74fnzVc/cpcyy8sjrlFr5vYpypUixARcHIMIGuI=
|
||||
github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
|
||||
|
@ -502,7 +468,6 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
|
|||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
|
||||
github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs=
|
||||
github.com/prometheus/client_golang v0.9.3 h1:9iH4JKXLzFbOAdtqv/a+j8aewx2Y8lAjAydhbaScPF8=
|
||||
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
|
||||
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
|
||||
github.com/prometheus/client_golang v1.1.0 h1:BQ53HtBmfOitExawJ6LokA4x8ov/z0SYYb0+HxJfRI8=
|
||||
|
@ -514,14 +479,12 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCb
|
|||
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
|
||||
github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
|
||||
github.com/prometheus/common v0.4.0 h1:7etb9YClo3a6HjLzfl6rIQaU+FDfi0VSX39io3aQ+DM=
|
||||
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
|
||||
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
|
||||
github.com/prometheus/common v0.6.0 h1:kRhiuYSXR3+uv2IbVbZhUxK5zVD/2pp3Gd2PpvPkpEo=
|
||||
github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc=
|
||||
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||
github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084 h1:sofwID9zm4tzrgykg80hfFph1mryUeLRsUfoocVVmRY=
|
||||
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||
github.com/prometheus/procfs v0.0.3 h1:CTwfnzjQ+8dS6MhHHu4YswVAD99sL2wjPqP+VkURmKE=
|
||||
|
@ -531,23 +494,17 @@ github.com/rainycape/memcache v0.0.0-20150622160815-1031fa0ce2f2/go.mod h1:7tZKc
|
|||
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo=
|
||||
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
||||
github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
|
||||
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
|
||||
github.com/sacloud/libsacloud v1.26.1/go.mod h1:79ZwATmHLIFZIMd7sxA3LwzVy/B77uj3LDoToVTxDoQ=
|
||||
github.com/sacloud/libsacloud v1.36.1 h1:tCpFjWsvu/2Im8/SDmRZ49SttVXy7nHerobRc1LU9pI=
|
||||
github.com/sacloud/libsacloud v1.36.1/go.mod h1:P7YAOVmnIn3DKHqCZcUKYUXmSwGBm3yS7IBEjKVSrjg=
|
||||
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
|
||||
github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ=
|
||||
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
|
||||
github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
|
||||
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||
github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
|
||||
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
|
||||
github.com/sirupsen/logrus v1.5.0 h1:1N5EYkVAPEywqZRJd7cwnRtCb6xJx7NH3T3WUTF980Q=
|
||||
github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo=
|
||||
github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I=
|
||||
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
|
||||
|
@ -559,23 +516,18 @@ github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIK
|
|||
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
|
||||
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
|
||||
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
|
||||
github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI=
|
||||
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
|
||||
github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc=
|
||||
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
|
||||
github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8=
|
||||
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
||||
github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng=
|
||||
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
||||
github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s=
|
||||
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
|
||||
github.com/spf13/cobra v1.0.0 h1:6m/oheQuQ13N9ks4hubMG6BnvwOeaJrqSPLahSnczz8=
|
||||
github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
|
||||
github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=
|
||||
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
|
||||
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
|
||||
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
|
||||
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
|
||||
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
|
@ -583,18 +535,18 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM
|
|||
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
|
||||
github.com/spf13/viper v1.6.3 h1:pDDu1OyEDTKzpJwdq4TiuLyMsUgRa/BT5cn5O62NoHs=
|
||||
github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw=
|
||||
github.com/statping/emails v1.0.0 h1:90hGweEhr8wIFiy34KCkiFqGJlkug2gAQLVR6oSCFNU=
|
||||
github.com/statping-ng/emails v1.0.3 h1:33YIG+OT/r7DtXSkoYhnt0rFEtR1KQGBkw3GeZDaQIk=
|
||||
github.com/statping-ng/emails v1.0.3/go.mod h1:ulCTLCuyypX6vuyjGtrFD5RRvQhVmV17zyIgR53oYgo=
|
||||
github.com/statping-ng/statping-ng v0.90.77/go.mod h1:dqjpNrrd4spZyRn9qZFDp9pD2nzEFmX7wY4x/stYXLY=
|
||||
github.com/statping/emails v1.0.0/go.mod h1:xFU85jXaiWQadqHqu/jDrGsAn6WPSk1WgKyTVuFm0TI=
|
||||
github.com/statping/statping v0.90.64/go.mod h1:lbyNPB73IjWtnommV4wSejYfgUT1yLhhqelMjl1ZBb8=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A=
|
||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48=
|
||||
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
|
||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
|
||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
|
@ -602,9 +554,7 @@ github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s
|
|||
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
|
||||
github.com/t-tiger/gorm-bulk-insert/v2 v2.0.1 h1:HGVkRrwDCbmSP6h1CoBDj6l/mhnvsP5JbYaQ4ss0R6o=
|
||||
github.com/t-tiger/gorm-bulk-insert/v2 v2.0.1/go.mod h1:I3xbaE9ud9/TEXzehwkHx86SyJwqeSNsX2X5oV61jIg=
|
||||
github.com/tdewolff/minify/v2 v2.8.0 h1:t3tOPWkTpKhsgxm3IM9Sy8hE2eIt30Oaa+2havJGGIE=
|
||||
github.com/tdewolff/minify/v2 v2.8.0/go.mod h1:6zN8VLhMfFxNrwHROcboYNo2+huPNu4SV8DPh3PUQ8E=
|
||||
github.com/tdewolff/parse/v2 v2.4.4 h1:uMdbQRtYbKR/msP9CbI7li9wK6pionYiH6s7ipltyGY=
|
||||
github.com/tdewolff/parse/v2 v2.4.4/go.mod h1:WzaJpRSbwq++EIQHYIRTpbYKNA3gn9it1Ik++q4zyho=
|
||||
github.com/tdewolff/test v1.0.6/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE=
|
||||
github.com/timewasted/linode v0.0.0-20160829202747-37e84520dcf7 h1:CpHxIaZzVy26GqJn8ptRyto8fuoYOd1v0fXm9bG3wQ8=
|
||||
|
@ -621,18 +571,14 @@ github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtX
|
|||
github.com/urfave/cli v1.22.3/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
github.com/urfave/cli/v2 v2.1.1/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ=
|
||||
github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
|
||||
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
|
||||
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
|
||||
github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w=
|
||||
github.com/valyala/fasttemplate v1.0.1 h1:tY9CJiPnMXf1ERmG2EyK7gNUd+c6RKGD0IfU8WdUSz8=
|
||||
github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
|
||||
github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio=
|
||||
github.com/vultr/govultr v0.1.4/go.mod h1:9H008Uxr/C4vFNGLqKx232C206GL0PBHzOP0809bGNA=
|
||||
github.com/vultr/govultr v0.3.3 h1:fVaF4h9u3VzTXxFsxvgBUCiM52EiahLqAPkizamLzYM=
|
||||
github.com/vultr/govultr v0.3.3/go.mod h1:TUuUizMOFc7z+PNMssb6iGjKjQfpw5arIaOLfocVudQ=
|
||||
github.com/wellington/go-libsass v0.9.2 h1:6Ims04UDdBs6/CGSVK5JC8FNikR5ssrsMMKE/uaO5Q8=
|
||||
github.com/wellington/go-libsass v0.9.2/go.mod h1:mxgxgam0N0E+NAUMHLcu20Ccfc3mVpDkyrLDayqfiTs=
|
||||
github.com/wellington/sass v0.0.0-20160911051022-cab90b3986d6 h1:qPS12y9iMXyKr2flmOG7RgiyUGkQxQibp1hx7uug9IQ=
|
||||
github.com/wellington/sass v0.0.0-20160911051022-cab90b3986d6/go.mod h1:ncYBwTYUjmb7N+sZbf8WJYynLivoqFL+U2f8uOX2Yzk=
|
||||
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
|
||||
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
|
||||
|
@ -645,6 +591,7 @@ github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDf
|
|||
github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc=
|
||||
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
|
||||
go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
|
||||
go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
|
||||
|
@ -654,7 +601,6 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
|||
go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8=
|
||||
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||
go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
|
||||
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||
go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk=
|
||||
go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
||||
|
@ -679,12 +625,11 @@ golang.org/x/crypto v0.0.0-20191202143827-86a70503ff7e/go.mod h1:LzIPMQfyMNhhGPh
|
|||
golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200406173513-056763e48d71 h1:DOmugCavvUtnUD114C1Wh+UgTgQZ4pMLzXxi1pSt+/Y=
|
||||
golang.org/x/crypto v0.0.0-20200406173513-056763e48d71/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200420201142-3c4aac89819a h1:y6sBfNd1b9Wy08a6K1Z1DZc4aXABUN5TKjkYhz7UKmo=
|
||||
golang.org/x/crypto v0.0.0-20200420201142-3c4aac89819a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||
|
@ -706,7 +651,6 @@ golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHl
|
|||
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
|
||||
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k=
|
||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
||||
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
||||
|
@ -716,8 +660,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB
|
|||
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449 h1:xUIPaMhvROX9dhPvRCenIJtU78+lbEenGbgqB5hfHCQ=
|
||||
golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||
golang.org/x/net v0.0.0-20180611182652-db08ff08e862/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
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=
|
||||
|
@ -738,7 +682,6 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL
|
|||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM=
|
||||
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190930134127-c5a3c61f89f3/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
|
@ -747,17 +690,17 @@ golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLL
|
|||
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/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/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k=
|
||||
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||
golang.org/x/net v0.0.0-20200625001655-4c5254603344 h1:vGXIOMxbNfDTk/aXCmfdLgkrSV+Z2tcbze+pEc3v5W4=
|
||||
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||
golang.org/x/net v0.0.0-20200904194848-62affa334b73 h1:MXfv8rhZWmFeqX3GNZRsd6vOLoaCHjYEX3qkRo3YBUA=
|
||||
golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be h1:vEDujvNQGv4jgYKudGeI/+DAX4Jffq6hpD55MmoEvKs=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
|
||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||
golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
|
||||
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
|
@ -770,10 +713,12 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ
|
|||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o=
|
||||
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208 h1:qwRHBd0NqMbJxfbotnDhm2ByMI1Shq4Y6oRJo21SGJA=
|
||||
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
|
||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20180622082034-63fc586f45fe/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
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=
|
||||
|
@ -796,7 +741,6 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||
golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ=
|
||||
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
|
@ -812,18 +756,27 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f h1:gWF768j/LaZugp8dyS4UwsslYCYz9XgFxvlgsn0n9H8=
|
||||
golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c h1:UIcGWL6/wpCfyGuJnRFJRurA+yj8RrW7Q6x2YMCXt6c=
|
||||
golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
|
||||
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/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.1-0.20180807135948-17ff2d5776d2/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=
|
||||
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
|
||||
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20190921001708-c4c64cad1fd0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
|
@ -868,13 +821,11 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK
|
|||
golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
|
||||
golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4 h1:kDtqNkeBrZb8B+atrj50B5XLHpzXXqcCdZPP/ApQ5NY=
|
||||
golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
|
||||
golang.org/x/tools v0.0.0-20201012192620-5bd05386311b h1:Imq6ZJ3mzzAkU1yzH1aHpiF3lTs3ySLzjH8SEfFdW0A=
|
||||
golang.org/x/tools v0.0.0-20201012192620-5bd05386311b/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
|
||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
|
@ -892,11 +843,9 @@ google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/
|
|||
google.golang.org/api v0.21.0 h1:zS+Q/CJJnVlXpXQVIz+lH0ZT2lBuT2ac7XD8Y/3w6hY=
|
||||
google.golang.org/api v0.21.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
|
||||
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/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
|
||||
google.golang.org/appengine v1.6.5 h1:tycE03LOZYQNhDpS27tcQdAzLCVMaj7QT2SXxebnpCM=
|
||||
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||
google.golang.org/appengine v1.6.6 h1:lMO5rYAqUxkmaj76jAkRUvt5JZgFymx/+Q5Mzfivuhc=
|
||||
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||
|
@ -906,7 +855,6 @@ google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRn
|
|||
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
||||
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE=
|
||||
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
||||
google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
|
||||
google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
||||
|
@ -920,7 +868,6 @@ google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfG
|
|||
google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200420144010-e5e8543f8aeb h1:nAFaltAMbNVA0rixtwvdnqgSVLX3HFUUvMkEklmzbYM=
|
||||
google.golang.org/genproto v0.0.0-20200420144010-e5e8543f8aeb/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY=
|
||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
||||
|
@ -935,7 +882,6 @@ google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQ
|
|||
google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
google.golang.org/grpc v1.28.0 h1:bO/TA4OxCOummhSf10siHuG7vJOiwh7SpRpFZDkOgl4=
|
||||
google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
|
||||
google.golang.org/grpc v1.28.1 h1:C1QC6KzgSiLyBabDi87BbjaGreoRgGUF5nOyvfrAZ1k=
|
||||
google.golang.org/grpc v1.28.1/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
|
||||
|
@ -943,18 +889,15 @@ google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLY
|
|||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
|
||||
google.golang.org/protobuf v1.21.0 h1:qdOKuR/EIArgaWNjetjgTzgVTAZ+S/WXVrq9HW9zimw=
|
||||
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
|
||||
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
|
||||
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
|
||||
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/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk=
|
||||
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
|
||||
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/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
|
@ -967,7 +910,6 @@ gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/R
|
|||
gopkg.in/h2non/gock.v1 v1.0.15 h1:SzLqcIlb/fDfg7UvukMpNcWsu7sI5tWwL+KCATZqks0=
|
||||
gopkg.in/h2non/gock.v1 v1.0.15/go.mod h1:sX4zAkdYX1TRGJ2JY156cFspQn4yRWn6p9EMdODlynE=
|
||||
gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno=
|
||||
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
gopkg.in/ini.v1 v1.55.0 h1:E8yzL5unfpW3M6fz/eB7Cb5MQAYSZ7GKo4Qth+N2sgQ=
|
||||
|
@ -985,14 +927,12 @@ gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
|
|||
gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
|
||||
gopkg.in/square/go-jose.v2 v2.5.0 h1:OZ4sdq+Y+SHfYB7vfthi1Ei8b0vkP8ZPQgUfUwdUSqo=
|
||||
gopkg.in/square/go-jose.v2 v2.5.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
||||
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
|
||||
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/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
|
||||
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
|
||||
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
|
|
|
@ -2,18 +2,18 @@ package handlers
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/statping/statping/types/checkins"
|
||||
"github.com/statping/statping/types/configs"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/types/groups"
|
||||
"github.com/statping/statping/types/incidents"
|
||||
"github.com/statping/statping/types/messages"
|
||||
"github.com/statping/statping/types/notifications"
|
||||
"github.com/statping/statping/types/null"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/types/users"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types/checkins"
|
||||
"github.com/statping-ng/statping-ng/types/configs"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/types/groups"
|
||||
"github.com/statping-ng/statping-ng/types/incidents"
|
||||
"github.com/statping-ng/statping-ng/types/messages"
|
||||
"github.com/statping-ng/statping-ng/types/notifications"
|
||||
"github.com/statping-ng/statping-ng/types/null"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/types/users"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
|
|
@ -5,15 +5,15 @@ import (
|
|||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/pkg/errors"
|
||||
_ "github.com/statping/statping/notifiers"
|
||||
"github.com/statping/statping/source"
|
||||
"github.com/statping/statping/types/checkins"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/groups"
|
||||
"github.com/statping/statping/types/messages"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/types/users"
|
||||
"github.com/statping/statping/utils"
|
||||
_ "github.com/statping-ng/statping-ng/notifiers"
|
||||
"github.com/statping-ng/statping-ng/source"
|
||||
"github.com/statping-ng/statping-ng/types/checkins"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/groups"
|
||||
"github.com/statping-ng/statping-ng/types/messages"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/types/users"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"io/ioutil"
|
||||
|
|
|
@ -2,9 +2,9 @@ package handlers
|
|||
|
||||
import (
|
||||
"crypto/subtle"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/users"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/users"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/statping/statping/types/checkins"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"net"
|
||||
"net/http"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/statping-ng/statping-ng/types/checkins"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
)
|
||||
|
||||
func findCheckin(r *http.Request) (*checkins.Checkin, string, error) {
|
||||
|
@ -23,8 +24,9 @@ func findCheckin(r *http.Request) (*checkins.Checkin, string, error) {
|
|||
return checkin, id, nil
|
||||
}
|
||||
|
||||
func apiAllCheckinsHandler(w http.ResponseWriter, r *http.Request) {
|
||||
returnJson(checkins.All(), w, r)
|
||||
func apiAllCheckinsHandler(r *http.Request) interface{} {
|
||||
checkins := checkins.All()
|
||||
return checkins
|
||||
}
|
||||
|
||||
func apiCheckinHandler(w http.ResponseWriter, r *http.Request) {
|
||||
|
|
|
@ -4,18 +4,18 @@ import (
|
|||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/statping/statping/source"
|
||||
"github.com/statping/statping/types/checkins"
|
||||
"github.com/statping/statping/types/configs"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/types/groups"
|
||||
"github.com/statping/statping/types/incidents"
|
||||
"github.com/statping/statping/types/messages"
|
||||
"github.com/statping/statping/types/notifications"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/types/users"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/source"
|
||||
"github.com/statping-ng/statping-ng/types/checkins"
|
||||
"github.com/statping-ng/statping-ng/types/configs"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/types/groups"
|
||||
"github.com/statping-ng/statping-ng/types/incidents"
|
||||
"github.com/statping-ng/statping-ng/types/messages"
|
||||
"github.com/statping-ng/statping-ng/types/notifications"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/types/users"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"gopkg.in/yaml.v2"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"github.com/statping/statping/source"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/source"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"html/template"
|
||||
"net/http"
|
||||
"net/url"
|
||||
|
|
|
@ -2,9 +2,9 @@ package handlers
|
|||
|
||||
import (
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/types/groups"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/types/groups"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/groups"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/groups"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"testing"
|
||||
|
|
|
@ -3,14 +3,14 @@ package handlers
|
|||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"html/template"
|
||||
"net/http"
|
||||
"path"
|
||||
"time"
|
||||
|
||||
"github.com/statping/statping/source"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/source"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -73,7 +73,11 @@ func IsReadAuthenticated(r *http.Request) bool {
|
|||
if ok := hasAuthorizationHeader(r); ok {
|
||||
return true
|
||||
}
|
||||
return IsFullAuthenticated(r)
|
||||
_, err := getJwtToken(r)
|
||||
if err == nil {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// IsFullAuthenticated returns true if the HTTP request is authenticated. You can set the environment variable GO_ENV=test
|
||||
|
@ -172,13 +176,24 @@ func ExecuteResponse(w http.ResponseWriter, r *http.Request, file string, data i
|
|||
if err != nil {
|
||||
log.Errorln(err)
|
||||
}
|
||||
render, err := source.TmplBox.String(file)
|
||||
if err != nil {
|
||||
log.Errorln(err)
|
||||
}
|
||||
// render the page requested
|
||||
if _, err := mainTemplate.Parse(render); err != nil {
|
||||
log.Errorln(err)
|
||||
|
||||
asset := file
|
||||
if source.UsingAssets(utils.Directory) {
|
||||
|
||||
asset = utils.Directory + "/assets/" + file
|
||||
|
||||
if _, err := mainTemplate.ParseFiles(asset); err != nil {
|
||||
log.Errorln(err)
|
||||
}
|
||||
} else {
|
||||
render, err := source.TmplBox.String(asset)
|
||||
if err != nil {
|
||||
log.Errorln(err)
|
||||
}
|
||||
// render the page requested
|
||||
if _, err := mainTemplate.Parse(render); err != nil {
|
||||
log.Errorln(err)
|
||||
}
|
||||
}
|
||||
// execute the template
|
||||
if err := mainTemplate.Execute(w, data); err != nil {
|
||||
|
|
|
@ -2,9 +2,9 @@ package handlers
|
|||
|
||||
import (
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/types/incidents"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/types/incidents"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package handlers
|
|||
import (
|
||||
"github.com/dgrijalva/jwt-go"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/statping/statping/types/users"
|
||||
"github.com/statping-ng/statping-ng/types/users"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
|
|
@ -2,9 +2,9 @@ package handlers
|
|||
|
||||
import (
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/types/messages"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/types/messages"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
|
|
|
@ -7,10 +7,10 @@ import (
|
|||
"fmt"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/types/metrics"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/types/metrics"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"io"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/types/failures"
|
||||
"github.com/statping/statping/types/notifications"
|
||||
"github.com/statping/statping/types/services"
|
||||
"net/http"
|
||||
"sort"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/types/failures"
|
||||
"github.com/statping-ng/statping-ng/types/notifications"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
)
|
||||
|
||||
func apiNotifiersHandler(w http.ResponseWriter, r *http.Request) {
|
||||
func apiAllNotifiersHandler(r *http.Request) interface{} {
|
||||
var notifs []notifications.Notification
|
||||
for _, n := range services.AllNotifiers() {
|
||||
notif := n.Select()
|
||||
no, err := notifications.Find(notif.Method)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
sendErrorJson(err, w, r)
|
||||
}
|
||||
notif.UpdateFields(no)
|
||||
notifs = append(notifs, *notif)
|
||||
}
|
||||
sort.Sort(notifications.NotificationOrder(notifs))
|
||||
returnJson(notifs, w, r)
|
||||
return notifs
|
||||
}
|
||||
|
||||
func apiNotifierGetHandler(w http.ResponseWriter, r *http.Request) {
|
||||
|
|
|
@ -3,9 +3,9 @@ package handlers
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/statping/statping/notifiers"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/notifiers"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
|
|
@ -3,10 +3,10 @@ package handlers
|
|||
import (
|
||||
"fmt"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/types/null"
|
||||
"github.com/statping/statping/types/users"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/types/null"
|
||||
"github.com/statping-ng/statping-ng/types/users"
|
||||
"golang.org/x/oauth2"
|
||||
"net/http"
|
||||
)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"golang.org/x/oauth2"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
|
|
@ -2,9 +2,9 @@ package handlers
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"golang.org/x/oauth2"
|
||||
"golang.org/x/oauth2/github"
|
||||
"net/http"
|
||||
|
|
|
@ -2,9 +2,9 @@ package handlers
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"golang.org/x/oauth2"
|
||||
"golang.org/x/oauth2/google"
|
||||
"net/http"
|
||||
|
|
|
@ -3,9 +3,9 @@ package handlers
|
|||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"golang.org/x/oauth2"
|
||||
"golang.org/x/oauth2/slack"
|
||||
"net/http"
|
||||
|
|
|
@ -1,15 +1,16 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/prometheus/client_golang/prometheus/promhttp"
|
||||
"github.com/statping/statping/source"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/utils"
|
||||
"net/http"
|
||||
"net/http/pprof"
|
||||
|
||||
_ "github.com/statping/statping/types/metrics"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/prometheus/client_golang/prometheus/promhttp"
|
||||
"github.com/statping-ng/statping-ng/source"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
|
||||
_ "github.com/statping-ng/statping-ng/types/metrics"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -146,7 +147,7 @@ func Router() *mux.Router {
|
|||
api.Handle("/api/incidents/{id}/updates/{uid}", authenticated(apiDeleteIncidentUpdateHandler, false)).Methods("DELETE")
|
||||
|
||||
// API USER Routes
|
||||
api.Handle("/api/users", authenticated(apiAllUsersHandler, false)).Methods("GET")
|
||||
api.Handle("/api/users", scoped(apiAllUsersHandler)).Methods("GET")
|
||||
api.Handle("/api/users", authenticated(apiCreateUsersHandler, false)).Methods("POST")
|
||||
api.Handle("/api/users/token", http.HandlerFunc(apiCheckUserTokenHandler)).Methods("POST")
|
||||
api.Handle("/api/users/{id}", authenticated(apiUserHandler, false)).Methods("GET")
|
||||
|
@ -154,7 +155,7 @@ func Router() *mux.Router {
|
|||
api.Handle("/api/users/{id}", authenticated(apiUserDeleteHandler, false)).Methods("DELETE")
|
||||
|
||||
// API NOTIFIER Routes
|
||||
api.Handle("/api/notifiers", authenticated(apiNotifiersHandler, false)).Methods("GET")
|
||||
api.Handle("/api/notifiers", scoped(apiAllNotifiersHandler)).Methods("GET")
|
||||
api.Handle("/api/notifier/{notifier}", authenticated(apiNotifierGetHandler, false)).Methods("GET")
|
||||
api.Handle("/api/notifier/{notifier}", authenticated(apiNotifierUpdateHandler, false)).Methods("POST")
|
||||
api.Handle("/api/notifier/{notifier}/test", authenticated(testNotificationHandler, false)).Methods("POST")
|
||||
|
@ -167,7 +168,7 @@ func Router() *mux.Router {
|
|||
api.Handle("/api/messages/{id}", authenticated(apiMessageDeleteHandler, false)).Methods("DELETE")
|
||||
|
||||
// API CHECKIN Routes
|
||||
api.Handle("/api/checkins", authenticated(apiAllCheckinsHandler, false)).Methods("GET")
|
||||
api.Handle("/api/checkins", scoped(apiAllCheckinsHandler)).Methods("GET")
|
||||
api.Handle("/api/checkins", authenticated(checkinCreateHandler, false)).Methods("POST")
|
||||
api.Handle("/api/checkins/{api}", authenticated(apiCheckinHandler, false)).Methods("GET")
|
||||
api.Handle("/api/checkins/{api}", authenticated(checkinDeleteHandler, false)).Methods("DELETE")
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
"fmt"
|
||||
"github.com/foomo/simplecert"
|
||||
"github.com/foomo/tlsconfig"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
|
|
@ -2,12 +2,12 @@ package handlers
|
|||
|
||||
import (
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/statping/statping/database"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/types/failures"
|
||||
"github.com/statping/statping/types/hits"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/database"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/types/failures"
|
||||
"github.com/statping-ng/statping-ng/types/hits"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
|
|
|
@ -4,10 +4,10 @@ import (
|
|||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/statping/statping/types"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"net/http/httptest"
|
||||
|
|
|
@ -2,12 +2,12 @@ package handlers
|
|||
|
||||
import (
|
||||
"errors"
|
||||
"github.com/statping/statping/notifiers"
|
||||
"github.com/statping/statping/types/configs"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/null"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/notifiers"
|
||||
"github.com/statping-ng/statping-ng/types/configs"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/null"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strconv"
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"github.com/statping/statping/source"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/source"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"testing"
|
||||
)
|
||||
|
|
|
@ -2,11 +2,12 @@ package handlers
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/types/users"
|
||||
"github.com/statping/statping/utils"
|
||||
"net/http"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/types/users"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
)
|
||||
|
||||
func findUser(r *http.Request) (*users.User, int64, error) {
|
||||
|
@ -75,9 +76,9 @@ func apiUserDeleteHandler(w http.ResponseWriter, r *http.Request) {
|
|||
sendJsonAction(user, "delete", w, r)
|
||||
}
|
||||
|
||||
func apiAllUsersHandler(w http.ResponseWriter, r *http.Request) {
|
||||
func apiAllUsersHandler(r *http.Request) interface{} {
|
||||
allUsers := users.All()
|
||||
returnJson(allUsers, w, r)
|
||||
return allUsers
|
||||
}
|
||||
|
||||
func apiCheckUserTokenHandler(w http.ResponseWriter, r *http.Request) {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"net/url"
|
||||
|
|
14
install.sh
14
install.sh
|
@ -12,7 +12,7 @@ cyan="\033[36m"
|
|||
white="\033[37m"
|
||||
gpg_key=64B9C6AAE2D55278
|
||||
gpgurl=https://statping.com/statping.gpg
|
||||
repo=https://github.com/statping/statping
|
||||
repo=https://github.com/statping-ng/statping-ng
|
||||
|
||||
statping_get_tarball() {
|
||||
fext='tar.gz'
|
||||
|
@ -24,7 +24,7 @@ statping_get_tarball() {
|
|||
printf "$cyan> Downloading latest version for $OS $ARCH...\n$url $reset\n"
|
||||
# Get both the tarball and its GPG signature
|
||||
tarball_tmp=`mktemp -t statping.tar.gz.XXXXXXXXXX`
|
||||
if curl --fail -L -o "$tarball_tmp" "$url"; then
|
||||
if curl --fail -L -s -o "$tarball_tmp" "$url"; then
|
||||
# All this dance is because `tar --strip=1` does not work everywhere
|
||||
temp=$(mktemp -d statping.XXXXXXXXXX)
|
||||
if [ ${OS} == 'windows' ]; then
|
||||
|
@ -32,11 +32,11 @@ statping_get_tarball() {
|
|||
else
|
||||
tar xzf $tarball_tmp -C "$temp"
|
||||
fi
|
||||
printf "$green> Installing to $DEST/statping\n"
|
||||
printf "$green> Installing to $DEST/statping-ng\n"
|
||||
mv "$temp"/statping "$DEST"
|
||||
rm -rf "$temp"
|
||||
rm $tarball_tmp*
|
||||
printf "$cyan> Statping is now installed! $reset\n"
|
||||
printf "$cyan> Statping-ng is now installed! $reset\n"
|
||||
printf "$white> Repo: $repo $reset\n"
|
||||
printf "$white> Wiki: $repo/wiki $reset\n"
|
||||
printf "$white> Issues: $repo/issues $reset\n"
|
||||
|
@ -55,9 +55,9 @@ statping_brew_install() {
|
|||
if [[ -z "$(command -v brew --version)" ]]; then
|
||||
printf "${white}Using Brew to install!$reset\n"
|
||||
printf "${yellow}---> brew tap statping/statping$reset\n"
|
||||
brew tap statping/statping
|
||||
brew tap statping-ng/statping-ng
|
||||
printf "${yellow}---> brew install statping$reset\n"
|
||||
brew install statping
|
||||
brew install statping-ng
|
||||
printf "${green}Brew installation is complete!$reset\n"
|
||||
printf "${yellow}You can use 'brew upgrade' to upgrade Statping next time.$reset\n"
|
||||
else
|
||||
|
@ -66,7 +66,7 @@ statping_brew_install() {
|
|||
}
|
||||
|
||||
statping_install() {
|
||||
printf "${white}Installing Statping!$reset\n"
|
||||
printf "${white}Installing Statping-ng!$reset\n"
|
||||
getOS
|
||||
getArch
|
||||
statping_get_tarball $OS $ARCH
|
||||
|
|
|
@ -8,12 +8,12 @@ import (
|
|||
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||
"github.com/aws/aws-sdk-go/aws/session"
|
||||
"github.com/aws/aws-sdk-go/service/sns"
|
||||
"github.com/statping/statping/types/null"
|
||||
"github.com/statping-ng/statping-ng/types/null"
|
||||
|
||||
"github.com/statping/statping/types/failures"
|
||||
"github.com/statping/statping/types/notifications"
|
||||
"github.com/statping/statping/types/notifier"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping-ng/statping-ng/types/failures"
|
||||
"github.com/statping-ng/statping-ng/types/notifications"
|
||||
"github.com/statping-ng/statping-ng/types/notifier"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
)
|
||||
|
||||
var _ notifier.Notifier = (*amazonSNS)(nil)
|
||||
|
|
|
@ -4,13 +4,13 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/statping/statping/database"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/failures"
|
||||
"github.com/statping/statping/types/notifications"
|
||||
"github.com/statping/statping/types/null"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/database"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/failures"
|
||||
"github.com/statping-ng/statping-ng/types/notifications"
|
||||
"github.com/statping-ng/statping-ng/types/null"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
package notifiers
|
||||
|
||||
import (
|
||||
"github.com/statping/statping/types/errors"
|
||||
"github.com/statping/statping/types/failures"
|
||||
"github.com/statping/statping/types/notifications"
|
||||
"github.com/statping/statping/types/notifier"
|
||||
"github.com/statping/statping/types/null"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types/errors"
|
||||
"github.com/statping-ng/statping-ng/types/failures"
|
||||
"github.com/statping-ng/statping-ng/types/notifications"
|
||||
"github.com/statping-ng/statping-ng/types/notifier"
|
||||
"github.com/statping-ng/statping-ng/types/null"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
|
|
@ -4,13 +4,13 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/statping/statping/database"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/failures"
|
||||
"github.com/statping/statping/types/notifications"
|
||||
"github.com/statping/statping/types/null"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/database"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/failures"
|
||||
"github.com/statping-ng/statping-ng/types/notifications"
|
||||
"github.com/statping-ng/statping-ng/types/null"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
|
|
@ -7,12 +7,12 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/statping/statping/types/failures"
|
||||
"github.com/statping/statping/types/notifications"
|
||||
"github.com/statping/statping/types/notifier"
|
||||
"github.com/statping/statping/types/null"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/types/failures"
|
||||
"github.com/statping-ng/statping-ng/types/notifications"
|
||||
"github.com/statping-ng/statping-ng/types/notifier"
|
||||
"github.com/statping-ng/statping-ng/types/null"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
)
|
||||
|
||||
var _ notifier.Notifier = (*discord)(nil)
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
package notifiers
|
||||
|
||||
import (
|
||||
"github.com/statping/statping/database"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/failures"
|
||||
"github.com/statping/statping/types/notifications"
|
||||
"github.com/statping/statping/types/null"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/database"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/failures"
|
||||
"github.com/statping-ng/statping-ng/types/notifications"
|
||||
"github.com/statping-ng/statping-ng/types/null"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"testing"
|
||||
|
|
|
@ -5,13 +5,13 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/go-mail/mail"
|
||||
"github.com/statping/emails"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/failures"
|
||||
"github.com/statping/statping/types/notifications"
|
||||
"github.com/statping/statping/types/notifier"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/emails"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/failures"
|
||||
"github.com/statping-ng/statping-ng/types/notifications"
|
||||
"github.com/statping-ng/statping-ng/types/notifier"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
)
|
||||
|
||||
var _ notifier.Notifier = (*emailer)(nil)
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
package notifiers
|
||||
|
||||
import (
|
||||
"github.com/statping/statping/database"
|
||||
"github.com/statping/statping/types/core"
|
||||
"github.com/statping/statping/types/failures"
|
||||
"github.com/statping/statping/types/notifications"
|
||||
"github.com/statping/statping/types/null"
|
||||
"github.com/statping/statping/types/services"
|
||||
"github.com/statping/statping/utils"
|
||||
"github.com/statping-ng/statping-ng/database"
|
||||
"github.com/statping-ng/statping-ng/types/core"
|
||||
"github.com/statping-ng/statping-ng/types/failures"
|
||||
"github.com/statping-ng/statping-ng/types/notifications"
|
||||
"github.com/statping-ng/statping-ng/types/null"
|
||||
"github.com/statping-ng/statping-ng/types/services"
|
||||
"github.com/statping-ng/statping-ng/utils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"testing"
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue