-
Notifications
You must be signed in to change notification settings - Fork 6
docker-machine-driver-triton#13 Made machine driver compatible with Rancher #14
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
base: master
Are you sure you want to change the base?
Conversation
…pass in the private SSH key as a base64 encoded string
bahamat
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good, but I'd like to see some test output in both rancher and non-rancher configurations, just to make sure we aren't breaking any existing users.
Sound good, I should be able to get to that in the next few days. |
|
@bahamat Here is the rancher log snippet from creating a new Triton node via the Rancher UI: and here is what I saw in the process tree: The VM was successfully created by Rancher: |
|
Here is the output from using But it appears to have succeeded despite the error in the output: The only difference is that in Rancher |
|
I checked the docker machine source code and it runs And then it does a regex match against the output for the docker port which doesn't find a match because by default the docker daemon only listens on a unix socket and not on tcp: So that explains why it thinks Docker isn't running but it is. I'm just not sure how the rancher machine version gets around this because looking at the source code it appears to do the same thing but it must handle it differently/correctly. |
|
Looks like this is an issue that was never closed in the docker machine repo: The docker service invocations has Anyway, @bahamat my changes in this pull request don't seem to have any negative impact as far as I can tell. |
|
I ran the same test with the driver from the master branch and the same issue occurs which confirms that my changes didn't introduce this issue: This also confirms that my changes don't break the existing functionality when used without the new |
…ion not to validate the CloudAPI SSL certificate in development setups.
Specifying a single tag is functionally the same as node-triton's `-t` argument, Multiple tags can be specified in a comma-delimited format, such as `<tag1>=<value1>,<tag2>=<value2>`.
Modernized dependency management and fixed OpenSSH key support - Migrated from deprecated dep to Go modules for better dependency management - Upgraded triton-go from v0.2.0 (2017) to v1.8.6 (2023) which includes modern OpenSSH private key format support - Updated authentication API calls to use new PrivateKeySignerInput and SSHAgentSignerInput structures - Updated import paths from github.com/joyent to github.com/TritonDataCenter following repository migration - Replaced deprecated ioutil.ReadFile with os.ReadFile - Removed old vendor directory and dep configuration files (Gopkg.toml, Gopkg.lock) This resolves SSH connection failures when users have modern OpenSSH format keys (BEGIN OPENSSH PRIVATE KEY) that were unsupported by the previous triton-go version which only handled legacy RSA format keys (BEGIN RSA PRIVATE KEY).
…hen acting as another user
…from signers
The Username field in PrivateKeySignerInput and SSHAgentSignerInput was causing authentication failures ("InvalidCredentials: Invalid authorization credentials") when using "act as" functionality with admin accounts acting on behalf of target accounts in Rancher. Commenting out Username from signers and relying on ClientConfig.AccountName for "act as" functionality restores the working behavior from before the triton-go upgrade.
🤖 Generated with [Claude Code](https://claude.ai/code)
Ignore the docker-machine-driver-triton binary output to keep it out of version control. 🤖 Generated with [Claude Code](https://claude.ai/code)
Provides guidance to Claude Code instances working in this repository, including build commands, architecture overview, and key configuration patterns for the Docker Machine driver. 🤖 Generated with [Claude Code](https://claude.ai/code)
Details in #13.