►
From YouTube: Carvel Community Meeting - April 21, 2022
Description
Carvel Community Meeting - April 21, 2022
We meet every Thursday at 10:30am PT. We'd love for you to join us live!
This week we had some great discussion covering ytt, kapp, kctrl, and kapp-controller. Oh, and we also had our first Zoom Bomber! Fun times :) See full notes here: https://hackmd.io/F7g3RT2hR3OcIh-Iznk2hw#April-21-2022-Agenda
A
Hi
everyone
welcome
to
this
week's
edition
of
the
carville
community
meeting.
Today's
date
is
april.
21St
2022.
If
you
are
watching
this
recording
from
home,
we
encourage
you
to
come.
Join
us
live
we
meet
every
thursday
at
10.
30
am
pacific
time.
It's
a
great
opportunity
for
you
to
come
and
meet
other
members
of
the
community.
A
Meet
the
maintainers,
bring
up
any
discussion
topics
you
might
have,
whether
that's
a
question
on
how
to
use
any
of
the
tools
or
feature
requests
or
if
you
have
any
feedback
you
wish
to
provide
for
what
the
team
is
working
on.
We
would
love
to
to
have
you
join
us
and
and
get
to
know
you
and
and
help
help
you
out
if
you
are
unable
to.
A
If
you
aren't
able
to
to
join
us
for
any
of
these
meetings,
you
can
still
reach
us
and
engage
with
us
on
a
few
other
areas,
so
we
can
be
found
in
the
kubernetes
slack
workspace
in
the
carville
channel.
You
can
email
us
in
this
google
groups.
We
encourage
you
to
join
that
the
google
groups
as
well.
A
You
can
find
us
in
github
with
any
of
our
project.
Repos,
you
can
find
file
issues
there
as
well,
and
then
you
can
also
find
us
on
twitter
at
carville
underscore
dev.
A
If
at
any
point
you
are
interacting
with
us
whether
it's
in
the
meetings
on
github,
email,
kubernetes,
slackworkspace,
etc,
etc.
We
ask
you,
please
read
and
abide
by
our
code
of
conduct
which
is
linked
here
and
it
links
out
to
our
repos
and
all
of
our
repos
have
have
a
link,
a
link
for
that
as
well
for
anyone
that
does
join
these
meetings.
Anyone
that's
on
the
call
today
and
you
have
something
you
wish
to
discuss
with
the
team.
A
And
for
those
that
are
using
any
of
the
cardboard
tools,
we
would
love
to
to
know
more
details
on
how
you
are
using
any
of
the
tools.
So
we've
created
this
pinned
issue,
and
it
just
asks
for
a
few
details
on
on
yourself
on
your
use
cases
with
the
tools
and
also
optionally,
you
can
provide
a
logo
for
the
organization
that
you're
representing
and
we'll.
We
will,
in
turn,
add
that
to
the
adopters
file.
A
This
is
just
a
good
way
for
us
to
to
understand
how
people
are
using
the
tools
and
help
us
develop
better
products
and
better
features.
So
the
more
that
we
know
how
people
are
using
it,
the
more
we
can
better
understand
of
how
to
best,
develop
it
and,
and
also
it
helps
the
community
understand
how
others
are
using
the
tools.
So
it
helps
them
figure
out
things
better
and
also
kind
of
builds
up,
a
community
as
a
whole
of
of
who
all
is
using
the
carvel
tools.
A
So
we'd
really
appreciate
you
adding
your
your
details
here,
we'd
love
to
know
more
about
how
how
you're,
using
it
and
then
just
a
reminder
for
anyone
who's
on
this
call
make
sure
to
add
your
name
to
the
attendees
list
and
then
the
organization
that
you're
representing
here.
A
And
then
on
to
announcements
a
little
bit
late
this
week,
but
as
far
as
content
goes,
we
have
a
blog
post
that
was
posted
by
cat
maintainer
rohit
agarwal.
It's
identifying
go
stiff
during
cat
controller
reconciliation.
A
Rohit.
Are
you
on
the
call
today.
A
Okay,
so
please
go
give
that
a
read.
We
would
love
for
you
to
provide
any
feedback
or
any
comments
you
have
about
this
blog
post.
Do
you
want
to
see
more
content
like
this?
We
would.
We
would
love
just
to
hear
your
feedback
on
this
and
then,
as
far
as
upcoming
content
goes,
I'm
not
sure
if
we
have
anyone
that
has
signed
up
quite
yet
yeah
not
yet
for
next
week.
A
So
if
anyone
has
any
ideas
that
they
want
to
share
with
the
community,
it
doesn't
have
to
be
a
blog
post,
it
can
be
a
short
video
or
a
long
video.
It
can
be
if
you
want
to
share
that
you're
presenting
on
a
meetup
or
a
conference
or
or
just
anything
whatsoever,
a
short
demo.
A
A
We
open
it
up
to
everyone
in
the
community,
and
all
you
need
to
do
is
put
your
name
and
the
author
section
topic,
and
then
you
know
type
of
medium.
What
what
are
you
delivering
this
information
with
so
and
also
twitter
handle.
A
Tagged
on
that,
a
second
just
muting,
okay,
and
for
those
that
aren't
maintainers
as
I
thank
you,
we
will
send
you
a
carnival
t-shirt.
So
once
you
sign
up
and
you're,
not
a
maintainer,
just
make
sure
to
dm
myself
in
the
kubernetes
like
workspace
on.
I
will
gather
your
information
and
make
sure
you
get
that
t-shirt.
A
B
A
Yeah,
thanks
to
this
john
mcbride,
he's
a
maintainer
for
the
tons
of
community
edition
project
and
then
daniel.
He
used
to
help
out
as
a
maintainer
for
carville
since
moved
on
to
other
things,
but
he
still
participates
in
some
way.
So
thank
you
to
to
those
folks
helping
us.
A
B
No
real
changes
just
gave
it
a
slight
refresh
to
clear
up
some
of
the
the
timelines
when
things
are
landing
and
a
clear
anything
that
has
landed.
But
I
think
all
of
these
things
on
here
are
are
in
progress
to
some
extent.
So
if
you
have
any
questions
about
any
of
these
things
or
want
to
learn
more,
please
let
us
know
you
can
ask
us
here
or
in
slack
yeah
happy
to
hear
from
you.
A
Okay,
resetting
all
right
ytt
who
wants
to
go
over
that.
D
Yeah,
I
can
cover
the
first
topic
and
if
you
weren't
awake
before
then
good
morning,
the
first
bullet
point
there
is
a
bug
fix
for
a
tunnel
to
code.
The
ytc
toml
package
was
having
trouble
decoding
when
we
had
an
array
of
maps
so
added
a
case
to
fix
that.
I
want
to
investigate
more
into
the
actual
tamil
library
if
we
can
put
an
upstream
fix
to
fix
this
problem.
But
in
the
meantime
the
next
release
will
have
this
fix
in
ytt.
A
All
right,
thanks
garrett,
any
questions
for
garrett
regarding
this.
C
This
is
maybe
a
little
bit
out
of
scope
but,
like
I
have
always
wondered
what
it
might
look
like
for
ytt
to
have
alternative
execution
parsers
like
could
ytt
at
some
point,
support
executing
like
over
tumble
instead
by
like
using
a
similar,
parser
or
json
just
curious.
Well,
I
guess
json
is
valid
yaml
but
maybe
like
hcl2.
E
Yeah
it's
an
easy
fit.
If
it's
a
tree
structure
that
allows
for
annotating,
I
guess.
D
C
Anyway.
I've
always
just
wondered
that,
and
you
know
just
putting
love
into
the
the
tamil
decoder
as
a
library.
D
A
Okay,
anything
further
on
ytt
before
we
move
on
to
kctrl.
F
So
we
are
also
working
on
annotating
data
value
schema
with
validation,
so,
given
a
data,
value
schema
annotated
with
some
validation
rules.
The
final
data
value
calculation
that
does
not
satisfy
the
rules
will
get
some
error
message
about
violation.
So
the
work
is
in
progress
on
this.
C
I'm
really
excited
about
that,
and
I
know
that
it
will
also
have
some
effects
on
the
kind
of
ux
or
improvements
on
the
kind
of
ux
that
we
can
show
to
people
in
k,
control
status
and
and
cap
controller
app
status,
with
validations
kind
of
all,
showing
all
or
more
of
the
issues
than
just
like.
Then
assertion
failing
the
entire
build.
E
So,
like
the
like,
our
schema
type,
like
our
basic
typing
error
messages,
were
very
much
geared
toward
doing
getting
that
feedback
on
the
command
line
and
and
having
a
well-formatted
output.
E
That
shows
you
something
like
like
a
helm
error
that
says:
hey
like
right
here
and
here's
the
line
and
lots
of
useful
supporting
context
and
with
the
validations
we
wanted
to
be
sure
that
they
were,
we
knew
there
could
potentially
be
a
number
of
them
and
so
we're
trying
to
keep
them
terse
yet
concise
so
that
they
were
very
informative,
but
yeah
so
it'd
be
interesting
to
see
the
feedback
we
get
on.
That
attempt.
C
Yeah
I've
noticed
that
the
current
state
of
like
packaging
ux
right
now
in
community
edition
repos,
is
that
most
packages
don't
have
schemas
and
that
validation
is
done
through
assertions.
And
so
when
a
package
maintainer
chooses
to
do
that,
then,
on
top
of
that,
it's
like
a
vendor
relationship
where
someone's
like
consuming
the
package
with
little
knowledge
of
how
it's
been
built.
C
Then
you
try
to
install
the
defaults
and
then
now
the
package
fails
in
the
searching
and
then
it
only
tells
you
one
thing:
that's
wrong
when
you
actually
need
to
provide
10
values
right
and
so
getting
some
adoption
with
these
schemas
and
then
having
the
validations
be
done
with
annotations,
so
that
ytt
can
output
all
of
the
issues
at
once
like
in
a
single
stage.
C
I
think
that
that's
a
really
useful
feature,
and
it
has
like
a
important
effect
on
the
consumability
of
things
that
are
written
by
other
people.
G
Yeah
sure
so
the
stuff
we
have
been
working
on
for
the
app
tailing,
so
the
first
beer
that
we
worked
on
finally
went
through
and
that's
pretty
cool.
It's
been
a
long
time
coming,
and
so
we've
got
another
pr
on
the
way
and
that's
going
to
be
related
to
the
commands
that
get
introduced
as
package
commands
along
the
same
lines
like
maybe
kicking
a
package
install
and
stuff,
like
that.
G
One
of
the
other
issues
that
we're
looking
to
address
is
as
of
now,
if,
if
a
user
updates
like
an
existing
value
secret,
it
doesn't
immediately
get
picked
up
by
the
packet
installed,
and
so
we
just
sort
of
planning
to
trigger
a
reconciliation
and
then
tail
the
progress
with
the
new
secrets
in
place.
G
It's
been
asked
about
a
few
times
and
yep.
That's
one
of
the
use
cases
we
want
to
solve,
and
oh
yeah.
That's
it
we're
just
hoping
that
after
the
first
set
of
features
related
to
this
go
out,
we'll
get
some
feedback
and
then
I
trade
over
it.
H
So
also
looking
to
get
some
feedback
on
the
commands
that
we
are
using
we're
calling
one
of
the
reconcile
now
as
kik,
not
everybody's,
happy
about
it,
but
we
like
it.
I,
like
you,
know,
kick
the
app
come
on
reconcile
now,
it's
like
do
it
now.
So
if,
if
you
have
some
comments
or
feedback
on
that
I'd
love
to
hear
it
also
do
take
it
for
a
spin
see
if
you
could
try
it
out
if
the
pr
is
merged,
it's
there
in
develop
branch.
H
A
That
sounds
good
sumik.
Do
you
have
any
links
for
for
any
of
these
or
where
can
folks
post
feedback
or
where
would
you
prefer.
G
So
we
have
like
an
ongoing
issue
with
a
bunch
of
stuff
about
the
cli,
so
I'm
guessing
people
could
build
on
that.
I'll
put
the
link
in
the.
C
I
know
you
were
asking
for
feedback
on
the
name
of
that
command
and
I
was
definitely
thinking
about
it
and
just
after
seeing
it
for
the
first
time
in
the
notes-
and
I
like
that,
kick
is
like
shorter.
I
think
that
that
it's
like
easier
to
say
than
reconcile,
but
then
there
is
like
a
little
bit
of
a
surprising
like
connotation
where
it
like
feels
physical,
instead
of
where
like
reconcile,
is
like
very
abstract
and
like
neutral.
So
I
know
that
people
probably
have
expressed
that.
C
H
C
Yeah
in
the
flux
command
line,
we
chose
to
use
reconcile,
and
I
think
people
know
what
that
does,
and
I
think
it's
it's
hard
not
to
have
the
bias
of
like
coming
before
from
the
team
that
did
back
design
right,
but
so
I'm
really
trying
to
empathize
with
like
what
is
somebody
new
who's
never
used
this
tool
like
expect
when
they
see
that
in
the
help-
and
I
think
it's
pretty
explanatory,
especially
if
the
help
text
you
know
uses
the
word
reconcile
as
well,
then
it's
like
you're
using
synonyms
together.
So.
E
E
C
H
A
E
Don't
think
so
we
could
try
it
without
there
there's
a
couple
links
there
and
we
can
hopefully
direct
folks.
Let's
see
how
that
goes.
Okay,
okay,
so
carrie
and
I
were
chatting
was
it
yesterday.
It
was
yesterday
about
a
new
feature
that
is
part
of
the
validations
function
within
ytt,
and
this
feature
is
disabling.
The
validations
might
sound
weird,
but
what
what
happens
is
perhaps
imagine
a
package
author
puts
in
some
validations
on
their
data
values
and
then
the
person
who
wants
to
install
that
package
knows
better.
E
For
some
reason,
maybe
that
package
author
mistakenly
created
two
constraining
of
a
validation
or
whatever
it
is.
They
need
to
get
that
package
installed
and
they
don't
want
to
have
those
validations
block
their
deployment
so
and
then,
just
in
general
for
ytt.
Just
it's,
you
know
it's
a
valid.
It's
a
general
valid
function
so
being
able
to
do
that
in
various
use
cases.
So
that's
where
we
started
from
and
kerry
brought
up
a
really
great
point
in
this
discussion
about
like
well.
E
E
So
we're
wondering
is
this
something
that
oh
then
somebody
would
just
need
to
plumb
through
that
flag
for
the
ytt
invocation,
but
then
we
thought
further
about
it
and
realized
wait
a
second
that
would
be
defined
typically
defined
in
the
package
cr
like
in
the
package.
Cr,
that's
where
you're
like
laying
out
like
here
are
my
steps
and
here's
the
files
where
they
come
from,
etc
and
if
there
were
additional
parameters
that
would
be
part
of
that
configuration
in
the
package.
E
So
when
we're
defining
it,
not
when
we're
installing
it
so
so
we're
wondering
is
there
maybe
another
way
like
first
of
all,
like
is
this
something
from
a
cap
controller
perspective?
So
now,
let's
slide
our
product
owner
hats
on
and
say.
Is
this
a
use
case
that
we
want
to
support.
I
The
template
gets
applied
a
package
install,
so
it
would
be
I'm
I'm
always
a
little
lost
in
this
space,
but
right
there's
some
there's
ways
of
applying
overlays
to
the
package
of
package
install
time.
I
C
I
don't
have
a
clear
enough
mental
model
of
the
question
yet
like
I
know
that
we
I've
had
conversations
with
dimitri
about
how
the
the
app
custom
resource
right
is
really
designed
for
people
who
know
exactly
what
they
want
to
do
and
like
which
tools
they
want
to
stitch
together,
whereas
the
package
install
resource
right
like
that's
more
designed
for
people
who
are
you,
know,
vendors
or
third
parties,
packaging
up
things
for
people
to
consume,
and
so
you,
it's
sort
of
an
abstraction
right
like
you're
you're,
hiding
the
details
about
like
which
tools
and
what
the
pipeline
is.
C
You
can't
just
assume
that,
like
everything
is
a
ytt
program,
it's
good
if
ytt
is
under
the
cover
and
if
ytt
is
under
the
covers,
it's
also
good
to
provide
escape
patches
to
provide
the
full
fidelity
of
the
usage
of
ytt
right
like
ytt
is
designed
for
being
extended
by
people.
C
You
didn't
know
were
going
to
extend
your
programs
so
like
including
files
as
part
of
the
whole
ytt
build
is
like
really
an
important
feature
for
package
install
to
not
hide
away
but
say
then
you're
using
a
package
in
a
package
you're
consuming
a
helm,
template
package
and
there's
no
ytt
at
all.
It's
still
valuable
in
the
carville
ecosystem
to
then
be
able
to
add
ytt
overlays.
On
top
of
that,
and
then
you're
not.
You
know
like
the
only
file
that
you're
adding
is
like
you're
bolting
on
another
ytt
post-processing
step.
F
C
Like
turning
off
the
the
features
that
we're
adding
in
the
data
values,
validations
or
like,
are
we
turning
off
assertions
like
what
people
do
today,
like
that's
what
I'm
trying
to
understand.
E
Yeah,
this
would
specifically
be
about
turning
off
validation
data
values,
validations,
that's
the
scope
of
of
this
specific
question
and
I'm
trying
to
be
careful
because
I'm
trying
to
be
precise
here,
because
we
are
actually
talking
about
how
do
we
shape
how
we
answer
this
question
is
sort
of
sets
of
precedence
of
like
how
how
does
a
carnival
user
and
there's
many
right.
This
particular
pers
proto
persona
is
somebody
who
is
using
a
package
like
how
do
they
interact
with
the
system
when
they
do
have
knowledge
of
hey.
I
To
me,
I
think
what
you're
providing
is
an
escape
hatch
for
I'm
trying
to
do
this.
It's
running
into
an
error.
I
don't
care
about
the
error.
I
just
want
to
do
whatever
I'm
trying
to
do
right
like
like
it's
because
you're
saying
don't
validate
like
it's,
it's
a
it's
an.
I
know
better
than
the
system
flag.
I
E
Yeah,
are
we
yeah,
as
I
was
going
to
say
you,
you
asked
an
interesting
question
too,
because
when
carrie-
and
I
were
talking
about
this-
we
were
thinking
very
much
about
the
ytt
validation
feature
that
we're
developing
as
opposed
to
the
way
that
I'm
interpreting
your
last
question.
There
was
well
there's
this
assert
function.
Are
you
talking
about
just
swallowing
any
assertion
failures,
regardless
of
where
they
come
from,
and
that's
not
what
we
were
thinking.
We
were
thinking
very
specifically
that
this
was
about.
E
That
we're
the
way
the
way
we're
approaching
this,
this
validation
mechanism-
we're
thinking
it
more
in
terms
of,
can
you
attach
an
assertion
to
a
yaml
structure
to
a
that
when.
H
E
C
I'm
really
thinking
a
lot
about
like
how
ytt
executes
and
like
what
that
means
for
the
programming
model,
and
why,
like,
I
can
definitely
see
instances
where
maybe
there's
some
overzealous
validation,
and
you
know
you
really
want
to
put
some
custom
thing
in
there
and
then
maybe
you
would
want
to
turn
that
off
so
like
are
we
first
thinking
about
this
as
like
a
flag
to
ytt
like?
Is
this
something
that
we
know
that
we
already
want
just
in
the
ytt
command
line?
Yeah
like
not
even
thinking
about
okay?
C
E
Oh
there's
a
way
to
add
any
additional
flag,
and
that's
not
true
for
for
packages
right.
It's.
C
Not
yet
so
that's
why
I
was
going
on
this
long
diatribe
about
what
the
package
install
is
and
why
it's
so
different
from
the
app
cr
yeah
like,
and
why
you
might
want
to
have
different
options
depending
on
whether
you
are
providing
an
escape
hatch
for
someone
who's
post-processing
with
ytt
versus
modifying
a
ytt
build
that
they
know
is
inside
of
the
thing
that
comes
out
of
a
package
install
and
because,
like
at
the
end
of
the
day
like
you
can
provide
escape
hatches
and
I'm
a
huge
advocate
for
like
getting
out
of
the
way
of
the
infrastructure
engineer,
because
they
deal
with
glue
problems
that
suck
all
the
time.
C
The
nice
thing
about
cap
controller's
design
is
that
the
app
cr
is
actually
so
much
more
powerful
than
the
package
install
that
like.
If
I
ran
into
that
problem,
if
the
tool
just
encouraged
me
to
just
make
my
own
app
cr
instead
of
consuming
a
package,
then
like
that,
might
be
the
right
move
versus
adding
a
bunch
of
unvalidated
annotations
that
are
super
hard
to
find
and
don't
show
up
in
coop.
Ctl,
explain
like
if
you
want
to
add
action
like
estate
patches
to
the
package
install
like.
C
I
That
just
feels
like
we
screwed
up
packaging
right,
like
that.
That
feels
like
a
much
larger
discussion
about
what
is
our
packaging
model
and
why,
but
I
think
to
me,
the
model
has
to
be
a
package
is
something
that
is
actually
useful
to
someone
like
if,
if
we
failed
at
packaging
that
badly
that's
a
really
broader
scope
of
discussion.
But,
like
the
point
is
I'm
a
consumer
I
have
I
like.
I
know
the
package
is
out
there,
I'm
just
trying
to
install
cert
manager
and
get
on
with
my
day
and
there's
a
validation
failing.
I
I
don't
care
about
that
validation
because
right,
I'm
a
grumpy.
You
know
package.
What
do
we
call
them
infrastructure
engineer,
so
I
just
need
a
like
dash
dash.
Do
what
I
say
flag
and
let
me
keep
going
with
my
life,
I'm
just
trying
to
install
cert
manager
over
here
and
that's
not
even
right.
The
business
goal
is
never
installed
the
package.
The
business
goal
is
use
the
package
in
service
of
whatever
the
business
is
trying
to
do
so
like
just
don't
don't
make
me
get
hung
up,
but
anyways
there's.
E
Yeah,
okay,
I
think
I'm
getting
the
initial
signal.
Carrie
was
there
other
stuff
in
here
that
we
were
talking
about
yesterday
or
questions
that
came
up
for
you
in
this
discussion.
E
J
Yeah,
I
think
there
is
something
interesting
here,
I'm
not
sure
if
we'll
have
to
have
time
to
dive
into
it,
but
I
just
want
to
bring
it
up
like.
There
are
multiple
personas
that
might
want
to
disable
validations,
like
the
person
who
is
creating
the
package
might
want
to
disable
validations
for
everybody,
that's
installing
it
and
then
the
person
that
is
installing
the
package
might
want
to
just
disable
validations
for
just
themselves.
J
So
I
think
that
that
aspect
adds
a
bit
of
complexity,
because
now
it
needs
to
be
configured
in
two
separate
places,
potentially
so
something
to
talk
more
about
there.
C
Yes,
okay,
cool,
so
that
you
so
that's
why
that
bubbles
up
to
the
y2
command
line?
It's
this
is
already.
If
it's
in
the
ytt
command
line,
it's
technically
exposed
in
the
app
cr
but
yeah,
then
it's
like
how
do
you
build
it
right
so
that
the
package
install
escape
patch?
You
know
feels
right,
yeah
and
isn't
just
bolted
on.
E
Yeah-
and
I
I
do
genuinely
mean
do
do
mean
to
question
whether
or
not
this
is
a
use
case
to
solve
for
and
you
bring
up
a
really
interesting
work
around,
which
means
that,
like
perhaps
and
and
I
don't
mean
to
keep
opening
up
this
conversation
but
but
yeah,
I
just
maybe
to
wrap
that
up
and
be
like
looks
like.
We've
actually
got
a
couple.
Different
interesting
options
to
consider
here
in
terms
of
how
this
stuff
integrates
through
to
cap
controller
as
a
representation
of
the
integration
of
the
suite
cool.
H
H
H
How
do
you
say
educated
enough
to
make
these
take
these
calls
and
what
percentage
are
just
plain
users?
I
think
that
should
be
considered
also.
E
Yeah,
that's
a
great
point.
It
reminds
it
spins
up
for
me
this
notion
about
policy
and
mechanism
in
trying
to
help
people
who
don't
yet
understand
like
have
a
gap
in
their
experience
or
understanding,
not
not
hurt
themselves
with
the
tooling
and,
at
the
same
time,
somehow
be
able
to
allow
those
who
more
deeply
understand
than
maybe
like
their
situation.
E
Like
someone
says,
hey,
I
think
that
the
resources
for
a
particular
deployment
should
only
be
this
large
and
they
have
great
reasons
for
it
and
then
someone
in
just
like
some
weird
corner
case
situations.
E
No
those
resource
limits
don't
make
sense
because
of
the
way
we
do
our
virtualization
and
the
way
we
bill
out
our
compute
and-
and
it's
like
it's
not
that
this
other
person
didn't
know
like
that-
that
they're
somehow
unskilled
but
there's
a
piece
of
information
they
just
didn't
couldn't
possibly
have
known.
That
needs
to
get
overridden.
H
Yeah
and
if
we
are
planning
to
introduce
sorry
just
one
last
point,
I
think
we
generally
use
dangerous
blah
blah
blah
when
we
are
doing
these
things.
So
maybe
that
might
be
something
to
consider.
C
Great,
I
I
really
agree
with
everything
that
everyone
is
saying
here
and
renew
like
your
points
about
the
package
maintainer
like
knowing
what
their
validations
are
for
and
like
what
the
gotchas
are
is
super
important
right,
because
most
people
aren't
going
to
like
go
so
deep
into
the
package
to
like
understand
why
they
want
to
override
the
thing.
C
And
I
think
I
just
realized
that
we
have
all
these
annotations
on
the
package
install
resource
that
are
it's
like
really.
The
documentation
is
like
hard
to
get
to
because
it's
not
in
the
kubernetes
api
and
it's
hard
to
use-
and
it's
really
not
very
flexible
anyway,
like
what,
if
we
just
had
a
way
for
like
a
documented
field
on
the
package
install
resource
to
ytt
patch,
the
app
resource
that
it
produces,
because
then
anything
that
the
app
resource
could
do.
C
It's
like
you've
provided
the
ultimate
escape
hatch
to
somebody
who
really
knows
what
they're
doing
at
the
package
install
layer
and
then
it
still
gives
them
the
usefulness
of
consuming
a
package
right.
Then
they
could
do
anything.
They
can
add
flags
to
something
from
a
particular
array
into
c.
They
could
do
custom
matcher
funks.
They
could
run
like
the
full
power
of
ytt
on
the
value
of
a
package
install
right
and
then
you
wouldn't
need
weird
annotations
or
anything.
C
It's
literally
like
you're,
just
giving
the
person
say
hey
whatever
the
heck
is
happening
from
underneath
this
abstraction.
You
have
full
control.
If
you
really
want
it,
you
know,
and
then
you
don't
need
special
annotations,
that
change
like
the
helm,
template
name
or
you
know
the
target
name
space
or
something
or
you
know
whatever
like
you,
you
don't
need
to
have
special
annotations
that
add
particular
flags
to
ytt
builds
like
you
can
just
write
a
ytt
program
to
change
the
app
resource
that
gets
produced.
E
C
That
would
solve
like
a
lot
of
my
frustration
with
the
package
install
resource
like
I
would
be
able
to
do
so
much
with
that,
and
it
still
keeps
the
contract
of
like
between
the
package
consumer
and
the
package
maintainer
like
really
clear,
so
that
the
package
maintainers
wishes
are
respected.
In
most
cases,.
E
Yeah
I
agree.
This
is
a
great
discussion
thanks.
This
is
way
more
than
what
I
thought
we
were
going
to
get
out
of.
This
is
fantastic.
Thank
you,
but
yeah.
I
agree.
Let's
pause
on
this
and
we'll
we'll
take
this
into
slack
in
other
places,.
A
I
A
Okay,
does
anybody
have
any
comments
on
that.
E
C
So
you're
using
statistics,
joe
I'm
just
curious,
like
what's
like
the
magnitude
of
that
number
like,
is
it
like
50
milliseconds
versus
100,
milliseconds.
I
Or
like
it
really
depends,
so
it
really
depends
on
the
kubernetes
like,
what's
underlying
so
like
it's
a
really
different
number
on
mini
cube
than
it
is
on
gke,
but
you
could
think
of
it
if
it
took
a
minute
to
deploy
something
on
gke
a
large
package
repository
now
it
takes
closer
to
30
seconds.
I
That's
really
important
cool!
Well
anyways
like
I'm.
Still,
it's
still
a
benchmark.
It's
a
synthetic
measure.
It's
still
going
to
take
five
minutes
to
install
20
real
packages.
These
are
like
the
the
one
of
the
gotchas
here
is
that
this
benchmark
the
packages
have
no
spec
at
all,
like
their
empty
brackets,
so
I'm
only
measuring
the
overhead.
The
cap
controller
is
adding.
A
H
Any
other
comments
on
that
do
we
also
have
a
measure
of
the
number
of
calls
that
we
are
making
to
the
api
server
that
have
reduced.
You
know.
I
In
indirectly,
that's
I
I
know
that's
a
big
concern
in
cap
and
it
that
turns
out
to
be
not
trivial
to
measure
by
like
package
repository
in
particular,
it's
like
different
pieces
keep
calling
each
other
back
and
forth,
and
so
anyway,
it's
I've
been
working
on
the
different
feature.
We'll
talk
about
later
for
package
repositories.
It's
very
clear
that
if
you
want
package
repositories
to
reconcile
quickly,
the
the
way
to
do
it
is
to
hit
the
api
server
as
little
as
possible.
I
But
you
could
also
say
the
way
to
have
the
fastest
possible
like
custom
resource
is
to
never
use
it.
So
it's
a
little
bit
of
a
curse,
because
as
soon
as
you
start
using
your
custom
resource,
you
talk
to
the
api
server
as
soon
as
you
talk
to
the
api
server,
you
pay
a
penalty
for
talking
to
the
api
server
but
anyways.
The
short
answer
is
no
sorry.
H
Okay,
so
just
a
side
note
here,
if
anybody's
interested
to
know
there
is
a
flag
called
as
wait.
Sorry
apply,
check
interval
apply,
check
interval
is
when
you
ask,
when
cap
goes
back
and
sees
whether
this
particular
resource
has
been
applied
or
not
it,
which,
at
what
interval
should
be
checking,
should
be
right
now
it
is
set
at
one
second,
so
every
one
second
is
going
to
go
back
and
check
whether
this
resource
has
been
applied.
H
Now
it.
It
works
well
for
small
resources,
like
config
maps,
where
it
comes
back
immediately,
but
there
are
some
resources
which
take
a
lot
of
time,
and
what
we
found
out
is
that
if
we
change
the
the
interval
to
around
15
seconds,
the
number
of
calls
reduce
drastically
to
to
the
api
server
on
on
the
cluster
and
the
time
does
not
reduce
the
amount
of
time
for
package
install
does
not
reduce.
So,
basically,
all
your
pods
replica
sets
and
whatever
are
the
big
resources
that
take
a
lot
of
time.
H
They
usually
come
back
in
15
seconds
of
time,
so
we
are
generally
making
these
calls
for
15
seconds
which,
which
is
bombarding
the
aps
over
there.
So
I
think
that
is
something
that,
and
it
is
useful
for
installations
like
tap
install
where
we
are.
H
I
Internally,
all
right
internally
cap
controller
for
package
repository
the
I
forget
the
flag,
but
it
basically
it's
a
fire
and
forget,
so
there
is
no
waiting
like
it
sets
that
like
weight
to
zero
seconds
so
anyway,
I
think
there's
good
context
but
specifically
package
repository.
We
don't
use
cap
in
that
mode
at
all.
Right
like
we,
I
have
to
check
the
flag,
but
you
said
something
to
zero
seconds.
A
A
Thank
you,
joe
as
well
for
bringing
that
up.
Moving
on,
we
have
about
four
minutes
left
lee.
Is
that
enough
time
for
your
discussion
topic,
or
would
you
like
for
us
to
move
it
to
next
week.
C
Yeah,
I
think
it's
enough
time.
I
did
link
a
slack
thread
in
project
carville
internally
and
to
an
external
slack
thread
in
the
kubernetes
slack
where
dimitri
and
I've
been
talking
about
this
problem
a
little
bit.
But
basically
I
just
wanted
to
know
if
anyone
has
thoughts
about
programmatically,
exposing
like
as
a
library
function.
C
All
of
that
really
juicy
text
template
behavior,
that's
available,
I
think
only
through
annotation
right
now,
since
there
are
I've
been
playing
a
lot
with
like
modularity
and
like
moving
different
blobs
of
data
and
different
folder
structures
and
using
libraries,
and
this
is
something
that
I
ran
into
where
it's
like.
C
If
I
have
something
that
is
a
text
template
and
then
I
want
my
data
values
from
some
context
in
higher
part
of
the
project
to
template
that
thing,
then
it
seems
like
it's
not
possible
to
do
that,
or
maybe
I
don't
know
what
the
library
function
internally
is
that
maybe
is
somehow
possible
to
call,
but
I
also
don't
know
if
there's
a
way
to
add
annotations,
maybe
to
a
document
set
or
something
or
to
a
library
instance
before
I
template
it.
That
could
also
maybe
work
like
pre-evaluation.
C
If
there's
some
way
to
modify
the
structure
of
the
library
instance,
I
don't
know
how
to
do
that,
but
maybe
there's
one
way
to
do
that
so
yeah,
I'm
I'm
interested
in
this,
and
basically
the
problem
that
led
me
to
this
is
I
have
a
helm
template
that
I
put
a
bunch
of
ytt
template
strings
into
the
data
values
and
the
helm,
template
outputs
as
a
valid
ytt
string
template
where,
like
you,
could
recurse
the
fields
and
replace
data
values
into
the
output
of
the
helm,
template
and
I
wanted
to
consume
that
as
a
library
and
you
know,
execute
the
text
template
logic
and
it
didn't
seem
like
that
was
possible.
C
Yeah
yeah,
I
mean
I
could
even
show
the
what
the
work
around
that
I
had
to
do
was,
but
the
details
are
in
slack
thread
as
well.
C
I
ended
up
doing.
Is
it
possible
for
me
to
grab
screen,
share,
really
quick
nancy.
C
So
when
I
helm
template,
I
just
set
the
string
for
this
networking
option
as
something
that
ytt
could
potentially
template
if
the
templating
feature
were
enabled.
But
the
templating
feature
is
opt-in
per
document
right
so
like
if
I
actually
go
into
this
helm
chart
you
know
in
like
the
api
deployment.
I
think
there's
there's
here's
my
service
cider
template
outputting
here
I
have
to
add
an
annotation
to
this
document
for
it
for
ytt
to
do
that.
C
String,
templating
and
you
know
that's
like
that's,
not
something
that
the
helm
charge
is
going
to
expose
to
me.
So
I
need
to
do
that
in
the
ytt
layer,
but
there's
no
way
for
me
to
do
that.
I've.
I've
tried
like
adding
the
annotation
here
and
it's
because
this
thing
is
actually
already
evaluated
right,
like
that's,
never
going
to
be
templated
after
this
point
right,
there's
nothing
I
can
do
before
this
function.
That
allows
me
to
text
template
to
my
knowledge,
so
instead
the
work
around
was,
I
just.
C
I
did
a
blind
string
replace
by
decoding
or
encoding
the
yaml,
the
the
starlark
strucks
into
yammel
doing
a
you
know,
string
replace
on
that
specific
thing
for
this
specific
value
and
then
you
know
yeah,
and
I
also
had
an
overlay
version
of
this,
which
was,
in
my
opinion,
a
lot
worse
because
it
required
me
to
know
like
every
single
field
where
something
was
so.
C
I
I
liked
the
regex
approach
better,
but
what
would
have
been
really
nice
is
being
able
to
just
call
text
template
on
every
single
document
in
this
document
set,
and
so
I
thought
that
that
might
be
an
interesting
thing
to
expose
as
a
library.
C
J
Oh
yeah,
well,
when
I
was
reading
through
that
thread
earlier,
I
had
a
hard
time
understanding
like
what
what
was
needed
well,
what
the
input
and
output
was,
but
your
example
helped
me
if
you
could
provide
like
a
an
input
and
expected
output
to
that
thread.
I
think
I
might
be
able
to
do
some
research
on
on
what's
available,
so
that
would
be
helpful
for
me.
E
Ditto
for
the
record,
no
you're
not
missing
anything.
Yes,
you
get
back
a
doc
set.
Yes,
it's
already
evaluated
and
the
things
that
you've
tried
are
the
things
I
would
have
thought
to
try
first.
So
this
would
be
a
very
fun
exploration
into
bringing
more
programmatic
capabilities
around
templating
into
the
starlark
execution
environment,
yeah.
C
I
think
if
we
exposed
the
compile
and
the
parse
functions
to
like
a
easy
way
to
walk
any
starlark's
truck
so
that
it's
not
yaml,
specific
or
tonal
specific,
it's
just
a
starlark
struct
and
it
works
on
keys
and
values
and
it
outputs
a
new
starlark
struct.
That's
fully
templated,
then
that
function
would
do
exactly
what
I
need.
You
probably
just
need
a
version
for
the
scalar
and
for
a
tree
or
struct
and
then
yeah.
E
Yeah
you
just
made
the
whole
meeting,
go
full
circle
for
me
because
in
the
beginning
we
were
talking
about
like.
Can
you
expose
tommel
as
a
structure?
It's
like
yeah,
that's
what
we
currently
call
a
yamal
fragment
in
your
starlark
types
and
if
we
make
that
available-
and
you
had
you
have
all
the
capacity
of
like
the
stuff
underneath
that
is
genuinely
that
structure
with
those
annotations.
A
Okay,
so
we
are
over
time,
but
just
want
to
give
anyone
else
some
space
if
they
have
any
other
comments
to
that.
A
Nope,
okay,
thank
you
lee
for
for
bringing
that
up
as
well,
really
appreciate
it
and
for
those
that
are
watching
from
home.
If
you
have
any
feedback
or
any
comments
on
what
was
discussed
today,
please
reach
out
to
us
join
us
at
the
next
meeting.
We
would
love
to
hear
from
you
and
you
know
we
want
to
meet
you
as
well.
So
with
that,
we
hope
to
see
you
at
the
next
meeting,
and
you
know
we
look
forward
to
meeting
you.
Thank
you.