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

Build a plugin system to support other clouds #67

Open
bekbulatov opened this issue Jun 2, 2018 · 1 comment
Open

Build a plugin system to support other clouds #67

bekbulatov opened this issue Jun 2, 2018 · 1 comment

Comments

@bekbulatov
Copy link
Contributor

SSHA is limited to AWS support and I would use it with other public or private clouds.

I suggest to refactor the ssha package to separate the core and provider-specific plugins.

The core functionality (settings, menu, bastions, ssh) stays within SSHA and AWS-specific features (instance discovery, iam, ssm) can be placed in an AWS plugin. Later a GCP plugin or any other can be added. I plan to keep plugins in this repo but they can be moved out in the future.

The provider option will be added to the ssha block

ssha {
  provider = "ssha.aws"
}

It will default to AWS so no changes in settings expected from users.

Ray, what are your thoughts on it? I can do the PR.

@raymondbutcher
Copy link
Contributor

Hi Alex. Sorry for the slow response, I only just noticed this.

This sounds good to me.

My only concern is adding extra dependencies that aren't used by all providers and making it "bloated." But pip supports something like pip install ssha[gcp] (example) to split out dependencies, so we can figure something out.

Keeping it all in this repo sounds good too.

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