Documentation for configuring (and using) integrated services
gikf opened this issue · 3 comments
Discuss your ideas or share your views:
There's few external services that are vital for being able to run chapter the way it's intended.
I wondered how desired would be to have documentation/guide, how to configure them to use with chapter. Of course these services have their own documentation, however for somebody interested mainly in setting up chapter, that's not going to be the easiest to figure out what is needed and what not.
@gikf @ojeytonwilliams we have basic notes in the Owner FAQs talking about the need to setup 3rd party services (email transactions and block file storage), along with example services. Though, we don't go into how to configure services.
I assume this would mostly involve setting values in .env, but it wouldn't hurt to give more guidance, even if we're pointing to sections of the CONTRIBUTING.md for details on how things work.
Based on the .env.example, the only other remote service I see is for an optional remote database, which is touched on in the CONTRIBUTING.md's database section.
Questions
- Is the MVP sort of locked into either SES or Sendgrid for email?
- How is block storage (S3-compatible) being configured, since I don't see a placeholder for host, keys, port, etc in .env.example?
- Are there other 3rd party services besides the non-MVP Google Calendar integration?
- We could certainly copy, extend, and link the 3rd party services notes from the Owners FAQs to CONTRIBUTING.md, to a more complete resource. Is there a suggested conventional place/file, like deployments.md (or some variation) to put deployment specific notes?
- Does fCC or GitHub have a convention on documenting deployment vs contributing?
- Are there other 3rd party services besides the non-MVP Google Calendar integration?
Auth0 for authentication
Is the MVP sort of locked into either SES or Sendgrid for email?
SES, Sendgrid and SMTP should all work. Which one is used is configured by the EMAIL_SERVICE
variable. Each provider then requires additional variables. SES: SES_ACCESS_KEY_ID and SES_SECRET_ACCESS_KEY, SMTP: EMAIL_USERNAME, EMAIL_PASSWORD, EMAIL_HOST and Sendgrid: SENDGRID_KEY. The three providers can be found here: https://github.com/freeCodeCamp/chapter/tree/main/server/src/services/mail-providers
How is block storage (S3-compatible) being configured, since I don't see a placeholder for host, keys, port, etc in .env.example?
Chapter does not use it. I believe we considered hosting images, but deferred that until after the MVP.
Does fCC or GitHub have a convention on documenting deployment vs contributing?
I don't believe so, no. However, I'd say the best approach would be to have a separate deployment.md and link to that from the main README.