Interoperable CI/CD Ecosystem
CDF
Mauricio Salatino @Salaboy
Staff Engineer @VMware
@KnativeProject
salaboy
salaboy
The Continuous Delivery Foundation
http://cd.foundation
● We are focused on a creating Common Vocabulary for CD
● Interoperability Use cases & Research
○ Scenarios that highlight the need for interoperability
○ Events and data models in CI/CD products
○ Observability, monitoring and orchestration of event based workflows
● Deliverables
○ Protocol Agnostic Vocabulary (Spec)
○ Tooling: CloudEvent Binding, SDKs, frameworks, etc.
○ Use Cases / Best Practices
CDF Events SIG
● We started simple with a very focused set of entities
● Buckets
○ Core: Pipelines and Tasks
○ Source Code Version Control: Repositories, Branches, Changes
○ Continuous Integration: Builds, Tests, Artifacts
○ Continuous Deployment: Environments, Services
A Shared Vocabulary
An "event" is a data record expressing an occurrence and its context.
Events are everywhere!
<Pipeline Started>
<Branch Created> <Change Submitted>
<Test Failed>
<Artifact Published>
<Service Deployed>
<Env Created>
Demo: Interoperability using CD Events
Projects involved:
● Tekton
● Keptn
● Knative
Events in Action
Extends Kubernetes to understand about Cloud Native Pipelines
● Declarative approach
● Lightweight
● Non-Opinionated
● CloudEvents Ready
Tekton (http://tekton.dev)
Lifecycle Management for our Cloud Native Apps
● Orchestration of tools related with CD
● Event-Driven and CloudEvents ready
● Add Quality Gates and Remediation
Keptn (http://keptn.sh)
Extends Kubernetes with Consumers and Producers
● Natively works with Cloud Events
● Define Triggers (Subscriptions)
● Knative Event Brokers abstract the underlying
implementations such as:
○ HTTP
○ Kafka
○ Google Pub/Sub
○ Rabbit MQ
Knative Eventing (http://knative.dev)
Demo
Local Environment, KIND, Docker, Keptn, Tekton, Knative, what can go wrong?
Big shout out to Andrea Frittoli who worked a lot on this PoC @blackchip76
https://github.com/cdfoundation/sig-events/tree/main/poc
Tekton Build Pipeline
Demo
Tekton Deployment Pipeline
Keptn Sequence to orchestrate our delivery process
We have:
Demo
Demo
Tekton
Events
Keptn
Events
Demo
Tekton
Events
Keptn
Events
Bi-Directional
Translator
Demo
Tekton
Events
Keptn
Events
CD events
Translator For
Tekton
CD events
Translator
Keptn
Demo
What transport would
you use? HTTP?
AMQP? NATS?
Demo
Demo
● Join the #sig-events channel on CDF Slack
● Bi-weekly meetings
● Contribute to Vocabulary and SDKs
● Implement Events in your projects or join current initiatives
○ For Example CloudEvents plugin for Jenkins
● We welcome uses cases, ideas, collaboration, code and positive vibes
How to Contribute
● CDF Interoperability SIG: https://github.com/cdfoundation/sig-interoperability
● CD Events SIG: https://github.com/cdfoundation/sig-events/
● PoC: https://github.com/cdfoundation/sig-events/tree/main/poc
● Events vocabulary: https://github.com/cdfoundation/sig-events/tree/main/vocabulary-draft
Other References
@salaboy
Thank you!!
Questions?

Keptn Meetup Interoperable ci/cd ecosystem

  • 1.
  • 2.
    Mauricio Salatino @Salaboy StaffEngineer @VMware @KnativeProject salaboy salaboy
  • 3.
    The Continuous DeliveryFoundation http://cd.foundation
  • 4.
    ● We arefocused on a creating Common Vocabulary for CD ● Interoperability Use cases & Research ○ Scenarios that highlight the need for interoperability ○ Events and data models in CI/CD products ○ Observability, monitoring and orchestration of event based workflows ● Deliverables ○ Protocol Agnostic Vocabulary (Spec) ○ Tooling: CloudEvent Binding, SDKs, frameworks, etc. ○ Use Cases / Best Practices CDF Events SIG
  • 5.
    ● We startedsimple with a very focused set of entities ● Buckets ○ Core: Pipelines and Tasks ○ Source Code Version Control: Repositories, Branches, Changes ○ Continuous Integration: Builds, Tests, Artifacts ○ Continuous Deployment: Environments, Services A Shared Vocabulary
  • 6.
    An "event" isa data record expressing an occurrence and its context. Events are everywhere! <Pipeline Started> <Branch Created> <Change Submitted> <Test Failed> <Artifact Published> <Service Deployed> <Env Created>
  • 7.
    Demo: Interoperability usingCD Events Projects involved: ● Tekton ● Keptn ● Knative Events in Action
  • 8.
    Extends Kubernetes tounderstand about Cloud Native Pipelines ● Declarative approach ● Lightweight ● Non-Opinionated ● CloudEvents Ready Tekton (http://tekton.dev)
  • 9.
    Lifecycle Management forour Cloud Native Apps ● Orchestration of tools related with CD ● Event-Driven and CloudEvents ready ● Add Quality Gates and Remediation Keptn (http://keptn.sh)
  • 10.
    Extends Kubernetes withConsumers and Producers ● Natively works with Cloud Events ● Define Triggers (Subscriptions) ● Knative Event Brokers abstract the underlying implementations such as: ○ HTTP ○ Kafka ○ Google Pub/Sub ○ Rabbit MQ Knative Eventing (http://knative.dev)
  • 11.
    Demo Local Environment, KIND,Docker, Keptn, Tekton, Knative, what can go wrong? Big shout out to Andrea Frittoli who worked a lot on this PoC @blackchip76 https://github.com/cdfoundation/sig-events/tree/main/poc
  • 12.
    Tekton Build Pipeline Demo TektonDeployment Pipeline Keptn Sequence to orchestrate our delivery process We have:
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
    Demo What transport would youuse? HTTP? AMQP? NATS?
  • 18.
  • 19.
  • 20.
    ● Join the#sig-events channel on CDF Slack ● Bi-weekly meetings ● Contribute to Vocabulary and SDKs ● Implement Events in your projects or join current initiatives ○ For Example CloudEvents plugin for Jenkins ● We welcome uses cases, ideas, collaboration, code and positive vibes How to Contribute
  • 21.
    ● CDF InteroperabilitySIG: https://github.com/cdfoundation/sig-interoperability ● CD Events SIG: https://github.com/cdfoundation/sig-events/ ● PoC: https://github.com/cdfoundation/sig-events/tree/main/poc ● Events vocabulary: https://github.com/cdfoundation/sig-events/tree/main/vocabulary-draft Other References
  • 22.