Skip to content

Feat/job service dashboard#775

Closed
NishchayRajput wants to merge 11 commits intogoharbor:mainfrom
NishchayRajput:feat/job-service-dashboard
Closed

Feat/job service dashboard#775
NishchayRajput wants to merge 11 commits intogoharbor:mainfrom
NishchayRajput:feat/job-service-dashboard

Conversation

@NishchayRajput
Copy link
Copy Markdown

Description

This feature introduces a new Harbor CLI Job Service command group that brings core Job Service Dashboard capabilities into CLI workflows for system administrators.

New top-level command:

  • harbor jobservice

High-level goals delivered in this iteration:

  1. Expose Job Service monitoring and control operations from CLI.
  2. Support queue lifecycle operations with both interactive and non-interactive UX.
  3. Add safer action targeting (state-aware pause/resume selection).
  4. Support batch queue operations (multi-select and multi-type input).

Type of Change

1) Root command integration

  • Added jobservice into main CLI command tree under System commands.
  • Users now discover this feature directly from harbor --help.

2) Worker pools and workers visibility

  • harbor jobservice pools list
    • Lists available worker pools.
  • harbor jobservice workers list [POOL_ID]
    • Lists workers for a selected pool.
    • Defaults to all pools when POOL_ID is not provided.

3) Queue monitoring and control

  • harbor jobservice queues list
    • Lists queue type, pending count, latency, and paused state.
  • harbor jobservice queues stop
  • harbor jobservice queues pause
  • harbor jobservice queues resume

4) Interactive queue selection improvements

Interactive queue action mode is enabled when --type is not provided.

Enhancements added:

  • Multi-select picker for queue actions.
  • State-aware filtering:
    • resume only shows currently paused queues.
    • pause only shows currently unpaused queues.
    • stop shows all queue types.
  • Clear empty-state messages:
    • no paused queues available to resume
    • all queues are already paused

5) Schedules support

  • harbor jobservice schedules list --page --page-size
    • Supports pagination and displays X-Total-Count context.
  • harbor jobservice schedules status
    • Shows global scheduler paused/running state.
  • harbor jobservice schedules pause-all
  • harbor jobservice schedules resume-all
    • Implemented via queue action on scheduler type.

6) Job log retrieval

  • harbor jobservice jobs log --job-id
    • Fetches and prints plain-text log content for a specific job.

7) API integration layer

Implemented Job Service API wrappers in CLI API layer:

  • get worker pools

  • get workers by pool

  • list job queues

  • action pending jobs (stop/pause/resume)

  • get job log

  • list schedules

  • get scheduler paused status

  • Bug fix

  • New feature

  • Refactor

  • Documentation update

  • Chore / maintenance

Changes

Core command wiring:

  • cmd/harbor/root/cmd.go
  • cmd/harbor/root/jobservice/cmd.go

Jobservice commands:

  • cmd/harbor/root/jobservice/pools/list.go
  • cmd/harbor/root/jobservice/workers/workers.go
  • cmd/harbor/root/jobservice/workers/list.go
  • cmd/harbor/root/jobservice/queues/list.go
  • cmd/harbor/root/jobservice/schedules/list.go
  • cmd/harbor/root/jobservice/jobs/log.go

API layer:

  • pkg/api/jobservice_handler.go

Views:

  • pkg/views/jobservice/pools/view.go
  • pkg/views/jobservice/workers/view.go
  • pkg/views/jobservice/queues/view.go
  • pkg/views/jobservice/schedules/view.go

NucleoFusion and others added 11 commits March 29, 2026 00:19
Signed-off-by: Nishchay Rajput <nishchayr@iitbhilai.ac.in>
Signed-off-by: Nishchay Rajput <nishchayr@iitbhilai.ac.in>
Signed-off-by: Nishchay Rajput <nishchayr@iitbhilai.ac.in>
Signed-off-by: Nishchay Rajput <nishchayr@iitbhilai.ac.in>
Signed-off-by: Nishchay Rajput <nishchayr@iitbhilai.ac.in>
…or#734)

Add basic unit tests for password command to improve coverage.

Signed-off-by: yimtun <yim.tune@gmail.com>
Signed-off-by: Nishchay Rajput <nishchayr@iitbhilai.ac.in>
Signed-off-by: bupd <bupdprasanth@gmail.com>
Signed-off-by: Nishchay Rajput <nishchayr@iitbhilai.ac.in>
Signed-off-by: Nishchay Rajput <nishchayr@iitbhilai.ac.in>
…cts (goharbor#700)

Co-authored-by: Prasanth Baskar <bupdprasanth@gmail.com>
Signed-off-by: Nishchay Rajput <nishchayr@iitbhilai.ac.in>
…oharbor#753)

Signed-off-by: marwan562 <mixing.gamer546@gmail.com>
Signed-off-by: Nishchay Rajput <nishchayr@iitbhilai.ac.in>
@NishchayRajput NishchayRajput force-pushed the feat/job-service-dashboard branch from 355d77c to 1f835ed Compare March 28, 2026 18:50
@Sypher845
Copy link
Copy Markdown
Contributor

Hey @NishchayRajput ,
Just wanted to mention that i am currently working on the jobservice command for the ongoing LFX term.

@NishchayRajput
Copy link
Copy Markdown
Author

hi @Sypher845 , It's great to hear but I have made a good progeress over it and it would be great if you could assign it to me. Before starting I saw your tracker issue in which it wasn't started so I began with it.
@Vad1mo

@NishchayRajput
Copy link
Copy Markdown
Author

This PR messed up closing this one and opening new.

@NishchayRajput NishchayRajput deleted the feat/job-service-dashboard branch March 28, 2026 19:10
@NishchayRajput
Copy link
Copy Markdown
Author

Further discussion to be continue over this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[feature]: Implementing Jobservice Dashboard in CLI

8 participants