Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal/Question - Support for CI workflows #479

Open
rpau opened this issue Oct 5, 2022 · 4 comments
Open

Proposal/Question - Support for CI workflows #479

rpau opened this issue Oct 5, 2022 · 4 comments

Comments

@rpau
Copy link

rpau commented Oct 5, 2022

The readme, literally says:

Focused on application rather than container or orchestrator, Open Application Model brings modular, extensible, and portable design for defining application deployment with higher level API.

And this tweet has been very illustrative of what OAM provides: https://twitter.com/wonderflow1/status/1564888057647509504/photo/1

But I wonder if there is a way to expand the model to CI (e.g via Tekton or Argo Workflows) - which also requires infrastructure (e.g where to upload the containers), and therefore there are workflows and not just the CD parts. If I am right, I would appreciate to understand how to start.

I am certainly still a bit lost, so be patient with me :)

@wonderflow
Copy link
Member

wonderflow commented Oct 7, 2022

We're also trying to expand this model to CI part, but we don't have best practices now. Recently we have launched a project called workflow , it uses the same way to provide application-centric abstract and shares the same core engine with KubeVela.

The workflow can be a common workflow including CI/CD and it can leverages Tekton or Argo as runtime Implementation.

@blaggacao
Copy link

blaggacao commented Oct 7, 2022

In my personal opinion BPMN2.0 would be a novel (for techies) executable representation model but which suits extremely well for business people.

Now, CI leans more into the tech role, while CD leans more into the business role, I still thought to spread in the reference, here:

A good implementation (backed by Camunda) is https://zeebe.io.


Another interesting (food-for-thought) realization is when "build" parts in CI are disintermediated by a declarative closure build system a la Bazel or Nix/Guix.

This interestingly already reduces CI to a bare minimum skeleton. And it solves a big chunk of the same problem space.

Through standardization, one can even disintermediate the need to declare CI intructions at all, where the CI magically knows where to find stuff.

(https://github.com/divnix/std attempts to do that in the future)

EDIT: since we're gophers here, this is an example of such a complete build + test instructions for the CLI: https://github.com/divnix/std/blob/main/cells/std/cli.nix. And this is an example that produces a minimal OCI container: https://github.com/divnix/std/blob/dev-oci/cells/_automation/containers.nix

@rpau
Copy link
Author

rpau commented Oct 10, 2022

Today, I have found an interesting proposal based on Spinnaker that overlaps with OAM https://github.com/spinnaker/keel/blob/master/docs/preview-environments.md#proposed-changes-to-the-delivery-config

@rpau
Copy link
Author

rpau commented Oct 10, 2022

@wonderflow It is great that workflows can run on Tekton or Ago. I haven't found any documentation about the DSL tough.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants