mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-07-18 19:44:24 -04:00
Add 'konnectd/' from commit '3829df495cbcad9bb261518b4afb7d15ba53d54c'
git-subtree-dir: konnectd git-subtree-mainline:ab1e6d4689git-subtree-split:3829df495c
This commit is contained in:
9
konnectd/.codacy.yml
Normal file
9
konnectd/.codacy.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
exclude_paths:
|
||||
- CHANGELOG.md
|
||||
- changelog/**
|
||||
- docs/**
|
||||
- pkg/proto/**
|
||||
- web/identifier-webapp/**
|
||||
|
||||
...
|
||||
2
konnectd/.dockerignore
Normal file
2
konnectd/.dockerignore
Normal file
@@ -0,0 +1,2 @@
|
||||
*
|
||||
!bin/
|
||||
698
konnectd/.drone.star
Normal file
698
konnectd/.drone.star
Normal file
@@ -0,0 +1,698 @@
|
||||
def main(ctx):
|
||||
before = [
|
||||
testing(ctx),
|
||||
]
|
||||
|
||||
stages = [
|
||||
docker(ctx, 'amd64'),
|
||||
docker(ctx, 'arm64'),
|
||||
docker(ctx, 'arm'),
|
||||
binary(ctx, 'linux'),
|
||||
binary(ctx, 'darwin'),
|
||||
binary(ctx, 'windows'),
|
||||
]
|
||||
|
||||
after = [
|
||||
manifest(ctx),
|
||||
changelog(ctx),
|
||||
readme(ctx),
|
||||
badges(ctx),
|
||||
website(ctx),
|
||||
]
|
||||
|
||||
return before + stages + after
|
||||
|
||||
def testing(ctx):
|
||||
return {
|
||||
'kind': 'pipeline',
|
||||
'type': 'docker',
|
||||
'name': 'testing',
|
||||
'platform': {
|
||||
'os': 'linux',
|
||||
'arch': 'amd64',
|
||||
},
|
||||
'steps': [
|
||||
{
|
||||
'name': 'generate',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'make generate',
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'path': '/srv/app',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'vet',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'make vet',
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'path': '/srv/app',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'staticcheck',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'make staticcheck',
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'path': '/srv/app',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'lint',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'make lint',
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'path': '/srv/app',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'build',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'make build',
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'path': '/srv/app',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'test',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'make test',
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'path': '/srv/app',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'codacy',
|
||||
'image': 'plugins/codacy:1',
|
||||
'pull': 'always',
|
||||
'settings': {
|
||||
'token': {
|
||||
'from_secret': 'codacy_token',
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'temp': {},
|
||||
},
|
||||
],
|
||||
'trigger': {
|
||||
'ref': [
|
||||
'refs/heads/master',
|
||||
'refs/tags/**',
|
||||
'refs/pull/**',
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
def docker(ctx, arch):
|
||||
return {
|
||||
'kind': 'pipeline',
|
||||
'type': 'docker',
|
||||
'name': arch,
|
||||
'platform': {
|
||||
'os': 'linux',
|
||||
'arch': arch,
|
||||
},
|
||||
'steps': [
|
||||
{
|
||||
'name': 'generate',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'make generate',
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'path': '/srv/app',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'build',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'make build',
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'path': '/srv/app',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'dryrun',
|
||||
'image': 'plugins/docker:18.09',
|
||||
'pull': 'always',
|
||||
'settings': {
|
||||
'dry_run': True,
|
||||
'tags': 'linux-%s' % (arch),
|
||||
'dockerfile': 'docker/Dockerfile.linux.%s' % (arch),
|
||||
'repo': ctx.repo.slug,
|
||||
},
|
||||
'when': {
|
||||
'ref': {
|
||||
'include': [
|
||||
'refs/pull/**',
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
'name': 'docker',
|
||||
'image': 'plugins/docker:18.09',
|
||||
'pull': 'always',
|
||||
'settings': {
|
||||
'username': {
|
||||
'from_secret': 'docker_username',
|
||||
},
|
||||
'password': {
|
||||
'from_secret': 'docker_password',
|
||||
},
|
||||
'auto_tag': True,
|
||||
'auto_tag_suffix': 'linux-%s' % (arch),
|
||||
'dockerfile': 'docker/Dockerfile.linux.%s' % (arch),
|
||||
'repo': ctx.repo.slug,
|
||||
},
|
||||
'when': {
|
||||
'ref': {
|
||||
'exclude': [
|
||||
'refs/pull/**',
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'temp': {},
|
||||
},
|
||||
],
|
||||
'depends_on': [
|
||||
'testing',
|
||||
],
|
||||
'trigger': {
|
||||
'ref': [
|
||||
'refs/heads/master',
|
||||
'refs/tags/**',
|
||||
'refs/pull/**',
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
def binary(ctx, name):
|
||||
if ctx.build.event == "tag":
|
||||
settings = {
|
||||
'endpoint': {
|
||||
'from_secret': 's3_endpoint',
|
||||
},
|
||||
'access_key': {
|
||||
'from_secret': 'aws_access_key_id',
|
||||
},
|
||||
'secret_key': {
|
||||
'from_secret': 'aws_secret_access_key',
|
||||
},
|
||||
'bucket': {
|
||||
'from_secret': 's3_bucket',
|
||||
},
|
||||
'path_style': True,
|
||||
'strip_prefix': 'dist/release/',
|
||||
'source': 'dist/release/*',
|
||||
'target': '/ocis/%s/%s' % (ctx.repo.name.replace("ocis-", ""), ctx.build.ref.replace("refs/tags/v", "")),
|
||||
}
|
||||
else:
|
||||
settings = {
|
||||
'endpoint': {
|
||||
'from_secret': 's3_endpoint',
|
||||
},
|
||||
'access_key': {
|
||||
'from_secret': 'aws_access_key_id',
|
||||
},
|
||||
'secret_key': {
|
||||
'from_secret': 'aws_secret_access_key',
|
||||
},
|
||||
'bucket': {
|
||||
'from_secret': 's3_bucket',
|
||||
},
|
||||
'path_style': True,
|
||||
'strip_prefix': 'dist/release/',
|
||||
'source': 'dist/release/*',
|
||||
'target': '/ocis/%s/testing' % (ctx.repo.name.replace("ocis-", "")),
|
||||
}
|
||||
|
||||
return {
|
||||
'kind': 'pipeline',
|
||||
'type': 'docker',
|
||||
'name': name,
|
||||
'platform': {
|
||||
'os': 'linux',
|
||||
'arch': 'amd64',
|
||||
},
|
||||
'steps': [
|
||||
{
|
||||
'name': 'generate',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'make generate',
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'path': '/srv/app',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'build',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'make release-%s' % (name),
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'path': '/srv/app',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'finish',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'make release-finish',
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'path': '/srv/app',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'upload',
|
||||
'image': 'plugins/s3:1',
|
||||
'pull': 'always',
|
||||
'settings': settings,
|
||||
'when': {
|
||||
'ref': [
|
||||
'refs/heads/master',
|
||||
'refs/tags/**',
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
'name': 'changelog',
|
||||
'image': 'toolhippie/calens:latest',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'calens --version %s -o dist/CHANGELOG.md' % ctx.build.ref.replace("refs/tags/v", "").split("-")[0],
|
||||
],
|
||||
'when': {
|
||||
'ref': [
|
||||
'refs/tags/**',
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
'name': 'release',
|
||||
'image': 'plugins/github-release:1',
|
||||
'pull': 'always',
|
||||
'settings': {
|
||||
'api_key': {
|
||||
'from_secret': 'github_token',
|
||||
},
|
||||
'files': [
|
||||
'dist/release/*',
|
||||
],
|
||||
'title': ctx.build.ref.replace("refs/tags/v", ""),
|
||||
'note': 'dist/CHANGELOG.md',
|
||||
'overwrite': True,
|
||||
'prerelease': len(ctx.build.ref.split("-")) > 1,
|
||||
},
|
||||
'when': {
|
||||
'ref': [
|
||||
'refs/tags/**',
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
'volumes': [
|
||||
{
|
||||
'name': 'gopath',
|
||||
'temp': {},
|
||||
},
|
||||
],
|
||||
'depends_on': [
|
||||
'testing',
|
||||
],
|
||||
'trigger': {
|
||||
'ref': [
|
||||
'refs/heads/master',
|
||||
'refs/tags/**',
|
||||
'refs/pull/**',
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
def manifest(ctx):
|
||||
return {
|
||||
'kind': 'pipeline',
|
||||
'type': 'docker',
|
||||
'name': 'manifest',
|
||||
'platform': {
|
||||
'os': 'linux',
|
||||
'arch': 'amd64',
|
||||
},
|
||||
'steps': [
|
||||
{
|
||||
'name': 'execute',
|
||||
'image': 'plugins/manifest:1',
|
||||
'pull': 'always',
|
||||
'settings': {
|
||||
'username': {
|
||||
'from_secret': 'docker_username',
|
||||
},
|
||||
'password': {
|
||||
'from_secret': 'docker_password',
|
||||
},
|
||||
'spec': 'docker/manifest.tmpl',
|
||||
'auto_tag': True,
|
||||
'ignore_missing': True,
|
||||
},
|
||||
},
|
||||
],
|
||||
'depends_on': [
|
||||
'amd64',
|
||||
'arm64',
|
||||
'arm',
|
||||
'linux',
|
||||
'darwin',
|
||||
'windows',
|
||||
],
|
||||
'trigger': {
|
||||
'ref': [
|
||||
'refs/heads/master',
|
||||
'refs/tags/**',
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
def changelog(ctx):
|
||||
repo_slug = ctx.build.source_repo if ctx.build.source_repo else ctx.repo.slug
|
||||
return {
|
||||
'kind': 'pipeline',
|
||||
'type': 'docker',
|
||||
'name': 'changelog',
|
||||
'platform': {
|
||||
'os': 'linux',
|
||||
'arch': 'amd64',
|
||||
},
|
||||
'clone': {
|
||||
'disable': True,
|
||||
},
|
||||
'steps': [
|
||||
{
|
||||
'name': 'clone',
|
||||
'image': 'plugins/git-action:1',
|
||||
'pull': 'always',
|
||||
'settings': {
|
||||
'actions': [
|
||||
'clone',
|
||||
],
|
||||
'remote': 'https://github.com/%s' % (repo_slug),
|
||||
'branch': ctx.build.source if ctx.build.event == 'pull_request' else 'master',
|
||||
'path': '/drone/src',
|
||||
'netrc_machine': 'github.com',
|
||||
'netrc_username': {
|
||||
'from_secret': 'github_username',
|
||||
},
|
||||
'netrc_password': {
|
||||
'from_secret': 'github_token',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
'name': 'generate',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'make changelog',
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'diff',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'git diff',
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'output',
|
||||
'image': 'webhippie/golang:1.13',
|
||||
'pull': 'always',
|
||||
'commands': [
|
||||
'cat CHANGELOG.md',
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'publish',
|
||||
'image': 'plugins/git-action:1',
|
||||
'pull': 'always',
|
||||
'settings': {
|
||||
'actions': [
|
||||
'commit',
|
||||
'push',
|
||||
],
|
||||
'message': 'Automated changelog update [skip ci]',
|
||||
'branch': 'master',
|
||||
'author_email': 'devops@owncloud.com',
|
||||
'author_name': 'ownClouders',
|
||||
'netrc_machine': 'github.com',
|
||||
'netrc_username': {
|
||||
'from_secret': 'github_username',
|
||||
},
|
||||
'netrc_password': {
|
||||
'from_secret': 'github_token',
|
||||
},
|
||||
},
|
||||
'when': {
|
||||
'ref': {
|
||||
'exclude': [
|
||||
'refs/pull/**',
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
'depends_on': [
|
||||
'manifest',
|
||||
],
|
||||
'trigger': {
|
||||
'ref': [
|
||||
'refs/heads/master',
|
||||
'refs/pull/**',
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
def readme(ctx):
|
||||
return {
|
||||
'kind': 'pipeline',
|
||||
'type': 'docker',
|
||||
'name': 'readme',
|
||||
'platform': {
|
||||
'os': 'linux',
|
||||
'arch': 'amd64',
|
||||
},
|
||||
'steps': [
|
||||
{
|
||||
'name': 'execute',
|
||||
'image': 'sheogorath/readme-to-dockerhub:latest',
|
||||
'pull': 'always',
|
||||
'environment': {
|
||||
'DOCKERHUB_USERNAME': {
|
||||
'from_secret': 'docker_username',
|
||||
},
|
||||
'DOCKERHUB_PASSWORD': {
|
||||
'from_secret': 'docker_password',
|
||||
},
|
||||
'DOCKERHUB_REPO_PREFIX': ctx.repo.namespace,
|
||||
'DOCKERHUB_REPO_NAME': ctx.repo.name,
|
||||
'SHORT_DESCRIPTION': 'Docker images for %s' % (ctx.repo.name),
|
||||
'README_PATH': 'README.md',
|
||||
},
|
||||
},
|
||||
],
|
||||
'depends_on': [
|
||||
'changelog',
|
||||
],
|
||||
'trigger': {
|
||||
'ref': [
|
||||
'refs/heads/master',
|
||||
'refs/tags/**',
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
def badges(ctx):
|
||||
return {
|
||||
'kind': 'pipeline',
|
||||
'type': 'docker',
|
||||
'name': 'badges',
|
||||
'platform': {
|
||||
'os': 'linux',
|
||||
'arch': 'amd64',
|
||||
},
|
||||
'steps': [
|
||||
{
|
||||
'name': 'execute',
|
||||
'image': 'plugins/webhook:1',
|
||||
'pull': 'always',
|
||||
'settings': {
|
||||
'urls': {
|
||||
'from_secret': 'microbadger_url',
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
'depends_on': [
|
||||
'readme',
|
||||
],
|
||||
'trigger': {
|
||||
'ref': [
|
||||
'refs/heads/master',
|
||||
'refs/tags/**',
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
def website(ctx):
|
||||
return {
|
||||
'kind': 'pipeline',
|
||||
'type': 'docker',
|
||||
'name': 'website',
|
||||
'platform': {
|
||||
'os': 'linux',
|
||||
'arch': 'amd64',
|
||||
},
|
||||
'steps': [
|
||||
{
|
||||
'name': 'prepare',
|
||||
'image': 'owncloudci/alpine:latest',
|
||||
'commands': [
|
||||
'make docs-copy'
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'test',
|
||||
'image': 'webhippie/hugo:latest',
|
||||
'commands': [
|
||||
'cd hugo',
|
||||
'hugo',
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'list',
|
||||
'image': 'owncloudci/alpine:latest',
|
||||
'commands': [
|
||||
'tree hugo/public',
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'publish',
|
||||
'image': 'plugins/gh-pages:1',
|
||||
'pull': 'always',
|
||||
'settings': {
|
||||
'username': {
|
||||
'from_secret': 'github_username',
|
||||
},
|
||||
'password': {
|
||||
'from_secret': 'github_token',
|
||||
},
|
||||
'pages_directory': 'docs/',
|
||||
'target_branch': 'docs',
|
||||
},
|
||||
'when': {
|
||||
'ref': {
|
||||
'exclude': [
|
||||
'refs/pull/**',
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
'name': 'downstream',
|
||||
'image': 'plugins/downstream',
|
||||
'settings': {
|
||||
'server': 'https://cloud.drone.io/',
|
||||
'token': {
|
||||
'from_secret': 'drone_token',
|
||||
},
|
||||
'repositories': [
|
||||
'owncloud/owncloud.github.io@source',
|
||||
],
|
||||
},
|
||||
'when': {
|
||||
'ref': {
|
||||
'exclude': [
|
||||
'refs/pull/**',
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
'depends_on': [
|
||||
'badges',
|
||||
],
|
||||
'trigger': {
|
||||
'ref': [
|
||||
'refs/heads/master',
|
||||
'refs/pull/**',
|
||||
],
|
||||
},
|
||||
}
|
||||
35
konnectd/.editorconfig
Normal file
35
konnectd/.editorconfig
Normal file
@@ -0,0 +1,35 @@
|
||||
# http://editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[Makefile]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
|
||||
[*.go]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
|
||||
[*.starlark]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.{yml,json}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.{js,vue}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.{css,less}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = true
|
||||
12
konnectd/.github/config.yml
vendored
Normal file
12
konnectd/.github/config.yml
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
# Configuration for update-docs - https://github.com/behaviorbot/update-docs
|
||||
|
||||
# Comment to be posted to on PRs that don't update documentation
|
||||
updateDocsComment: >
|
||||
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a [changelog](https://github.com/owncloud/ocis-konnectd/blob/master/changelog/README.md) item based on your changes.
|
||||
updateDocsWhiteList:
|
||||
- Tests-only
|
||||
- tests-only
|
||||
- Tests-Only
|
||||
|
||||
updateDocsTargetFiles:
|
||||
- changelog/unreleased/
|
||||
0
konnectd/.github/issue_template.md
vendored
Normal file
0
konnectd/.github/issue_template.md
vendored
Normal file
0
konnectd/.github/pull_request_template.md
vendored
Normal file
0
konnectd/.github/pull_request_template.md
vendored
Normal file
98
konnectd/.github/settings.yml
vendored
Normal file
98
konnectd/.github/settings.yml
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
---
|
||||
repository:
|
||||
name: ocis-konnectd
|
||||
description: ':atom_symbol: Serve Konnectd for oCIS'
|
||||
homepage: https://owncloud.github.io/ocis-konnectd/
|
||||
topics: reva, ocis
|
||||
|
||||
private: false
|
||||
has_issues: true
|
||||
has_projects: false
|
||||
has_wiki: false
|
||||
has_downloads: false
|
||||
|
||||
default_branch: master
|
||||
|
||||
allow_squash_merge: true
|
||||
allow_merge_commit: true
|
||||
allow_rebase_merge: true
|
||||
|
||||
labels:
|
||||
- name: bug
|
||||
color: d73a4a
|
||||
description: Something isn't working
|
||||
- name: documentation
|
||||
color: 0075ca
|
||||
description: Improvements or additions to documentation
|
||||
- name: duplicate
|
||||
color: cfd3d7
|
||||
description: This issue or pull request already exists
|
||||
- name: enhancement
|
||||
color: a2eeef
|
||||
description: New feature or request
|
||||
- name: good first issue
|
||||
color: 7057ff
|
||||
description: Good for newcomers
|
||||
- name: help wanted
|
||||
color: 008672
|
||||
description: Extra attention is needed
|
||||
- name: invalid
|
||||
color: e4e669
|
||||
description: This doesn't seem right
|
||||
- name: question
|
||||
color: d876e3
|
||||
description: Further information is requested
|
||||
- name: wontfix
|
||||
color: ffffff
|
||||
description: This will not be worked on
|
||||
- name: effort/trivial
|
||||
color: c2e0c6
|
||||
description: Required effort to finish task
|
||||
- name: effort/0.25d
|
||||
color: c2e0c6
|
||||
description: Required effort to finish task
|
||||
- name: effort/0.5d
|
||||
color: c2e0c6
|
||||
description: Required effort to finish task
|
||||
- name: effort/1d
|
||||
color: c2e0c6
|
||||
description: Required effort to finish task
|
||||
- name: effort/2d
|
||||
color: c2e0c6
|
||||
description: Required effort to finish task
|
||||
- name: effort/4d
|
||||
color: c2e0c6
|
||||
description: Required effort to finish task
|
||||
- name: effort/5d
|
||||
color: c2e0c6
|
||||
description: Required effort to finish task
|
||||
- name: effort/10d
|
||||
color: c2e0c6
|
||||
description: Required effort to finish task
|
||||
|
||||
teams:
|
||||
- name: ci
|
||||
permission: admin
|
||||
- name: employees
|
||||
permission: push
|
||||
|
||||
branches:
|
||||
- name: master
|
||||
protection:
|
||||
required_pull_request_reviews:
|
||||
required_approving_review_count: 1
|
||||
dismiss_stale_reviews: false
|
||||
require_code_owner_reviews: false
|
||||
dismissal_restrictions: {}
|
||||
required_status_checks:
|
||||
strict: true
|
||||
contexts:
|
||||
- continuous-integration/drone/pr
|
||||
enforce_admins: false
|
||||
restrictions:
|
||||
users: []
|
||||
teams:
|
||||
- ci
|
||||
- employees
|
||||
|
||||
...
|
||||
7
konnectd/.gitignore
vendored
Normal file
7
konnectd/.gitignore
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
coverage.out
|
||||
|
||||
/bin
|
||||
/dist
|
||||
/hugo
|
||||
server.crt
|
||||
server.key
|
||||
151
konnectd/CHANGELOG.md
Normal file
151
konnectd/CHANGELOG.md
Normal file
@@ -0,0 +1,151 @@
|
||||
# Changelog for [0.3.2] (2020-07-23)
|
||||
|
||||
The following sections list the changes in ocis-konnectd 0.3.2.
|
||||
|
||||
[0.3.2]: https://github.com/owncloud/ocis-konnectd/compare/v0.3.1...v0.3.2
|
||||
|
||||
## Summary
|
||||
|
||||
* Bugfix - Add silent redirect url: [#69](https://github.com/owncloud/ocis-konnectd/issues/69)
|
||||
* Bugfix - Build docker images with alpine:latest instead of alpine:edge: [#71](https://github.com/owncloud/ocis-konnectd/pull/71)
|
||||
|
||||
## Details
|
||||
|
||||
* Bugfix - Add silent redirect url: [#69](https://github.com/owncloud/ocis-konnectd/issues/69)
|
||||
|
||||
Adds the oidc-silent-redirect.html phoenix uses to silently refresh access tokens to the
|
||||
default identifier-registration.yml
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/issues/69
|
||||
https://github.com/owncloud/ocis-konnectd/pull/70
|
||||
|
||||
|
||||
* Bugfix - Build docker images with alpine:latest instead of alpine:edge: [#71](https://github.com/owncloud/ocis-konnectd/pull/71)
|
||||
|
||||
ARM builds were failing when built on alpine:edge, so we switched to alpine:latest instead.
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/pull/71
|
||||
|
||||
# Changelog for [0.3.1] (2020-04-14)
|
||||
|
||||
The following sections list the changes in ocis-konnectd 0.3.1.
|
||||
|
||||
[0.3.1]: https://github.com/owncloud/ocis-konnectd/compare/v0.3.0...v0.3.1
|
||||
|
||||
## Summary
|
||||
|
||||
* Bugfix - Include the assets for #62: [#64](https://github.com/owncloud/ocis-konnectd/pull/64)
|
||||
|
||||
## Details
|
||||
|
||||
* Bugfix - Include the assets for #62: [#64](https://github.com/owncloud/ocis-konnectd/pull/64)
|
||||
|
||||
PR 62 introduced new client names. These assets needs to be generated in the embed.go file.
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/pull/64
|
||||
|
||||
# Changelog for [0.3.0] (2020-04-14)
|
||||
|
||||
The following sections list the changes in ocis-konnectd 0.3.0.
|
||||
|
||||
[0.3.0]: https://github.com/owncloud/ocis-konnectd/compare/v0.2.0...v0.3.0
|
||||
|
||||
## Summary
|
||||
|
||||
* Bugfix - Redirect to the provided uri: [#26](https://github.com/owncloud/ocis-konnectd/issues/26)
|
||||
* Change - Add a trailing slash to trusted redirect uris: [#26](https://github.com/owncloud/ocis-konnectd/issues/26)
|
||||
* Change - Improve client identifiers for end users: [#62](https://github.com/owncloud/ocis-konnectd/pull/62)
|
||||
* Enhancement - Use upstream version of konnect library: [#14](https://github.com/owncloud/product/issues/14)
|
||||
|
||||
## Details
|
||||
|
||||
* Bugfix - Redirect to the provided uri: [#26](https://github.com/owncloud/ocis-konnectd/issues/26)
|
||||
|
||||
The phoenix client was not set as trusted therefore when logging out the user was redirected to a
|
||||
default page instead of the provided url.
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/issues/26
|
||||
|
||||
|
||||
* Change - Add a trailing slash to trusted redirect uris: [#26](https://github.com/owncloud/ocis-konnectd/issues/26)
|
||||
|
||||
Phoenix changed the redirect uri to `<baseUrl>#/login` that means it will contain a trailing
|
||||
slash after the base url.
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/issues/26
|
||||
|
||||
|
||||
* Change - Improve client identifiers for end users: [#62](https://github.com/owncloud/ocis-konnectd/pull/62)
|
||||
|
||||
Improved end user facing client names in default identifier-registration.yaml
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/pull/62
|
||||
|
||||
|
||||
* Enhancement - Use upstream version of konnect library: [#14](https://github.com/owncloud/product/issues/14)
|
||||
|
||||
https://github.com/owncloud/product/issues/14
|
||||
|
||||
# Changelog for [0.2.0] (2020-03-18)
|
||||
|
||||
The following sections list the changes in ocis-konnectd 0.2.0.
|
||||
|
||||
[0.2.0]: https://github.com/owncloud/ocis-konnectd/compare/v0.1.0...v0.2.0
|
||||
|
||||
## Summary
|
||||
|
||||
* Enhancement - Change default config for single-binary: [#55](https://github.com/owncloud/ocis-konnectd/pull/55)
|
||||
|
||||
## Details
|
||||
|
||||
* Enhancement - Change default config for single-binary: [#55](https://github.com/owncloud/ocis-konnectd/pull/55)
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/pull/55
|
||||
|
||||
# Changelog for [0.1.0] (2020-03-18)
|
||||
|
||||
The following sections list the changes in ocis-konnectd 0.1.0.
|
||||
|
||||
[0.1.0]: https://github.com/owncloud/ocis-konnectd/compare/66337bb4dad4a3202880323adf7a51a1a3bb4085...v0.1.0
|
||||
|
||||
## Summary
|
||||
|
||||
* Bugfix - Generate a random CSP-Nonce in the webapp: [#17](https://github.com/owncloud/ocis-konnectd/issues/17)
|
||||
* Change - Dummy index.html is not required anymore by upstream: [#25](https://github.com/owncloud/ocis-konnectd/issues/25)
|
||||
* Change - Initial release of basic version: [#1](https://github.com/owncloud/ocis-konnectd/issues/1)
|
||||
* Change - Use glauth as ldap backend, default to running behind ocis-proxy: [#52](https://github.com/owncloud/ocis-konnectd/pull/52)
|
||||
|
||||
## Details
|
||||
|
||||
* Bugfix - Generate a random CSP-Nonce in the webapp: [#17](https://github.com/owncloud/ocis-konnectd/issues/17)
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/issues/17
|
||||
https://github.com/owncloud/ocis-konnectd/pull/29
|
||||
|
||||
|
||||
* Change - Dummy index.html is not required anymore by upstream: [#25](https://github.com/owncloud/ocis-konnectd/issues/25)
|
||||
|
||||
The workaround was required as identifier webapp was mandatory, but we serve it from memory.
|
||||
This also introduces --disable-identifier-webapp flag.
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/issues/25
|
||||
|
||||
|
||||
* Change - Initial release of basic version: [#1](https://github.com/owncloud/ocis-konnectd/issues/1)
|
||||
|
||||
Just prepare an initial basic version to serve konnectd embedded into our microservice
|
||||
infrastructure in the scope of the ownCloud Infinite Scale project.
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/issues/1
|
||||
|
||||
|
||||
* Change - Use glauth as ldap backend, default to running behind ocis-proxy: [#52](https://github.com/owncloud/ocis-konnectd/pull/52)
|
||||
|
||||
We changed the default configuration to integrate better with ocis.
|
||||
|
||||
The default ldap port changes to 9125, which is used by ocis-glauth and we use ocis-proxy to do
|
||||
the tls offloading. Clients are supposed to use the ocis-proxy endpoint
|
||||
`https://localhost:9200`
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/pull/52
|
||||
|
||||
202
konnectd/LICENSE
Normal file
202
konnectd/LICENSE
Normal file
@@ -0,0 +1,202 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
199
konnectd/Makefile
Normal file
199
konnectd/Makefile
Normal file
@@ -0,0 +1,199 @@
|
||||
SHELL := bash
|
||||
NAME := ocis-konnectd
|
||||
IMPORT := github.com/owncloud/$(NAME)
|
||||
BIN := bin
|
||||
DIST := dist
|
||||
HUGO := hugo
|
||||
|
||||
ifeq ($(OS), Windows_NT)
|
||||
EXECUTABLE := $(NAME).exe
|
||||
UNAME := Windows
|
||||
else
|
||||
EXECUTABLE := $(NAME)
|
||||
UNAME := $(shell uname -s)
|
||||
endif
|
||||
|
||||
ifeq ($(UNAME), Darwin)
|
||||
GOBUILD ?= go build -i
|
||||
else
|
||||
GOBUILD ?= go build
|
||||
endif
|
||||
|
||||
PACKAGES ?= $(shell go list ./...)
|
||||
SOURCES ?= $(shell find . -name "*.go" -type f -not -path "./node_modules/*")
|
||||
GENERATE ?= $(PACKAGES)
|
||||
|
||||
TAGS ?=
|
||||
|
||||
ifndef OUTPUT
|
||||
ifneq ($(DRONE_TAG),)
|
||||
OUTPUT ?= $(subst v,,$(DRONE_TAG))
|
||||
else
|
||||
OUTPUT ?= testing
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef VERSION
|
||||
ifneq ($(DRONE_TAG),)
|
||||
VERSION ?= $(subst v,,$(DRONE_TAG))
|
||||
else
|
||||
VERSION ?= $(shell git rev-parse --short HEAD)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef DATE
|
||||
DATE := $(shell date -u '+%Y%m%d')
|
||||
endif
|
||||
|
||||
LDFLAGS += -s -w -X "$(IMPORT)/pkg/version.String=$(VERSION)" -X "$(IMPORT)/pkg/version.Date=$(DATE)"
|
||||
DEBUG_LDFLAGS += -X "$(IMPORT)/pkg/version.String=$(VERSION)" -X "$(IMPORT)/pkg/version.Date=$(DATE)"
|
||||
GCFLAGS += all=-N -l
|
||||
|
||||
.PHONY: all
|
||||
all: build
|
||||
|
||||
.PHONY: sync
|
||||
sync:
|
||||
go mod download
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
go clean -i ./...
|
||||
rm -rf $(BIN) $(DIST) $(HUGO)
|
||||
|
||||
.PHONY: fmt
|
||||
fmt:
|
||||
gofmt -s -w $(SOURCES)
|
||||
|
||||
.PHONY: vet
|
||||
vet:
|
||||
go vet $(PACKAGES)
|
||||
|
||||
.PHONY: staticcheck
|
||||
staticcheck:
|
||||
go run honnef.co/go/tools/cmd/staticcheck -tags '$(TAGS)' $(PACKAGES)
|
||||
|
||||
.PHONY: lint
|
||||
lint:
|
||||
for PKG in $(PACKAGES); do go run golang.org/x/lint/golint -set_exit_status $$PKG || exit 1; done;
|
||||
|
||||
.PHONY: generate
|
||||
generate:
|
||||
go generate $(GENERATE)
|
||||
|
||||
.PHONY: changelog
|
||||
changelog:
|
||||
go run github.com/restic/calens >| CHANGELOG.md
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
go run github.com/haya14busa/goverage -v -coverprofile coverage.out $(PACKAGES)
|
||||
|
||||
.PHONY: install
|
||||
install: $(SOURCES)
|
||||
go install -v -tags '$(TAGS)' -ldflags '$(LDFLAGS)' ./cmd/$(NAME)
|
||||
|
||||
.PHONY: build
|
||||
build: $(BIN)/$(EXECUTABLE) $(BIN)/$(EXECUTABLE)-debug
|
||||
|
||||
$(BIN)/$(EXECUTABLE): $(SOURCES)
|
||||
$(GOBUILD) -v -tags '$(TAGS)' -ldflags '$(LDFLAGS)' -o $@ ./cmd/$(NAME)
|
||||
|
||||
$(BIN)/$(EXECUTABLE)-debug: $(SOURCES)
|
||||
$(GOBUILD) -v -tags '$(TAGS)' -ldflags '$(DEBUG_LDFLAGS)' -gcflags '$(GCFLAGS)' -o $@ ./cmd/$(NAME)
|
||||
|
||||
.PHONY: release
|
||||
release: release-dirs release-linux release-windows release-darwin release-copy release-check
|
||||
|
||||
.PHONY: release-dirs
|
||||
release-dirs:
|
||||
mkdir -p $(DIST)/binaries $(DIST)/release
|
||||
|
||||
.PHONY: release-linux
|
||||
release-linux: release-dirs
|
||||
go run github.com/mitchellh/gox -tags 'netgo $(TAGS)' -ldflags '-extldflags "-static" $(LDFLAGS)' -os 'linux' -arch 'amd64 386 arm64 arm' -output '$(DIST)/binaries/$(EXECUTABLE)-$(OUTPUT)-{{.OS}}-{{.Arch}}' ./cmd/$(NAME)
|
||||
|
||||
.PHONY: release-windows
|
||||
release-windows: release-dirs
|
||||
go run github.com/mitchellh/gox -tags 'netgo $(TAGS)' -ldflags '-extldflags "-static" $(LDFLAGS)' -os 'windows' -arch 'amd64' -output '$(DIST)/binaries/$(EXECUTABLE)-$(OUTPUT)-{{.OS}}-{{.Arch}}' ./cmd/$(NAME)
|
||||
|
||||
.PHONY: release-darwin
|
||||
release-darwin: release-dirs
|
||||
go run github.com/mitchellh/gox -tags 'netgo $(TAGS)' -ldflags '$(LDFLAGS)' -os 'darwin' -arch 'amd64' -output '$(DIST)/binaries/$(EXECUTABLE)-$(OUTPUT)-{{.OS}}-{{.Arch}}' ./cmd/$(NAME)
|
||||
|
||||
.PHONY: release-copy
|
||||
release-copy:
|
||||
$(foreach file,$(wildcard $(DIST)/binaries/$(EXECUTABLE)-*),cp $(file) $(DIST)/release/$(notdir $(file));)
|
||||
|
||||
.PHONY: release-check
|
||||
release-check:
|
||||
cd $(DIST)/release; $(foreach file,$(wildcard $(DIST)/release/$(EXECUTABLE)-*),sha256sum $(notdir $(file)) > $(notdir $(file)).sha256;)
|
||||
|
||||
.PHONY: release-finish
|
||||
release-finish: release-copy release-check
|
||||
|
||||
.PHONY: docs-copy
|
||||
docs-copy:
|
||||
mkdir -p $(HUGO); \
|
||||
mkdir -p $(HUGO)/content/extensions; \
|
||||
cd $(HUGO); \
|
||||
git init; \
|
||||
git remote rm origin; \
|
||||
git remote add origin https://github.com/owncloud/owncloud.github.io; \
|
||||
git fetch; \
|
||||
git checkout origin/source -f; \
|
||||
rsync --delete -ax ../docs/ content/extensions/$(NAME)
|
||||
|
||||
.PHONY: config-docs-generate
|
||||
config-docs-generate:
|
||||
go run github.com/owncloud/flaex >| docs/configuration.md
|
||||
|
||||
.PHONY: docs-build
|
||||
docs-build:
|
||||
cd $(HUGO); hugo
|
||||
|
||||
.PHONY: docs
|
||||
docs: config-docs-generate docs-copy docs-build
|
||||
|
||||
.PHONY: watch
|
||||
watch:
|
||||
go run github.com/cespare/reflex -c reflex.conf
|
||||
|
||||
# $(GOPATH)/bin/protoc-gen-go:
|
||||
# GO111MODULE=off go get -v github.com/golang/protobuf/protoc-gen-go
|
||||
|
||||
# $(GOPATH)/bin/protoc-gen-micro:
|
||||
# GO111MODULE=off go get -v github.com/micro/protoc-gen-micro
|
||||
|
||||
# $(GOPATH)/bin/protoc-gen-microweb:
|
||||
# GO111MODULE=off go get -v github.com/webhippie/protoc-gen-microweb
|
||||
|
||||
# $(GOPATH)/bin/protoc-gen-swagger:
|
||||
# GO111MODULE=off go get -v github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger
|
||||
|
||||
# pkg/proto/v0/example.pb.go: pkg/proto/v0/example.proto
|
||||
# protoc \
|
||||
# -I=third_party/ \
|
||||
# -I=pkg/proto/v0/ \
|
||||
# --go_out=pkg/proto/v0 example.proto
|
||||
|
||||
# pkg/proto/v0/example.pb.micro.go: pkg/proto/v0/example.proto
|
||||
# protoc \
|
||||
# -I=third_party/ \
|
||||
# -I=pkg/proto/v0/ \
|
||||
# --micro_out=pkg/proto/v0 example.proto
|
||||
|
||||
# pkg/proto/v0/example.pb.web.go: pkg/proto/v0/example.proto
|
||||
# protoc \
|
||||
# -I=third_party/ \
|
||||
# -I=pkg/proto/v0/ \
|
||||
# --microweb_out=pkg/proto/v0 example.proto
|
||||
|
||||
# pkg/proto/v0/example.swagger.json: pkg/proto/v0/example.proto
|
||||
# protoc \
|
||||
# -I=third_party/ \
|
||||
# -I=pkg/proto/v0/ \
|
||||
# --swagger_out=pkg/proto/v0 example.proto
|
||||
|
||||
# .PHONY: protobuf
|
||||
# protobuf: $(GOPATH)/bin/protoc-gen-go $(GOPATH)/bin/protoc-gen-micro $(GOPATH)/bin/protoc-gen-microweb $(GOPATH)/bin/protoc-gen-swagger pkg/proto/v0/example.pb.go pkg/proto/v0/example.pb.micro.go pkg/proto/v0/example.pb.web.go pkg/proto/v0/example.swagger.json
|
||||
45
konnectd/README.md
Normal file
45
konnectd/README.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# ownCloud Infinite Scale: Konnectd
|
||||
|
||||
[](https://cloud.drone.io/owncloud/ocis-konnectd)
|
||||
[](https://gitter.im/cs3org/reva)
|
||||
[](https://www.codacy.com/manual/owncloud/ocis-konnectd?utm_source=github.com&utm_medium=referral&utm_content=owncloud/ocis-konnectd&utm_campaign=Badge_Grade)
|
||||
[](http://godoc.org/github.com/owncloud/ocis-konnectd)
|
||||
[](http://goreportcard.com/report/github.com/owncloud/ocis-konnectd)
|
||||
[](http://microbadger.com/images/owncloud/ocis-konnectd "Get your own image badge on microbadger.com")
|
||||
|
||||
**This project is under heavy development, it's not in a working state yet!**
|
||||
|
||||
## Install
|
||||
|
||||
You can download prebuilt binaries from the GitHub releases or from our [download mirrors](http://download.owncloud.com/ocis/konnectd/). For instructions how to install this on your platform you should take a look at our [documentation](https://owncloud.github.io/extensions/ocis_konnectd/)
|
||||
|
||||
## Development
|
||||
|
||||
Make sure you have a working Go environment, for further reference or a guide take a look at the [install instructions](http://golang.org/doc/install.html). This project requires Go >= v1.13.
|
||||
|
||||
```console
|
||||
git clone https://github.com/owncloud/ocis-konnectd.git
|
||||
cd ocis-konnectd
|
||||
|
||||
make generate build
|
||||
|
||||
./bin/ocis-konnectd -h
|
||||
```
|
||||
|
||||
## Security
|
||||
|
||||
If you find a security issue please contact security@owncloud.com first.
|
||||
|
||||
## Contributing
|
||||
|
||||
Fork -> Patch -> Push -> Pull Request
|
||||
|
||||
## License
|
||||
|
||||
Apache-2.0
|
||||
|
||||
## Copyright
|
||||
|
||||
```console
|
||||
Copyright (c) 2020 ownCloud GmbH <https://owncloud.com>
|
||||
```
|
||||
118
konnectd/assets/identifier-registration.yaml
Normal file
118
konnectd/assets/identifier-registration.yaml
Normal file
@@ -0,0 +1,118 @@
|
||||
---
|
||||
|
||||
# OpenID Connect client registry.
|
||||
clients:
|
||||
- id: phoenix
|
||||
name: ownCloud web app
|
||||
application_type: web
|
||||
insecure: yes
|
||||
trusted: yes
|
||||
redirect_uris:
|
||||
- https://localhost:9200/
|
||||
- https://localhost:9200/oidc-callback.html
|
||||
- https://localhost:9200/oidc-silent-redirect.html
|
||||
- http://localhost:9100/
|
||||
- http://localhost:9100/oidc-callback.html
|
||||
- http://localhost:9100/oidc-silent-redirect.html
|
||||
origins:
|
||||
- https://localhost:9200
|
||||
- http://localhost:9100
|
||||
|
||||
- id: ocis-explorer.js
|
||||
name: OCIS Graph Explorer
|
||||
trusted: yes
|
||||
application_type: web
|
||||
insecure: yes
|
||||
|
||||
- id: xdXOt13JKxym1B1QcEncf2XDkLAexMBFwiT9j6EfhhHFJhs2KM9jbjTmf8JBXE69
|
||||
secret: UBntmLjC2yYCeHwsyj73Uwo9TAaecAetRwMw0xYcvNL9yRdLSUi0hUAHfvCHFeFh
|
||||
name: ownCloud desktop app
|
||||
application_type: native
|
||||
insecure: true
|
||||
|
||||
- id: e4rAsNUSIUs0lF4nbv9FmCeUkTlV9GdgTLDH1b5uie7syb90SzEVrbN7HIpmWJeD
|
||||
secret: dInFYGV33xKzhbRmpqQltYNdfLdJIfJ9L5ISoKhNoT9qZftpdWSP71VrpGR9pmoD
|
||||
name: ownCloud Android app
|
||||
application_type: native
|
||||
redirect_uris:
|
||||
- oc://android.owncloud.com
|
||||
|
||||
- id: mxd5OQDk6es5LzOzRvidJNfXLUZS2oN3oUFeXPP8LpPrhx3UroJFduGEYIBOxkY1
|
||||
secret: KFeFWWEZO9TkisIQzR3fo7hfiMXlOpaqP8CFuTbSHzV1TUuGECglPxpiVKJfOXIx
|
||||
name: ownCloud iOS app
|
||||
application_type: native
|
||||
redirect_uris:
|
||||
- oc://ios.owncloud.com
|
||||
- oc.ios://ios.owncloud.com
|
||||
|
||||
|
||||
# - id: playground-trusted.js
|
||||
# name: Trusted OIDC Playground
|
||||
# trusted: yes
|
||||
# application_type: web
|
||||
# redirect_uris:
|
||||
# - https://my-host:8509/
|
||||
# origins:
|
||||
# - https://my-host:8509
|
||||
|
||||
# - id: playground-trusted.js
|
||||
# name: Trusted Insecure OIDC Playground
|
||||
# trusted: yes
|
||||
# application_type: web
|
||||
# insecure: yes
|
||||
|
||||
# - id: client-with-keys
|
||||
# secret: super
|
||||
# application_type: native
|
||||
# redirect_uris:
|
||||
# - http://localhost
|
||||
# trusted_scopes:
|
||||
# - konnect/guestok
|
||||
# - kopano/kwm
|
||||
# jwks:
|
||||
# keys:
|
||||
# - kty: EC
|
||||
# use: sig
|
||||
# kid: client-with-keys-key-1
|
||||
# crv: P-256
|
||||
# x: RTZpWoRbjwX1YavmSHVBj6Cy3Yzdkkp6QLvTGB22D0c
|
||||
# y: jeavjwcX0xlDSchFcBMzXSU7wGs2VPpNxWCwmxFvmF0
|
||||
# request_object_signing_alg: ES256
|
||||
|
||||
# - id: first
|
||||
# secret: lala
|
||||
# application_type: native
|
||||
# redirect_uris:
|
||||
# - my://app
|
||||
|
||||
# - id: second
|
||||
# secret: lulu
|
||||
# application_type: native
|
||||
# redirect_uris:
|
||||
# - http://localhost
|
||||
|
||||
# External authority registry.
|
||||
authorities:
|
||||
# - id: my-univention
|
||||
# name: Univention
|
||||
# client_id: kopano-konnect
|
||||
# authority_type: oidc
|
||||
# jwks:
|
||||
# keys:
|
||||
# - kty: EC
|
||||
# use: sig
|
||||
# kid: example-key-1
|
||||
# crv: P-256
|
||||
# x: RTZpWoRbjwX1YavmSHVBj6Cy3Yzdkkp6QLvTGB22D0c
|
||||
# y: jeavjwcX0xlDSchFcBMzXSU7wGs2VPpNxWCwmxFvmF0
|
||||
# default: yes
|
||||
# authorization_endpoint: https://my-univention/signin/v1/identifier/_/authorize
|
||||
# response_type: id_token
|
||||
# scopes:
|
||||
# - openid
|
||||
# - profile
|
||||
# identity_claim_name: preferred_username
|
||||
# identity_aliases:
|
||||
# external-user-a: local-user-a
|
||||
# external-user-b: local-user-b
|
||||
# identity_alias_required: true
|
||||
22
konnectd/assets/identifier/asset-manifest.json
Normal file
22
konnectd/assets/identifier/asset-manifest.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"identifier-app.js": "./static/js/identifier-app.b36b0d07.chunk.js",
|
||||
"identifier-app.js.map": "./static/js/identifier-app.b36b0d07.chunk.js.map",
|
||||
"identifier-container.js": "./static/js/identifier-container.569688ae.chunk.js",
|
||||
"identifier-container.js.map": "./static/js/identifier-container.569688ae.chunk.js.map",
|
||||
"main.css": "./static/css/main.ed0ebb7d.chunk.css",
|
||||
"main.js": "./static/js/main.c5511071.chunk.js",
|
||||
"main.js.map": "./static/js/main.c5511071.chunk.js.map",
|
||||
"runtime~main.js": "./static/js/runtime~main.766bf48a.js",
|
||||
"runtime~main.js.map": "./static/js/runtime~main.766bf48a.js.map",
|
||||
"static/js/4.f92d7884.chunk.js": "./static/js/4.f92d7884.chunk.js",
|
||||
"static/js/4.f92d7884.chunk.js.map": "./static/js/4.f92d7884.chunk.js.map",
|
||||
"static/js/5.b1222fed.chunk.js": "./static/js/5.b1222fed.chunk.js",
|
||||
"static/js/5.b1222fed.chunk.js.map": "./static/js/5.b1222fed.chunk.js.map",
|
||||
"index.html": "./index.html",
|
||||
"precache-manifest.ea8b619599c55ba5f128f51d796152cd.js": "./precache-manifest.ea8b619599c55ba5f128f51d796152cd.js",
|
||||
"service-worker.js": "./service-worker.js",
|
||||
"static/css/main.ed0ebb7d.chunk.css.map": "./static/css/main.ed0ebb7d.chunk.css.map",
|
||||
"static/media/kopano-logo.svg": "./static/media/kopano-logo.10e256c7.svg",
|
||||
"static/media/fancy-background.css": "./static/media/loginscreen-bg.cc3ef0e4.jpg",
|
||||
"static/media/index.css": "./static/media/roboto-latin-900italic.bc833e72.woff"
|
||||
}
|
||||
1
konnectd/assets/identifier/index.html
Normal file
1
konnectd/assets/identifier/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><html lang="en"><head data-kopano-build="0.28.1-3-gabe57b2-dirty"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#ffffff"><link rel="shortcut icon" href="./static/favicon.ico" type="image/x-icon"><meta property="csp-nonce" content="__CSP_NONCE__"><title>Kopano Sign in</title><link href="./static/css/main.ed0ebb7d.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="bg"><div id="bg-thumb"></div><div id="bg-enhanced"></div></div><div id="root" data-path-prefix="__PATH_PREFIX__"></div><div id="font-preloader"><span>aA</span>Bb</div><script src="./static/js/runtime~main.766bf48a.js"></script><script src="./static/js/main.c5511071.chunk.js"></script></body></html>
|
||||
@@ -0,0 +1,142 @@
|
||||
self.__precacheManifest = [
|
||||
{
|
||||
"revision": "7aa085561004b3906a54",
|
||||
"url": "./static/js/identifier-app.b36b0d07.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "086f2ac22fca8d45f2f1",
|
||||
"url": "./static/js/identifier-container.569688ae.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "ec7a9d03e50fe60db0c9",
|
||||
"url": "./static/css/main.ed0ebb7d.chunk.css"
|
||||
},
|
||||
{
|
||||
"revision": "ec7a9d03e50fe60db0c9",
|
||||
"url": "./static/js/main.c5511071.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "9987e5e6817f0b1d1511",
|
||||
"url": "./static/js/runtime~main.766bf48a.js"
|
||||
},
|
||||
{
|
||||
"revision": "de913ae19ba466b785d7",
|
||||
"url": "./static/js/4.f92d7884.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "435f63f2b0ecc59d0119",
|
||||
"url": "./static/js/5.b1222fed.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "d704bb3d579b7d5e40880c75705c8a71",
|
||||
"url": "./static/media/roboto-latin-100italic.d704bb3d.woff"
|
||||
},
|
||||
{
|
||||
"revision": "55536c8e9e9a532651e3cf374f290ea3",
|
||||
"url": "./static/media/roboto-latin-300.55536c8e.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "a1471d1d6431c893582a5f6a250db3f9",
|
||||
"url": "./static/media/roboto-latin-300.a1471d1d.woff"
|
||||
},
|
||||
{
|
||||
"revision": "6232f43d15b0e7a0bf0fe82e295bdd06",
|
||||
"url": "./static/media/roboto-latin-100italic.6232f43d.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "d69924b98acd849cdeba9fbff3f88ea6",
|
||||
"url": "./static/media/roboto-latin-300italic.d69924b9.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "210a7c781f5a354a0e4985656ab456d9",
|
||||
"url": "./static/media/roboto-latin-300italic.210a7c78.woff"
|
||||
},
|
||||
{
|
||||
"revision": "987b84570ea69ee660455b8d5e91f5f1",
|
||||
"url": "./static/media/roboto-latin-100.987b8457.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "e9dbbe8a693dd275c16d32feb101f1c1",
|
||||
"url": "./static/media/roboto-latin-100.e9dbbe8a.woff"
|
||||
},
|
||||
{
|
||||
"revision": "5d4aeb4e5f5ef754e307d7ffaef688bd",
|
||||
"url": "./static/media/roboto-latin-400.5d4aeb4e.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "bafb105baeb22d965c70fe52ba6b49d9",
|
||||
"url": "./static/media/roboto-latin-400.bafb105b.woff"
|
||||
},
|
||||
{
|
||||
"revision": "d8bcbe724fd6f4ba44d0ee6a2675890f",
|
||||
"url": "./static/media/roboto-latin-400italic.d8bcbe72.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "9680d5a0c32d2fd084e07bbc4c8b2923",
|
||||
"url": "./static/media/roboto-latin-400italic.9680d5a0.woff"
|
||||
},
|
||||
{
|
||||
"revision": "285467176f7fe6bb6a9c6873b3dad2cc",
|
||||
"url": "./static/media/roboto-latin-500.28546717.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "de8b7431b74642e830af4d4f4b513ec9",
|
||||
"url": "./static/media/roboto-latin-500.de8b7431.woff"
|
||||
},
|
||||
{
|
||||
"revision": "510dec37fa69fba39593e01a469ee018",
|
||||
"url": "./static/media/roboto-latin-500italic.510dec37.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "ffcc050b2d92d4b14a4fcb527ee0bcc8",
|
||||
"url": "./static/media/roboto-latin-500italic.ffcc050b.woff"
|
||||
},
|
||||
{
|
||||
"revision": "037d830416495def72b7881024c14b7b",
|
||||
"url": "./static/media/roboto-latin-700.037d8304.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "cf6613d1adf490972c557a8e318e0868",
|
||||
"url": "./static/media/roboto-latin-700.cf6613d1.woff"
|
||||
},
|
||||
{
|
||||
"revision": "010c1aeee3c6d1cbb1d5761d80353823",
|
||||
"url": "./static/media/roboto-latin-700italic.010c1aee.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "19b7a0adfdd4f808b53af7e2ce2ad4e5",
|
||||
"url": "./static/media/roboto-latin-900.19b7a0ad.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "846d1890aee87fde5d8ced8eba360c3a",
|
||||
"url": "./static/media/roboto-latin-700italic.846d1890.woff"
|
||||
},
|
||||
{
|
||||
"revision": "8c2ade503b34e31430d6c98aa29a52a3",
|
||||
"url": "./static/media/roboto-latin-900.8c2ade50.woff"
|
||||
},
|
||||
{
|
||||
"revision": "7b770d6c53423deb1a8e49d3c9175184",
|
||||
"url": "./static/media/roboto-latin-900italic.7b770d6c.woff2"
|
||||
},
|
||||
{
|
||||
"revision": "bc833e725c137257c2c42a789845d82f",
|
||||
"url": "./static/media/roboto-latin-900italic.bc833e72.woff"
|
||||
},
|
||||
{
|
||||
"revision": "cc3ef0e44832d84dcdb8fce769840ecd",
|
||||
"url": "./static/media/loginscreen-bg.cc3ef0e4.jpg"
|
||||
},
|
||||
{
|
||||
"revision": "6f9a3fb01c61fa1d416601814b69f57a",
|
||||
"url": "./static/media/loginscreen-bg-overlay.6f9a3fb0.svg"
|
||||
},
|
||||
{
|
||||
"revision": "10e256c785b6ad2fe0a337b2aa9e6da6",
|
||||
"url": "./static/media/kopano-logo.10e256c7.svg"
|
||||
},
|
||||
{
|
||||
"revision": "02abc6e9f1d6def38abd7f6b448b00f0",
|
||||
"url": "./index.html"
|
||||
}
|
||||
];
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
BIN
konnectd/assets/identifier/static/favicon.ico
Normal file
BIN
konnectd/assets/identifier/static/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 106 KiB |
2
konnectd/assets/identifier/static/js/4.f92d7884.chunk.js
Normal file
2
konnectd/assets/identifier/static/js/4.f92d7884.chunk.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
konnectd/assets/identifier/static/js/5.b1222fed.chunk.js
Normal file
2
konnectd/assets/identifier/static/js/5.b1222fed.chunk.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],[function(n,o,i){n.exports=i(6)},function(n,o,i){},function(n,o,i){},function(n,o,i){},function(n,o,i){},function(n,o,i){},function(n,o,i){"use strict";i.r(o);i(1),i(2),i(3),i(4),i(5);console.info("Kopano Identifier build version: ".concat("0.28.1-3-gabe57b2-dirty")),console.info("Kopano Kpop build version: ".concat("0.24.5")),Promise.all([i.e(4),i.e(0)]).then(i.bind(null,552))}],[[0,3]]]);
|
||||
//# sourceMappingURL=main.c5511071.chunk.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["index.js","version.js","../node_modules/kpop/es/version.js"],"names":["console","info","concat","process","Promise","all","__webpack_require__","e","then","bind"],"mappings":"gPAUAA,QAAQC,KAAR,oCAAAC,OCRcC,4BDSdH,QAAQC,KAAR,8BAAAC,OEVA,WFaAE,QAAAC,IAAA,CAAAC,EAAAC,EAAA,GAAAD,EAAAC,EAAA,KAAAC,KAAAF,EAAAG,KAAA","file":"static/js/main.c5511071.chunk.js","sourcesContent":["import 'kpop/static/css/base.css';\nimport 'kpop/static/css/scrollbar.css';\nimport 'typeface-roboto';\nimport './app.css';\nimport './fancy-background.css';\n\nimport * as kpop from 'kpop/es/version';\n\nimport * as version from './version';\n\nconsole.info(`Kopano Identifier build version: ${version.build}`); // eslint-disable-line no-console\nconsole.info(`Kopano Kpop build version: ${kpop.build}`); // eslint-disable-line no-console\n\n// NOTE(longsleep): Load async, this enables code splitting via Webpack.\nimport(/* webpackChunkName: \"identifier-app\" */ './identifier');\n","/*global process: true*/\n\nconst build = process.env.REACT_APP_KOPANO_BUILD || '0.0.0-no-proper-build';\n\nexport {\n build\n};\n","/*global process: true*/\nvar build = \"0.24.5\" || '0.0.0-no-proper-build';\nexport { build };"],"sourceRoot":""}
|
||||
@@ -0,0 +1,2 @@
|
||||
!function(e){function r(r){for(var n,u,a=r[0],c=r[1],f=r[2],p=0,s=[];p<a.length;p++)u=a[p],o[u]&&s.push(o[u][0]),o[u]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(l&&l(r);s.length;)s.shift()();return i.push.apply(i,f||[]),t()}function t(){for(var e,r=0;r<i.length;r++){for(var t=i[r],n=!0,a=1;a<t.length;a++){var c=t[a];0!==o[c]&&(n=!1)}n&&(i.splice(r--,1),e=u(u.s=t[0]))}return e}var n={},o={3:0},i=[];function u(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,u),t.l=!0,t.exports}u.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise(function(r,n){t=o[e]=[r,n]});r.push(t[2]=n);var i,a=document.createElement("script");a.charset="utf-8",a.timeout=120,u.nc&&a.setAttribute("nonce",u.nc),a.src=function(e){return u.p+"static/js/"+({0:"identifier-app",1:"identifier-container"}[e]||e)+"."+{0:"b36b0d07",1:"569688ae",4:"f92d7884",5:"b1222fed"}[e]+".chunk.js"}(e),i=function(r){a.onerror=a.onload=null,clearTimeout(c);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src,u=new Error("Loading chunk "+e+" failed.\n("+n+": "+i+")");u.type=n,u.request=i,t[1](u)}o[e]=void 0}};var c=setTimeout(function(){i({type:"timeout",target:a})},12e4);a.onerror=a.onload=i,document.head.appendChild(a)}return Promise.all(r)},u.m=e,u.c=n,u.d=function(e,r,t){u.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},u.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,r){if(1&r&&(e=u(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)u.d(t,n,function(r){return e[r]}.bind(null,n));return t},u.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(r,"a",r),r},u.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},u.p="./",u.oe=function(e){throw console.error(e),e};var a=window.webpackJsonp=window.webpackJsonp||[],c=a.push.bind(a);a.push=r,a=a.slice();for(var f=0;f<a.length;f++)r(a[f]);var l=c;t()}([]);
|
||||
//# sourceMappingURL=runtime~main.766bf48a.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 1432.3 334.7" style="enable-background:new 0 0 1432.3 334.7;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;}
|
||||
.st1{fill:#414042;}
|
||||
.st2{fill:#00B3F0;}
|
||||
</style>
|
||||
<g id="Layer_1">
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M512.2,333.7h-37V145.5c0-14.7,2.8-28.9,8.3-42.3c5.5-13.4,13.5-25.5,24-35.9c10.2-10.2,22.1-18.2,35.5-23.8
|
||||
c13.4-5.6,27.6-8.5,42.4-8.5c14.7,0,29,2.9,42.4,8.5c13.4,5.6,25.3,13.6,35.5,23.8c10.4,10.4,18.5,22.5,24,35.9
|
||||
c5.5,13.4,8.3,27.6,8.3,42.3c0,14.4-2.8,28.6-8.3,41.9c-5.5,13.4-13.6,25.5-24,35.9c-10.2,10.2-22.1,18.2-35.5,23.8
|
||||
c-13.4,5.6-27.6,8.5-42.4,8.5c-14.7,0-29-2.9-42.4-8.5c-11.4-4.8-21.7-11.3-30.7-19.3V333.7z M585.3,72c-10,0-19.6,1.9-28.4,5.7
|
||||
c-8.9,3.8-16.7,9.1-23.3,15.7c-6.6,6.6-11.9,14.5-15.7,23.4c-3.8,9-5.8,18.6-5.8,28.6s1.9,19.6,5.7,28.4
|
||||
c3.8,8.9,9.1,16.7,15.7,23.3c6.6,6.6,14.4,11.9,23.3,15.7c8.8,3.8,18.4,5.7,28.4,5.7c10,0,19.6-1.9,28.4-5.7
|
||||
c8.9-3.8,16.7-9.1,23.3-15.7c6.6-6.6,11.8-14.4,15.7-23.3c3.8-8.8,5.7-18.4,5.7-28.4c0-10-1.9-19.7-5.8-28.6
|
||||
c-3.8-9-9.1-16.9-15.7-23.4c-6.6-6.6-14.4-11.8-23.3-15.7C604.9,74,595.3,72,585.3,72z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M832.7,255.6c-14.7,0-29-2.9-42.4-8.5c-13.4-5.6-25.3-13.6-35.5-23.8c-10.4-10.4-18.5-22.5-24-35.9
|
||||
c-5.5-13.4-8.3-27.5-8.3-41.9c0-14.7,2.8-28.9,8.3-42.3c5.5-13.4,13.6-25.5,24-35.9c10.2-10.2,22.1-18.2,35.5-23.8
|
||||
c13.4-5.6,27.6-8.5,42.4-8.5c14.7,0,29,2.9,42.4,8.5c13.4,5.6,25.3,13.6,35.5,23.8c10.4,10.4,18.5,22.5,24,35.9
|
||||
c5.5,13.4,8.3,27.6,8.3,42.3v101.2h-37v-20c-2.8,2.9-5.8,5.6-8.8,7.9c-6.5,5-13.4,9.1-20.5,12.2c-7.1,3.1-14.5,5.3-22.1,6.7
|
||||
C846.9,254.9,839.7,255.6,832.7,255.6z M832.7,72c-10,0-19.6,1.9-28.4,5.7c-8.9,3.8-16.7,9.1-23.3,15.7
|
||||
c-6.6,6.6-11.8,14.4-15.7,23.4c-3.8,9-5.8,18.6-5.8,28.6c0,10,1.9,19.6,5.7,28.4c3.8,8.9,9.1,16.7,15.7,23.3
|
||||
c6.6,6.6,14.4,11.9,23.3,15.7c8.8,3.8,18.4,5.7,28.4,5.7c10,0,19.6-1.9,28.4-5.7c8.9-3.8,16.7-9.1,23.3-15.7
|
||||
c6.6-6.6,11.9-14.4,15.7-23.3c3.8-8.8,5.7-18.4,5.7-28.4c0-10-1.9-19.7-5.8-28.6c-3.8-9-9.1-16.9-15.7-23.4
|
||||
c-6.6-6.6-14.4-11.8-23.3-15.7C852.3,74,842.8,72,832.7,72z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M1321.4,255.7c-14.7,0-28.9-2.9-42.2-8.5c-13.2-5.6-25.2-13.6-35.6-23.7c-10.2-10.5-18.2-22.6-23.8-35.9
|
||||
c-5.6-13.4-8.5-27.5-8.5-42c0-14.7,2.8-29,8.5-42.4c5.6-13.4,13.6-25.4,23.7-35.8c10.5-10.2,22.5-18.2,35.7-23.8
|
||||
c13.3-5.6,27.5-8.5,42.2-8.5c14.7,0,29,2.9,42.4,8.5c13.3,5.6,25.4,13.6,35.8,23.7c10.2,10.5,18.2,22.6,23.8,35.9
|
||||
c5.6,13.4,8.5,27.6,8.5,42.4c0,14.5-2.8,28.6-8.5,42c-5.6,13.4-13.6,25.4-23.7,35.8c-10.5,10.2-22.6,18.2-35.9,23.8
|
||||
C1350.4,252.8,1336.1,255.7,1321.4,255.7z M1321.4,72.1c-10,0-19.6,1.9-28.4,5.7c-8.9,3.8-16.7,9.1-23.3,15.7
|
||||
c-6.6,6.6-11.9,14.5-15.7,23.4c-3.8,8.9-5.8,18.6-5.8,28.6c0,10,1.9,19.6,5.7,28.4c3.8,8.9,9.1,16.7,15.7,23.3
|
||||
c6.6,6.6,14.4,11.9,23.3,15.7c8.8,3.8,18.4,5.7,28.4,5.7c10,0,19.6-1.9,28.4-5.7c8.9-3.8,16.8-9.1,23.5-15.7
|
||||
c6.7-6.6,12-14.4,15.8-23.2c3.8-8.8,5.8-18.4,5.8-28.4c0-10-1.9-19.7-5.8-28.6c-3.8-9-9.2-16.8-15.8-23.4
|
||||
c-6.7-6.6-14.6-11.9-23.5-15.7C1341,74,1331.5,72.1,1321.4,72.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M37,290.9H0V0h37V290.9z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M192.4,291.2L70.7,169.4c-6.4-6.4-9.9-14.8-9.9-23.9c0-9,3.5-17.5,9.9-23.9L192.4,0l26.2,26.2L106.1,138.7
|
||||
c-1.8,1.8-2.8,4.3-2.8,6.9c0,2.6,1,5,2.8,6.9L218.6,265L192.4,291.2z"/>
|
||||
</g>
|
||||
</g>
|
||||
<path class="st2" d="M334,145.6c0-2.6-1-5-2.8-6.9l-3.5-3.5c0,0,0,0,0,0l-70-70l-2.3,2.4c-10.1,10.4-18,22.4-23.6,35.6
|
||||
c-5.6,13.4-8.5,27.6-8.5,42.4c0,14.5,2.9,28.6,8.5,42c5.6,13.3,13.6,25.4,23.8,35.8l2.3,2.4l69.8-69.8l0,0l3.5-3.5
|
||||
C333,150.6,334,148.2,334,145.6z"/>
|
||||
<path class="st1" d="M435.4,103.2L435.4,103.2c-5.6-13.4-13.6-25.4-23.8-35.9c-10.4-10.2-22.5-18.1-35.8-23.7
|
||||
c-13.4-5.6-27.6-8.5-42.4-8.5c-14.7,0-28.9,2.9-42.2,8.5c-0.7,0.3-1.3,0.6-2,0.9l29.2,29.2c4.9-1,9.9-1.6,15-1.6
|
||||
c10,0,19.6,1.9,28.4,5.7c8.9,3.8,16.8,9.1,23.5,15.7c6.7,6.6,12,14.4,15.8,23.4c3.8,9,5.8,18.6,5.8,28.6c0,10-1.9,19.6-5.8,28.4
|
||||
c-3.8,8.9-9.2,16.7-15.8,23.2c-6.7,6.6-14.6,11.9-23.5,15.7c-8.8,3.8-18.4,5.7-28.4,5.7c-5,0-9.9-0.5-14.7-1.5l-29.2,29.2
|
||||
c0.6,0.3,1.1,0.5,1.7,0.8c13.3,5.6,27.5,8.5,42.2,8.5c14.7,0,29-2.9,42.4-8.5c13.4-5.6,25.4-13.6,35.9-23.8
|
||||
c10.1-10.4,18.1-22.5,23.7-35.8c5.6-13.4,8.5-27.5,8.5-42C443.9,130.9,441,116.6,435.4,103.2z"/>
|
||||
<path class="st1" d="M1082,35c-55.4,0-100.3,44.9-100.3,100.3h-0.1v44.2v68h37h0.1V135.3c0-35,28.3-63.3,63.3-63.3
|
||||
c35,0,63.3,28.3,63.3,63.3h-0.1v112.2h37c0,0,0.1-111.6,0.1-112.2C1182.3,79.9,1137.4,35,1082,35z"/>
|
||||
<rect id="_x3C_Slice_x3E_" x="-0.7" y="-0.3" class="st0" width="1433" height="335"/>
|
||||
</g>
|
||||
<g id="Layer_2">
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
@@ -0,0 +1,95 @@
|
||||
<svg enable-background="new 0 0 7680 4320" version="1.1" viewBox="0 0 7680 4320" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
|
||||
<style type="text/css">
|
||||
.st0{fill:#00B3F0;}
|
||||
</style>
|
||||
<path class="st0" d="m2294.4 2255.6c12.4-21.7 7.4-36.7-11.4-54.5-33.2-31.4-45-74.5-52.3-118.8-0.6-5-1.3-10-1.9-15 0-9.1-0.2-18.3-0.3-27.5l2.3-15c5-33.7 14.4-65.9 35.8-93.3 18.1-23.3 43.2-40.1 71.6-48.1 5.7-1.7 13.7 0 16-8.4h47.1c26 7.8 52.6 13.7 76 28.4 120.8 75.7 124.5 218.4 7.8 301-19.6 13.9-19.6 13.9-3.9 30.7 3.9 4.3 7.6 9 11.8 13 20.3 18.8 37.5 37.9 69.4 43.4 53.1 9.2 104.4 28.3 156.6 43.2 13.3 3.7 24.7 12.5 31.7 24.4 49.4 76.9 83.6 161.1 119.4 244.6 5.4 12.5-1 18.5-9.7 23.9-6.4 3.9-9.6 6.8-5.5 15.1 15 30.1 22.4 62.8 27.7 95.7 1.2 7.8 2.6 11.6 12.5 12.7 33.2 3.6 54.6 31.8 50.5 64.8-4.5 35.8-20.1 64.7-53.4 81.8-10.9 6.4-24.3 7.2-35.9 2.2-3.6-1.7-7.1-3.9-6.6-8.7s4.8-5.3 8.7-6c45.6-7.3 77.3-56.4 64.3-99.5-1.9-6.4-27.7-20.2-33-17.3-6.3 3.5-3.7 9.1-1.6 13.7 5.6 11.9 8.2 25 7.4 38.1-0.3 6.5-2 12.3-9.7 12.1-7.6-0.2-9.7-6.2-9.3-12.6 3.3-55.4-19.6-105.4-31.9-157.7-3.1-13.7-7.8-19.6-21.7-7.8-16.6 14.8-36.5 25.4-58 30.8 57.6 86.9 71.3 207 28.5 255-5.1-14.1-3.1-27.5-1.6-40.8 4.5-41.9 5.3-83.6-6-124.6-3.2-12-7.4-23.7-12.6-35-16.7-35.5-26.4-41.6-65.7-37.1-209.3 23.9-419.2 15.3-629 12.8-49.2-0.5-98.4-2-146.5 10.9-13.3 3.4-26.2 8-38.6 13.8-44.6 21.2-57.7 46.9-52.5 96 4.5 41 14.7 81.1 30.4 119.2 2.4 5.9 8.6 14.4-1.3 18.6-8.5 3.6-12.7-4.7-16.4-10.7-16.6-27.2-24.1-57.7-31-88.3-3.7-33.6-11.8-67.2 0-100.7 27.5-48.3 73.5-65.5 124.1-74.5 17.8-3.2 36.1-3.5 54.3-5.2 2.6 0.3 4.8 0 4.7-3.4-0.6-10.4-1.3-20.8-2-31.4l-0.8-8.6-2.1-46.2 0.9-51c3-18.1 4-36.6 3-54.9l0.5-7.8c9.2-13.6 10.9-29.9 15.7-45 2.5-7.8-0.4-6 3.5-13.8 3.3-5.7 7.2-10.9 11.8-15.7 55.9-30.6 90.7-52.8 146.7-83.1 23.5-12.7 47.1-24.8 73.1-31.9 3.9 2.4 10-1.1 13.9 3.9-6 5.1-12.4 9.8-19 14-63.8 34.3-125.2 73.2-190.5 104.9-4.8 2.3-9.7 4.3-11.8 9.8-10.2 28.2-22.1 56-25.2 86.3-5.3 50.8-3.7 101.8-4.8 152.7-0.5 24.1 0.7 25 25 24.5 39.9-0.9 79.7-2.1 119.5-2.2 157.4-0.5 314.9 3.9 472.1-7.5 64.1-4.6 125.2-18 180.5-52.3 32-19.9 32.1-20.8 16.8-55.2-32-72.2-59.8-146.4-102.4-213.5-6-10.1-15.8-17.5-27.2-20.5-43.2-12.4-86.3-25.5-129.5-38.6-15.5-4.8-32.2-4-47.1 2.4-72.5 27.5-145.7 35.8-218.1-0.9-8.1-3.9-21-0.5-23.8-13.7 9.4-12 4.8-27.3 10-40.1zm169.5-37.8c-44.9 19.6-90.2 35.3-139.3 14.4-6.5-2.7-9.3 0.4-9.7 7.3-1.2 18.3-7.8 35.3-14.4 50.5 71.4 32.8 142.9 28.9 218.3 4.2-19.6-14.7-35.6-28.6-48.1-46.1-5.3-7.3-12.1-14.3-6.9-24.6 2.1-0.6 4.9-0.9 3.9-3.9 0.1-0.9-2.3-1.2-3.8-1.8zm-212.6-167.5c-0.5 29.3 4.9 58.3 15.7 85.5 23.9 62.2 73.5 95.7 128.5 86.3 37-6.1 71.5-22.4 99.7-47.1 76.1-66.2 72.7-176.6-7-238.3-29-3-47.7-27.5-74.8-35.3-64.1-18.4-123.7 9.9-148.3 71.9-9.8 24.4-14.6 50.7-13.8 77z"/>
|
||||
<path class="st0" d="m2005.1 2490.1-0.4 7.8"/>
|
||||
<path class="st0" d="m5923.4 3168.7c0.5 2.6 1.1 5.3 1.6 7.8-2.1 20.9-2 41.9 0.4 62.8-3.9 39.7-1.6 79.6-2.7 119.4-0.4 16.9 12.4 10.2 19.6 9.2 42.6-5.9 85.3-12.6 127.8-19.4 194.7-31.4 388.9-65.5 581.2-109.4 148.4-33.9 296.2-70.2 439.8-121.6 39.2-14.1 78.2-29.7 114.4-51 12-6.8 23.1-14.9 33.2-24.2 25.4-24.3 26.2-45.4 1.8-71-34.3-35.9-78.5-56.4-123.2-74.5-110.6-45-226.4-71.9-342.6-97.5-33.1-7.3-66.3-13.9-99.4-21.2-6-1.3-13.2-0.7-18.4-7.5 10.9-5.7 21 0 30.4 2 130.6 26.7 261.4 52.9 387.8 96.3 58.9 20.2 116.4 43.2 164.3 85.1 41.2 36.1 41.6 71.4-1.1 106.2-31.8 25.9-68.9 42.7-106.5 57.8-153 60.9-312.2 100.1-472.1 136.7-237.6 54.3-477.7 95.4-718.8 130.2-14.5 2.1-19.6 7.8-19.2 22.7 0.7 24.2-0.9 48.4-1.5 72.5 0.3 12.4-2.4 24.8-7.8 36-3.9 7.8-6.6 17.2-1.2 26.1 2.7 4.4 7.8 9.3 2 13.6-4.8 3.7-9.9-1.3-14.3-3.6-31.4-16.3-62.6-32.8-93.7-49.4-40.9-21.9-82.1-43.4-122.4-66.3-13.5-8-29.4-10.9-44.9-8.2-26.4 4.1-52.9 8.2-79.5 11-11 1.1-14.6 5.2-14.4 15.7 0.5 22.9 0.3 45.8 0.2 68.7 0 16.3-0.3 32.2-7.3 47.9-3.9 9.4-6.7 21.3 2 31.4 2.7 3.2 5.6 8.4 0.6 12-3.7 2.7-7.5-0.5-10.7-2.6-24.7-16-49.4-32-73.9-48.3-41.9-27.8-83.9-55.6-125.6-83.8-7.9-5.7-17.8-8.1-27.5-6.5-134.1 17.1-268.2 34.4-402.4 50.4-121.3 14.5-242.7 27.8-364.1 41-88.3 9.6-176.6 18.3-265.1 26.9-10.6 1-13.5 3.4-10.1 14.1 10.4 33 20.4 66.2 29.7 99.5 5.7 20.7 25.5 16.6 38.8 23.1 18.2 9 40.5 6.7 60.5 20.5-31.9 0-60.4-9.5-90.9-11.5 5.2 18.8 11.8 35.3 13.6 54.4-18.5-11.3-20.7-29.9-26.4-46.2-2.3-8.9-10-15.4-19.1-16.3-150.3-27.9-299.4-61.2-449-92.4-13.4-3.1-27.3-2.7-40.5 1.1-20.4 5.7-41.2 10.3-62.1 13.9 32.8-13.7 64.3-30.3 98.1-42.4 59.6-21.5 117.7-46.5 176.8-70 64.9-25.9 128.5-55.4 194.8-77.7 8.6-3.2 17.4-5.7 26.4-7.4 9.1-1.4 20.2-2 8.5 12.2-4.9 5.9 0 11.2 1.6 16.5 8.3 25.5 17.6 50.7 25.1 76.4 3.2 11.1 8.3 14.6 19.3 13.4 70.2-7.3 140.4-13.9 210.6-21.3 101.3-10.8 202.6-22 303.9-33.5 114.8-13.2 229.6-27 344.4-40.8 48-5.8 95.9-11.8 143.9-18 6.3-0.8 13.2 0.4 20-6.4-27.5-19-54.5-38.3-82.4-56.1-10-6.4-14.3-12.8-14.6-24.8-3.5-163.4 1.2-326.9-5.3-490.5-1-24.3 0.6-25.3 23.8-17.8 63.4 20.6 126.1 43.2 189.2 64.9 21.9 7.5 32.8 20.4 42.8 37.7 33.4 57.8 62.5 117.7 90.6 178.2 9.3 20 7.4 40.8 7.8 61.3 2 66.7 2.9 133.4 3.5 200.1 0 13.2 1.9 18.7 17.3 15.4 21.6-4.5 43.9-6.1 67.8-13.7-17.1-9.5-33.8-20-51.6-28.1-11.5-5.2-14.4-11.8-14.6-24.1-3.1-159.5 1.1-319.1-6.1-478.5-0.7-15.3 3.6-20.3 19.1-15.7 68.1 21 135.4 44.7 203.5 65.3 30.6 9.3 44.6 28.3 58.1 51.9 32.4 56.7 63.4 114.3 88.4 174.7-13.1-0.6-16.2-12.2-20.9-20.7-28.8-52.4-56.7-105.3-85.4-157.7-3.9-6.8-4.4-16.8-14.8-18.5 0-2.8-0.9-3.2-3.1-1.6l2.9 1.7c6.8 46.9 2.9 93.7-2.7 140.2-1.3 11.1 0.5 16.3 11.4 20.2 25.2 8.9 50.1 18.6 74.5 29.1 13.4 5.6 28.2 8.8 36.1 22.5zm-496.2-198.2c-0.5-3.9-2.4-9.5-5.3-8.6-5.7 1.6-1.6 6.9-1.2 10.7-1.7 46.1 2.9 92.6-4.6 138.5-1.5 9.5 5.6 10.4 11.3 12.9 26.2 11.8 52.4 23.5 78.5 34.7 7.8 3.4 13.9 12.1 26.1 8.4-23-38.7-42.5-78.5-62.4-117.7-13.3-26.7-25.1-54.3-42.4-78.9zm89 601.4c0.8-2.1 1.4-4.4 1.8-6.6-2.4-120.1 6.6-240.2 4.4-360.3 0-11.1-4.3-15.7-14-20-30-12.9-59.4-27.1-89.1-40.6-14.7-6.7-22.9-18.8-22.6-33.9 0.9-49.6 2.6-99.2 5.8-148.7 0.6-9.4 0-11.5-8.6-14.4-56.8-19.6-113.4-39.8-169.9-60-20.8-7.5-20.5-7.8-20.4 14.4 0.7 150.2 3.9 300.5 0.7 450.7-0.3 13.1 3.9 19.6 14.6 26.4 60.2 37.9 120.1 76.2 179.7 115 39.4 25.3 78 51.5 117.6 78zm60.2-451.8h0.5c0 73.8 0.3 147.7-0.3 221.6 0 10.8 3.3 16.3 12.8 21.1 97.4 49.2 194.7 98.6 289.6 152.4 11.2 6.3 15.4 6.6 15.7-8.4 0.4-51.4 1.7-102.6 6.8-154 5.3-53.2 3.5-107 5.4-160.6 0.4-10.4-3.4-14.7-12.8-18.3-30-11.3-59.4-23.8-89.2-35.7-14.9-5.9-24.5-16.7-23.9-32.5 2-47.6 4.8-95.3 9-142.7 0.8-8.6 0.6-10.4-7.3-12.9-62.8-20.3-125.6-40.8-187.9-62.2-13.9-4.7-18.8-5.1-18.6 12.6 1 73.2 0.4 146.4 0.4 219.6h-0.2zm-1747.2 502c30.2 5.7 55.2 9.9 80.2 15.1 114.4 23.9 228.7 47.9 343.1 72.1 11.8 2.5 22.8 5.9 16.6-14.2-21.1-68.7-41.6-137.5-61.6-206.5-3.6-12.6-7.8-14.8-20-9.4-45.4 20.1-91.3 39.2-137.1 58.4-71.1 30-142.9 57.4-221.2 84.5zm1588-667c-1-0.3-2.2-1.1-3-0.9-1.8 0.6-1.6 1.7 0 2.5 0.5 0.2 1.5 0.8 1.6 0.7 0.6-0.8 1.1-1.6 1.5-2.5v0.2z"/>
|
||||
<path class="st0" d="m6045.9 2501.3c8.9-7.5 12.8-15.9 10.2-27.8-1.5-7.7-1.3-15.7 0.6-23.3 1.9-8.7 9.7-12.8 15.9-5.7 16.9 19.2 15.7-3.5 17.6-8.5 2.8-8.2 0.5-18.1 1.6-27.2 0.8-6.2 5.6-16.8 11.4-8.4 11.5 16.8 13.3 1.3 17.7-3.5 7.4-7.8 4.4-18.6 5.5-28.2 0.7-6.5 2-15.3 11.1-10.7 6 3.1 9 6.4 13.1-1.2 5.3-10-3.6-13.9-7.8-19.6-3.9-5.1-8.8-5.1-13.2-0.2s-9.6 10.7-14 16.4c-17.5 22.8-34.6 45.9-52.5 68.5-4.8 6-9 18.9-18.1 13.4-11.3-6.9-1-16.2 3.9-23.2 19.3-28.7 39.2-56.9 61.2-84 3.9-4.7 0.8 0.9 4.7-6.9 2.1-4.2 4.8-8.2 7.8-11.8 2.4-2.8 5-5.5 7.8-7.8 3.5-3.2-0.8 0 3.9-3 33.7-21 49.6-59.9 40.6-100.8-8.6-39.2-45.7-51.7-76.6-25.9-52.3 43.5-106.4 84.5-162.4 123.2-4.8 3.4-9.8 6.6-14.9 9.5-3.9 2.1-8.4 6-12.3 1.5-4.6-5.3 0-9.8 3.5-13.5 4.3-4.9 9.2-9.3 14.5-13.1 54.3-36.4 102.6-81.2 158.9-114.7 7.8-4.7 10.9-8.9 3-16-0.9-0.9-1.7-2-2.6-2.9-20.7-21.7-28.5-60.5-54.1-69-29.5-9.7-51.5-29-78.5-41-6.8-3-20.4-7-15.7-15.7s15.1 0.5 22.2 3.9c23.9 11.8 46.3 26.3 67 43.2 6.9-5.6-3.7-16.9 6.4-18.6 7.8-1.3 11 7.8 14.9 13.8 14 20.7 27.7 41.6 44.1 66.3 7.8-26.8-2.8-46.1-6.9-65.6-1.2-6-14.5 0-21.1-7.8-11.8-14-26-25.8-38.6-39-14.9-15.7-12.6-32.8 6.1-44.1s39.2-12.9 62-13.2c-6.4-10.5-18.4-12.2-23.5-21.3-2.6-4.6-6.5-3.1-10-0.6-24.6 17.4-52.8 24.6-83.7 27.1 3.1 9.7 11.1 12.6 15.9 18.2 3.1 3.7 8.8 6.4 3.9 13-4.1 5.7-9 4.8-13.9 2.7-16.1-7.1-31.4-16.1-48.6-20.8-2.3-1.1-4.2-3-5.2-5.4-4.4-8.9 2.6-44.3 9.8-51.3 28.6-27.5 96.5-33.8 125.9-7.8 21 18.8 44.3 35 63.4 55.9 8.6 9.4 15.7 14 27.5 4.2 10.9-9.1 20.4-5.7 26.6 7.3 5.4 11.3 11.3 22.3 26 23.9 4.2 0.1 7.6 3.6 7.6 7.8 0 6.1-5.5 6.5-9.9 7.3-7.8 1.5-15.7 2.5-23.1 4.2-33.5 7.1-55.2 26.6-59.9 61.3-1.8 13.3-14.2 25.9-2.9 41 3.9 5.3-3.4 7.8-7.8 7-5.6-1.3-11-3.1-16.2-5.5 0 21.6 2.2 23.3 22.2 17.9 37-10 65.4 5.8 74.5 43.2s9.7 72.5-22.8 100.5c-4.9 4.2-8.3 10.2-13 14.6-14.4 13.4-7.6 21.7 5.9 29.3 4.7-4.9 2.4-10.4 2.9-15.2s0.7-10.9 6-13.7c6.2-3.3 8.5 2.2 12.5 5.6 15.7 13.5 16.4 13.4 3.5 32.8-5.3 8.1-6.6 14 0.4 22.4 86.1 103.8 159.6 216.9 237.8 326.4 15.2 22 32.3 42.8 51 62 11.8 11.8 21.1 10.6 29.8-3.6 18.7-30.8 31.8-64.4 48-96.5 10-19.9 20.6-39.4 29.9-59.6 5.1-10.9 12.4-13.3 23.5-12.1 7.8 0.9 11.3 2.1 6.5 10.3-30.9 53.2-54.9 109.9-83.9 164.1-8.4 15.7-19.9 28.5-43.2 31 12.2 7.5 21.1 5.7 29.8 3.6 18.4-4.3 36.8-9 55.2-13.7 11.8-3 24.1-3.9 26.8-20.5 1.2-7 11.3-11.8 17.5-9.3 9.1 3.5 15.9 11.4 17.9 21 1.2 7.8-5.6 11.1-12.1 13.3-35.8 12.3-71.4 25.3-109.2 31.1-9.9 1.5-21.5 3.3-28.8-2.2-16.7-12.6-31.7-5.5-47.6-0.6-19 5.8-38.3 9.7-57.6 1.9-16.2-6.5-20.9-19.6-14.4-37 6.7-18.1 20.7-25.9 36.6-20.5 4.4 1.5 9.5 3.1 8.9 8.7-0.4 4.6-5.1 5.7-9.1 5.8-11.3 0-18.1 5.9-16.4 16.9 1.6 11 12.2 7.8 19.3 7.8 17.3 0.4 33.4-5.2 49.5-10.8 8.4-2.9 12.3-6.7 4.9-15.3-87.1-102.3-153-220-234.7-326.1-15.2-19.6-30.4-39.2-44.7-59.6-7.6-10.8-12.1-10.5-19.6 0.3-31.4 45.9-63.1 91.5-95.3 136.8-6.9 9.8-13.9 26-27 21.2-9.5-3.5-12.9-19.8-13-32 0-10.3-7.5-26.6 5.5-29.7 15.7-3.7 5.5 17.6 16.3 23.5zm107.3-491.6c-16.9-8.1-31.7-20-43.2-34.8-3.9-5-7-8.5-14.4-5.6-15.7 6.2-31.9 11.3-47.8 17.1-11.4 4.2-13.3 10.9-5.1 20.6 12.2 14.4 25.7 27.7 35.3 44.1 1.6 1.9 3.5 3.5 5.5 4.8 13.2-17.4 15.7 4.6 25.2 7.8 6.1-24.2 21.6-40.3 44.3-54h0.2zm-173.2-62.7c24.2-0.9 47.8-8.2 68.3-21.1 3.1-2 7.8-3.7 6.8-8.4s-5.4-5.3-9.1-5.6c-24.1-2.3-48.3-4.2-71.4 4.8-11.2 4.3-29.5 7.8-27.2 20.4s20.7 8.1 32.5 9.8h0.1z"/>
|
||||
<path class="st0" d="m6698.2 2409.1c22.4-31.4 42.9-61.6 65.3-90.2 9.7-12.3 12.9-28.9 27-38.1 2.9-1.4 4.1-4.8 2.7-7.6-0.8-1.6-2.2-2.7-3.9-3.1-12-4.9-23.9-14.2-36.5-12.4s-17.1-3.6-22.8-12.5c-17.2-27-24.1-58.6-40.3-86-6.6-11-9.6-23.9-20.8-32.2-7.2-5.4-10.4-15.7 0.6-18 25.3-5.8 30.6-28.2 41.9-45.6 8.9-13.8 10.8-30.5 17.8-45.4 8.7-19 22.8-35.1 40.5-46.1 12.2-7.8 26.2-14.5 26.8-32.6 0.1-5.6 4.8-10 10.4-9.9 5.8 0.3 6.8 5.3 7.3 10-0.1 5.5 4.2 10.1 9.7 10.4 36.4 5.2 71.8 17.7 109.9 7.8 15.1-3.9 31.9-1.9 47.8-5.6 6.1-1.4 16.3 0.9 20 5.5 16.3 19.8 36.1 11.5 55.2 8.9 25.4-3.5 32.5 3.9 27.8 28.9-3.2 15.4-8.6 30.2-16.2 43.9-13.6 25-16.6 54.3-8.4 81.6 4.2 15.1 7 30.5 8.4 46.1 2.2 22.6 7 43 22.6 61 12 13.9 6 31.1-11.1 40.6-8.8 4.3-18.5 6.8-28.3 7.3-29.2 3-54.3 15-77.5 32.8-11.8 9-27.5 2.7-41.2 3.3-34.6 2-69.3-3-102-14.6-12.3-4.6-20.6-1.6-28.2 9.5-19.9 29.1-41.9 56.8-60.9 86.3-10.7 16.3-22.2 22.8-43.6 16zm75.3-182c7-0.6 13.1-5.2 15.7-11.8 1.2-0.3 3.9 0.4 1.3-2.2-0.3 0.8-0.6 1.6-1 2.5-9.9-2.5-13.3 3.9-16 11.5l-3.2 0.7c0.5 0.7 0.9 1.4 1.4 2.1l1.8-2.8zm240.6 16.6c5.4-1.7 11.3-4.2 11.5-10.2 0.1-5.9-5.6-1.4-8.5-2.4 0.9-12.3 10.8-15.7 19.6-19.9 2.4 8.6-11.3 10.3-8.8 19.9 11 1 16.5-13.1 29.4-9.5-18.3 19.9-41.9 31.4-60.4 49.2 5.5 3.9 9.1 1.2 12.8 1.1 18.7-0.6 29.1-18.9 46.7-21.4 0 4.6-7.2 5.5-5.8 11.3 7.8 1.4 11.5-3.9 14.6-9.7l3.9-3.9c13.4-4.6 18-11.2 6.2-23.1-4.6-4.5-8.2-9.8-10.6-15.7-3.9-9.6-9.8-8.1-16.8-5.3-0.6-5.3-3.1-7.8-8.8-7.3-10.3 1.5-20.7 2.2-31.1 2.1-15.7-0.9-15.7 11.1-10.6 16.8 7.2 7.8 3.6 13.9 0.5 21.1 8.2-0.5 11.3-10 19-5.6l-6.1 10.2c-0.8 1.3-2.7 3.5-2.4 3.9 2.7 2.1 4.3 0.3 5.7-1.6zm3.9-244.4c1.2 9.9-18.7 11.8-8.7 26 7.8-8.4 18.2-13.6 22.5-26.5l-14.1 0.9c3.9-4.5 10.2-13.5 13.7-7.4 6.7 11.8 10.7 2.7 14.2 0 5.2-4.2 12.5-7.2 14-16.3l-38.8 4.6c-1.9 0.2-3.9 0.7-5.7 0.9-10.9 0.9-9.5 8.7-8.5 15.7 1.7 9.7 7.5 1.4 11.4 2.1zm-286 80.2c16.2-11.8 32.4-23.6 48.7-35.3 5.5-3.8 8.3-10.5 6.9-17.1-0.7-4.4-3.7-8.1-7.8-4.2-17.8 17.1-42.5 27.8-50.4 54.1l-1.5 4.4 4.1-1.9zm333.1-60.7c-20.6 7.4-31.7 27.5-50.3 37.6-7.8 4.2-14.2 10.6-11.8 21.7 1.2 6.1 4.4 7.8 9.2 6.9 11.3-2.4 28.1 4.3 32.5-9.9 5.9-19.2 15.3-36.9 20.8-56.1 1.8-0.2 3.1-1.8 2.9-3.6 0-0.2-0.1-0.5-0.2-0.7 0-0.4-1.1-0.6-1.6-0.9-0.5 1.7-1 3.4-1.5 5zm-215.1-41.3-2.4-2.2c-4.3-3.9-10-1.9-14.5-3.3-5.4-1.8-15.3 22.1-15.9-2.6-2.4 0.5-5.3 0.3-6.9 1.6-2.2 1.9-7.8 5-1.1 7.8 5.6 2.4 5.5 4.8 1.4 7.8-2.8 2.1-7.8 5.8-9.2 0-1.8-8.2-5-5.6-8.9-2.7-10.2 7.8-20.4 15.7-30.6 23.5l1.6 4.5c42.6-18 94.2-2.6 131.9-39.7-14.9 6.7-30.4 3.8-45.4 5.3zm89.7 125.5c-4.8-0.7-7.1-1.3-9.5-1.4-7-0.3-16 1.5-18-7.5-1.7-7.7 4.7-12.9 11.1-16.9 8.3-5.2 16.5-10.6 25-15.4 7.1-3.9 14.9-12.3 22.9-6.2 6.7 5.1 1.5 14.7 1.7 22.3 0.4 13-4.3 21-18.2 22.2-4.4 0.4-10 0.7-12.2 5.3-15.1 31.2-41.2 54.9-56.7 86-1.4 2.7-3.9 7.3 0.6 7.6 18.1 1.1 11.4 14.8 11.8 23.5 0.5 14.3-1.7 28.6-2.4 43-0.3 5.4-2.8 12.6 6.7 13.1 21.5 1.1 43.2 2.8 64.5 2.9 11.5 0 17.5-6.7 16.2-19.3-1.1-11-0.9-22.1-1.1-33.2-0.7-39.2-0.6-39.2 39.2-40.8 1.3-0.1 2.6-0.1 3.9 0 10.8 1 13.8-3.6 11.8-14-3.9-18-3.2-36.4-2.8-54.7 0.6-27.5 0.4-28.4-25.9-24.6-13.6 2-15.3-2.6-15-14.3 0.5-20.2-1.5-40.5-0.5-60.6 0.6-12.6-3.9-14.5-14.6-12.9-23.2 3.6-46.6 6.3-69.8 10-39.2 6.2-39.2 6.4-39.2 45.8-0.4 40.6-0.3 41.2-39.2 49.8-9.8 2.2-12.9 5.2-12.5 15.1 0.9 20.2 0.5 40.5 0.7 60.7 0 4.5-1.2 10.2 5.6 10.2 15.7 0 31.4 5.2 44.5-11.5 21.1-28.6 45.8-54.8 71.4-84.2zm-192.4 59.8c0.5 8.4 0.5 16.9 0 25.3-1.3 11.8 2.6 15.7 15 15.4 44.4-1.7 44.4-1.3 44.5-45.8 0-9.1-0.5-18.3 0.3-27.5 1.1-11.3-3.3-14.2-14.4-13.9-45.3 1.5-45.3 1.1-45.4 46.5zm113.8-64.7c-6.4-14.2-5.2-26-5.2-37.6 0-39.9 0-39.6-40.3-41.4-11.5-0.5-16.6 1.5-15.3 14.6 1.6 17.5 2.2 35.1 1.7 52.7 0 9.9 3.7 12.2 12.6 11.8 14.2-0.6 28.6-0.2 46.5-0.1zm23.5 122.5c1.2-4.2 5.9-9.5 0.4-12.5-4.2-2.2-9.4-0.6-11.8 3.6-13.4 18.4-27.2 36.7-39.6 55.8-3.9 6.4-6.9 15.7 8.4 12.8 9.7-1.6 19.5-2.1 29.2-1.4 10 0.4 14.1-3 13.7-13.3-0.7-15.1-0.3-30.1-0.3-45zm-111.6 20.6c12.8 5.8 25.3 16.8 35.3 14.8 16-3.4 6.8-22 10-33.7s-4.4-13-11.8-7.8c-11.7 7.7-22.1 17.3-33.5 26.7zm-60.1-133.1c29.2 0.5 73.9-36.1 71.7-56.6l-71.7 56.6zm361.8-130.6c-23.5 20.4-42.5 39.9-65 55.6-5.1 3.6-5.6 9.4-2.4 15.2 45.7-34.9 65.3-54.4 67.4-70.8zm-346.1 188.9c3.4-52.5-1.4-57.7-34.1-44.1 17.1 9.1 29.6 25.1 34.1 44.1zm151.9 129.5c29.6 1.7 59.9 13 91.9-4.7-33.1-3.7-62.4 2.8-92 4.6l0.1 0.1zm122.5-321.8c-26.6-16.6-39.9-14.5-51.6 5.7 16.5 1.6 31.8-3.6 51.5-5.7h0.1zm46.4 150.5v53.2c0 3.9-0.6 8.6 4.7 8.8 5.4 0.3 6.5-3.9 5.5-8-4-16.1 0.2-33.5-10.4-54h0.2zm-265.2-44.7-26.2 22.3c11.2-3.6 36.2 8.9 26.1-22.4l0.1 0.1zm60.5 129.8c-19.6 0-20.4 1.3-12.4 19.1 5.3-5.6 11.7-10.5 12.3-19.1h0.1zm-83.3 29.3 4.8-5.3c-1.3-0.8-3-2.6-3.9-2.2-2 1.2-3.9 2.7-5.6 4.4l4.7 3.1zm244.4 10.1c-0.9-0.5-2.1-1.5-2.4-1.3-0.8 0.7-1.4 1.6-1.6 2.7 0 0.4 1.4 1 2.1 1.5l1.9-2.9z"/>
|
||||
<path class="st0" d="m3988.7 1677.5c-104.4 4.9-213.1 0.9-321.7-4.2-17.6-0.9-30.3 0.5-27.1 19.2 1.2-15.4-7.8-21.3-26.3-21.8-86.3-1.8-172.5-4.4-258.7-7.8-19.3-0.8-31.4 2.6-32.8 24.2-0.3 4.7-0.5 10.7-6.3 13.7-6.9-1.5-6.3-7.5-6.8-12.2-2-19.1-7.4-36.3-5.4-57.7 6-64.8 2-130.5 2.6-195.9 0.6-78.5 1.9-157.3 2.9-236 0-3.3 0.5-6.6 0.4-9.8-1.2-24.1-1.3-23.8 23.9-17.9 139.8 33.2 279.8 65.1 419.2 99.8 56.9 14.2 114.8 24.1 171.4 39.2 9.5 2.5 19 7.3 29.6-0.4 6.3-4.6 10.6 1.6 10.7 8.6 0.2 8.5-0.2 16.9 0 25.4 0.4 100.4 0.8 200.9 1.2 301.4-0.3 28.8-0.3 28.8 23.2 32.2zm-658-142.5h-1.9c0 31.4 0.8 62.8-0.4 94.2-0.5 15.1 3.2 19.6 19.1 20 91.4 1.8 182.8 2.8 274 9.1 11.8 0.8 14.9-3 14-14.1-4.6-56.7-5.7-113.5-4.9-170.3 0-9.5-2.7-13.9-12.8-15.2-88.7-11.8-177.3-23.5-265.9-36.1-18.4-2.7-22.3 3.5-21.7 20.5 1.2 30.5 0.5 61.2 0.5 91.9zm97.3-136.2c-1.5-15-0.5-18.5 15-29.3 6.5-4.5 6.9-6 2.6-12.9-14.9-23.8-9.7-63.7 9.3-83.8 4.3-4.5 8.4-8.6 15-6.3 17.9 6.2 33.6 15.7 41.1 33.7 7.1 17 0 32-10.4 45.4-3.8 4.5-8.1 8.4-12.8 11.8-5.3 3.9-6.7 6.5-1.1 11.8 14.1 13.9 22.7 32.5 24.3 52.2 0.8 8.1 3.6 11.4 11.5 12.4 30.4 3.9 60.9 7.6 91.2 12.2 12.9 2 17.5-1.8 16.7-15.2-2.7-52.2-2.5-104.5 0.5-156.7 0.7-12.9-3.6-17.9-16.4-20.9-84.5-19.6-168.7-40.3-253.2-60.9-35.5-8.7-34.8-9-33.9 27.5 1.3 56.2 2 112.4 2 168.7 0 14.9 2.5 22.1 19.6 22.9 26 1.3 51.8 6.4 77.6 9.7 24.7 3.2 49.4 6.1 75.5 9.3-21.7-63.4-29.6-66.5-74.4-31.6h0.3zm215.4 159.7h-1c0 26.1 1.1 52.3-0.4 78.5-1 16.6 4.5 20.4 20.5 21.1 91.4 3.7 182.7 8.3 274 13.9 13.1 0.8 13.9-4.2 13.7-14.2-0.6-47.7-1.2-95.4-0.9-143.1 0-12.2-3.5-17.6-16.1-18.7-91.7-8.3-182.9-20.7-274-33.2-15.1-2.1-16.1 3.9-15.7 15.7 0.2 26.6-0.2 53.4-0.2 80.2l0.1-0.2zm305.7-153h0.4c0-22.2-0.7-44.4 0.3-66.7 0.5-12.9-3.9-18.6-16.6-20.8-92.6-16-184.4-35.7-276.1-56.6-14.3-3.3-16.6 1.3-16.2 14.2 1.3 51.6 2.3 103.2 1.9 154.7 0 14.9 6 19.1 18.9 20.7 90.9 11.8 181.8 23.8 272.7 36 11 1.5 15.4-1.3 15-13.1-0.9-22.6-0.4-45.5-0.4-68.4h0.1zm-447-90.3c0.3-14.4-20.6-38.8-34.8-37.3-15.7 1.6-14.8 17.2-17.9 28.6-1.8 5.6-2.7 11.5-2.6 17.3 0.6 11.2-3 26.1 10.8 30.6s25.2-3.9 34.1-14.4c6.1-6.9 9.7-15.6 10.3-24.8h0.1z"/>
|
||||
<path class="st0" d="m4899.7 2372.2c-12.1 15.7-3.3 25.2 8.9 35.7 29 25 56.9 51.3 87.9 76.4-18.4-37.5-32.9-74.5-3.6-113.8 8.4 8.2 2.9 14.4 1.7 20-6.1 25.2-0.4 51.8 15.7 72.2 38.7 51.6 125.1 90.2 194.3 29 10.7-9.5 15.5-18.2 13.3-33.4-5.8-42.2-12-84.1-30.6-123-10-20.9-23.1-39.2-43.5-51.6-10-6.4-22.2-8.7-33.9-6.3-18.4 3.6-20.6 10.1-8.6 24.4 16.4 19.6 16.2 40.7 5.3 62.2-10.6 20.7-26.6 33.5-51.4 32.3-13.9-0.6-26.8-7.6-35.1-18.8-14.7-18.5-13.7-47.8 1.8-71.8 12.3-19 29.2-25.4 54.3-19.6 7.1 1.6 8.8 0 13.9-6.5 12-16 26.3-31.7 48.3-35.3 52.2-8.6 103.9-19.6 155.3-32.4 2.5-0.6 5.1-1 7.8-1.6 47.4-12.4 62.8-6.8 87.9 35.5 7.8 12.9 14.9 18.6 31.4 17.9 70.2-3 70.2-2.1 124.3 43.6 4.8 3.6 8.1 8.7 9.5 14.4 4.7 26.3 9.1 52.7 13 79.1 0.9 6.2-3.1 11.4-7.5 15.4-7.8 7.1-15 15.3-24 20-38 20-43.2 51.3-33.6 89 1.3 4.8 2.6 8.2 7.5 10.1 22.8 9 39.9 27 61 38.5 15.4 8.5 13.1 20.8 13.2 33.5 0 4.9-1.6 9.5-7.3 9.9-4.1 0.4-7.8-2.6-8.2-6.8-0.1-0.7 0-1.5 0.1-2.2 2.1-17.9-10.4-23.5-23.1-29.3-18.1-8.4-30.8-25.6-51-30.7-4.9-1.2-5.8-8.6-6.5-13.6-2.6-20.7-6.3-41.4-5.6-62.4 0.2-5.8 2.1-11.4 5.7-16 6.9-9.5 15-18.1 24.2-25.5 12.5-10.4 34.7-16.4 36.3-30.6 2.7-23.3-4.6-47.7-7.8-71.6-1.2-4.5-4.2-8.3-8.3-10.5-5.3-3.9-11.8-6.8-15.7-11.8-26.5-33-63.3-27-98.7-27.2-9.8 0-8.8 5.2-6.6 11.3 10.4 27.4 17.8 55.8 21.8 84.8 9.8 76.5 18.3 153 24.7 229.8 1.1 13.3 3.9 27.5-5.4 41-11.8-11.8-10.7-27-12.2-40.3-10-89.5-17-179.5-29.4-268.7-6-43.5-31.8-80.1-61.8-112.3-5.1-6.4-13.6-9.1-21.5-6.7-60.1 22.2-122.8 33.2-185.8 42.7-1.6 0.2-2.9 1.9-6.6 4.5 74.5 36.1 88.8 105.2 99.3 175.8 7.1 50.5 9.9 101.4 8.4 152.4-0.3 14.2-1.3 28.3-14.5 45.3-1.7-18.9-3.4-32.6-3.9-46.4-1.3-26.8-1.8-53.6-2.9-80.3-0.4-11.3-4.6-12.2-12.6-4.7-66.7 62.5-147.7 34.7-195.8-10-3-2.9-9-26-18.3-2-1.6 4.2-10.8-1.2-15.7-3.9-28.8-14.8-53-35.9-76.9-57.2-72.1-64.5-140.2-133.2-209.9-200.1-4.3-4.2-12.7-9.2-7.8-15.7s11.8 0.4 16.7 3.9c12.8 9 25.1 18.8 36.6 29.5 13.7 13.4 27.3 23 46.5 11.2-4.4 36.6 19.6 60.7 51 51 4.5 3.9 5.6 10.5 2.7 15.7-1.2 2.8-3.4 7.5-2.3 8.7 11 12.4 22.8 24.1 35.3 35.1 7.7 6.4 10.9-6.6 17.7-7.3l9.5-1.1-0.4-0.3 1.5 7.5zm159.1-71.8c-18.9-0.7-31.8 16.1-32.8 42.5-0.8 21 12.5 36.6 31.8 37.2 19.9 0.5 39.2-20.6 39.8-43.4 0.4-19.2-17-35.4-38.8-36.3z"/>
|
||||
<path class="st0" d="m6038.9 992.7c-79-12-152.3-23.9-225.8-34.1-89.4-12.4-179.5-17.6-269.5-22.2-162.7-8.3-325.7-8.2-488.3-3.6-228.7 6.4-457.1 18.5-682.7 58.9-202.2 36.1-399.1 89.6-588.3 169.9-19.6 8.3-39.7 14.9-57.5 26.8-5.1 3.4-12.1 10.5-16.4 4.5s4.4-10.5 9.7-14c31.1-20.5 65-35.6 99.3-49.5 167.7-68 341-116.6 518.8-149.7 168.7-31.4 338.5-49.6 509.6-59.5 201.8-11.7 403.6-17.5 605.5-10.7 139.2 4.7 278.3 12.3 415.2 39.2 55.7 10.7 112.5 19.8 170.4 44z"/>
|
||||
<path class="st0" d="m2093.6 2167c-26.2-43.8-43.4-89-64.4-132.4-47.1-97.1-103.8-187.7-181.9-263.2-54.3-52.5-115.5-94.2-190.9-110.6-97.6-21.2-188.8 19.2-238.6 105.7-23.8 41.3-37.5 86.1-46.2 132.5-0.7 3.9-1 7.8-1.9 11.8-0.9 3.9-1.4 8.7-6.1 8.8-6.4 0-6.7-6.1-6.4-10.2 1-15.6 2.9-31.2 5.7-46.6 7.9-41.2 23.3-80.5 45.5-116.1 56-89.1 159.8-128.8 264.6-101.5 70.3 18.3 129.8 55.7 181.1 105.3 114.1 110.1 187.3 245.1 234.8 395.1 2 6 2.7 12.4 4.7 21.4z"/>
|
||||
<path class="st0" d="m4504.1 1611.7c41.6 15.3 87.7-7.8 133.8 0.8 9.3 1.8 14.1 4.6 16.7 12.8 10.5 33.5 17.9 68.2 36.1 99 6 10.1-5.2 12.9-9.7 18.4-8.2 10.1-27.5 11.1-28.6 23.9-1.1 11.8 9.3 23.9 12.4 36.5 2 11 10.1 19.9 20.8 23 3.9 1.5 8.8 5 7.1 10.3s-7.3 5-11.8 4.4c-12.9-1.6-25.4-5.8-38.6-5.7-30.4 0.4-43.8 11.5-49 41.6-0.9 5.1 0 11.8-7.3 11.8s-7.4-6.5-8.1-11.8c-2.2-16 2.4-31 14.4-40.8 17.5-14.3 2-26.6-1.6-38-3.1-10-13.3-0.5-19.6 1.3-24.8 7.1-33.4 3.6-41.5-21-15.7-47.7-31-95.5-46.1-143.5-5.7-17.6-0.9-23.5 20.6-23zm171 123.5c-19.2-32.3-32.6-67.7-39.7-104.6-1.7-8.1-4.6-8.9-11.8-7-12.2 3.2-22 6.3-11.2 21.5 3.4 5.6 6 11.6 7.8 17.9 2 5.1 2.9 10.8-3.2 13.6s-9.9-2.1-12.3-6.7c-4.8-9.3-8.6-19-13.3-28.3-6.4-12.7-17.4-6.9-25.8-4.5-11.1 3.2-2.3 10.6-0.6 15.7 3.5 10.5 8.1 20.6 12.1 31 2.2 5.6 4.8 12.2-2.8 15-6.2 2.3-9.3-3.9-11.5-8.3-6.3-12.9-11.8-26.1-16.7-39.6-6.2-18.8-20.6-10.6-31.1-9-13.9 2-4.4 12.7-2.8 18.4 10.9 38.3 22.9 76.2 34.4 114.3 2.5 8.3 3.9 13.2 15.7 7.8 36.3-17 72.5-35.2 112.8-47.2zm-42.6 82.4c3.9-4.3 19 5.8 15-7.8-3.9-12.6-1.3-31.8-18.4-35.7-5-1.1-21.9 1.8-21.9 16.5-0.1 16 10.8 27.8 25.3 27z"/>
|
||||
<path class="st0" d="m5636.5 2643.6c-13.8-41.7-13.1-81.2-15.9-120-5.6-77.5-10.5-154.9-20.2-232-1.2-9.6-5.6-9.9-12.7-9.8-15 0-30.1 0-45.1-0.4-5 0-11.8 0-12-7s5.7-7.8 11.1-8.2c3.9-0.6 7.8-0.9 11.8-0.8 30.7 2.9 57 0.2 73.6-32.7 8.9-17.5 27.8-18.8 46.1-7.1 38.6 24.5 78.5 46.4 118.8 68.3 36.3 19.8 50.4 54.7 54.9 93.7 6.5 57.8 8 116.1 4.4 174.1-0.6 10-2 20.3-12.7 30-3.9-15.8-5.8-32.1-5.8-48.3-0.9-47.1-0.9-94.2-3.1-141-1.5-31.4-14.6-58.4-24.6-86.8-1.9-5.4-8.8-4.5-13.7-5.7-47.3-11.2-90.6-35.2-125-69.4-9.1-9.1-15.7-6.4-23.5 0-20.8 16.9-32.7 57.3-25.6 83.5 10.9 39.9 13.3 81.1 16.6 122.1 4.3 54 6.7 108.2 9.6 162.3 0.5 10.5 0.9 21.7-7 35.2z"/>
|
||||
<path class="st0" d="m6309.2 1252.1c0.4 27.5 1.6 54.9-5.7 81.8-1.4 5.3-1.6 13-8.8 13.8-6.1 0.7-5.4-6.3-7.1-10.2-2.4-5.5-7.3-4.9-11.8-5.3-15.2-1.2-29.6-7.1-41.2-16.8-14.7-12.8-29.4-13.2-46.8-9.1-41.9 9.6-85.4 10.5-126.6 24.6-22 7.5-35.1-3.6-36.1-26.7-0.9-20.9-1.8-41.8-2.4-62.8-0.7-22.2 19.1-41.8 45.4-45.7 67.2-9.9 132.8-28.7 200.1-37.7 3.2-0.5 6.3-1.7 8.9-3.5 14.9-10 21.9-2.1 25.2 11.8 6.8 28.2 6.4 57.1 6.9 85.8zm-21 71.4c-0.9-51 0.5-96.7-3.9-142.3-0.9-9.8-4.2-11.8-13.6-9.5-27.8 7.1-55.7 14-83.8 19.6-43.9 8.9-86.7 23.1-131.8 26-10.8 0.7-16.6 9.8-16 21.2 1.1 21.5 2.2 43.2 3.9 64.5 0.9 12.1 7.6 16.6 18.5 10 6.6-4.1 14.1-6.8 21.8-7.8 46.5-6.4 93.1-13.2 139.6-19.6 6.3-0.9 14.2-3.9 18.4 2.4 10.9 16.1 30 19.7 46.9 35.5z"/>
|
||||
<path class="st0" d="m6708.1 2436.2c26.8 1.4 53.5 2.7 80.3 4.2 5.7 0.4 14.9 1.3 7 9.5-30.6 31.4-52.9 69.6-80.5 103.4-15.7 19.6-34.1 28.7-58.1 20.4-33.3-11.5-67.9-12.6-102.4-14.7-30.2-1.9-36.4-13.5-19-38.5 15.1-21.3 31.3-41.8 48.5-61.4 13.7-16.3 34.3-25.1 55.5-23.9 22.8 0.7 45.7 0 68.6 0v1zm41.4 41.5c-10.2 0.7-16.8 9.1-25.8 12.4-19.6 7.2-18.9 19.2-7.8 35.3 13.2-15.4 25.8-29.7 34-47.3 1.6-0.6 4.3-0.9 1.3-3.3l-1.7 2.9zm18.8-22.4c-45.4-5.7-87.8-2.4-130-5-3.9-0.2-8.9-0.8-9.7 3.9-2.4 14.9 2.8 28.8 9.9 41 6.2 10.8 17.5 6.7 26.5 3.1 33.6-13.5 67-27.7 103.3-43zm-208.5 80.6c41.3 2.3 77.4 3.9 113 10.8 8 1.5 18.1 9.2 23.5 3.1 6.6-7.1-6.6-13.6-7.1-21.9-1.3-17.3-9.2-17.8-23.9-11.8-17.2 6.9-36.6 14.1-50.3-7.8-2.1-3.3-5.5-2.7-8.6-0.9l-46.6 28.5zm57.8-87.5c-16 0.9-51.7 46.5-54.3 69.4 3.9-1.8 7.4-3.2 10.8-5.1 18.7-10.8 44.9-16 35.1-48-1.9-6.7 7.9-9.6 8.6-16.3h-0.2z"/>
|
||||
<path class="st0" d="m2774 2211.3c45.5-58.1 97.6-110.1 149.4-162.4 96.1-96.9 192.9-193.2 293-286 6.8-6.3 16.7-19.6 23.5-12.6 8.9 9.3-5.9 17.6-12.2 24.4-125.2 133.4-256.5 260.7-386 389.7-18.3 18.3-41.2 31.4-58.3 51-4.1 0.7-7.8 0.8-9.4-4.1z"/>
|
||||
<path class="st0" d="m6148.4 1387.9c-3.6 13.2-15.7 12.5-25.2 13.7-47.9 6.2-96 12.3-144.2 16-15.7 1.2-21.5 7.5-21.7 20.7-0.5 37 0 74 1.4 112.9 24.1-36.3 62.1-30.3 96-33.2 44.2-3.9 88.8-3.9 133.4-5.5 19.6-0.7 26.7-6.6 25.1-26.1-2-23.5-3.1-47.1-3.5-70.6-0.3-18.1-12-25.3-35.3-23.3-7.8 0.7-15.7 4.4-20.5-5.4 15.4-17 34.3-13.7 52.4-7.3s23.5 21.4 22.8 39.2c-0.9 26.1-1.8 52.1-2.9 78.2-0.7 18.1-11.5 29.5-30.9 31.4-58.5 5.7-117.2 9.8-176 9.8-15.7 0-28.3 3.1-37.1 16.4-8.1 12.2-24.8 16.5-28.3 33.5-1.5 7.3-11.8 5.4-16.7 3.3-5.5-2.3-1.1-8.7 1.3-11.8 8.7-10.9 7-23.1 6.9-35.3-0.4-37.9-0.7-75.8 0-113.8 0.4-24.8 6.8-28 31.7-29.5 31.4-2 62.2-7.8 93.3-11 26-2.3 51.8-7.3 78-2.3z"/>
|
||||
<path class="st0" d="m5935.4 1225.3c-4.9-3.9-4.6-9.3-4.6-14.3 0.3-39.2 1.6-78.5 1.1-117.5-0.4-21.2 14.1-31.4 28.9-36.5 86.3-29.7 174.1-55.4 262.9-77.7 10.2-2.6 14.8 0.7 14.7 11.3 0 26.6 0.5 53.3 0.2 80 0 22.4-11.6 36.2-33.9 41.4-71.2 16.6-142.3 33.6-213.8 49.3-10.8 2.4-14.9 9-19.9 16.6-10.8 16.4-16.4 37-35.6 47.4zm280.9-230.1c-46.2 13.4-91.2 26.4-136.2 39.2-32 9.1-64.3 17.5-96 27.2-16.9 5.2-37 12-38.8 31.6-3.1 31.8-0.8 64.1-0.8 96.2l4.3 2.9c12.5-40.6 46.5-46 79.7-53.7 57.2-13.2 114.2-27.5 171.2-41.2 8.2-2 18.1-3.7 17-15.2-2.8-28.4 0.3-57-0.4-87z"/>
|
||||
<path class="st0" d="m6337.6 1435.3c11.4 9.3 10.7 20.2 11.4 30.1 3.9 54.9-8.6 106.6-32.4 155.5-43.9 90.2-103.9 167.4-188.1 223.6-20.6 14.8-45 23.1-70.4 23.9 157.1-106.2 270.9-235.2 279.5-433.1z"/>
|
||||
<path class="st0" d="m1787.9 1563.9c5.4-5.4 12.4-1.4 17.7-2.7 21.5-5.3 37.2-6.4 37.3 23.2 0 4.9 10.7 11.3 19.2 3 4.6-4.5 10.7-8.7 17.5-4.4s4.6 11.5 1.6 17.5c-5.4 10.9 3.9 13.4 9.7 17.9 20.7 16.2 21.2 20.9 4.4 40.7-3.9 4.5-7.8 8.9-11.4 13.5-33.9 41.3-46.4 42.9-86.8 6.9-14-12.8-28.8-24.6-44.3-35.3-11.8-7.8-15.3-16.9-6.4-29.7 10-14.4 19.3-29.5 28.7-44.3 2.8-4.5 7.9-7.1 13.2-6.6-8.9 22 3.2 33.4 20.3 44.5 19.1 12.4 36.6 27.5 54.6 41.5 5 3.9 9.6 8.3 14.5 1.3 3.9-5.5 17.1-9 8.6-17.9-5.8-6-12.4-17.8-26.1-8.1-11.8 8.3-18.1 3.1-17-11.4 1.2-15.7-5.4-20-20-12.9-11.8 5.8-19.6 1.4-17.7-10.4 2.4-15.7-7.7-20.3-17.6-26.3zm49.8 86.9c-6.6 4.4-11.8 11.4-11.5 17.1 0.5 10 10.9 15.1 19 16.5 7 1.2 13.7-8.6 13.4-14.1-0.6-10.6-13.8-11.5-20.9-19.5zm-18.5-8.6c-2-7.7-8.4-13.5-16.3-14.8-8.3-0.9-11 9.1-11.4 15-0.5 8.9 9 13.3 15.7 14.3 8.5 1.5 7.9-9.3 12-14.5zm-32-25.7c-1.6-6.4-6.6-12.6-10-11.8-8.8 2.3-11.8 11.8-13.6 19.6-1.1 5.5 5.9 9.9 10.5 9 8.4-1.9 9.6-11 13.1-16.8z"/>
|
||||
<path class="st0" d="m5985.4 2425.3c-9.2 16.2-15.4 35.5-34.9 32.3-16.1-2.6-21.1-21.1-28-34.4-8.1-15.9-10.6-34.1-7.3-51.6 2.3-12.8-1.1-20.5-11.8-27.8-14.3-9.8-29-17.5-46.5-19-3.7-0.3-9.1 0.4-9.4-4.6-0.4-6 5.3-6.7 9.8-7.1 23.9-1.8 43.6 7.8 59.5 24.6 7.8 8.2 14.8 12.6 26.6 11.5 13.6-1.2 31.4 17.7 37.2 37.2 2.9 9.8 5.8 17.5 16 24.5 17.2 11.8 17.4 32.7 15.2 51.9-5.6 49.7-66.9 102.5-117.2 101.5-2.6 0.1-5.3 0-7.8-0.5-7.2-1.7-18.5-0.6-18-10.7 0.5-8.9 11.1-6.8 17.9-7.1 46.3-2.2 78-26.6 99-66.2 9.8-16.9 9.7-37.8-0.3-54.5zm-17.5-18.1c-2.6-18.5-5.3-36.8-22.8-47.6-8.2-5.1-15.7-5.1-14.2 7.8 1.6 15.7 2.3 31.4 9.1 45.9 3.9 8.4 7.1 22.2 18.2 19.4 9.7-2.3 7.8-16.3 9.7-25.5z"/>
|
||||
<path class="st0" d="m6181.1 2085.7c-8.7-19.3 7.6-44.3 30.5-46.8 55.2-6 102.8 42.3 96 97-4.6 37.1-20 72-44.3 100.4-5.2 5.8-11.1 10.9-17.5 15.3-7.4 5.5-13.9-1.5-19.9-3.7-7.1-2.5-1.5-8.7 0.4-13.1 15.7-37.2 8.6-69.6-21.5-99.2-6.2-6.1-21.3-12-0.4-20.5 6.4-2.6 3.9-13.1 1.1-19.6-4.9-10.5-14-12.4-24.6-10.1l0.2 0.3zm74.5 129.5c15.4-15.3 21.3-35.3 26.6-55.4 15.1-56.3-8.4-91.3-66.3-100.5-4.6-0.7-9.5-2.2-11.8 3.3s2.4 6.6 5.5 8.7c13.9 9.6 15.7 22.6 12.2 38.1-1.8 7.8-5.4 16.7 2 24.1 22.5 22.7 28.8 51.8 32.1 82-2.6-0.6-2.9 1.1-2.9 3 0 0.5 0.7 0.9 1 1.4 0.2-1.7 0.7-3.1 1.3-4.8l0.3 0.1z"/>
|
||||
<path class="st0" d="m4453.9 1706.8c-103.7-28.6-204.3-65.5-305.1-102-35.7-12.9-71.1-26.4-106.4-40.1-6.8-2.6-17.5-4.9-13.5-15.3 3.6-9.2 12.5-3.9 19-1.9 129 40.7 258.1 81.7 379.1 143.6 9.2 4.8 18 10.6 26.9 15.7z"/>
|
||||
<path class="st0" d="m4210.7 1445c26.8 9.4 63.5 13 82.8 37 12.8 15.7 19.1 21.6 38 19.2 10.4-1.3 10.4 11 7.1 17.9-10 21.2-20.8 42.1-32.5 62.3-6.8 11.8-17.1 9.8-23.5-0.2-7.8-12.7-15.7-16.8-31.2-11.4-16.6 5.8-72.2-21.5-80.7-36.8-3.5-6.3-2.5-12.6-0.9-19 5.8-23 21.1-41.9 27.8-64.5 1.4-4.3 5.2-5.6 13.1-4.5zm103.5 80.9c-5.9-3.4-11-0.7-16.1-0.4-22.2 1.1-26.1-3.3-18-23.9 3.3-8.4 0.3-10.3-6.4-12.1-7.5-2-15-4.4-22.4-6.9-43.6-14.3-43.6-14.4-60.9 28.3l-0.9 1.8c-4.4 7.3-2.4 11.6 5.7 14.6 15.7 6.4 30.6 14.8 44.3 24.8 6.3 4.4 9.8 6.2 15.1-2.3 9-14.8 17.3-14.5 28-1.3 3.9 4.9 5.5 11.8 13.4 14.8 5.7-12.7 15.6-23.3 18.2-37.4z"/>
|
||||
<path class="st0" d="m1590.3 1509c21.2 4.1 43 4.3 64.3 0.6 16.1-2.6 23.5 4.9 24.8 19.6 2 23.5-1.8 46.8-4.5 70-0.6 8.1-7 14.6-15.1 15.3-36.8 7-73.8 5.7-110.9 3.9-11 0.3-20.4-7.8-21.8-18.7-5-25.2-3.6-50.6-2.8-76 0.4-10.9 8.5-15.1 19.2-14.9 15.6 0.4 31.2 0.2 46.8 0.2zm-53.5 15.4c1.4 20.5 2.6 40.1 3.9 59.6 0.8 10.4 4.9 16.3 17.3 15.7 29.4-1.1 58.9-0.9 88.2-1.1 5.4 0 10.5 0.4 10.9-7.4 0.8-15.4 2-30.7 3.2-47.4-24.2 6.8-41.4 28.3-66.7 24.8-26.1-3.7-37.8-27.8-56.8-44.2zm22.1 2.7c32.4 35.9 38.1 35.7 92.2 0h-92.2z"/>
|
||||
<path class="st0" d="m2965.8 1823.3c5.1-7.8 4.6-15.7 6.1-23.5 2.7-14.1 11.1-18.4 21.8-8.9 17.9 16.2 33.7 34.5 47.4 54.4 8.1 11.5 0.6 19.9-10.2 21.2-16.6 2-19.8 11-21.1 25.6-1.5 17.4-48.1 59.5-64.6 60.7-9.2 0.7-16.2-4.7-22.3-10.6-14.9-14.6-29.1-29.7-43.9-44.3-6-5.9-3-10.6 0.6-15.3 17.5-21.9 36.6-42.4 57.1-61.5 10.2-9.6 19.9-4.8 29.1 2.2zm24.9-11.5c-3 11.3-4.4 18.9-7.1 25.9-4.8 12.6-14.2 17.7-23.2 5.8-10.2-13.2-14.8-6.9-21 2.3-3.3 4.8-7.1 9.3-10.9 13.9-28.9 34.3-29 34.3 3 66 1 0.9 1.9 1.8 2.7 2.8 5.3 6.9 9.7 6.3 15.4 0 11-12.1 23.7-22.6 37.7-31.2 7.8-4.9 12-8.7 3.5-17.6-10.7-11.1-3.3-19 7.5-24.1 6.3-3 14.2-1.8 21.6-7.8l-29.2-36z"/>
|
||||
<path class="st0" d="m4987.4 2233.2c-19.6 1.2-34.4-6.9-49.1-13.3-66.5-29.5-130-64-185.8-111.3-5-5.2-12.8-6.6-19.3-3.4-30.6 11.8-46.3 34.6-50 66.7-0.7 5.6 1.5 13.3-7.2 13.3-8.7 0.1-10.1-7.1-11.2-13.8-6.4-39.2 37.5-88.8 77.5-87.8 4.6-0.2 9 1.2 12.7 3.9 60.1 47.9 130.3 79.4 195.7 118.6 12.2 7.2 25.5 12.9 36.7 27.1z"/>
|
||||
<path class="st0" d="m4705 1843.8c11.8 7.3 15.3 17.9 19 28 20.5 57 40.7 114.3 61.3 171.3 2.2 6.2 2.6 11.8-1.7 16.4-5.2 5.5-9.1-1.2-13.7-2.4-25.7-6.8-51.2-8.6-75.8 4.8-4.6 2.5-9.8 9.7-14.8 1.8-3.7-5.9 0.9-11.2 5.5-15.1 15.7-13.8 35.3-17.1 54.9-15.9s18.3-5.3 12.4-19.6c-18.8-45.8-34-93-45.3-141.2-1.9-8.2-5.1-16.5-1.8-28.1z"/>
|
||||
<path class="st0" d="m4784.3 2262.5c7.1-10.8-4.4-13.7-8.5-19.6-6.4-9.2-22.5-19.9-13.7-28.4s17 9.3 24.5 16c54.9 49.1 109.6 98.6 163.9 148.5 7.8 7.1 23.5 16 16.8 24.6s-19.6-3.9-28.5-9.5c-10.4-6.6-20-14.6-30-21.9-2-4.5-6.2-7.5-11.1-8l0.4 0.3c-18.6-22.4-40.9-40.9-62.8-59.7-13-13.4-25.7-27-39.2-40-2.9-2.9-6.6-9-12.1-2.5l0.3 0.2z"/>
|
||||
<path class="st0" d="m4713.2 2001c10.1 6.1 27.5 1.6 25.1 13.5-2.6 13-17.5 3.9-27 4.2-19.6 0.9-26.5-10.6-31.2-27.5-6.8-25-9.1-51-17.6-75.6-3.9-11.2 6.6-14.9 15.1-15.1 11 0 24.7-2.3 26.8 14.8 2.3 22.6 9.7 44.5 21.4 64 9.6 14.8-2.9 16.8-12.6 21.7zm-9.2 0.3c1.3-0.7 3.9-1.1 4.3-2.4 1.6-3.6-2.2-3.9-3.9-4.3-1.7-0.3-3.4 0.3-4.6 1.5-1.7 3.5 1.7 3.8 4.2 5.2z"/>
|
||||
<path class="st0" d="m4646.3 2147.6c1.1 7.3 1.6 11-2.4 12.2s-6.2-1.9-7.6-4.7c-3.1-5.8-5.7-11.8-7.8-17.9-23.8-73.4-41.7-148.3-58-223.6-1.4-6.2-6.2-16.5 3.1-18.5 7.8-1.7 10.4 8.7 12 15.5 14.7 58.2 29 116.6 43.7 174.8 5.5 22.1 11.9 44.1 17 62.2z"/>
|
||||
<path class="st0" d="m6180.8 2085.5c11.2 20.8 7.3 36-11.8 45.7-9.5 4.8-19.3 5.2-26.8-3.1-10.5-11.8-5.3-24.3 0.8-36 4.7-9 10.8-13.8 21.9-7.4 3.9 2.4 10.6 5.2 16.3 1.1l-0.4-0.3z"/>
|
||||
<path class="st0" d="m5497 2387.1c-19.3-0.7-30-14.8-24.8-30.7 3.4-10.5 9.7-15.7 20.7-9.1 3.3 1.9 5.6 5.3 10 5.4 11.5 0 17.1 6.7 15.3 17.7-2 12.4-11.7 16-21.2 16.7zm-1.4-15.1c3.9-0.6 7.8-1.8 5.8-7.1-1.5-4.1-3.5-8.5-9.1-8-3.6 0.2-6.3 3.2-6.2 6.8 0 0.4 0.1 0.7 0.1 1.1 0.6 5.6 4.5 7.1 9.4 7.2z"/>
|
||||
<path class="st0" d="m5804.4 2956.9-2.9-1.7c2.2-1.6 3.3-1.2 3.1 1.6l-0.2 0.1z"/>
|
||||
<path class="st0" d="m6790.8 1997.1c2-1 4.2-2 6.1-3.2 0 0-0.4-2.5-1-2.7-3.6-1-5.7 0.9-7.1 3.9-1.8 0.5-3.5 1.3-2.1 3.5 1.4-0.3 2.8-0.8 4.1-1.5zm67.6-10 1.4-1.3c-0.8-0.5-1.7-0.9-2.6-1.1-0.3 0-0.9 0.7-1.3 1.1l2.5 1.3z"/>
|
||||
<path class="st0" d="m6094.4 1442c12.5 1.3 28.7-2.6 29.3 10.7 0.5 10.1-15.7 7.5-25 8.4-30.4 2.9-60.8 5.1-91.3 7.2-6.7 0.5-16.7 3.4-17.9-6-1.3-10.2 9.6-8.7 15.7-9.6 30.6-4 60.9-7.3 89.2-10.7z"/>
|
||||
<path class="st0" d="m5250.9 3085.2c2.1-11.2-1.9-28.5 11.8-32.1 14.5-3.9 26.3 8.3 34.7 20.7 3 3.5 5 7.7 6 12.2 2.7 36.8 30.2 59.4 49.4 86.7 6.4 9.1 13.3 17.8 19.6 26.9s12.6 17.7 26.5 19.6c17.4 2.6 39.2 34.1 39.2 52.2 0.5 13.5-7.6 25.9-20.2 30.8-12.2 5.3-21.3-1.1-29.4-9.6-1.5-1.2-2.8-2.8-3.6-4.6-11.3-38.8-41.8-24.1-66.9-24.1-9.1 0-12.2 4.5-11.1 13.9 0.6 6.5-0.3 13-2.4 19.2-4.2 12.3-12.7 16-24.6 9.8-20.7-10.5-36.5-44.7-31-67.2 3.9-16.1 12.4-20.9 24.5-10.3 28.8 25.4 61.1 5.3 91.5 8.5 8.7 0.9 11.8-11 5.1-19.6-19.9-25.9-40-51.6-60.1-77.4-2.6-3.3-4.4-8.8-10.3-3.5-14.9 13.5-25.1 3.1-34.3-7.8-11-12.3-14.3-27.5-14.4-44.3zm43.2 19.2c-0.6-3.1-1.1-6.2-2-9.4-3.2-11.8-11-21.9-23-20s-4.9 15-6.5 23c-0.5 3.9 0.1 7.9 1.8 11.5 3.7 8.1 6.6 19.3 18 17.5s9.3-13.9 11.7-22.6zm91.7 153.1c-0.4 12.9 9.3 26.4 18 25.7 8.9-0.2 16.1-7.4 16.3-16.3 1-9.3-17.1-30.3-25.5-28.4-10.6 2.5-3 14.8-8.8 19zm-126.2-0.9c0.4 14.4 14 34.1 22.9 33s8.7-8.6 8.9-14.8c0.4-12.2-15.4-31.4-25.3-31-8.9 0.4-5.4 8.2-6.5 12.8z"/>
|
||||
<path class="st0" d="m5798.7 3338.1c-0.7 8.7 6.1 23.5-2.2 27.9-10.4 5.6-17.3-10.8-27.1-14.6-26.5-10.3-36.7-33.3-48.6-56.4-28.9-56.3-56.5-113.3-81.4-171.5-4.2-9.8-14.8-20.3 2.3-29.7 19.9-10.9 35.1-11.1 45.9 2.3 4 5.2 7.5 10.7 10.4 16.5 32.9 63 65.7 126.1 98.3 189.2 5.8 11.2 1.5 23.3 2.4 36.3zm-101.5-196.2c-9.9 4.4-21.6 7-29.5 13.9-5.2 4.6 3 12.8 6 19 19.4 39.9 39.2 79.5 58.9 119.4 13.9 28.8 13.4 28.6 42.9 16.3 8.6-3.6 11.1-5.9 6.2-15.1-25.5-47.7-50.3-95.9-75.5-143.8-2-4-2.7-9.2-8.8-9.9l-0.2 0.2z"/>
|
||||
<path class="st0" d="m6788.8 1995.2c1.4-3.1 3.5-5 7.1-3.9 0.5 0 1.2 2.6 1 2.7-1.9 1.2-3.9 2.2-6.1 3.2l-2-2z"/>
|
||||
<path class="st0" d="m6827.9 1987.2c1.3-2.8 4-4.7 7.1-4.8l3.4 3.9c-1.7 2.7-4.7 4.1-7.8 3.6-0.8-0.9-1.7-1.8-2.7-2.7z"/>
|
||||
<path class="st0" d="m6835 1982.4 7.7-3.9 2.8 2.9-7.1 4.9-3.4-3.9z"/>
|
||||
<path class="st0" d="m6826.3 1993.5-4.8 2.8-2.2-2.2 4.4-3.4 2.6 2.8z"/>
|
||||
<path class="st0" d="m6823.6 1990.7 4.3-3.5c0.9 0.8 1.8 1.7 2.7 2.6l-4.4 3.7-2.6-2.8z"/>
|
||||
<path class="st0" d="m6858.4 1987.1-2.5-1.3c0.4-0.4 1-1.2 1.3-1.1 0.9 0.3 1.8 0.7 2.6 1.1l-1.4 1.3z"/>
|
||||
<path class="st0" d="m6842.7 1978.5 4.8-3.1 2.4 2.2-4.4 3.9-2.8-3z"/>
|
||||
<path class="st0" d="m6821.4 1996.4c-1.2 1-3.2 3.1-3.5 2.8-3.2-2.4-0.3-3.6 1.3-5.1l2.2 2.3z"/>
|
||||
<path class="st0" d="m6790.8 1997.1c-1.3 0.7-2.6 1.2-3.9 1.6-1.4-2.2 0.4-2.9 2.1-3.5l1.8 1.9z"/>
|
||||
<path class="st0" d="m7067.3 2246.3-4.3 3.4-7.2 1.1c-1-6.5 3.7-9 8.5-10 3-0.7 2.6 3.2 3 5.5z"/>
|
||||
<path class="st0" d="m7036.2 2211.5c0.8-3.2 4-5.3 7.3-4.5 0.3 0.1 0.7 0.2 1 0.3-1.6 3.8-4.1 5.6-8.3 4.2z"/>
|
||||
<path class="st0" d="m7044.1 2207.6c-0.3-3.1 1.3-4.4 4.2-4.3 0 2.3-1.9 4.2-4.2 4.3z"/>
|
||||
<path class="st0" d="m7011.1 2078.7c7.1-12.6 19.1-21.7 33.1-25.1-8.3 13.4-17.7 19.3-33.1 25.1z"/>
|
||||
<path class="st0" d="m7016.9 2211.5c-1.1 2.2-2.6 3.9-5.4 3.3-0.3 0-0.7-1.3-0.5-1.6 1.3-2.1 4.1-2.7 6.2-1.5l-0.3-0.2z"/>
|
||||
<path class="st0" d="m7017.3 2211.7c0.3-0.7 0.5-1.5 0.7-2.2v0.9c-0.3 0.4-0.7 0.7-1.1 1.1l0.4 0.2z"/>
|
||||
<path class="st0" d="m3478.6 1593.8c23.8 7.3 42.3 20 49.4 47.1-12.1 0-16-7.8-21.3-12.9-22.2-21.6-39.2-24.1-66.7-8.6-5.1 2.9-9.8 6.5-15.1 9.1-2.2 1-4.8 1-7.1 0-3.7-2.4-1.4-5.7 0.4-8.4 6.7-10.1 18.5-14.1 27.5-21.5-25.5-25.1-30.5-57.4-13.2-83.8 13-19.9 31.4-21.1 46.5-3 21.9 26 21.8 44.9-0.4 82zm6-37.2c0.4-19.1-15.7-45.1-27.7-45.3-13-0.2-24 21-23 44.4 0 1.3 0 2.6 0.3 3.9 2.4 14.5 7.8 26.8 25 27.5 11.5 0.6 25.1-16.6 25.4-30.5z"/>
|
||||
<path class="st0" d="m3772 1530.5c-12 10.2-18.4 25.5-17 41.2 0.1 10.8 7.2 20.3 17.5 23.5 8.8 3.6 18.9 1.3 25.2-5.7 8.2-8.7 7.5-18.9 3.9-29.3-4.6-12.5-17.6-18.6-24.4-30.4 19.5 1.9 35 17 37.5 36.4 1.8 17.5-1.6 33-22.5 37.2-10.5 2.2-7.8 6.9-2 11.4 8.7 6.5 18.3 12 21.7 31.7-31.4-31.4-56.8-27.5-78.8 5.5-1.5-22.4 8.6-33.2 36.8-42.1-9-8.2-20.8-13.1-25-25.5-3.9-11.2-3.5-23.5 1.2-34.5 4.2-10.1 7.6-23 25.9-19.4z"/>
|
||||
<path class="st0" d="m3747 1376.9c-0.2-24 13.5-47.8 28-48.4 19.6-0.8 40.2 21.3 40.3 43.2s-15.9 39.2-35.3 39.2-32.8-14.1-33-34zm54.4-2.8c0-15.3-17.1-37.2-27.7-33.8-17 5.4-14.9 22.7-16.2 36.1-1.3 13.3 6.3 22.7 20.7 22.6 16.4-0.2 21.3-12 23.3-24.8h-0.1z"/>
|
||||
<path class="st0" d="m3738.8 1454.6c4.9-20 18.6-30 36.2-30 24.8 0 40.4 16.4 52.1 38.1-28.4-15.8-54.7-46.8-88.3-8.1z"/>
|
||||
<path class="st0" d="m6232.2 1214.9c-12.1 9.2-26.5 12.5-40.7 15.7-28.7 6.3-57.6 12-86.3 17.7-4.5 0.9-9.7 1.3-12.2-3.6-2.4-5 1.6-7.8 5.2-8.8 44.1-10.4 87.6-24.2 134-21z"/>
|
||||
<path class="st0" d="m6122.1 1082.1-135.3 36.1c-3.1 0.8-7.5 1.7-8.2-2.3-1.3-6.8 4.9-8.6 9.5-10.2 28.9-10.4 58.5-18.6 88.6-24.8 14.7-2.8 29.6-4.7 45.4 1.2z"/>
|
||||
<path class="st0" d="m882.9 2707c-11.3-30.4-1.1-63.4-10.6-93.5-92 37.3-188.3 44.3-286.2 39.9-9.1-0.4-24 0.9-23.8-10.8 0.2-11.6 15.5-9.8 24.2-10.3 52.2-2.9 104.5-4.6 156.2-13.1 38.1-5.9 75.8-14.6 112.6-26.1 12.8-4.2 16.7-10.6 15.9-24.2-14.1-250.4-44-498.6-103.3-742.7-5.2-22.9-12.1-45.5-20.6-67.4-3.5-8.6-6.9-10.8-15.4-4.4-48.1 36.3-112.8 4.5-136.7-39.7-2.7-5-7.4-11.8-1.2-15.7s10.3 3.4 14 7.4c12.5 13.6 25.9 25.9 42.9 33.6 28.4 12.9 54.5 10.1 78.5-10.7 4.3-3.9 7.6-9 14.4-10.4 46.3 71.3 59.9 153.7 78.1 234.2 31.9 141.2 50.7 284.3 63.5 428.3 0.9 9.5 2.3 18.9 3.9 31.4 35.7-32.5 68.8-62.8 102-93 47.8-43.6 98.9-83.6 143.7-130.5 6.1-6.4 12.9-14.2 21.1 0 3.9 6.7 13.3 2.2 20.1 1.2 49.9-7.5 88.6-33.3 117.9-73.9 1.4-2.2 3.1-4.2 4.9-6.1 6.4-6.1 10.4-21.7 21.4-13.4 11 8.4 2.7 20.5-4.4 29.3-43.6 54.1-96.2 90.2-169.7 83-4.6-0.6-9.1 1.4-11.8 5.1-63.1 71.2-137.6 130.3-207.3 194.4-28.8 26.4-38.3 51.9-34.2 89.7 6.3 58.6 6.5 117.6 0.9 176.2-1.2 11.8-10 20.5-11 32.2z"/>
|
||||
<path class="st0" d="m372.7 2809c-36.7-76.6-58.4-153.6-71.3-232.9-29.3-179-48-358.8-39.1-540.6 3.6-73.8 9.1-147.4 27.5-219.4 11.1-44.1 27.9-85.9 60.7-119 28.2-28.5 61.7-47.5 102.5-46.6 66.7 1.5 105-35.1 130.5-91.1 2.2-4.7 3.4-9.9 5.6-14.6 3.9-8.7 2.7-25.9 16.5-21.4 11.4 3.6 4.3 18.3 2.3 27.9-16 77.4-70.3 123.6-147.8 125.6-54.9 1.3-91.8 30.3-117.6 75.8-26.6 47.1-35.3 99.4-42.1 152-21 164.6-13.1 328.6 5.1 492.8 12.1 109.2 26.4 217.8 53 324.6 3.9 16.4 6 33.2 12.7 49.1 5.3 11.9 5.8 25.5 1.5 37.8z"/>
|
||||
<path class="st0" d="m1008.3 1400.2c-4.3 91.3-32.2 171.3-115 220.8-37.8 22.6-78.7 39.2-125.6 29.9-48.8-9.6-84.2-37.4-108.8-78.9-42.1-70.6-47.1-145.2-17.5-222.1 25.6-66.7 68.8-118.1 133-150.2 38.3-19.1 78.7-16.8 115.5 1.8 74.9 37.9 112.9 101.3 117.2 184.9 0.3 4.7 0.8 9.3 1.2 13.8zm-19.6 19.4c0.9-36.7-6.4-73.2-21.3-106.8-17.4-39.3-44.2-69.4-87.4-81.3-58.1-16.2-151.5 15.5-188 63.4-57.7 76-65.4 186.1-15.8 267.7 39.9 65.7 82.6 80.1 146.3 73.9 35.3-3.4 65.7-25.4 93.1-47.8 53-43.5 71.7-102.8 73.1-169.1z"/>
|
||||
<path class="st0" d="m441.9 2465.3c-2.6-21.1 2.7-38.6 7.4-55.9 31.3-113.3 55.7-228.4 73.3-344.6 4.2-28.4 8.4-56.8 12.9-85.2 1-6.3 1.6-14.9 10-14.4 10.1 0.6 6.2 10 5.9 15.7-7.8 147.5-34.2 293.4-78.5 434.4-7.8 24.3-15.7 35.6-31 50z"/>
|
||||
<path class="st0" d="m1298.7 2011.1c-14.8 22.4-37.4 31.6-60.3 36.8-27.2 6.3-47.1 20.5-69 37.7-69.8 54.9-145.8 100.9-230.4 130.8-13.6 4.8-27.5 8.4-42.1 6.7-5.3-0.6-10.9-1.8-10.8-8.7 0-5.7 5-6.7 9.6-7.8 103.1-29.2 190.6-88 274.1-151.5 40.1-30.5 85.8-30 128.9-44z"/>
|
||||
<path class="st0" d="m544.3 3002.1c-13-1.9-28.2-2.5-41.9-9.7-6.8-3.6-11.8-9.3-9.3-17.5 2.4-8.2 9.4-5.8 15-5.5 9.8 0.4 19.5 1.3 29.2 2.8 16 2.6 21-2.6 17.3-19-8.2-35.8-20.3-70.3-31.9-105-5.4-16-6.3-39.2-17.5-46.3-11.8-7.6-31 7.8-47.1 12.3-6.4 1.7-15.4 7.4-18.3-2.8-2.3-7.8 7.1-9.8 12.8-12.1 18-7.6 36.3-14.7 54.5-21.9 9.8-3.9 17.1-0.5 20 9.3 17.4 57.5 42.6 112.6 54.9 171.7 5.9 30-6.5 44.7-37.7 43.7z"/>
|
||||
<path class="st0" d="m853.8 3144.6c11.8-65.2 20.7-130.8 28.6-196.6 7.6-63.5 13.8-127.1 18.6-190.8 0.4-5.5-1.6-12 5.3-15.7 6.9 5.3 4.8 13.1 5.1 19.6 4.2 83.9-8.4 166.5-20.6 249.1-6.5 43.8-16.1 87.1-28.8 129.5-0.5 1.6 0.8 3.9 1.3 5.7l-9.5-0.8z"/>
|
||||
<path class="st0" d="m1439.5 1985.4c-0.7 7.8-6.2 12.8-12.2 16.8-39.6 27.8-81.2 52.7-124.4 74.5-7.4 3.6-16.6 9.4-22.3-1.2-5.5-9.9 3.3-15.7 10.2-20.4 40.5-26.4 81.1-52.8 122-78.5 13.7-8.6 26.9-3.5 26.7 8.8z"/>
|
||||
<path class="st0" d="m443.9 3004.4c17.1 36.8 77.1 294.5 76.5 321.1-36.7-104.4-65.8-210.8-76.5-321.1z"/>
|
||||
<path class="st0" d="m1161.9 1139.1c16.7-13.9 38.1-15.3 57.7-19.9 122.5-28.4 247.2-41.6 372.4-50.5 150.7-10.8 301.6-15.6 452.7-14.4 236.2 1.5 471.7 15.7 706.5 40.5 110.5 11.8 221 23.5 329.6 47.9 12.8 2.9 25.4 6 37.9 10 5.3 1.7 15.9 0.4 13.1 10.1-1.8 6.5-10.4 3.5-15.7 2.7-24.5-3.9-48.8-8.7-73.2-12.6-177.7-28-356.5-45.8-535.8-59.2-227.8-17.1-455.8-22.8-684-17.4-160.9 3.9-321.3 11.8-480.8 34.4-56.1 8-111.8 18.1-167.1 30.3-4.6 1-8.7 2.8-12.6-1.3l-0.7-0.6z"/>
|
||||
<path class="st0" d="m1241 1055.3c4.9-39.2 14.7-77.8 37.3-111.8 16.4-24.6 36-23 48 4.2 11.7 27.1 20 55.5 24.8 84.6 1.9 11.5 6.6 22.5 9.9 33.8 1.5 4.9 4.4 10.8-1.8 13.9-6.9 3.4-10.8-2.5-13.9-7.4-7.4-13.2-12.2-27.6-14.3-42.5-2.2-11.5-7.6-15.7-18.9-12.6-4.5 1.1-9 1.8-13.5 2.3-35.3 4.4-35.1 4.4-41.7 37.7-1.2 6.1-0.5 15.9-8.3 15.7-10.4-0.4-6-10.9-7.6-17.9zm39.5-50.3c40.9 1 48.1-10 30.7-47.1-0.5-1.2-1.1-2.4-1.7-3.5-5.3-10.5-10.8-9.7-16.8-0.5-8.1 12.6-14.6 26.2-19.4 40.4-2.1 6.6-2 12 7.2 10.7z"/>
|
||||
<path class="st0" d="m2625.3 1018.6c-1.2 7.8-2.2 17.7-3.9 27.5-1 5.1-3 10.9-9.8 9.8s-7.2-7.2-6.9-12.4c0.8-10.4 2.8-20.7 3.3-31.2 0.4-6.7 2.3-16.7-7.2-17.6s-15.1 6.7-16.9 15.7c-1.8 8.9-2.9 19.3-4.7 28.9-0.3 4.7-4.3 8.2-9 7.9-0.2 0-0.4 0-0.6-0.1-6.1-0.9-6.6-6.2-6.1-10.8 1.1-12.4 2.9-24.6 3.9-37 0.4-5.1 0.4-11.8-5.2-13.7s-9.3 3.6-13.1 6.9c-7.8 6.7-8.2 15.7-8.6 25.1 0.1 3.9-0.2 7.9-0.9 11.8-1.8 6.9 0.4 18.8-10.7 17.3-10.4-1.4-7.3-12.3-6.4-19.6 1.7-15.7 3.9-31 6.7-46.5 1.1-6.4 2.7-14.7 11.8-5.7 5.3 5.2 7.8-0.9 11.5-2.7 10.3-5.1 18.8-3.9 25.5 5.9 2.3 3.4 2.6 7.8 9.8 5.8 25.6-7.3 38.7 4.6 37.5 34.7z"/>
|
||||
<path class="st0" d="m2657 1014.5c1.7 9.4-5.9 27.2 6 29.7 10.5 2.2 10.5-16.6 14.4-26.4 2.3-5.9 2.5-14.9 10.5-14.4 9.5 0.6 8.4 10 9.1 17 0.2 2.6 0 5.3 0.2 7.8 0.9 8.8-1 21.9 10.2 22.3s15.3-12.2 16.9-22.8c0.9-5.8 0-11.8 0.5-17.6 0.3-4.8 2-9.3 7.8-8.9 4.1 0.1 7.5 3.3 7.8 7.5 0.7 18 4.3 36.7-13.1 50.1-12 9.3-23.3 15-34.6-0.7-4.5-6.2-8.2-7.1-15.3-1.1-14.6 12.2-29 7.2-33.7-11.2-3.5-16-3.3-32.6 0.6-48.6 1-4.9 2.4-12 8.9-11.1 7.1 1 4.2 8.3 4.4 13.1 0.2 4.7-0.3 9-0.6 15.3z"/>
|
||||
<path class="st0" d="m1546.7 968.8c-21.2 4.5-45.9 4.3-50.5 33.4-1.5 7.3 2.4 14.7 9.3 17.6 14.4 6.9 28.9 9 47.9-1.8-12.7-1-20.4-1.3-28-2.4-4.7-0.7-8.9-3.3-8.6-8.9 0.3-4.7 4.3-6.2 8.3-6.7 11.6-1.7 23.5-0.6 34.6 3.3 9.5 3.2 9.6 11.5 6.2 19.6-7.6 18.6-39.2 25-64.4 13.1-22.4-10.7-27.5-30.3-14-53.8s36.9-31.4 57-18c1.1 0.5 1.2 2.3 2.2 4.6z"/>
|
||||
<path class="st0" d="m2113.2 977.9c9.4-2.9 19.5-2.8 28.8 0.4 8.6 2.6 15.7 7.8 16.2 17.3 0.3 8.1-4.5 15.6-12 18.8-15.4 7.3-31.4 9.7-46.1-1.5-13.1-9.9-16.8-29.1-8.9-48.2 6.9-16.5 18.2-28.4 37.3-30.1 6-0.5 13.1 0.8 14 7.6 1.5 10.4-7.6 5.3-12.2 6.5-14.8 3.9-22.8 13.9-25 28.8-1.2 23 10.1 33.5 29.6 27.5 3.9-1.1 7.8-2.3 7.5-7.3-0.3-3.9-4.3-4.4-7.4-4.9-5.1-0.8-10.4-1.3-15.7-2-8.3-1.2-12-4.7-6.1-12.9z"/>
|
||||
<path class="st0" d="m1610.4 954c8.7-7.4 18.5-5.8 24.4 1.6 8.9 11.4 13.1 5.6 20.4-1.3 15.7-14.6 30.6-10.8 37.7 9.2 5.3 15.5 7.5 31.9 6.5 48.3-0.2 5.1-0.8 11.8-7.4 12.2-7.2 0.6-7.5-6.2-8.1-11.1-1.3-9.1-1.4-18.2-2.6-27.3-1.3-9 1.6-23.9-11.1-22.4-11.8 1.4-20.5 13-19.1 27.7 0.8 8.4 1.7 16.9 2.2 25.3 0.3 4.6 0 10.3-5.3 11.3-6.7 1.2-8.8-4.5-9.7-9.8-2.4-14.1-4.2-28.4-6.9-42.4-2.5-12.4-9.2-16.9-20.8-8.8-0.1-4.3-0.2-8.4-0.2-12.5z"/>
|
||||
<path class="st0" d="m1805.5 977.3c0-8.4-0.2-12.6 0-21.1 0-4.4-0.3-10 4.4-12.2 6.3-3.1 7.1 3 9.1 6.8 3 5.5 6.2 1.4 9.5 0 22.6-9.1 37.4-2.6 45.4 20.6 4 11.7 5.8 24.1 5.2 36.5-0.2 5.3-1.7 11.4-8 11.8s-8.2-5.6-9-10.9c-1.4-9.7-2.3-19.4-3.6-29.1s-3.2-19.9-15.3-18.7c-11.8 0.5-20.9 10.4-20.4 22.1v0.1c-0.2 9.1 1.1 18.2 1.1 27.5 0 5.8 0 13.3-7.8 13.3-7 0-9.1-6.8-9.3-12.9-0.4-9.7 0-19.6 0-29.3-0.6-0.2-1-4.5-1.3-4.5z"/>
|
||||
<path class="st0" d="m2318.1 918.4c-18.8-6.4-38.6-4.4-57.8-7.4-5-0.8-12.4 0.4-12.8-6-0.6-7.8 7.4-7.8 12.9-8.6 17.7-2.3 35 2.1 52.5 3.2 31.2 2 62.3 4.8 93.5 7.3 5.7 0.5 13.6-0.5 13.9 7.2 0.4 9.5-8.4 8.4-14.6 8.2-26-1.1-52-2.5-78-3.9h-9.6z"/>
|
||||
<path class="st0" d="m1998.5 978.2c0.8-7.3 1.5-17.8 3.2-28.1 1.4-8.8 3.9-16.8 13.2-4.6 5 6.4 7.3-1 10.2-3 20.3-14.3 33.2-10.1 41.1 13.7 4.7 14 3.9 28.4 3.1 42.8-0.4 5.5 0 13.3-8.2 12.8-6.1-0.5-6.9-7.2-7.1-12.4 0.1-13.1-1-26.1-3.2-39-2.7-12.8-8.6-12.9-17.7-6.2-11.9 8.5-18.8 22.4-18.4 37.1 0 7.5 3.3 20.3-9.3 19.6-10.3-0.6-6.1-12.4-6.8-19.6-0.1-3.5-0.1-6.8-0.1-13.1z"/>
|
||||
<path class="st0" d="m2928.4 1043.4c1.6 0.1 3.3 0.1 4.9 0 8.6-2 18-14.8 23.7-8.2 7.8 8.9-8 11.3-12.1 17.7-5.5 8.6 3.6 11 6.3 16 4.3 7.8 19.6 16 12 22.9s-17.8-5.7-24.4-13.2c-10.1-11.8-17.5-16-20.9 4.2-0.7 4.3-3.1 9.3-9 8.2-4.7-0.9-7.8-5.4-6.9-10.1 0-0.2 0.1-0.4 0.1-0.5 2.9-21.2 6.4-42.4 9.9-63.5 0.7-3.9 2.7-7.8 7.8-6.9s6 4.9 6.5 8.7c0.9 8.1 1.3 16.4 2.1 24.7z"/>
|
||||
<path class="st0" d="m2820.1 1040c0 22.2-19.6 43.2-40.1 42.7-16.1 0.4-29.4-12.4-29.8-28.5v-1.2c0-21.8 22.2-46.8 42-47.6 13.8-0.6 27.9 16.8 27.9 34.6zm-14.6-0.6c-2.6-7.8-3.3-19.1-16.2-19.6-9.5-0.4-24.8 20.2-24.6 32.1 0 10.2 5.8 15.5 15.7 16 12.8 0.6 25.3-13.2 25.1-28.5z"/>
|
||||
<path class="st0" d="m2867.8 1053.7c3.9 9.9 21.7 16.7 11.8 26-8.4 7.8-16.6-7.2-24.2-13.1-2.5-1.9-4.7-4.2-6.8-6.2-5.1 2.4-4.9 6.6-5.7 10.2-1.1 4.8-3 9.1-8.8 8.2-6.7-1.1-7.8-6.7-6.8-12 2.4-13.4 3.9-27.2 8.7-39.8s15.7-17.8 29.2-18.8c11.8-0.9 15.3 7.8 18.9 15.7 7.5 16.3-5 22.5-16.3 29.8zm-3.3-32.9c-5.9 0.8-13.1 1.5-12.9 8.9 0 6.3 6.9 6.2 12.1 6.7 6.2 0.6 10.2-1.5 9.9-8.4-0.2-6.1-4.1-7.5-9.1-7.2z"/>
|
||||
<path class="st0" d="m2375.1 1013.5c11.5 15.7 29.7 9.3 51 14.4-18.4 10.8-32.5 14.4-48.6 8.7-16.9-5.1-27.5-21.8-25-39.2 1.5-16.3 9-28.7 25.7-32.9 12.4-3.1 23.5 0 30.3 11.8 6.2 10.6-1.4 16.4-9.3 21.6-8.7 1.8-36.6 15-7.1-7.1 3-4.6 4.4-8.2-0.9-11.2-4.1-2.4-9.3-1.8-12.7 1.5-11.2 9.3-9.6 20.7-3.4 32.4z"/>
|
||||
<path class="st0" d="m2496.3 1022c-1.2 7.3 1.1 17.1-8.1 18.2-9.1 1.1-7.8-8.6-8.5-14.5-0.7-7.5-4.1-10.6-11.3-9.6-8.2 1.1-19.2-4.6-22.2 9.3-0.9 3.9-0.7 10.6-7.1 9.2-5.6-1.2-4.7-7.4-4.2-11.8 2.1-18.4 6.9-36 20.8-49.4 11.8-11.5 24.1-9.5 31.7 5.2 7.2 13.8 7.1 29.1 8.9 43.4zm-19.1-29c-1.2-3.9-1.3-10.9-7.8-10.3-6.7 1.1-11.6 6.7-11.8 13.5-0.7 7.3 6.1 4.6 9.9 5.1 5.4 0.5 10.9 0.5 9.7-8.3z"/>
|
||||
<path class="st0" d="m1745.3 997.1c6.8 8.5 18.3 11.5 28.3 7.4 3.9-1.4 9.1-4.8 11.8 1.6 2 5-2 8.5-5.3 11.8-17.2 16.2-52.2 2.3-59.2-23.5-5.7-18.6 4.7-38.4 23.4-44.1 4.8-1.5 9.8-1.9 14.8-1.3 8.2 0.9 15.5 3.3 18.7 11.8s-3.1 12.9-8.6 17.6c-3 2.5-5.6 5.4-8.4 8.2l-9.2-2.4c4.9-6.2 14.4-10.1 13-19.3-0.7-4.6-7.6-3.7-11.8-2.4-9.8 3.1-17 9-16.4 20.6 0 2.2 2.1 4.4 3.3 6.5 0.3 3.7 1 7 5.6 7.5z"/>
|
||||
<path class="st0" d="m1375.4 992.4c5.7 6.8 2.9 14.1 3.7 20.6 1.6 14 7.2 26.3 22.7 26.7 19.6 0.5 34.5-12.7 35.8-27.8 0.8-9.3-7.3-24.8 8.2-25.3 13.1-0.5 10.7 15.2 11.3 25.1 0.7 8.5 4 16.6 9.5 23.1 3 3.9 8.5 7.8 3.2 13.3-3.4 3.8-9.3 4.1-13 0.6-0.4-0.3-0.7-0.7-1.1-1.1-11-14-20.2-9.1-32.5-1-12.6 9.2-29.9 8.5-41.7-1.7-12.4-10.1-14.7-29.6-6.1-52.5z"/>
|
||||
<path class="st0" d="m1946.8 948.4c-26.1 5.4-24.2 20.7-23 35.7 0.4 4.6 0.4 9.2 0.1 13.8-0.5 6 1.9 14.9-7.8 14.9-7.8 0-7.3-7.8-7.8-13.5-0.5-5.6-0.6-10.4-0.9-15.7-0.3-4.6 1.2-10.8-1.2-13.4-17.1-17.9 0.8-33.9 1.8-50.7 0.2-3.6-0.6-8.7 4.6-9.5s6.9 3.9 6.9 7.5c0 15.2 6.4 25.4 27.3 30.9z"/>
|
||||
<path class="st0" d="m2318.1 918.4h9.7c7 32.6 0.5 64.6-4.4 96.6-0.8 5.5-2.3 13.1-9.6 12.7-8.6-0.5-8.9-8.7-8.1-15.1 3.9-31.3 8.3-62.7 12.4-94.2z"/>
|
||||
<path class="st0" d="m1610.4 954v12.4c-8.6 9.6-9.3 20.3-7 32.8 1.8 9.6 10.5 26-3.9 28.1-13.7 1.8-10.4-16.3-12.6-26.4-1.8-9-2.8-18.1-3.3-27.2-0.8-14.6-0.5-14.5 13.8-12.3 6.2 0.9 7.5-6.7 13-7.4z"/>
|
||||
<path class="st0" d="m1972.1 980.9c-1 7.8-1.9 17.7-3.6 27.5-0.3 4-3.7 7-7.7 6.8h-0.4c-4.1-0.5-7.1-4.1-6.8-8.2 1-17.5 1.3-35.1 5.6-52.2 0.8-3.4 2.7-7 6.2-6 2.8 1.5 4.7 4.2 5.2 7.4 1 7.3 1 15.2 1.5 24.7z"/>
|
||||
<path class="st0" d="m1966.3 906.9c7.5 0.4 13.1 3.2 13.1 11.4 0 6.5-4.4 8.9-10.4 8.9-7.2-0.2-13-3.1-13.1-11.3-0.1-6.6 4.7-8.8 10.4-9z"/>
|
||||
<path class="st0" d="m1751.8 984.2 9.2 2.4-15.7 10.5c-4.6-0.5-5.2-3.9-5.5-7.5l12-5.4z"/>
|
||||
<path class="st0" d="m1161.9 1139.1 0.7 0.7-3.7 2.9 3-3.6z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 46 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 103 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
Change: Dummy index.html is not required anymore by upstream
|
||||
|
||||
The workaround was required as identifier webapp was mandatory, but
|
||||
we serve it from memory. This also introduces --disable-identifier-webapp flag.
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/issues/25
|
||||
7
konnectd/changelog/0.1.0_2020-03-18/initial-release.md
Normal file
7
konnectd/changelog/0.1.0_2020-03-18/initial-release.md
Normal file
@@ -0,0 +1,7 @@
|
||||
Change: Initial release of basic version
|
||||
|
||||
Just prepare an initial basic version to serve konnectd embedded into our
|
||||
microservice infrastructure in the scope of the ownCloud Infinite Scale
|
||||
project.
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/issues/1
|
||||
8
konnectd/changelog/0.1.0_2020-03-18/new-ocis-config.md
Normal file
8
konnectd/changelog/0.1.0_2020-03-18/new-ocis-config.md
Normal file
@@ -0,0 +1,8 @@
|
||||
Change: use glauth as ldap backend, default to running behind ocis-proxy
|
||||
|
||||
We changed the default configuration to integrate better with ocis.
|
||||
|
||||
The default ldap port changes to 9125, which is used by ocis-glauth and we use ocis-proxy to do the tls offloading.
|
||||
Clients are supposed to use the ocis-proxy endpoint `https://localhost:9200`
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/pull/52
|
||||
4
konnectd/changelog/0.1.0_2020-03-18/set-csp-nonce.md
Normal file
4
konnectd/changelog/0.1.0_2020-03-18/set-csp-nonce.md
Normal file
@@ -0,0 +1,4 @@
|
||||
Bugfix: Generate a random CSP-Nonce in the webapp
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/issues/17
|
||||
https://github.com/owncloud/ocis-konnectd/pull/29
|
||||
@@ -0,0 +1,3 @@
|
||||
Enhancement: Change default config for single-binary
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/pull/55
|
||||
@@ -0,0 +1,5 @@
|
||||
Change: add a trailing slash to trusted redirect uris
|
||||
|
||||
Phoenix changed the redirect uri to `<baseUrl>#/login` that means it will contain a trailing slash after the base url.
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/issues/26
|
||||
5
konnectd/changelog/0.3.0_2020-04-14/client_names.md
Normal file
5
konnectd/changelog/0.3.0_2020-04-14/client_names.md
Normal file
@@ -0,0 +1,5 @@
|
||||
Change: improve client identifiers for end users
|
||||
|
||||
Improved end user facing client names in default identifier-registration.yaml
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/pull/62
|
||||
5
konnectd/changelog/0.3.0_2020-04-14/logout_redirect.md
Normal file
5
konnectd/changelog/0.3.0_2020-04-14/logout_redirect.md
Normal file
@@ -0,0 +1,5 @@
|
||||
Bugfix: redirect to the provided uri
|
||||
|
||||
The phoenix client was not set as trusted therefore when logging out the user was redirected to a default page instead of the provided url.
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/issues/26
|
||||
@@ -0,0 +1,4 @@
|
||||
Enhancement: Use upstream version of konnect library
|
||||
|
||||
https://github.com/owncloud/product/issues/14
|
||||
|
||||
5
konnectd/changelog/0.3.1_2020-04-14/assets
Normal file
5
konnectd/changelog/0.3.1_2020-04-14/assets
Normal file
@@ -0,0 +1,5 @@
|
||||
Bugfix: Include the assets for #62
|
||||
|
||||
PR 62 introduced new client names. These assets needs to be generated in the embed.go file.
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/pull/64
|
||||
@@ -0,0 +1,6 @@
|
||||
Bugfix: add silent redirect url
|
||||
|
||||
Adds the oidc-silent-redirect.html phoenix uses to silently refresh access tokens to the default identifier-registration.yml
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/issues/69
|
||||
https://github.com/owncloud/ocis-konnectd/pull/70
|
||||
5
konnectd/changelog/0.3.2_2020-07-23/use-alpine-latest.md
Normal file
5
konnectd/changelog/0.3.2_2020-07-23/use-alpine-latest.md
Normal file
@@ -0,0 +1,5 @@
|
||||
Bugfix: build docker images with alpine:latest instead of alpine:edge
|
||||
|
||||
ARM builds were failing when built on alpine:edge, so we switched to alpine:latest instead.
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/pull/71
|
||||
53
konnectd/changelog/CHANGELOG.tmpl
Normal file
53
konnectd/changelog/CHANGELOG.tmpl
Normal file
@@ -0,0 +1,53 @@
|
||||
{{ $allVersions := . }}
|
||||
{{- range $index, $changes := . }}{{ with $changes -}}
|
||||
{{ if gt (len $allVersions) 1 -}}
|
||||
# Changelog for [{{ .Version }}] ({{ .Date }})
|
||||
|
||||
The following sections list the changes in ocis-konnectd {{ .Version }}.
|
||||
|
||||
{{/* creating version compare links */ -}}
|
||||
{{ $next := add1 $index -}}
|
||||
{{ if ne (len $allVersions) $next -}}
|
||||
{{ $previousVersion := (index $allVersions $next).Version -}}
|
||||
{{ if eq .Version "unreleased" -}}
|
||||
[{{ .Version }}]: https://github.com/owncloud/ocis-konnectd/compare/v{{ $previousVersion }}...master
|
||||
|
||||
{{ else -}}
|
||||
[{{ .Version }}]: https://github.com/owncloud/ocis-konnectd/compare/v{{ $previousVersion }}...v{{ .Version }}
|
||||
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
|
||||
{{- /* last version managed by calens, end of the loop */ -}}
|
||||
{{ if eq .Version "0.1.0" -}}
|
||||
[{{ .Version }}]: https://github.com/owncloud/ocis-konnectd/compare/66337bb4dad4a3202880323adf7a51a1a3bb4085...v{{ .Version }}
|
||||
|
||||
{{ end -}}
|
||||
{{ else -}}
|
||||
# Changes in {{ .Version }}
|
||||
|
||||
{{ end -}}
|
||||
|
||||
## Summary
|
||||
{{ range $entry := .Entries }}{{ with $entry }}
|
||||
* {{ .Type }} - {{ .Title }}: [#{{ .PrimaryID }}]({{ .PrimaryURL }})
|
||||
{{- end }}{{ end }}
|
||||
|
||||
## Details
|
||||
{{ range $entry := .Entries }}{{ with $entry }}
|
||||
* {{ .Type }} - {{ .Title }}: [#{{ .PrimaryID }}]({{ .PrimaryURL }})
|
||||
{{ range $par := .Paragraphs }}
|
||||
{{ wrapIndent $par 80 3 }}
|
||||
{{ end -}}
|
||||
{{ range $url := .IssueURLs }}
|
||||
{{ $url -}}
|
||||
{{ end -}}
|
||||
{{ range $url := .PRURLs }}
|
||||
{{ $url -}}
|
||||
{{ end -}}
|
||||
{{ range $url := .OtherURLs }}
|
||||
{{ $url -}}
|
||||
{{ end }}
|
||||
|
||||
{{ end }}{{ end -}}
|
||||
{{ end }}{{ end -}}
|
||||
6
konnectd/changelog/README.md
Normal file
6
konnectd/changelog/README.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# Changelog
|
||||
|
||||
We are using [calens](https://github.com/restic/calens) to properly generate a
|
||||
changelog before we are tagging a new release. To get an idea how this could
|
||||
look like <https://github.com/restic/restic/tree/master/changelog> would be the
|
||||
best reference.
|
||||
11
konnectd/changelog/TEMPLATE
Normal file
11
konnectd/changelog/TEMPLATE
Normal file
@@ -0,0 +1,11 @@
|
||||
Bugfix: Fix behavior for foobar (in present tense)
|
||||
|
||||
We've fixed the behavior for foobar, a long-standing annoyance for users. The
|
||||
text should be wrapped at 80 characters length.
|
||||
|
||||
The text in the paragraphs is written in past tense. The last section is a list
|
||||
of issue URLs, PR URLs and other URLs. The first issue ID (or the first PR ID,
|
||||
in case there aren't any issue links) is used as the primary ID.
|
||||
|
||||
https://github.com/owncloud/ocis-konnectd/issues/1234
|
||||
https://github.com/owncloud/ocis-konnectd/pull/55555
|
||||
0
konnectd/changelog/unreleased/.keep
Normal file
0
konnectd/changelog/unreleased/.keep
Normal file
13
konnectd/cmd/ocis-konnectd/main.go
Normal file
13
konnectd/cmd/ocis-konnectd/main.go
Normal file
@@ -0,0 +1,13 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/owncloud/ocis-konnectd/pkg/command"
|
||||
)
|
||||
|
||||
func main() {
|
||||
if err := command.Execute(); err != nil {
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
20
konnectd/config/example.json
Normal file
20
konnectd/config/example.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"debug": {
|
||||
"addr": "0.0.0.0:9134",
|
||||
"token": "",
|
||||
"pprof": false,
|
||||
"zpages": false
|
||||
},
|
||||
"http": {
|
||||
"addr": "0.0.0.0:9130",
|
||||
"root": "/",
|
||||
"tls": true
|
||||
},
|
||||
"tracing": {
|
||||
"enabled": false,
|
||||
"type": "jaeger",
|
||||
"endpoint": "localhost:6831",
|
||||
"collector": "http://localhost:14268/api/traces",
|
||||
"service": "konnectd"
|
||||
}
|
||||
}
|
||||
19
konnectd/config/example.yml
Normal file
19
konnectd/config/example.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
debug:
|
||||
addr: 0.0.0.0:9134
|
||||
token:
|
||||
pprof: false
|
||||
zpages: false
|
||||
|
||||
http:
|
||||
addr: 0.0.0.0:9130
|
||||
root: /
|
||||
|
||||
tracing:
|
||||
enabled: false
|
||||
type: jaeger
|
||||
endpoint: localhost:6831
|
||||
collector: http://localhost:14268/api/traces
|
||||
service: konnectd
|
||||
|
||||
...
|
||||
19
konnectd/docker/Dockerfile.linux.amd64
Normal file
19
konnectd/docker/Dockerfile.linux.amd64
Normal file
@@ -0,0 +1,19 @@
|
||||
FROM amd64/alpine:latest
|
||||
|
||||
RUN apk update && \
|
||||
apk upgrade && \
|
||||
apk add ca-certificates mailcap && \
|
||||
rm -rf /var/cache/apk/* && \
|
||||
echo 'hosts: files dns' >| /etc/nsswitch.conf
|
||||
|
||||
LABEL maintainer="ownCloud GmbH <devops@owncloud.com>" \
|
||||
org.label-schema.name="oCIS Konnectd" \
|
||||
org.label-schema.vendor="ownCloud GmbH" \
|
||||
org.label-schema.schema-version="1.0"
|
||||
|
||||
EXPOSE 9130 9134
|
||||
|
||||
ENTRYPOINT ["/usr/bin/ocis-konnectd"]
|
||||
CMD ["server"]
|
||||
|
||||
COPY bin/ocis-konnectd /usr/bin/ocis-konnectd
|
||||
19
konnectd/docker/Dockerfile.linux.arm
Normal file
19
konnectd/docker/Dockerfile.linux.arm
Normal file
@@ -0,0 +1,19 @@
|
||||
FROM arm32v6/alpine:latest
|
||||
|
||||
RUN apk update && \
|
||||
apk upgrade && \
|
||||
apk add ca-certificates mailcap && \
|
||||
rm -rf /var/cache/apk/* && \
|
||||
echo 'hosts: files dns' >| /etc/nsswitch.conf
|
||||
|
||||
LABEL maintainer="ownCloud GmbH <devops@owncloud.com>" \
|
||||
org.label-schema.name="oCIS Konnectd" \
|
||||
org.label-schema.vendor="ownCloud GmbH" \
|
||||
org.label-schema.schema-version="1.0"
|
||||
|
||||
EXPOSE 9130 9134
|
||||
|
||||
ENTRYPOINT ["/usr/bin/ocis-konnectd"]
|
||||
CMD ["server"]
|
||||
|
||||
COPY bin/ocis-konnectd /usr/bin/ocis-konnectd
|
||||
19
konnectd/docker/Dockerfile.linux.arm64
Normal file
19
konnectd/docker/Dockerfile.linux.arm64
Normal file
@@ -0,0 +1,19 @@
|
||||
FROM arm64v8/alpine:latest
|
||||
|
||||
RUN apk update && \
|
||||
apk upgrade && \
|
||||
apk add ca-certificates mailcap && \
|
||||
rm -rf /var/cache/apk/* && \
|
||||
echo 'hosts: files dns' >| /etc/nsswitch.conf
|
||||
|
||||
LABEL maintainer="ownCloud GmbH <devops@owncloud.com>" \
|
||||
org.label-schema.name="oCIS Konnectd" \
|
||||
org.label-schema.vendor="ownCloud GmbH" \
|
||||
org.label-schema.schema-version="1.0"
|
||||
|
||||
EXPOSE 9130 9134
|
||||
|
||||
ENTRYPOINT ["/usr/bin/ocis-konnectd"]
|
||||
CMD ["server"]
|
||||
|
||||
COPY bin/ocis-konnectd /usr/bin/ocis-konnectd
|
||||
22
konnectd/docker/manifest.tmpl
Normal file
22
konnectd/docker/manifest.tmpl
Normal file
@@ -0,0 +1,22 @@
|
||||
image: owncloud/ocis-konnectd:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
|
||||
{{#if build.tags}}
|
||||
tags:
|
||||
{{#each build.tags}}
|
||||
- {{this}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
manifests:
|
||||
- image: owncloud/ocis-konnectd:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-amd64
|
||||
platform:
|
||||
architecture: amd64
|
||||
os: linux
|
||||
- image: owncloud/ocis-konnectd:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm64
|
||||
platform:
|
||||
architecture: arm64
|
||||
variant: v8
|
||||
os: linux
|
||||
- image: owncloud/ocis-konnectd:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm
|
||||
platform:
|
||||
architecture: arm
|
||||
variant: v6
|
||||
os: linux
|
||||
8
konnectd/docs/_index.md
Normal file
8
konnectd/docs/_index.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Konnectd
|
||||
geekdocRepo: https://github.com/owncloud/ocis-konnectd
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: _index.md
|
||||
---
|
||||
|
||||
This service provides an OpenID Connect provider which is the default way to authenticate in OCIS.
|
||||
28
konnectd/docs/building.md
Normal file
28
konnectd/docs/building.md
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: "Building"
|
||||
date: 2020-02-21T00:00:00+00:00
|
||||
weight: 30
|
||||
geekdocRepo: https://github.com/owncloud/ocis-konnectd
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: building.md
|
||||
---
|
||||
|
||||
{{< toc >}}
|
||||
|
||||
As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install), to build this project you have to install Go >= v1.13. After the installation of the required tools you need to get the sources:
|
||||
|
||||
{{< highlight txt >}}
|
||||
git clone https://github.com/owncloud/ocis-konnectd.git
|
||||
cd ocis-konnectd
|
||||
{{< / highlight >}}
|
||||
|
||||
All required tool besides Go itself and make are bundled or getting automatically installed within the `GOPATH`. All commands to build this project are part of our `Makefile`.
|
||||
|
||||
## Backend
|
||||
|
||||
{{< highlight txt >}}
|
||||
make generate
|
||||
make build
|
||||
{{< / highlight >}}
|
||||
|
||||
Finally you should have the binary within the `bin/` folder now, give it a try with `./bin/ocis-konnectd -h` to see all available options and subcommands.
|
||||
176
konnectd/docs/configuration.md
Normal file
176
konnectd/docs/configuration.md
Normal file
@@ -0,0 +1,176 @@
|
||||
---
|
||||
title: "Configuration"
|
||||
date: "2020-04-20T13:18:32+0200"
|
||||
weight: 20
|
||||
geekdocRepo: https://github.com/owncloud/ocis-konnectd
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: configuration.md
|
||||
---
|
||||
|
||||
{{< toc >}}
|
||||
|
||||
## Configuration
|
||||
|
||||
oCIS Single Binary is not responsible for configuring extensions. Instead, each extension could either be configured by environment variables, cli flags or config files.
|
||||
|
||||
Each extension has its dedicated documentation page (e.g. https://owncloud.github.io/extensions/ocis_proxy/configuration) which lists all possible configurations. Config files and environment variables are picked up if you use the `./bin/ocis server` command within the oCIS single binary. Command line flags must be set explicitly on the extensions subcommands.
|
||||
|
||||
### Configuration using config files
|
||||
|
||||
Out of the box extensions will attempt to read configuration details from:
|
||||
|
||||
```console
|
||||
/etc/ocis
|
||||
$HOME/.ocis
|
||||
./config
|
||||
```
|
||||
|
||||
For this configuration to be picked up, have a look at your extension `root` command and look for which default config name it has assigned. *i.e: ocis-proxy reads `proxy.json | yaml | toml ...`*.
|
||||
|
||||
So far we support the file formats `JSON` and `YAML`, if you want to get a full example configuration just take a look at [our repository](https://github.com/owncloud/ocis/tree/master/config), there you can always see the latest configuration format. These example configurations include all available options and the default values. The configuration file will be automatically loaded if it's placed at `/etc/ocis/ocis.yml`, `${HOME}/.ocis/ocis.yml` or `$(pwd)/config/ocis.yml`.
|
||||
|
||||
### Envrionment variables
|
||||
|
||||
If you prefer to configure the service with environment variables you can see the available variables below.
|
||||
|
||||
### Commandline flags
|
||||
|
||||
If you prefer to configure the service with commandline flags you can see the available variables below. Command line flags are only working when calling the subcommand directly.
|
||||
|
||||
## Root Command
|
||||
|
||||
Serve Konnectd API for oCIS
|
||||
|
||||
Usage: `ocis-konnectd [global options] command [command options] [arguments...]`
|
||||
|
||||
--config-file | $KONNECTD_CONFIG_FILE
|
||||
: Path to config file.
|
||||
|
||||
--log-level | $KONNECTD_LOG_LEVEL
|
||||
: Set logging level. Default: `info`.
|
||||
|
||||
--log-pretty | $KONNECTD_LOG_PRETTY
|
||||
: Enable pretty logging. Default: `true`.
|
||||
|
||||
--log-color | $KONNECTD_LOG_COLOR
|
||||
: Enable colored logging. Default: `true`.
|
||||
|
||||
## Sub Commands
|
||||
|
||||
### ocis-konnectd server
|
||||
|
||||
Start integrated server
|
||||
|
||||
Usage: `ocis-konnectd server [command options] [arguments...]`
|
||||
|
||||
--tracing-enabled | $KONNECTD_TRACING_ENABLED
|
||||
: Enable sending traces.
|
||||
|
||||
--tracing-type | $KONNECTD_TRACING_TYPE
|
||||
: Tracing backend type. Default: `jaeger`.
|
||||
|
||||
--tracing-endpoint | $KONNECTD_TRACING_ENDPOINT
|
||||
: Endpoint for the agent.
|
||||
|
||||
--tracing-collector | $KONNECTD_TRACING_COLLECTOR
|
||||
: Endpoint for the collector.
|
||||
|
||||
--tracing-service | $KONNECTD_TRACING_SERVICE
|
||||
: Service name for tracing. Default: `konnectd`.
|
||||
|
||||
--debug-addr | $KONNECTD_DEBUG_ADDR
|
||||
: Address to bind debug server. Default: `0.0.0.0:9134`.
|
||||
|
||||
--debug-token | $KONNECTD_DEBUG_TOKEN
|
||||
: Token to grant metrics access.
|
||||
|
||||
--debug-pprof | $KONNECTD_DEBUG_PPROF
|
||||
: Enable pprof debugging.
|
||||
|
||||
--debug-zpages | $KONNECTD_DEBUG_ZPAGES
|
||||
: Enable zpages debugging.
|
||||
|
||||
--http-addr | $KONNECTD_HTTP_ADDR
|
||||
: Address to bind http server. Default: `0.0.0.0:9130`.
|
||||
|
||||
--http-root | $KONNECTD_HTTP_ROOT
|
||||
: Root path of http server. Default: `/`.
|
||||
|
||||
--http-namespace | $KONNECTD_HTTP_NAMESPACE
|
||||
: Set the base namespace for service discovery. Default: `com.owncloud.web`.
|
||||
|
||||
--identity-manager | $KONNECTD_IDENTITY_MANAGER
|
||||
: Identity manager (one of ldap,kc,cookie,dummy). Default: `ldap`.
|
||||
|
||||
--transport-tls-cert | $KONNECTD_TRANSPORT_TLS_CERT
|
||||
: Certificate file for transport encryption.
|
||||
|
||||
--transport-tls-key | $KONNECTD_TRANSPORT_TLS_KEY
|
||||
: Secret file for transport encryption.
|
||||
|
||||
--iss | $KONNECTD_ISS
|
||||
: OIDC issuer URL. Default: `https://localhost:9200`.
|
||||
|
||||
--signing-kid | $KONNECTD_SIGNING_KID
|
||||
: Value of kid field to use in created tokens (uniquely identifying the signing-private-key).
|
||||
|
||||
--validation-keys-path | $KONNECTD_VALIDATION_KEYS_PATH
|
||||
: Full path to a folder containg PEM encoded private or public key files used for token validaton (file name without extension is used as kid).
|
||||
|
||||
--encryption-secret | $KONNECTD_ENCRYPTION_SECRET
|
||||
: Full path to a file containing a %d bytes secret key.
|
||||
|
||||
--signing-method | $KONNECTD_SIGNING_METHOD
|
||||
: JWT default signing method. Default: `PS256`.
|
||||
|
||||
--uri-base-path | $KONNECTD_URI_BASE_PATH
|
||||
: Custom base path for URI endpoints.
|
||||
|
||||
--sign-in-uri | $KONNECTD_SIGN_IN_URI
|
||||
: Custom redirection URI to sign-in form.
|
||||
|
||||
--signed-out-uri | $KONNECTD_SIGN_OUT_URI
|
||||
: Custom redirection URI to signed-out goodbye page.
|
||||
|
||||
--authorization-endpoint-uri | $KONNECTD_ENDPOINT_URI
|
||||
: Custom authorization endpoint URI.
|
||||
|
||||
--endsession-endpoint-uri | $KONNECTD_ENDSESSION_ENDPOINT_URI
|
||||
: Custom endsession endpoint URI.
|
||||
|
||||
--asset-path | $KONNECTD_ASSET_PATH
|
||||
: Path to custom assets.
|
||||
|
||||
--identifier-client-path | $KONNECTD_IDENTIFIER_CLIENT_PATH
|
||||
: Path to the identifier web client base folder. Default: `/var/tmp/konnectd`.
|
||||
|
||||
--identifier-registration-conf | $KONNECTD_IDENTIFIER_REGISTRATION_CONF
|
||||
: Path to a identifier-registration.yaml configuration file. Default: `./config/identifier-registration.yaml`.
|
||||
|
||||
--identifier-scopes-conf | $KONNECTD_IDENTIFIER_SCOPES_CONF
|
||||
: Path to a scopes.yaml configuration file.
|
||||
|
||||
--insecure | $KONNECTD_INSECURE
|
||||
: Disable TLS certificate and hostname validation.
|
||||
|
||||
--tls | $KONNECTD_TLS
|
||||
: Use TLS (disable only if konnectd is behind a TLS-terminating reverse-proxy).. Default: `false`.
|
||||
|
||||
--allow-client-guests | $KONNECTD_ALLOW_CLIENT_GUESTS
|
||||
: Allow sign in of client controlled guest users.
|
||||
|
||||
--allow-dynamic-client-registration | $KONNECTD_ALLOW_DYNAMIC_CLIENT_REGISTRATION
|
||||
: Allow dynamic OAuth2 client registration.
|
||||
|
||||
--disable-identifier-webapp | $KONNECTD_DISABLE_IDENTIFIER_WEBAPP
|
||||
: Disable built-in identifier-webapp to use a frontend hosted elsewhere.. Default: `true`.
|
||||
|
||||
### ocis-konnectd health
|
||||
|
||||
Check health status
|
||||
|
||||
Usage: `ocis-konnectd health [command options] [arguments...]`
|
||||
|
||||
--debug-addr | $KONNECTD_DEBUG_ADDR
|
||||
: Address to debug endpoint. Default: `0.0.0.0:9134`.
|
||||
|
||||
154
konnectd/docs/getting-started.md
Normal file
154
konnectd/docs/getting-started.md
Normal file
@@ -0,0 +1,154 @@
|
||||
---
|
||||
title: "Getting Started"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: https://github.com/owncloud/ocis-konnectd
|
||||
geekdocEditPath: edit/master/docs
|
||||
geekdocFilePath: getting-started.md
|
||||
---
|
||||
|
||||
{{< toc >}}
|
||||
|
||||
## Installation
|
||||
|
||||
So far we are offering two different variants for the installation. You can choose between [Docker](https://www.docker.com/) or pre-built binaries which are stored on our download mirrors and GitHub releases. Maybe we will also provide system packages for the major distributions later if we see the need for it.
|
||||
|
||||
### Docker
|
||||
|
||||
Docker images for ocis-reva are hosted on https://hub.docker.com/r/owncloud/ocis-konnectd.
|
||||
|
||||
The `latest` tag always reflects the current master branch.
|
||||
|
||||
```console
|
||||
docker pull owncloud/ocis-konnectd
|
||||
```
|
||||
|
||||
### Binaries
|
||||
|
||||
The pre-built binaries for different platforms are downloadable at https://download.owncloud.com/ocis/ocis-konnectd/ . Specific releases are organized in separate folders. They are in sync which every release tag on GitHub. The binaries from the current master branch can be found in https://download.owncloud.com/ocis/ocis-konnectd/testing/
|
||||
|
||||
```console
|
||||
curl https://download.owncloud.com/ocis/ocis-konnectd/1.0.0-beta1/ocis-konnectd-1.0.0-beta1-darwin-amd64 --output ocis-konnectd
|
||||
chmod +x ocis-konnectd
|
||||
./ocis-konnectd server
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
The program provides a few sub-commands on execution. The available configuration methods have already been mentioned above. Generally you can always see a formated help output if you execute the binary via `ocis-konnectd --help`.
|
||||
|
||||
### Server
|
||||
|
||||
The server command is used to start the http and debug server on two addresses within a single process. The http server is serving the general webservice while the debug server is used for health check, readiness check and to server the metrics mentioned below. For further help please execute:
|
||||
|
||||
{{< highlight txt >}}
|
||||
ocis-konnectd server --help
|
||||
{{< / highlight >}}
|
||||
|
||||
### Health
|
||||
|
||||
The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes.
|
||||
|
||||
{{< highlight txt >}}
|
||||
ocis-konnectd health --help
|
||||
{{< / highlight >}}
|
||||
|
||||
## Metrics
|
||||
|
||||
This service provides some [Prometheus](https://prometheus.io/) metrics through the debug endpoint, you can optionally secure the metrics endpoint by some random token, which got to be configured through one of the flag `--debug-token` or the environment variable `KONNECTD_DEBUG_TOKEN` mentioned above. By default the metrics endpoint is bound to `http://0.0.0.0:9134/metrics`.
|
||||
|
||||
go_gc_duration_seconds
|
||||
: A summary of the GC invocation durations
|
||||
|
||||
go_gc_duration_seconds_sum
|
||||
: A summary of the GC invocation durations
|
||||
|
||||
go_gc_duration_seconds_count
|
||||
: A summary of the GC invocation durations
|
||||
|
||||
go_goroutines
|
||||
: Number of goroutines that currently exist
|
||||
|
||||
go_info
|
||||
: Information about the Go environment
|
||||
|
||||
go_memstats_alloc_bytes
|
||||
: Number of bytes allocated and still in use
|
||||
|
||||
go_memstats_alloc_bytes_total
|
||||
: Total number of bytes allocated, even if freed
|
||||
|
||||
go_memstats_buck_hash_sys_bytes
|
||||
: Number of bytes used by the profiling bucket hash table
|
||||
|
||||
go_memstats_frees_total
|
||||
: Total number of frees
|
||||
|
||||
go_memstats_gc_cpu_fraction
|
||||
: The fraction of this program's available CPU time used by the GC since the program started
|
||||
|
||||
go_memstats_gc_sys_bytes
|
||||
: Number of bytes used for garbage collection system metadata
|
||||
|
||||
go_memstats_heap_alloc_bytes
|
||||
: Number of heap bytes allocated and still in use
|
||||
|
||||
go_memstats_heap_idle_bytes
|
||||
: Number of heap bytes waiting to be used
|
||||
|
||||
go_memstats_heap_inuse_bytes
|
||||
: Number of heap bytes that are in use
|
||||
|
||||
go_memstats_heap_objects
|
||||
: Number of allocated objects
|
||||
|
||||
go_memstats_heap_released_bytes
|
||||
: Number of heap bytes released to OS
|
||||
|
||||
go_memstats_heap_sys_bytes
|
||||
: Number of heap bytes obtained from system
|
||||
|
||||
go_memstats_last_gc_time_seconds
|
||||
: Number of seconds since 1970 of last garbage collection
|
||||
|
||||
go_memstats_lookups_total
|
||||
: Total number of pointer lookups
|
||||
|
||||
go_memstats_mallocs_total
|
||||
: Total number of mallocs
|
||||
|
||||
go_memstats_mcache_inuse_bytes
|
||||
: Number of bytes in use by mcache structures
|
||||
|
||||
go_memstats_mcache_sys_bytes
|
||||
: Number of bytes used for mcache structures obtained from system
|
||||
|
||||
go_memstats_mspan_inuse_bytes
|
||||
: Number of bytes in use by mspan structures
|
||||
|
||||
go_memstats_mspan_sys_bytes
|
||||
: Number of bytes used for mspan structures obtained from system
|
||||
|
||||
go_memstats_next_gc_bytes
|
||||
: Number of heap bytes when next garbage collection will take place
|
||||
|
||||
go_memstats_other_sys_bytes
|
||||
: Number of bytes used for other system allocations
|
||||
|
||||
go_memstats_stack_inuse_bytes
|
||||
: Number of bytes in use by the stack allocator
|
||||
|
||||
go_memstats_stack_sys_bytes
|
||||
: Number of bytes obtained from system for stack allocator
|
||||
|
||||
go_memstats_sys_bytes
|
||||
: Number of bytes obtained from system
|
||||
|
||||
go_threads
|
||||
: Number of OS threads created
|
||||
|
||||
promhttp_metric_handler_requests_in_flight
|
||||
: Current number of scrapes being served
|
||||
|
||||
promhttp_metric_handler_requests_total
|
||||
: Total number of scrapes by HTTP status code
|
||||
30
konnectd/go.mod
Normal file
30
konnectd/go.mod
Normal file
@@ -0,0 +1,30 @@
|
||||
module github.com/owncloud/ocis-konnectd
|
||||
|
||||
go 1.13
|
||||
|
||||
require (
|
||||
contrib.go.opencensus.io/exporter/jaeger v0.2.0
|
||||
contrib.go.opencensus.io/exporter/ocagent v0.6.0
|
||||
contrib.go.opencensus.io/exporter/zipkin v0.1.1
|
||||
github.com/UnnoTed/fileb0x v1.1.4
|
||||
github.com/go-chi/chi v4.0.2+incompatible
|
||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d // indirect
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e // indirect
|
||||
github.com/gorilla/mux v1.7.4
|
||||
github.com/haya14busa/goverage v0.0.0-20180129164344-eec3514a20b5
|
||||
github.com/mattn/go-colorable v0.1.2 // indirect
|
||||
github.com/micro/cli/v2 v2.1.1
|
||||
github.com/oklog/run v1.0.0
|
||||
github.com/openzipkin/zipkin-go v0.2.2
|
||||
github.com/owncloud/flaex v0.2.0
|
||||
github.com/owncloud/ocis-pkg/v2 v2.0.3-0.20200309150924-5c659fd4b0ad
|
||||
github.com/restic/calens v0.2.0
|
||||
github.com/rs/zerolog v1.17.2
|
||||
github.com/sirupsen/logrus v1.4.2
|
||||
github.com/spf13/afero v1.2.2 // indirect
|
||||
github.com/spf13/viper v1.6.1
|
||||
go.opencensus.io v0.22.2
|
||||
golang.org/x/net v0.0.0-20200202094626-16171245cfb2
|
||||
stash.kopano.io/kc/konnect v0.30.0
|
||||
stash.kopano.io/kgol/rndm v1.1.0
|
||||
)
|
||||
961
konnectd/go.sum
Normal file
961
konnectd/go.sum
Normal file
@@ -0,0 +1,961 @@
|
||||
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=
|
||||
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
|
||||
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
|
||||
cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
|
||||
cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
|
||||
cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
|
||||
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
|
||||
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
|
||||
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
|
||||
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
|
||||
contrib.go.opencensus.io/exporter/jaeger v0.2.0 h1:nhTv/Ry3lGmqbJ/JGvCjWxBl5ozRfqo86Ngz59UAlfk=
|
||||
contrib.go.opencensus.io/exporter/jaeger v0.2.0/go.mod h1:ukdzwIYYHgZ7QYtwVFQUjiT28BJHiMhTERo32s6qVgM=
|
||||
contrib.go.opencensus.io/exporter/ocagent v0.4.12/go.mod h1:450APlNTSR6FrvC3CTRqYosuDstRB9un7SOx2k/9ckA=
|
||||
contrib.go.opencensus.io/exporter/ocagent v0.6.0 h1:Z1n6UAyr0QwM284yUuh5Zd8JlvxUGAhFZcgMJkMPrGM=
|
||||
contrib.go.opencensus.io/exporter/ocagent v0.6.0/go.mod h1:zmKjrJcdo0aYcVS7bmEeSEBLPA9YJp5bjrofdU3pIXs=
|
||||
contrib.go.opencensus.io/exporter/zipkin v0.1.1 h1:PR+1zWqY8ceXs1qDQQIlgXe+sdiwCf0n32bH4+Epk8g=
|
||||
contrib.go.opencensus.io/exporter/zipkin v0.1.1/go.mod h1:GMvdSl3eJ2gapOaLKzTKE3qDgUkJ86k9k3yY2eqwkzc=
|
||||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
||||
github.com/Azure/azure-sdk-for-go v32.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
|
||||
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
|
||||
github.com/Azure/go-autorest/autorest v0.1.0/go.mod h1:AKyIcETwSUFxIcs/Wnq/C+kwCtlEYGUVd7FPNb2slmg=
|
||||
github.com/Azure/go-autorest/autorest v0.5.0/go.mod h1:9HLKlQjVBH6U3oDfsXOeVc56THsLPw1L03yban4xThw=
|
||||
github.com/Azure/go-autorest/autorest/adal v0.1.0/go.mod h1:MeS4XhScH55IST095THyTxElntu7WqB7pNbZo8Q5G3E=
|
||||
github.com/Azure/go-autorest/autorest/adal v0.2.0/go.mod h1:MeS4XhScH55IST095THyTxElntu7WqB7pNbZo8Q5G3E=
|
||||
github.com/Azure/go-autorest/autorest/azure/auth v0.1.0/go.mod h1:Gf7/i2FUpyb/sGBLIFxTBzrNzBo7aPXXE3ZVeDRwdpM=
|
||||
github.com/Azure/go-autorest/autorest/azure/cli v0.1.0/go.mod h1:Dk8CUAt/b/PzkfeRsWzVG9Yj3ps8mS8ECztu43rdU8U=
|
||||
github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
|
||||
github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
|
||||
github.com/Azure/go-autorest/autorest/to v0.2.0/go.mod h1:GunWKJp1AEqgMaGLV+iocmRAJWqST1wQYhyyjXJ3SJc=
|
||||
github.com/Azure/go-autorest/autorest/validation v0.1.0/go.mod h1:Ha3z/SqBeaalWQvokg3NZAlQTalVMtOIAs1aGK7G6u8=
|
||||
github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
|
||||
github.com/Azure/go-autorest/tracing v0.1.0/go.mod h1:ROEEAFwXycQw7Sn3DXNtEedEvdeRAgDr0izn4z5Ij88=
|
||||
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg=
|
||||
github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
|
||||
github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
|
||||
github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
|
||||
github.com/Masterminds/semver/v3 v3.0.2 h1:tRi7ENs+AaOUCH+j6qwNQgPYfV26dX3JNonq+V4mhqc=
|
||||
github.com/Masterminds/semver/v3 v3.0.2/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
|
||||
github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60=
|
||||
github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o=
|
||||
github.com/Masterminds/sprig/v3 v3.0.1 h1:RuaOafp+8qOLUPX1lInLfUrLc1MEVbnz7a40RLoixKY=
|
||||
github.com/Masterminds/sprig/v3 v3.0.1/go.mod h1:Cp7HwZjmqKrC+Y7XqSJOU2yRvAJRGLiohfgz5ZJj8+4=
|
||||
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
|
||||
github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw=
|
||||
github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
|
||||
github.com/Microsoft/hcsshim v0.8.7-0.20191101173118-65519b62243c/go.mod h1:7xhjOwRV2+0HXGmM0jxaEu+ZiXJFoVZOTfL/dmqbrD8=
|
||||
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
||||
github.com/OpenDNS/vegadns2client v0.0.0-20180418235048-a3fa4a771d87/go.mod h1:iGLljf5n9GjT6kc0HBvyI1nOKnGQbNB66VzSNbK5iks=
|
||||
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=
|
||||
github.com/UnnoTed/fileb0x v1.1.4 h1:IUgFzgBipF/ujNx9wZgkrKOF3oltUuXMSoaejrBws+A=
|
||||
github.com/UnnoTed/fileb0x v1.1.4/go.mod h1:X59xXT18tdNk/D6j+KZySratBsuKJauMtVuJ9cgOiZs=
|
||||
github.com/akamai/AkamaiOPEN-edgegrid-golang v0.9.0/go.mod h1:zpDJeKyp9ScW4NNrbdr+Eyxvry3ilGPewKoXw3XGN1k=
|
||||
github.com/alangpierce/go-forceexport v0.0.0-20160317203124-8f1d6941cd75 h1:3ILjVyslFbc4jl1w5TWuvvslFD/nDfR2H8tVaMVLrEY=
|
||||
github.com/alangpierce/go-forceexport v0.0.0-20160317203124-8f1d6941cd75/go.mod h1:uAXEEpARkRhCZfEvy/y0Jcc888f9tHCc1W7/UeEtreE=
|
||||
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
|
||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||
github.com/aliyun/alibaba-cloud-sdk-go v0.0.0-20190808125512-07798873deee/go.mod h1:myCDvQSzCW+wB1WAlocEru4wMGJxy+vlxHdhegi1CDQ=
|
||||
github.com/aliyun/aliyun-oss-go-sdk v0.0.0-20190307165228-86c17b95fcd5/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8=
|
||||
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
|
||||
github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
|
||||
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
||||
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
|
||||
github.com/ascarter/requestid v0.0.0-20170313220838-5b76ab3d4aee h1:3T/l+vMotQ7cDSLWNAn2Vg1SAQ3mdyLgBWWBitSS3uU=
|
||||
github.com/ascarter/requestid v0.0.0-20170313220838-5b76ab3d4aee/go.mod h1:u7Wtt4WATGGgae9mURNGQQqxAudPKrxfsbSDSGOso+g=
|
||||
github.com/aws/aws-sdk-go v1.23.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
|
||||
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
|
||||
github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs=
|
||||
github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A=
|
||||
github.com/beevik/ntp v0.2.0/go.mod h1:hIHWr+l3+/clUnF44zdK+CWW7fO8dR5cIylAQ76NRpg=
|
||||
github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||
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=
|
||||
github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA=
|
||||
github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
|
||||
github.com/bmatcuk/doublestar v1.1.1 h1:YroD6BJCZBYx06yYFEWvUuKVWQn3vLLQAVmDmvTSaiQ=
|
||||
github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w=
|
||||
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4=
|
||||
github.com/bwmarrin/discordgo v0.19.0/go.mod h1:O9S4p+ofTFwB02em7jkpkV8M3R0/PUVOwN61zSZ0r4Q=
|
||||
github.com/bwmarrin/discordgo v0.20.1/go.mod h1:O9S4p+ofTFwB02em7jkpkV8M3R0/PUVOwN61zSZ0r4Q=
|
||||
github.com/bwmarrin/discordgo v0.20.2/go.mod h1:O9S4p+ofTFwB02em7jkpkV8M3R0/PUVOwN61zSZ0r4Q=
|
||||
github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk=
|
||||
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/cespare/xxhash/v2 v2.1.0 h1:yTUvW7Vhb89inJ+8irsUqiWjh8iT6sQPZiQzI6ReGkA=
|
||||
github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tjxl5dIMyVM=
|
||||
github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
|
||||
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||
github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE=
|
||||
github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ=
|
||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||
github.com/cloudflare/cloudflare-go v0.10.2/go.mod h1:qhVI5MKwBGhdNU89ZRz2plgYutcJ5PCekLxXn56w6SY=
|
||||
github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko=
|
||||
github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
|
||||
github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
|
||||
github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
|
||||
github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
|
||||
github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
|
||||
github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI=
|
||||
github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0=
|
||||
github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o=
|
||||
github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc=
|
||||
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||
github.com/coreos/bbolt v1.3.3 h1:n6AiVyVRKQFNb6mJlwESEvvLoDyiTzXX7ORAUlkeBdY=
|
||||
github.com/coreos/bbolt v1.3.3/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||
github.com/coreos/etcd v3.3.17+incompatible h1:f/Z3EoDSx1yjaIjLQGo1diYUlQYSBrrAQ5vP8NjwXwo=
|
||||
github.com/coreos/etcd v3.3.17+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||
github.com/coreos/etcd v3.3.18+incompatible h1:Zz1aXgDrFFi1nadh58tA9ktt06cmPTwNNP3dXwIq1lE=
|
||||
github.com/coreos/etcd v3.3.18+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
|
||||
github.com/coreos/go-oidc v2.1.0+incompatible h1:sdJrfw8akMnCuUlaZU3tE/uYXFgfqom8DBE9so9EBsM=
|
||||
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
||||
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||
github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
|
||||
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||
github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f h1:JOrtw2xFKzlg+cbHpyrpLDmnN1HqhBfnX7WDiW7eG2c=
|
||||
github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg=
|
||||
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||
github.com/cpu/goacmedns v0.0.1/go.mod h1:sesf/pNnCYwUevQEQfEwY0Y3DydlQWSGZbaMElOWxok=
|
||||
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 h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||
github.com/creack/pty v1.1.7 h1:6pwm8kMQKCmgUg0ZHTm5+/YvRK0s3THD/28+T6/kk4A=
|
||||
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
|
||||
github.com/crewjam/httperr v0.0.0-20190612203328-a946449404da h1:WXnT88cFG2davqSFqvaFfzkSMC0lqh/8/rKZ+z7tYvI=
|
||||
github.com/crewjam/httperr v0.0.0-20190612203328-a946449404da/go.mod h1:+rmNIXRvYMqLQeR4DHyTvs6y0MEMymTz4vyFpFkKTPs=
|
||||
github.com/crewjam/saml v0.4.0 h1:gvSlboe4BO1APaU2eDdsbql3itRat310Q5qs2Seim2k=
|
||||
github.com/crewjam/saml v0.4.0/go.mod h1:geQUbAAwmTKNJFDzoXaTssZHY26O89PHIm3K3YWjWnI=
|
||||
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/dchest/uniuri v0.0.0-20160212164326-8902c56451e9/go.mod h1:GgB8SF9nRG+GqaDtLcwJZsQFhcogVCJ79j4EdT0c2V4=
|
||||
github.com/deckarep/golang-set v1.7.1 h1:SCQV0S6gTtp6itiFrTqI+pfmJ4LN85S1YzhDf9rTHJQ=
|
||||
github.com/deckarep/golang-set v1.7.1/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ=
|
||||
github.com/decker502/dnspod-go v0.2.0/go.mod h1:qsurYu1FgxcDwfSwXJdLt4kRsBLZeosEb9uq4Sy+08g=
|
||||
github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I=
|
||||
github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE=
|
||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
|
||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
||||
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
|
||||
github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8=
|
||||
github.com/dnaeon/go-vcr v0.0.0-20180814043457-aafff18a5cc2/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
|
||||
github.com/dnsimple/dnsimple-go v0.30.0/go.mod h1:O5TJ0/U6r7AfT8niYNlmohpLbCSG+c71tQlGr9SeGrg=
|
||||
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
||||
github.com/docker/docker v1.4.2-0.20190710153559-aa8249ae1b8b/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||
github.com/docker/docker v1.4.2-0.20191101170500-ac7306503d23/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
|
||||
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
|
||||
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=
|
||||
github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I=
|
||||
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
|
||||
github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g=
|
||||
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||
github.com/eternnoir/gncp v0.0.0-20170707042257-c70df2d0cd68 h1:DHBMBKJK69xBWnD/jNkTN0sOT7nT7I5If9VMsk9Jj5Y=
|
||||
github.com/eternnoir/gncp v0.0.0-20170707042257-c70df2d0cd68/go.mod h1:8FuQ7lU9ZvIJGvc04F/qblkjqIfBahAoEFV+XPxByGw=
|
||||
github.com/exoscale/egoscale v0.18.1/go.mod h1:Z7OOdzzTOz1Q1PjQXumlz9Wn/CddH0zSYdCF3rnBKXE=
|
||||
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
|
||||
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
|
||||
github.com/forestgiant/sliceutil v0.0.0-20160425183142-94783f95db6c/go.mod h1:pFdJbAhRf7rh6YYMUdIQGyzne6zYL1tCUW8QV2B3UfY=
|
||||
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/fsouza/go-dockerclient v1.4.4/go.mod h1:PrwszSL5fbmsESocROrOGq/NULMXRw+bajY0ltzD6MA=
|
||||
github.com/fsouza/go-dockerclient v1.6.0/go.mod h1:YWwtNPuL4XTX1SKJQk86cWPmmqwx+4np9qfPbb+znGc=
|
||||
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||
github.com/gizak/termui/v3 v3.1.0 h1:ZZmVDgwHl7gR7elfKf1xc4IudXZ5qqfDh4wExk4Iajc=
|
||||
github.com/gizak/termui/v3 v3.1.0/go.mod h1:bXQEBkJpzxUAKf0+xq9MSWAvWZlE7c+aidmyFlkYTrY=
|
||||
github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
|
||||
github.com/go-acme/lego/v3 v3.1.0/go.mod h1:074uqt+JS6plx+c9Xaiz6+L+GBb+7itGtzfcDM2AhEE=
|
||||
github.com/go-acme/lego/v3 v3.3.0/go.mod h1:iGSY2vQrvQs3WezicSB/oVbO2eCrD88dpWPwb1qLqu0=
|
||||
github.com/go-asn1-ber/asn1-ber v1.3.1 h1:gvPdv/Hr++TRFCl0UbPFHC54P9N9jgsRPnmnr419Uck=
|
||||
github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
|
||||
github.com/go-asn1-ber/asn1-ber v1.4.1 h1:qP/QDxOtmMoJVgXHCXNzDpA0+wkgYB2x5QoLMVOciyw=
|
||||
github.com/go-asn1-ber/asn1-ber v1.4.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
|
||||
github.com/go-chi/chi v4.0.2+incompatible h1:maB6vn6FqCxrpz4FqWdh4+lwpyZIQS7YEAUcHlgXVRs=
|
||||
github.com/go-chi/chi v4.0.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ=
|
||||
github.com/go-cmd/cmd v1.0.5/go.mod h1:y8q8qlK5wQibcw63djSl/ntiHUHXHGdCkPk0j4QeW4s=
|
||||
github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
|
||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||
github.com/go-ini/ini v1.44.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
|
||||
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||
github.com/go-ldap/ldap/v3 v3.1.7 h1:aHjuWTgZsnxjMgqzx0JHwNqz4jBYZTcNarbPFkW1Oww=
|
||||
github.com/go-ldap/ldap/v3 v3.1.7/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q=
|
||||
github.com/go-log/log v0.1.0 h1:wudGTNsiGzrD5ZjgIkVZ517ugi2XRe9Q/xRCzwEO4/U=
|
||||
github.com/go-log/log v0.1.0/go.mod h1:4mBwpdRMFLiuXZDCwU2lKQFsoSCo72j3HqBK9d81N2M=
|
||||
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
|
||||
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
||||
github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM=
|
||||
github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
|
||||
github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY=
|
||||
github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
|
||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||
github.com/go-telegram-bot-api/telegram-bot-api v4.6.4+incompatible/go.mod h1:qf9acutJ8cwBUhm1bqgz6Bei9/C/c93FPDljKWwsOgM=
|
||||
github.com/go-test/deep v1.0.1 h1:UQhStjbkDClarlmv0am7OXXO4/GaPdCGiUiMTvi28sg=
|
||||
github.com/go-test/deep v1.0.1/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
|
||||
github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4=
|
||||
github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
|
||||
github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
|
||||
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=
|
||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
|
||||
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||
github.com/goji/httpauth v0.0.0-20160601135302-2da839ab0f4d/go.mod h1:nnjvkQ9ptGaCkuDUx6wNykzzlUixGxvkme+H/lnzb+A=
|
||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
|
||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/groupcache v0.0.0-20191002201903-404acd9df4cc h1:55rEp52jU6bkyslZ1+C/7NGfpQsEc6pxGLAGDOctqbw=
|
||||
github.com/golang/groupcache v0.0.0-20191002201903-404acd9df4cc/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
|
||||
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
||||
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
||||
github.com/golang/mock v1.3.1 h1:qGJ6qTW+x6xX/my+8YUVl4WNpX9B7+/l2tRsHGZ7f2s=
|
||||
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
|
||||
github.com/golang/protobuf v0.0.0-20170622202551-6a1fa9404c0a/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0=
|
||||
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 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I=
|
||||
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
|
||||
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||
github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
|
||||
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||
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 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg=
|
||||
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-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
|
||||
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
|
||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
||||
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
|
||||
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
|
||||
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/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
|
||||
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
||||
github.com/gophercloud/gophercloud v0.3.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e h1:JKmoR8x90Iww1ks85zJ1lfDGgIiMDuIptTOhJq+zKyg=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
|
||||
github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ=
|
||||
github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||
github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw=
|
||||
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||
github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc=
|
||||
github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
|
||||
github.com/gorilla/schema v1.1.0 h1:CamqUDOFUBqzrvxuz2vEwo8+SUdwsluFh7IlzJh30LY=
|
||||
github.com/gorilla/schema v1.1.0/go.mod h1:kgLaKoK1FELgZqMAVxx/5cbj0kT+57qxUrAlIO2eleU=
|
||||
github.com/gorilla/websocket v1.2.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||
github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM=
|
||||
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.1.0 h1:THDBEeQ9xZ8JEaCLyLQqXMMdRqNr0QAUJTIkQAUtFjg=
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.1.0/go.mod h1:f5nM7jw/oeRSadq3xCzHAvxcr8HZnzsqU6ILg/0NiiE=
|
||||
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=
|
||||
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
|
||||
github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
|
||||
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
|
||||
github.com/grpc-ecosystem/grpc-gateway v1.9.4 h1:5xLhQjsk4zqPf9EHCrja2qFZMx+yBqkO3XgJ14bNnU0=
|
||||
github.com/grpc-ecosystem/grpc-gateway v1.9.4/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
|
||||
github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI=
|
||||
github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I=
|
||||
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||
github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
|
||||
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
|
||||
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
|
||||
github.com/haya14busa/goverage v0.0.0-20180129164344-eec3514a20b5 h1:FdBGmSkD2QpQzRWup//SGObvWf2nq89zj9+ta9OvI3A=
|
||||
github.com/haya14busa/goverage v0.0.0-20180129164344-eec3514a20b5/go.mod h1:0YZ2wQSuwviXXXGUiK6zXzskyBLAbLXhamxzcFHSLoM=
|
||||
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
|
||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||
github.com/huandu/xstrings v1.2.0 h1:yPeWdRnmynF7p+lLYz0H2tthW9lqhMJrQV/U7yy4wX0=
|
||||
github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4=
|
||||
github.com/huandu/xstrings v1.3.0 h1:gvV6jG9dTgFEncxo+AF7PH6MZXi/vZl25owA/8Dg8Wo=
|
||||
github.com/huandu/xstrings v1.3.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
|
||||
github.com/iij/doapi v0.0.0-20190504054126-0bbf12d6d7df/go.mod h1:QMZY7/J/KSQEhKWFeDesPjMj+wCHReeknARU3wqlyN4=
|
||||
github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd/go.mod h1:3LVOLeyx9XVvwPgrt2be44XgSqndprz1G18rSk8KD84=
|
||||
github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
|
||||
github.com/imdario/mergo v0.3.8 h1:CGgOkSJeqMRmt0D9XLWExdT4m4F1vd3FV3VPt+0VxkQ=
|
||||
github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
|
||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
|
||||
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
|
||||
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
|
||||
github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=
|
||||
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
||||
github.com/joncalhoun/qson v0.0.0-20170526102502-8a9cab3a62b1/go.mod h1:DFXrEwSRX0p/aSvxE21319menCBFeQO0jXpRj7LEZUA=
|
||||
github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||
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.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
|
||||
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||
github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns=
|
||||
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
||||
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
|
||||
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||
github.com/justinas/alice v1.2.0 h1:+MHSA/vccVCF4Uq37S42jwlkvI2Xzl7zTPCN5BnZNVo=
|
||||
github.com/justinas/alice v1.2.0/go.mod h1:fN5HRH/reO/zrUflLfTN43t3vXvKzvZIENsNEe7i7qA=
|
||||
github.com/karrick/godirwalk v1.7.8 h1:VfG72pyIxgtC7+3X9CMHI0AOl4LwyRAg98WAgsvffi8=
|
||||
github.com/karrick/godirwalk v1.7.8/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34=
|
||||
github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
||||
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
|
||||
github.com/kolo/xmlrpc v0.0.0-20190717152603-07c4ee3fd181/go.mod h1:o03bZfuBwAXHetKXuInt4S7omeXUu62/A845kiycsSQ=
|
||||
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/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs=
|
||||
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI=
|
||||
github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
|
||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/labbsr0x/bindman-dns-webhook v1.0.2/go.mod h1:p6b+VCXIR8NYKpDr8/dg1HKfQoRHCdcsROXKvmoehKA=
|
||||
github.com/labbsr0x/goh v1.0.1/go.mod h1:8K2UhVoaWXcCU7Lxoa2omWnC8gyW8px7/lmO61c027w=
|
||||
github.com/labstack/echo v3.2.1+incompatible h1:J2M7YArHx4gi8p/3fDw8tX19SXhBCoRpviyAZSN3I88=
|
||||
github.com/labstack/echo v3.2.1+incompatible/go.mod h1:0INS7j/VjnFxD4E2wkz67b8cVwCLbBmJyDaka6Cmk1s=
|
||||
github.com/labstack/gommon v0.2.7 h1:2qOPq/twXDrQ6ooBGrn3mrmVOC+biLlatwgIu8lbzRM=
|
||||
github.com/labstack/gommon v0.2.7/go.mod h1:/tj9csK2iPSBvn+3NLM9e52usepMtrd5ilFYA+wQNJ4=
|
||||
github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw=
|
||||
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
|
||||
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
github.com/linode/linodego v0.10.0/go.mod h1:cziNP7pbvE3mXIPneHj0oRY8L1WtGEIKlZ8LANE4eXA=
|
||||
github.com/liquidweb/liquidweb-go v1.6.0/go.mod h1:UDcVnAMDkZxpw4Y7NOHkqoeiGacVLEIG/i5J9cyixzQ=
|
||||
github.com/longsleep/go-metrics v0.0.0-20170706183227-c1943bcf9047/go.mod h1:Eq9KjddJTZCHG0ja+SEJNp739Um4URrcBuccq3Ih/NI=
|
||||
github.com/longsleep/go-metrics v0.0.0-20191013204616-cddea569b0ea h1:Q5nKuCPF/m8xXz9oGchzSZJbGpJbb9Rm3SGBBHbBWiQ=
|
||||
github.com/longsleep/go-metrics v0.0.0-20191013204616-cddea569b0ea/go.mod h1:w6QO1LBkVla70FZrrF6XcB0YN+jTEYugjkn3+6RYTSM=
|
||||
github.com/lucas-clemente/quic-go v0.12.1/go.mod h1:UXJJPE4RfFef/xPO5wQm0tITK8gNfqwTxjbE7s3Vb8s=
|
||||
github.com/lucas-clemente/quic-go v0.13.1 h1:CxtJTXQIh2aboCPk0M6vf530XOov6DZjVBiSE3nSj8s=
|
||||
github.com/lucas-clemente/quic-go v0.13.1/go.mod h1:Vn3/Fb0/77b02SGhQk36KzOUmXgVpFfizUfW5WMaqyU=
|
||||
github.com/lucas-clemente/quic-go v0.14.1 h1:c1aKoBZKOPA+49q96B1wGkibyPP0AxYh45WuAoq+87E=
|
||||
github.com/lucas-clemente/quic-go v0.14.1/go.mod h1:Vn3/Fb0/77b02SGhQk36KzOUmXgVpFfizUfW5WMaqyU=
|
||||
github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ=
|
||||
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
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/marten-seemann/chacha20 v0.2.0 h1:f40vqzzx+3GdOmzQoItkLX5WLvHgPgyYqFFIO5Gh4hQ=
|
||||
github.com/marten-seemann/chacha20 v0.2.0/go.mod h1:HSdjFau7GzYRj+ahFNwsO3ouVJr1HFkWoEwNDb4TMtE=
|
||||
github.com/marten-seemann/qpack v0.1.0/go.mod h1:LFt1NU/Ptjip0C2CPkhimBz5CGE3WGDAUWqna+CNTrI=
|
||||
github.com/marten-seemann/qtls v0.3.2/go.mod h1:xzjG7avBwGGbdZ8dTGxlBnLArsVKLvwmjgmPuiQEcYk=
|
||||
github.com/marten-seemann/qtls v0.4.1 h1:YlT8QP3WCCvvok7MGEZkMldXbyqgr8oFg5/n8Gtbkks=
|
||||
github.com/marten-seemann/qtls v0.4.1/go.mod h1:pxVXcHHw1pNIt8Qo0pwSYQEoZ8yYOOPXTCZLQQunvRc=
|
||||
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||
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.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
|
||||
github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE=
|
||||
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||
github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||
github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y=
|
||||
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||
github.com/mattn/go-tty v0.0.0-20180219170247-931426f7535a/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||
github.com/mendsley/gojwk v0.0.0-20141217222730-4d5ec6e58103 h1:Z/i1e+gTZrmcGeZyWckaLfucYG6KYOXLWo4co8pZYNY=
|
||||
github.com/mendsley/gojwk v0.0.0-20141217222730-4d5ec6e58103/go.mod h1:o9YPB5aGP8ob35Vy6+vyq3P3bWe7NQWzf+JLiXCiMaE=
|
||||
github.com/mholt/certmagic v0.7.5/go.mod h1:91uJzK5K8IWtYQqTi5R2tsxV1pCde+wdGfaRaOZi6aQ=
|
||||
github.com/mholt/certmagic v0.8.3/go.mod h1:91uJzK5K8IWtYQqTi5R2tsxV1pCde+wdGfaRaOZi6aQ=
|
||||
github.com/mholt/certmagic v0.9.1/go.mod h1:nu8jbsbtwK4205EDH/ZUMTKsfYpJA1Q7MKXHfgTihNw=
|
||||
github.com/micro/cli v0.2.0 h1:ut3rV5JWqZjsXIa2MvGF+qMUP8DAUTvHX9Br5gO4afA=
|
||||
github.com/micro/cli v0.2.0/go.mod h1:jRT9gmfVKWSS6pkKcXQ8YhUyj6bzwxK8Fp5b0Y7qNnk=
|
||||
github.com/micro/cli/v2 v2.1.1 h1:uFw0SMIKmGuyHIm8lXns/NOn7V62bM5y7DnlxUM+BEQ=
|
||||
github.com/micro/cli/v2 v2.1.1/go.mod h1:EguNh6DAoWKm9nmk+k/Rg0H3lQnDxqzu5x5srOtGtYg=
|
||||
github.com/micro/go-micro v1.16.0/go.mod h1:A0F58bHLh2m0LAI9QyhvmbN8c1cxhAZo3cM6s+iDsrM=
|
||||
github.com/micro/go-micro v1.18.0 h1:gP70EZVHpJuUIT0YWth192JmlIci+qMOEByHm83XE9E=
|
||||
github.com/micro/go-micro v1.18.0/go.mod h1:klwUJL1gkdY1MHFyz+fFJXn52dKcty4hoe95Mp571AA=
|
||||
github.com/micro/go-micro/v2 v2.0.0 h1:bMx549RwJ9Yuiui8cDVlfYhVNP8I8KBJTMyLthEXpRw=
|
||||
github.com/micro/go-micro/v2 v2.0.0/go.mod h1:v7QP5UhKRt37ixjJe8DouWmg0/eE6dltr5h0idJ9BpE=
|
||||
github.com/micro/go-plugins/wrapper/trace/opencensus/v2 v2.0.1/go.mod h1:QrkcwcDtIs2hIJpIEhozekyf6Rfz5C36kFI8+zzCpX0=
|
||||
github.com/micro/mdns v0.3.0 h1:bYycYe+98AXR3s8Nq5qvt6C573uFTDPIYzJemWON0QE=
|
||||
github.com/micro/mdns v0.3.0/go.mod h1:KJ0dW7KmicXU2BV++qkLlmHYcVv7/hHnbtguSWt9Aoc=
|
||||
github.com/micro/protoc-gen-micro v1.0.0/go.mod h1:C8ij4DJhapBmypcT00AXdb0cZ675/3PqUO02buWWqbE=
|
||||
github.com/miekg/dns v1.1.3/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
|
||||
github.com/miekg/dns v1.1.15/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
|
||||
github.com/miekg/dns v1.1.22 h1:Jm64b3bO9kP43ddLjL2EY3Io6bmy1qGb9Xxz6TqS6rc=
|
||||
github.com/miekg/dns v1.1.22/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
|
||||
github.com/miekg/dns v1.1.27 h1:aEH/kqUzUxGJ/UHcEKdJY+ugH6WEzsEBBSPa8zuy1aM=
|
||||
github.com/miekg/dns v1.1.27/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
|
||||
github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ=
|
||||
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
|
||||
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/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
|
||||
github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4=
|
||||
github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
|
||||
github.com/mitchellh/hashstructure v1.0.0 h1:ZkRJX1CyOoTkar7p/mLS5TZU4nJ1Rn/F8u9dGS02Q3Y=
|
||||
github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ=
|
||||
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
|
||||
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY=
|
||||
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
|
||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
|
||||
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||
github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
||||
github.com/namedotcom/go v0.0.0-20180403034216-08470befbe04/go.mod h1:5sN+Lt1CaY4wsPvgQH/jsuJi4XO2ssZbdsIizr4CVC8=
|
||||
github.com/nats-io/jwt v0.3.0 h1:xdnzwFETV++jNc4W1mw//qFyJGb2ABOombmZJQS4+Qo=
|
||||
github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg=
|
||||
github.com/nats-io/jwt v0.3.2 h1:+RB5hMpXUUA2dfxuhBTEkMOrYmM+gKIZYS1KjSostMI=
|
||||
github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU=
|
||||
github.com/nats-io/nats-server/v2 v2.1.0 h1:Yi0+ZhRPtPAGeIxFn5erIeJIV9wXA+JznfSxK621Fbk=
|
||||
github.com/nats-io/nats-server/v2 v2.1.0/go.mod h1:r5y0WgCag0dTj/qiHkHrXAcKQ/f5GMOZaEGdoxxnJ4I=
|
||||
github.com/nats-io/nats-server/v2 v2.1.2 h1:i2Ly0B+1+rzNZHHWtD4ZwKi+OU5l+uQo1iDHZ2PmiIc=
|
||||
github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k=
|
||||
github.com/nats-io/nats.go v1.8.1/go.mod h1:BrFz9vVn0fU3AcH9Vn4Kd7W0NpJ651tD5omQ3M8LwxM=
|
||||
github.com/nats-io/nats.go v1.9.1 h1:ik3HbLhZ0YABLto7iX80pZLPw/6dx3T+++MZJwLnMrQ=
|
||||
github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w=
|
||||
github.com/nats-io/nkeys v0.0.2/go.mod h1:dab7URMsZm6Z/jp9Z5UGa87Uutgc2mVpXLC4B7TDb/4=
|
||||
github.com/nats-io/nkeys v0.1.0 h1:qMd4+pRHgdr1nAClu+2h/2a5F2TmKcCzjCDazVgRoX4=
|
||||
github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
|
||||
github.com/nats-io/nkeys v0.1.3 h1:6JrEfig+HzTH85yxzhSVbjHRJv9cn0p6n3IngIcM5/k=
|
||||
github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
|
||||
github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw=
|
||||
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
|
||||
github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms=
|
||||
github.com/nlopes/slack v0.6.0/go.mod h1:JzQ9m3PMAqcpeCam7UaHSuBuupz7CmpjehYMayT6YOk=
|
||||
github.com/nlopes/slack v0.6.1-0.20191106133607-d06c2a2b3249/go.mod h1:JzQ9m3PMAqcpeCam7UaHSuBuupz7CmpjehYMayT6YOk=
|
||||
github.com/nrdcg/auroradns v1.0.0/go.mod h1:6JPXKzIRzZzMqtTDgueIhTi6rFf1QvYE/HzqidhOhjw=
|
||||
github.com/nrdcg/dnspod-go v0.3.0/go.mod h1:vZSoFSFeQVm2gWLMkyX61LZ8HI3BaqtHZWgPTGKr6KQ=
|
||||
github.com/nrdcg/goinwx v0.6.1/go.mod h1:XPiut7enlbEdntAqalBIqcYcTEVhpv/dKWgDCX2SwKQ=
|
||||
github.com/nrdcg/namesilo v0.2.1/go.mod h1:lwMvfQTyYq+BbjJd30ylEG4GPSS6PII0Tia4rRpRiyw=
|
||||
github.com/nsf/termbox-go v0.0.0-20190121233118-02980233997d h1:x3S6kxmy49zXVVyhcnrFqxvNVCBPb2KZ9hV2RBdS840=
|
||||
github.com/nsf/termbox-go v0.0.0-20190121233118-02980233997d/go.mod h1:IuKpRQcYE1Tfu+oAQqaLisqDeXgjyyltCfsaoYN18NQ=
|
||||
github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw=
|
||||
github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
|
||||
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
|
||||
github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
|
||||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.10.3 h1:OoxbjfXVZyod1fmWYhI7SEyaD8B00ynP3T+D5GiyHOY=
|
||||
github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/onsi/gomega v1.7.1 h1:K0jcRCwNQM3vFGh1ppMtDh/+7ApJrjldlX8fA0jDTLQ=
|
||||
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
|
||||
github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
|
||||
github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
|
||||
github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
|
||||
github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
||||
github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
||||
github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||
github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs=
|
||||
github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU=
|
||||
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
|
||||
github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
|
||||
github.com/openzipkin/zipkin-go v0.2.2 h1:nY8Hti+WKaP0cRsSeQ026wU03QsM762XBeCXBb9NAWI=
|
||||
github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
|
||||
github.com/oracle/oci-go-sdk v7.0.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukwStZIg5F66tcBccjip/j888=
|
||||
github.com/orcaman/concurrent-map v0.0.0-20190826125027-8c72a8bb44f6 h1:lNCW6THrCKBiJBpz8kbVGjC7MgdCGKwuvBgc7LoD6sw=
|
||||
github.com/orcaman/concurrent-map v0.0.0-20190826125027-8c72a8bb44f6/go.mod h1:Lu3tH6HLW3feq74c2GC+jIMS/K2CFcDWnWD9XkenwhI=
|
||||
github.com/ovh/go-ovh v0.0.0-20181109152953-ba5adb4cf014/go.mod h1:joRatxRJaZBsY3JAOEMcoOp05CnZzsx4scTxi95DHyQ=
|
||||
github.com/owncloud/flaex v0.2.0 h1:3FLf8oyMgA6HLK7w4+VJ5N1oVA8G7MptLCVjfxxIaww=
|
||||
github.com/owncloud/flaex v0.2.0/go.mod h1:jip86t4OVURJTf8CM/0e2qcji/Y4NG3l2lR8kex4JWw=
|
||||
github.com/owncloud/ocis-pkg/v2 v2.0.3-0.20200309150924-5c659fd4b0ad h1:R6JGg68GP8bzzl3L5xso8n9ifay5KUfz2XMQ1KS0pbI=
|
||||
github.com/owncloud/ocis-pkg/v2 v2.0.3-0.20200309150924-5c659fd4b0ad/go.mod h1:TrBRa+D8mUTsl+qvQiIksJbUvxdE/Qq9jEHUcERPQ60=
|
||||
github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c h1:rp5dCmg/yLR3mgFuSOe4oEnDDmGLROTvMragMUXpTQw=
|
||||
github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c/go.mod h1:X07ZCGwUbLaax7L0S3Tw4hpejzu63ZrrQiUe6W0hcy0=
|
||||
github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo=
|
||||
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/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc=
|
||||
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
|
||||
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35 h1:J9b7z+QKAmPf4YLrFg6oQUotqHQeUNWwkvo7jZp1GLU=
|
||||
github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
|
||||
github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
|
||||
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/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/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g=
|
||||
github.com/prometheus/client_golang v1.2.1 h1:JnMpQc6ppsNgw9QPAGF6Dod479itz7lvlsMzzNayLOI=
|
||||
github.com/prometheus/client_golang v1.2.1/go.mod h1:XMU6Z2MjaRKVu/dC1qupJI9SiNkDYzz3xecMgSW/F+U=
|
||||
github.com/prometheus/client_golang v1.4.1 h1:FFSuS004yOQEtDdTq+TAOLP5xUq63KqAFYyOi8zA+Y8=
|
||||
github.com/prometheus/client_golang v1.4.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
|
||||
github.com/prometheus/client_model v0.0.0-20170216185247-6f3806018612/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
|
||||
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
|
||||
github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
|
||||
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM=
|
||||
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
|
||||
github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/prometheus/common v0.0.0-20170706130215-fb369f752a7f/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
|
||||
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/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
|
||||
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
|
||||
github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc=
|
||||
github.com/prometheus/common v0.7.0 h1:L+1lyG48J1zAQXA3RBX/nG/B3gjlHq0zTt2tlbJLyCY=
|
||||
github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA=
|
||||
github.com/prometheus/common v0.9.1 h1:KOMtN28tlbam3/7ZKEYKHhKoJZYYj3gMH4uc62x7X7U=
|
||||
github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4=
|
||||
github.com/prometheus/procfs v0.0.0-20170703101242-e645f4e5aaa8/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||
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/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||
github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
|
||||
github.com/prometheus/procfs v0.0.5 h1:3+auTFlqw+ZaQYJARz6ArODtkaIwtvBTx3N2NehQlL8=
|
||||
github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
|
||||
github.com/prometheus/procfs v0.0.8 h1:+fpWZdT24pJBiqJdAwYBjPSk+5YmQzYNPYzQsdzLkt8=
|
||||
github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
|
||||
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
||||
github.com/rainycape/memcache v0.0.0-20150622160815-1031fa0ce2f2/go.mod h1:7tZKcyumwBO6qip7RNQ5r77yrssm9bfCowcLEBcU5IA=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||
github.com/restic/calens v0.2.0 h1:LVNAtmFc+Pb4ODX66qdX1T3Di1P0OTLyUsVyvM/xD7E=
|
||||
github.com/restic/calens v0.2.0/go.mod h1:UXwyAKS4wsgUZGEc7NrzzygJbLsQZIo3wl+62Q1wvmU=
|
||||
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/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik=
|
||||
github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
|
||||
github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
|
||||
github.com/rs/zerolog v1.17.2 h1:RMRHFw2+wF7LO0QqtELQwo8hqSmqISyCJeFeAAuWcRo=
|
||||
github.com/rs/zerolog v1.17.2/go.mod h1:9nvC1axdVrAHcu/s9taAVfBuIdTZLVQmKQyvrUjF5+I=
|
||||
github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7 h1:J4AOUcOh/t1XbQcJfkEqhzgvMJ2tDxdCVvmHxW5QXao=
|
||||
github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7/go.mod h1:Oz4y6ImuOQZxynhbSXk7btjEfNBtGlj2dcaOvXl2FSM=
|
||||
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/sacloud/libsacloud v1.26.1/go.mod h1:79ZwATmHLIFZIMd7sxA3LwzVy/B77uj3LDoToVTxDoQ=
|
||||
github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
|
||||
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
|
||||
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
|
||||
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.0.3/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
|
||||
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
||||
github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
|
||||
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
|
||||
github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog=
|
||||
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM=
|
||||
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
|
||||
github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
|
||||
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
|
||||
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
|
||||
github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E=
|
||||
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/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/cobra v0.0.1/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
||||
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
|
||||
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/pflag v1.0.0/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||
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=
|
||||
github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
|
||||
github.com/spf13/viper v1.6.1 h1:VPZzIkznI1YhVMRi6vNFLHSwhnhReBfgTxIPccpfdZk=
|
||||
github.com/spf13/viper v1.6.1/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k=
|
||||
github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI=
|
||||
github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/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 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
|
||||
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/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
|
||||
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
|
||||
github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
|
||||
github.com/technoweenie/multipartstreamer v1.0.1/go.mod h1:jNVxdtShOxzAsukZwTSw6MDx5eUJoiEBsSvzDU9uzog=
|
||||
github.com/timewasted/linode v0.0.0-20160829202747-37e84520dcf7/go.mod h1:imsgLplxEC/etjIhdr3dNzV3JeT27LbVu5pYWm0JCBY=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20200122045848-3419fae592fc h1:yUaosFVTJwnltaHbSNC3i82I92quFs+OFPRl8kNMVwo=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20200122045848-3419fae592fc/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||
github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce h1:fb190+cK2Xz/dvi9Hv8eCYJYvIGUTN2/KLq1pT6CjEc=
|
||||
github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce/go.mod h1:o8v6yHRoik09Xen7gje4m9ERNah1d1PPsVq1VEx9vE4=
|
||||
github.com/transip/gotransip v0.0.0-20190812104329-6d8d9179b66f/go.mod h1:i0f4R4o2HM0m3DZYQWsj6/MEowD57VzoH0v3d7igeFY=
|
||||
github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g=
|
||||
github.com/uber/jaeger-client-go v2.15.0+incompatible h1:NP3qsSqNxh8VYr956ur1N/1C1PjvOJnJykCzcD5QHbk=
|
||||
github.com/uber/jaeger-client-go v2.15.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
|
||||
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
|
||||
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
|
||||
github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
||||
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
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/fasttemplate v0.0.0-20170224212429-dcecefd839c4 h1:gKMu1Bf6QINDnvyZuTaACm9ofY+PRh+5vFz4oxBZeF8=
|
||||
github.com/valyala/fasttemplate v0.0.0-20170224212429-dcecefd839c4/go.mod h1:50wTf68f99/Zt14pr046Tgt3Lp2vLyFZKzbFXTOabXw=
|
||||
github.com/vultr/govultr v0.1.4/go.mod h1:9H008Uxr/C4vFNGLqKx232C206GL0PBHzOP0809bGNA=
|
||||
github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4=
|
||||
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=
|
||||
github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs=
|
||||
github.com/xeipuuv/gojsonschema v1.1.0/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs=
|
||||
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=
|
||||
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
||||
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
|
||||
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
|
||||
github.com/zenazn/goji v0.9.1-0.20160507202103-64eb34159fe5/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
|
||||
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
|
||||
go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk=
|
||||
go.etcd.io/bbolt v1.3.3/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=
|
||||
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
|
||||
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
|
||||
go.opencensus.io v0.22.2 h1:75k/FF0Q2YM8QYo07VPddOLBslDt1MZOdEslOHvmzAs=
|
||||
go.opencensus.io v0.22.2/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/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||
go.uber.org/atomic v1.5.0 h1:OI5t8sDa1Or+q8AeE+yKeB/SDYioSHAgcVljj9JIETY=
|
||||
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
||||
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
||||
go.uber.org/multierr v1.2.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
||||
go.uber.org/multierr v1.3.0 h1:sFPn2GLc3poCkfrpIXGhBD2X0CMIo4Q/zSULXrj/+uc=
|
||||
go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
|
||||
go.uber.org/ratelimit v0.0.0-20180316092928-c15da0234277/go.mod h1:2X8KaoNd1J0lZV+PxJk/5+DGbO/tpwLR1m++a7FnB/Y=
|
||||
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4=
|
||||
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
|
||||
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
||||
go.uber.org/zap v1.12.0 h1:dySoUQPFBGj6xwjmBzageVL8jGi8uxc6bEmJQjA06bw=
|
||||
go.uber.org/zap v1.12.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
|
||||
go.uber.org/zap v1.13.0 h1:nR6NoDBgAf67s68NhaXbsojM+2gxp3S1hWkHDl27pVU=
|
||||
go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
|
||||
golang.org/x/crypto v0.0.0-20170711145318-dd85ac7e6a88/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20180621125126-a49355c7e3f8/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190130090550-b01c7a725664/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190228161510-8dd112bcdc25/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
|
||||
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
|
||||
golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20191108234033-bd318be0434a h1:R/qVym5WAxsZWQqZCwDY/8sdVKV1m1WgU4/S5IRQAzc=
|
||||
golang.org/x/crypto v0.0.0-20191108234033-bd318be0434a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20191128160524-b544559bb6d1/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200117160349-530e935923ad h1:Jh8cai0fqIK+f6nG0UgPW5wFk8wmiMhM3AyciDBdtQg=
|
||||
golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200210222208-86ce3cb69678 h1:wCWoJcFExDgyYx2m2hpHgwz8W3+FPdfldvIgzqDIhyg=
|
||||
golang.org/x/crypto v0.0.0-20200210222208-86ce3cb69678/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200320181102-891825fb96df h1:lDWgvUvNnaTnNBc/dwOty86cFeKoKWbwy2wQj0gIxbU=
|
||||
golang.org/x/crypto v0.0.0-20200320181102-891825fb96df/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
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=
|
||||
golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
|
||||
golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
|
||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||
golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||
golang.org/x/lint v0.0.0-20190930215403-16217165b5de h1:5hukYrvBGR8/eNkX5mdUezrA6JiaEZDtJb9Ei+1LlBs=
|
||||
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f h1:J5lckAjkw6qYlOZNj90mLYNTEKDvWeuc1yieZ8qUzUE=
|
||||
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
|
||||
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=
|
||||
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
|
||||
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
|
||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
||||
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=
|
||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180921000356-2f5d2388922f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190228165749-92fc7df08ae7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
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-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=
|
||||
golang.org/x/net v0.0.0-20191011234655-491137f69257/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20191027093000-83d349e8ac1a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20191109021931-daa7c04131f5 h1:bHNaocaoJxYBo5cw41UyTMLjYlb8wPY7+WFrnklbHOM=
|
||||
golang.org/x/net v0.0.0-20191109021931-daa7c04131f5/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa h1:F+8P+gmewFQYRk6JoLQLwjBCTu3mcIURZfNkVweuRKA=
|
||||
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 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI=
|
||||
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
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 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=
|
||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/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=
|
||||
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181019160139-8e24a49d80f8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190710143415-6ec70d6a5542/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/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-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191110163157-d32e6e3b99c4 h1:Hynbrlo6LbYI3H1IqXpkVDOcX/3HiPdhVEuyj5a59RM=
|
||||
golang.org/x/sys v0.0.0-20191110163157-d32e6e3b99c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4 h1:sfkvUWPNGwSV+8/fNqctR5lS2AqCSqYwXdrjCxp/dXo=
|
||||
golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
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/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=
|
||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs=
|
||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI=
|
||||
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20190828213141-aed303cbaa74/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5 h1:hKsoRgsbwY1NafxrwTs+k64bikrLBkAgPir1TNCj3Zs=
|
||||
golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
golang.org/x/tools v0.0.0-20191216173652-a0e659d51361 h1:RIIXAeV6GvDBuADKumTODatUqANFZ+5BPMnzsy4hulY=
|
||||
golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
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=
|
||||
google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
|
||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
|
||||
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
|
||||
google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
|
||||
google.golang.org/api v0.14.0 h1:uMf5uLi4eQMRrMKhCplNik4U4H8Z6C1br3zOtAa/aDE=
|
||||
google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
|
||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||
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 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I=
|
||||
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
|
||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
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-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
||||
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
||||
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 h1:Ob5/580gVHBJZgXnff1cZDbG+xLtMVE5mDRTe+nIsX4=
|
||||
google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
||||
google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
||||
google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba h1:pRj9OXZbwNtbtZtOB4dLwfK4u+EVRMvP+e9zKkg2grM=
|
||||
google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
|
||||
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
|
||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM=
|
||||
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
|
||||
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
||||
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
||||
google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
|
||||
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
|
||||
google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA=
|
||||
google.golang.org/grpc v1.25.1 h1:wdKvqQk7IttEw92GoRyKG2IDrUIpgpj6H6m81yfeMW0=
|
||||
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
|
||||
google.golang.org/grpc v1.26.0 h1:2dTRdpdFEEhJYQD8EMLB61nnrzSCTbG38PhqdhvOltg=
|
||||
google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
|
||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
|
||||
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
||||
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
|
||||
gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
|
||||
gopkg.in/go-playground/validator.v9 v9.30.0/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ=
|
||||
gopkg.in/go-playground/validator.v9 v9.31.0/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ=
|
||||
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.44.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/ns1/ns1-go.v2 v2.0.0-20190730140822-b51389932cbc/go.mod h1:VV+3haRsgDiVLxyifmMBrBIuCWFBPYKbRssXB9z67Hw=
|
||||
gopkg.in/resty.v1 v1.9.1/go.mod h1:vo52Hzryw9PnPHcJfPsBiFW62XhNx5OczbV9y+IMpgc=
|
||||
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.4.0 h1:0kXPskUMGAXXWJlP05ktEMOV0vmzFQUWw6d+aZJQU8A=
|
||||
gopkg.in/square/go-jose.v2 v2.4.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
|
||||
gopkg.in/square/go-jose.v2 v2.4.1 h1:H0TmLt7/KmzlrDOpa1F+zr0Tk90PbJYBfsVUmRLrf9Y=
|
||||
gopkg.in/square/go-jose.v2 v2.4.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
|
||||
gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98=
|
||||
gopkg.in/src-d/go-git-fixtures.v3 v3.5.0/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g=
|
||||
gopkg.in/src-d/go-git.v4 v4.13.1/go.mod h1:nx5NYcxdKxq5fpltdHnPa2Exj4Sx0EclMWZQbYDu2z8=
|
||||
gopkg.in/telegram-bot-api.v4 v4.6.4/go.mod h1:5DpGO5dbumb40px+dXcwCpcjmeHNYLpk0bp3XRNvWDM=
|
||||
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/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
|
||||
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 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
|
||||
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.5/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=
|
||||
gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
|
||||
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM=
|
||||
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
||||
honnef.co/go/tools v0.0.1-2020.1.3 h1:sXmLre5bzIR6ypkjXCDI3jHPssRhc8KD/Ome589sc3U=
|
||||
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
||||
k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk=
|
||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
||||
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
||||
stash.kopano.io/kc/konnect v0.30.0 h1:jsdL6CeaKyMumpcojdf5IdZIBUpTne6dwU9KpJ32Sz0=
|
||||
stash.kopano.io/kc/konnect v0.30.0/go.mod h1:mybKKR/PiP/yvjpJI/d1MSTTzirLOrI0sN1C6Wlezmg=
|
||||
stash.kopano.io/kgol/kcc-go/v5 v5.0.1 h1:urR9hOR6TnTKjGkzZKac/a9cA8ws1WecWLTgiYubLQw=
|
||||
stash.kopano.io/kgol/kcc-go/v5 v5.0.1/go.mod h1:0ZmjWapy3zp+TAjZI6iCrcfh+BthZbB2WM1VfhDgNB4=
|
||||
stash.kopano.io/kgol/ksurveyclient-go v0.6.0/go.mod h1:LJMDQBROS2oXxBN04eSI6j1KhgWlqMFd8xKjXV4Irtw=
|
||||
stash.kopano.io/kgol/oidc-go v0.3.1 h1:tIEZV4WMFFlUe2AS06GrG3qrS6uSfJFFGJSkV+jGJP8=
|
||||
stash.kopano.io/kgol/oidc-go v0.3.1/go.mod h1:roVKz8FVmPcdL4pUu+Gzk+GH2kOhz1UvnuMNTkjHyH8=
|
||||
stash.kopano.io/kgol/rndm v1.1.0 h1:Yyr92qtm3NENoCru56phnGv9z5mgFxiNKxzNZahm0w4=
|
||||
stash.kopano.io/kgol/rndm v1.1.0/go.mod h1:CBvpAHlOwyu/XipxfLGk02UN3K3P6hQ8E2JoTbNWfJU=
|
||||
61
konnectd/pkg/assets/assets.go
Normal file
61
konnectd/pkg/assets/assets.go
Normal file
@@ -0,0 +1,61 @@
|
||||
package assets
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"os"
|
||||
"path"
|
||||
|
||||
"github.com/owncloud/ocis-konnectd/pkg/config"
|
||||
"github.com/owncloud/ocis-pkg/v2/log"
|
||||
)
|
||||
|
||||
//go:generate go run github.com/UnnoTed/fileb0x embed.yml
|
||||
|
||||
// assets gets initialized by New and provides the handler.
|
||||
type assets struct {
|
||||
logger log.Logger
|
||||
config *config.Config
|
||||
}
|
||||
|
||||
// Open just implements the HTTP filesystem interface.
|
||||
func (a assets) Open(original string) (http.File, error) {
|
||||
if a.config.Asset.Path != "" {
|
||||
if stat, err := os.Stat(a.config.Asset.Path); err == nil && stat.IsDir() {
|
||||
custom := path.Join(
|
||||
a.config.Asset.Path,
|
||||
original,
|
||||
)
|
||||
|
||||
if _, err := os.Stat(custom); !os.IsNotExist(err) {
|
||||
f, err := os.Open(custom)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return f, nil
|
||||
}
|
||||
} else {
|
||||
a.logger.Warn().
|
||||
Str("path", a.config.Asset.Path).
|
||||
Msg("Assets directory doesn't exist")
|
||||
}
|
||||
}
|
||||
|
||||
return FS.OpenFile(
|
||||
CTX,
|
||||
original,
|
||||
os.O_RDONLY,
|
||||
0644,
|
||||
)
|
||||
}
|
||||
|
||||
// New returns a new http filesystem to serve assets.
|
||||
func New(opts ...Option) http.FileSystem {
|
||||
options := newOptions(opts...)
|
||||
|
||||
return assets{
|
||||
logger: options.Logger,
|
||||
config: options.Config,
|
||||
}
|
||||
}
|
||||
9
konnectd/pkg/assets/dummy.go
Normal file
9
konnectd/pkg/assets/dummy.go
Normal file
@@ -0,0 +1,9 @@
|
||||
package assets
|
||||
|
||||
import (
|
||||
// Fake the import to make the dep tree happy.
|
||||
_ "golang.org/x/net/context"
|
||||
|
||||
// Fake the import to make the dep tree happy.
|
||||
_ "golang.org/x/net/webdav"
|
||||
)
|
||||
1503
konnectd/pkg/assets/embed.go
Normal file
1503
konnectd/pkg/assets/embed.go
Normal file
File diff suppressed because one or more lines are too long
20
konnectd/pkg/assets/embed.yml
Normal file
20
konnectd/pkg/assets/embed.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
pkg: "assets"
|
||||
dest: "."
|
||||
output: "embed.go"
|
||||
fmt: true
|
||||
noprefix: true
|
||||
|
||||
compression:
|
||||
compress: true
|
||||
|
||||
custom:
|
||||
- files:
|
||||
- "../../assets/"
|
||||
base: "../../assets/"
|
||||
prefix: ""
|
||||
exclude:
|
||||
- "asset-manifest.json"
|
||||
- "precache-manifest.*.js"
|
||||
|
||||
...
|
||||
40
konnectd/pkg/assets/option.go
Normal file
40
konnectd/pkg/assets/option.go
Normal file
@@ -0,0 +1,40 @@
|
||||
package assets
|
||||
|
||||
import (
|
||||
"github.com/owncloud/ocis-konnectd/pkg/config"
|
||||
"github.com/owncloud/ocis-pkg/v2/log"
|
||||
)
|
||||
|
||||
// Option defines a single option function.
|
||||
type Option func(o *Options)
|
||||
|
||||
// Options defines the available options for this package.
|
||||
type Options struct {
|
||||
Logger log.Logger
|
||||
Config *config.Config
|
||||
}
|
||||
|
||||
// newOptions initializes the available default options.
|
||||
func newOptions(opts ...Option) Options {
|
||||
opt := Options{}
|
||||
|
||||
for _, o := range opts {
|
||||
o(&opt)
|
||||
}
|
||||
|
||||
return opt
|
||||
}
|
||||
|
||||
// Logger provides a function to set the logger option.
|
||||
func Logger(val log.Logger) Option {
|
||||
return func(o *Options) {
|
||||
o.Logger = val
|
||||
}
|
||||
}
|
||||
|
||||
// Config provides a function to set the config option.
|
||||
func Config(val *config.Config) Option {
|
||||
return func(o *Options) {
|
||||
o.Config = val
|
||||
}
|
||||
}
|
||||
49
konnectd/pkg/command/health.go
Normal file
49
konnectd/pkg/command/health.go
Normal file
@@ -0,0 +1,49 @@
|
||||
package command
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
|
||||
"github.com/micro/cli/v2"
|
||||
"github.com/owncloud/ocis-konnectd/pkg/config"
|
||||
"github.com/owncloud/ocis-konnectd/pkg/flagset"
|
||||
)
|
||||
|
||||
// Health is the entrypoint for the health command.
|
||||
func Health(cfg *config.Config) *cli.Command {
|
||||
return &cli.Command{
|
||||
Name: "health",
|
||||
Usage: "Check health status",
|
||||
Flags: flagset.HealthWithConfig(cfg),
|
||||
Action: func(c *cli.Context) error {
|
||||
logger := NewLogger(cfg)
|
||||
|
||||
resp, err := http.Get(
|
||||
fmt.Sprintf(
|
||||
"http://%s/healthz",
|
||||
cfg.Debug.Addr,
|
||||
),
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
logger.Fatal().
|
||||
Err(err).
|
||||
Msg("Failed to request health check")
|
||||
}
|
||||
|
||||
defer resp.Body.Close()
|
||||
|
||||
if resp.StatusCode != 200 {
|
||||
logger.Fatal().
|
||||
Int("code", resp.StatusCode).
|
||||
Msg("Health seems to be in bad state")
|
||||
}
|
||||
|
||||
logger.Debug().
|
||||
Int("code", resp.StatusCode).
|
||||
Msg("Health got a good state")
|
||||
|
||||
return nil
|
||||
},
|
||||
}
|
||||
}
|
||||
108
konnectd/pkg/command/root.go
Normal file
108
konnectd/pkg/command/root.go
Normal file
@@ -0,0 +1,108 @@
|
||||
package command
|
||||
|
||||
import (
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/micro/cli/v2"
|
||||
"github.com/owncloud/ocis-konnectd/pkg/config"
|
||||
"github.com/owncloud/ocis-konnectd/pkg/flagset"
|
||||
"github.com/owncloud/ocis-konnectd/pkg/version"
|
||||
"github.com/owncloud/ocis-pkg/v2/log"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
// Execute is the entry point for the ocis-konnectd command.
|
||||
func Execute() error {
|
||||
cfg := config.New()
|
||||
|
||||
app := &cli.App{
|
||||
Name: "ocis-konnectd",
|
||||
Version: version.String,
|
||||
Usage: "Serve Konnectd API for oCIS",
|
||||
Compiled: version.Compiled(),
|
||||
|
||||
Authors: []*cli.Author{
|
||||
{
|
||||
Name: "ownCloud GmbH",
|
||||
Email: "support@owncloud.com",
|
||||
},
|
||||
},
|
||||
|
||||
Flags: flagset.RootWithConfig(cfg),
|
||||
|
||||
Before: func(c *cli.Context) error {
|
||||
return ParseConfig(c, cfg)
|
||||
},
|
||||
|
||||
Commands: []*cli.Command{
|
||||
Server(cfg),
|
||||
Health(cfg),
|
||||
},
|
||||
}
|
||||
|
||||
cli.HelpFlag = &cli.BoolFlag{
|
||||
Name: "help,h",
|
||||
Usage: "Show the help",
|
||||
}
|
||||
|
||||
cli.VersionFlag = &cli.BoolFlag{
|
||||
Name: "version,v",
|
||||
Usage: "Print the version",
|
||||
}
|
||||
|
||||
return app.Run(os.Args)
|
||||
}
|
||||
|
||||
// NewLogger initializes a service-specific logger instance.
|
||||
func NewLogger(cfg *config.Config) log.Logger {
|
||||
return log.NewLogger(
|
||||
log.Name("konnectd"),
|
||||
log.Level(cfg.Log.Level),
|
||||
log.Pretty(cfg.Log.Pretty),
|
||||
log.Color(cfg.Log.Color),
|
||||
)
|
||||
}
|
||||
|
||||
// ParseConfig load configuration for every extension
|
||||
func ParseConfig(c *cli.Context, cfg *config.Config) error {
|
||||
logger := NewLogger(cfg)
|
||||
|
||||
viper.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
|
||||
viper.SetEnvPrefix("KONNECTD")
|
||||
viper.AutomaticEnv()
|
||||
|
||||
if c.IsSet("config-file") {
|
||||
viper.SetConfigFile(c.String("config-file"))
|
||||
} else {
|
||||
viper.SetConfigName("konnectd")
|
||||
|
||||
viper.AddConfigPath("/etc/ocis")
|
||||
viper.AddConfigPath("$HOME/.ocis")
|
||||
viper.AddConfigPath("./config")
|
||||
}
|
||||
|
||||
if err := viper.ReadInConfig(); err != nil {
|
||||
switch err.(type) {
|
||||
case viper.ConfigFileNotFoundError:
|
||||
logger.Info().
|
||||
Msg("Continue without config")
|
||||
case viper.UnsupportedConfigError:
|
||||
logger.Fatal().
|
||||
Err(err).
|
||||
Msg("Unsupported config type")
|
||||
default:
|
||||
logger.Fatal().
|
||||
Err(err).
|
||||
Msg("Failed to read config")
|
||||
}
|
||||
}
|
||||
|
||||
if err := viper.Unmarshal(&cfg); err != nil {
|
||||
logger.Fatal().
|
||||
Err(err).
|
||||
Msg("Failed to parse config")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
238
konnectd/pkg/command/server.go
Normal file
238
konnectd/pkg/command/server.go
Normal file
@@ -0,0 +1,238 @@
|
||||
package command
|
||||
|
||||
import (
|
||||
"context"
|
||||
"os"
|
||||
"os/signal"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"contrib.go.opencensus.io/exporter/jaeger"
|
||||
"contrib.go.opencensus.io/exporter/ocagent"
|
||||
"contrib.go.opencensus.io/exporter/zipkin"
|
||||
"github.com/micro/cli/v2"
|
||||
"github.com/oklog/run"
|
||||
openzipkin "github.com/openzipkin/zipkin-go"
|
||||
zipkinhttp "github.com/openzipkin/zipkin-go/reporter/http"
|
||||
"github.com/owncloud/ocis-konnectd/pkg/config"
|
||||
"github.com/owncloud/ocis-konnectd/pkg/flagset"
|
||||
"github.com/owncloud/ocis-konnectd/pkg/metrics"
|
||||
"github.com/owncloud/ocis-konnectd/pkg/server/debug"
|
||||
"github.com/owncloud/ocis-konnectd/pkg/server/http"
|
||||
"go.opencensus.io/stats/view"
|
||||
"go.opencensus.io/trace"
|
||||
)
|
||||
|
||||
// Server is the entrypoint for the server command.
|
||||
func Server(cfg *config.Config) *cli.Command {
|
||||
return &cli.Command{
|
||||
Name: "server",
|
||||
Usage: "Start integrated server",
|
||||
Flags: flagset.ServerWithConfig(cfg),
|
||||
Before: func(c *cli.Context) error {
|
||||
|
||||
if cfg.HTTP.Root != "/" {
|
||||
cfg.HTTP.Root = strings.TrimSuffix(cfg.HTTP.Root, "/")
|
||||
}
|
||||
|
||||
// StringSliceFlag doesn't support Destination
|
||||
// UPDATE Destination on string flags supported. Wait for https://github.com/urfave/cli/pull/1078 to get to micro/cli
|
||||
if len(c.StringSlice("trusted-proxy")) > 0 {
|
||||
cfg.Konnectd.TrustedProxy = c.StringSlice("trusted-proxy")
|
||||
}
|
||||
|
||||
if len(c.StringSlice("allow-scope")) > 0 {
|
||||
cfg.Konnectd.AllowScope = c.StringSlice("allow-scope")
|
||||
}
|
||||
|
||||
if len(c.StringSlice("signing-private-key")) > 0 {
|
||||
cfg.Konnectd.SigningPrivateKeyFiles = c.StringSlice("signing-private-key")
|
||||
}
|
||||
|
||||
return ParseConfig(c, cfg)
|
||||
},
|
||||
Action: func(c *cli.Context) error {
|
||||
logger := NewLogger(cfg)
|
||||
|
||||
if cfg.Tracing.Enabled {
|
||||
switch t := cfg.Tracing.Type; t {
|
||||
case "agent":
|
||||
exporter, err := ocagent.NewExporter(
|
||||
ocagent.WithReconnectionPeriod(5*time.Second),
|
||||
ocagent.WithAddress(cfg.Tracing.Endpoint),
|
||||
ocagent.WithServiceName(cfg.Tracing.Service),
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
logger.Error().
|
||||
Err(err).
|
||||
Str("endpoint", cfg.Tracing.Endpoint).
|
||||
Str("collector", cfg.Tracing.Collector).
|
||||
Msg("Failed to create agent tracing")
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
trace.RegisterExporter(exporter)
|
||||
view.RegisterExporter(exporter)
|
||||
|
||||
case "jaeger":
|
||||
exporter, err := jaeger.NewExporter(
|
||||
jaeger.Options{
|
||||
AgentEndpoint: cfg.Tracing.Endpoint,
|
||||
CollectorEndpoint: cfg.Tracing.Collector,
|
||||
ServiceName: cfg.Tracing.Service,
|
||||
},
|
||||
)
|
||||
|
||||
logger.Info().
|
||||
Str("collector", cfg.Tracing.Collector).
|
||||
Msg("Trace collector added")
|
||||
|
||||
if err != nil {
|
||||
logger.Error().
|
||||
Err(err).
|
||||
Str("endpoint", cfg.Tracing.Endpoint).
|
||||
Str("collector", cfg.Tracing.Collector).
|
||||
Msg("Failed to create jaeger tracing")
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
trace.RegisterExporter(exporter)
|
||||
|
||||
case "zipkin":
|
||||
endpoint, err := openzipkin.NewEndpoint(
|
||||
cfg.Tracing.Service,
|
||||
cfg.Tracing.Endpoint,
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
logger.Error().
|
||||
Err(err).
|
||||
Str("endpoint", cfg.Tracing.Endpoint).
|
||||
Str("collector", cfg.Tracing.Collector).
|
||||
Msg("Failed to create zipkin tracing")
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
exporter := zipkin.NewExporter(
|
||||
zipkinhttp.NewReporter(
|
||||
cfg.Tracing.Collector,
|
||||
),
|
||||
endpoint,
|
||||
)
|
||||
|
||||
trace.RegisterExporter(exporter)
|
||||
|
||||
default:
|
||||
logger.Warn().
|
||||
Str("type", t).
|
||||
Msg("Unknown tracing backend")
|
||||
}
|
||||
|
||||
trace.ApplyConfig(
|
||||
trace.Config{
|
||||
DefaultSampler: trace.AlwaysSample(),
|
||||
},
|
||||
)
|
||||
} else {
|
||||
logger.Debug().
|
||||
Msg("Tracing is not enabled")
|
||||
}
|
||||
|
||||
var (
|
||||
gr = run.Group{}
|
||||
ctx, cancel = context.WithCancel(context.Background())
|
||||
metrics = metrics.New()
|
||||
)
|
||||
|
||||
defer cancel()
|
||||
|
||||
{
|
||||
server, err := http.Server(
|
||||
http.Logger(logger),
|
||||
http.Context(ctx),
|
||||
http.Config(cfg),
|
||||
http.Metrics(metrics),
|
||||
http.Flags(flagset.RootWithConfig(config.New())),
|
||||
http.Flags(flagset.ServerWithConfig(config.New())),
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
logger.Info().
|
||||
Err(err).
|
||||
Str("transport", "http").
|
||||
Msg("Failed to initialize server")
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
gr.Add(func() error {
|
||||
return server.Run()
|
||||
}, func(_ error) {
|
||||
logger.Info().
|
||||
Str("transport", "http").
|
||||
Msg("Shutting down server")
|
||||
|
||||
cancel()
|
||||
})
|
||||
}
|
||||
|
||||
{
|
||||
server, err := debug.Server(
|
||||
debug.Logger(logger),
|
||||
debug.Context(ctx),
|
||||
debug.Config(cfg),
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
logger.Info().
|
||||
Err(err).
|
||||
Str("transport", "debug").
|
||||
Msg("Failed to initialize server")
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
gr.Add(func() error {
|
||||
return server.ListenAndServe()
|
||||
}, func(_ error) {
|
||||
ctx, timeout := context.WithTimeout(ctx, 5*time.Second)
|
||||
|
||||
defer timeout()
|
||||
defer cancel()
|
||||
|
||||
if err := server.Shutdown(ctx); err != nil {
|
||||
logger.Info().
|
||||
Err(err).
|
||||
Str("transport", "debug").
|
||||
Msg("Failed to shutdown server")
|
||||
} else {
|
||||
logger.Info().
|
||||
Str("transport", "debug").
|
||||
Msg("Shutting down server")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
{
|
||||
stop := make(chan os.Signal, 1)
|
||||
|
||||
gr.Add(func() error {
|
||||
signal.Notify(stop, os.Interrupt)
|
||||
|
||||
<-stop
|
||||
|
||||
return nil
|
||||
}, func(err error) {
|
||||
close(stop)
|
||||
cancel()
|
||||
})
|
||||
}
|
||||
|
||||
return gr.Run()
|
||||
},
|
||||
}
|
||||
}
|
||||
60
konnectd/pkg/config/config.go
Normal file
60
konnectd/pkg/config/config.go
Normal file
@@ -0,0 +1,60 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"stash.kopano.io/kc/konnect/bootstrap"
|
||||
)
|
||||
|
||||
// Log defines the available logging configuration.
|
||||
type Log struct {
|
||||
Level string
|
||||
Pretty bool
|
||||
Color bool
|
||||
}
|
||||
|
||||
// Debug defines the available debug configuration.
|
||||
type Debug struct {
|
||||
Addr string
|
||||
Token string
|
||||
Pprof bool
|
||||
Zpages bool
|
||||
}
|
||||
|
||||
// HTTP defines the available http configuration.
|
||||
type HTTP struct {
|
||||
Addr string
|
||||
Namespace string
|
||||
Root string
|
||||
TLSCert string
|
||||
TLSKey string
|
||||
TLS bool
|
||||
}
|
||||
|
||||
// Tracing defines the available tracing configuration.
|
||||
type Tracing struct {
|
||||
Enabled bool
|
||||
Type string
|
||||
Endpoint string
|
||||
Collector string
|
||||
Service string
|
||||
}
|
||||
|
||||
// Asset defines the available asset configuration.
|
||||
type Asset struct {
|
||||
Path string
|
||||
}
|
||||
|
||||
// Config combines all available configuration parts.
|
||||
type Config struct {
|
||||
File string
|
||||
Log Log
|
||||
Debug Debug
|
||||
HTTP HTTP
|
||||
Tracing Tracing
|
||||
Asset Asset
|
||||
Konnectd bootstrap.Config
|
||||
}
|
||||
|
||||
// New initializes a new configuration with or without defaults.
|
||||
func New() *Config {
|
||||
return &Config{}
|
||||
}
|
||||
123
konnectd/pkg/crypto/gencert.go
Normal file
123
konnectd/pkg/crypto/gencert.go
Normal file
@@ -0,0 +1,123 @@
|
||||
package crypto
|
||||
|
||||
import (
|
||||
"crypto/ecdsa"
|
||||
"crypto/rand"
|
||||
"crypto/rsa"
|
||||
"crypto/x509"
|
||||
"crypto/x509/pkix"
|
||||
"encoding/pem"
|
||||
"math/big"
|
||||
"net"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/owncloud/ocis-pkg/v2/log"
|
||||
)
|
||||
|
||||
func publicKey(priv interface{}) interface{} {
|
||||
switch k := priv.(type) {
|
||||
case *rsa.PrivateKey:
|
||||
return &k.PublicKey
|
||||
case *ecdsa.PrivateKey:
|
||||
return &k.PublicKey
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func pemBlockForKey(priv interface{}, l log.Logger) *pem.Block {
|
||||
switch k := priv.(type) {
|
||||
case *rsa.PrivateKey:
|
||||
return &pem.Block{Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(k)}
|
||||
case *ecdsa.PrivateKey:
|
||||
b, err := x509.MarshalECPrivateKey(k)
|
||||
if err != nil {
|
||||
l.Fatal().Err(err).Msg("Unable to marshal ECDSA private key")
|
||||
}
|
||||
return &pem.Block{Type: "EC PRIVATE KEY", Bytes: b}
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// GenCert generates TLS-Certificates
|
||||
func GenCert(l log.Logger) error {
|
||||
var priv interface{}
|
||||
var err error
|
||||
|
||||
priv, err = rsa.GenerateKey(rand.Reader, 2048)
|
||||
|
||||
if err != nil {
|
||||
l.Fatal().Err(err).Msg("Failed to generate private key")
|
||||
}
|
||||
|
||||
notBefore := time.Now()
|
||||
notAfter := notBefore.Add(24 * time.Hour * 365)
|
||||
|
||||
serialNumberLimit := new(big.Int).Lsh(big.NewInt(1), 128)
|
||||
serialNumber, err := rand.Int(rand.Reader, serialNumberLimit)
|
||||
if err != nil {
|
||||
l.Fatal().Err(err).Msg("Failed to generate serial number")
|
||||
}
|
||||
|
||||
template := x509.Certificate{
|
||||
SerialNumber: serialNumber,
|
||||
Subject: pkix.Name{
|
||||
Organization: []string{"Acme Corp"},
|
||||
CommonName: "OCIS",
|
||||
},
|
||||
NotBefore: notBefore,
|
||||
NotAfter: notAfter,
|
||||
|
||||
KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature,
|
||||
ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth},
|
||||
BasicConstraintsValid: true,
|
||||
}
|
||||
|
||||
hosts := []string{"127.0.0.1", "localhost"}
|
||||
for _, h := range hosts {
|
||||
if ip := net.ParseIP(h); ip != nil {
|
||||
template.IPAddresses = append(template.IPAddresses, ip)
|
||||
} else {
|
||||
template.DNSNames = append(template.DNSNames, h)
|
||||
}
|
||||
}
|
||||
|
||||
//template.IsCA = true
|
||||
//template.KeyUsage |= x509.KeyUsageCertSign
|
||||
|
||||
derBytes, err := x509.CreateCertificate(rand.Reader, &template, &template, publicKey(priv), priv)
|
||||
if err != nil {
|
||||
l.Fatal().Err(err).Msg("Failed to create certificate")
|
||||
}
|
||||
|
||||
certOut, err := os.Create("server.crt")
|
||||
if err != nil {
|
||||
l.Fatal().Err(err).Msg("Failed to open server.crt for writing")
|
||||
}
|
||||
err = pem.Encode(certOut, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes})
|
||||
if err != nil {
|
||||
l.Fatal().Err(err).Msg("Failed to encode certificate")
|
||||
}
|
||||
err = certOut.Close()
|
||||
if err != nil {
|
||||
l.Fatal().Err(err).Msg("Failed to write cert")
|
||||
}
|
||||
l.Info().Msg("Written server.crt")
|
||||
|
||||
keyOut, err := os.OpenFile("server.key", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0600)
|
||||
if err != nil {
|
||||
l.Fatal().Err(err).Msg("Failed to open server.key for writing")
|
||||
}
|
||||
err = pem.Encode(keyOut, pemBlockForKey(priv, l))
|
||||
if err != nil {
|
||||
l.Fatal().Err(err).Msg("Failed to encode key")
|
||||
}
|
||||
err = keyOut.Close()
|
||||
if err != nil {
|
||||
l.Fatal().Err(err).Msg("Failed to write key")
|
||||
}
|
||||
l.Info().Msg("Written server.key")
|
||||
return nil
|
||||
}
|
||||
309
konnectd/pkg/flagset/flagset.go
Normal file
309
konnectd/pkg/flagset/flagset.go
Normal file
@@ -0,0 +1,309 @@
|
||||
package flagset
|
||||
|
||||
import (
|
||||
"github.com/micro/cli/v2"
|
||||
"github.com/owncloud/ocis-konnectd/pkg/config"
|
||||
)
|
||||
|
||||
// RootWithConfig applies cfg to the root flagset
|
||||
func RootWithConfig(cfg *config.Config) []cli.Flag {
|
||||
return []cli.Flag{
|
||||
&cli.StringFlag{
|
||||
Name: "config-file",
|
||||
Value: "",
|
||||
Usage: "Path to config file",
|
||||
EnvVars: []string{"KONNECTD_CONFIG_FILE"},
|
||||
Destination: &cfg.File,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "log-level",
|
||||
Value: "info",
|
||||
Usage: "Set logging level",
|
||||
EnvVars: []string{"KONNECTD_LOG_LEVEL"},
|
||||
Destination: &cfg.Log.Level,
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Value: true,
|
||||
Name: "log-pretty",
|
||||
Usage: "Enable pretty logging",
|
||||
EnvVars: []string{"KONNECTD_LOG_PRETTY"},
|
||||
Destination: &cfg.Log.Pretty,
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Value: true,
|
||||
Name: "log-color",
|
||||
Usage: "Enable colored logging",
|
||||
EnvVars: []string{"KONNECTD_LOG_COLOR"},
|
||||
Destination: &cfg.Log.Color,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// HealthWithConfig applies cfg to the root flagset
|
||||
func HealthWithConfig(cfg *config.Config) []cli.Flag {
|
||||
return []cli.Flag{
|
||||
&cli.StringFlag{
|
||||
Name: "debug-addr",
|
||||
Value: "0.0.0.0:9134",
|
||||
Usage: "Address to debug endpoint",
|
||||
EnvVars: []string{"KONNECTD_DEBUG_ADDR"},
|
||||
Destination: &cfg.Debug.Addr,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// ServerWithConfig applies cfg to the root flagset
|
||||
func ServerWithConfig(cfg *config.Config) []cli.Flag {
|
||||
return []cli.Flag{
|
||||
&cli.BoolFlag{
|
||||
Name: "tracing-enabled",
|
||||
Usage: "Enable sending traces",
|
||||
EnvVars: []string{"KONNECTD_TRACING_ENABLED"},
|
||||
Destination: &cfg.Tracing.Enabled,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "tracing-type",
|
||||
Value: "jaeger",
|
||||
Usage: "Tracing backend type",
|
||||
EnvVars: []string{"KONNECTD_TRACING_TYPE"},
|
||||
Destination: &cfg.Tracing.Type,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "tracing-endpoint",
|
||||
Value: "",
|
||||
Usage: "Endpoint for the agent",
|
||||
EnvVars: []string{"KONNECTD_TRACING_ENDPOINT"},
|
||||
Destination: &cfg.Tracing.Endpoint,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "tracing-collector",
|
||||
Value: "",
|
||||
Usage: "Endpoint for the collector",
|
||||
EnvVars: []string{"KONNECTD_TRACING_COLLECTOR"},
|
||||
Destination: &cfg.Tracing.Collector,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "tracing-service",
|
||||
Value: "konnectd",
|
||||
Usage: "Service name for tracing",
|
||||
EnvVars: []string{"KONNECTD_TRACING_SERVICE"},
|
||||
Destination: &cfg.Tracing.Service,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "debug-addr",
|
||||
Value: "0.0.0.0:9134",
|
||||
Usage: "Address to bind debug server",
|
||||
EnvVars: []string{"KONNECTD_DEBUG_ADDR"},
|
||||
Destination: &cfg.Debug.Addr,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "debug-token",
|
||||
Value: "",
|
||||
Usage: "Token to grant metrics access",
|
||||
EnvVars: []string{"KONNECTD_DEBUG_TOKEN"},
|
||||
Destination: &cfg.Debug.Token,
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "debug-pprof",
|
||||
Usage: "Enable pprof debugging",
|
||||
EnvVars: []string{"KONNECTD_DEBUG_PPROF"},
|
||||
Destination: &cfg.Debug.Pprof,
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "debug-zpages",
|
||||
Usage: "Enable zpages debugging",
|
||||
EnvVars: []string{"KONNECTD_DEBUG_ZPAGES"},
|
||||
Destination: &cfg.Debug.Zpages,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "http-addr",
|
||||
Value: "0.0.0.0:9130",
|
||||
Usage: "Address to bind http server",
|
||||
EnvVars: []string{"KONNECTD_HTTP_ADDR"},
|
||||
Destination: &cfg.HTTP.Addr,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "http-root",
|
||||
Value: "/",
|
||||
Usage: "Root path of http server",
|
||||
EnvVars: []string{"KONNECTD_HTTP_ROOT"},
|
||||
Destination: &cfg.HTTP.Root,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "http-namespace",
|
||||
Value: "com.owncloud.web",
|
||||
Usage: "Set the base namespace for service discovery",
|
||||
EnvVars: []string{"KONNECTD_HTTP_NAMESPACE"},
|
||||
Destination: &cfg.HTTP.Namespace,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "identity-manager",
|
||||
Value: "ldap",
|
||||
Usage: "Identity manager (one of ldap,kc,cookie,dummy)",
|
||||
EnvVars: []string{"KONNECTD_IDENTITY_MANAGER"},
|
||||
Destination: &cfg.Konnectd.IdentityManager,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "transport-tls-cert",
|
||||
Value: "",
|
||||
Usage: "Certificate file for transport encryption",
|
||||
EnvVars: []string{"KONNECTD_TRANSPORT_TLS_CERT"},
|
||||
Destination: &cfg.HTTP.TLSCert,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "transport-tls-key",
|
||||
Value: "",
|
||||
Usage: "Secret file for transport encryption",
|
||||
EnvVars: []string{"KONNECTD_TRANSPORT_TLS_KEY"},
|
||||
Destination: &cfg.HTTP.TLSKey,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "iss",
|
||||
Usage: "OIDC issuer URL",
|
||||
EnvVars: []string{"KONNECTD_ISS"},
|
||||
Value: "https://localhost:9200",
|
||||
Destination: &cfg.Konnectd.Iss,
|
||||
},
|
||||
&cli.StringSliceFlag{
|
||||
Name: "signing-private-key",
|
||||
Usage: "Full path to PEM encoded private key file (must match the --signing-method algorithm)",
|
||||
EnvVars: []string{"KONNECTD_SIGNING_PRIVATE_KEY"},
|
||||
Value: nil,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "signing-kid",
|
||||
Usage: "Value of kid field to use in created tokens (uniquely identifying the signing-private-key)",
|
||||
EnvVars: []string{"KONNECTD_SIGNING_KID"},
|
||||
Value: "",
|
||||
Destination: &cfg.Konnectd.SigningKid,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "validation-keys-path",
|
||||
Usage: "Full path to a folder containg PEM encoded private or public key files used for token validaton (file name without extension is used as kid)",
|
||||
EnvVars: []string{"KONNECTD_VALIDATION_KEYS_PATH"},
|
||||
Value: "",
|
||||
Destination: &cfg.Konnectd.ValidationKeysPath,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "encryption-secret",
|
||||
Usage: "Full path to a file containing a %d bytes secret key",
|
||||
EnvVars: []string{"KONNECTD_ENCRYPTION_SECRET"},
|
||||
Value: "",
|
||||
Destination: &cfg.Konnectd.EncryptionSecretFile,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "signing-method",
|
||||
Usage: "JWT default signing method",
|
||||
EnvVars: []string{"KONNECTD_SIGNING_METHOD"},
|
||||
Value: "PS256",
|
||||
Destination: &cfg.Konnectd.SigningMethod,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "uri-base-path",
|
||||
Usage: "Custom base path for URI endpoints",
|
||||
EnvVars: []string{"KONNECTD_URI_BASE_PATH"},
|
||||
Value: "",
|
||||
Destination: &cfg.Konnectd.URIBasePath,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "sign-in-uri",
|
||||
Usage: "Custom redirection URI to sign-in form",
|
||||
EnvVars: []string{"KONNECTD_SIGN_IN_URI"},
|
||||
Value: "",
|
||||
Destination: &cfg.Konnectd.SignInURI,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "signed-out-uri",
|
||||
Usage: "Custom redirection URI to signed-out goodbye page",
|
||||
EnvVars: []string{"KONNECTD_SIGN_OUT_URI"},
|
||||
Value: "",
|
||||
Destination: &cfg.Konnectd.SignedOutURI,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "authorization-endpoint-uri",
|
||||
Usage: "Custom authorization endpoint URI",
|
||||
EnvVars: []string{"KONNECTD_ENDPOINT_URI"},
|
||||
Value: "",
|
||||
Destination: &cfg.Konnectd.AuthorizationEndpointURI,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "endsession-endpoint-uri",
|
||||
Usage: "Custom endsession endpoint URI",
|
||||
EnvVars: []string{"KONNECTD_ENDSESSION_ENDPOINT_URI"},
|
||||
Value: "",
|
||||
Destination: &cfg.Konnectd.EndsessionEndpointURI,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "asset-path",
|
||||
Value: "",
|
||||
Usage: "Path to custom assets",
|
||||
EnvVars: []string{"KONNECTD_ASSET_PATH"},
|
||||
Destination: &cfg.Asset.Path,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "identifier-client-path",
|
||||
Usage: "Path to the identifier web client base folder",
|
||||
EnvVars: []string{"KONNECTD_IDENTIFIER_CLIENT_PATH"},
|
||||
Value: "/var/tmp/konnectd",
|
||||
Destination: &cfg.Konnectd.IdentifierClientPath,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "identifier-registration-conf",
|
||||
Usage: "Path to a identifier-registration.yaml configuration file",
|
||||
EnvVars: []string{"KONNECTD_IDENTIFIER_REGISTRATION_CONF"},
|
||||
Value: "./config/identifier-registration.yaml",
|
||||
Destination: &cfg.Konnectd.IdentifierRegistrationConf,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "identifier-scopes-conf",
|
||||
Usage: "Path to a scopes.yaml configuration file",
|
||||
EnvVars: []string{"KONNECTD_IDENTIFIER_SCOPES_CONF"},
|
||||
Value: "",
|
||||
Destination: &cfg.Konnectd.IdentifierScopesConf,
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "insecure",
|
||||
Usage: "Disable TLS certificate and hostname validation",
|
||||
EnvVars: []string{"KONNECTD_INSECURE"},
|
||||
Destination: &cfg.Konnectd.Insecure,
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "tls",
|
||||
Usage: "Use TLS (disable only if konnectd is behind a TLS-terminating reverse-proxy).",
|
||||
EnvVars: []string{"KONNECTD_TLS"},
|
||||
Value: false,
|
||||
Destination: &cfg.HTTP.TLS,
|
||||
},
|
||||
&cli.StringSliceFlag{
|
||||
Name: "trusted-proxy",
|
||||
Usage: "Trusted proxy IP or IP network (can be used multiple times)",
|
||||
EnvVars: []string{"KONNECTD_TRUSTED_PROXY"},
|
||||
Value: nil,
|
||||
},
|
||||
&cli.StringSliceFlag{
|
||||
Name: "allow-scope",
|
||||
Usage: "Allow OAuth 2 scope (can be used multiple times, if not set default scopes are allowed)",
|
||||
EnvVars: []string{"KONNECTD_ALLOW_SCOPE"},
|
||||
Value: nil,
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "allow-client-guests",
|
||||
Usage: "Allow sign in of client controlled guest users",
|
||||
EnvVars: []string{"KONNECTD_ALLOW_CLIENT_GUESTS"},
|
||||
Destination: &cfg.Konnectd.AllowClientGuests,
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "allow-dynamic-client-registration",
|
||||
Usage: "Allow dynamic OAuth2 client registration",
|
||||
EnvVars: []string{"KONNECTD_ALLOW_DYNAMIC_CLIENT_REGISTRATION"},
|
||||
Destination: &cfg.Konnectd.AllowDynamicClientRegistration,
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "disable-identifier-webapp",
|
||||
Usage: "Disable built-in identifier-webapp to use a frontend hosted elsewhere.",
|
||||
EnvVars: []string{"KONNECTD_DISABLE_IDENTIFIER_WEBAPP"},
|
||||
Value: true,
|
||||
Destination: &cfg.Konnectd.IdentifierClientDisabled,
|
||||
},
|
||||
}
|
||||
}
|
||||
73
konnectd/pkg/log/logrus_wrapper.go
Normal file
73
konnectd/pkg/log/logrus_wrapper.go
Normal file
@@ -0,0 +1,73 @@
|
||||
package log
|
||||
|
||||
import (
|
||||
"github.com/rs/zerolog"
|
||||
"github.com/sirupsen/logrus"
|
||||
"io/ioutil"
|
||||
)
|
||||
|
||||
type levelMap map[logrus.Level]zerolog.Level
|
||||
|
||||
var levelMapping = levelMap{
|
||||
logrus.PanicLevel: zerolog.PanicLevel,
|
||||
logrus.ErrorLevel: zerolog.ErrorLevel,
|
||||
logrus.TraceLevel: zerolog.TraceLevel,
|
||||
logrus.DebugLevel: zerolog.DebugLevel,
|
||||
logrus.WarnLevel: zerolog.WarnLevel,
|
||||
logrus.InfoLevel: zerolog.InfoLevel,
|
||||
}
|
||||
|
||||
// LogrusWrapper around zerolog. Required because konnectd uses logrus internally.
|
||||
type LogrusWrapper struct {
|
||||
zeroLog *zerolog.Logger
|
||||
levelMap levelMap
|
||||
}
|
||||
|
||||
// Wrap return a logrus logger which internally logs to /dev/null. Messages are passed to the
|
||||
// underlying zerolog via hooks.
|
||||
func Wrap(zr zerolog.Logger) *logrus.Logger {
|
||||
lr := logrus.New()
|
||||
lr.SetOutput(ioutil.Discard)
|
||||
lr.SetLevel(logrusLevel(zr.GetLevel()))
|
||||
lr.AddHook(&LogrusWrapper{
|
||||
zeroLog: &zr,
|
||||
levelMap: levelMapping,
|
||||
})
|
||||
|
||||
return lr
|
||||
}
|
||||
|
||||
// Levels on which logrus hooks should be triggered
|
||||
func (h *LogrusWrapper) Levels() []logrus.Level {
|
||||
return logrus.AllLevels
|
||||
}
|
||||
|
||||
// Fire called by logrus on new message
|
||||
func (h *LogrusWrapper) Fire(entry *logrus.Entry) error {
|
||||
h.zeroLog.WithLevel(h.levelMap[entry.Level]).
|
||||
Fields(zeroLogFields(entry.Data)).
|
||||
Msg(entry.Message)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
//Convert logrus fields to zerolog
|
||||
func zeroLogFields(fields logrus.Fields) map[string]interface{} {
|
||||
fm := make(map[string]interface{})
|
||||
for k, v := range fields {
|
||||
fm[k] = v
|
||||
}
|
||||
|
||||
return fm
|
||||
}
|
||||
|
||||
// Convert logrus level to zerolog
|
||||
func logrusLevel(level zerolog.Level) logrus.Level {
|
||||
for lrLvl, zrLvl := range levelMapping {
|
||||
if zrLvl == level {
|
||||
return lrLvl
|
||||
}
|
||||
}
|
||||
|
||||
panic("Unexpected loglevel")
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user