8000 feat: add provisioner daemon and jobs endpoints and commands by mafredri · Pull Request #15940 · coder/coder · GitHub
[go: up one dir, main page]

Skip to content

feat: add provisioner daemon and jobs endpoints and commands #15940

New issue

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

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

Already on GitHub? Sign in to your account

Closed
wants to merge 21 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
wip
  • Loading branch information
mafredri committed Jan 2, 2025
commit 449df5da84ad38747b25da41e6ced6cb8f6cca4c
3 changes: 2 additions & 1 deletion cli/provisionerjobs.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func (r *RootCmd) provisionerJobsList() *serpent.Command {
cliui.JSONFormat(),
)
status []string
limit int64 = 50
limit int64
)

cmd := &serpent.Command{
Expand Down Expand Up @@ -107,6 +107,7 @@ func (r *RootCmd) provisionerJobsList() *serpent.Command {
FlagShorthand: "l",
Env: "CODER_PROVISIONER_JOB_LIST_LIMIT",
Description: "Limit the number of jobs returned.",
Default: "50",
Value: serpent.Int64Of(&limit),
},
}...)
Expand Down
1 change: 1 addition & 0 deletions cli/testdata/coder_--help.golden
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ SUBCOMMANDS:
ping Ping a workspace
port-forward Forward ports from a workspace to the local machine. For
reverse port forwarding, use "coder ssh -R".
provisioners View and manage provisioner daemons and jobs
publickey Output your Coder public key used for Git operations
rename Rename a workspace
reset-password Directly connect to the database to reset a user's
Expand Down
7 changes: 6 additions & 1 deletion cli/testdata/coder_list_--output_json.golden
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,12 @@
"scope": "organization"
},
"queue_position": 0,
"queue_size": 0
"queue_size": 0,
"organization_id": "[first org ID]",
"input": {
"workspace_build_id": "[workspace build ID]"
},
"type": "workspace_build"
},
"reason": "initiator",
"resources": [],
Expand Down
15 changes: 15 additions & 0 deletions cli/testdata/coder_provisioners_--help.golden
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
coder v0.0.0-devel

USAGE:
coder provisioners

View and manage provisioner daemons and jobs

Aliases: provisioner

SUBCOMMANDS:
jobs View and manage provisioner jobs
list List provisioner daemons in an organization

———
Run `coder --help` for a list of global options.
14 changes: 14 additions & 0 deletions cli/testdata/coder_provisioners_jobs_--help.golden
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
coder v0.0.0-devel

USAGE:
coder provisioners jobs

View and manage provisioner jobs

Aliases: job

SUBCOMMANDS:
list List provisioner jobs

———
Run `coder --help` for a list of global options.
27 changes: 27 additions & 0 deletions cli/testdata/coder_provisioners_jobs_list_--help.golden
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
coder v0.0.0-devel

USAGE:
coder provisioners jobs list [flags]

List provisioner jobs

Aliases: ls

OPTIONS:
-O, --org string, $CODER_ORGANIZATION
Select which organization (uuid or name) to use.

-c, --column [id|created at|started at|completed at|canceled at|error|error code|status|worker id|file id|tags|queue position|queue size|organization id|template version id|workspace build id|type|available workers|organization|queue] (default: created at,id,organization,status,type,queue,tags)
Columns to display in table output.

-l, --limit int, $CODER_PROVISIONER_JOB_LIST_LIMIT (default: 50)
Limit the number of jobs returned.

-o, --output table|json (default: table)
Output format.

-s, --status [pending|running|succeeded|canceling|canceled|failed|unknown], $CODER_PROVISIONER_JOB_LIST_STATUS
Filter by job status.

———
Run `coder --help` for a list of global options.
21 changes: 21 additions & 0 deletions cli/testdata/coder_provisioners_list_--help.golden
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
coder v0.0.0-devel

USAGE:
coder provisioners list [flags]

List provisioner daemons in an organization

Aliases: ls

OPTIONS:
-O, --org string, $CODER_ORGANIZATION
Select which organization (uuid or name) to use.

-c, --column [id|organization id|created at|last seen at|name|version|api version|tags|status|current job id|current job status|previous job id|previous job status|organization] (default: name,organization,status,created at,last seen at,version,tags)
Columns to display in table output.

-o, --output table|json (default: table)
Output format.

———
Run `coder --help` for a list of global options.
5 changes: 5 additions & 0 deletions coderd/database/queries.sql.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions coderd/database/queries/provisionerdaemons.sql
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,16 @@ SELECT
ELSE 'idle'
END
END::provisioner_daemon_status AS status,
pk.name AS type,
-- NOTE(mafredri): sqlc.embed doesn't support nullable tables nor renaming them.
current_job.id AS current_job_id,
current_job.job_status AS current_job_status,
previous_job.id AS previous_job_id,
previous_job.job_status AS previous_job_status
FROM
provisioner_daemons pd
JOIN
provisioner_keys pk ON pk.id = pd.key_id
LEFT JOIN
provisioner_jobs current_job ON (
current_job.worker_id = pd.id
Expand Down
5 changes: 0 additions & 5 deletions docs/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -1148,11 +1148,6 @@
"description": "View and manage provisioner jobs",
"path": "reference/cli/provisioners_jobs.md"
},
{
"title": "provisioners jobs cancel",
"description": "Cancel a provisioner job",
"path": "reference/cli/provisioners_jobs_cancel.md"
},
{
"title": "provisioners jobs list",
"description": "List provisioner jobs",
Expand Down
7 changes: 3 additions & 4 deletions docs/reference/cli/provisioners_jobs.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 0 additions & 22 deletions docs/reference/cli/provisioners_jobs_cancel.md

This file was deleted.

1 change: 1 addition & 0 deletions docs/reference/cli/provisioners_jobs_list.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions docs/reference/cli/provisioners_keys_list.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion enterprise/cli/provisionerkeys.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,8 @@ func (r *RootCmd) provisionerKeysList() *serpent.Command {
},
}

cmd.Options = serpent.OptionSet{}
orgContext.AttachOptions(cmd)
formatter.AttachOptions(&cmd.Options)

return cmd
}
Expand Down
2 changes: 1 addition & 1 deletion enterprise/cli/testdata/coder_--help.golden
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ SUBCOMMANDS:
features List Enterprise features
groups Manage groups
licenses Add, delete, and list licenses
provisioner Manage provisioner daemons
provisioners View and manage provisioner daemons and jobs
server Start a Coder server

GLOBAL OPTIONS:
Expand Down
17 changes: 17 additions & 0 deletions enterprise/cli/testdata/coder_provisioners_--help.golden
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
coder v0.0.0-devel

USAGE:
coder provisioners

View and manage provisioner daemons and jobs

Aliases: provisioner

SUBCOMMANDS:
jobs View and manage provisioner jobs
keys Manage provisioner keys
list List provisioner daemons in an organization
start Run a provisioner daemon

———
Run `coder --help` for a list of global options.
14 changes: 14 additions & 0 deletions enterprise/cli/testdata/coder_provisioners_jobs_--help.golden
1CF5
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
coder v0.0.0-devel

USAGE:
coder provisioners jobs

View and manage provisioner jobs

Aliases: job

SUBCOMMANDS:
list List provisioner jobs

———
Run `coder --help` for a list of global options.
27 changes: 27 additions & 0 deletions enterprise/cli/testdata/coder_provisioners_jobs_list_--help.golden
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
coder v0.0.0-devel

USAGE:
coder provisioners jobs list [flags]

List provisioner jobs

Aliases: ls

OPTIONS:
-O, --org string, $CODER_ORGANIZATION
Select which organization (uuid or name) to use.

-c, --column [id|created at|started at|completed at|canceled at|error|error code|status|worker id|file id|tags|queue position|queue size|organization id|template version id|workspace build id|type|available workers|organization|queue] (default: created at,id,organization,status,type,queue,tags)
Columns to display in table output.

-l, --limit int, $CODER_PROVISIONER_JOB_LIST_LIMIT (default: 50)
Limit the number of jobs returned.

-o, --output table|json (default: table)
Output format.

-s, --status [pending|running|succeeded|canceling|canceled|failed|unknown], $CODER_PROVISIONER_JOB_LIST_STATUS
Filter by job status.

———
Run `coder --help` for a list of global options.
16 changes: 16 additions & 0 deletions enterprise/cli/testdata/coder_provisioners_keys_--help.golden
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
coder v0.0.0-devel

USAGE:
coder provisioners keys

Manage provisioner keys

Aliases: key

SUBCOMMANDS:
create Create a new provisioner key
delete Delete a provisioner key
list List provisioner keys in an organization

———
Run `coder --help` for a list of global options.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
coder v0.0.0-devel

USAGE:
coder provisioners keys create [flags] <name>

Create a new provisioner key

OPTIONS:
-O, --org string, $CODER_ORGANIZATION
Select which organization (uuid or name) to use.

-t, --tag string-array, $CODER_PROVISIONERD_TAGS
Tags to filter provisioner jobs by.

———
Run `coder --help` for a list of global options.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
coder v0.0.0-devel

USAGE:
coder provisioners keys delete [flags] <name>

Delete a provisioner key

Aliases: rm

OPTIONS:
-O, --org string, $CODER_ORGANIZATION
Select which organization (uuid or name) to use.

-y, --yes bool
Bypass prompts.

———
Run `coder --help` for a list of global options.
15 changes: 15 additions & 0 deletions enterprise/cli/testdata/coder_provisioners_keys_list_--help.golden
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
coder v0.0.0-devel

USAGE:
coder provisioners keys list [flags]

List provisioner keys in an organization

Aliases: ls

OPTIONS:
-O, --org string, $CODER_ORGANIZATION
Select which organization (uuid or name) to use.

———
Run `coder --help` for a list of global options.
Loading
0