- CLI flags (
--domain example.com) - Environment variables (
BATON_DOMAIN=example.com) - Config files (YAML)
Standard flags (all connectors)
Every connector automatically has these flags via the SDK.Output and logging
Daemon mode (service)
Provisioning operations
Account management
Targeted sync
Opentelemetry (operators)
Environment variables
All flags map to environment variables with theBATON_ prefix:
- Prefix:
BATON_ - Dashes become underscores:
--base-dn->BATON_BASE_DN - Case insensitive:
BATON_DOMAIN=baton_domain
Config file format
Connectors can read YAML config files:- Path specified via
--configflag ./baton.yaml~/.baton/config.yaml
Field types
When building a connector, you define fields using these types:StringField
--domain example.okta.com
Env: BATON_DOMAIN=example.okta.com
BoolField
--ldaps or --ldaps=true
Env: BATON_LDAPS=true
IntField
--port 636
Env: BATON_PORT=636
StringSliceField
--skip-groups "Group1" --skip-groups "Group2"
Env: BATON_SKIP_GROUPS="Group1,Group2"
SelectField (enum)
--auth-type oauth
Field options
Required fields
required flag "api-key" not set
Secret fields
- Not printed in debug logs
- Masked as
***in GUI - Stored securely in config