* support setting pypiBaseUrl by environment variables
* Add support for pypiBaseUrl configuration
* Update Pypi services to include pypiBaseUrl parameter
* change package name example to a more well-known package
* Update custom-environment-variables.yml
* Update Pypi services to include pypiBaseUrl parameter
* fix openapi mismatch
* Update doc/server-secrets.md
---------
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
* allow user to set dockerhub credentials
* add withJwtAuth function to AuthHelper
* use withJwtAuth in DockerHub badges
* add unit tests for JWT auth
* use auth when calling docker cloud
* refactor and assert fetch helpers call withJwtAuth
* store token for a max duration (defaults to 1 hour)
* tangent: update test example
* add gitea service based on gitlab
* update gitea to use mocks
* add gitea release test
* move tests to use public repo on codeberg and fixes
* add pagination, update tests to live, set gitea_url as required
* add auth test (wip)
* fix base auth test
* fix required optionalUrl, remove default, assume semver from firstpage
* update example to use stable repository
* [OpenCollective] update opencollective to api v2 (#9346)
* update opencollective to api v2
* fix tests
* fix: do not filter by accountType for opencollective/all
* remove 404
* remove required in schema
* cnt -> count
* keep by-tier code as-is
---------
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
* allow calling OpenCollective api with an auth token
* add test for opencollective auth
* cache OpenCollective badges for longer
---------
Co-authored-by: xxchan <xxchan22f@gmail.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
* feat: support authentication on Libraries.io requests
* feat: wire up libraries.io config and api provider instantiation
* feat: create libraries.io and bower base classes
* refactor: tweak libraries/bower service classes and tests
* rename request fetcher function/arg
* throw exception when no tokens available
* cleanup old value
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
* service: add obs service
* service: obs: replaced replaceAll with replace and global regex
* service: obs: added space between class members
* service: obs: support for multiple instances
* service: obs: removed user prefix from auth vars
obs_userName is now called obs_user and obs_userPass is called obs_pass
Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
* service: obs: removed constructor hack in favour of serviceKey
* service: obs: apply suggestions from @calebcartwright
* service: obs: remove unneccesary http status mappings
Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
* Added GitLab Tag service
* Added prettyMessage for when repo has no tags
* Added pretty message for repo not found
* core: esm-ify gitlab tag service
* feat: support gitlab auth
* feat: support custom gitlab url on tag badges
* tests: add auth test for gitlab
* docs: fix gitlab config key references
* feat: support gitlab tag sorting options
* docs: add custom gitlab instance example for tags badge
* use v in gitlab route
* fix: gitlab tag examples
Co-authored-by: Ideotec <guille@ideotec.es>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
* Migrate [Discord] implementation to use bot token
* Rework authorization field creation
* Revert "Rework authorization field creation"
This reverts commit caf65bde5d.
* Add LGTM exclusion for hardcoded credentials
* add /twitch/status/:user badge
* update comments
* use a proper schema for the Twitch API calls
* use a token to make Twitch api calls
* fix handling of rate-limit error and bad token error
* [twitch] get a token as soon as creating a Twitch service
* [twitch] start both requests to users and stream before awaiting
* [twitch] set a timeout to replace the token before it expires
* [twitch] use authHelper
* [twitch] skip tests when no credentials
* [twitch] add one more status test
* twitch: do not check whether a user exists
* Add drone build badge based on travis
* Fix wrong mocked endpoint for done builder
* Refactor service tester using helper method
* Add missing failure status to red statuses
* Remove extraneous invalid svg test from drone
* Test on failure red status in build status spec
* refactor(drone): use json service instead of svg
* refactor(drone): remove status text and extraneous build path in test
* refactor(drone): allow defining self-hosted drone instances
* fix(drone): use proper urls in drone examples
* fix(drone): add drone token authorization for self-hosted instances
* refactor(drone): call render build status badge directly instead of render
* refactor(drone): use server query parameter for self-hosted instances
* fix(drone): separate url and query params in example
* fix(drone): use actual build status message in examples
* fix(drone): add missing message for status code 401
Co-Authored-By: byCedric <me@bycedric.com>
* refactor(drone): remove color from drone tests
* refactor(drone): remove extraneous comments from drone tests
* refactor(drone): remove unused static preview method
* refactor(drone): remove unused static render method
* refactor(drone): reuse render build status badge helper in static previews
* fix(drone): test inaccessible repos on new message
This implements the configuration mechanism I described in #2621. The heavy lifting is delegated to [node-config](https://github.com/lorenwest/node-config) with a minor assist from [dotenv](https://github.com/motdotla/dotenv).
`private/secret.json` has been replaced with environment variables and/or `config/local.yml`. See `doc/server-secrets.md`.
* don't use a libraries.io token for bower integration
The libraries.io docs claim you need to be authenticated
to make any API request: https://libraries.io/api#authentication
In practice we can call https://libraries.io/api/bower/jquery
just fine with no token and based on chucking a load of
requests at it and examining the `x-ratelimit-remaining`
headers you actually seem to get a better limit with no
authentication.
All of our libraries.io badges in `services/librariesio`
seem to have been running fine with no token for some time.
* change jira auth settings to jira_user, jira_pass
All the other services use servicename_user, servicename_pass
This switches JIRA to use that convention by preference
but supports _username and _password for legacy users.
* add docs for server secrets
* add danger rule for server-secrets.md
this rule prompts users to update server-secrets.md
if 'serverSecrets' is in the diff