mirror of
https://github.com/ChristianLight/tutor.git
synced 2025-01-06 07:30:40 +00:00
feat: add tutor [dev|local|k8s] status
command
This commit is contained in:
parent
407a8566df
commit
b6999824a7
@ -4,6 +4,7 @@ Note: Breaking changes between versions are indicated by "💥".
|
||||
|
||||
## Unreleased
|
||||
|
||||
- [Feature] Add `tutor [dev|local|k8s] status` command, which provides basic information about the platform's status.
|
||||
- 💥[Improvement] Make it possible to run `tutor k8s exec <command with multiple arguments>` (#636). As a consequence, it is no longer possible to run quoted commands: `tutor k8s exec "<some command>"`. Instead, you should remove the quotes: `tutor k8s exec <some command>`.
|
||||
|
||||
## v13.1.11 (2022-04-12)
|
||||
|
@ -64,6 +64,10 @@ On Minikube, the dashboard is already installed. To access the dashboard, run::
|
||||
|
||||
minikube dashboard
|
||||
|
||||
Lastly, Tutor itself provides a rudimentary listing of your cluster's nodes, workloads, and services::
|
||||
|
||||
tutor k8s status
|
||||
|
||||
Technical details
|
||||
-----------------
|
||||
|
||||
|
@ -98,6 +98,14 @@ Finally, tracking logs that store `user events <https://edx.readthedocs.io/proje
|
||||
$(tutor config printroot)/data/lms/logs/tracking.log
|
||||
$(tutor config printroot)/data/cms/logs/tracking.log
|
||||
|
||||
Status
|
||||
~~~~~~
|
||||
|
||||
You can view your platform's containers::
|
||||
|
||||
tutor local status
|
||||
|
||||
Notice the **State** column in the output. It will tell you whether each container is starting, restarting, running (``Up``), cleanly stopped (``Exit 0``), or stopped on error (``Exit N``, where N ≠ 0).
|
||||
|
||||
Common tasks
|
||||
------------
|
||||
|
@ -263,6 +263,12 @@ def logs(context: click.Context, follow: bool, tail: bool, service: str) -> None
|
||||
context.invoke(dc_command, command="logs", args=args)
|
||||
|
||||
|
||||
@click.command(help="Print status information for containers")
|
||||
@click.pass_context
|
||||
def status(context: click.Context) -> None:
|
||||
context.invoke(dc_command, command="ps")
|
||||
|
||||
|
||||
@click.command(
|
||||
short_help="Direct interface to docker-compose.",
|
||||
help=(
|
||||
@ -307,3 +313,4 @@ def add_commands(command_group: click.Group) -> None:
|
||||
command_group.add_command(bindmount_command)
|
||||
command_group.add_command(execute)
|
||||
command_group.add_command(logs)
|
||||
command_group.add_command(status)
|
||||
|
@ -501,6 +501,13 @@ def kubectl_apply(root: str, *args: str) -> None:
|
||||
utils.kubectl("apply", "--kustomize", tutor_env.pathjoin(root), *args)
|
||||
|
||||
|
||||
@click.command(help="Print status information for all k8s resources")
|
||||
@click.pass_obj
|
||||
def status(context: K8sContext) -> int:
|
||||
config = tutor_config.load(context.root)
|
||||
return utils.kubectl("get", "all", *resource_namespace_selector(config))
|
||||
|
||||
|
||||
def kubectl_exec(config: Config, service: str, command: List[str]) -> int:
|
||||
selector = f"app.kubernetes.io/name={service}"
|
||||
pods = K8sClients.instance().core_api.list_namespaced_pod(
|
||||
@ -573,3 +580,4 @@ k8s.add_command(logs)
|
||||
k8s.add_command(wait)
|
||||
k8s.add_command(upgrade)
|
||||
k8s.add_command(apply_command)
|
||||
k8s.add_command(status)
|
||||
|
Loading…
Reference in New Issue
Block a user