Repository navigation
docs: add a how-to set up production integrations guide - #2835
Conversation
e455dde to
3760a85
Compare
| See more: [MLflow](https://github.com/canonical/mlflow-operator/blob/main/src/charm.py), [Valkey](https://github.com/canonical/valkey-operator/blob/9/edge/src/events/backup.py). | ||
|
|
||
| (set-up-production-integrations-identity)= | ||
| ## Identity |
There was a problem hiding this comment.
@tonyandrewmeyer I might need some help with this section. This is a new topic for me, and I tried my best to match their documentation with the structure of this page.
Is Canonical Identity the one to go for if someone want to setup production-grade identity solution for their charm ? And whether I select the right one provider charms in the table 😓 .
There was a problem hiding this comment.
Yes, I think Canonical Identity is the right place to send people. As far as I can tell it covers two stacks: the Identity Platform (Hydra, Kratos, GLAuth) and Authentik. The providers you have are right (I checked the hydra, authentik-server, authentik-ldap-outpost and saml-integrator endpoints on Charmhub). I'd add glauth-k8s for ldap, since that's the Identity Platform's LDAP provider. Their Choosing an identity solution page might be a useful link too. It's worth getting someone from the Identity team to look over this section, though, since I'm not an expert here either.
There was a problem hiding this comment.
Thanks for the response and help!
I'd add glauth-k8s for ldap ...
I agree, I have added glauth-k8s for ldap and the Choosing an identity solution page.
I also contacted the Identity team (Alessandro), and am now waiting for their response.
There was a problem hiding this comment.
(from Identity team): Overall lgtm, except that IMO it is a little misleading listing the saml-integrator in there. The charm does not really provide saml functionality, it simply simply allows the user to provide saml configurations. All the other charms actually provide the functionality.
There was a problem hiding this comment.
@nsklikas Thank you for the review. I included saml-integrator here because this charm provides the saml endpoint, similar to other charms.
I agree that it can be confusing listing together with other charms that provide functionality. I will add a small sentence to clarify.
| See more: [MLflow](https://github.com/canonical/mlflow-operator/blob/main/src/charm.py), [Valkey](https://github.com/canonical/valkey-operator/blob/9/edge/src/events/backup.py). | ||
|
|
||
| (set-up-production-integrations-identity)= | ||
| ## Identity |
There was a problem hiding this comment.
Yes, I think Canonical Identity is the right place to send people. As far as I can tell it covers two stacks: the Identity Platform (Hydra, Kratos, GLAuth) and Authentik. The providers you have are right (I checked the hydra, authentik-server, authentik-ldap-outpost and saml-integrator endpoints on Charmhub). I'd add glauth-k8s for ldap, since that's the Identity Platform's LDAP provider. Their Choosing an identity solution page might be a useful link too. It's worth getting someone from the Identity team to look over this section, though, since I'm not an expert here either.
|
Oops, forgot to write in the summary box, sorry! Nice page, thanks! I like that we're linking to providing charms but also to examples of charms that do each of these. A few small comments, mostly about the Istio sentence and the examples, and I've answered your Identity question (somewhat) on that thread. Nit: "setup" -> "set up" in the PR title, since it'll be the changelog line. Thanks! |
- Reword the intro and page description. - Rename the best-practices anchor. - Point 12-factor charm users to the custom integration guide. - Drop Jenkins from the observability examples, and link to the charm tracing guide. - Add `glauth-k8s` as an LDAP provider and link "Choosing an identity solution". - Remove the Istio ingress example. - Add the page to the how-to index and the Publishing row in `docs/index.md`. - Reorder the hidden toctree to match.
|
@tonyandrewmeyer Thanks for the review. I have addressed most of the points, except:
|
dwilding
left a comment
There was a problem hiding this comment.
This is a great new doc - very clear! Don't be put off by the number of comments. Most are minor nits 🙂
benhoyt
left a comment
There was a problem hiding this comment.
Nice work on this. Looks pretty good to me -- I've read over it, though have not tested it.
|
|
||
| Integrate your charm with an object storage provider when your workload needs S3-compatible storage. Your charm declares a `requires` endpoint that uses the `s3` interface, and receives the endpoint, bucket, and credentials from the provider. | ||
|
|
||
| The main provider is [S3 Integrator](https://github.com/canonical/object-storage-integrator/blob/main/s3/README.md), which you configure with the details of an S3-compatible service. Its documentation explains how to set it up and which charm library to use. |
There was a problem hiding this comment.
The other sections name the library, and the README and charmlibs listing both recommend object-storage-charmlib, so maybe this should too?
There was a problem hiding this comment.
Thank for pointing it out. I agree. I updated the provider Charmhub link, consistent with other sections and showed the object-storage-charmlib library name explicitly.
The Charm maturity explanation page says that charms need to integrate well with the ecosystem. This PR adds a new page that extends it. It covers next steps for making a charm production-ready by supporting common integrations.
It is a summary of common topics, and links to external documentation where possible:
ingressprometheus_scrape,grafana_dashboard,loki_push_apicos_agentpostgresql_client,mysql_client,mongodb_clienttls-certificatess3oauth,ldap,samlFor each topic, it covers:
requiresorprovides).The charm maturity page now cross-references this guide.
Preview