Skip to content

Composed Action spike #546

@lukaszo

Description

@lukaszo

Description

Sometimes we need to create so-called "Umbrella" manifests where we want to deploy several applications. This requires creating one Interface, InterfaceGroup, Types and so on. The unique part about it is that it has only one Implementation.
The only purpose of this implementation is to group actions in one place and pass artifacts between them.
This requires a lot of boilerplate YAML.

The solution may be to allow to run Composed Actions(CA) directly from API, without requiring them to exist in hub.
The syntax of CA would be very similar to the Implementation. It could have embedded policy and input.
It could be possible to store CA in files on remote locations and run actions by just providing a link to the file.

This would be similar to what Docker Compose is to Docker.

Problems:

  • Composed actions may become big. This will require creating some guideline which tells when to use what
  • It may also require defining temporal Types

Alternatives:

  • Allow creating Implementations without Interfaces

To discuss:

  • Do we need Interfaces for such Implementations? Probably not
  • Should they be stored in Hub? Probably yes

Reason

  • Improve User Experience
  • Reduce number of "Umbrella" manifests in hub

Use cases

System user will be able to create advanced deploy scenarios without having access to the HUB.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/communityRelates to all community activitiesarea/documentationRelated to all activities around documentationarea/ocfRelates to Open Capability FormatenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions