UCloud logo UCloud logo UCloud
v2025.1.0
  1. UCloud/Core
  2. 1. Introduction
  3. 2. Projects
  4. 3. Accounting
  5. 4. Orchestration
  6. UCloud/IM for Slurm-based HPC
  7. 5. Installation
  8. 6. Architecture and Networking
  9. 7. User and Project Management
  10. 8. Filesystem Integration
    1. 8.1. Inter-provider file transfers
  11. 9. Slurm Integration
    1. 9.1. Application Management
    2. 9.2. Built-in Applications
  12. 10. Reference
    1. 10.1. Configuration
    2. 10.2. CLI
  13. 11. Appendix
    1. 11.1. Built-in Application Index
  14. UCloud/IM for Kubernetes
  15. 12. Installation
  16. 13. Architecture and Networking
  17. 14. Filesystem Integration
  18. 15. Compute Jobs
    1. 15.1. Public Links
    2. 15.2. Public IPs
    3. 15.3. License Servers
    4. 15.4. SSH Servers
  19. 16. Integrated applications
    1. 16.1. Syncthing
    2. 16.2. Integrated terminal
  20. 17. Reference
    1. 17.1. Configuration
  21. H: Procedures
  22. 18. H: Procedures
  23. 19. H: Introduction
  24. 20. H: Auditing
  25. 21. H: Auditing scenario
  26. 22. H: GitHub actions
  27. 23. H: Deployment
  28. 24. H: 3rd party dependencies (risk assesment)
  1. Links
  2. Source Code
  3. Releases

Integrated terminal

The integrated terminal is an internal integrated application that provides an interactive shell environment. It runs as a dedicated job whose container is kept idle and is intended to be attached to by the platform. End-users can do this through the user-interface.

Unlike Syncthing, the integrated terminal does not create an external Service. Its primary purpose is to provide a compute environment with selected storage mounted.

When the integrated terminal is enabled and eligible to run:

  • A dedicated job is registered for the owner.
  • The job is configured with a list of folders (UCloud paths).
  • The job is started only while it is actively used and is stopped after inactivity.

The integrated terminal is configured by which folders to mount. These are automatically added to the configuration by the user-interface as the user requests a shell. The terminal will not run unless at least one folder is configured.

Each folder path is validated before the terminal is allowed to run:

  • The drive must exist
  • The drive must not be locked
  • The owner must have access to the drive

The integrated terminal stops itself after a period of inactivity (15 minutes). This is based on the timestamp of the last recorded key press for the job. If the last activity is older than the inactivity threshold, then the job is stopped.

Pod behavior

The container in the terminal pod is modified as follows:

  • CPU/memory requests and limits are set to fixed values (500 mCPU and 2GB RAM)
  • The container image is selected from a discovered application group (terminal-ubuntu)

The intent is to provide a stable runtime environment for attaching an interactive session. This pod will only be scheduled on nodes labeled with ucloud.dk/machine=terminal.

Configuration

The integrated terminal feature must be enabled through the configuration. Below is an example configuration:

services:
  type: Kubernetes

  compute:
    integratedTerminal:
      enabled: true

You must also configure at least one node labeled with ucloud.dk/machine=terminal.

Previous Syncthing
Next Reference