From d7778cd2d1a9c88022887851a0acfc839715cbc0 Mon Sep 17 00:00:00 2001 From: Ben Hutton Date: Fri, 22 Apr 2022 16:05:54 +0100 Subject: [PATCH 1/7] Add initial infrastructure document --- INFRASTRUCTURE.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 INFRASTRUCTURE.md diff --git a/INFRASTRUCTURE.md b/INFRASTRUCTURE.md new file mode 100644 index 00000000..fb054381 --- /dev/null +++ b/INFRASTRUCTURE.md @@ -0,0 +1,62 @@ +# Our Infrastructure + +First, let's address some details of this document. + +
+ What, why, who... + + ## What? + + This document outlines the various systems that JSON Schema the organisation uses and maintains. + This does not include social media profiles. + + ## Why? + + It's part of the required tasks to be completed by the OpenJS Foundation, forming an item of the [onboarding checklist](https://github.com/openjs-foundation/cross-project-council/blob/main/PROJECT_PROGRESSION.md#onboarding-checklist). + It's also probably good practice. + + This enables members of the JSON Schema team, and the OpenJS Foundation, to have oversight and management of such infrastructure should it be required. + + ## Who? + + This was mainly a list created by Ben Hutton (@relequestual). + Others are free to amend and update this (Via Pull Requests) as is required. + +
+ +JSON Schema mostly operates on GitHub and Slack. + +Our GitHub organisation is located at https://github.com/orgs/json-schema-org + +Our Slack server is located at https://json-schema.slack.com +(Anyone can join using https://json-schema.org/slack) + +The JSON Schema organisation maintains ONE domain name: json-schema.org. + +The domain name is registered and paid for by the OpenJS Foundation. + +The domain name defers its name servers to CloudFlare. +The DNS mostly points to GitHub. + +The website is split into several applications for historical reasons. + +The main website is run through GitHub Pages. The source code is located at https://github.com/json-schema-org/json-schema-org.github.io + +The human friendly documentation for the specification, dubbed "Understanding JSON Schema", is located at https://json-schema.org/understanding-json-schema +The source for this project is located at https://github.com/json-schema-org/understanding-json-schema + +Both of these sites are deployed by GitHub onto GitHub Pages. + +The JSON Schema blog is located at https://json-schema.org/blog +The source code is located at https://github.com/json-schema-org/blog + +The blog is deployed on CloudFlare Pages. +The blog URL is redirected using CloudFlare workers. + +The CloudFlare pages name is `json-schema-blog`. +The redirection worker is called `blogredirect`. + +(It may now be possible to do the redirect using URL rewriting, but it was broken at the time, and their community support suggested using Workers.) + +The main site and the understanding site get deploy previews via Netlify. +Unfortunately, CloudFlare pages does not offer deployment previews on Pull Requests where the Pull Request comes from a fork of the project (while netlify does, and for free). \ No newline at end of file From 6074ec4ac75e20e8c6e7e59272303710394de7fb Mon Sep 17 00:00:00 2001 From: Ben Hutton Date: Thu, 26 May 2022 16:54:57 +0100 Subject: [PATCH 2/7] Add details about Slack automations to infrastructure documentation --- INFRASTRUCTURE.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/INFRASTRUCTURE.md b/INFRASTRUCTURE.md index fb054381..082d8c8e 100644 --- a/INFRASTRUCTURE.md +++ b/INFRASTRUCTURE.md @@ -12,7 +12,7 @@ First, let's address some details of this document. ## Why? - It's part of the required tasks to be completed by the OpenJS Foundation, forming an item of the [onboarding checklist](https://github.com/openjs-foundation/cross-project-council/blob/main/PROJECT_PROGRESSION.md#onboarding-checklist). + It's part of the required tasks to be completed by the OpenJS Foundation, forming an item of the [onboarding checklist](https://github.com/openjs-foundation/cross-project-council/blob/main/PROJECT_PROGRESSION.md#onboaghrding-checklist). It's also probably good practice. This enables members of the JSON Schema team, and the OpenJS Foundation, to have oversight and management of such infrastructure should it be required. @@ -59,4 +59,19 @@ The redirection worker is called `blogredirect`. (It may now be possible to do the redirect using URL rewriting, but it was broken at the time, and their community support suggested using Workers.) The main site and the understanding site get deploy previews via Netlify. -Unfortunately, CloudFlare pages does not offer deployment previews on Pull Requests where the Pull Request comes from a fork of the project (while netlify does, and for free). \ No newline at end of file +Unfortunately, CloudFlare pages does not offer deployment previews on Pull Requests where the Pull Request comes from a fork of the project (while netlify does, and for free). + +The slack server has a number of bots which feed data into specific channels. + +The bot which feeds tweets containing JSON Schema from Twitter to #twitter-mentions channel was created by [Mike Ralphson](https://twitter.com/PermittedSoc). We have no access to it, and it currently (as of 2022-05-26) needs to be replaced as it's acting up. + +The bot for #stack-overflow runs from If This Then That under @relequestual 's account. It should probably be migrated to Zapier. + +The #github channel bot uses the official Github Slack app, and runs all Github events from all of our repositories, apart from GitHub Discussions. + +The #ghd-community channel bot uses Zapier to process webhooks for our Community repo's GitHub Discussions, and relay to Slack. +The Zapier account is owned and paid for by Postman. If this ever might become a problem, we should move to our own licence. +At the time, there was no official app integration. + + +If you believe something is missing from this documentation, please file an issue. \ No newline at end of file From a077fa3cb39276657a287158fc2bcae637c9a875 Mon Sep 17 00:00:00 2001 From: Ben Hutton Date: Fri, 27 May 2022 14:40:34 +0100 Subject: [PATCH 3/7] Fix capitalization Co-authored-by: Greg Dennis --- INFRASTRUCTURE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INFRASTRUCTURE.md b/INFRASTRUCTURE.md index 082d8c8e..1e0093cd 100644 --- a/INFRASTRUCTURE.md +++ b/INFRASTRUCTURE.md @@ -20,7 +20,7 @@ First, let's address some details of this document. ## Who? This was mainly a list created by Ben Hutton (@relequestual). - Others are free to amend and update this (Via Pull Requests) as is required. + Others are free to amend and update this (via Pull Requests) as is required. From cad6305b02d042c99dddb91c34a9cda7ee25b10e Mon Sep 17 00:00:00 2001 From: Ben Hutton Date: Fri, 27 May 2022 14:42:26 +0100 Subject: [PATCH 4/7] Fix capitalization Co-authored-by: Julian Berman --- INFRASTRUCTURE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INFRASTRUCTURE.md b/INFRASTRUCTURE.md index 1e0093cd..a03c0e0d 100644 --- a/INFRASTRUCTURE.md +++ b/INFRASTRUCTURE.md @@ -61,7 +61,7 @@ The redirection worker is called `blogredirect`. The main site and the understanding site get deploy previews via Netlify. Unfortunately, CloudFlare pages does not offer deployment previews on Pull Requests where the Pull Request comes from a fork of the project (while netlify does, and for free). -The slack server has a number of bots which feed data into specific channels. +The Slack server has a number of bots which feed data into specific channels. The bot which feeds tweets containing JSON Schema from Twitter to #twitter-mentions channel was created by [Mike Ralphson](https://twitter.com/PermittedSoc). We have no access to it, and it currently (as of 2022-05-26) needs to be replaced as it's acting up. From 0ae635d439e294fc2dd266414dbb00dbff1a5f96 Mon Sep 17 00:00:00 2001 From: Ben Hutton Date: Fri, 27 May 2022 14:43:48 +0100 Subject: [PATCH 5/7] Use full stops and add fix phrasing Co-authored-by: Julian Berman --- INFRASTRUCTURE.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/INFRASTRUCTURE.md b/INFRASTRUCTURE.md index a03c0e0d..c0524271 100644 --- a/INFRASTRUCTURE.md +++ b/INFRASTRUCTURE.md @@ -26,10 +26,10 @@ First, let's address some details of this document. JSON Schema mostly operates on GitHub and Slack. -Our GitHub organisation is located at https://github.com/orgs/json-schema-org +Our GitHub organisation is located at https://github.com/orgs/json-schema-org. -Our Slack server is located at https://json-schema.slack.com -(Anyone can join using https://json-schema.org/slack) +Our Slack server is located at https://json-schema.slack.com. +(Anyone can join using https://json-schema.org/slack.) The JSON Schema organisation maintains ONE domain name: json-schema.org. @@ -40,15 +40,15 @@ The DNS mostly points to GitHub. The website is split into several applications for historical reasons. -The main website is run through GitHub Pages. The source code is located at https://github.com/json-schema-org/json-schema-org.github.io +The main website is run through GitHub Pages. The source code is located at https://github.com/json-schema-org/json-schema-org.github.io. -The human friendly documentation for the specification, dubbed "Understanding JSON Schema", is located at https://json-schema.org/understanding-json-schema -The source for this project is located at https://github.com/json-schema-org/understanding-json-schema +The human friendly documentation for the specification, dubbed "Understanding JSON Schema", is located at https://json-schema.org/understanding-json-schema. +The source for this project is located at https://github.com/json-schema-org/understanding-json-schema. Both of these sites are deployed by GitHub onto GitHub Pages. -The JSON Schema blog is located at https://json-schema.org/blog -The source code is located at https://github.com/json-schema-org/blog +The JSON Schema blog is located at https://json-schema.org/blog. +The source code is located at https://github.com/json-schema-org/blog. The blog is deployed on CloudFlare Pages. The blog URL is redirected using CloudFlare workers. @@ -63,7 +63,7 @@ Unfortunately, CloudFlare pages does not offer deployment previews on Pull Reque The Slack server has a number of bots which feed data into specific channels. -The bot which feeds tweets containing JSON Schema from Twitter to #twitter-mentions channel was created by [Mike Ralphson](https://twitter.com/PermittedSoc). We have no access to it, and it currently (as of 2022-05-26) needs to be replaced as it's acting up. +The bot which feeds tweets containing JSON Schema from Twitter to the #twitter-mentions channel was created by [Mike Ralphson](https://twitter.com/PermittedSoc). We have no access to it, and it currently (as of 2022-05-26) needs to be replaced as it's acting up. The bot for #stack-overflow runs from If This Then That under @relequestual 's account. It should probably be migrated to Zapier. From b98a087ee5b2e5183fdcfc93db1172b991577d86 Mon Sep 17 00:00:00 2001 From: Julian Berman Date: Fri, 17 Jun 2022 11:11:36 -0400 Subject: [PATCH 6/7] Fix a link typo, and do some trivial style and UX tweaking. --- INFRASTRUCTURE.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/INFRASTRUCTURE.md b/INFRASTRUCTURE.md index c0524271..8dccedce 100644 --- a/INFRASTRUCTURE.md +++ b/INFRASTRUCTURE.md @@ -12,7 +12,7 @@ First, let's address some details of this document. ## Why? - It's part of the required tasks to be completed by the OpenJS Foundation, forming an item of the [onboarding checklist](https://github.com/openjs-foundation/cross-project-council/blob/main/PROJECT_PROGRESSION.md#onboaghrding-checklist). + It's part of the required tasks to be completed by the OpenJS Foundation, forming an item of the [onboarding checklist](https://github.com/openjs-foundation/cross-project-council/blob/main/PROJECT_PROGRESSION.md#onboarding-checklist). It's also probably good practice. This enables members of the JSON Schema team, and the OpenJS Foundation, to have oversight and management of such infrastructure should it be required. @@ -49,13 +49,10 @@ Both of these sites are deployed by GitHub onto GitHub Pages. The JSON Schema blog is located at https://json-schema.org/blog. The source code is located at https://github.com/json-schema-org/blog. - The blog is deployed on CloudFlare Pages. -The blog URL is redirected using CloudFlare workers. - The CloudFlare pages name is `json-schema-blog`. +The blog URL is redirected using CloudFlare workers. The redirection worker is called `blogredirect`. - (It may now be possible to do the redirect using URL rewriting, but it was broken at the time, and their community support suggested using Workers.) The main site and the understanding site get deploy previews via Netlify. @@ -74,4 +71,4 @@ The Zapier account is owned and paid for by Postman. If this ever might become a At the time, there was no official app integration. -If you believe something is missing from this documentation, please file an issue. \ No newline at end of file +If you believe something is missing from this documentation, [please file an issue](https://github.com/json-schema-org/community/issues/new?assignees=&labels=&template=action_item.md). From ec332730e8cce615d1819e527036578df3cfa798 Mon Sep 17 00:00:00 2001 From: Julian Berman Date: Fri, 17 Jun 2022 11:11:47 -0400 Subject: [PATCH 7/7] Add an explicit section on hosted meta schemas. --- INFRASTRUCTURE.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/INFRASTRUCTURE.md b/INFRASTRUCTURE.md index 8dccedce..d735d0c1 100644 --- a/INFRASTRUCTURE.md +++ b/INFRASTRUCTURE.md @@ -42,6 +42,11 @@ The website is split into several applications for historical reasons. The main website is run through GitHub Pages. The source code is located at https://github.com/json-schema-org/json-schema-org.github.io. +A key set of resources hosted by the site are the JSON Schema meta-schemas, which are used to indicate which schemas are themselves valid for each version of the specification. +These resources are potentially heavily used or referred to by consumers of JSON Schema. +Links to these resources can be found at https://json-schema.org/specification.html for the latest version of JSON Schema, and at https://json-schema.org/specification-links.html for older versions. +The working location for these resources is in the specification repository at https://github.com/json-schema-org/json-schema-spec/, and they are then included into the aforementioned website repository for publishing using `git submodule`. + The human friendly documentation for the specification, dubbed "Understanding JSON Schema", is located at https://json-schema.org/understanding-json-schema. The source for this project is located at https://github.com/json-schema-org/understanding-json-schema.