* add api to check if failover node existed
* remove 5 minute peerUpdate
* update peerUpdate to trigger pull
* update Action name to SignalPull
* revert the peerUpdate from SignalPull
* fix getfailover error issue
* rm acls creation for on-prem emqx
* remove use of acls
* add additional broker status field on status api
* NET-1165: Remove creation of acls on emqx (#2996)
* rm acls creation for on-prem emqx
* remove use of acls
* add additional broker status field on status api
* comment out mq reconnect logic
* configure mq conn params
* add metric_interval in ENV for publishing metrics
* add metric_interval in ENV for publishing metrics
* update PUBLISH_METRIC_INTERVAL env name
* revert the mq setttings back
* fix error nil issue
---------
Co-authored-by: abhishek9686 <abhi281342@gmail.com>
Co-authored-by: Abhishek K <32607604+abhishek9686@users.noreply.github.com>
* move oauth from CE build block to pro
* move oauth code and api handler under pro
* move common func back to auth from pro/auth
* change log level to Info for information logs
* fix import issue
* add debug logs
* check if user exists, handle oauth not configured for host SSO
* check if user exists, handle oauth not configured for host SSO
* check if user exists, handle oauth not configured for host SSO
* quit when websocket is closed
* quit when websocket is closed
* quit when websocket is closed
* avoid sending msg onb closed channel
* add debug log
* exit when oauth state is deleted
* add debug log
* handle oauth state not valid with appropirate message
* handle oauth state not valid with appropirate message
* check for invalid oauth state
* rm debug logs
* additionl logs for oauth user flow
* add more debug logs
* add more debug logs
* add set auth secret
* fix fetch pass
* make sure auth secret is set only once
* make sure auth secret is set only once
* add pending users api
* insert user to pending users on first time oauth login
* add pending user check on headless login
* fix conflicting apis
* no records error
* add allowed emails domains for oauth singup to config
* check if user is allowed to signup
* improve oauth message prompts
* handle trial enddate error logs
* add pending users api
* insert user to pending users on first time oauth login
* add pending user check on headless login
* fix conflicting apis
* no records error
* add allowed emails domains for oauth singup to config
* check if user is allowed to signup
* block normal user login from accessing dashboard
* header change
* allow from ui header
* allow from ui header
* check for user role after decoding
* block oauth login for normal user
* handle other oauth provider callback funcs for user login
* add superadmin role, apis to create superadmin user
* apis to attach and remove user from remote access gateways
* add api to list user's remote client has gateway clients
* remove code related user groups
* remove networks and groups from user model
* refactor user CRUD operations
* fix network permission test
* add superadmin to authorize func
* remove user network and groups from cli
* api to transfer superadmin role
* add api to list users on a ingress gw
* restrict user access to resources on server
* deny request from remote access client if extclient is already created
* fix user tests
* fix static checks
* fix static checks
* add limits to extclient create handler
* set username to superadmin on if masterkey is used
* allow creation of extclients using masterkey
* add migration func to assign superadmin role for existing admin user
* check for superadmin on migration if users are present
* allowe masterkey to extcleint apis
* check ownerid
* format error, on jwt token verification failure return unauthorized rather than forbidden
* user update fix
* move user remote functionality to ee
* fix update user api
* security patch
* initalise ee user handlers
* allow user to use master key to update any user
* use slog
* fix auth user test
* table headers
* remove user role, it's covered in middleware
* setuser defaults fix
- Avoid referencing conditions we know are false/true
- Avoid using name of imported package as variable
- Avoid broken (see list item 1) if else statement in `ipservice.go` by refactoring to switch statement
- When assigning a pointer value to a variable along with an error, check that error before referencing that pointer. Thus avoiding de-referencing a nil and causing a panic.
*** This item is the most important ***
- Standard gofmt package sorting + linting; This includes fixing comment starts for go doc
- Explicit non-handling of unhandled errors where appropriate (assigning errs to _ to reduce linter screaming)
- Export ErrExpired in `netcache` package so that we can properly reference it using `errors.Is` instead of using `strings.Contains` against an `error.Error()` value