-
Notifications
You must be signed in to change notification settings - Fork 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
re-organize CLI config files #727
Changes from 14 commits
3163e58
77b19da
bd0ace0
61fa486
502d70a
bd96e4c
3d7cd25
ba8d7ba
8e58b1d
55a02f7
1d20d93
c6f2632
9735b9a
d0bfb0c
0594adc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
{ | ||
"name": "oxide", | ||
"version": "0.5.0+20240502.0", | ||
"about": "Control an Oxide environment", | ||
ahl marked this conversation as resolved.
Show resolved
Hide resolved
|
||
"args": [ | ||
{ | ||
"long": "cacert", | ||
|
@@ -18,6 +19,10 @@ | |
"long": "insecure", | ||
"help": "Disable certificate validation and hostname verification" | ||
}, | ||
{ | ||
"long": "profile", | ||
"help": "Configuration profile to use for commands" | ||
}, | ||
{ | ||
"long": "resolve", | ||
"help": "Modify name resolution" | ||
|
@@ -79,8 +84,8 @@ | |
"subcommands": [ | ||
{ | ||
"name": "login", | ||
"about": "Authenticate with an Oxide host.", | ||
"long_about": "Authenticate with an Oxide host.\n\nAlternatively, pass in a token on standard input by using `--with-token`.\n\n # start interactive setup\n $ oxide auth login\n\n # authenticate against a specific Oxide instance by reading the token\n # from a file\n $ oxide auth login --with-token --host oxide.internal < mytoken.txt\n\n # authenticate with a specific Oxide instance\n $ oxide auth login --host oxide.internal\n\n # authenticate with an insecure Oxide instance (not recommended)\n $ oxide auth login --host http://oxide.internal", | ||
"about": "Authenticate with an Oxide Silo", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Will the average dev/SRE user know what a silo is? I was under the impression the term "silo" was mostly hidden from them and only really relevant to operators. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think Silo is a term that we're educating users about. Certainly it's more precise than a "host" ... which is a term of whose definition I'm very unsure. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, this is a tough one. In the web console, we generally say that for the developer user without fleet permissions, the silo is their universe and we try to avoid talking about the silo. However, we do say it right in the top left corner, and (as of recently) we call silo images "silo images". So it's not completely hidden. Notably silos are also the first thing in the key concepts guide. So I think we've definitely softened the "first rule of silos is never talk about silos" idea. https://docs.oxide.computer/guides/key-entities-and-concepts |
||
"long_about": "Authenticate with an Oxide Silo\n\n # authenticate with a specific Oxide silo\n $ oxide auth login --host oxide.internal\n\n # authenticate with an insecure Oxide silo (not recommended)\n $ oxide auth login --host http://oxide.internal", | ||
"args": [ | ||
{ | ||
"long": "browser", | ||
|
@@ -94,51 +99,30 @@ | |
{ | ||
"long": "no-browser", | ||
"help": "Print the authentication URL rather than opening a browser window" | ||
}, | ||
{ | ||
"long": "with-token", | ||
"help": "Read token from standard input" | ||
} | ||
] | ||
}, | ||
{ | ||
"name": "logout", | ||
"about": "Removes saved authentication information.", | ||
"long_about": "Removes saved authentication information.\n\nThis command does not invalidate any tokens from the hosts.", | ||
"about": "Removes saved authentication information from profiles.", | ||
"long_about": "Removes saved authentication information from profiles.\n\nThis command does not invalidate any tokens.", | ||
"args": [ | ||
{ | ||
"long": "all", | ||
"short": "a", | ||
"help": "If set, all known hosts and authentication information will be deleted" | ||
"help": "If set, authentication information from all profiles will be deleted" | ||
}, | ||
{ | ||
"long": "force", | ||
"short": "f", | ||
"help": "Skip confirmation prompt" | ||
}, | ||
{ | ||
"long": "host", | ||
"short": "H", | ||
"help": "Remove authentication information for a single host" | ||
} | ||
] | ||
}, | ||
{ | ||
"name": "status", | ||
"about": "Verifies and displays information about your authentication state.", | ||
"long_about": "Verifies and displays information about your authentication state.\n\nThis command validates the authentication state for each Oxide environment\nin the current configuration. These hosts may be from your hosts.toml file\nand/or $OXIDE_HOST environment variable.", | ||
"args": [ | ||
{ | ||
"long": "host", | ||
"short": "H", | ||
"help": "Specific hostname to validate" | ||
}, | ||
{ | ||
"long": "show-token", | ||
"short": "t", | ||
"help": "Display the auth token" | ||
} | ||
] | ||
"long_about": "Verifies and displays information about your authentication state.\n\nThis command validates the authentication state for each profile in the\ncurrent configuration." | ||
} | ||
] | ||
}, | ||
|
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.
There might not be anything to change here about this, but
20240502.0
is the API version but "v8" is the primary release version. Travis just asked me the other day whether there was a way to know in the console what release you're on. Not only is there no way to do that, but even if you did know you were on v8, there isn't a way to know that that corresponds to20240502.0
, or vice versa. It's worth noting that there is a note in the v8 release notes about 0.5.0 being the relevant CLI version.Like I said, probably a bigger problem we can't fix in the readme for the CLI, but this reminded me of the problem — something to mull over as we keep tweaking this stuff.
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.
My hope is that our docs would send you to the right CLI version and that the CLI itself will be able to point you to the right version based on a response from the server. We're going to have the generated client send the version as a header. The server response can include an indication if you're on a mismatched version (ie with work in dropshot / omicron)