-
Notifications
You must be signed in to change notification settings - Fork 0
add a "what do we host and how" document #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 2 commits
265cd7d
eb02b4f
92a00f2
41e8753
76ba733
3239847
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,69 @@ | ||
| # So you want the IWG to run a service… | ||
|
|
||
| ⚠️ This document is maintained by the IWG and is likely to change as we learn | ||
| from the process of actually carrying out our mandate. | ||
|
|
||
| ## What does "run a service" mean? | ||
|
|
||
| The IWG has a few roles in running services: | ||
|
|
||
| 1. It holds administrative keys and delegates access to the current active | ||
| admins, if needed. | ||
| 2. It keeps services running, monitors availability, performs security updates, | ||
| and does other "keep the lights on" tasks. | ||
| 3. It identifies breakages caused by upstream changes and attempts to have them | ||
| fixed. The IWG does not perform development tasks (like rewriting custom | ||
| software). See "[When Things Break](#When Things Break)" below. | ||
| 4. It writes internal documentation (playbooks) for how to manage services. | ||
| This covers generic documentation of the hosting platform and | ||
| service-specific troubleshooting steps. | ||
|
|
||
| The IWG expressly *does not* do the following: | ||
|
|
||
| 1. moderate user content | ||
| 2. develop new features | ||
| 3. fix non-trivial bugs | ||
| 4. write documentation for users | ||
|
|
||
| ## What kind of services does IWG run? | ||
|
|
||
| There are two categories of system run by IWG: | ||
|
|
||
| 1. **TPF services**: those being used for the direct benefit of TPF | ||
rjbs marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| 2. **community services**: those being used for the benefit of the Perl and Raku communities | ||
|
|
||
| ## Enrollment of TPF Services | ||
|
|
||
| IWG administrates all TPF unless there is a compelling reason for other | ||
rjbs marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| accomodations. | ||
|
|
||
| ## Enrollment of Community Services | ||
|
|
||
| Before any service can be hosted by the IWG, its current maintainer and the IWG | ||
rjbs marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| must agree to this arrangement. Here are a number of guidelines about how the | ||
| IWG decides what to host: | ||
|
|
||
| * Services must have a significant ongoing value to the community. | ||
| * Services must have a minimum level of reliability (or, alternatively, | ||
| hosting it must fall below some maximum level of hassle). | ||
| * The IWG must have full ownership of the hosting and deployment environment. | ||
| * The IWG will establish an official hosting platform. ("We host everything on | ||
| such and such OS and are comfortable with managing the following services.") | ||
| Deviation from the official platform is treated as a hassle and judged | ||
| accordingly. | ||
| * Services must be hosted at domain controlled by the IWG. | ||
rjbs marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| * Custom code must be hosted at GitHub, in an organization administrated by | ||
| IWG. | ||
|
|
||
| ## When Things Break | ||
|
|
||
| The IWG will establish internal procedures for dealing with things like "such | ||
| and such service has crashed and needs a reboot." | ||
rjbs marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| The larger question is what happens when a service's custom code is broken by | ||
| changes to the standard deployment environment. If the IWG is unable to make | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Don't we have a responsibility to test any such change to make sure it doesn't break stuff? And if it does, give a window for remediation?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, but consider:
We discussed this on Zoom, basically saying that in a case like this, we would make at least a bare minimum attempt to see if the problem was trivially addressable, and failing that, we would make a notice that the service would go offline at some future point if nobody provided a fix. We'd say "send your fix to this github repo" or the like. |
||
| a fix easily, they will make a prominent call for assistance. If the problem | ||
| isn't fixed, the service may be taken down and replaced by a page describing | ||
| the problem. Fixes provided by the public will be tested and, if they're | ||
| effective, deployed. | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.