I think it would be an interesting idea to explore, just note SpiceDB is no replacement for an authentication service, it's for authorization. You probably want to introduce something like SAML/OpenID Connect for authentication, and then SpiceDB for authorization, but that would require investigating how to plug in custom authorization modules into Argo. It seems to be embedding dex for authentication, which gives you plenty of options for the authN side of things:
https://github.com/dexidp/dex
As far as I can tell in their docs, they have an authentication and authorization component:
https://argo-cd.readthedocs.io/en/stable/developer-guide/architecture/authz-authn/
The authorization component already uses casbin:
https://github.com/casbin/casbin. So you'd have to look into ArgoCD codebase and investigate how to replace casbin with SpiceDB. My guess is that's a non-trivial amount of work, but would be a good candidate for opensourcing it. You can learn more about Argo's RBAC here:
https://argo-cd.readthedocs.io/en/stable/operator-manual/rbac/
Do you guys have a platform engineering team that does employee authorization using SpiceDB already, and so that's why your fellow senior engineers recommended you to look into it? Otherwise I'm not sure to understand why going down what appears to me some non-trivial amount of work to replace casbin with SpiceDB without answering first
why. Is there something about Argo's out of the box authorization that does not work for you guys? If you just want ArgoCD running for your internal teams, leveraging what's in place in Argo is likely a good idea, unless you have very clear specific requirements to use SpiceDB here.
https://cdn.discordapp.com/attachments/1252214761693904918/1252545000181334016/argocd-arch-authn-authz.png?ex=66729aef&is=6671496f&hm=08dded6e75863fd5c9e1a88bb424c20dbb08be300eb2e70966a22ed21159e64a&