Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Programmatically import server list #140

Open
audetto opened this issue Nov 17, 2022 · 2 comments
Open

Programmatically import server list #140

audetto opened this issue Nov 17, 2022 · 2 comments

Comments

@audetto
Copy link

audetto commented Nov 17, 2022

Feature Request

Description of Problem:

In our organisation the password used to connect to kdb servers expires every couple of days.

We have tools to regenerate the server list (json or qpad format), but all users must manually reimport it each time with numerous clicks which after a while become very tedious.

I would like to have a way to programmatically import the new server list into kdb studio settings with minimal user interaction.

Potential Solutions:

I would like to have a command line switch to import server list which does not require any click.
Or a separate main like

public static void main(String[] args) {
to do it.

@dzmipt
Copy link
Collaborator

dzmipt commented Nov 17, 2022

In your use-case, is it possible to centrally manager the server configuration? I have the following proposal (which requires development)...

I think it might be useful if the Studio loads the configuration from the remote location. The user only needs to register the remote location to load the configuration. Probably the server can return different configuration to different users (e.g. depending on their roles).

Here are a list of points/questions which makes sense to think about in such design

  • what is the protocol between the server and kdbStudio on client machines? Probably it can be REST or an ipc call to a kdb instance...
  • Does it poll (the client periodically refreshes the list) or server pushes updates? Likely the poll is better. In this case, how often it happens? May be the user can reload from his UI.
  • What happens if the user has an open tab with a server which disappeared in the configuration from the remote server
  • May be we need to support several (not a single) remote server and merge the configurations. And in addition, the user can manual add his/her own connections
  • What should be the behaviour in case server names in remote configs clashes with user defined connections ?

@audetto
Copy link
Author

audetto commented Nov 18, 2022

That would be the ultimate integration.
What worries me is that it might become a project across N teams and eventually going nowhere. And servers configuration is not so stable that can be managed centrally.

One thing I did not mention is that passwords are user-specific and there is a fully automated way for a user logged in a machine to retrieve her own password (or token if you prefer) programmatically.

If I may, I could turn your proposal upside down:

I can see in the qpad import dialog that there is a drop down "authentication method". What if I could write my own java plugin and enter a class name? implementing a get_credentials_for(server, port) method.

If this were called on each startup (or each server change), I think it could work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants