---
# System prepended metadata

title: Community Meeting Proposal
tags: [community]

---

---
tags: community
---
# Community Meeting Proposal

## Background

[OneNote: Community Meeting](https://onevmw.sharepoint.com/teams/klt/_layouts/15/Doc.aspx?sourcedoc={797b4114-ca72-4abf-9b58-23807fdbe5c1}&action=edit&wd=target%28Community.one%7C5c88b232-7aa0-4f4a-b011-c40fd26e1558%2FCommunity%20Meeting%7Ca83bbcbd-b9ba-4d42-b8e2-90880276482a%2F%29)

### When
Fortnightly on Wednesdays 9AM PDT (LA) / 5PM BST (London) / 6PM CEST (Berlin) / 9:30PM IST (Bangalore)

### Meeting Duration
45 min 

### Future ideas
Kinds of things that are useful for all participants:
- [ytt#240: "skip hidden directories (start with .) picked up by -f"](https://github.com/vmware-tanzu/carvel-ytt/issues/240)
- Stragize and Plan
    - Roadmapping: talking about what's possibly next
    - Oriented around features and tracks of work
    - Strategy: imgpkg
      - Origins: why imgpkg in the first place?
      - What's MVP?
      - Roadmap (what could be next?)
          - recusive bundle references
          - signature and identify verification
- Technical Topics (Problem Space or Solution Space, In General)
    - (pull more general topics from Tech Forum topic list)
- Improving Process
- Triaging issues 

- Overview of Carvel tools presentation (TODO: check with Corby whether we can share this)

---

# Meeting Notes

## December 9, 2020 Agenda

:::info
- 9:05 - 9:10 Introductions ()
  - Introduce each team member, wave your hand!
  - Note about participating:
      - if you have a question or comment about the current topic, please speak up.
      - if you're reminded of another topic, please take note and ask in the "Open Discusion" time.
- 9:10 - 9:15 Announcements ()
    - [kapp-controller v0.13.0](https://github.com/vmware-tanzu/carvel-kapp-controller/releases/tag/v0.13.0)
- 9:15 - 9:43 Carvel Tech Forum
    - asdf
- 9:43 - 9:45 Survey & Feedback + Close ()
:::

## November 25, 2020 Agenda

:::info
- 9:05 - 9:10 Introductions ()
  - Introduce each team member, wave your hand!
  - Note about participating:
      - if you have a question or comment about the current topic, please speak up.
      - if you're reminded of another topic, please take note and ask in the "Open Discusion" time.
- 9:10 - 9:15 Announcements ()
    - vendir v0.13.0 ([release notes](https://github.com/vmware-tanzu/carvel-vendir/releases/tag/v0.13.0))
        - [Bug: Paths don't allow using path names that starts with a string that is used in other path names](https://github.com/vmware-tanzu/carvel-vendir/issues/21)
    - vendir v0.14.0 ([release notes](https://github.com/vmware-tanzu/carvel-vendir/releases/tag/v0.14.0))
        - No functional changes. Cutting release after move to vmware-tanzu.
    - KubeCon Update?
- 9:15 - 9:43 Carvel Tech Forum
    - GitHub Issues Triage Community Review
    - Carvel Workshop
        - [Access through Developer Portal](https://tanzu.vmware.com/developer/workshops/)
        - [Run on Minikube via GitHub repo](https://github.com/eduk8s-labs/lab-getting-started-with-carvel)
        - Walkthrough of the existing material
        - How to create your own
- 9:43 - 9:45 Survey & Feedback + Close ()
:::

TODO:
- post the agenda in our channels and solicit for long-form topics.
- 

## November 11, 2020 Agenda

:::info
- 9:05 - 9:10 Introductions (Helen)
  - Introduce each team member, wave your hand!
  - Note about participating:
      - if you have a question or comment about the current topic, please speak up.
      - if you're reminded of another topic, please take note and ask in the "Open Discusion" time.
- 9:10 - 9:15 Announcements (Garrett)
    - vendir v0.12.0 ([release notes](https://github.com/k14s/vendir/releases/tag/v0.12.0)) - Add ability to specify pre-releases using semver & TODO add commit verification details
    - KubeCon office hours - November 20th 10-10:45 PST
        - Meet us at KubeCon vmware vitural booth & video
- 9:15 - 9:43 Roadmap for imgpkg (John)
    - Where are we now?
    - Roadmapping: talking about what's possibly next
    - Oriented around features and tracks of work
    - Strategy: imgpkg
      - Origins: why imgpkg in the first place?
      - What's MVP?
      - Roadmap (what could be next?)
          - recusive bundle references
          - signature and identify verification
          - what will happen to kbld pkg/unpkg
- 9:43 - 9:45 Survey & Feedback + Close (John)
:::



## October 28, 2020 Agenda

:::info
- 9:05 - 9:10 Introductions (Eli)
  - Introduce each team member, wave your hand!
  - Note about participating:
      - if you have a question or comment about the current topic, please speak up.
      - if you're reminded of another topic, please take note and ask in the "Open Discusion" time.
- 9:10 - 9:15 Announcements (Garrett)
    - kbld 0.27.0 ([release notes](https://github.com/k14s/kbld/releases/tag/v0.27.0)) — can now tag images pushed by kbld + add additional digest check when unpacking relocated images
    - vendir 0.11.0 ([release notes](https://github.com/k14s/vendir/releases/tag/v0.11.0)) — you can now specify versions using SemVer!
    - VMware Tanzu Kubernetes Grid 1.2 was released ([release notes](https://docs.vmware.com/en/VMware-Tanzu-Kubernetes-Grid/1.2/rn/VMware-Tanzu-Kubernetes-Grid-12-Release-Notes.html)) — using Carvel tools for templating and other stuff.
- 9:15 - 9:43 Making contributing to kbld easier (Eli)
  - Objective: a prioritized list of pain points + ideas for improvements
  - Walk through the flow, together, noting pain points.
  - Review feedback from https://github.com/k14s/kbld/issues/54
- 9:43 - 9:45 Survey & Feedback + Close (Helen)
:::



## October 14, 2020 Agenda
:::info
- 9:05 - 9:10 Introductions (Helen) 
- 9:10 - 9:15 Announcements (Cari)
    - [Schema](https://github.com/k14s/ytt) is merged to develop branch, build from source, play with it!
    - [ytt-vim](https://github.com/k14s/ytt.vim) has joined the k14s Github org! Ty @cappyzawa!
- 9:15 - 9:45 Exploring GitOps (including kapp-controller)
    - What is GitOps? (5 min)(Cari, John)
    - Introduction to [kapp-controller](https://github.com/k14s/kapp-controller/blob/develop/docs/app-spec.md) (10 min) w/ demo (Eli)
    - [SOPS integration](https://github.com/k14s/kapp-controller/blob/develop/docs/sops.md) (10 min) (Special guest, DK)
    - Open Discussion (10min) (Moderated by John)
- 9:43 - 9:45 Survey & Feedback + Close (Helen)
:::

## September 30, 2020 Agenda
:::info
- 9:05 - 9:10 Introduction (John) 
- 9:10 - 9:15 Announcements (Helen)
  - Will be migrating our repositories from [`k14s`](https://github.com/k14s) Github Organization to [`vmware-tanzu`](https://github.com/vmware-tanzu).
    - part of being a VMware-backed Open Source Project.
- 9:15 - 9:25 Status update
  - [imgpkg](https://github.com/k14s/imgpkg) (Cari)
  - [ytt schema](https://github.com/k14s/design-docs/tree/develop/ytt/001-schemas) (John)
  - Community (Aaron)
- 9:25 - 9:43 Q&A / Interesting questions from Slack / Carvel Tech Forum
   - ...
   - yamlfragment vs. dictionaries vs. structs (John)
- 9:43 - 9:45 Survey & Feedback + Close (Helen)
:::

### Update: [imgpkg](https://github.com/k14s/imgpkg)
- work finishing up on `copy` command
- Work remaining:
    - docs for copy
    - kbld lock output format updated to match imgpkg

### Update: [ytt schema](https://github.com/k14s/design-docs/tree/develop/ytt/001-schemas)
- Underway:
  - `ytt` recognizes schema documents
  - beginnings of a type system emerging
- This is more than verifying a document matches a definition:
  - inserts defaults
  - verifies at each step (e.g. during overlays on data values)
  - clearer error messages: gets in front of many data values overlay errors
- Up next:
  - a flag to enable schema features
- Long-term target
  - schema verification over not just data values, but output from templates.

### Update: Community
- Renamed the Kubernetes Slack channel to [#carvel](https://kubernetes.slack.com/archives/CH8KCCKA5) from #k14s.
- Watch: [Introduction to Carvel on Rawkode Live](https://www.youtube.com/watch?v=LBCmMTofNxw)
- Completed some testing to make the migration to the new [`vmware-tanzu` Github Org](https://github.com/vmware-tanzu) goes as smoothly as possible.
- Doing some light-weight "user research" on better ways to communicate overlay errors.
  - Please let us know if you're interested in participating.
- Planning on creating dedicated pages for more Carvel tools:  Next - [imgpkg](https://github.com/k14s/imgpkg), Near future - [kapp-controller](https://github.com/k14s/kapp-controller)

### Discussion: data structures in `ytt`
- ever got the error message, "does not contain the field named `.x`" and been confused?
- Quick Tour:
  - [Structs](https://github.com/k14s/ytt/blob/develop/docs/lang-ref-ytt.md#struct)
    - Data Values are presented as structs
    - You can create your own using the `struct` module 
  - [Dictionaries](https://github.com/k14s/ytt/blob/develop/docs/lang-ref-dict.md)
  - [YAML Fragments](https://github.com/k14s/ytt/blob/develop/docs/lang-ref-yaml-fragment.md)
  - Conversions:
    - struct to dict: `struct.decode()`
    - dict to struct: `struct.encode()`
    - YAML Fragment to dict (shallow): `dict(**fragment)`
    - YAML Fragment to struct: effortful
- where to from here?
  - [ytt#208](https://github.com/k14s/ytt/issues/208): enhance structs to support iteration, bracket accessor, ...


---

## September 16, 2020 Agenda
:::info
- 9:05 - 9:10 Introduction (John) 
- 9:10 - 9:15 Announcements (Helen)
    -   Latest release 
        -   kapp 
        -   vendir 
    -   Renaming slack channel 
    -   KubeCon video 
- 9:15 - 9:25 Status update
    - imgpkg (garrett, john)
    - ytt schema (cari, eli)
- 9:25 - 9:30 Contributor shoutout 
    - RegexpReplace in ytt - John B.
- 9:30 - 9:43 Q&A / Interesting questions from Slack 
- 9:43 - 9:45 Survey & Feedback (Helen)
:::

### Why are we here
* Connect
    * Connect with other brillian minds
    * Put a face to the name
* Collaborate
    * Identify gaps in our existing tool chain
    * Share skills & knowledge 
    * Brainstorm and discuss ideas 
* Celebrate
    * Celebrate one another (appreciate the extra effort contributors make)
    * Project milestones 
### Announcements
* kapp v0.34.0 - Config resource could be wrapped in a ConfigMap to support same deployment configuration by tools that do not understand kapp's Config resource directly. 
* vendir v0.10.0 - Error hint was added when vendir.yml is missing. Updates lock file when using vendir sync -d flag without local directory override
* Slack renaming target date is next Friday. You'll see #k14s being renamed to #carvel. Will post announcements today 

---

### Update: Schema

- What is `ytt`? (Cari talks; John types)
  - ytt is a templating tool that understands YAML structure. It helps to easily configure complex software via reusable templates and user provided values.
  - show example: `examples/playground/basics/example-load-data-values`

- what's the problem we're solving? (Cari talks; John types)
  - schemas are used to describe the structure of the data
  - show example:
      - edit the example with "schema"; show today's error message.
      - show desired:
      ```
      Map item 'key_1' at values.yml:4 is not defined in schema schema.yml (did you mean 'key1')?
      ```
  - Generally... (Cari)
      - `ytt` authors want the ability to clearly communicate what data is necessary in order to use their templates.
      - when `ytt` consumers give invalid values, they want error messages that clearly indicate where the problem is.
      - leverage YAML structure to easily articulate the data values structure.

- What _is_ the ytt schema feature? (Cari)
  - validate the structure of your data values (catching typos)
  - be able to set default values for any data values (even array items)
  - provide a way to describe those data values (in a way that you can use to generate friendly documentation)
  - This functionality is inspired by [JSON Schema](https://json-schema.org/) but leverages native yaml structure to provide simplicity, brevity, and readability.

- Where are we at? (John)
  - We've worked through a proposal.
  - We've started the feature — this week!.
  - We think our MVP:
    - `--experimental-validate-data-values-structure`
    - checks that the structure of data values (after all overlays have been applied) matches the given schema's.
    - any default values supplied in the schema are automatically filled in (including structures within array items).

- When's it gonna GA? (John)
  - "The next future or so..."
  - We want to be careful so as to not accidentially introduce complexity to either the UX or the ytt codebase. We're moving carefully.
  - It will GA when we're confident that its works as advertised and that users have an easy upgrade path. We'll do our best to ensure that we will not introduce breaking changes.


