mirror of https://github.com/coder/coder.git
chore: Invert `delay_login_until_ready`, now `login_before_ready` (#5893)
This commit is contained in:
parent
8a5760a2fe
commit
981cac5e28
4
Makefile
4
Makefile
|
@ -494,10 +494,10 @@ docs/admin/prometheus.md: scripts/metricsdocgen/main.go scripts/metricsdocgen/me
|
||||||
cd site
|
cd site
|
||||||
yarn run format:write:only ../docs/admin/prometheus.md
|
yarn run format:write:only ../docs/admin/prometheus.md
|
||||||
|
|
||||||
docs/cli/coder.md: scripts/clidocgen/main.go $(shell find ./cli/ -type f)
|
docs/cli/coder.md: scripts/clidocgen/main.go $(GO_SRC_FILES) docs/manifest.json
|
||||||
BASE_PATH="." go run scripts/clidocgen/main.go
|
BASE_PATH="." go run scripts/clidocgen/main.go
|
||||||
cd site
|
cd site
|
||||||
yarn run format:write:only ../docs/cli/**.md
|
yarn run format:write:only ../docs/cli/*.md ../docs/manifest.json
|
||||||
|
|
||||||
docs/admin/audit-logs.md: scripts/auditdocgen/main.go enterprise/audit/table.go
|
docs/admin/audit-logs.md: scripts/auditdocgen/main.go enterprise/audit/table.go
|
||||||
go run scripts/auditdocgen/main.go
|
go run scripts/auditdocgen/main.go
|
||||||
|
|
|
@ -45,7 +45,7 @@ func Agent(ctx context.Context, writer io.Writer, opts AgentOptions) error {
|
||||||
// We don't take the fast path for opts.NoWait yet because we want to
|
// We don't take the fast path for opts.NoWait yet because we want to
|
||||||
// show the message.
|
// show the message.
|
||||||
if agent.Status == codersdk.WorkspaceAgentConnected &&
|
if agent.Status == codersdk.WorkspaceAgentConnected &&
|
||||||
(!agent.DelayLoginUntilReady || agent.LifecycleState == codersdk.WorkspaceAgentLifecycleReady) {
|
(agent.LoginBeforeReady || agent.LifecycleState == codersdk.WorkspaceAgentLifecycleReady) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ func Agent(ctx context.Context, writer io.Writer, opts AgentOptions) error {
|
||||||
// we do this just before starting the spinner to avoid needless
|
// we do this just before starting the spinner to avoid needless
|
||||||
// spinning.
|
// spinning.
|
||||||
if agent.Status == codersdk.WorkspaceAgentConnected &&
|
if agent.Status == codersdk.WorkspaceAgentConnected &&
|
||||||
agent.DelayLoginUntilReady && opts.NoWait {
|
!agent.LoginBeforeReady && opts.NoWait {
|
||||||
showMessage()
|
showMessage()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -137,7 +137,7 @@ func Agent(ctx context.Context, writer io.Writer, opts AgentOptions) error {
|
||||||
// NOTE(mafredri): Once we have access to the workspace agent's
|
// NOTE(mafredri): Once we have access to the workspace agent's
|
||||||
// startup script logs, we can show them here.
|
// startup script logs, we can show them here.
|
||||||
// https://github.com/coder/coder/issues/2957
|
// https://github.com/coder/coder/issues/2957
|
||||||
if agent.DelayLoginUntilReady && !opts.NoWait {
|
if !agent.LoginBeforeReady && !opts.NoWait {
|
||||||
switch agent.LifecycleState {
|
switch agent.LifecycleState {
|
||||||
case codersdk.WorkspaceAgentLifecycleReady:
|
case codersdk.WorkspaceAgentLifecycleReady:
|
||||||
return nil
|
return nil
|
||||||
|
@ -176,7 +176,7 @@ func waitingMessage(agent codersdk.WorkspaceAgent, opts AgentOptions) (m *messag
|
||||||
Prompt: "Don't panic, your workspace is booting up!",
|
Prompt: "Don't panic, your workspace is booting up!",
|
||||||
}
|
}
|
||||||
defer func() {
|
defer func() {
|
||||||
if opts.NoWait {
|
if agent.Status == codersdk.WorkspaceAgentConnected && opts.NoWait {
|
||||||
m.Spin = ""
|
m.Spin = ""
|
||||||
}
|
}
|
||||||
if m.Spin != "" {
|
if m.Spin != "" {
|
||||||
|
|
|
@ -31,6 +31,7 @@ func TestAgent(t *testing.T) {
|
||||||
Fetch: func(_ context.Context) (codersdk.WorkspaceAgent, error) {
|
Fetch: func(_ context.Context) (codersdk.WorkspaceAgent, error) {
|
||||||
agent := codersdk.WorkspaceAgent{
|
agent := codersdk.WorkspaceAgent{
|
||||||
Status: codersdk.WorkspaceAgentDisconnected,
|
Status: codersdk.WorkspaceAgentDisconnected,
|
||||||
|
LoginBeforeReady: true,
|
||||||
}
|
}
|
||||||
if disconnected.Load() {
|
if disconnected.Load() {
|
||||||
agent.Status = codersdk.WorkspaceAgentConnected
|
agent.Status = codersdk.WorkspaceAgentConnected
|
||||||
|
@ -73,6 +74,7 @@ func TestAgent_TimeoutWithTroubleshootingURL(t *testing.T) {
|
||||||
agent := codersdk.WorkspaceAgent{
|
agent := codersdk.WorkspaceAgent{
|
||||||
Status: codersdk.WorkspaceAgentConnecting,
|
Status: codersdk.WorkspaceAgentConnecting,
|
||||||
TroubleshootingURL: wantURL,
|
TroubleshootingURL: wantURL,
|
||||||
|
LoginBeforeReady: true,
|
||||||
}
|
}
|
||||||
switch {
|
switch {
|
||||||
case !connected.Load() && timeout.Load():
|
case !connected.Load() && timeout.Load():
|
||||||
|
@ -120,7 +122,7 @@ func TestAgent_StartupTimeout(t *testing.T) {
|
||||||
Fetch: func(_ context.Context) (codersdk.WorkspaceAgent, error) {
|
Fetch: func(_ context.Context) (codersdk.WorkspaceAgent, error) {
|
||||||
agent := codersdk.WorkspaceAgent{
|
agent := codersdk.WorkspaceAgent{
|
||||||
Status: codersdk.WorkspaceAgentConnecting,
|
Status: codersdk.WorkspaceAgentConnecting,
|
||||||
DelayLoginUntilReady: true,
|
LoginBeforeReady: false,
|
||||||
LifecycleState: codersdk.WorkspaceAgentLifecycleCreated,
|
LifecycleState: codersdk.WorkspaceAgentLifecycleCreated,
|
||||||
TroubleshootingURL: wantURL,
|
TroubleshootingURL: wantURL,
|
||||||
}
|
}
|
||||||
|
@ -178,7 +180,7 @@ func TestAgent_StartErrorExit(t *testing.T) {
|
||||||
Fetch: func(_ context.Context) (codersdk.WorkspaceAgent, error) {
|
Fetch: func(_ context.Context) (codersdk.WorkspaceAgent, error) {
|
||||||
agent := codersdk.WorkspaceAgent{
|
agent := codersdk.WorkspaceAgent{
|
||||||
Status: codersdk.WorkspaceAgentConnecting,
|
Status: codersdk.WorkspaceAgentConnecting,
|
||||||
DelayLoginUntilReady: true,
|
LoginBeforeReady: false,
|
||||||
LifecycleState: codersdk.WorkspaceAgentLifecycleCreated,
|
LifecycleState: codersdk.WorkspaceAgentLifecycleCreated,
|
||||||
TroubleshootingURL: wantURL,
|
TroubleshootingURL: wantURL,
|
||||||
}
|
}
|
||||||
|
@ -233,7 +235,7 @@ func TestAgent_NoWait(t *testing.T) {
|
||||||
Fetch: func(_ context.Context) (codersdk.WorkspaceAgent, error) {
|
Fetch: func(_ context.Context) (codersdk.WorkspaceAgent, error) {
|
||||||
agent := codersdk.WorkspaceAgent{
|
agent := codersdk.WorkspaceAgent{
|
||||||
Status: codersdk.WorkspaceAgentConnecting,
|
Status: codersdk.WorkspaceAgentConnecting,
|
||||||
DelayLoginUntilReady: true,
|
LoginBeforeReady: false,
|
||||||
LifecycleState: codersdk.WorkspaceAgentLifecycleCreated,
|
LifecycleState: codersdk.WorkspaceAgentLifecycleCreated,
|
||||||
TroubleshootingURL: wantURL,
|
TroubleshootingURL: wantURL,
|
||||||
}
|
}
|
||||||
|
@ -284,7 +286,7 @@ func TestAgent_NoWait(t *testing.T) {
|
||||||
require.NoError(t, <-done, "ready - should exit early")
|
require.NoError(t, <-done, "ready - should exit early")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestAgent_DelayLoginUntilReadyDisabled(t *testing.T) {
|
func TestAgent_LoginBeforeReadyEnabled(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort)
|
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort)
|
||||||
|
@ -302,7 +304,7 @@ func TestAgent_DelayLoginUntilReadyDisabled(t *testing.T) {
|
||||||
Fetch: func(_ context.Context) (codersdk.WorkspaceAgent, error) {
|
Fetch: func(_ context.Context) (codersdk.WorkspaceAgent, error) {
|
||||||
agent := codersdk.WorkspaceAgent{
|
agent := codersdk.WorkspaceAgent{
|
||||||
Status: codersdk.WorkspaceAgentConnecting,
|
Status: codersdk.WorkspaceAgentConnecting,
|
||||||
DelayLoginUntilReady: false,
|
LoginBeforeReady: true,
|
||||||
LifecycleState: codersdk.WorkspaceAgentLifecycleCreated,
|
LifecycleState: codersdk.WorkspaceAgentLifecycleCreated,
|
||||||
TroubleshootingURL: wantURL,
|
TroubleshootingURL: wantURL,
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ func TestWorkspaceResources(t *testing.T) {
|
||||||
Agents: []codersdk.WorkspaceAgent{{
|
Agents: []codersdk.WorkspaceAgent{{
|
||||||
Name: "dev",
|
Name: "dev",
|
||||||
Status: codersdk.WorkspaceAgentConnected,
|
Status: codersdk.WorkspaceAgentConnected,
|
||||||
|
LifecycleState: codersdk.WorkspaceAgentLifecycleCreated,
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
OperatingSystem: "linux",
|
OperatingSystem: "linux",
|
||||||
}},
|
}},
|
||||||
|
@ -60,6 +61,7 @@ func TestWorkspaceResources(t *testing.T) {
|
||||||
Agents: []codersdk.WorkspaceAgent{{
|
Agents: []codersdk.WorkspaceAgent{{
|
||||||
CreatedAt: database.Now().Add(-10 * time.Second),
|
CreatedAt: database.Now().Add(-10 * time.Second),
|
||||||
Status: codersdk.WorkspaceAgentConnecting,
|
Status: codersdk.WorkspaceAgentConnecting,
|
||||||
|
LifecycleState: codersdk.WorkspaceAgentLifecycleCreated,
|
||||||
Name: "dev",
|
Name: "dev",
|
||||||
OperatingSystem: "linux",
|
OperatingSystem: "linux",
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
|
@ -70,12 +72,14 @@ func TestWorkspaceResources(t *testing.T) {
|
||||||
Name: "dev",
|
Name: "dev",
|
||||||
Agents: []codersdk.WorkspaceAgent{{
|
Agents: []codersdk.WorkspaceAgent{{
|
||||||
Status: codersdk.WorkspaceAgentConnected,
|
Status: codersdk.WorkspaceAgentConnected,
|
||||||
|
LifecycleState: codersdk.WorkspaceAgentLifecycleReady,
|
||||||
Name: "go",
|
Name: "go",
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
OperatingSystem: "linux",
|
OperatingSystem: "linux",
|
||||||
}, {
|
}, {
|
||||||
DisconnectedAt: &disconnected,
|
DisconnectedAt: &disconnected,
|
||||||
Status: codersdk.WorkspaceAgentDisconnected,
|
Status: codersdk.WorkspaceAgentDisconnected,
|
||||||
|
LifecycleState: codersdk.WorkspaceAgentLifecycleReady,
|
||||||
Name: "postgres",
|
Name: "postgres",
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
OperatingSystem: "linux",
|
OperatingSystem: "linux",
|
||||||
|
|
|
@ -250,7 +250,7 @@ func ssh() *cobra.Command {
|
||||||
cliflag.BoolVarP(cmd.Flags(), &forwardGPG, "forward-gpg", "G", "CODER_SSH_FORWARD_GPG", false, "Specifies whether to forward the GPG agent. Unsupported on Windows workspaces, but supports all clients. Requires gnupg (gpg, gpgconf) on both the client and workspace. The GPG agent must already be running locally and will not be started for you. If a GPG agent is already running in the workspace, it will be attempted to be killed.")
|
cliflag.BoolVarP(cmd.Flags(), &forwardGPG, "forward-gpg", "G", "CODER_SSH_FORWARD_GPG", false, "Specifies whether to forward the GPG agent. Unsupported on Windows workspaces, but supports all clients. Requires gnupg (gpg, gpgconf) on both the client and workspace. The GPG agent must already be running locally and will not be started for you. If a GPG agent is already running in the workspace, it will be attempted to be killed.")
|
||||||
cliflag.StringVarP(cmd.Flags(), &identityAgent, "identity-agent", "", "CODER_SSH_IDENTITY_AGENT", "", "Specifies which identity agent to use (overrides $SSH_AUTH_SOCK), forward agent must also be enabled")
|
cliflag.StringVarP(cmd.Flags(), &identityAgent, "identity-agent", "", "CODER_SSH_IDENTITY_AGENT", "", "Specifies which identity agent to use (overrides $SSH_AUTH_SOCK), forward agent must also be enabled")
|
||||||
cliflag.DurationVarP(cmd.Flags(), &wsPollInterval, "workspace-poll-interval", "", "CODER_WORKSPACE_POLL_INTERVAL", workspacePollInterval, "Specifies how often to poll for workspace automated shutdown.")
|
cliflag.DurationVarP(cmd.Flags(), &wsPollInterval, "workspace-poll-interval", "", "CODER_WORKSPACE_POLL_INTERVAL", workspacePollInterval, "Specifies how often to poll for workspace automated shutdown.")
|
||||||
cliflag.BoolVarP(cmd.Flags(), &noWait, "no-wait", "", "CODER_SSH_NO_WAIT", false, "Specifies whether to wait for a workspace to become ready before logging in (only applicable when the delay login until ready option is enabled). Note that the workspace agent may still be in the process of executing the startup script and the workspace may be in an incomplete state.")
|
cliflag.BoolVarP(cmd.Flags(), &noWait, "no-wait", "", "CODER_SSH_NO_WAIT", false, "Specifies whether to wait for a workspace to become ready before logging in (only applicable when the login before ready option has not been enabled). Note that the workspace agent may still be in the process of executing the startup script and the workspace may be in an incomplete state.")
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,8 @@ Flags:
|
||||||
Consumes $CODER_SSH_IDENTITY_AGENT
|
Consumes $CODER_SSH_IDENTITY_AGENT
|
||||||
--no-wait Specifies whether to wait for a workspace to become
|
--no-wait Specifies whether to wait for a workspace to become
|
||||||
ready before logging in (only applicable when the
|
ready before logging in (only applicable when the
|
||||||
delay login until ready option is enabled). Note
|
login before ready option has not been enabled).
|
||||||
that the workspace agent may still be in the
|
Note that the workspace agent may still be in the
|
||||||
process of executing the startup script and the
|
process of executing the startup script and the
|
||||||
workspace may be in an incomplete state.
|
workspace may be in an incomplete state.
|
||||||
Consumes $CODER_SSH_NO_WAIT
|
Consumes $CODER_SSH_NO_WAIT
|
||||||
|
|
|
@ -164,6 +164,7 @@ func main() {
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
agent := codersdk.WorkspaceAgent{
|
agent := codersdk.WorkspaceAgent{
|
||||||
Status: codersdk.WorkspaceAgentDisconnected,
|
Status: codersdk.WorkspaceAgentDisconnected,
|
||||||
|
LifecycleState: codersdk.WorkspaceAgentLifecycleReady,
|
||||||
}
|
}
|
||||||
go func() {
|
go func() {
|
||||||
time.Sleep(3 * time.Second)
|
time.Sleep(3 * time.Second)
|
||||||
|
@ -203,6 +204,7 @@ func main() {
|
||||||
Agents: []codersdk.WorkspaceAgent{{
|
Agents: []codersdk.WorkspaceAgent{{
|
||||||
CreatedAt: database.Now().Add(-10 * time.Second),
|
CreatedAt: database.Now().Add(-10 * time.Second),
|
||||||
Status: codersdk.WorkspaceAgentConnecting,
|
Status: codersdk.WorkspaceAgentConnecting,
|
||||||
|
LifecycleState: codersdk.WorkspaceAgentLifecycleCreated,
|
||||||
Name: "dev",
|
Name: "dev",
|
||||||
OperatingSystem: "linux",
|
OperatingSystem: "linux",
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
|
@ -213,12 +215,14 @@ func main() {
|
||||||
Name: "dev",
|
Name: "dev",
|
||||||
Agents: []codersdk.WorkspaceAgent{{
|
Agents: []codersdk.WorkspaceAgent{{
|
||||||
Status: codersdk.WorkspaceAgentConnected,
|
Status: codersdk.WorkspaceAgentConnected,
|
||||||
|
LifecycleState: codersdk.WorkspaceAgentLifecycleReady,
|
||||||
Name: "go",
|
Name: "go",
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
OperatingSystem: "linux",
|
OperatingSystem: "linux",
|
||||||
}, {
|
}, {
|
||||||
DisconnectedAt: &disconnected,
|
DisconnectedAt: &disconnected,
|
||||||
Status: codersdk.WorkspaceAgentDisconnected,
|
Status: codersdk.WorkspaceAgentDisconnected,
|
||||||
|
LifecycleState: codersdk.WorkspaceAgentLifecycleReady,
|
||||||
Name: "postgres",
|
Name: "postgres",
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
OperatingSystem: "linux",
|
OperatingSystem: "linux",
|
||||||
|
|
|
@ -7770,10 +7770,6 @@ const docTemplate = `{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"format": "date-time"
|
"format": "date-time"
|
||||||
},
|
},
|
||||||
"delay_login_until_ready": {
|
|
||||||
"description": "DelayLoginUntilReady if true, the agent will delay logins until it is ready (e.g. executing startup script has ended).",
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"directory": {
|
"directory": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
@ -7812,6 +7808,10 @@ const docTemplate = `{
|
||||||
"lifecycle_state": {
|
"lifecycle_state": {
|
||||||
"$ref": "#/definitions/codersdk.WorkspaceAgentLifecycle"
|
"$ref": "#/definitions/codersdk.WorkspaceAgentLifecycle"
|
||||||
},
|
},
|
||||||
|
"login_before_ready": {
|
||||||
|
"description": "LoginBeforeReady if true, the agent will delay logins until it is ready (e.g. executing startup script has ended).",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
"name": {
|
"name": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
|
|
@ -6985,10 +6985,6 @@
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"format": "date-time"
|
"format": "date-time"
|
||||||
},
|
},
|
||||||
"delay_login_until_ready": {
|
|
||||||
"description": "DelayLoginUntilReady if true, the agent will delay logins until it is ready (e.g. executing startup script has ended).",
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"directory": {
|
"directory": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
@ -7027,6 +7023,10 @@
|
||||||
"lifecycle_state": {
|
"lifecycle_state": {
|
||||||
"$ref": "#/definitions/codersdk.WorkspaceAgentLifecycle"
|
"$ref": "#/definitions/codersdk.WorkspaceAgentLifecycle"
|
||||||
},
|
},
|
||||||
|
"login_before_ready": {
|
||||||
|
"description": "LoginBeforeReady if true, the agent will delay logins until it is ready (e.g. executing startup script has ended).",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
"name": {
|
"name": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
|
|
@ -461,7 +461,7 @@ CREATE TABLE workspace_agents (
|
||||||
troubleshooting_url text DEFAULT ''::text NOT NULL,
|
troubleshooting_url text DEFAULT ''::text NOT NULL,
|
||||||
motd_file text DEFAULT ''::text NOT NULL,
|
motd_file text DEFAULT ''::text NOT NULL,
|
||||||
lifecycle_state workspace_agent_lifecycle_state DEFAULT 'created'::workspace_agent_lifecycle_state NOT NULL,
|
lifecycle_state workspace_agent_lifecycle_state DEFAULT 'created'::workspace_agent_lifecycle_state NOT NULL,
|
||||||
delay_login_until_ready boolean DEFAULT false NOT NULL,
|
login_before_ready boolean DEFAULT true NOT NULL,
|
||||||
startup_script_timeout_seconds integer DEFAULT 0 NOT NULL
|
startup_script_timeout_seconds integer DEFAULT 0 NOT NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -475,7 +475,7 @@ COMMENT ON COLUMN workspace_agents.motd_file IS 'Path to file inside workspace c
|
||||||
|
|
||||||
COMMENT ON COLUMN workspace_agents.lifecycle_state IS 'The current lifecycle state reported by the workspace agent.';
|
COMMENT ON COLUMN workspace_agents.lifecycle_state IS 'The current lifecycle state reported by the workspace agent.';
|
||||||
|
|
||||||
COMMENT ON COLUMN workspace_agents.delay_login_until_ready IS 'If true, the agent will delay logins until it is ready (e.g. executing startup script has ended).';
|
COMMENT ON COLUMN workspace_agents.login_before_ready IS 'If true, the agent will not prevent login before it is ready (e.g. startup script is still executing).';
|
||||||
|
|
||||||
COMMENT ON COLUMN workspace_agents.startup_script_timeout_seconds IS 'The number of seconds to wait for the startup script to complete. If the script does not complete within this time, the agent lifecycle will be marked as start_timeout.';
|
COMMENT ON COLUMN workspace_agents.startup_script_timeout_seconds IS 'The number of seconds to wait for the startup script to complete. If the script does not complete within this time, the agent lifecycle will be marked as start_timeout.';
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
BEGIN;
|
||||||
|
ALTER TABLE workspace_agents RENAME COLUMN login_before_ready TO delay_login_until_ready;
|
||||||
|
ALTER TABLE workspace_agents ALTER COLUMN delay_login_until_ready SET DEFAULT false;
|
||||||
|
|
||||||
|
UPDATE workspace_agents SET delay_login_until_ready = NOT delay_login_until_ready;
|
||||||
|
|
||||||
|
COMMENT ON COLUMN workspace_agents.delay_login_until_ready IS 'If true, the agent will delay logins until it is ready (e.g. executing startup script has ended).';
|
||||||
|
COMMIT;
|
|
@ -0,0 +1,8 @@
|
||||||
|
BEGIN;
|
||||||
|
ALTER TABLE workspace_agents RENAME COLUMN delay_login_until_ready TO login_before_ready;
|
||||||
|
ALTER TABLE workspace_agents ALTER COLUMN login_before_ready SET DEFAULT true;
|
||||||
|
|
||||||
|
UPDATE workspace_agents SET login_before_ready = NOT login_before_ready;
|
||||||
|
|
||||||
|
COMMENT ON COLUMN workspace_agents.login_before_ready IS 'If true, the agent will not prevent login before it is ready (e.g. startup script is still executing).';
|
||||||
|
COMMIT;
|
|
@ -1519,8 +1519,8 @@ type WorkspaceAgent struct {
|
||||||
MOTDFile string `db:"motd_file" json:"motd_file"`
|
MOTDFile string `db:"motd_file" json:"motd_file"`
|
||||||
// The current lifecycle state reported by the workspace agent.
|
// The current lifecycle state reported by the workspace agent.
|
||||||
LifecycleState WorkspaceAgentLifecycleState `db:"lifecycle_state" json:"lifecycle_state"`
|
LifecycleState WorkspaceAgentLifecycleState `db:"lifecycle_state" json:"lifecycle_state"`
|
||||||
// If true, the agent will delay logins until it is ready (e.g. executing startup script has ended).
|
// If true, the agent will not prevent login before it is ready (e.g. startup script is still executing).
|
||||||
DelayLoginUntilReady bool `db:"delay_login_until_ready" json:"delay_login_until_ready"`
|
LoginBeforeReady bool `db:"login_before_ready" json:"login_before_ready"`
|
||||||
// The number of seconds to wait for the startup script to complete. If the script does not complete within this time, the agent lifecycle will be marked as start_timeout.
|
// The number of seconds to wait for the startup script to complete. If the script does not complete within this time, the agent lifecycle will be marked as start_timeout.
|
||||||
StartupScriptTimeoutSeconds int32 `db:"startup_script_timeout_seconds" json:"startup_script_timeout_seconds"`
|
StartupScriptTimeoutSeconds int32 `db:"startup_script_timeout_seconds" json:"startup_script_timeout_seconds"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -4840,7 +4840,7 @@ func (q *sqlQuerier) UpdateUserStatus(ctx context.Context, arg UpdateUserStatusP
|
||||||
|
|
||||||
const getWorkspaceAgentByAuthToken = `-- name: GetWorkspaceAgentByAuthToken :one
|
const getWorkspaceAgentByAuthToken = `-- name: GetWorkspaceAgentByAuthToken :one
|
||||||
SELECT
|
SELECT
|
||||||
id, created_at, updated_at, name, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, architecture, environment_variables, operating_system, startup_script, instance_metadata, resource_metadata, directory, version, last_connected_replica_id, connection_timeout_seconds, troubleshooting_url, motd_file, lifecycle_state, delay_login_until_ready, startup_script_timeout_seconds
|
id, created_at, updated_at, name, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, architecture, environment_variables, operating_system, startup_script, instance_metadata, resource_metadata, directory, version, last_connected_replica_id, connection_timeout_seconds, troubleshooting_url, motd_file, lifecycle_state, login_before_ready, startup_script_timeout_seconds
|
||||||
FROM
|
FROM
|
||||||
workspace_agents
|
workspace_agents
|
||||||
WHERE
|
WHERE
|
||||||
|
@ -4876,7 +4876,7 @@ func (q *sqlQuerier) GetWorkspaceAgentByAuthToken(ctx context.Context, authToken
|
||||||
&i.TroubleshootingURL,
|
&i.TroubleshootingURL,
|
||||||
&i.MOTDFile,
|
&i.MOTDFile,
|
||||||
&i.LifecycleState,
|
&i.LifecycleState,
|
||||||
&i.DelayLoginUntilReady,
|
&i.LoginBeforeReady,
|
||||||
&i.StartupScriptTimeoutSeconds,
|
&i.StartupScriptTimeoutSeconds,
|
||||||
)
|
)
|
||||||
return i, err
|
return i, err
|
||||||
|
@ -4884,7 +4884,7 @@ func (q *sqlQuerier) GetWorkspaceAgentByAuthToken(ctx context.Context, authToken
|
||||||
|
|
||||||
const getWorkspaceAgentByID = `-- name: GetWorkspaceAgentByID :one
|
const getWorkspaceAgentByID = `-- name: GetWorkspaceAgentByID :one
|
||||||
SELECT
|
SELECT
|
||||||
id, created_at, updated_at, name, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, architecture, environment_variables, operating_system, startup_script, instance_metadata, resource_metadata, directory, version, last_connected_replica_id, connection_timeout_seconds, troubleshooting_url, motd_file, lifecycle_state, delay_login_until_ready, startup_script_timeout_seconds
|
id, created_at, updated_at, name, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, architecture, environment_variables, operating_system, startup_script, instance_metadata, resource_metadata, directory, version, last_connected_replica_id, connection_timeout_seconds, troubleshooting_url, motd_file, lifecycle_state, login_before_ready, startup_script_timeout_seconds
|
||||||
FROM
|
FROM
|
||||||
workspace_agents
|
workspace_agents
|
||||||
WHERE
|
WHERE
|
||||||
|
@ -4918,7 +4918,7 @@ func (q *sqlQuerier) GetWorkspaceAgentByID(ctx context.Context, id uuid.UUID) (W
|
||||||
&i.TroubleshootingURL,
|
&i.TroubleshootingURL,
|
||||||
&i.MOTDFile,
|
&i.MOTDFile,
|
||||||
&i.LifecycleState,
|
&i.LifecycleState,
|
||||||
&i.DelayLoginUntilReady,
|
&i.LoginBeforeReady,
|
||||||
&i.StartupScriptTimeoutSeconds,
|
&i.StartupScriptTimeoutSeconds,
|
||||||
)
|
)
|
||||||
return i, err
|
return i, err
|
||||||
|
@ -4926,7 +4926,7 @@ func (q *sqlQuerier) GetWorkspaceAgentByID(ctx context.Context, id uuid.UUID) (W
|
||||||
|
|
||||||
const getWorkspaceAgentByInstanceID = `-- name: GetWorkspaceAgentByInstanceID :one
|
const getWorkspaceAgentByInstanceID = `-- name: GetWorkspaceAgentByInstanceID :one
|
||||||
SELECT
|
SELECT
|
||||||
id, created_at, updated_at, name, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, architecture, environment_variables, operating_system, startup_script, instance_metadata, resource_metadata, directory, version, last_connected_replica_id, connection_timeout_seconds, troubleshooting_url, motd_file, lifecycle_state, delay_login_until_ready, startup_script_timeout_seconds
|
id, created_at, updated_at, name, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, architecture, environment_variables, operating_system, startup_script, instance_metadata, resource_metadata, directory, version, last_connected_replica_id, connection_timeout_seconds, troubleshooting_url, motd_file, lifecycle_state, login_before_ready, startup_script_timeout_seconds
|
||||||
FROM
|
FROM
|
||||||
workspace_agents
|
workspace_agents
|
||||||
WHERE
|
WHERE
|
||||||
|
@ -4962,7 +4962,7 @@ func (q *sqlQuerier) GetWorkspaceAgentByInstanceID(ctx context.Context, authInst
|
||||||
&i.TroubleshootingURL,
|
&i.TroubleshootingURL,
|
||||||
&i.MOTDFile,
|
&i.MOTDFile,
|
||||||
&i.LifecycleState,
|
&i.LifecycleState,
|
||||||
&i.DelayLoginUntilReady,
|
&i.LoginBeforeReady,
|
||||||
&i.StartupScriptTimeoutSeconds,
|
&i.StartupScriptTimeoutSeconds,
|
||||||
)
|
)
|
||||||
return i, err
|
return i, err
|
||||||
|
@ -4970,7 +4970,7 @@ func (q *sqlQuerier) GetWorkspaceAgentByInstanceID(ctx context.Context, authInst
|
||||||
|
|
||||||
const getWorkspaceAgentsByResourceIDs = `-- name: GetWorkspaceAgentsByResourceIDs :many
|
const getWorkspaceAgentsByResourceIDs = `-- name: GetWorkspaceAgentsByResourceIDs :many
|
||||||
SELECT
|
SELECT
|
||||||
id, created_at, updated_at, name, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, architecture, environment_variables, operating_system, startup_script, instance_metadata, resource_metadata, directory, version, last_connected_replica_id, connection_timeout_seconds, troubleshooting_url, motd_file, lifecycle_state, delay_login_until_ready, startup_script_timeout_seconds
|
id, created_at, updated_at, name, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, architecture, environment_variables, operating_system, startup_script, instance_metadata, resource_metadata, directory, version, last_connected_replica_id, connection_timeout_seconds, troubleshooting_url, motd_file, lifecycle_state, login_before_ready, startup_script_timeout_seconds
|
||||||
FROM
|
FROM
|
||||||
workspace_agents
|
workspace_agents
|
||||||
WHERE
|
WHERE
|
||||||
|
@ -5010,7 +5010,7 @@ func (q *sqlQuerier) GetWorkspaceAgentsByResourceIDs(ctx context.Context, ids []
|
||||||
&i.TroubleshootingURL,
|
&i.TroubleshootingURL,
|
||||||
&i.MOTDFile,
|
&i.MOTDFile,
|
||||||
&i.LifecycleState,
|
&i.LifecycleState,
|
||||||
&i.DelayLoginUntilReady,
|
&i.LoginBeforeReady,
|
||||||
&i.StartupScriptTimeoutSeconds,
|
&i.StartupScriptTimeoutSeconds,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -5027,7 +5027,7 @@ func (q *sqlQuerier) GetWorkspaceAgentsByResourceIDs(ctx context.Context, ids []
|
||||||
}
|
}
|
||||||
|
|
||||||
const getWorkspaceAgentsCreatedAfter = `-- name: GetWorkspaceAgentsCreatedAfter :many
|
const getWorkspaceAgentsCreatedAfter = `-- name: GetWorkspaceAgentsCreatedAfter :many
|
||||||
SELECT id, created_at, updated_at, name, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, architecture, environment_variables, operating_system, startup_script, instance_metadata, resource_metadata, directory, version, last_connected_replica_id, connection_timeout_seconds, troubleshooting_url, motd_file, lifecycle_state, delay_login_until_ready, startup_script_timeout_seconds FROM workspace_agents WHERE created_at > $1
|
SELECT id, created_at, updated_at, name, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, architecture, environment_variables, operating_system, startup_script, instance_metadata, resource_metadata, directory, version, last_connected_replica_id, connection_timeout_seconds, troubleshooting_url, motd_file, lifecycle_state, login_before_ready, startup_script_timeout_seconds FROM workspace_agents WHERE created_at > $1
|
||||||
`
|
`
|
||||||
|
|
||||||
func (q *sqlQuerier) GetWorkspaceAgentsCreatedAfter(ctx context.Context, createdAt time.Time) ([]WorkspaceAgent, error) {
|
func (q *sqlQuerier) GetWorkspaceAgentsCreatedAfter(ctx context.Context, createdAt time.Time) ([]WorkspaceAgent, error) {
|
||||||
|
@ -5063,7 +5063,7 @@ func (q *sqlQuerier) GetWorkspaceAgentsCreatedAfter(ctx context.Context, created
|
||||||
&i.TroubleshootingURL,
|
&i.TroubleshootingURL,
|
||||||
&i.MOTDFile,
|
&i.MOTDFile,
|
||||||
&i.LifecycleState,
|
&i.LifecycleState,
|
||||||
&i.DelayLoginUntilReady,
|
&i.LoginBeforeReady,
|
||||||
&i.StartupScriptTimeoutSeconds,
|
&i.StartupScriptTimeoutSeconds,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -5099,11 +5099,11 @@ INSERT INTO
|
||||||
connection_timeout_seconds,
|
connection_timeout_seconds,
|
||||||
troubleshooting_url,
|
troubleshooting_url,
|
||||||
motd_file,
|
motd_file,
|
||||||
delay_login_until_ready,
|
login_before_ready,
|
||||||
startup_script_timeout_seconds
|
startup_script_timeout_seconds
|
||||||
)
|
)
|
||||||
VALUES
|
VALUES
|
||||||
($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19) RETURNING id, created_at, updated_at, name, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, architecture, environment_variables, operating_system, startup_script, instance_metadata, resource_metadata, directory, version, last_connected_replica_id, connection_timeout_seconds, troubleshooting_url, motd_file, lifecycle_state, delay_login_until_ready, startup_script_timeout_seconds
|
($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19) RETURNING id, created_at, updated_at, name, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, architecture, environment_variables, operating_system, startup_script, instance_metadata, resource_metadata, directory, version, last_connected_replica_id, connection_timeout_seconds, troubleshooting_url, motd_file, lifecycle_state, login_before_ready, startup_script_timeout_seconds
|
||||||
`
|
`
|
||||||
|
|
||||||
type InsertWorkspaceAgentParams struct {
|
type InsertWorkspaceAgentParams struct {
|
||||||
|
@ -5124,7 +5124,7 @@ type InsertWorkspaceAgentParams struct {
|
||||||
ConnectionTimeoutSeconds int32 `db:"connection_timeout_seconds" json:"connection_timeout_seconds"`
|
ConnectionTimeoutSeconds int32 `db:"connection_timeout_seconds" json:"connection_timeout_seconds"`
|
||||||
TroubleshootingURL string `db:"troubleshooting_url" json:"troubleshooting_url"`
|
TroubleshootingURL string `db:"troubleshooting_url" json:"troubleshooting_url"`
|
||||||
MOTDFile string `db:"motd_file" json:"motd_file"`
|
MOTDFile string `db:"motd_file" json:"motd_file"`
|
||||||
DelayLoginUntilReady bool `db:"delay_login_until_ready" json:"delay_login_until_ready"`
|
LoginBeforeReady bool `db:"login_before_ready" json:"login_before_ready"`
|
||||||
StartupScriptTimeoutSeconds int32 `db:"startup_script_timeout_seconds" json:"startup_script_timeout_seconds"`
|
StartupScriptTimeoutSeconds int32 `db:"startup_script_timeout_seconds" json:"startup_script_timeout_seconds"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5147,7 +5147,7 @@ func (q *sqlQuerier) InsertWorkspaceAgent(ctx context.Context, arg InsertWorkspa
|
||||||
arg.ConnectionTimeoutSeconds,
|
arg.ConnectionTimeoutSeconds,
|
||||||
arg.TroubleshootingURL,
|
arg.TroubleshootingURL,
|
||||||
arg.MOTDFile,
|
arg.MOTDFile,
|
||||||
arg.DelayLoginUntilReady,
|
arg.LoginBeforeReady,
|
||||||
arg.StartupScriptTimeoutSeconds,
|
arg.StartupScriptTimeoutSeconds,
|
||||||
)
|
)
|
||||||
var i WorkspaceAgent
|
var i WorkspaceAgent
|
||||||
|
@ -5175,7 +5175,7 @@ func (q *sqlQuerier) InsertWorkspaceAgent(ctx context.Context, arg InsertWorkspa
|
||||||
&i.TroubleshootingURL,
|
&i.TroubleshootingURL,
|
||||||
&i.MOTDFile,
|
&i.MOTDFile,
|
||||||
&i.LifecycleState,
|
&i.LifecycleState,
|
||||||
&i.DelayLoginUntilReady,
|
&i.LoginBeforeReady,
|
||||||
&i.StartupScriptTimeoutSeconds,
|
&i.StartupScriptTimeoutSeconds,
|
||||||
)
|
)
|
||||||
return i, err
|
return i, err
|
||||||
|
|
|
@ -57,7 +57,7 @@ INSERT INTO
|
||||||
connection_timeout_seconds,
|
connection_timeout_seconds,
|
||||||
troubleshooting_url,
|
troubleshooting_url,
|
||||||
motd_file,
|
motd_file,
|
||||||
delay_login_until_ready,
|
login_before_ready,
|
||||||
startup_script_timeout_seconds
|
startup_script_timeout_seconds
|
||||||
)
|
)
|
||||||
VALUES
|
VALUES
|
||||||
|
|
|
@ -972,7 +972,7 @@ func InsertWorkspaceResource(ctx context.Context, db database.Store, jobID uuid.
|
||||||
ConnectionTimeoutSeconds: prAgent.GetConnectionTimeoutSeconds(),
|
ConnectionTimeoutSeconds: prAgent.GetConnectionTimeoutSeconds(),
|
||||||
TroubleshootingURL: prAgent.GetTroubleshootingUrl(),
|
TroubleshootingURL: prAgent.GetTroubleshootingUrl(),
|
||||||
MOTDFile: prAgent.GetMotdFile(),
|
MOTDFile: prAgent.GetMotdFile(),
|
||||||
DelayLoginUntilReady: prAgent.GetDelayLoginUntilReady(),
|
LoginBeforeReady: prAgent.GetLoginBeforeReady(),
|
||||||
StartupScriptTimeoutSeconds: prAgent.GetStartupScriptTimeoutSeconds(),
|
StartupScriptTimeoutSeconds: prAgent.GetStartupScriptTimeoutSeconds(),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -785,7 +785,7 @@ func convertWorkspaceAgent(derpMap *tailcfg.DERPMap, coordinator tailnet.Coordin
|
||||||
ConnectionTimeoutSeconds: dbAgent.ConnectionTimeoutSeconds,
|
ConnectionTimeoutSeconds: dbAgent.ConnectionTimeoutSeconds,
|
||||||
TroubleshootingURL: troubleshootingURL,
|
TroubleshootingURL: troubleshootingURL,
|
||||||
LifecycleState: codersdk.WorkspaceAgentLifecycle(dbAgent.LifecycleState),
|
LifecycleState: codersdk.WorkspaceAgentLifecycle(dbAgent.LifecycleState),
|
||||||
DelayLoginUntilReady: dbAgent.DelayLoginUntilReady,
|
LoginBeforeReady: dbAgent.LoginBeforeReady,
|
||||||
StartupScriptTimeoutSeconds: dbAgent.StartupScriptTimeoutSeconds,
|
StartupScriptTimeoutSeconds: dbAgent.StartupScriptTimeoutSeconds,
|
||||||
}
|
}
|
||||||
node := coordinator.Node(dbAgent.ID)
|
node := coordinator.Node(dbAgent.ID)
|
||||||
|
|
|
@ -77,8 +77,8 @@ type WorkspaceAgent struct {
|
||||||
DERPLatency map[string]DERPRegion `json:"latency,omitempty"`
|
DERPLatency map[string]DERPRegion `json:"latency,omitempty"`
|
||||||
ConnectionTimeoutSeconds int32 `json:"connection_timeout_seconds"`
|
ConnectionTimeoutSeconds int32 `json:"connection_timeout_seconds"`
|
||||||
TroubleshootingURL string `json:"troubleshooting_url"`
|
TroubleshootingURL string `json:"troubleshooting_url"`
|
||||||
// DelayLoginUntilReady if true, the agent will delay logins until it is ready (e.g. executing startup script has ended).
|
// LoginBeforeReady if true, the agent will delay logins until it is ready (e.g. executing startup script has ended).
|
||||||
DelayLoginUntilReady bool `db:"delay_login_until_ready" json:"delay_login_until_ready"`
|
LoginBeforeReady bool `db:"login_before_ready" json:"login_before_ready"`
|
||||||
// StartupScriptTimeoutSeconds is the number of seconds to wait for the startup script to complete. If the script does not complete within this time, the agent lifecycle will be marked as start_timeout.
|
// StartupScriptTimeoutSeconds is the number of seconds to wait for the startup script to complete. If the script does not complete within this time, the agent lifecycle will be marked as start_timeout.
|
||||||
StartupScriptTimeoutSeconds int32 `db:"startup_script_timeout_seconds" json:"startup_script_timeout_seconds"`
|
StartupScriptTimeoutSeconds int32 `db:"startup_script_timeout_seconds" json:"startup_script_timeout_seconds"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -484,7 +484,6 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent} \
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -506,6 +505,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent} \
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
|
|
@ -76,7 +76,6 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -98,6 +97,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -221,7 +221,6 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild} \
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -243,6 +242,7 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild} \
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -509,7 +509,6 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/res
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -531,6 +530,7 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/res
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -594,7 +594,6 @@ Status Code **200**
|
||||||
| `»» architecture` | string | false | | |
|
| `»» architecture` | string | false | | |
|
||||||
| `»» connection_timeout_seconds` | integer | false | | |
|
| `»» connection_timeout_seconds` | integer | false | | |
|
||||||
| `»» created_at` | string(date-time) | false | | |
|
| `»» created_at` | string(date-time) | false | | |
|
||||||
| `»» delay_login_until_ready` | boolean | false | | »delay login until ready if true, the agent will delay logins until it is ready (e.g. executing startup script has ended). |
|
|
||||||
| `»» directory` | string | false | | |
|
| `»» directory` | string | false | | |
|
||||||
| `»» disconnected_at` | string(date-time) | false | | |
|
| `»» disconnected_at` | string(date-time) | false | | |
|
||||||
| `»» environment_variables` | object | false | | |
|
| `»» environment_variables` | object | false | | |
|
||||||
|
@ -608,6 +607,7 @@ Status Code **200**
|
||||||
| `»»»» latency_ms` | number | false | | |
|
| `»»»» latency_ms` | number | false | | |
|
||||||
| `»»»» preferred` | boolean | false | | |
|
| `»»»» preferred` | boolean | false | | |
|
||||||
| `»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | |
|
| `»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | |
|
||||||
|
| `»» login_before_ready` | boolean | false | | »login before ready if true, the agent will delay logins until it is ready (e.g. executing startup script has ended). |
|
||||||
| `»» name` | string | false | | |
|
| `»» name` | string | false | | |
|
||||||
| `»» operating_system` | string | false | | |
|
| `»» operating_system` | string | false | | |
|
||||||
| `»» resource_id` | string(uuid) | false | | |
|
| `»» resource_id` | string(uuid) | false | | |
|
||||||
|
@ -731,7 +731,6 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/sta
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -753,6 +752,7 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/sta
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -881,7 +881,6 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/builds \
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -903,6 +902,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/builds \
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -998,7 +998,6 @@ Status Code **200**
|
||||||
| `»»» architecture` | string | false | | |
|
| `»»» architecture` | string | false | | |
|
||||||
| `»»» connection_timeout_seconds` | integer | false | | |
|
| `»»» connection_timeout_seconds` | integer | false | | |
|
||||||
| `»»» created_at` | string(date-time) | false | | |
|
| `»»» created_at` | string(date-time) | false | | |
|
||||||
| `»»» delay_login_until_ready` | boolean | false | | »»delay login until ready if true, the agent will delay logins until it is ready (e.g. executing startup script has ended). |
|
|
||||||
| `»»» directory` | string | false | | |
|
| `»»» directory` | string | false | | |
|
||||||
| `»»» disconnected_at` | string(date-time) | false | | |
|
| `»»» disconnected_at` | string(date-time) | false | | |
|
||||||
| `»»» environment_variables` | object | false | | |
|
| `»»» environment_variables` | object | false | | |
|
||||||
|
@ -1012,6 +1011,7 @@ Status Code **200**
|
||||||
| `»»»»» latency_ms` | number | false | | |
|
| `»»»»» latency_ms` | number | false | | |
|
||||||
| `»»»»» preferred` | boolean | false | | |
|
| `»»»»» preferred` | boolean | false | | |
|
||||||
| `»»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | |
|
| `»»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | |
|
||||||
|
| `»»» login_before_ready` | boolean | false | | »»login before ready if true, the agent will delay logins until it is ready (e.g. executing startup script has ended). |
|
||||||
| `»»» name` | string | false | | |
|
| `»»» name` | string | false | | |
|
||||||
| `»»» operating_system` | string | false | | |
|
| `»»» operating_system` | string | false | | |
|
||||||
| `»»» resource_id` | string(uuid) | false | | |
|
| `»»» resource_id` | string(uuid) | false | | |
|
||||||
|
@ -1195,7 +1195,6 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/builds \
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -1217,6 +1216,7 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/builds \
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
|
|
@ -4615,7 +4615,6 @@ Parameter represents a set value for the scope.
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -4637,6 +4636,7 @@ Parameter represents a set value for the scope.
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -4737,7 +4737,6 @@ Parameter represents a set value for the scope.
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -4759,6 +4758,7 @@ Parameter represents a set value for the scope.
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -4779,7 +4779,6 @@ Parameter represents a set value for the scope.
|
||||||
| `architecture` | string | false | | |
|
| `architecture` | string | false | | |
|
||||||
| `connection_timeout_seconds` | integer | false | | |
|
| `connection_timeout_seconds` | integer | false | | |
|
||||||
| `created_at` | string | false | | |
|
| `created_at` | string | false | | |
|
||||||
| `delay_login_until_ready` | boolean | false | | Delay login until ready if true, the agent will delay logins until it is ready (e.g. executing startup script has ended). |
|
|
||||||
| `directory` | string | false | | |
|
| `directory` | string | false | | |
|
||||||
| `disconnected_at` | string | false | | |
|
| `disconnected_at` | string | false | | |
|
||||||
| `environment_variables` | object | false | | |
|
| `environment_variables` | object | false | | |
|
||||||
|
@ -4791,6 +4790,7 @@ Parameter represents a set value for the scope.
|
||||||
| `latency` | object | false | | Latency is mapped by region name (e.g. "New York City", "Seattle"). |
|
| `latency` | object | false | | Latency is mapped by region name (e.g. "New York City", "Seattle"). |
|
||||||
| » `[any property]` | [codersdk.DERPRegion](#codersdkderpregion) | false | | |
|
| » `[any property]` | [codersdk.DERPRegion](#codersdkderpregion) | false | | |
|
||||||
| `lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](#codersdkworkspaceagentlifecycle) | false | | |
|
| `lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](#codersdkworkspaceagentlifecycle) | false | | |
|
||||||
|
| `login_before_ready` | boolean | false | | Login before ready if true, the agent will delay logins until it is ready (e.g. executing startup script has ended). |
|
||||||
| `name` | string | false | | |
|
| `name` | string | false | | |
|
||||||
| `operating_system` | string | false | | |
|
| `operating_system` | string | false | | |
|
||||||
| `resource_id` | string | false | | |
|
| `resource_id` | string | false | | |
|
||||||
|
@ -5166,7 +5166,6 @@ Parameter represents a set value for the scope.
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -5188,6 +5187,7 @@ Parameter represents a set value for the scope.
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -5334,7 +5334,6 @@ Parameter represents a set value for the scope.
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -5356,6 +5355,7 @@ Parameter represents a set value for the scope.
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -5524,7 +5524,6 @@ Parameter represents a set value for the scope.
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -5546,6 +5545,7 @@ Parameter represents a set value for the scope.
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
|
|
@ -1564,7 +1564,6 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -1586,6 +1585,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -1649,7 +1649,6 @@ Status Code **200**
|
||||||
| `»» architecture` | string | false | | |
|
| `»» architecture` | string | false | | |
|
||||||
| `»» connection_timeout_seconds` | integer | false | | |
|
| `»» connection_timeout_seconds` | integer | false | | |
|
||||||
| `»» created_at` | string(date-time) | false | | |
|
| `»» created_at` | string(date-time) | false | | |
|
||||||
| `»» delay_login_until_ready` | boolean | false | | »delay login until ready if true, the agent will delay logins until it is ready (e.g. executing startup script has ended). |
|
|
||||||
| `»» directory` | string | false | | |
|
| `»» directory` | string | false | | |
|
||||||
| `»» disconnected_at` | string(date-time) | false | | |
|
| `»» disconnected_at` | string(date-time) | false | | |
|
||||||
| `»» environment_variables` | object | false | | |
|
| `»» environment_variables` | object | false | | |
|
||||||
|
@ -1663,6 +1662,7 @@ Status Code **200**
|
||||||
| `»»»» latency_ms` | number | false | | |
|
| `»»»» latency_ms` | number | false | | |
|
||||||
| `»»»» preferred` | boolean | false | | |
|
| `»»»» preferred` | boolean | false | | |
|
||||||
| `»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | |
|
| `»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | |
|
||||||
|
| `»» login_before_ready` | boolean | false | | »login before ready if true, the agent will delay logins until it is ready (e.g. executing startup script has ended). |
|
||||||
| `»» name` | string | false | | |
|
| `»» name` | string | false | | |
|
||||||
| `»» operating_system` | string | false | | |
|
| `»» operating_system` | string | false | | |
|
||||||
| `»» resource_id` | string(uuid) | false | | |
|
| `»» resource_id` | string(uuid) | false | | |
|
||||||
|
@ -1916,7 +1916,6 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/r
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -1938,6 +1937,7 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/r
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -2001,7 +2001,6 @@ Status Code **200**
|
||||||
| `»» architecture` | string | false | | |
|
| `»» architecture` | string | false | | |
|
||||||
| `»» connection_timeout_seconds` | integer | false | | |
|
| `»» connection_timeout_seconds` | integer | false | | |
|
||||||
| `»» created_at` | string(date-time) | false | | |
|
| `»» created_at` | string(date-time) | false | | |
|
||||||
| `»» delay_login_until_ready` | boolean | false | | »delay login until ready if true, the agent will delay logins until it is ready (e.g. executing startup script has ended). |
|
|
||||||
| `»» directory` | string | false | | |
|
| `»» directory` | string | false | | |
|
||||||
| `»» disconnected_at` | string(date-time) | false | | |
|
| `»» disconnected_at` | string(date-time) | false | | |
|
||||||
| `»» environment_variables` | object | false | | |
|
| `»» environment_variables` | object | false | | |
|
||||||
|
@ -2015,6 +2014,7 @@ Status Code **200**
|
||||||
| `»»»» latency_ms` | number | false | | |
|
| `»»»» latency_ms` | number | false | | |
|
||||||
| `»»»» preferred` | boolean | false | | |
|
| `»»»» preferred` | boolean | false | | |
|
||||||
| `»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | |
|
| `»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | |
|
||||||
|
| `»» login_before_ready` | boolean | false | | »login before ready if true, the agent will delay logins until it is ready (e.g. executing startup script has ended). |
|
||||||
| `»» name` | string | false | | |
|
| `»» name` | string | false | | |
|
||||||
| `»» operating_system` | string | false | | |
|
| `»» operating_system` | string | false | | |
|
||||||
| `»» resource_id` | string(uuid) | false | | |
|
| `»» resource_id` | string(uuid) | false | | |
|
||||||
|
|
|
@ -80,7 +80,6 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/member
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -102,6 +101,7 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/member
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -244,7 +244,6 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -266,6 +265,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -427,7 +427,6 @@ curl -X GET http://coder-server:8080/api/v2/workspaces \
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -449,6 +448,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces \
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
@ -592,7 +592,6 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace} \
|
||||||
"architecture": "string",
|
"architecture": "string",
|
||||||
"connection_timeout_seconds": 0,
|
"connection_timeout_seconds": 0,
|
||||||
"created_at": "2019-08-24T14:15:22Z",
|
"created_at": "2019-08-24T14:15:22Z",
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"directory": "string",
|
"directory": "string",
|
||||||
"disconnected_at": "2019-08-24T14:15:22Z",
|
"disconnected_at": "2019-08-24T14:15:22Z",
|
||||||
"environment_variables": {
|
"environment_variables": {
|
||||||
|
@ -614,6 +613,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace} \
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lifecycle_state": "created",
|
"lifecycle_state": "created",
|
||||||
|
"login_before_ready": true,
|
||||||
"name": "string",
|
"name": "string",
|
||||||
"operating_system": "string",
|
"operating_system": "string",
|
||||||
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
|
||||||
|
|
|
@ -16,7 +16,7 @@ coder ssh <workspace> [flags]
|
||||||
-h, --help help for ssh
|
-h, --help help for ssh
|
||||||
--identity-agent string Specifies which identity agent to use (overrides $SSH_AUTH_SOCK), forward agent must also be enabled.
|
--identity-agent string Specifies which identity agent to use (overrides $SSH_AUTH_SOCK), forward agent must also be enabled.
|
||||||
Consumes $CODER_SSH_IDENTITY_AGENT
|
Consumes $CODER_SSH_IDENTITY_AGENT
|
||||||
--no-wait Specifies whether to wait for a workspace to become ready before logging in (only applicable when the delay login until ready option is enabled). Note that the workspace agent may still be in the process of executing the startup script and the workspace may be in an incomplete state.
|
--no-wait Specifies whether to wait for a workspace to become ready before logging in (only applicable when the login before ready option has not been enabled). Note that the workspace agent may still be in the process of executing the startup script and the workspace may be in an incomplete state.
|
||||||
Consumes $CODER_SSH_NO_WAIT
|
Consumes $CODER_SSH_NO_WAIT
|
||||||
--stdio Specifies whether to emit SSH output over stdin/stdout.
|
--stdio Specifies whether to emit SSH output over stdin/stdout.
|
||||||
Consumes $CODER_SSH_STDIO
|
Consumes $CODER_SSH_STDIO
|
||||||
|
|
|
@ -27,7 +27,7 @@ type agentAttributes struct {
|
||||||
ConnectionTimeoutSeconds int32 `mapstructure:"connection_timeout"`
|
ConnectionTimeoutSeconds int32 `mapstructure:"connection_timeout"`
|
||||||
TroubleshootingURL string `mapstructure:"troubleshooting_url"`
|
TroubleshootingURL string `mapstructure:"troubleshooting_url"`
|
||||||
MOTDFile string `mapstructure:"motd_file"`
|
MOTDFile string `mapstructure:"motd_file"`
|
||||||
DelayLoginUntilReady bool `mapstructure:"delay_login_until_ready"`
|
LoginBeforeReady bool `mapstructure:"login_before_ready"`
|
||||||
StartupScriptTimeoutSeconds int32 `mapstructure:"startup_script_timeout"`
|
StartupScriptTimeoutSeconds int32 `mapstructure:"startup_script_timeout"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,6 +123,12 @@ func ConvertResourcesAndParameters(modules []*tfjson.StateModule, rawGraph strin
|
||||||
}
|
}
|
||||||
agentNames[tfResource.Name] = struct{}{}
|
agentNames[tfResource.Name] = struct{}{}
|
||||||
|
|
||||||
|
// Handling for provider pre-v0.6.10.
|
||||||
|
loginBeforeReady := true
|
||||||
|
if _, ok := tfResource.AttributeValues["login_before_ready"]; ok {
|
||||||
|
loginBeforeReady = attrs.LoginBeforeReady
|
||||||
|
}
|
||||||
|
|
||||||
agent := &proto.Agent{
|
agent := &proto.Agent{
|
||||||
Name: tfResource.Name,
|
Name: tfResource.Name,
|
||||||
Id: attrs.ID,
|
Id: attrs.ID,
|
||||||
|
@ -134,7 +140,7 @@ func ConvertResourcesAndParameters(modules []*tfjson.StateModule, rawGraph strin
|
||||||
ConnectionTimeoutSeconds: attrs.ConnectionTimeoutSeconds,
|
ConnectionTimeoutSeconds: attrs.ConnectionTimeoutSeconds,
|
||||||
TroubleshootingUrl: attrs.TroubleshootingURL,
|
TroubleshootingUrl: attrs.TroubleshootingURL,
|
||||||
MotdFile: attrs.MOTDFile,
|
MotdFile: attrs.MOTDFile,
|
||||||
DelayLoginUntilReady: attrs.DelayLoginUntilReady,
|
LoginBeforeReady: loginBeforeReady,
|
||||||
StartupScriptTimeoutSeconds: attrs.StartupScriptTimeoutSeconds,
|
StartupScriptTimeoutSeconds: attrs.StartupScriptTimeoutSeconds,
|
||||||
}
|
}
|
||||||
switch attrs.Auth {
|
switch attrs.Auth {
|
||||||
|
|
|
@ -41,6 +41,7 @@ func TestConvertResources(t *testing.T) {
|
||||||
OperatingSystem: "linux",
|
OperatingSystem: "linux",
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
Auth: &proto.Agent_Token{},
|
Auth: &proto.Agent_Token{},
|
||||||
|
LoginBeforeReady: true,
|
||||||
ConnectionTimeoutSeconds: 120,
|
ConnectionTimeoutSeconds: 120,
|
||||||
}},
|
}},
|
||||||
}},
|
}},
|
||||||
|
@ -57,6 +58,7 @@ func TestConvertResources(t *testing.T) {
|
||||||
OperatingSystem: "linux",
|
OperatingSystem: "linux",
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
Auth: &proto.Agent_Token{},
|
Auth: &proto.Agent_Token{},
|
||||||
|
LoginBeforeReady: true,
|
||||||
ConnectionTimeoutSeconds: 120,
|
ConnectionTimeoutSeconds: 120,
|
||||||
}},
|
}},
|
||||||
}, {
|
}, {
|
||||||
|
@ -74,6 +76,7 @@ func TestConvertResources(t *testing.T) {
|
||||||
OperatingSystem: "linux",
|
OperatingSystem: "linux",
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
Auth: &proto.Agent_InstanceId{},
|
Auth: &proto.Agent_InstanceId{},
|
||||||
|
LoginBeforeReady: true,
|
||||||
ConnectionTimeoutSeconds: 120,
|
ConnectionTimeoutSeconds: 120,
|
||||||
}},
|
}},
|
||||||
}},
|
}},
|
||||||
|
@ -89,6 +92,7 @@ func TestConvertResources(t *testing.T) {
|
||||||
OperatingSystem: "linux",
|
OperatingSystem: "linux",
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
Auth: &proto.Agent_Token{},
|
Auth: &proto.Agent_Token{},
|
||||||
|
LoginBeforeReady: true,
|
||||||
ConnectionTimeoutSeconds: 120,
|
ConnectionTimeoutSeconds: 120,
|
||||||
}},
|
}},
|
||||||
}},
|
}},
|
||||||
|
@ -105,7 +109,7 @@ func TestConvertResources(t *testing.T) {
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
Auth: &proto.Agent_Token{},
|
Auth: &proto.Agent_Token{},
|
||||||
ConnectionTimeoutSeconds: 120,
|
ConnectionTimeoutSeconds: 120,
|
||||||
DelayLoginUntilReady: false,
|
LoginBeforeReady: true,
|
||||||
StartupScriptTimeoutSeconds: 300,
|
StartupScriptTimeoutSeconds: 300,
|
||||||
}, {
|
}, {
|
||||||
Name: "dev2",
|
Name: "dev2",
|
||||||
|
@ -114,7 +118,7 @@ func TestConvertResources(t *testing.T) {
|
||||||
Auth: &proto.Agent_Token{},
|
Auth: &proto.Agent_Token{},
|
||||||
ConnectionTimeoutSeconds: 1,
|
ConnectionTimeoutSeconds: 1,
|
||||||
MotdFile: "/etc/motd",
|
MotdFile: "/etc/motd",
|
||||||
DelayLoginUntilReady: false,
|
LoginBeforeReady: true,
|
||||||
StartupScriptTimeoutSeconds: 30,
|
StartupScriptTimeoutSeconds: 30,
|
||||||
}, {
|
}, {
|
||||||
Name: "dev3",
|
Name: "dev3",
|
||||||
|
@ -123,7 +127,7 @@ func TestConvertResources(t *testing.T) {
|
||||||
Auth: &proto.Agent_Token{},
|
Auth: &proto.Agent_Token{},
|
||||||
ConnectionTimeoutSeconds: 120,
|
ConnectionTimeoutSeconds: 120,
|
||||||
TroubleshootingUrl: "https://coder.com/troubleshoot",
|
TroubleshootingUrl: "https://coder.com/troubleshoot",
|
||||||
DelayLoginUntilReady: true,
|
LoginBeforeReady: false,
|
||||||
StartupScriptTimeoutSeconds: 300,
|
StartupScriptTimeoutSeconds: 300,
|
||||||
}},
|
}},
|
||||||
}},
|
}},
|
||||||
|
@ -161,6 +165,7 @@ func TestConvertResources(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Auth: &proto.Agent_Token{},
|
Auth: &proto.Agent_Token{},
|
||||||
|
LoginBeforeReady: true,
|
||||||
ConnectionTimeoutSeconds: 120,
|
ConnectionTimeoutSeconds: 120,
|
||||||
}},
|
}},
|
||||||
}},
|
}},
|
||||||
|
@ -234,6 +239,7 @@ func TestConvertResources(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Auth: &proto.Agent_Token{},
|
Auth: &proto.Agent_Token{},
|
||||||
|
LoginBeforeReady: true,
|
||||||
ConnectionTimeoutSeconds: 120,
|
ConnectionTimeoutSeconds: 120,
|
||||||
}},
|
}},
|
||||||
},
|
},
|
||||||
|
@ -248,6 +254,7 @@ func TestConvertResources(t *testing.T) {
|
||||||
OperatingSystem: "windows",
|
OperatingSystem: "windows",
|
||||||
Architecture: "arm64",
|
Architecture: "arm64",
|
||||||
Auth: &proto.Agent_Token{},
|
Auth: &proto.Agent_Token{},
|
||||||
|
LoginBeforeReady: true,
|
||||||
ConnectionTimeoutSeconds: 120,
|
ConnectionTimeoutSeconds: 120,
|
||||||
}},
|
}},
|
||||||
}},
|
}},
|
||||||
|
|
|
@ -2,7 +2,7 @@ terraform {
|
||||||
required_providers {
|
required_providers {
|
||||||
coder = {
|
coder = {
|
||||||
source = "coder/coder"
|
source = "coder/coder"
|
||||||
version = "0.6.7"
|
version = "0.6.10"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,14 +18,14 @@ resource "coder_agent" "dev2" {
|
||||||
connection_timeout = 1
|
connection_timeout = 1
|
||||||
motd_file = "/etc/motd"
|
motd_file = "/etc/motd"
|
||||||
startup_script_timeout = 30
|
startup_script_timeout = 30
|
||||||
delay_login_until_ready = false
|
login_before_ready = true
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "coder_agent" "dev3" {
|
resource "coder_agent" "dev3" {
|
||||||
os = "windows"
|
os = "windows"
|
||||||
arch = "arm64"
|
arch = "arm64"
|
||||||
troubleshooting_url = "https://coder.com/troubleshoot"
|
troubleshooting_url = "https://coder.com/troubleshoot"
|
||||||
delay_login_until_ready = true
|
login_before_ready = false
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "null_resource" "dev" {
|
resource "null_resource" "dev" {
|
||||||
|
|
|
@ -15,9 +15,9 @@
|
||||||
"arch": "amd64",
|
"arch": "amd64",
|
||||||
"auth": "token",
|
"auth": "token",
|
||||||
"connection_timeout": 120,
|
"connection_timeout": 120,
|
||||||
"delay_login_until_ready": false,
|
|
||||||
"dir": null,
|
"dir": null,
|
||||||
"env": null,
|
"env": null,
|
||||||
|
"login_before_ready": true,
|
||||||
"motd_file": null,
|
"motd_file": null,
|
||||||
"os": "linux",
|
"os": "linux",
|
||||||
"shutdown_script": null,
|
"shutdown_script": null,
|
||||||
|
@ -38,9 +38,9 @@
|
||||||
"arch": "amd64",
|
"arch": "amd64",
|
||||||
"auth": "token",
|
"auth": "token",
|
||||||
"connection_timeout": 1,
|
"connection_timeout": 1,
|
||||||
"delay_login_until_ready": false,
|
|
||||||
"dir": null,
|
"dir": null,
|
||||||
"env": null,
|
"env": null,
|
||||||
|
"login_before_ready": true,
|
||||||
"motd_file": "/etc/motd",
|
"motd_file": "/etc/motd",
|
||||||
"os": "darwin",
|
"os": "darwin",
|
||||||
"shutdown_script": null,
|
"shutdown_script": null,
|
||||||
|
@ -61,9 +61,9 @@
|
||||||
"arch": "arm64",
|
"arch": "arm64",
|
||||||
"auth": "token",
|
"auth": "token",
|
||||||
"connection_timeout": 120,
|
"connection_timeout": 120,
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"dir": null,
|
"dir": null,
|
||||||
"env": null,
|
"env": null,
|
||||||
|
"login_before_ready": false,
|
||||||
"motd_file": null,
|
"motd_file": null,
|
||||||
"os": "windows",
|
"os": "windows",
|
||||||
"shutdown_script": null,
|
"shutdown_script": null,
|
||||||
|
@ -104,9 +104,9 @@
|
||||||
"arch": "amd64",
|
"arch": "amd64",
|
||||||
"auth": "token",
|
"auth": "token",
|
||||||
"connection_timeout": 120,
|
"connection_timeout": 120,
|
||||||
"delay_login_until_ready": false,
|
|
||||||
"dir": null,
|
"dir": null,
|
||||||
"env": null,
|
"env": null,
|
||||||
|
"login_before_ready": true,
|
||||||
"motd_file": null,
|
"motd_file": null,
|
||||||
"os": "linux",
|
"os": "linux",
|
||||||
"shutdown_script": null,
|
"shutdown_script": null,
|
||||||
|
@ -140,9 +140,9 @@
|
||||||
"arch": "amd64",
|
"arch": "amd64",
|
||||||
"auth": "token",
|
"auth": "token",
|
||||||
"connection_timeout": 1,
|
"connection_timeout": 1,
|
||||||
"delay_login_until_ready": false,
|
|
||||||
"dir": null,
|
"dir": null,
|
||||||
"env": null,
|
"env": null,
|
||||||
|
"login_before_ready": true,
|
||||||
"motd_file": "/etc/motd",
|
"motd_file": "/etc/motd",
|
||||||
"os": "darwin",
|
"os": "darwin",
|
||||||
"shutdown_script": null,
|
"shutdown_script": null,
|
||||||
|
@ -176,9 +176,9 @@
|
||||||
"arch": "arm64",
|
"arch": "arm64",
|
||||||
"auth": "token",
|
"auth": "token",
|
||||||
"connection_timeout": 120,
|
"connection_timeout": 120,
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"dir": null,
|
"dir": null,
|
||||||
"env": null,
|
"env": null,
|
||||||
|
"login_before_ready": false,
|
||||||
"motd_file": null,
|
"motd_file": null,
|
||||||
"os": "windows",
|
"os": "windows",
|
||||||
"shutdown_script": null,
|
"shutdown_script": null,
|
||||||
|
@ -224,7 +224,7 @@
|
||||||
"coder": {
|
"coder": {
|
||||||
"name": "coder",
|
"name": "coder",
|
||||||
"full_name": "registry.terraform.io/coder/coder",
|
"full_name": "registry.terraform.io/coder/coder",
|
||||||
"version_constraint": "0.6.7"
|
"version_constraint": "0.6.10"
|
||||||
},
|
},
|
||||||
"null": {
|
"null": {
|
||||||
"name": "null",
|
"name": "null",
|
||||||
|
@ -262,8 +262,8 @@
|
||||||
"connection_timeout": {
|
"connection_timeout": {
|
||||||
"constant_value": 1
|
"constant_value": 1
|
||||||
},
|
},
|
||||||
"delay_login_until_ready": {
|
"login_before_ready": {
|
||||||
"constant_value": false
|
"constant_value": true
|
||||||
},
|
},
|
||||||
"motd_file": {
|
"motd_file": {
|
||||||
"constant_value": "/etc/motd"
|
"constant_value": "/etc/motd"
|
||||||
|
@ -287,8 +287,8 @@
|
||||||
"arch": {
|
"arch": {
|
||||||
"constant_value": "arm64"
|
"constant_value": "arm64"
|
||||||
},
|
},
|
||||||
"delay_login_until_ready": {
|
"login_before_ready": {
|
||||||
"constant_value": true
|
"constant_value": false
|
||||||
},
|
},
|
||||||
"os": {
|
"os": {
|
||||||
"constant_value": "windows"
|
"constant_value": "windows"
|
||||||
|
|
|
@ -15,17 +15,17 @@
|
||||||
"arch": "amd64",
|
"arch": "amd64",
|
||||||
"auth": "token",
|
"auth": "token",
|
||||||
"connection_timeout": 120,
|
"connection_timeout": 120,
|
||||||
"delay_login_until_ready": false,
|
|
||||||
"dir": null,
|
"dir": null,
|
||||||
"env": null,
|
"env": null,
|
||||||
"id": "8ba856b4-4aa9-4fbe-aa04-9af53dc93f08",
|
"id": "6b912abe-50d4-48b2-be7c-1464ca69b5b9",
|
||||||
"init_script": "",
|
"init_script": "",
|
||||||
|
"login_before_ready": true,
|
||||||
"motd_file": null,
|
"motd_file": null,
|
||||||
"os": "linux",
|
"os": "linux",
|
||||||
"shutdown_script": null,
|
"shutdown_script": null,
|
||||||
"startup_script": null,
|
"startup_script": null,
|
||||||
"startup_script_timeout": 300,
|
"startup_script_timeout": 300,
|
||||||
"token": "c7f72bfa-c84c-4b52-898c-1c056a42141e",
|
"token": "d296a9cd-6f7c-4c6b-b2f3-7a647512efe8",
|
||||||
"troubleshooting_url": null
|
"troubleshooting_url": null
|
||||||
},
|
},
|
||||||
"sensitive_values": {}
|
"sensitive_values": {}
|
||||||
|
@ -41,17 +41,17 @@
|
||||||
"arch": "amd64",
|
"arch": "amd64",
|
||||||
"auth": "token",
|
"auth": "token",
|
||||||
"connection_timeout": 1,
|
"connection_timeout": 1,
|
||||||
"delay_login_until_ready": false,
|
|
||||||
"dir": null,
|
"dir": null,
|
||||||
"env": null,
|
"env": null,
|
||||||
"id": "3e79acd5-88f4-4de6-8145-a8e0e2b1129b",
|
"id": "8a2956f7-d37b-441e-bf62-bd9a45316f6a",
|
||||||
"init_script": "",
|
"init_script": "",
|
||||||
|
"login_before_ready": true,
|
||||||
"motd_file": "/etc/motd",
|
"motd_file": "/etc/motd",
|
||||||
"os": "darwin",
|
"os": "darwin",
|
||||||
"shutdown_script": null,
|
"shutdown_script": null,
|
||||||
"startup_script": null,
|
"startup_script": null,
|
||||||
"startup_script_timeout": 30,
|
"startup_script_timeout": 30,
|
||||||
"token": "0e2fa4e7-df44-41c4-a6e4-9e46c6f5e441",
|
"token": "b1e0fba4-5bba-439f-b3ea-3f6a8ba4d301",
|
||||||
"troubleshooting_url": null
|
"troubleshooting_url": null
|
||||||
},
|
},
|
||||||
"sensitive_values": {}
|
"sensitive_values": {}
|
||||||
|
@ -67,17 +67,17 @@
|
||||||
"arch": "arm64",
|
"arch": "arm64",
|
||||||
"auth": "token",
|
"auth": "token",
|
||||||
"connection_timeout": 120,
|
"connection_timeout": 120,
|
||||||
"delay_login_until_ready": true,
|
|
||||||
"dir": null,
|
"dir": null,
|
||||||
"env": null,
|
"env": null,
|
||||||
"id": "c9df6531-41f4-4005-b1a7-b4c4712b117f",
|
"id": "819b1b19-a709-463e-9aeb-5e1321b7af23",
|
||||||
"init_script": "",
|
"init_script": "",
|
||||||
|
"login_before_ready": false,
|
||||||
"motd_file": null,
|
"motd_file": null,
|
||||||
"os": "windows",
|
"os": "windows",
|
||||||
"shutdown_script": null,
|
"shutdown_script": null,
|
||||||
"startup_script": null,
|
"startup_script": null,
|
||||||
"startup_script_timeout": 300,
|
"startup_script_timeout": 300,
|
||||||
"token": "68f0e144-22ce-455f-be00-edef913f34a6",
|
"token": "238ff017-12ae-403f-b3f8-4dea4dc87a7d",
|
||||||
"troubleshooting_url": "https://coder.com/troubleshoot"
|
"troubleshooting_url": "https://coder.com/troubleshoot"
|
||||||
},
|
},
|
||||||
"sensitive_values": {}
|
"sensitive_values": {}
|
||||||
|
@ -90,7 +90,7 @@
|
||||||
"provider_name": "registry.terraform.io/hashicorp/null",
|
"provider_name": "registry.terraform.io/hashicorp/null",
|
||||||
"schema_version": 0,
|
"schema_version": 0,
|
||||||
"values": {
|
"values": {
|
||||||
"id": "5895060021397476995",
|
"id": "5288433022262248914",
|
||||||
"triggers": null
|
"triggers": null
|
||||||
},
|
},
|
||||||
"sensitive_values": {},
|
"sensitive_values": {},
|
||||||
|
|
|
@ -1025,7 +1025,7 @@ type Agent struct {
|
||||||
ConnectionTimeoutSeconds int32 `protobuf:"varint,11,opt,name=connection_timeout_seconds,json=connectionTimeoutSeconds,proto3" json:"connection_timeout_seconds,omitempty"`
|
ConnectionTimeoutSeconds int32 `protobuf:"varint,11,opt,name=connection_timeout_seconds,json=connectionTimeoutSeconds,proto3" json:"connection_timeout_seconds,omitempty"`
|
||||||
TroubleshootingUrl string `protobuf:"bytes,12,opt,name=troubleshooting_url,json=troubleshootingUrl,proto3" json:"troubleshooting_url,omitempty"`
|
TroubleshootingUrl string `protobuf:"bytes,12,opt,name=troubleshooting_url,json=troubleshootingUrl,proto3" json:"troubleshooting_url,omitempty"`
|
||||||
MotdFile string `protobuf:"bytes,13,opt,name=motd_file,json=motdFile,proto3" json:"motd_file,omitempty"`
|
MotdFile string `protobuf:"bytes,13,opt,name=motd_file,json=motdFile,proto3" json:"motd_file,omitempty"`
|
||||||
DelayLoginUntilReady bool `protobuf:"varint,14,opt,name=delay_login_until_ready,json=delayLoginUntilReady,proto3" json:"delay_login_until_ready,omitempty"`
|
LoginBeforeReady bool `protobuf:"varint,14,opt,name=login_before_ready,json=loginBeforeReady,proto3" json:"login_before_ready,omitempty"`
|
||||||
StartupScriptTimeoutSeconds int32 `protobuf:"varint,15,opt,name=startup_script_timeout_seconds,json=startupScriptTimeoutSeconds,proto3" json:"startup_script_timeout_seconds,omitempty"`
|
StartupScriptTimeoutSeconds int32 `protobuf:"varint,15,opt,name=startup_script_timeout_seconds,json=startupScriptTimeoutSeconds,proto3" json:"startup_script_timeout_seconds,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1159,9 +1159,9 @@ func (x *Agent) GetMotdFile() string {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Agent) GetDelayLoginUntilReady() bool {
|
func (x *Agent) GetLoginBeforeReady() bool {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.DelayLoginUntilReady
|
return x.LoginBeforeReady
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
@ -2486,7 +2486,7 @@ var file_provisionersdk_proto_provisioner_proto_rawDesc = []byte{
|
||||||
0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x75, 0x74,
|
0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x75, 0x74,
|
||||||
0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64,
|
0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
|
||||||
0x49, 0x64, 0x22, 0x97, 0x05, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02,
|
0x49, 0x64, 0x22, 0x8e, 0x05, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02,
|
||||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
|
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
|
||||||
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||||
0x12, 0x2d, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
|
0x12, 0x2d, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
|
||||||
|
@ -2516,188 +2516,188 @@ var file_provisionersdk_proto_provisioner_proto_rawDesc = []byte{
|
||||||
0x12, 0x74, 0x72, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x73, 0x68, 0x6f, 0x6f, 0x74, 0x69, 0x6e, 0x67,
|
0x12, 0x74, 0x72, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x73, 0x68, 0x6f, 0x6f, 0x74, 0x69, 0x6e, 0x67,
|
||||||
0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x74, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65,
|
0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x74, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65,
|
||||||
0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x74, 0x64, 0x46, 0x69, 0x6c, 0x65,
|
0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x74, 0x64, 0x46, 0x69, 0x6c, 0x65,
|
||||||
0x12, 0x35, 0x0a, 0x17, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f,
|
0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65,
|
||||||
0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28,
|
0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6c, 0x6f,
|
||||||
0x08, 0x52, 0x14, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x6e, 0x74,
|
0x67, 0x69, 0x6e, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x43,
|
||||||
0x69, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x43, 0x0a, 0x1e, 0x73, 0x74, 0x61, 0x72, 0x74,
|
0x0a, 0x1e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
|
||||||
0x75, 0x70, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
|
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
|
||||||
0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52,
|
0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x53,
|
||||||
0x1b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x54, 0x69,
|
0x63, 0x72, 0x69, 0x70, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f,
|
||||||
0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x36, 0x0a, 0x08,
|
0x6e, 0x64, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x45, 0x6e, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
|
||||||
0x45, 0x6e, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
|
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
|
||||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
|
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x61,
|
||||||
0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x22, 0xb5, 0x02, 0x0a,
|
0x75, 0x74, 0x68, 0x22, 0xb5, 0x02, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x73,
|
||||||
0x03, 0x41, 0x70, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x01, 0x20, 0x01,
|
0x6c, 0x75, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12,
|
||||||
0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70,
|
0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
|
||||||
0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
|
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61,
|
||||||
0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63,
|
0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20,
|
||||||
0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f,
|
0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03,
|
||||||
0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01,
|
0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12,
|
||||||
0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18,
|
0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63,
|
||||||
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73,
|
0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18,
|
||||||
0x75, 0x62, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
|
0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x75, 0x62, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
|
||||||
0x73, 0x75, 0x62, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3a, 0x0a, 0x0b, 0x68, 0x65, 0x61,
|
0x12, 0x3a, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18,
|
||||||
0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
|
0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f,
|
||||||
0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x61,
|
0x6e, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x52,
|
||||||
0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
|
0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x41, 0x0a, 0x0d,
|
||||||
0x63, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x41, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67,
|
0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20,
|
||||||
0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70,
|
0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65,
|
||||||
0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x68,
|
0x72, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65,
|
||||||
0x61, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72,
|
0x6c, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
|
||||||
0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65,
|
0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28,
|
||||||
0x72, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65,
|
0x08, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x22, 0x59, 0x0a, 0x0b, 0x48,
|
||||||
0x72, 0x6e, 0x61, 0x6c, 0x22, 0x59, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68,
|
0x65, 0x61, 0x6c, 0x74, 0x68, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72,
|
||||||
0x65, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08,
|
||||||
0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
|
0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
|
||||||
0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
|
0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65,
|
||||||
0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03,
|
0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x68, 0x72,
|
||||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22,
|
0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xf1, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75,
|
||||||
0xf1, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04,
|
0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
|
||||||
0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x61,
|
||||||
0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03,
|
0x67, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72,
|
||||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
|
0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52,
|
||||||
0x65, 0x72, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73,
|
0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
|
||||||
0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03,
|
0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x76,
|
||||||
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72,
|
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
||||||
0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
|
||||||
0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04,
|
0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
|
||||||
0x68, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x68, 0x69, 0x64, 0x65,
|
0x08, 0x52, 0x04, 0x68, 0x69, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18,
|
||||||
0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x69,
|
||||||
0x69, 0x63, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
|
0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01,
|
||||||
0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73,
|
0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
|
||||||
0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x69,
|
0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x08,
|
||||||
0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64,
|
0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x43, 0x6f, 0x73, 0x74, 0x1a,
|
||||||
0x61, 0x69, 0x6c, 0x79, 0x43, 0x6f, 0x73, 0x74, 0x1a, 0x69, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61,
|
0x69, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6b,
|
||||||
0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
|
||||||
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
|
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
|
||||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09,
|
0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
|
||||||
0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76,
|
||||||
0x09, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73,
|
0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01,
|
||||||
0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4e,
|
0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x22, 0xfc, 0x01, 0x0a, 0x05, 0x50,
|
||||||
0x75, 0x6c, 0x6c, 0x22, 0xfc, 0x01, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x73, 0x65, 0x1a, 0x27, 0x0a,
|
0x61, 0x72, 0x73, 0x65, 0x1a, 0x27, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||||
0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65,
|
0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01,
|
||||||
0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72,
|
0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x1a, 0x55, 0x0a,
|
||||||
0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x1a, 0x55, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
|
0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x11, 0x70, 0x61, 0x72,
|
||||||
0x74, 0x65, 0x12, 0x49, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f,
|
0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x02,
|
||||||
0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
|
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
|
||||||
0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x61,
|
0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65,
|
||||||
0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x10, 0x70, 0x61, 0x72,
|
0x6d, 0x61, 0x52, 0x10, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x63, 0x68,
|
||||||
0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x1a, 0x73, 0x0a,
|
0x65, 0x6d, 0x61, 0x73, 0x1a, 0x73, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||||
0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6c, 0x6f, 0x67,
|
0x12, 0x24, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69,
|
0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x48,
|
||||||
0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12,
|
0x00, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
|
||||||
0x39, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69,
|
||||||
0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e,
|
0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d,
|
||||||
0x50, 0x61, 0x72, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00,
|
0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
|
||||||
0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79,
|
0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x82, 0x0a, 0x0a, 0x09, 0x50, 0x72,
|
||||||
0x70, 0x65, 0x22, 0x82, 0x0a, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
|
0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xd1, 0x02, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61,
|
||||||
0x1a, 0xd1, 0x02, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a,
|
0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72,
|
||||||
0x09, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x55, 0x72,
|
||||||
0x52, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x53, 0x0a, 0x14, 0x77, 0x6f,
|
0x6c, 0x12, 0x53, 0x0a, 0x14, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x74,
|
||||||
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69,
|
0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||||
0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69,
|
0x20, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x57, 0x6f,
|
||||||
0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
|
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f,
|
||||||
0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x6f, 0x72, 0x6b,
|
0x6e, 0x52, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e,
|
||||||
0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12,
|
0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70,
|
||||||
0x25, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
|
0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
|
||||||
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61,
|
0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a,
|
||||||
0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70,
|
0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72,
|
||||||
0x61, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
|
||||||
0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12,
|
0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70,
|
||||||
0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18,
|
0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f,
|
||||||
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
|
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x77, 0x6f, 0x72,
|
||||||
0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f,
|
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
|
||||||
0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
|
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
|
||||||
0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64,
|
0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x77, 0x6f, 0x72, 0x6b, 0x73,
|
||||||
0x12, 0x32, 0x0a, 0x15, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6f, 0x77,
|
0x70, 0x61, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c,
|
||||||
0x6e, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
|
||||||
0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x45,
|
0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x1a, 0x79, 0x0a, 0x06, 0x43,
|
||||||
0x6d, 0x61, 0x69, 0x6c, 0x1a, 0x79, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c,
|
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f,
|
||||||
0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
|
||||||
0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05,
|
0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||||
0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x74, 0x61,
|
0x28, 0x0c, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74,
|
||||||
0x74, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03,
|
0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72,
|
||||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
|
0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73,
|
||||||
0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74,
|
0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65,
|
||||||
0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a,
|
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xda, 0x01, 0x0a, 0x04, 0x50, 0x6c, 0x61, 0x6e, 0x12,
|
||||||
0xda, 0x01, 0x0a, 0x04, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66,
|
0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69,
|
|
||||||
0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
|
|
||||||
0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
|
|
||||||
0x46, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c,
|
|
||||||
0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x76,
|
|
||||||
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
|
|
||||||
0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
|
|
||||||
0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x15, 0x72, 0x69, 0x63, 0x68, 0x5f,
|
|
||||||
0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73,
|
|
||||||
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69,
|
|
||||||
0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x52, 0x69, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
|
|
||||||
0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x69, 0x63, 0x68, 0x50, 0x61, 0x72,
|
|
||||||
0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x52, 0x0a, 0x05,
|
|
||||||
0x41, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
|
|
||||||
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f,
|
|
||||||
0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f,
|
|
||||||
0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04,
|
|
||||||
0x70, 0x6c, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e,
|
|
||||||
0x1a, 0x08, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0xb3, 0x01, 0x0a, 0x07, 0x52,
|
|
||||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01,
|
|
||||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
|
|
||||||
0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x6c, 0x61,
|
|
||||||
0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x34, 0x0a, 0x05, 0x61, 0x70, 0x70,
|
|
||||||
0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69,
|
|
||||||
0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
|
|
||||||
0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x05, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x12,
|
|
||||||
0x37, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
||||||
0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72,
|
0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72,
|
||||||
0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x00,
|
0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06,
|
||||||
0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
|
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65,
|
||||||
0x1a, 0xbb, 0x01, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x14, 0x0a,
|
0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
|
||||||
0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x74,
|
0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50,
|
||||||
0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01,
|
0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x70,
|
||||||
0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x09, 0x72, 0x65, 0x73,
|
0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x53,
|
||||||
0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70,
|
0x0a, 0x15, 0x72, 0x69, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
|
||||||
0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75,
|
0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
|
||||||
0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x3a,
|
0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x52, 0x69, 0x63, 0x68,
|
||||||
0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03,
|
0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13,
|
||||||
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72,
|
0x72, 0x69, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c,
|
||||||
0x2e, 0x52, 0x69, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x0a,
|
0x75, 0x65, 0x73, 0x1a, 0x52, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x35, 0x0a, 0x06,
|
||||||
0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c,
|
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70,
|
||||||
0x61, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x1a, 0x77,
|
0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69,
|
||||||
0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x6c, 0x6f,
|
0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e,
|
||||||
0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73,
|
0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x6f, 0x67,
|
0x0c, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x1a, 0x08, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, 0x65,
|
||||||
0x12, 0x3d, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01,
|
0x6c, 0x1a, 0xb3, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a,
|
||||||
0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72,
|
0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72,
|
||||||
0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c,
|
0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73,
|
||||||
0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x42,
|
0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e,
|
||||||
0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x2a, 0x3f, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65,
|
0x12, 0x34, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
0x76, 0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x00, 0x12, 0x09,
|
0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72,
|
||||||
0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46,
|
0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52,
|
||||||
0x4f, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x09, 0x0a,
|
0x05, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c,
|
||||||
0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x2a, 0x3b, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x53,
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69,
|
||||||
0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, 0x4f,
|
0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43,
|
||||||
0x57, 0x4e, 0x45, 0x52, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e,
|
0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42,
|
||||||
0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x55, 0x42,
|
0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xbb, 0x01, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70,
|
||||||
0x4c, 0x49, 0x43, 0x10, 0x02, 0x2a, 0x37, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61,
|
0x6c, 0x65, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20,
|
||||||
0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05,
|
0x01, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72,
|
||||||
0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10,
|
0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
|
||||||
0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x10, 0x02, 0x32, 0xa3,
|
0x12, 0x33, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20,
|
||||||
0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x42,
|
0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65,
|
||||||
0x0a, 0x05, 0x50, 0x61, 0x72, 0x73, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73,
|
0x72, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f,
|
||||||
0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75,
|
0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
|
||||||
0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65,
|
0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x76,
|
||||||
0x72, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x52, 0x69, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61,
|
||||||
0x30, 0x01, 0x12, 0x50, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12,
|
0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
|
||||||
0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72,
|
0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52,
|
||||||
0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
0x04, 0x70, 0x6c, 0x61, 0x6e, 0x1a, 0x77, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||||
0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72,
|
0x65, 0x12, 0x24, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
|
||||||
0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67,
|
||||||
0x28, 0x01, 0x30, 0x01, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
|
0x48, 0x00, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x3d, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c,
|
||||||
0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2f, 0x70,
|
0x65, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x76,
|
||||||
0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x72,
|
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f,
|
||||||
0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f,
|
||||||
|
0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x2a, 0x3f,
|
||||||
|
0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52,
|
||||||
|
0x41, 0x43, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x01,
|
||||||
|
0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x57, 0x41,
|
||||||
|
0x52, 0x4e, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x2a,
|
||||||
|
0x3b, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76,
|
||||||
|
0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x00, 0x12, 0x11, 0x0a,
|
||||||
|
0x0d, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01,
|
||||||
|
0x12, 0x0a, 0x0a, 0x06, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x02, 0x2a, 0x37, 0x0a, 0x13,
|
||||||
|
0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74,
|
||||||
|
0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x00, 0x12, 0x08,
|
||||||
|
0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x53, 0x54,
|
||||||
|
0x52, 0x4f, 0x59, 0x10, 0x02, 0x32, 0xa3, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73,
|
||||||
|
0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x73, 0x65, 0x12, 0x1a,
|
||||||
|
0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72,
|
||||||
|
0x73, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x72, 0x6f,
|
||||||
|
0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x2e, 0x52,
|
||||||
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x50, 0x0a, 0x09, 0x50, 0x72, 0x6f,
|
||||||
|
0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69,
|
||||||
|
0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52,
|
||||||
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69,
|
||||||
|
0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52,
|
||||||
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x2d, 0x5a, 0x2b, 0x67,
|
||||||
|
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2f,
|
||||||
|
0x63, 0x6f, 0x64, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65,
|
||||||
|
0x72, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||||
|
0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
|
@ -117,7 +117,7 @@ message Agent {
|
||||||
int32 connection_timeout_seconds = 11;
|
int32 connection_timeout_seconds = 11;
|
||||||
string troubleshooting_url = 12;
|
string troubleshooting_url = 12;
|
||||||
string motd_file = 13;
|
string motd_file = 13;
|
||||||
bool delay_login_until_ready = 14;
|
bool login_before_ready = 14;
|
||||||
int32 startup_script_timeout_seconds = 15;
|
int32 startup_script_timeout_seconds = 15;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
"os/user"
|
||||||
"path"
|
"path"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
|
@ -29,14 +30,26 @@ type manifest struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
// Set default configs for the docs
|
for _, env := range os.Environ() {
|
||||||
err := os.Setenv("CODER_CONFIG_DIR", "~/.config/coderv2")
|
if strings.HasPrefix(env, "CODER_") {
|
||||||
if err != nil {
|
split := strings.SplitN(env, "=", 2)
|
||||||
log.Fatal("Unable to set default value for CODER_CONFIG_DIR: ", err)
|
if err := os.Unsetenv(split[0]); err != nil {
|
||||||
|
log.Fatal("Unable to unset ", split[0], ": ", err)
|
||||||
}
|
}
|
||||||
err = os.Setenv("CODER_CACHE_DIRECTORY", "~/.cache/coder")
|
}
|
||||||
|
}
|
||||||
|
for k, v := range map[string]string{
|
||||||
|
"CODER_CONFIG_DIR": "~/.config/coderv2",
|
||||||
|
"CODER_CACHE_DIRECTORY": "~/.cache/coder",
|
||||||
|
} {
|
||||||
|
if err := os.Setenv(k, v); err != nil {
|
||||||
|
log.Fatal("Unable to set default value for ", k, ": ", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
u, err := user.Current()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal("Unable to set default value for CODER_CACHE_DIRECTORY: ", err)
|
log.Fatal("Error on getting the current user: ", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the cmd CLI
|
// Get the cmd CLI
|
||||||
|
@ -97,7 +110,10 @@ func main() {
|
||||||
}
|
}
|
||||||
content = strings.ReplaceAll(content, dir, "<current-directory>")
|
content = strings.ReplaceAll(content, dir, "<current-directory>")
|
||||||
|
|
||||||
err = os.WriteFile(filepath, []byte(content), 0644) // #nosec
|
// Remove all absolute home paths.
|
||||||
|
content = strings.ReplaceAll(content, u.HomeDir, "~")
|
||||||
|
|
||||||
|
err = os.WriteFile(filepath, []byte(content), 0o644) // #nosec
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal("Error on save file at ", filepath, ": ", err)
|
log.Fatal("Error on save file at ", filepath, ": ", err)
|
||||||
}
|
}
|
||||||
|
@ -127,7 +143,7 @@ func main() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal("Error on marshal manifest.json: ", err)
|
log.Fatal("Error on marshal manifest.json: ", err)
|
||||||
}
|
}
|
||||||
err = os.WriteFile(manifestFilepath, manifestFile, 0644) // #nosec
|
err = os.WriteFile(manifestFilepath, manifestFile, 0o644) // #nosec
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal("Error on write update on manifest.json: ", err)
|
log.Fatal("Error on write update on manifest.json: ", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -939,7 +939,7 @@ export interface WorkspaceAgent {
|
||||||
readonly latency?: Record<string, DERPRegion>
|
readonly latency?: Record<string, DERPRegion>
|
||||||
readonly connection_timeout_seconds: number
|
readonly connection_timeout_seconds: number
|
||||||
readonly troubleshooting_url: string
|
readonly troubleshooting_url: string
|
||||||
readonly delay_login_until_ready: boolean
|
readonly login_before_ready: boolean
|
||||||
readonly startup_script_timeout_seconds: number
|
readonly startup_script_timeout_seconds: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -136,13 +136,15 @@ const ConnectedStatus: React.FC<{
|
||||||
agent: WorkspaceAgent
|
agent: WorkspaceAgent
|
||||||
}> = ({ agent }) => {
|
}> = ({ agent }) => {
|
||||||
// NOTE(mafredri): Keep this behind feature flag for the time-being,
|
// NOTE(mafredri): Keep this behind feature flag for the time-being,
|
||||||
// if delay_login_until_ready is true, the user has updated to
|
// if login_before_ready is false, the user has updated to
|
||||||
// terraform-provider-coder v0.6.7 and opted in to the functionality.
|
// terraform-provider-coder v0.6.10 and opted in to the functionality.
|
||||||
//
|
//
|
||||||
// Remove check once documentation is in place and we do a breaking
|
// Remove check once documentation is in place and we do a breaking
|
||||||
// release indicating startup script behavior has changed.
|
// release indicating startup script behavior has changed.
|
||||||
// https://github.com/coder/coder/issues/5749
|
// https://github.com/coder/coder/issues/5749
|
||||||
if (agent.delay_login_until_ready) {
|
if (agent.login_before_ready) {
|
||||||
|
return <ReadyLifeCycle />
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<ChooseOne>
|
<ChooseOne>
|
||||||
<Cond condition={agent.lifecycle_state === "ready"}>
|
<Cond condition={agent.lifecycle_state === "ready"}>
|
||||||
|
@ -160,8 +162,6 @@ const ConnectedStatus: React.FC<{
|
||||||
</ChooseOne>
|
</ChooseOne>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
return <ReadyLifeCycle />
|
|
||||||
}
|
|
||||||
|
|
||||||
const DisconnectedStatus: React.FC = () => {
|
const DisconnectedStatus: React.FC = () => {
|
||||||
const styles = useStyles()
|
const styles = useStyles()
|
||||||
|
|
|
@ -309,7 +309,7 @@ export const MockWorkspaceAgent: TypesGen.WorkspaceAgent = {
|
||||||
connection_timeout_seconds: 120,
|
connection_timeout_seconds: 120,
|
||||||
troubleshooting_url: "https://coder.com/troubleshoot",
|
troubleshooting_url: "https://coder.com/troubleshoot",
|
||||||
lifecycle_state: "starting",
|
lifecycle_state: "starting",
|
||||||
delay_login_until_ready: true,
|
login_before_ready: false,
|
||||||
startup_script_timeout_seconds: 120,
|
startup_script_timeout_seconds: 120,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue