►
From YouTube: Carvel Community Meeting - March 15, 2021
Description
Carvel Community Meeting - March 15, 2021
Discussions around recursive bundles for imgpkg, kapp enhancements, and new proposals process. Details here: https://hackmd.io/F7g3RT2hR3OcIh-Iznk2hw
A
Just
a
reminder,
this
is
being
recorded
and
it's
going
to
be
added
to
our
youtube
playlist
afterwards
and
to
adhere
to
our
code
of
conduct,
which
is
listed
in
the
agenda
here
today
is
march,
15th
2021
and
I
will
kick
off
this
to
aaron-
to
go
over
the
rest
of
the
agenda
items
and
have
him
start
sharing
his
screen
to
drive.
B
Cool,
can
you
see
my
screen
all
right
so
happy
monday,
we'll
start
off
with
a
few
announcements.
We
released
cap
v036
last
week
a
couple
of
interesting
things
in
here.
I
think
this.
This
first
feature
filter
out.
Mislabeled
resources
returned
from
ktpi.
This
is,
I
think,
a
pretty
nice
win
for
for
various.
B
I
guess
you
know
bits
of
software
that
were
not
returning
filtered,
not
returning
resources
filtered
by
labels,
so,
depending
on
how
you
implement
your
if,
depending
if
how
you
implement
the
aggregated
api,
this
could
have
been
an
issue
that
that
folks
are
in
we're
running
into.
B
We
renamed
our
carnival
repo
to
carvel
community
trying
to
make
these
things
with
these
repos
a
little
more
clear,
and
in
addition
to
that,
we
also
published
a
proposals
process
and
have
a
few
active
proposals
already
in
flight.
So
please
feel
free
to
check
those
out.
B
Another
note
is
we're
hiring
a
staff
engineer.
So
if
you're
here,
it
seems
like
you
have
some
interest
in
karvel.
If
you
would
like
to
work
with
this
lovely
team
and
on
these
exciting
tools,
then
please
click
that
link
and
learn
more.
We
don't.
C
B
And
then
last
announcement
is
just
asking
for
for
any
feedback,
if
you
have
it
regarding
this
community
meeting,
you
know
in
the
interest
of
iterating
will
likely
introduce
some
some
changes
in
coming
weeks,
but
we'd
like
to
hear
from
y'all
what
y'all
like
what
you
would
like
to
see
anything
like
that.
B
Cool
then
we'll
zoom
through
the
status
updates,
so
we
we
did
finish
up
development
on
the
image
package,
performance
improvements
track
of
work.
It's
still
on
the
develop
branch
right
now,
but
expect
it
to
be
in
the
next
release.
B
The
image
package
recursive
bundles
track
is
very
much
in
flight
same
with
ytt
schemas,
we'll
talk
about
both
of
those
a
bit
more
in
detail.
Today
we
have
some
cap
enhancements
that
are
also
in
progress
just
due
to
team
members
being
out
this
week.
We
may
make
limited
progress
here,
so
just
wanted
to
call
that
one
out
and
then
cap
controller.
B
We
are
continue
to
work
on
the
package
manager,
api
and
as
well
as
some
more
stability
focused
enhancements,
so
feel
free
to
click
any
of
those
links
to
dive
into
more
before
we
get
started
with
this
week's
plans.
If,
if
you
have
anything
that
you
want
to
bring
up
today,
we'll
try
and
make
sure
that
we
leave
some
time
at
the
end
to
go
through
both
discussion
topics
and
we'll
try
and
get
to
at
least
one
of
these
triage
helps.
B
B
A
Sorry,
I'm
actually
curious,
so
6.0
do
you
have
any
like
expected
time
frame
for
when
that
might
be
released.
B
We,
I
guess
I
haven't
really
communicated
one
yet
at
this
point.
It's
likely
to
to
be
released
when
the
recursive
bundles
track
is
done.
So
it's
more
feature
scoped
within
a
few
weeks.
B
All
right
so
jump
into
the
backlog,
how
we
start
with
recursive
bundles
today,
so
we
can
kind
of
see
we
have
a
three-pointer,
that's
in
review.
We've
got
a
one-pointer
progress.
We
already
pointed
this
one,
so
maybe
we'll
try
to
get
through
a
couple
of
these
today.
B
D
I
could,
but
I'd
have
to
read
it
in
as
well.
I
can
try,
though,
unless
you've
already
read
it
aaron,
okay,
so
the
use
case.
So
this
is
about
pulling
updates.
So
when
you
do
an
image
package
pool
with
a
recursive
bundles,
it's
going
to
update,
I
guess
all
the
image
log
files
recursively
in
all
the
bundles
that
it's
bringing
in
so
we're
going
to
create
a
bundle
to
distribute
to
multiple
applications
on
a
part
of
a
deployment.
D
D
We
want
to
make
sure
that
updates
all
the
image
log
files
for
all
bundles
after
copy.
So
we
push
a
bundle
that
references,
another
bundle
and
then
we
run
copy
from
one
bundle
to
another
repo
and
we
have
the
experimental
flag
turned
on
and
so
that
when
we
run
image
package
pool
with
a
dash
r
recursively
referencing
the
bundle
we
copied
and
to
a
directory,
then
we
should
see
then
that
this
output
has
already
been
done
for
us,
but
at
the
very
bottom
of
the
output.
One
difference
is
changing.
D
You
know,
updating
all
images
in
the
image
log
file,
so
changing
all
images
registry
repository
references
in
this
to
other
registry.
So
we
already
have
a
logic
that
updates
image
lock
references
in
the
images
yaml
file,
but
we
want
to
do
that
for
all
the
recursive
bundles
as
well.
It
looks
like
so
like
the
bottom.
D
D
I
think,
and
then,
when
we
cat
the
images
yaml
that
got
brought
in
by
the
nested
bundle,
then
we
also
see
the
images
yaml
also
being
updated
as
well
to
the
other
registry.io
bundle
and
then,
when
we
cat
the
another
bundle
images
yaml.
So
all
the
images
yellow
that
we've
got
brought
in
need
to
be
updated,
essentially
and
then
scenario,
number
two
does
not
update
image
log
files.
If
no
relocation
has
occurred
so
in
this
scenario
we're
going
to
copy
it,
but
it's
not
going
to.
D
Essentially,
I
guess,
update
the
image
demo
file
because
I
guess
we
we
only
push
it,
but
we
don't
do
a
copy.
Essentially,
so
I'm
guessing
so
like.
Let's
go
let's
we
look
at
the
images
yaml
file
and
then
it's
everything's
in
my
registry
and
then
we
push
up
an
r
bundle
in
my
registry,
but
we
haven't
done
a
copy,
but
now
we
now
do
a
pool
dash
r-
and
here
it's
just
it's
not
mentioning
anything
about
updating
the
images
yaml
file,
it's
just
pulling
all
the
bundles
recursively.
D
D
I
think
it's
whatever
the
current
logic
is,
which
is
it's
just
stays
the
same.
It
only
checks
to
see
whether
it's
being
relocated
and
if
it
has
been
relocated
to
the
destination
repo,
then
it
rewrites
the
updates
yaml
file.
I
think
that's
what
it
does.
I
think
we
want
to
preserve
that
for
this
recursive
logic,.
C
D
I
put
it
to
I
mean
I
think,
the
simple,
the
simple
implementation,
the
the
simplest
thing
about
this
implementation
is
like
updating
the
images
log
file
recursively.
The
thing
that
made
me
go
to
a
2
is
just
the
way
we
want
to
structure
the
output.
It's
just
all
grouped
together.
I
mean
I
just
I've,
just
yeah,
it's
just
the
just
I'm
at
another
point
just
for
the
logging.
I've
had
problems
with
the
logging
in
the
past.
D
That's
all,
but
it
seems
like
a
lot
of
the
implementation
has
already
been
done
in
a
previous
story,
which
is
we're
already
recursively
going
through
all
the
bundles.
It's
now
just
also
making
sure
to
call
this
other
thing,
which
is
update
the
images
yaml
file
and
that
code
has
already
been
written.
C
D
Just
intuition
here,
like
just
the
fact
that
we're
grouping
all
the
output
at
the
bottom
and
not
interleaving
it
like
we,
you
know
you
see
in
this
bundle.
We
extract
the
layer
that
that's
maybe
where
we
would
have
written
the
images
log
file,
but
we
want
to
consolidate
it
at
the
end.
I
feel
like
that.
Might
just
drive
up
the
complexity
a
little
bit,
I'm
not
sure.
C
Yeah-
and
it
seems
like
that's-
that
is
nearly
essential,
because
if
we
did
that
interstitially,
then
this
really
important
piece
of
information
about
the
fact
that
we
that
the
lock
files
are
getting
rewritten
gets
buried
in
all
the
minutia
of
the
individual
moves.
So
yeah
seems
essential.
D
D
I
haven't
read
about
document:
recursive
bundle
feature
so
yeah.
We
want
to
document
this
really
cool
feature.
We've
been
working
on
when
we
access
image
package
and
the
cover
dev
website,
there's
a
documentation
page.
So
we
can
see
documentation
about
the
new
feature,
some
dev
notes.
We
can
piggyback
on
the
proposal
that
dwell
wrote
and
we
should
explain
the
pull
command
to
inform
the
reader
where
the
bundles
will
be
placed
on
the
disk.
C
D
D
Could
be
both
like
you
know,
in
the
pool,
doc,
there's
a
sub
bullet
that
explains
the
dash
r
flag
and
and
then
what
it
does
and
just
some
pointing
out
things
that
might
not
be
completely
self
evident
that
you
know
where
the
bundles,
the
nested
bundles,
are
going
to
be
placed.
The
new
dot
bundle
directory
structure.
I'm
talking
about
here
and
if
we
are
solving
a
workflow
or
use
case,
which
we
are
maybe
a
workflow,
a
scenarios.md.
C
C
I
I
think
that
there's
probably
enough
in
in
there
to
like
try
and
convey
this
succinctly
and
that,
yes,
I
think
the
proposal
will
definitely
like
help
not
having
a
blank
canvas
problem
which,
maybe
maybe
that
makes
it
like
a
large
one
instead
of
a
small
two,
but
that's
right
on
the
edge
for
me
and
we
see
how
how
much
it
matters
being
able
when
we
provide
clear
documentation,
it's
precise
and
it's
wording
and
is
written
thinking
about
from
the
end
user's
perspective
and
not
just
describing
the
feature
that
can
take
some
work.
C
F
The
reason
I
pointed
as
a
one
was
because
we
haven't
added
any
new.
Well,
I
don't
know
about
this
wording,
but
new
functionality
like
pull
copy
and
push
all
already
existed.
F
B
B
Cool,
so
then,
I
think
there
is,
let's
see.
B
E
Yeah
we
could
give
it
a
talk
as
a
group
just
saying,
what's
kind
of
missing
in
our
documentation
at
the
moment
and
how
we
could
be
changing
it.
I
picked
this
up
about
an
hour
ago,
so
I
haven't
made
any
progress
towards
changing
the
documentation
yet,
but
essentially,
there's
also
a
flat
conversation
in
our
carnival
channel,
saying
explaining
the
same
kind
of
issues
of
not
being
able
to
understand
these
fields
in
these
rebase
rules
for
caps.
E
So
for
the
type
field,
it's
in
the
examples,
but
it's
not
explained
whatsoever
and
that
could
be
fixed
as
well
as
it
seems
like
there's,
not
really
a
clear
distinction
between
what
new
and
existing
means
under
the
sources
field.
So
some
investigation
into
what
really
those
things
mean
as
well
as
changing
the
documentation,
I
think,
is
the
steps.
B
E
C
I
think
that
the
tl,
dr,
is
that
from
cold,
it's
hard
to
know
what
new
and
existing
means
and
like
what
does
changing
the
ordering
of
those
do,
if
that's
not
detailed
in
the
docs
and
then
and
then
the
the
the
type,
I
think
just
doesn't
have
any
documentation
at
all
around
it
so
like
even
just
having
something
would
be
an
improvement
just
literally
like
what
are
the
values
so
and
then
a
little
bit
of
description
about
what
the
expected
behavior
of
that
type
is.
C
C
B
Let's
see
so
we
do
have
another
cap
story,
that's
coming
up.
That
would
be
after
this,
which
is
number
11.
C
How
does
this
compare
priority
wise
to
the
explorer
around,
or
is
this
the
the
initial
story
for
externally
applied
resources
like
like
cluster
fulfilled
resources?
It's
the
same
thing.
G
Oh
so
I
know
11
came
from
dustin
as
well
and
for
him
one,
the
194
was
a
higher
priority.
B
G
B
B
Doesn't
look
like
it,
but
I
think
we
could
switch
over
to
the
triage
help
topics
that
sounds
good
to
people.
F
I
did
provide
an
update
for
that
one.
We
mentioned
it
at
the
community
forum
last
week.
It
was
something
we
talked
about
in
a
prior
community
meeting,
so
I
added
some
notes.
There
feel
free
to
check
it
out.
F
The
tl,
dr,
is
basically
adding
this
feature
would
change
the
ux
of
ytt
in
terms
of
how
files
get
output
and
then
also
there
may
be
a
security
complexity
with
it,
because
it's
a
common
use
case
for
people
to
template
like,
for
example,
kubernetes
resources,
secrets,
and
so
the
output
of
ytt
could
contain
sensitive
information.
So
writing
that
to
disk
is
something
that
I
think
we
don't
want
to
support
for
now,
and
that
was
that
is
sort
of
a
consensus
from
my
own
opinion
and
also
from
the
community
meeting.
F
B
B
B
So,
at
a
high
level,
it's
when
using
null
well,
I
guess,
because
null
is
not
what
in
containers
is
expecting.
Is
that
correct.
C
I
I'm
not
I'm
not
clear
on
how
to
connect
that
with
the
init
containers,
but
it's
effectively
that
where
cap
currently
is
is,
is
not
relaxing
the
it
doesn't
know
what
type
that
thing
would
need
to
be
if
it
was
updating,
ending
containers
or
any
anything
that
that
expects
to
have
a
particular
like
collection.
C
And
so
I
think
this
is
about
either
just
not
tripping
over
the
fact
that
it's
null
or,
I
think
that's
the
heart
of.
C
B
F
I
think
that's
a
great
idea
and
a
good
use
of
our
time
here.
I
don't
know
about
others
on
the
team,
but
I
might
need
some
more
information
about
how
template
rules
work
currently
in
order
to
come
up
with
those
risks,
because
the
the
problem
with
the
null
types
is
something
that
I'm
not
really
sure
what
the
root
causes.
C
Interesting
so
yeah,
it
would
be
like
I
clicked
on
that
that
reference,
let's
see,
can
we
point
to
that
so
from
that
from
the
private
slack,
here's
the
line
number
that
can
be
traded
pointed
to
in
the
code
base.
C
C
C
Is
that
a
problem
like
does
that
accident?
For
example,
does
it
accidentally
cover
for
what
would
otherwise
have
been
a
defect?
It
would
be
really
helpful
to
know
that
it
was
null.
For
example,
is
there
a
problem
with
taking
the
case
of
null
an
empty
list
and
treating
them
as
the
same,
or
is
that
okay.
C
Yeah,
that's
not
all
of
what
you
were
asking
carrie,
but
that
that's
like
one
step
closer
of
like
okay.
Well,
this,
if
we
were
to
like
dig
in
through
the
code,
we
could
see
that
that's
a
a
big
piece
of
what's
happening
here
is
you're
not
going
to
be
finding
it.
A
line
in
the
code
says
if
it's
in
it
containers
like,
but
in
general
yeah.
Maybe
that's
that's
the
more
broad
thing
is,
while
we're
traversing
a
path.
C
C
C
D
C
C
Well,
that's
another
angle:
right
is
basically
having
like
an
elvis
operator.
So,
like
a
thing
that
says:
well,
it's
okay!
If
this
is
null
yeah
or
not
okay,
if
it's
null.
D
I
mean
with
containers:
that's
a
required
field
for
a
we're
looking
at
a
pod,
but
you
know
you
need
to
give
it
a
non
empty
array
for
containers.
I
think-
and
so,
if
you
gave
it
null
today,
I
think
it's
going
to
break
at
template
rendering
time,
whereas
if
we
just
skip
over
the
null
containers
array,
I
think
we
get
an
error
at
deploy
time.
Kubernetes
will
say.
D
F
I'm
trying
to
imagine
what
it
means
to
be
an
empty
array
in
this
context,
so
like,
for
example,
274
if
we're
trying
to
match
on
this
containers
with
config
map
key
ref.
If
containers
is
an
empty
array,
then
we'll
never
match
any
further
down
than
that
an
environment
or
config
map
key
ref,
and
so
is
our
options
like
not
to
error
out.
If
we
don't
find
that
item
or
would
we
error
when
we
hit
the
next
key
that
doesn't
exist
like,
for
example,
m.
C
Oh,
I
see
yeah,
I
think
yeah,
so
these
paths
are
meant
to
describe
places
to
go,
look
to
see
if
there's
a
reference,
and
so
therefore
he
has
a
really
good
question.
So,
therefore,
if
there
weren't
any
containers,
then
well,
then
there
won't
be
any
config
map
key
references,
so
you're
you're
good,
because,
like
the
parents
way
up,
the
tree
is
not
there.
C
So
yeah
the
like
restating
like
what
I.
What
I
think
is
sort
of
the
core
question
here
is:
can
we
and
like
contain
containers
like
for
the
reason
that
you
said
then,
is
actually
like
a
really
like
both
motivating
and
and
as
a
as
an
example,
but
also
like
one
that
you
can't
imagine,
because
you
can't
have
to
play
without
or
a
pod
with
pod
spec
without
containers,
but
init
containers
you
could
so
the
question
is:
if,
if
a
nit
connectors
is
null,
would
that
be
considered
like
it's?
C
D
D
C
C
C
D
C
In
that
sense,
like
that
cap
already
isn't
trying
to
protect
you
from
violating
the
api
schema
per
se,
got
it
that's
fair.
E
E
C
Master
yeah
this
this
thing
here
exactly
so.
This
is
saying
when,
when
you
have
a
new
version
of
a
configmap,
here's
all
the
possible
places
where
that
config
map
might
have
been
referenced,
so
go
through
this
entire
path
and
make
sure
those
are
updated
too,
because
cap
is
generating
that
new
name
for
that
config
map,
and
so
all
the
references
have
to
get
updated
as
well.
E
C
Yeah,
so
I
think
this
really
is
this
is
probably
the
question
on
the
table
is
like
I
mean
explore,
explore
what
what's
going
to
happen,
the
change
in
behavior,
if
you
just
treat
something,
that's
null
as
an
empty
list
in
the
path
walker.
D
C
C
Yeah,
because
did
you
want
to
do
this
for
anything
that
could
be
null
or
just
collections.
C
Specifically
sequences
like
this,
I
think
it's
that.
C
Cool
okay,
so
does
anybody
feel
confident
that
they
can
like
update
this
ticket
with,
like
that,
as
like
a
next
action
step
that
can
be
taken
here
doesn't
have
to
be
something
more
than
that
at
the
moment
in
order
in
in
terms
of
like
trying
to
close
the
loop
on
this
question,
you
could
sort
of
summarize.
B
Cool,
thank
you
garrett.
We
do
have
one
more
triage
help.
B
B
C
C
You
know
you
can,
like
maybe
name
name,
a
key
like
containers
or
args,
something
like
that
and
then
say:
okay
well,
within
that
here's,
a
here's,
a
regex
that
like
if
this
regex
matches,
then
the
match
group
that
comes
out
of
that
is
the
image
reference.
D
Would
that
require
a
change
to
k,
build
I'm
wondering?
Could
they
leverage
environment
a
container
and
okay
inside
a
container
entry
leveraging
an
environment
variable
so
like
the
environment?
Variable
will
be
defined
as
part
of
the
deployment
spec
and
then
inside
the
cli.
They
would
just
reference
the
environment
variable
and
then
cable
could
just
find
the
that
environment
key
and
just
do
what
cable
does
that's
not
like
that
that
wouldn't
require
any
changes
to
k,
build
nice.
E
Yeah,
I
remember
trying
to
kind
of
provide
a
fix
for
his
problem
for
their
problem.
I
believe
carrie
was
a.
Is
that
true?
E
I
remember,
but
I
remember
that
we
couldn't
replace
the
we
couldn't
replace
the
image
argument
without
getting
rid
of
that
dash
dash
some
image
arg
prefix,
like
we
could
successfully
identify
like
hey
match
on
this
image.
This
is
what
it's
going
to
look
like,
so
we
provided
that
search
rule,
but
it
didn't
exactly
do
what
they
wanted.
So.
E
And
I
know
we've
also
been
talking
about
having
some
like
way
to
provide
starlark
functions
as
arguments
in
some
of
our
tools.
So
maybe
that's
a
thought
here
as
well.
Instead
of
having
like
this
regex,
it's
starlock.
E
C
Yeah,
that's
interesting
right,
so
I
like
we've,
talked
about.
We
have
sort
of
the
more
obvious
strategies
and
then
there's
a
all-in
strategy.
All
the
rope
you
can
handle.
C
I
do.
I
do
really
like
the
way
you're
thinking
dennis
about
what
do.
They
call
that
when
you
there's
there's
sort
of
there's
essential
complexity,
there's
optional
complexity
and
then
there's
accidental
complexity
around
like
and
so
there's
a
piece
in
here
about
like
well.
If
it's
optional
functionality,
where,
like
you,
could
truly
like
get
what
you
need
with
existing
functionality
and
the
workaround
is
not
onerous,
it's
an
important
caveat,
then
you
actually
can
help
keep
a
lid
on
on
complexity.
C
On
that
particular
flavor
of
complexity,
which
is
really
important
to
the
community
like
the
simpler,
the
tools
are,
the
fewer
bugs
will
be
just
hands
down
so
where
we
have
opportunities
to
reasonably
provide
workarounds,
be
maybe
an
interesting
thing
to
suggest
here
and
see
if
that
flies.
D
A
Okay,
thank
you,
everyone
for
joining
this
week's
edition
of
the
carvel
community
meeting.
This
will
be
uploaded
to
our
youtube
playlist
and
we
hope
that
you
join
us
for
the
next
community
meeting,
which
is
march
22nd.
We
meet
every
monday
at
11,
30
a.m,
pacific
time,
2,
30,
p.m.
Eastern
time
we
also
have
carmel
office
hours
where
we
meet
every
second
and
fourth
thursday
of
the
month.
At
the
same
time,
11
30
am
pacific
time,
2
30
pm
eastern
time.
A
So
we
hope
that
you
are
able
to
join
us
at
one
of
those
options
in
the
future.
Otherwise
you
can
find
us
on
slack
the
kubernetes
slack
channel,
which
is
the
carville
slack
channel
and
we're
happy
to
engage
with
you
in
any
way
have
a
great
week.