Implement controller for managing basic lifecycle of SSHServer

Summary

SSHServer controller is responsible for:

  • Generating Secrets that are used internally or by other components, including GitLab Rails application, notably SSH host keys.
  • Rendering GitLab Shell and OpenSSH configuration from specification.
  • Provisioning workload and other managed resources for GitLab Shell.
  • Reflecting the condition of resource with Status sub-resource and communicating its state using events.

Success criteria

The controller:

  • Renders the configuration of GitLab Shell according to SSHServer specification.
  • Configures and provisions the workload for GitLab Shell from SSHServer specification.
  • Updates and communicates the state and condition of application deployment.
  • Scales the application when kubectl scale command is used to scale the resource up or down.
Edited Nov 14, 2024 by Hossein Pursultani
Assignee Loading
Time tracking Loading