https://github.com/broadinstitute/sherlock
DSP DevOps's deployment source-of-truth service
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.9%) to scientific vocabulary
Keywords
Repository
DSP DevOps's deployment source-of-truth service
Basic Info
- Host: GitHub
- Owner: broadinstitute
- License: bsd-3-clause
- Language: Go
- Default Branch: main
- Homepage: https://sherlock.dsp-devops.broadinstitute.org/
- Size: 6.28 MB
Statistics
- Stars: 1
- Watchers: 43
- Forks: 0
- Open Issues: 1
- Releases: 0
Topics
Metadata Files
README.md
Sherlock
DSP DevOps's Source-of-Truth Service
Sherlock stores information about our Kubernetes-based deployments, including Helm Chart versions and application versions. Sherlock doesn't do the deploying itself--it offers an API that other tools can use to understand our infrastructure.
The primary clients are Beehive, a UI for changing the information stored in Sherlock, and Thelma, a CLI that combines Sherlock's knowledge with Helm, ArgoCD, and Kubernetes APIs to directly manage infrastructure.
Project Structure
Sherlock is a Golang server relying on a Postgres database.
An overview of interactions:
| Sherlock | | |---------------------------|----------------------------------------------------------------------------------------------------------------| | API Endpoint | :8080/api | | Swagger Endpoint | :8080/swagger/index.html | | Prometheus Endpoint | :8080/metrics | | Go Client Library | ./sherlock-go-client | | TypeScript Client Library | ./sherlock-typescript-client | | CLI | Via Thelma | | GitHub Actions | Via Thelma and ./.github/workflows/client-* | | UI | Via Beehive |
Sherlock is meant to be deployed behind Google Cloud's Identity-Aware Proxy. It connects to Google Workspace's Admin API to evaluate permissions of the calling users.
Developing Locally
GoLand should be able to understand the monorepo structure and should download dependencies appropriately.
Some key makefile commands:
make install-pactwill ask for sudo credentials to install the Pact FFI library necessary for running those testsmake pg-upwill run a blank local database so that GoLand can run tests for youmake pg-downwill tear it down if it gets in a bad state
make local-upwill run Sherlock locally (different database frommake pg-up's, so you can add state there)make local-stopwill shut down Sherlock so you can rebuild it without wiping your database statemake local-downwill wipe your database state
There's more in the makefile.
Owner
- Name: Broad Institute
- Login: broadinstitute
- Kind: organization
- Location: Cambridge, MA
- Website: http://www.broadinstitute.org/
- Twitter: broadinstitute
- Repositories: 1,083
- Profile: https://github.com/broadinstitute
Broad Institute of MIT and Harvard
Issues and Pull Requests
Last synced: 5 months ago
All Time
- Total issues: 3
- Total pull requests: 933
- Average time to close issues: about 6 hours
- Average time to close pull requests: 6 days
- Total issue authors: 2
- Total pull request authors: 12
- Average comments per issue: 2.0
- Average comments per pull request: 2.18
- Merged pull requests: 694
- Bot issues: 2
- Bot pull requests: 549
Past Year
- Issues: 1
- Pull requests: 373
- Average time to close issues: 9 minutes
- Average time to close pull requests: 5 days
- Issue authors: 1
- Pull request authors: 6
- Average comments per issue: 1.0
- Average comments per pull request: 1.94
- Merged pull requests: 253
- Bot issues: 1
- Bot pull requests: 333
Top Authors
Issue Authors
- dependabot[bot] (2)
- jack-r-warren (1)
Pull Request Authors
- dependabot[bot] (549)
- jack-r-warren (319)
- katiewelch (15)
- mflinn-broad (14)
- choover-broad (10)
- John-Scira (7)
- em-may (6)
- ungwudik (4)
- jyang-broad (4)
- knapii-developments (3)
- ichengchang (1)
- dmohs (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- google-github-actions/auth v0 composite
- google-github-actions/auth v0 composite
- aurelien-baudet/workflow-dispatch v2 composite
- google-github-actions/auth v0 composite
- actions/checkout v3 composite
- google-github-actions/auth v0 composite
- aurelien-baudet/workflow-dispatch v2 composite
- google-github-actions/auth v0 composite
- ./.github/actions/push-with-retry * composite
- actions/checkout v2 composite
- actions/setup-go v3 composite
- actions/setup-node v3 composite
- broadinstitute/dsp-appsec-trivy-action v1 composite
- databiosphere/github-actions/actions/bumper bumper-0.0.6 composite
- google-github-actions/auth v0 composite
- google-github-actions/setup-gcloud v0 composite
- actions/checkout v2 composite
- golangci/golangci-lint-action v2 composite
- actions/checkout v3 composite
- actions/setup-go v3 composite
- codecov/codecov-action v1 composite
- actions/checkout v4 composite
- actions/github-script v6 composite
- google-github-actions/auth v1 composite
- actions/github-script v6 composite
- google-github-actions/auth v1 composite
- actions/github-script v6 composite
- broadinstitute/workflow-dispatch v3 composite
- google-github-actions/auth v1 composite
- actions/checkout v4 composite
- actions/setup-go v4 composite
- char0n/swagger-editor-validate v1 composite
- marocchino/sticky-pull-request-comment v2 composite
- actions/checkout v4 composite
- actions/dependency-review-action v3 composite
- actions/checkout v4 composite
- actions/setup-go v4 composite
- google-github-actions/auth v1 composite
- google-github-actions/setup-gcloud v1 composite
- actions/github-script v6 composite
- google-github-actions/auth v1 composite
- gcr.io/distroless/static nonroot build
- golang ${GO_VERSION}-alpine${ALPINE_VERSION} build
- github.com/google/go-cmp v0.5.9
- github.com/google/go-cmp v0.5.9
- cloud.google.com/go/compute v1.23.0
- cloud.google.com/go/compute/metadata v0.2.3
- contrib.go.opencensus.io/exporter/prometheus v0.4.2
- github.com/KyleBanks/depth v1.2.1
- github.com/PagerDuty/go-pagerduty v1.7.0
- github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8
- github.com/beorn7/perks v1.0.1
- github.com/broadinstitute/sherlock/go-shared v0.0.0
- github.com/bytedance/sonic v1.9.1
- github.com/cespare/xxhash/v2 v2.2.0
- github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311
- github.com/cloudflare/circl v1.3.3
- github.com/coreos/go-oidc v2.2.1+incompatible
- github.com/creasty/defaults v1.7.0
- github.com/davecgh/go-spew v1.1.1
- github.com/dustinkirkland/golang-petname v0.0.0-20230626224747-e794b9370d49
- github.com/fsnotify/fsnotify v1.6.0
- github.com/gabriel-vasile/mimetype v1.4.2
- github.com/gin-contrib/sse v0.1.0
- github.com/gin-gonic/gin v1.9.1
- github.com/go-kit/log v0.2.1
- github.com/go-logfmt/logfmt v0.5.1
- github.com/go-openapi/jsonpointer v0.19.6
- github.com/go-openapi/jsonreference v0.20.2
- github.com/go-openapi/spec v0.20.9
- github.com/go-openapi/swag v0.22.3
- github.com/go-playground/locales v0.14.1
- github.com/go-playground/universal-translator v0.18.1
- github.com/go-playground/validator/v10 v10.14.1
- github.com/go-sql-driver/mysql v1.7.0
- github.com/goccy/go-json v0.10.2
- github.com/golang-migrate/migrate/v4 v4.16.2
- github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
- github.com/golang/protobuf v1.5.3
- github.com/google/go-cmp v0.5.9
- github.com/google/go-github/v50 v50.2.0
- github.com/google/go-querystring v1.1.0
- github.com/google/s2a-go v0.1.7
- github.com/google/uuid v1.3.1
- github.com/googleapis/enterprise-certificate-proxy v0.2.5
- github.com/googleapis/gax-go/v2 v2.12.0
- github.com/gorilla/websocket v1.4.2
- github.com/hashicorp/errwrap v1.1.0
- github.com/hashicorp/go-multierror v1.1.1
- github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa
- github.com/jackc/pgpassfile v1.0.0
- github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a
- github.com/jackc/pgx/v5 v5.4.3
- github.com/jinzhu/inflection v1.0.0
- github.com/jinzhu/now v1.1.5
- github.com/josharian/intern v1.0.0
- github.com/json-iterator/go v1.1.12
- github.com/klauspost/cpuid/v2 v2.2.4
- github.com/knadh/koanf v1.5.0
- github.com/kr/pretty v0.3.1
- github.com/leodido/go-urn v1.2.4
- github.com/lib/pq v1.10.7
- github.com/mailru/easyjson v0.7.7
- github.com/mattn/go-colorable v0.1.13
- github.com/mattn/go-isatty v0.0.19
- github.com/matttproud/golang_protobuf_extensions v1.0.4
- github.com/mitchellh/copystructure v1.2.0
- github.com/mitchellh/mapstructure v1.5.0
- github.com/mitchellh/reflectwalk v1.0.2
- github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
- github.com/modern-go/reflect2 v1.0.2
- github.com/pelletier/go-toml/v2 v2.0.9
- github.com/pmezard/go-difflib v1.0.0
- github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021
- github.com/prometheus/client_golang v1.14.0
- github.com/prometheus/client_model v0.3.0
- github.com/prometheus/common v0.37.0
- github.com/prometheus/procfs v0.8.0
- github.com/prometheus/statsd_exporter v0.22.8
- github.com/rogpeppe/go-internal v1.10.0
- github.com/rs/zerolog v1.30.0
- github.com/slack-go/slack v0.12.3
- github.com/stretchr/objx v0.5.0
- github.com/stretchr/testify v1.8.4
- github.com/swaggo/files v1.0.1
- github.com/swaggo/gin-swagger v1.6.0
- github.com/swaggo/swag v1.16.2
- github.com/twitchyliquid64/golang-asm v0.15.1
- github.com/ugorji/go/codec v1.2.11
- go.opencensus.io v0.24.0
- go.uber.org/atomic v1.10.0
- golang.org/x/arch v0.3.0
- golang.org/x/crypto v0.13.0
- golang.org/x/net v0.15.0
- golang.org/x/oauth2 v0.12.0
- golang.org/x/sys v0.12.0
- golang.org/x/text v0.13.0
- golang.org/x/tools v0.12.0
- google.golang.org/api v0.140.0
- google.golang.org/appengine v1.6.7
- google.golang.org/genproto/googleapis/rpc v0.0.0-20230911183012-2d3300fd4832
- google.golang.org/grpc v1.57.0
- google.golang.org/protobuf v1.31.0
- gopkg.in/square/go-jose.v2 v2.5.1
- gopkg.in/yaml.v2 v2.4.0
- gopkg.in/yaml.v3 v3.0.1
- gorm.io/datatypes v1.2.0
- gorm.io/driver/mysql v1.4.7
- gorm.io/driver/postgres v1.5.2
- gorm.io/gorm v1.25.4
- 818 dependencies
- github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2
- github.com/go-logr/logr v1.2.3
- github.com/go-logr/stdr v1.2.2
- github.com/go-openapi/analysis v0.21.4
- github.com/go-openapi/errors v0.20.4
- github.com/go-openapi/jsonpointer v0.19.5
- github.com/go-openapi/jsonreference v0.20.0
- github.com/go-openapi/loads v0.21.2
- github.com/go-openapi/runtime v0.26.0
- github.com/go-openapi/spec v0.20.8
- github.com/go-openapi/strfmt v0.21.7
- github.com/go-openapi/swag v0.22.4
- github.com/go-openapi/validate v0.22.1
- github.com/josharian/intern v1.0.0
- github.com/mailru/easyjson v0.7.7
- github.com/mitchellh/mapstructure v1.5.0
- github.com/oklog/ulid v1.3.1
- github.com/opentracing/opentracing-go v1.2.0
- go.mongodb.org/mongo-driver v1.11.3
- go.opentelemetry.io/otel v1.14.0
- go.opentelemetry.io/otel/trace v1.14.0
- gopkg.in/yaml.v2 v2.4.0
- gopkg.in/yaml.v3 v3.0.1
- 178 dependencies
- cloud.google.com/go/functions v1.13.0
- github.com/GoogleCloudPlatform/functions-framework-go v1.7.4
- github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2
- github.com/broadinstitute/sherlock/go-shared v0.0.0
- github.com/broadinstitute/sherlock/sherlock-go-client v0.0.0
- github.com/cloudevents/sdk-go/v2 v2.14.0
- github.com/go-logr/logr v1.2.3
- github.com/go-logr/stdr v1.2.2
- github.com/go-openapi/analysis v0.21.4
- github.com/go-openapi/errors v0.20.4
- github.com/go-openapi/jsonpointer v0.19.5
- github.com/go-openapi/jsonreference v0.20.0
- github.com/go-openapi/loads v0.21.2
- github.com/go-openapi/runtime v0.26.0
- github.com/go-openapi/spec v0.20.8
- github.com/go-openapi/strfmt v0.21.7
- github.com/go-openapi/swag v0.22.4
- github.com/go-openapi/validate v0.22.1
- github.com/go-playground/webhooks/v6 v6.3.0
- github.com/google/uuid v1.3.0
- github.com/josharian/intern v1.0.0
- github.com/json-iterator/go v1.1.10
- github.com/mailru/easyjson v0.7.7
- github.com/mitchellh/mapstructure v1.5.0
- github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421
- github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742
- github.com/oklog/ulid v1.3.1
- github.com/opentracing/opentracing-go v1.2.0
- go.mongodb.org/mongo-driver v1.11.3
- go.opentelemetry.io/otel v1.14.0
- go.opentelemetry.io/otel/trace v1.14.0
- go.uber.org/atomic v1.4.0
- go.uber.org/multierr v1.1.0
- go.uber.org/zap v1.10.0
- gopkg.in/yaml.v2 v2.4.0
- gopkg.in/yaml.v3 v3.0.1
- 1621 dependencies
- typescript 4.8.3 development
- typescript ^4.0 development