►
From YouTube: CNCF Envoy Community Meeting 2020-03-10
Description
CNCF Envoy Community Meeting-2020-03-10
A
Okay,
well,
let's
get
going
then
oops
can
add
stuff
as
we
go.
So
one
thing
I'd
like
to
just
bring
up
is
something
an
issue
that
Google's
faced
recently.
Yes,
we
actually
added
in
a
PvP
annotation,
which
actually
you
realize
later
may
be
interpreted
as
a
breaking
change.
So
one
of
the
things
we've
become
pretty
strict
about
in
the
API
is
is
not
breaking
api's
at
the
proto
level
or
semantic
layer.
That
is,
you
know
like
removing
features
which
have
no
way
of
being
really
expressed
and
I.
Think
that's
great.
A
One
area
we
haven't
been
particularly
strict
up
on
historically
has
been
adding
in
additional
PGV
annotations,
which
you
know,
because
there
are
annotations,
they
were
never
really
considered
to
be
part
of
the
core
proto
ABI,
but
in
reality
they
actually
are
because
you
know
we
start
rejecting
configurations
when
we
fail
these
PGP
checks.
So
I
guess
I'll
just
like
to
ask
if
we're
just
generally
comfortable
as
a
p.m.
A
particularly
the
API
Shepherds,
who
are
here,
which
I
think
is
just
mad
at
myself,
being
much
more
careful
about
pushing
back
on
pgb
changes
and
making
sure
of
these.
They,
the
only
safe
thing
to
do,
is
to
make
a
PG
V
change,
weaker,
I,
believe
within
a
major
version
and
having
in
a
stricter
PG
B
check
is
actually
a
breaking
change
unless
there
was
already
an
implied
contract
and
I
and
I.
A
Think
that's
where
things
become
a
bit
murk
here
and
you
can
see
in
this
particular
case
that
there
really
was
an
implied
contract
that
to
you,
for
example,
you
no
characters
in
the
middle
of
an
had
a
name
that
would
be
bad
homeboy
rejected
that
anyway,
it
would
crash.
But
if
you're
talking
about
like
fool,
RFC
compliance
for
how
to
name
his
values
and
seeking
and
being
very
strict
about
the
character
stats
there
that
didn't
I,
don't
think
that
was
actually
necessarily
an
implied
contract.
A
B
It
would
allow
us,
for
example,
to
do
something
like
change
like
change,
one
of
the
validations,
but
put
it
behind
a
runtime
hook
and
then
actually
go
through
a
deprecation
period
and
I
I
mean
it
would
be
some
work
like
I'm,
not
saying
that
it's
easy,
but
it
seems
doable,
and
that
would
allow
us
to
potentially
do
things
like
this
header
change,
which
are
probably
a
good
thing
to
do.
But,
but
we
probably
can't
do
by
that
definition
until
we
cut
v4
yeah.
A
I
mean
the
question
is
for
other
uses
of
the
API.
Is
that
an
acceptable
thing
to
do
as
well?
Like
you
know,
we
move
to
the
major
versioning
and
the
clocks
suckhole
around
the
API
is
to
sort
of
you
know,
provide
folks
with
these
no
stability
guarantees
and
now
we're
saying
well.
The
API
is
allow
this
yesterday,
but
in
three
months
time
and
they
stopped
allowing
this
that
might
make
other
API
uses
unhappy.
I
think.
B
That's
probably
true,
I
I
think
there's
a
bigger
question
here,
though,
which
is
that
I
mean
we
don't
guarantee
that
PGV
is
supported
in
every
language
in
which
is
API
might
actually
be
used.
So
III
guess
it's
like.
Do
we
even
have
an
official
policy
on
do
it
like?
Do
we
assume
that
the
PGV
validations
are
a
critical
portion
of
the
API
like
I?
Think
the
answer
is
yes,
but
it's
something
that
we
should
probably
document
so.
B
Are
in
envoi,
but
we
don't
know,
for
example,
that
the
people
that
are
building
control
planes
like
we
don't.
We
don't
know
that
they're
using
those
validations
potentially
in
their
tests,
or
something
like
that
right,
because
they
could
be
building
a
control
plane
in
any
language.
That
protobuf
supports
right.
A
B
B
It
does
seem,
though,
that
there
should
be
some
judgment
here
which
is
like
in
in
the
case
of
this
header.
One
I
mean
this
seems
like
the
kind
of
change
that
we
probably
should
be
able
to
make
and
I'm
just
suggesting
that
there
may
be
a
technical
gray
area
where
at
least
an
envoy
if
we
could
also
annotate
a
change
with
like
a
runtime
feature
flag
that
would
allow
us
to
go
through
the
normal
deprecation
period.
Well,.
A
I
feel,
like
you
think
that
the
annotations
are
a
convenience
for
developers.
You
can
always
implement
some,
that's
in
a
PGP
annotation
in
code
in
envoy
rights,
and
we
could
do
that
are
the
rejection
there.
So
we
could
always
have
envoy
just
using
normal
mechanisms
adding
to
the
bootstrap
or
something
like
that.
Hey,
hey,
I'm
gonna,
be
really
strict
about
enforcing
header,
RFC
values
and
just
do
that
there
versus
doing
it
in
the
PGP
annotation
right.
C
B
B
Yeah
that
that
would
be
the
cleanest
way
of
doing
this.
It
would
be
the
most
pain
to
the
most
users.
You
know
and
again,
that's
why
it's
like
I
feel
like
there's
always
some
judgment
here,
which
is
we're.
You
know
we're
trying
to
balance
pain
to
users
versus
doing
the
right
thing,
and
it's
like
this
feels
like
a
case
in
which
we
could
probably
just
do
it,
but
you
know
it
might
break
someone,
so
it
feels
like
we
need
to
at
least
have
some
type
of
feature,
flight
control,
so.
C
There
we
saw
into
this
lecture
led
to
like
the
elevation
on
the
path,
free
right
and
hold
free
right
is
things
we
charged
a
lot
more
likely.
Torchic
of
configuration
will
be
essentially
incorrect
and
why
should
be
rejected
and
someone
sighs
depends
on
what
the
violations
of
being
and
someone's
like
she
will
prefer
their
lies
to
be
fairly
strict
and
they
to
actually
avoid
a
users.
I
concur
themselves
by
actually
making
rewrite
that
wisely.
Black
holder
requests.
A
I
think
the
more
complex
is
validation
becomes
the
more
likely
it
should
just
exist
in
code
and
envoy,
and
it
shouldn't
just
be
like
it's
pretty.
We
don't
know.
Pgb
isn't
particularly
expressive
today,
for
example
like
if
we
had
like
full
seller.
You
know
expressive
is
you're,
not
kind
of
thing
that
might.
C
D
A
B
C
A
No
I
agree,
I
mean
you
basically
have
a
contract.
They're
explicit
I
mean
the
the
concern
over
API
changes.
You
turn
other
things
as
bigger
one,
because
guess
what
we
have
a
lot
of
API
to
in
anyway
built
into
the
newer
major
version
thing
every
year,
you're
throwing
away
or
your
old
API
code
and
running
new
stuff.
D
A
That
can
be,
there
can
be
brother
for
anyone
yeah,
but
that's
we're
gonna
discuss
its
offline
Antonio,
but
that
was
basically
the
community
agreed
approach
to
providing
stable
API
is
for
envoy
and
other
clients
such
as
GRP,
see.
Now
that
was
a
Google
request
and
one
we're
actually
resource,
but
it's
it.
Yes,
it's
nice
not
pleasant
for
anyone,
but
turns
out
predator.
We
don't
know
that
actually
ants
better
story
is
in
the
predator,
what
other
than
never
deprecated
a
feature
or
basically
break.
Why
compatibility
they
so
on?
C
C
C
C
A
D
C
B
D
B
A
B
A
Well,
I
think
that's
the
plan
then,
and
yeah
I'm.
D
A
E
A
I
mean
basically,
what
we
will
do
is
again
for
until
end
of
quarter.
Probably
you
wouldn't
make
those
changes
to
V
2
and
then
at
the
end
of
quarter.
You
would.
We
will
flip
this
around
so
that
v2
is
effectively
frozen
and
no
one
can
modify
it.
Then
this
really
gets
to
be
the
canonical
source
of
truth
and
that
will
propagate
forward
to
v4
yeah
yeah.
B
Like
from
from
an
optimal
tooling
perspective,
I
think
where
we
need
to
go
from
from
a
North
Star
perspective
is
you
should
only
have
to
edit
one
proto
like
everything
else
should
be
automatically
generated,
so
it's
like
all
of
the
you
know
all
of
the
shadow
proto's,
like
all
of
the
next
version
proto's
like
to
me.
That's
a
that's
a
build
implementation
detail.
So
if
we.
B
A
B
C
B
A
That
can
actually
work
because
you
need
you,
some
non
hermetic
things
there,
but
we
can
discuss
like
I,
think
we're
pretty
lazy
and
maybe
some
other
bad
life
experts
in
the
room,
because
I
know
in
a
bass
or
Robin
you
can.
You
can
do
some
pre
non
and
medic
things,
but
that's
different
than
basil,
build
I.
Think.
B
A
How
do
you
rewrite
the
source
tree?
I
mean
you
need
whether
there's
going
to
be
multiple
versions
living
in
perpetuity
of
each
of
these
api's
in
the
source
tree.
You
know,
like
always
at
least
one
step
in
which
a
file
gets
copied
back
out
of
the
Basel
cache,
or
something
like
that
to
make
this
work.
I
would.
B
C
F
Recommended
way
of
doing
like
checking
and
generated
files,
you
are
the
check
to
the
bill
to
verify
that
it
is
what
it's
like.
What
are
they
connected
to?
The
other
thing
that
I
found
is
that
doing
git
push
now
takes
quite
a
while
because
of
the
get
hooks.
So
even
if
I'm
not
changing
any
api's
I
don't
have
to
go,
get
a
coffee
while
I
wait
for
you.
A
A
We
running
checks
which
don't
need
to
be
run
basically
during
things
format
or
check
formats,
and
you
should
just
basically
be
able
to
compute
everything,
that's
going
to
be
pushed,
and
only
if
there's
an
file,
that's
modified
with
the
proto
suffix
or
a
Python
suffix
that
you
run
the
respective
checkers
on
and
that's
a
project
for
someone
who
really
wants
to
make
this
fast.
You
know
you
know
if
it's
enough
of
a
pain
point
for
someone,
please
go
ahead
and
do
that.
I
can
create
an
issue
to
track
yeah.
F
I
also
think
like
we're,
like
format,
checking
like
the
generated
files
during
the
hook,
which,
presumably
yes,
presumably
as
long
as
we're
as
if
it's
getting
checking
CI.
It's
probably
not
useful
for
me
to
check
every
time
I
like
and
they
get
hooks,
but
yeah.
It's
the
this
that
wasn't
work
that
we
get
on
victory
like
streamline
this.
What.
B
I
would
recommend
doing
is
just
opening
tech
debt
issues
for
some
of
these
things,
there
are
people
out
there
that
that,
like
fixing
these
types
of
things-
and
it's
like
having
these
issues
opened,
it'll
make
it
more
likely
that
we
can,
you
know,
get
people
out
within
the
community
who
might
want
to
work
on
them.
Yeah.