diff --git a/src/website/content/ecosystem/connect.md b/src/website/content/ecosystem/connect.md index 01befcaf..827a7fed 100644 --- a/src/website/content/ecosystem/connect.md +++ b/src/website/content/ecosystem/connect.md @@ -47,18 +47,17 @@ dependencies { } ``` -
-The main documentation has moved to the http4k Connect [site](https://connect.http4k.org) -
- -## Supported APIs and Fakes: - -See the [Module Reference](/ecosystem/http4k/module/) for the complete list of supported services. - -
-- [Example Template](./example) -> `"org.http4k:http4k-connect-example"` / `"org.http4k:http4k-connect-example-fake"` -
- -### Want to add a new API Client or Storage backend? - -Read the [guide](https://connect.http4k.org/contributing/). +## Want to add a new API Client or Storage backend? + +### Notes for adding a new Client & Fake +- Use the `Example` project client and fake as a template module. +- The naming of the modules is: `http4k-connect--`. We are also grouping the systems by vendor in directory structure. To add the modules in the right place in `settings.gradle.kts` use the functions provided. +- The work for adding other `http4k-connect` Gradle dependencies is already done in the core `build.gradle` file. You just need to add external dependencies into the module gradle file if there are any. If not, feel free to omit it. +- Fakes should extend `ChaoticHttpHandler`, which adds in the `misbehave()` and `behave()` functions to enable the Chaotic behaviour. +- Each Fake should implement the `FakeSystemContract`. +- Tests against external systems should be added wherever possible to prove the contracts are in place, or adding Docker* setup to run them. *This is work in progress. + +### Notes for adding Storage implementations +- The naming of the modules is: `http4k-connect-storage-`. To add the module in the right place in `settings.gradle.kts` use the function provided. +- There is a contract `StorageContract` to prove that the implementation. +- Testcontainers can be used to prove out testing for various storage backends