Dex's configurations (e.g. IdP to connect to and its own config, staticPasswords, passwordDB, etc.) are done via connector configurations. These files are in yaml format and contain information that tells Dex how it should be configured for Authentication. An example of this is the GitHub connector.
Our current dex-auth-operator has a charm configuration option to pass connectors (I guess a yaml file in str format), which can be leveraged.
Proposal
To change a little bit how we configure Dex. Instead of going straight to setting up a static user and password, we ask users to provide a connector config. This applies to static configurations as well.
Potential tasks
We should revisit our charm code to ensure that applying a connector config will override whatever we have rn in the charm, and if not, make the corresponding changes (probably for 1.8?).
We probably want to completely remove the static config from dex-auth-operator. This will change the UX as we will have to pass a "dev" connector, like this one, to keep using dex the way we are used to, or really step up with new IdPs. This is done in upstream already.
Add instructions to the docs for setting up a connector.
Dex's configurations (e.g. IdP to connect to and its own config, staticPasswords, passwordDB, etc.) are done via connector configurations. These files are in
yaml
format and contain information that tells Dex how it should be configured for Authentication. An example of this is the GitHub connector. Our currentdex-auth-operator
has a charm configuration option to pass connectors (I guess a yaml file in str format), which can be leveraged.Proposal
To change a little bit how we configure Dex. Instead of going straight to setting up a static user and password, we ask users to provide a connector config. This applies to static configurations as well.
Potential tasks