Skip to content

Investigate possible refactoring of guest SSH functionality into a mixin/trait #4567

@thrix

Description

@thrix

Context

From discussion about bootc guest implementation:

GuestSsh is the right place for bootc-related flags and facts. The target is not the "bootc provision plugin", but "a guest powered by bootc" - e.g. a Beaker or 1minutetip machine, governed and managed by bootc & co. That's why there is the "is bootc" flag/fact; if true, on the remote end, behind the SSH connection, is a guest spawned from an image, and requires bootc workflow to install packages, run playbooks and so on.

Proposal

Make SSH functionality a mixin/trait pattern, similar to what's being discussed for bootc support.

Being reachable over SSH seems like a trait/mixin. Eventually these mixins would all be used together:

  • artemis, beaker, connect, minute, and virtual guests are SSH-backed guests - they would include the SSH mixin and the bootc mixin since they must support both
  • container and mock would include neither of these two mixins

So we'd have two groups: one with both SSH and bootc support, and one group with neither.

Notes

This is related to the bootc guest implementation but should be handled as a separate patch/effort.

Original discussion

#4525 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    code | styleCode style changes not affecting functionality

    Type

    No type

    Projects

    Status

    backlog

    Status

    triaged

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions