From 1d31548cfab90bbd5b75aa1c780b9a090bd669e7 Mon Sep 17 00:00:00 2001 From: Dotan Nahum Date: Fri, 15 Oct 2021 12:08:46 +0300 Subject: [PATCH] cosmetics --- README.md | 1001 +++++++++++++++++++++++++++++++++++-- tooling/sync-providers.js | 11 +- 2 files changed, 966 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 27c70f3..d9d78f0 100644 --- a/README.md +++ b/README.md @@ -208,49 +208,951 @@ We use our [`service_policy_kit`](https://github.com/spectralops/service-policy- -| provider | actions | params | -|---|---|---| -|**tester**
Tester: valid key|validation|`tester_1` - hookbin ID (https://hookb.in)
`tester_2` - fake key to put as a query param

```keyscope validate tester -p TESTER_1 TESTER_2```| -|**covalenthq**
Covalent: valid key|validation|`covalenthq_1` - covalent token

```keyscope validate covalenthq -p COVALENTHQ_1```| -|**asana**
Asana: valid token|validation|`asana_1` - asana token

```keyscope validate asana -p ASANA_1```| -|**bitly**
Bit.ly: valid access token|validation|`bitly_1` - bit.ly token

```keyscope validate bitly -p BITLY_1```| -|**localytics**
Localytics: valid API credentials|validation|`localytics_1` - localytics user
`localytics_2` - localytics key

```keyscope validate localytics -p LOCALYTICS_1 LOCALYTICS_2```| -|**algolia**
Algolia: valid API credentials|validation|`algolia_1` - algolia application ID
`algolia_2` - algolia index
`algolia_3` - algolia API key

```keyscope validate algolia -p ALGOLIA_1 ALGOLIA_2 ALGOLIA_3```| -|**branchio**
branch.io: valid API credentials|validation|`branchio_1` - branch.io key
`branchio_2` - branch.io secret

```keyscope validate branchio -p BRANCHIO_1 BRANCHIO_2```| -|**browserstack**
browserstack: valid API credentials|validation|`browserstack_1` - browserstack key
`browserstack_2` - browserstack secret

```keyscope validate browserstack -p BROWSERSTACK_1 BROWSERSTACK_2```| -|**buildkite**
Buildkite: valid token|validation|`buildkite_1` - buildkite token

```keyscope validate buildkite -p BUILDKITE_1```| -|**datadog**
datadog: valid API credentials|validation|`datadog_1` - datadog API key

```keyscope validate datadog -p DATADOG_1```| -|**github**
github: valid API credentials|validation|`github_1` - github token

```keyscope validate github -p GITHUB_1```| -|**github-ent**
Github Enterprise: valid API token|validation|`github-ent_1` - github enterprise instance (without http)
`github-ent_2` - github token

```keyscope validate github-ent -p GITHUB-ENT_1 GITHUB-ENT_2```| -|**dropbox**
dropbox: valid API credentials|validation|`dropbox_1` - dropbox token

```keyscope validate dropbox -p DROPBOX_1```| -|**gitlab**
gitlab: valid API credentials|validation|`gitlab_1` - gitlab token

```keyscope validate gitlab -p GITLAB_1```| -|**heroku**
heroku: valid API credentials|validation|`heroku_1` - heroku token

```keyscope validate heroku -p HEROKU_1```| -|**mailchimp**
mailchimp: valid API credentials|validation|`mailchimp_1` - mailchimp datacenter ID
`mailchimp_2` - mailchimp key

```keyscope validate mailchimp -p MAILCHIMP_1 MAILCHIMP_2```| -|**mailgun**
mailgun: valid API credentials|validation|`mailgun_1` - mailgun key

```keyscope validate mailgun -p MAILGUN_1```| -|**pagerduty**
pagerduty: valid API credentials|validation|`pagerduty_1` - pagerduty token

```keyscope validate pagerduty -p PAGERDUTY_1```| -|**circleci**
circleci: valid API credentials|validation|`circleci_1` - circleci key

```keyscope validate circleci -p CIRCLECI_1```| -|**facebook-access-token**
facebook: valid API token|validation|`facebook-access-token_1` - facebook token

```keyscope validate facebook-access-token -p FACEBOOK-ACCESS-TOKEN_1```| -|**salesforce**
salesforce: valid API credentials|validation|`salesforce_1` - salesforce instance name
`salesforce_2` - salesforce token

```keyscope validate salesforce -p SALESFORCE_1 SALESFORCE_2```| -|**jumpcloud**
jumpcloud: valid API credentials|validation|`jumpcloud_1` - jumpcloud key

```keyscope validate jumpcloud -p JUMPCLOUD_1```| -|**saucelabs-us**
saucelabs-us: valid API credentials|validation|`saucelabs-us_1` - saucelabs user
`saucelabs-us_2` - saucelabs key

```keyscope validate saucelabs-us -p SAUCELABS-US_1 SAUCELABS-US_2```| -|**saucelabs-eu**
saucelabs-eu: valid API credentials|validation|`saucelabs-eu_1` - saucelabs user
`saucelabs-eu_2` - saucelabs key

```keyscope validate saucelabs-eu -p SAUCELABS-EU_1 SAUCELABS-EU_2```| -|**sendgrid**
sendgrid: valid API credentials|validation|`sendgrid_1` - sendgrid key

```keyscope validate sendgrid -p SENDGRID_1```| -|**slack**
slack: valid API credentials|validation|`slack_1` - slack key

```keyscope validate slack -p SLACK_1```| -|**slack-webhook**
slack-webook: valid API credentials|validation|`slack-webhook_1` - slack webhook

```keyscope validate slack-webhook -p SLACK-WEBHOOK_1```| -|**stripe**
stripe: valid API credentials|validation|`stripe_1` - stripe key

```keyscope validate stripe -p STRIPE_1```| -|**travisci**
travisci: valid API credentials|validation|`travisci_1` - travisci domain, choose 'org' or 'com'
`travisci_2` - travisci key

```keyscope validate travisci -p TRAVISCI_1 TRAVISCI_2```| -|**twilio**
twilio: valid API credentials|validation|`twilio_1` - twilio account sid
`twilio_2` - twilio token

```keyscope validate twilio -p TWILIO_1 TWILIO_2```| -|**twitter**
twitter: valid API credentials|validation|`twitter_1` - twitter API token

```keyscope validate twitter -p TWITTER_1```| -|**zendesk**
zendesk: valid API credentials|validation|`zendesk_1` - zendesk domain
`zendesk_2` - zendesk key

```keyscope validate zendesk -p ZENDESK_1 ZENDESK_2```| -|**firebase**
firebase: valid API credentials|validation|`firebase_1` - firebase API key
`firebase_2` - firebase ID token

```keyscope validate firebase -p FIREBASE_1 FIREBASE_2```| -|**aws**
aws: valid API credentials|validation|`aws_1` - AWS ID
`aws_2` - AWS secret

```keyscope validate aws -p AWS_1 AWS_2```| -|**elastic-apm-secret**
Elastic APM: secret key validation|validation|`elastic-apm-secret_1` - Elastic APM host address and port, including 'http/s' part
`elastic-apm-secret_2` - Elastic APM secret

```keyscope validate elastic-apm-secret -p ELASTIC-APM-SECRET_1 ELASTIC-APM-SECRET_2```| -|**artifactory**
Artifactory: token validation|validation|`artifactory_1` - Artifactory host (including http(s) part)
`artifactory_2` - Artifactory token

```keyscope validate artifactory -p ARTIFACTORY_1 ARTIFACTORY_2```| -|**ibm-cos**
IBM: cloud object storage key validation (HMAC)|validation|`ibm-cos_1` - IBM HMAC ID
`ibm-cos_2` - IBM HMAC secret

```keyscope validate ibm-cos -p IBM-COS_1 IBM-COS_2```| -|**ibm-iam**
IBM: cloud key validation (IAM)|validation|`ibm-iam_1` - IBM cloud key

```keyscope validate ibm-iam -p IBM-IAM_1```| -|**ibm-cloudant**
IBM: cloudant key validation (legacy)|validation|`ibm-cloudant_1` - IBM cloudant hostname
`ibm-cloudant_2` - IBM cloudant user
`ibm-cloudant_3` - IBM cloudant key

```keyscope validate ibm-cloudant -p IBM-CLOUDANT_1 IBM-CLOUDANT_2 IBM-CLOUDANT_3```| -|**softlayer**
Softlayer: validate credentials|validation|`softlayer_1` - Softlayer hostname
`softlayer_2` - Softlayer token

```keyscope validate softlayer -p SOFTLAYER_1 SOFTLAYER_2```| -|**square**
Square: valid token|validation|`square_1` - Square token

```keyscope validate square -p SQUARE_1```| + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +**tester**
Tester: valid key + +
+ +validation + + + +`tester_1` - hookbin ID (https://hookb.in)
`tester_2` - fake key to put as a query param + +
+ +``` +keyscope validate tester -p TESTER_1 TESTER_2 +``` +
+ +**covalenthq**
Covalent: valid key + +
+ +validation + + + +`covalenthq_1` - covalent token + +
+ +``` +keyscope validate covalenthq -p COVALENTHQ_1 +``` +
+ +**asana**
Asana: valid token + +
+ +validation + + + +`asana_1` - asana token + +
+ +``` +keyscope validate asana -p ASANA_1 +``` +
+ +**bitly**
Bit.ly: valid access token + +
+ +validation + + + +`bitly_1` - bit.ly token + +
+ +``` +keyscope validate bitly -p BITLY_1 +``` +
+ +**localytics**
Localytics: valid API credentials + +
+ +validation + + + +`localytics_1` - localytics user
`localytics_2` - localytics key + +
+ +``` +keyscope validate localytics -p LOCALYTICS_1 LOCALYTICS_2 +``` +
+ +**algolia**
Algolia: valid API credentials + +
+ +validation + + + +`algolia_1` - algolia application ID
`algolia_2` - algolia index
`algolia_3` - algolia API key + +
+ +``` +keyscope validate algolia -p ALGOLIA_1 ALGOLIA_2 ALGOLIA_3 +``` +
+ +**branchio**
branch.io: valid API credentials + +
+ +validation + + + +`branchio_1` - branch.io key
`branchio_2` - branch.io secret + +
+ +``` +keyscope validate branchio -p BRANCHIO_1 BRANCHIO_2 +``` +
+ +**browserstack**
browserstack: valid API credentials + +
+ +validation + + + +`browserstack_1` - browserstack key
`browserstack_2` - browserstack secret + +
+ +``` +keyscope validate browserstack -p BROWSERSTACK_1 BROWSERSTACK_2 +``` +
+ +**buildkite**
Buildkite: valid token + +
+ +validation + + + +`buildkite_1` - buildkite token + +
+ +``` +keyscope validate buildkite -p BUILDKITE_1 +``` +
+ +**datadog**
datadog: valid API credentials + +
+ +validation + + + +`datadog_1` - datadog API key + +
+ +``` +keyscope validate datadog -p DATADOG_1 +``` +
+ +**github**
github: valid API credentials + +
+ +validation + + + +`github_1` - github token + +
+ +``` +keyscope validate github -p GITHUB_1 +``` +
+ +**github-ent**
Github Enterprise: valid API token + +
+ +validation + + + +`github-ent_1` - github enterprise instance (without http)
`github-ent_2` - github token + +
+ +``` +keyscope validate github-ent -p GITHUB-ENT_1 GITHUB-ENT_2 +``` +
+ +**dropbox**
dropbox: valid API credentials + +
+ +validation + + + +`dropbox_1` - dropbox token + +
+ +``` +keyscope validate dropbox -p DROPBOX_1 +``` +
+ +**gitlab**
gitlab: valid API credentials + +
+ +validation + + + +`gitlab_1` - gitlab token + +
+ +``` +keyscope validate gitlab -p GITLAB_1 +``` +
+ +**heroku**
heroku: valid API credentials + +
+ +validation + + + +`heroku_1` - heroku token + +
+ +``` +keyscope validate heroku -p HEROKU_1 +``` +
+ +**mailchimp**
mailchimp: valid API credentials + +
+ +validation + + + +`mailchimp_1` - mailchimp datacenter ID
`mailchimp_2` - mailchimp key + +
+ +``` +keyscope validate mailchimp -p MAILCHIMP_1 MAILCHIMP_2 +``` +
+ +**mailgun**
mailgun: valid API credentials + +
+ +validation + + + +`mailgun_1` - mailgun key + +
+ +``` +keyscope validate mailgun -p MAILGUN_1 +``` +
+ +**pagerduty**
pagerduty: valid API credentials + +
+ +validation + + + +`pagerduty_1` - pagerduty token + +
+ +``` +keyscope validate pagerduty -p PAGERDUTY_1 +``` +
+ +**circleci**
circleci: valid API credentials + +
+ +validation + + + +`circleci_1` - circleci key + +
+ +``` +keyscope validate circleci -p CIRCLECI_1 +``` +
+ +**facebook-access-token**
facebook: valid API token + +
+ +validation + + + +`facebook-access-token_1` - facebook token + +
+ +``` +keyscope validate facebook-access-token -p FACEBOOK-ACCESS-TOKEN_1 +``` +
+ +**salesforce**
salesforce: valid API credentials + +
+ +validation + + + +`salesforce_1` - salesforce instance name
`salesforce_2` - salesforce token + +
+ +``` +keyscope validate salesforce -p SALESFORCE_1 SALESFORCE_2 +``` +
+ +**jumpcloud**
jumpcloud: valid API credentials + +
+ +validation + + + +`jumpcloud_1` - jumpcloud key + +
+ +``` +keyscope validate jumpcloud -p JUMPCLOUD_1 +``` +
+ +**saucelabs-us**
saucelabs-us: valid API credentials + +
+ +validation + + + +`saucelabs-us_1` - saucelabs user
`saucelabs-us_2` - saucelabs key + +
+ +``` +keyscope validate saucelabs-us -p SAUCELABS-US_1 SAUCELABS-US_2 +``` +
+ +**saucelabs-eu**
saucelabs-eu: valid API credentials + +
+ +validation + + + +`saucelabs-eu_1` - saucelabs user
`saucelabs-eu_2` - saucelabs key + +
+ +``` +keyscope validate saucelabs-eu -p SAUCELABS-EU_1 SAUCELABS-EU_2 +``` +
+ +**sendgrid**
sendgrid: valid API credentials + +
+ +validation + + + +`sendgrid_1` - sendgrid key + +
+ +``` +keyscope validate sendgrid -p SENDGRID_1 +``` +
+ +**slack**
slack: valid API credentials + +
+ +validation + + + +`slack_1` - slack key + +
+ +``` +keyscope validate slack -p SLACK_1 +``` +
+ +**slack-webhook**
slack-webook: valid API credentials + +
+ +validation + + + +`slack-webhook_1` - slack webhook + +
+ +``` +keyscope validate slack-webhook -p SLACK-WEBHOOK_1 +``` +
+ +**stripe**
stripe: valid API credentials + +
+ +validation + + + +`stripe_1` - stripe key + +
+ +``` +keyscope validate stripe -p STRIPE_1 +``` +
+ +**travisci**
travisci: valid API credentials + +
+ +validation + + + +`travisci_1` - travisci domain, choose 'org' or 'com'
`travisci_2` - travisci key + +
+ +``` +keyscope validate travisci -p TRAVISCI_1 TRAVISCI_2 +``` +
+ +**twilio**
twilio: valid API credentials + +
+ +validation + + + +`twilio_1` - twilio account sid
`twilio_2` - twilio token + +
+ +``` +keyscope validate twilio -p TWILIO_1 TWILIO_2 +``` +
+ +**twitter**
twitter: valid API credentials + +
+ +validation + + + +`twitter_1` - twitter API token + +
+ +``` +keyscope validate twitter -p TWITTER_1 +``` +
+ +**zendesk**
zendesk: valid API credentials + +
+ +validation + + + +`zendesk_1` - zendesk domain
`zendesk_2` - zendesk key + +
+ +``` +keyscope validate zendesk -p ZENDESK_1 ZENDESK_2 +``` +
+ +**firebase**
firebase: valid API credentials + +
+ +validation + + + +`firebase_1` - firebase API key
`firebase_2` - firebase ID token + +
+ +``` +keyscope validate firebase -p FIREBASE_1 FIREBASE_2 +``` +
+ +**aws**
aws: valid API credentials + +
+ +validation + + + +`aws_1` - AWS ID
`aws_2` - AWS secret + +
+ +``` +keyscope validate aws -p AWS_1 AWS_2 +``` +
+ +**elastic-apm-secret**
Elastic APM: secret key validation + +
+ +validation + + + +`elastic-apm-secret_1` - Elastic APM host address and port, including 'http/s' part
`elastic-apm-secret_2` - Elastic APM secret + +
+ +``` +keyscope validate elastic-apm-secret -p ELASTIC-APM-SECRET_1 ELASTIC-APM-SECRET_2 +``` +
+ +**artifactory**
Artifactory: token validation + +
+ +validation + + + +`artifactory_1` - Artifactory host (including http(s) part)
`artifactory_2` - Artifactory token + +
+ +``` +keyscope validate artifactory -p ARTIFACTORY_1 ARTIFACTORY_2 +``` +
+ +**ibm-cos**
IBM: cloud object storage key validation (HMAC) + +
+ +validation + + + +`ibm-cos_1` - IBM HMAC ID
`ibm-cos_2` - IBM HMAC secret + +
+ +``` +keyscope validate ibm-cos -p IBM-COS_1 IBM-COS_2 +``` +
+ +**ibm-iam**
IBM: cloud key validation (IAM) + +
+ +validation + + + +`ibm-iam_1` - IBM cloud key + +
+ +``` +keyscope validate ibm-iam -p IBM-IAM_1 +``` +
+ +**ibm-cloudant**
IBM: cloudant key validation (legacy) + +
+ +validation + + + +`ibm-cloudant_1` - IBM cloudant hostname
`ibm-cloudant_2` - IBM cloudant user
`ibm-cloudant_3` - IBM cloudant key + +
+ +``` +keyscope validate ibm-cloudant -p IBM-CLOUDANT_1 IBM-CLOUDANT_2 IBM-CLOUDANT_3 +``` +
+ +**softlayer**
Softlayer: validate credentials + +
+ +validation + + + +`softlayer_1` - Softlayer hostname
`softlayer_2` - Softlayer token + +
+ +``` +keyscope validate softlayer -p SOFTLAYER_1 SOFTLAYER_2 +``` +
+ +**square**
Square: valid token + +
+ +validation + + + +`square_1` - Square token + +
+ +``` +keyscope validate square -p SQUARE_1 +``` +
@@ -260,6 +1162,19 @@ We use our [`service_policy_kit`](https://github.com/spectralops/service-policy- + + + + + + + + + + + + + diff --git a/tooling/sync-providers.js b/tooling/sync-providers.js index 1bddc3a..fdbc64d 100644 --- a/tooling/sync-providers.js +++ b/tooling/sync-providers.js @@ -6,11 +6,16 @@ const defs = YAML.parse(file) const rows = L.map(defs.providers, (def, provider)=>{ - return [provider, def.validation.request.desc, 'validation', def.validation.request.params.map(p=> `\`${p.name}\` - ${p.desc}`).join("
") + "

```"+ `keyscope validate ${provider} -p ${def.validation.request.params.map(p=> p.name.toUpperCase()).join(" ") }` +"```"] + return [ + provider, + def.validation.request.desc, + 'validation', + def.validation.request.params.map(p=> `\`${p.name}\` - ${p.desc}`).join("
"), + "```\n"+ `keyscope validate ${provider} -p ${def.validation.request.params.map(p=> p.name.toUpperCase()).join(" ") }` +"\n```" + ] }) -const header = `| provider | actions | params |\n|---|---|---|\n` -const table = header + L.map(rows, ([p, desc, a, prm])=> `|**${p}**
${desc}|${a}|${prm}|`).join("\n") +const table = "\n" + L.map(rows, ([p, desc, a, prm, code])=> `\n\n\n\n\n`).join("\n") + "\n
\n\n**${p}**
${desc}\n\n
\n\n${a}\n\n\n\n${prm}\n\n
\n\n${code}\n
" const readme = fs.readFileSync('README.md', 'utf8').toString() const out = readme.replace(/([\S\s]*?)/g, `\n${table}\n\n`) fs.writeFileSync("README.md", out) \ No newline at end of file