lablup / lablup/backend.ai

Add exec API for kubectl exec support

Open
#7,988 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
670
Forks
183
Avg merge
15h 13m
Merged PRs (30d)
368

Description

## Motivation

- Enable running commands inside compute sessions via `kubectl exec`. Depends on the SSH proxy infrastructure.

## Required Features

1. **Exec semantics**
- Execute specified command in container
- Stream stdin/stdout/stderr
- Return exit code on completion
1. **Interactive and non-interactive modes**
- PTY allocation for interactive use (`-it` flag)
- Direct I/O for scripted commands

## Impact

- **Agent**: Low - Exec command handling
- **Manager**: Low - Exec endpoint wrapper

## Testing Scenarios

- Single command execution with exit code
- Interactive shell session
- Piped input/output for scripting
- Environment variable and working directory support

JIRA Issue: BA-3867

Contributor guide

Open the contributing guide

Research direction

Start by reading the SSH proxy infrastructure and the stated Agent and Manager responsibilities. Map how kubectl exec should support command execution, streamed stdin/stdout/stderr, exit codes, PTY allocation, environment variables, and working directories. Done means the listed single-command, interactive, piped-I/O, and environment scenarios work.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, kubernetes, python
Domain
api, backend, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.