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
Statussub-resource and communicating its state using events.
Success criteria
The controller:
-
Renders the configuration of GitLab Shell according to SSHServerspecification. -
Configures and provisions the workload for GitLab Shell from SSHServerspecification. -
Updates and communicates the state and condition of application deployment. -
Scales the application when kubectl scalecommand is used to scale the resource up or down.
Edited by Hossein Pursultani