OCI Image Compatibility Working Group

Weekly on Monday
Pacific Time, 1000 PST (1900 CET; 1300 EST; 0400 AEST; 1200 CST)

Dial by your location
+1 646 558 8656 US (New York)
+1 669 900 6833 US (San Jose)
877 369 0926 US Toll-free
855 880 1246 US Toll-free
Meeting ID: 644 941 5895
Find your local number: https://zoom.us/u/aLDk4OXTu

template at the bottom

October 7, 2024

Recording: https://youtu.be/bx1xI_jKPYA

Attendees

  • Marcin Franczyk
  • Brandon Mitchell
  • Vanessa Sochat
  • add yourself

Actionable Agenda Items

  • none

Presentation/Discussion Agenda Items

  • Plan for testing with Containerd and Kubernetes

Notes

Notes from the zoom chat:

00:38:12 Marcin Franczyk: https://github.com/kubernetes-sigs/node-feature-discovery/tree/master/source
00:53:48 Marcin Franczyk: https://github.com/containerd/platforms/blob/main/platforms.go#L146

September 16, 2024

Recording: https://youtu.be/A6ntgBjFKzo

Attendees

  • Brandon Mitchell
  • Vanessa Sochat
  • Marcin Franczyk

Actionable Agenda Items

  • none

Presentation/Discussion Agenda Items

Notes

  • none

July 15, 2024

Canceled - empty agenda.

July 8, 2024

Recording: https://youtu.be/Gvb83iiz7p8

Attendees

  • Marcin Franczyk
  • Brandon Mitchell
  • Christian Kniep
  • add yourself

Actionable Agenda Items

  • none

Presentation/Discussion Agenda Items

Notes

  • none

July 1, 2024

Canceled - no topics.

June 24, 2024

Recording: https://youtu.be/Z9BJ-rXlwzw

Attendees

  • Brandon Mitchell
  • Christian Kniep
  • Victor Lu
  • Dirk Müller

Notes

  • What is the actual role of the wg-compatibility in the overall picture (for example interaction with the kubernetes scheduler)?
    • could be on runtime and on scheduling level
    • focus is on building a POC to convince downstream consumers before OCI group pushes a new standard
  • Compared to fluid (https://www.cnfci.io/projects/fluid), which aims to optimize data locality and caching, how does it relate?
    • OCI aims wider than just kubernetes

June 17, 2024

Recording: https://youtu.be/0QiRKKzkpZ4

Attendees

  • Brandon Mitchell
  • Marcin Franczyk
  • Dirk Müller
  • Victor Lu
  • Vanessa Sochat

Actionable Agenda Items

  • none

Presentation/Discussion Agenda Items

  • Proposals I & J

Notes

  • add your notes

June 10, 2024

Recording: https://youtu.be/TPzRyi8tF9I

Attendees

  • Dirk Müller
  • Marcin Franczyk
  • Patrik Flykt
  • Vanessa Sochat
  • add yourself

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

June 3, 2024

Canceled - no topics.

May 27, 2024

Canceled - a holiday in the US.

May 20, 2024

Recording: https://youtu.be/IawP_05firA

Attendees

  • Marcin Franczyk
  • Brandon Mitchell
  • Joe Huang
  • Patrik Flykt
  • add yourself

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

  • Telco perspective on the image compatibility problem by Joe
  • Proposals recording
  • add your items

Notes

  • add your notes

May 13, 2024

Recording: https://youtu.be/I332zIsTwTs

Attendees

  • Marcin Franczyk
  • Brandon Mitchell
  • Victor Lu
  • Vanessa Sochat
  • add yourself

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

Notes

  • add your notes

May 6, 2024

Recording: https://youtu.be/V9N4qpsRqjY

Attendees

  • Marcin Franczyk
  • Brandon Mitchell
  • Victor Lu
  • Christian Kniep
  • Vanessa Sochat
  • Dirk Müller

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

Notes

  • add your notes

April 29, 2024

Recording: https://youtu.be/4HITIoTWuxA

Attendees

  • Marcin Franczyk
  • Brandon Mitchell
  • Dirk Müller
  • Victor Lu
  • add yourself

Actionable Agenda Items

  • Repurpose https://github.com/oci-playground for this working group - Brandon
  • Create a Google doc for the final design of the artifact approach - Marcin
  • add your items

Presentation/Discussion Agenda Items

Notes

  • add your notes

April 22, 2024

Recording: https://youtu.be/UfoxD_xFynk

Attendees

  • Brandon Mitchell
  • Dirk Müller
  • Marcin Franczyk
  • Bjorn Neergaard
  • Victor Lu
  • Vanessa Sochat
  • Christian Kniep

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

Notes

  • add your notes

April 15, 2024

Canceled - Container Plumbing Days

April 8, 2024

Recording: https://youtu.be/EErZRLWgDgU

Attendees

  • Dirk Müller
  • Patrik Flykt
  • Marcin Franczyk
  • Vanessa Sochat
  • Stephen Day
  • Christian Kniep
  • Victor Lu

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

  • Review of new proposals F and H
  • OCI-defined labels vs community labels

Notes

  • add your notes

April 1, 2024

Canceled

March 25, 2024

Recording: https://youtu.be/lM2CECFxH94

Attendees

  • Marcin Franczyk
  • Dirk Müller
  • Brandon Mitchell
  • Vanessa Sochat
  • Victor Lu

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

  • KubeCon feedback

Notes

  • add your notes

March 18, 2024

  • Meeting canceled for KubeCon EU.

March 11, 2024

Recording: https://youtu.be/tkOOGwTiorA

Attendees

  • Marcin Franczyk
  • Brandon Mitchell
  • Victor Lu
  • Patrik Flykt
  • add yourself

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

Notes

  • The meeting has been canceled. Not enough participants.

March 4, 2024

Recording: https://youtu.be/mjbXRF5_OIA

Attendees

  • Nathan Rini
  • Bjorn Neergaard
  • Patrik Flykt
  • Marcin Franczyk
  • Brandon Mitchell
  • Vanessa Sochat
  • add yourself

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

  • Received feedback so far.
  • Schema and spec for the final design - based on proposals B and D.

Notes

  • Most in the group don't like the idea (from proposal B) of including a graph in the spec

February 26, 2024

Recording: https://youtu.be/vVexEmodAYI

Attendees

  • Bjorn Neergard
  • Victor Lu
  • Brandon Mitchell
  • Marcin Franczyk
  • Vanessa Sochat
  • Patrik Flykt

Actionable Agenda Items

  • Make a list of OCI people who should provide us feedback - Marcin, Vanessa
  • Schedule meetings with container runtime maintainers to get feedback about the artifact way for the image selection - Marcin

Presentation/Discussion Agenda Items

  • Next steps for the working group.

Notes

  • We try to get feedback from specific people about the proposals (OCI and other opinionated personas).
    In the meantime, we try to consolidate the proposals.
    We delay the decision to roll out a survey to external communities.

February 19, 2024

Recording: https://youtu.be/ftyFFYhChjA

Attendees

  • Marcin Franczyk
  • Patrik Flykt
  • Brandon Mitchell
  • Christian Kniep
  • Victor Lu

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

  • Proposals review

Notes

February 12, 2024

Recording: https://youtu.be/FaYQ07Fye38

Attendees

  • Christian Kniep
  • Brandon Mitchell
  • Bjorn Neergaard
  • Marcin Franczyk
  • Victor Lu
  • Vanessa Sochat

Actionable Agenda Items

  • Resolve all threads in the proposals.

Presentation/Discussion Agenda Items

  • Proposals review

Notes

  • add your notes

February 5, 2024

Recording: https://youtu.be/JHeFbV5V_20

Attendees

  • Christian Kniep
  • Marcin Franczyk
  • Brandon Mitchell
  • Nathan Rini

Actionable Agenda Items

  • Convert use cases to the requirements and push to the repo. - Marcin
  • add your items

Presentation/Discussion Agenda Items

Notes

  • add your notes

February 5, 2024

Recording: https://youtu.be/JHeFbV5V_20

Attendees

  • Christian Kniep
  • Marcin Franczyk
  • Brandon Mitchell
  • Nathan Rini

Actionable Agenda Items

  • Convert use cases to the requirements and push to the repo. - Marcin
  • add your items

Presentation/Discussion Agenda Items

Notes

  • add your notes

January 29, 2024

Recording: https://youtu.be/dbJlO4dQLO8

Attendees

  • Brandon Mitchell
  • James Sturtevant
  • Victor Lu
  • Nathan Rini
  • Marcin Franczyk
  • Vanessa Sochat
  • Dirk Müller
  • Patrik Flykt

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

  • Drawing the line between user configuration of applications and image compatibility on a node.
  • Continue reviewing use cases
  • add your items

Notes

  • add your notes

January 22, 2024

Recording: https://youtu.be/nT47fo8Jr2o

Attendees

  • Brandon Mitchell
  • Vanessa Sochat
  • Dirk Müller
  • Christian Kniep
  • Patrik Flykt
  • Victor Lu

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

  • Christian has a FOSDEM lightening talk that will cover image compatibility
  • Continue reviewing use cases
  • add your items

Notes

  • add your notes

January 15, 2024

Recording: https://youtu.be/nDHQAEAzllc

Attendees

  • Till Wegmueller
  • Dirk Müller
  • Christian Kniep
  • Patrik Flykt
  • Christian Kniep

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

  • add your items

Notes

  • add your notes

January 8, 2024

Recording: https://youtu.be/8CjovCI3z64

Attendees

  • Brandon Mitchell
  • Vanessa Sochat
  • Till Wegmueller
  • Dirk Müller
  • Marcin Franczyk
  • Patrik Flykt

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

Notes

  • add your notes

December 18, 2023 - Americas

Recording: https://youtu.be/JwxO6B7Rv0U

Attendees

  • Brandon Mitchell
  • Dirk Müller
  • Victor Lu
  • Marcin Franczyk
  • Christian Kniep
  • Wayne Mesard
  • Vanessa Sochat
  • Jason Du
  • Patrik Flykt

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

Notes

  • Jan 8th is the next meeting.
  • Vanessa and Marcin volunteers to be potential maintainers of tools/libs in the future.

December 18, 2023 - EU/AP

Recording: https://youtu.be/4cicm3RdH50

Attendees

  • Marcin Franczyk
  • Joe Huang
  • Patrik Flykt

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

Notes

  • The meeting has been cancelled. Not enough participants.

December 11, 2023 - Americas

Recording: https://youtu.be/o8m420ET59U

Attendees

  • Christian Kniep
  • Dirk Muller
  • Marcin Franczyk
  • Wayne Mesard
  • Brandon Mitchell
  • Vanessa Sochat
  • Victor Lu
  • Patrik Flykt

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

Notes

  • We are still waiting for the repository permissions.
  • FOSDEM talk has been submited.
  • Use cases
    • "As an image maintainer, I want to update compatibility without having to re-release and re-distribute my image." - runtime maintainers can have some objections with that.

December 11, 2023 - EU/AP

Recording: https://youtu.be/lPukR-IM9vA

Attendees

  • Marcin Franczyk
  • Joe Huang
  • Patrik Flykt

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

Notes

  • The meeting has been cancelled. Not enough participants.

December 4, 2023 - Americas

Recording: https://youtu.be/g3w7yoYnuG4

Attendees

  • Wayne Mesard
  • Bjorn Neergaard
  • Victor Lu
  • Christian Kniep
  • Dirk Muller
  • Brandon Mitchell
  • Marcin Franczyk
  • Vanessa Sochat
  • Eduardo Arango Gutierez
  • Jason Du

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

Notes

  • Christian or Eduardo will submit a lightning talk for FOSDEM
  • Compatibility could be validated also against a host footprint
  • Consider restricted namespaces in the compatibility spec
    • for instance restricted GPU namespaces that could be maintained by specific group
  • We can extend platform variants for other architectures similar to ARM
  • Brandon described a potential implementation for runtime image selection:
    • Platform could be extended for some very common use cases (e.g. CPU chipset)
    • Everything else can be delegated to attestations on the descriptor listed in the Index
    • Attestations can be defined by 3rd parties that manage their own prefix (Nvidia, MPI, HPC/supercomputers, etc).
    • Runtimes can be configured to prefer images with specific attestations (provisioning a node with an Nvidia GPU would have the Nvidia attestation listed in its runtime preferences).
    • Image builders, when they create more than one image for a specific platform, would include specific attestations for those additional builds that are used by runtimes to pick alternative options.
    • Runtimes always default to picking the first matching image if they have no preference between multiple matches (allowing a generic linux/amd64 image to be listed before one optimized for a specific CPU chipset).

December 4, 2023 - EU/AP

Recording: https://youtu.be/djRGEz_hHdI

Attendees

  • Marcin Franczyk
  • Patrik Flykt
  • Joe Huang

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

Notes

  • The meeting has been cancelled. Not enough participants.

November 27, 2023 - Americas

Recording: https://youtu.be/LKc6K4iW5KI

Attendees

  • Marcin Franczyk
  • Victor Lu
  • Patrik Flykt
  • James Sturtevant
  • Vanessa Sochat
  • Brandon Mitchell

Actionable Agenda Items

  • add your items
  • start google doc with use cases - Marcin
  • get Brandon access to repo

Presentation/Discussion Agenda Items

  • KubeCon Europe talk (19 – 22 March, 2024 · Paris, France) - "OCI Image Compatibility: Current Status And Expectations"
  • Framework proposals: progress, deadlines etc.

Notes

  • Before framework proposals we should come up with use cases.
  • High level use cases:
    • Cluster provisioning
    • Node selection
    • Image selection (from a multi-platform manifest)
  • May want to define how tools can annotate their images and how runtimes can leverage those annotations without defining all the possible annotation values. -Brandon
  • It's possible we'll have more than one output (one for image selection and another for node provisioning). -Brandon

November 27, 2023 - EU/AP

Recording: https://youtu.be/Yb2-vswMwgo

Attendees

  • Marcin Franczyk
  • Dirk Müller
  • Patrik Flykt
  • Zvonko Kaiser
  • Till Wegmuller
  • Joe Huang

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

  • KubeCon Europe talk (19 – 22 March, 2024 · Paris, France) - "OCI Image Compatibility: Current Status And Expectations"
  • Framework proposals: progress, deadlines etc.
  • UEFI/BIOS validation

Notes

  • Signing and certification for encrypted images
    • each time you you update the annotation you have to go through the procedure which is not ideal
    • ideal to have artifact for independence
    • for confidental use cases we should encrypt all image metadata
    • if we go artifacts we should sign artifacts as well. Should the validation tool verify if artifact is signed?
  • We should come up with deadline for framework proposals and discuss them on the meeting
    • maybe 2 weeks would work?
  • We should create validation tool that is vendor agnostic but should produce standard results
    • similar like OPA works
  • The burden of configuring the host versus configuring the operating system should rest with the engineer configuring the host

November 20, 2023 - Americas

Recording: https://youtu.be/Kw7v6IyO1go

Attendees

  • Vanessa Sochat
  • Brandon Mitchell
  • Bjorn Neergaard
  • Patrik Flykt
  • Marcin Franczyk
  • Christian Kniep
  • James Sturtevant
  • Victor Lu

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

  • Common compatibility fields

Notes

  • Adding a platform to artifacts is supported, but also images should be anything that can run on a container runtime, so verify what is meant by artifact.
  • Archspec: https://github.com/archspec/archspec
  • Consider creating proposals, similar to the referrers working group.
  • Consider building a framework instead of trying to describe all use cases and subjects for compatibility. Specific groups could express what they need over the framework.

November 20, 2023 - EU/AP

Recording: https://youtu.be/eiKe1PjmcMU

Attendees

  • Marcin Franczyk
  • Dirk Müller
  • Zvonko Kaiser
  • Patrik Flykt

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

  • Common compatibility fields

Notes

  • Use Cases:
    • Confidential Computing requirements
      • Should we allow to define compatibility also for artifacts - the confidential computing requirements to pull distinct runtime artifacts, like SEV, TDX etc. based on hardware.
  • Extensibility - provide the ability to define additional constraints in the compatibility schema
  • Should we verify BIOS settings, some kernel configuration will not matter if specific BIOS settings are not set. This can result in false positive checks.
    • Maybe we should set boundaries, for instance if kvm module is loaded we assume that the BIOS has enabled virtualization.

November 13, 2023 - Americas

Recording: https://youtu.be/yqIBLBvLYMs

Attendees

  • Christian Kniep
  • Bjorn Neergaard
  • Vanessa Sochat
  • Victor Lu
  • Marcin Franczyk
  • Joe Huang
  • Brandon Mitchell
  • James Sturtevant
  • Till

Actionable Agenda Items

  • Discuss what participants expect from the working group
  • Discuss Image Compatibility use cases

Presentation/Discussion Agenda Items

  • add your items

Notes

  • Is this for the index, image manifest, or even at the layer level?
    • Disagreement on whether this applies to layers, image builders tend to output a collection of layers, desire to mix layers for some use cases
    • Scheduling on nodes vs selecting image from index
  • What level of detail is needed?
    • Kernel
      • features exposed some illumos branches/forks expose different capabilities
      • versions required. allows retiering and updating of interfaces exposed by the kernel (we have versioned API's)
    • Out of tree modules / hardware
    • symbol versions, illumos API interface boundry is libc, thus it may be needed to inform the runtime about the type of libc required.
  • Where will it be used?
    • runtime image selection
    • image distribution - discoverability
    • scheduling (k8s scheduler)
    • as metadata for the cluster admin to understand how to configure the cluster
    • diagnostics/compatibility checks
      • new tools, maybe back into other existing tools
  • Where does this info live?
    • artifact?
    • baked into descriptor or index or manifest
      • annotations: key/value pairs
      • platform: can extend the json with needed structure
  • Amending platform details after the image push?
    • Would need to push a new index, but image manifest could be unchanged.

From the chat:
00:16:06 Bjorn Neergaard: They moved it under “Reactions” 😄
00:21:45 Bjorn Neergaard: Aha
00:21:49 Bjorn Neergaard: https://www.cyphar.com/blog/post/20190121-ociv2-images-i-tar is a pretty good writeup
00:25:06 Brandon Mitchell: "lazy loading"
00:28:34 Christian Kniep: Expectation of the container wrt to the host… correct
00:28:58 Bjorn Neergaard: Talked about Spack pretty extensively 😄
00:30:55 Vanessa Sochat: spack uses archspec to do similar assessments like that
00:32:14 Vanessa Sochat: lol this literally just happened to me
00:32:18 Bjorn Neergaard: 😄
00:32:19 Vanessa Sochat: just with arm :)
00:32:33 Bjorn Neergaard: Yeah, it’s the thing that is really painful for me with CRI
00:32:55 Bjorn Neergaard: Allegedly it was omitted on purpose so that it could be runtime-specific with annotations, but nobody has ever implemented, and good luck encoding that all into crictl
00:33:06 Vanessa Sochat: "wild west" of labels and annotations (brandon's phrasing)
00:33:10 Bjorn Neergaard: 100%
00:33:21 Bjorn Neergaard: I don’t think the K8s everything is an annotation makes sense to the runtime layer
00:33:44 Bjorn Neergaard: *sense all the way to the
00:36:05 Brandon Mitchell: First match, unless you know another entry is better, is what the spec defines.
00:36:17 Christian Kniep: So we need a matching object that describes the capabilities and needs of a system…
00:36:27 Bjorn Neergaard: Yeah, that’s what I call the “halfway” approach between spec-defined and implementation-defined 😄
00:38:32 Brandon Mitchell: I don't think runtimes want to query/pull artifacts of each index entry to determine which entry is best to run locally.
00:38:39 Bjorn Neergaard: I’m reminded of https://github.com/moby/moby/blob/master/contrib/check-config.sh
00:38:54 Bjorn Neergaard: And yes, as a runtime maintainer I’d want everything labeled on the package; I don’t want to have to open the box.
00:39:00 Christian Kniep: Replying to "I don't think runtim"

I like to think we would like
00:39:07 Christian Kniep: Replying to "I don't think runtim"

🙂
00:39:39 Brandon Mitchell: Reacted to "And yes, as a runtim" with ➕
00:40:40 Bjorn Neergaard: Three main cases I can think of:

* Orchestrator scheduling (swarm/k8s/nomad)
* Runtime platform selection (containerd, CRI-O)
* Compatibility checks (diagnostic/vendor validation tooling)

00:41:47 Vanessa Sochat: yes! And the spec would not be the specific annotations, but the skeleton in which they are delivered
00:42:47 Vanessa Sochat: picking on kubernetes is good :)
00:45:20 Bjorn Neergaard: But you have to run that anywhere… Is the feature test a container? 😄
00:45:45 Bjorn Neergaard: I need to convince my colleague that designing a WASI component for interacting with the kernel is a good idea 😂
00:45:45 Vanessa Sochat: lol good point. I haven't thought that far!
00:46:11 Vanessa Sochat: We have reached infinite recursion!
00:46:13 Bjorn Neergaard: (so someone else gets to deal with syscall numbers being variable, the calling convention changing, etc etc)
00:47:30 Marcin Franczyk: https://docs.google.com/document/d/1eGlZOyJIp3ZLIcwblCK4WgfHskiOqAjpovWtDw9mMGU/edit
00:48:00 Marcin Franczyk: https://github.com/mfranczy/compat/tree/sync/pkg/scanner/linux
00:49:36 Vanessa Sochat: "bake" - containers are like cake
00:50:48 Bjorn Neergaard: I’m drawn back to https://github.com/moby/moby/blob/master/contrib/check-config.sh
00:53:24 Brandon Mitchell: I would say it's valid but many of us want to go further into the automation.
00:53:51 Bjorn Neergaard: 100%, there’s not a lot of value to me over the shell script if it’s not useful at the orchestrator level (bubbled up using NRI) or the runtime level.
00:54:27 Bjorn Neergaard: As an ISV, I just write a validation tool/image/script for customers to diagnose if their system is sane today. That’s more flexible than something that is a declarative manifest.
00:54:33 Bjorn Neergaard: (err, recovering ISV)
00:57:05 Vanessa Sochat: well you have to have tools agree on something
00:57:10 Vanessa Sochat: WILD WEST!
00:57:38 Bjorn Neergaard: My “more structured” should be “more constrained:” the data-model is very limited.
00:57:51 Bjorn Neergaard: (as opposed to allowing arbitrarily complex data structures)
00:58:06 Vanessa Sochat: lonely registries push to themselves
00:58:15 Marcin Franczyk: Reacted to "lonely registries " with 😂
00:58:47 Brandon Mitchell: Reacted to "lonely registries pu" with 😂
01:01:26 Bjorn Neergaard: I still like the idea of discussing the partitions first (the “compatibility things”)
01:01:31 Bjorn Neergaard: As opposed to how we’d encode them/action on them yet

November 13, 2023 - EU/AP

Recording: https://youtu.be/2fZiZBM3_24

Attendees

  • Christian Kniep
  • Marcin Franczyk
  • Joe Huang

Actionable Agenda Items

  • Discuss what participants expect from the working group
  • Discuss Image Compatibility use cases

Presentation/Discussion Agenda Items

  • add your items

Notes

  • The meeting has been cancelled. Not enough participants.

Template

Meeting Date

Attendees

  • add yourself

Actionable Agenda Items

  • add your items

Presentation/Discussion Agenda Items

  • add your items

Notes

  • add your notes
Select a repo