►
Description
Service APIs Bi-Weekly Meeting (APAC Friendly Time) for 20210401
A
We
are
recording.
This
is
gateway
api
meeting
for
march
31st
2021..
I
I
wanted
to
spend.
I
know
we
mentioned
this
a
while
ago,
a
few
weeks
ago,
that
it
would
be
good
just
to
get
some
feedback
on
what
we
were
thinking
about
presenting
at
kubecon,
and
we
need
to
have
kubecon
this
presentation
recorded
basically
in
the
next
week,
and
so
based
on
that
I
just
wanted
to.
A
This
is
not
going
to
be
a
formal
presentation
or
anything
like
that,
but
I
wanted
to
take
maybe
15
or
20
minutes
at
the
start
of
this
meeting
and
just
run
through
what
we've
been
thinking
about,
presenting
and
hopefully
get
some
feedback
as
far
as
areas
that
we're
missing
out
on
things
that
maybe
we
don't
need
to
highlight
as
much
or
should
highlight
more
or
anything
else
you
can
think
of
so
yeah.
This
should
be
visible
to
everyone.
If
it's
not,
let
me
know-
and
also
hopefully,
my
screen
sharing
is
actually
working.
A
Wow,
it's
amazing,
okay,
cool,
so
yeah.
This
is
a
really
simple.
I
just
structured
the
presentation
with
really
the
first
half
going
through
an
introduction
to
the
api
where
we're
talking
about
the
goals,
the
resource
model
and
some
of
the
key
concepts
around
the
api,
and
then
we
want
to
spend
a
fairly
significant
chunk
of
this
presentation
going
through
demos.
So
because,
at
least
for
me,
that's
how
I
learn.
I
you
know.
A
I
really
like
to
see
it
in
action
to
understand
the
different
components,
and
I
think
we
have
good
demos
and
I've
kind
of
scoped
out-
and
I
spent
yesterday
running
through
and
before
running
through
different
implementations,
to
make
sure
that
the
demos
I
wanted
to
do
were
possible.
A
So
right
now
I
have
scoped
out
basic
demos
using
traffic,
istio,
contour
and
gke
and
we'll
get
into
those
a
bit
later
and
there's
there's
a
lot
of
different
content.
We
could
choose
for
demos
and
I'm
not
sure
I
chose
the
best
or
most
compelling
content.
A
So
when
we
get
there
again
interested
if
we
should
be
highlighting
some
other
functionality
or
whatever
it
is
so
for
history,
we
go
through
and
talk
about
the
the
origins
of
is
of
ingress
in
general,
and
you
know
what
it
prioritized
and
how
simple
it
was
and
how
widely
used
it
was,
and
also
the
idea
of
how
service
started
simple
and
it
became
larger
and
larger
and
started
to
include
configuration
for
you
know
all
kinds
of
advanced
concepts
that
just
kind
of
got
tacked
on,
and
so
the
combination
of
those
things
led
to
the
question.
A
A
I
had
this
somewhat
classic
picture
of
one
of
the
first
meetings
meetings
or
that
brainstorming
sessions-
I
don't
know
I
know
we
had
several
at
that
kubecon
and
they
evolved
from
there.
I
think,
shortly
after
that
kubecon
we
started
setting
up
weekly
meetings
and
yeah
here
we
are
so
and
feel
free
to
interrupt
me
at
any
point.
Harry
you've
also
been
involved
in
just
you
know,
developing
these
slides.
A
A
Cool
all
right,
so
the
other
thing
is,
and
a
lot
of
this
concept
is
taken
from
docs,
where
we
already
outlined
some
of
the
goals
of
our
api.
We
want
it
to
be
role
oriented,
we
want
it
to
be
portable,
we
want
it
to
be
expressive
and
we
want
it
to
be
extensible.
I
know
we
have
probably
more
goals
than
this,
but
I
think
this
is
kind
of
a
good
high
level
way
to
describe
what
we're
trying
to
do
here.
A
Roll
all
of
these
feel
like
pretty
core
ideas
that
we're
trying
to
solve
for
so
the
next
few
slides
I
go
through.
We
go
through
the
different
roles,
we're
considering
as
we
designed
this.
I
kind
of
I
had
this
in
a
couple.
Different
places
and
harry
suggested
harry
improved
this
a
lot
we'll
say,
but
I
I
think
we
want
to
describe
the
idea
of
our
compatibil.
A
Yes,
our
our
conformance
levels
at
this
stage,
so
I
think
that's
really
a
key
point
of
why
we're
trying
to
be
portable
and
how
we're
trying
to
do
it.
Then
the
expressiveness
just
covering
some
of
the
features
that
this
enables.
I
know
there's
a
lot
more
and
extensibility.
A
You
know
across
a
wide
set
of
use
cases,
and
we
know
that
we
can't
have
everything
in
the
core
api,
so
we
want
to
provide
lots
of
extension
points
if
there
are
other
extension
points
we
should
mention
here
or
if
some
of
them
are,
you
know
whatever
definitely
add
a
comment
or
let
us
know.
A
Okay,
so
moving
on
from
here,
we've
got
a
resource
model.
A
This
is,
I
think,
a
not
terrible
way
of
explaining
how
things
work
that
a
gateway
class.
I
can
reference
prams
and
this
kind
of
all
animates
in
so
you
start
with
the
gateway
class,
then
params
and
then
gate.
Each
gateway
class
can
be
referenced
by
multiple
gateways.
Each
gateway
can
select
multiple
routes.
A
B
Rob
how
do
you
think
about
what
do
you
think
about
adding
like
a
tcp
router,
another
protocol
in
there?
We
we
talk
about
protocols,
but
we
don't
mention
them
in
multi
different
places.
I
was
thinking
if
we
can
reinforce
that.
This
is
not
http
anymore,
which
isn't
a
big
complaint.
We've
had
hold
up
so.
A
Yeah
you're,
that's
that's
a
really
good
point.
One
thing
that
you'll
see
throughout
this
presentation
is:
we
we
don't
cover
tcp.
We
we
cover.
We,
we
only
cover
http
route
in
the
current
presentation,
so
yeah
that
that's
a
good
point.
Let
me.
A
B
A
Cool
and
then
I
just
take
it-
would
just
take
some
time
and
run
through
the
decor.
You
know
resource
type,
so
we've
got
gateway,
class
gateway
routes,
etc.
A
And
then
some
key
concepts
and
the
key
concepts.
I
had
a
lot
of
ideas
for
what
could
potentially
belong
in
here,
but
I'm
trying
to
avoid
putting
anything
in
this
section
that
we're
also
going
to
be
demoing
that
we
can
cover
with
effectively
with
a
demo
so
because
I
think
a
demo
is
a
better
way
than
slides
wherever
possible,
but
some
some
concepts
are
a
bit
more
complex
or
would
require
more
than
one
demo
to
properly
show
it
so
and
we
we
do
have
pretty
limited
time
here
so
gateway
route.
A
Binding,
I
think,
is
a
key
detail,
but
I
don't
I'm
again
trying
to
trying
to
find
a
right,
the
right
balance
here,
because
we
don't
want
to
go
too
far
into
details
for
any
one
feature,
because,
although
I
think
the
resource
model
as
a
whole
is
probably
not
going
to
change
much
the
the
specific
details
of
say
route
binding-
I
imagine
that's
gonna
change,
I
I
don't
know-
maybe
maybe
it'll
just
be
tweaked,
maybe
we'll
overhaul
it
more
broadly.
A
I
I
don't
know,
but
I
I'm
hesitant
to
go
too
far
into
the
details
here.
There
are
some
slides
where
we
could
you
know
like.
I
think
this
is
a
good
way
to
describe
the
current
relationship
and
say:
okay,
so
in
this
case
kind
matches
namespace
matches
labels
match,
but
the
route
is
preventing
it
because
it
only
allows
you
know
from
the
same
namespace
and
so
that
that
is
the
thing
that's
preventing
this
from
working.
A
I
think
this
is
a
really
good
description,
but
I'm
I'm
not
100
sure
I'm
really
interested
in
feedback
here,
because
it.
This
is
a
good
way
to
describe
this
works,
and
this
doesn't,
but
it
could
also
make
this
presentation
less
relevant,
say
six
months
from
now.
If
we
change
anything-
and
I
realize
a
lot
of
things
in
this
presentation
are
pretty
specific
to
now.
B
So
yeah,
so
so
I
was
sort
of
I
don't
know.
If
I
did
this
first
and
then
saw
all
the
activity
on
the
route
binding
selector
updates,
so
I
think
I
did
it
in
the
other
order,
but
I
completely
agreed
up.
So
I
think
maybe
here
we
can
gloss
over
the
details
since
this
is
like
you
know,
this
is
probably
going
to
change
right.
So,
like
I
saw
the
slides,
I
was
like
okay.
How
do
I
explain
this?
D
Yeah
that
makes
sense
yeah.
Is
there
like
a
use
case,
we're
trying
to
cover
with
this,
because
those
should
always
match,
regardless
of
how
we
implement
the
api,
you
would
mean
like
use
cases.
I
have
an
operator
who
wants
to
do
this
and
a
user
who
wants
to
do
this,
and
this
is
how
you
would
restrict
that,
or
I
don't
know
what
I
mean
like
thinking
about
high
level
of
use
case
kind
of
things
versus
the
actual
api.
But
maybe
this
helps
as
well.
I
don't
know.
A
Yeah,
that's
that's
a
good
point.
We
we
really
could
be
focusing
more
on
specific
user
stories
and
how
and
how
they
could
be
achieved
with
this
kind
of
api,
and
I
think
this
really
right
now,
we've
covered
just
the
things
that
you
can
do
without
really
going
through
many
user
stories,
we'll
get
a
little
bit
closer
to
that
in
the
demos
but
yeah.
That's
that's
a
good
point.
A
We
could
go
into
that
a
little
bit
more
in
the
in
this
section
as
well.
A
Yeah
good
idea,
the
other
section-
and
I
I
have
nothing
nothing
here
at
all,
but
I
was
just
trying
to
think
of
what
other
key
concepts
do
we
have
that
we
can't
really
cover
well
in
a
demo
and
tls
came
to
mind
we,
of
course
we
could,
but
it
tls
feels
like
something:
that's
a
bit
more
difficult
to
demo
easily,
especially
because
there's
you
know
a
few
different
it
it's.
A
It
can
be
relatively
complicated
to
demo
the
idea
of
say
a
route
override,
and
I
don't
think
we
need
to
go
into
lots
of
detail
here,
but
just
saying,
oh,
by
the
way
you
can
specify
tls
here
or
here-
and
you
know
so,
given
that
I
think
this
tls
may
belong
better
in
this
kind
of
section
in
this
kind
of
format
than
a
demo.
But
this
is
the
one
section
we
haven't
gotten
to
yet.
A
So
with
that,
I
scoped
out
we
scoped
out
a
few
demos
here,
the
implementations
that
each
each
demo
uses
are
relatively
random.
I
I
think
I
started
going
through
them
in
like
an
alphabetical
order.
I
don't
I
don't
really
know
whatever.
If
you
know
it
that
this
may
have
to
change.
I
know
some
implementations
in
my
experience
play
nicer
with
other
implementations
than
some.
You
know
like
that.
You
know
my.
My
testing,
with
these
different
implementations
shows
that
the
current
state
different
things
do
better
for
different
demos.
A
So
these
specific
implementations
that
are
I'm
we're
using
to
demo
make
change
slightly,
but
the
content,
I
think,
will
stay
similar
unless
but
again,
very
open
feedback
on
this
that
the
key
goal
here
was
to
demo
with
a
wide
variety
of
implementations.
I
didn't
want
to
reuse
the
same
implementation
for
a
different
demo
kind
of
thing
I
wanted
to
show
this
is
a
community
project,
a
community
api,
and
you
know
you
can
use
these
same
apis
with
contour
or
istio
or
whoever
it
happens
to
be
so.
A
The
first
demo
I
wanted
to
kind
of
just
let's
say,
create
a
very
simple
use
case.
I
wanted
to
show
the
yaml
that
was
involved
in
your
most
simple
configuration.
So
let's
say
we
start
with
contour.
It
targets
a
route
which
has
a
service
deployment,
etc,
really
straightforward
and
then
show
how
that
all
works
and
then
take
a
step
back
and
say.
A
Oh
by
the
way,
you
could
also
spin
up
an
istio
gateway
and
target
that
same
full
stack
and
it
will
work
the
same
way
and
show
requests
going
through
istio
or
contour
and
getting
the
same
response.
It's
a
really
simple
demo,
but
I
think
it
it
helps,
show
a
couple
concepts,
one
being
the
the
loose
coupling
between
route
and
gateway,
but
two
the
the
idea
that
these
same
apis
work
for
the
you
know
for
different
implementations,
which
I
think
is
is
a
key
goal
here.
A
But
again
the
specific
implementations
here
can
change
and
if
there's
a
you
know
for
any
of
these
demos,
if
you
think
there's
something
that's
more
valuable
that
we
should
highlight.
Let
me
know,
but
this
was
just
I
wanted
to
have
one
demo
that
started
very
simple
and
showed
end-to-end
support
kind
of
thing,
so
yeah
this
this
walks
through
the
approximate
process
for
this
demo,
but
yeah
open
feedback
on
these.
A
The
next
one
I
wanted
to.
I
think
you
know
header
matching,
is
kind
of
a
unique
concept
or
a
new
concept
as
far
as
core
kubernetes
apis
go,
so
that
felt
like
one
that
was
useful
and
interesting
to
highlight
here.
So
in
this
case
we
do
some.
We
have
a
single
route
that
and
two
services
a
stable
service
and
a
canary
service
and
we're
using
header
matching
to
target
the
canary
service.
A
A
A
Then
the
last
demo,
I
think
this
one
is
relatively
unique
to
gk,
but
I
think
anyone
you
know
these
are
using
entirely
open
source
apis
and
I
think
it's
cool
to
show
the
intersection
between
what
sig
multi-cluster
has
been
doing
and
sig
network
has
been
doing
and
kind
of
the
new
apis
on
both
fronts
and
how
they
can
kind
of
merge
together.
A
So
this
is
a
more
complicated
demo,
but
we
have
three
clusters.
In
this
case
we
have
a
config
cluster
that
includes
a
gateway
and
a
route
and
then
two
clusters
that
that
route
targets
I
the
cluster
one,
has
a
service
and
deployment
and
when
you
create
a
service
export
in
cluster,
one
that
results
in
a
service
being
imported
in
the
config
cluster
and
the
same
in
cluster
two.
So
the
http
route
is
targeting
the
service
import
in
the
both
service
imports
in
the
config
cluster
and
splitting
traffic
between
those
clusters.
A
So
this
is
our
multi-cluster
gateway.
You
can
see
the
gateway
class,
that's
being
used
here
as
a
gke
one.
In
this
case,
and
then
you
can
see,
our
route
is
again
showing
the
selection,
but
then
our
route
in
this
case
is
forwarding
to
services
representing
two
different
clusters
and
weighting
traffic
evenly,
so
you've
got
fifty
percent.
I
I
probably
shouldn't
use
50
here,
because
that
makes
it
look
like
percent,
which
it
isn't
anyway
so
store
and
cluster
one
and
store
in
cluster
two
is
what
this
is
targeting.
A
There's
many
many
different
ways
to
do
this,
but
this
is
one
way
that
works
using
the
existing
apis.
A
And
so
again,
just
throwing
a
screen
recording
here
of
actually
applying
that
yaml
and
showing
the
traffic
getting
split
across
I'm
using,
who
am
I
pods,
which
show
you
kind
of
the
cluster?
Each
request
is
going
to
pod
name
and
many
other
things
and
then
the
other
concept
I
wanted
to
highlight
here,
and
this
can
really
go
in
anywhere.
A
But
I
think
this
is
also
an
interesting
thing.
So,
instead
of
what
we
had
before,
which
was
splitting
traffic
between
two
clusters,
you
might
want
to
you
know,
send
all
traffic
to
cluster
one
and
mirror
it
to
cluster
two,
and
so
you
can
do
that
with
request,
mirroring
so
similar
concept
and
again
it
just
kind
of
works
and
another
screen
recording
and
that's
the
extent
of
the
demos
I
currently
have
thought
of.
But
there's
a
lot
more
and
I'm
trying
to
find
you
know
the
appropriate
amount
of
time
here.
A
We
have
probably
between
25
and
30
ish
minutes
to
try
and
cover
as
much
as
we
can
so
any
additional
demo.
We
add
we
have
to
cut
something
else,
I'm
I'm
thinking
unless
we
just
talked
really
fast,
and
so
I
you
know
some
things,
header
modification,
that's
another
another
new
concept.
A
The
idea
of
you
know
selecting
routes
across
namespaces,
I
think,
is
really
cool,
advanced
tls,
config,
custom
route
filters
and
then
really,
like
I
think
harry
had
mentioned
earlier.
Anything
to
do
with
l4
would
be
great
to
demo
or
show
or
talk
about
in
more
ways
than
we
currently
have.
A
So
I
want
to
at
least
mention
these
are
other
new
things
that
are
included
here.
But
if
any
of
these
feel
like
things,
we
should
try
and
you
know,
push
up
into
a
demo
yeah.
We
should.
We
should
talk
about
it,
but
I've.
I've
spent
a
lot
of
time
talking,
there's
a
few
more
slides
left,
but
I
think
the
demo
content
is
something
I'd
really
like
to
get
some
feedback
on
so
of
the
of
the
demo
content.
I've
shown.
Does
that
seem
reasonable?
Are
there
other
things
we
should
be
highlighting?
A
Instead,
I
don't
know
open
it
up.
C
I
think
it's
pretty
impressive.
The
demo
list
that
you
provided
there
especially
doing
the
multi-cluster.
A
Cool
okay,
yeah!
Well,
I
will
yeah.
No,
I
I'm
hoping
that's
a
good
way
to
kind
of
cap
it
off,
and
you
know
anytime,
you
get
to
demo
two.
You
know
new
sets
of
apis
to
get
working
together.
It
kind
of
shows,
you
know
how
the
kubernetes
community
is,
is
a
pretty
cool
thing.
C
Yeah
I
like
that
you're
showing
the
different
implementations
and
also
starting
off
with
a
very
simple
use
case.
Just
you
know,
important
to
crawl
walk,
run,
yeah,
yeah,
exactly.
A
Who's
helped
along
the
way.
So
roadmap-
I
don't
know
I
I
don't
know
if
logos
are
the
best
thing
here,
but
this
is
definitely
the
most
visual
way
to
represent
this,
and
this
is
really
just
showing.
These
are
the
organizations
that
are
either
already
supporting
or
working
on
supporting
these
apis,
and
we
expect
there
will
be
lots
more
in
the
months
to
come.
A
Hopefully,
it's
okay.
I
know
everyone
has
like
their
own
little
brand
guidelines.
So
hopefully,
you
know
something
like
as
small
as
this
isn't
too
big
of
a
of
an
issue,
and
I
don't
think
we
need
to
you
know
because
we're
recording
this
a
month
before
it's
actually
going
to
be
presented.
A
We
can't
really
get
into
specifics
of
what
is
actually
live
or
not
live,
because
we
could
be
wrong
by
the
time
it
actually
rolls
out.
So
I
think
something
generic
of
you
know
these
are
all
being
worked
on
and
yeah,
and
this
time
this
road
map
is
probably
a
thing
where
we'll
get
most
into
trouble
for
sure
I
think
I'm
I'm
way
too
optimistic
here.
A
I
I
like
to
I
like
to
set,
you
know,
ambitious
goals,
but
I
think
especially
this
one,
I'm
going
to
regret
we'll
see,
but
anything
else
that
you
think
we
should
include
on
a
road
map
or
things
that
we
should
just
not
talk
about.
Welcome
here.
A
And
yeah,
that's
it!
That's
that's
the
extent
of
this,
this
presentation,
yeah.
If
you
have
thoughts
on
things
we
should
include
or
not
let
me
know,
but
I
know
we've
we've
gone
over
the
time.
I
said
we're
gonna
take
for
this,
so
we
should
get
into
actual
api
work
thanks
again
to
everyone
who
helped
along
the
way
and
yeah.
Hopefully
we
can
get
get
the
last
little
bits
of
this
together
and
to
get
it
recorded
soon.
B
Is
great
stuff,
this
is
mostly
mostly
all
of
it
is
rob
and
not
me.
I've
been
out
for
a
little
while
due
to
covet
so
but
yeah.
This
is
great.
I
think
rob
you're
going
to
do
pretty
good
job
with
the
demos
right
like
just
talking
about
an
api,
but
then
you
know
actually
showing
that
people
are
serious
about
it
and
they
are
already
implementing
it.
I
think
that
that
gets
the
message
across
that
you
know
this
is
happening
and
it's
a
big
deal.
D
Yeah
I'll
do
to
that
thanks
thanks
for
working,
I
think
it's
good.
It
looks
good.
Another
thing
I
can
think
of
might
be
helpful
is,
and
it
may
not
be
fitting
for
this
presentation,
but
I
know
folks
ask
a
lot
about
why
house
is
different
than
ingress.
That's
a
whole
different
bucket
of
worms
but
like.
Why
would
I
use
this
over
ingress
or
how
does
this
evolve,
or
how
does
this
you
know
differ
from
that,
but
that
could
be
a
whole
different
talk
in
different
places.
Yeah.
A
No,
I
that's
that's
a
really
good
question
and
we,
you
know
kind
of
cover
it
as
we
see
these
problems
in
ingress
and
these
problems
in
service
and
here's
how
we
think
we
can
help
with
this
new
set
of
apis,
but
we
never
really
come
back
to
that.
Like
you
know,
we
talk
about
it
a
little
bit
in
history,
but
we
never
come
back
and
say
so.
A
After
all
that
you
know,
ingress
is
going
to
exist
forever
for
a
very
long
time
when
it.
How
do
you
decide
so
that
that's
a
really
good
point?
That's
probably
worth
at
least
giving
a
high
level
overview
of
in
the
talk.
If
we
don't
it's
for
sure
going
to
be
one
of
the
first
questions,
that's
asked
after
the
talk,
so
yeah
really
good,
find
yeah
I'll
make
a
note
of
that.
A
Yeah
so,
and
and
then
I
and
then
yeah
thanks
for
thanks
to
everyone
for
the
feedback
here,
you
know
it's
it's
pretty,
I
feel
lucky
to
get
to.
I
feel
like
I'm
standing
on
or
we're
standing
on.
You
know
shoulders
of
giants
here.
You
know
I
get
to
give
a
presentation
about
all
this
work
that
so
many
people
have
done
and
just
kind
of
you
know
showcasing.
You
know
sometimes
at
kubecon
I've
I've
given
presentations
that
are
work.
A
You
know
covering
work
that
I've
mostly
done
and
that's
okay,
but
like
this
there's
just
so
much
that
the
scope
is
so
broad
and
there's
so
many
different
people
working
on
it,
that
the
the
demos
become
so
much
more
cool
because,
well,
you
know,
there's
so
much
more,
that's
possible!
So
yeah!
I
I'm
just
appreciative
to
the
community
too,
for
enabling
all
this
really
cool
stuff
yeah.
It
makes
me
excited
about
where
we're
headed-
and
this
is
only
v1
alpha.
One.
A
To
demo,
yes,
exactly
yeah,
thanks
to
yeah
I
I
know
it
was
when
we
made
this
cfp
back
in
the
day
it
wasn't.
We
weren't
sure
we
hoped
that
we'd
have
at
least
a
couple
implementations
ready
to
demo
and
yeah
we've
well
exceeded
that
so
great
yeah.
Let
me
keep
on
running
here.
I
wanted
to
again
remember
that
the
0.3
milestone
we've
got
a
few
things
that
merged
in
in
the
past
past
week.
A
So
if
we
can
do
as
much
as
we
possibly
can
before
that,
that
seems
like
it
might
be
a
bit
more
manageable,
so
I
don't
think,
there's
anything
particularly
new
in
here
other
than
that
we've
closed.
You
know
a
few
things
out,
but
if
anyone
has
time
capacity
to
take
on
some
of
these
things,
that
would
be
great,
and-
and
I
also
want
to
re
reiterate
here-
that
not
everything
in
this
milestone
needs
to
get
in
for
the
for
the
release
to
happen.
A
A
We
should
add
some
kind
of
prior
prioritization
here
as
far
as
what
we
absolutely
need
to
get
into
this
milestone,
but
at
least
right
now
what
I'm
seeing
is
almost
everything
is,
you
know,
additive
and
not
critical,
just
nice
to
have
yeah.
A
Cool
well,
let
me
move
on
over
to
issue
triage
because
there's
been
a
lot.
You
know
a
fair
amount
of
good
discussion,
both
in
issues
and
pr's.
I
want
to
move
over
to
pr's,
because
I
think
we
we
got
a
pretty
significant
pr
from
you,
damien
and
since
you're
on
the
call.
Maybe
you
can
give
a
little
bit
of
background
on
what
you're
thinking
here.
C
Yes,
as
part
of
the
contour
implementation,
there
is
kind
of
two
controller
components,
and
so
you
know
we
discussed
within
the
contour
community.
Oh
you
know.
Maybe
we
should
create
a
package,
the
validation
package
that
can
be
used.
You
know,
since
the
the
web
hook
is
not
implemented,
then,
as
part
of
that
discussion
was
like.
Well,
maybe
it
actually
makes
sense
to
have
this
upstream
in
gateway
api,
and
the
thinking
was,
is
you
know
again
the
web
hook?
C
Implementation
is
is
in
the
works,
and
this
is
a
validation
package
similar
to,
as
the
description
shows,
the
networking,
api's
validation
package.
So
if
implementations
like
the
web
hook
could
utilize
this
package,
along
with
implementations
like
contour
and
others,
that
don't
use
the
web
hook
and
again
it's
it's
modeled
off
the
networking,
apis
validation
package
and
right
now,
by
no
means
is
it
comprehensive
right.
I
just
wanted
to
kind
of
put
something
together
and
get
feedback
from
the
community,
and
I
think
right
now.
A
Yeah,
this
is
really
cool.
I
I
wanted
to
have
a
bit
more
discussion
around
this
when
I
first
thought
about
well,
when
I
first
heard
of
the
idea
of
a
validation
package
here,
one
of
my
first
questions
was,
it
seems
like
this
is
trying
to
provide
information
that
would
be
used
both
for
a
validating
web
hook
and
also
to
populate
status.
Is
that
accurate.
C
Yes,
so
any
my
thinking
is
is
that
an
implementation
you
know
would
make
the
call
to
validate
a
gateway
in
this
example
and
and
then
yeah
use
the
results
of
that
as
as
part
of
gateway
status.
C
A
You
know,
return
an
error
that
is
suitably
you
know
suitable
for
both
a
web
hook
and-
and
I
think
this
is
possible-
I'm
just
I
I'm
imagining
that
you
want,
in
some
cases
at
least
the
same
kind
of
validation,
to
apply
to
either
so
some
like
either
the
web
hook
doesn't
exist
in
a
cluster
or
I
don't
know
what,
and
so
you
want
something
that
can
also
be
meaningful
as
far
as
status.
A
But
you
know
if,
if
you
run
some
specific
validation,
how
do
you
know
what
status
to
set
if
it
fails
and
and
where
that
status
should
be
set?
And
maybe
maybe
I'm
thinking
you
know
too
specifically
about
this,
but
it
it
feels
like
it
could
be
really
cool.
If
we
could
do
this
in
a
generic
enough
way
that
you
could
have
both
here,
but
I'm
not
as
sure
about
the
specifics
of
how
we
could
accomplish
that.
A
I
guess
is
what
I'm
saying
and
if
we-
and
I
guess
to
take
that
a
step
further,
if
we're
not
completely
sure
how
implementations
will
use
this
yet
I
guess
it
would
just
be
helpful
for
me
to
see
an
example
of
an
implementation
using
this
kind
of
library
to
populate
status
as
well
as
the
web
hook.
Hooking
into
this,
and
using
this
kind
of
library
to
you,
know,
populate
responses.
C
All
right,
I
could
kind
of
dig
into
how
an
implementation
as
well
as
a
web
hook,
could
utilize
this.
A
To
for
status
and
this-
and
this
is
to
be
clear
like
I
think
this
is
a
really
cool
idea-
I
just
want
to
make
sure
that
before
we
merge
this
thing,
we
have
like
a
clear
idea
of
how
it
will
be
used
and
that
the
you
know
interfaces
we
have
in
here.
The
patterns
we
have
in
here
work
well
for
both,
but
I
I'm
a
huge
fan
of
having
this
kind
of
thing.
A
A
All
right
cool,
I
will
leave
it
at
that
thanks.
I
know.
There's
already
been
some
some
people
that
have
reviewed
this,
but
yeah
that
this
is
exciting.
I'm
glad
to
see
some
work
on
validation
here.
Let
me
jump
back
over
to
issues.
I
know
I'm
kind
of
going
back
and
forth,
but
I
want
to
at
least
cover
the
things
that
came
in
in
the
past
week
that
we
have
missed,
or
that
maybe
haven't
had
enough
discussion.
A
I
think
a
number
of
us
commented
on
this
one
already.
I
got
a
good
question
about,
so
if
weight
is
zero,
what
is
the
standard
response
here
and
the
you
know?
Should
we
you
know
if
that's
the
only
back
end
what
happens,
and
I
think
the
conclusion
we
came
to
here
is
that
503
is
probably
the
standard
it.
It's
not
clear
that
we
need
to
make
that
something
that
is
conformant
yeah
so
should,
instead
of
must
is,
is
there?
C
A
A
B
A
B
A
Yeah,
I
guess
one
way,
I
guess
one
way
of
saying
it
is
we
have
if
I'm
remembering
correctly,
we
have
considered
a
back
end
optional.
We
don't
require
forward
two
to
have
a
length
of
one.
B
B
B
I
vaguely
recall
that
we
updated
to
allow
weight
zero.
I'm
not
sure
why
we
did
that.
I
don't
recall.
A
Yeah,
I
think
I
think
weight
zero
was
really
just
a
way
to
simplify.
A
You
know
you
want
to
leave
something
around
in
your
config,
so
it's
a
little
bit
easier
to
spin
something
back
up
or
down,
but
it
it
is
really
identical
in
concept
to
a
back
end,
not
existing,
that
that
is
my
understanding
of
it
and
it
seems
to
match
the
comments
here
that
the
the
way
we
treat
a
back
end
with
weight.
Zero
is
if
the
back
end
didn't
exist.
B
A
E
B
A
A
Yeah,
the
other
side
is
we
we
go
way
too
far.
The
other
way
and
no
one
wants
to
use
the
api,
because
it's
just
way
too
complicated.
So
we'll
see
I
I
don't
know
what
what
the
correct
balance
between
those
two
is.
A
Yeah.
There
was
a
little
bit
of
follow-up
on
this
issue:
the
gateway
route,
binding
discussion-
I
don't
yeah,
it
was
just.
It
was
just
a
couple
comments
here.
A
I
I
definitely
agree
that
the
complex
use
case
this
enables
very
complex
configuration
for
better
or
for
worse.
I
think
harry's
comment
is
that
in
the
most
verbose
example
of
this,
you
have
four
selectors
that
can
all
be
relevant.
You
can
have
route
and
namespace
selector
from
the
gateway
down
and
a
gateway
and
namespace
selector
from
the
route
up,
and
that,
admittedly,
can
feel
quite
confusing
and
then
and
now
that
I'm
thinking
about
this
further,
it's
actually
per
listener.
A
So
one
thing
that
I
don't
think
we've
properly
accounted
for
yet
in
any
you
know,
regardless
of
this,
is
that
we
consider
a
gateway
having
admitted
a
route
when
any
listener
has
admitted
that
route.
But
it's
not
obvious
right
now
that
you
know
this
listener
did,
but
this
one
didn't
or
vice
versa
in
the
multi-listener
use
case
yeah,
I
don't
know,
did
you
have
anything
any
any
comments
harry
know
you.
A
B
I
I
I
read
the
talk,
and
I
read
this
and
I
was
like
okay,
I
was
still
like.
We
had
some
examples.
I
was
just
trying
to
put
the
api
in
my
head
together,
so
I
wanted
to
confirm.
Like
is
that
really
the
case?
I
think
we
have
discussed
this
api
in
this
specific
solution
a
couple
of
times.
I
wanted
to
make
sure
so
that's
good
to
know
it's
certainly
a
little
complex,
but
then
what
I'm
thinking
is
maybe
how
danian
has
proposed
to
be
like
a
package
for
validation.
B
Implementations
could
share,
you
know
like
give
a
listener,
and
you
know
the
shared
package
gives
the
set
of
routes
that
are
being
that
should
bind
to
that
listener,
and
you
know
all
of
the
maintainers
can
share
that
piece
of
logic.
I
think
that's
pretty
cool
to
the
api,
and
you
know,
implementations
wouldn't
have
that
difference,
and
you
know
that's
how
we
can
make
sure
that
we
have
correctness
and
we
have
low
maintenance
burden.
A
A
We
don't
show
the
most
complex
scenario
very
often
or
at
all,
but
there
are
a
lot
of
different
factors
in
play
in
our
current
system
too.
So
I
I
would
agree
that
some
kind
of
shared
logic
here
is
going
to
one
simplify
life
for
implementations,
but
also
help
ensure
that
implementations
are
consistent.
B
Correct
yes,
there
was
one
comment
that
I
did
not
put
in
I'm
not
sure
about
this,
but
I
think
so
we
are
going
to
remove
the
from
list.
You
know
so
right
now.
What
routes
can
do
is
they
can
specify
the
list
of
gateways
to
which
that
specific
route
can
bind
to
that
feature
won't
be
possible
in
this
model.
Is
that
right.
A
Yeah
that
was
yes
yeah,
so
go
ahead.
Yeah
so
yeah
that
actually
came
from
the
dock
has
a
tiny
bit
more
context,
but
not
not
much.
I
think
some
of
the
comments
that
led
to
that
got
removed-
or
I
don't
know,
as
I
changed
things
around,
but
the
idea
was
this.
This
all
comes
to
the
idea
of
loose
coupling
right.
A
So
one
of
the
selling
points
of
this
relationship,
in
my
mind,
is
that
you
have
different
roles,
a
gateway
admin
and
a
route
admin
and
the
route
admin
does
not
need
to
be
aware
of
what
the
gateway
admin
is
doing
and
the,
and
vice
versa.
So
in
a
let's
say,
more
traditional
okay
day
two
operation,
let's
say
right:
you,
your
gateway.
Admin
is
trying
to
replace
a
gateway
with
either
a
different
implementation
or
a
newer
version
of
the
same
implementation.
A
Whatever
it
happens
to
be,
and
so
their
solution
is,
let
me
spin
up
an
entirely
new
gateway
beside
this
existing
one.
It
will
select
the
same.
Labels
do
all
the
same
stuff,
but
I
just
want
to
test
traffic
going
through
this
new
gateway.
While
I
have
the
old
one
in
place
and
then
gradually,
you
know,
send
traffic
over
to
my
new
gateway
as
I'm
confident
that
it
works
the
way
I
want
it
to
and
it's
configured
properly.
A
And
admittedly
you
know
not.
Everyone
is
going
to
be
replacing
gateways
in
that
manner
by
you
know,
spinning
up
a
new
one,
testing
it
and
then
spinning
down
the
old
one,
but
I
think
it's
it's
possible,
especially
since
we're
trying
to
sell
this,
as
you
know,
a
role-based
api,
where
these
roles
can
operate
somewhat
independently
and
they
each
have
their
own
contracts
of
if
you're
a
route
owner
label
your
route.
A
Okay,
I
need
to
do
this
and
that's
that
is
the
contract
I'm
fulfilling
and
that
kind
of
loose
coupling,
I
think,
is
what
we're
trying
to
do
here
and
the
reference
by
name
got
in
the
way
of
that
and
and
from
from
my
perspective,
the
reference
by
name
is
not
particularly
powerful,
because
you
know
if
a
gateway
admin
can
change,
what
a
name
means
they
can,
just
you
know,
create
another
gateway
of
the
same
name
and
there's
so
many
different
ways
to
to
do
this
right
that
I
think
the
slightly
looser
coupling
that
select
label
selection
enables
is
more
powerful
here.
B
Yeah,
okay,
so
that
was
a
very,
very
good
answer.
So
thank
you
so
much
rob
for
that.
All
of
that
makes
a
lot
of
sense
and
I
think
I
just
wanted
to
know
like
we're.
You
know
explicitly
doing
that
and
I
was
missing
this
context,
so
I
think
I'm
late
to
the
party,
so
I'm
making
you
repeat
a
bunch
of
stuff
here.
A
But
no
it's
this!
It's
cool,
yeah!
It's
it's
good!
It's
good!
To
revisit
these
things,
because
I
I
will
be
the
first
to
admit
that
this
proposal
is
quite
complex,
especially
if
you
fill
out
every
potential
bit
of
config
trying
to
do
the
math
of
what
actually
matches
what
is
going
to
get
complicated.
A
B
Yeah,
I
think,
yeah,
I
think
the
most
the
most
verbose
case
that
we
did
talk
about.
I
think
nobody's
going
to
use
it
because
nobody
can
possibly
use
it,
but
people
will
use
a
subset
of
those,
so
people
will
use
like
subset
configurations
of
those,
and
I
think
the
bigger
challenge
will
be
properly
testing
it.
So
you'll
probably
need
to
do
some
performance
test
which
can
help
all
of
us
to
make
sure
that
we
are
implementing
route
selection
and
binding
correctly.
So,
but.
B
A
Yeah
sounds
good
thanks
thanks
for
good
feedback
here
I
don't
know
if
there's
any
particular
most
most
of
the
rest
of
the
content
here
I
know
we've
had
a
variety
of
pr's
that
have
been
updated
in
the
past
week.
A
You
know
in
the
last
is:
I
think
we
have
time
for
basically
one
more
pr
in
our
window
here.
Is
there
any
anything
that
someone
wants
to
call
out
as
needing
more
discussion.
B
B
A
Yeah
you're
you're
right.
It
is
a
very
slippery
slope.
It
is
a
frustrating
problem
not
just
to
us,
but
anyone
who's
using
crds,
so
an
upsc
upstream
fix
would
be
ideal.
A
The
recent
comment
I
added
to
damian
has
more
context
here,
but
so
short
answer
is.
This
is
intentional
in
upstream,
and
there
was
a
pr
that
is
now
basically
two
years
old
that
would
have
fixed
this
and
it
got
some.
A
I
don't
want
to
say
negative
feedback,
but
not
positive
feedback
and
ended
up
getting
closed
or
became
stale
and
got
closed,
and
I
need
to
follow
up
and
see
what
exactly
happened
here.
A
But
what
we're
doing
right
now
is,
you
know,
we're
doing
a
full
json
path
match
and
we're
getting
the
very
first
match
and
outputting
that
every
single
time.
So
what
that
means
is
we
get
this
and
and
unfortunately
this
is
not
a
cube
cuddle
thing:
this
is
a
api
server
thing.
A
So,
even
if
this
were
to
get
fixed,
it
would
be
get
fixed
in
say,
kubernetes
122
at
this
point,
and
and
this
assumes
that
this
is
actually
considered
a
bug
and
not
a
intentional
feature
and
then
what
you
have
for
anyone
who's
using
an
earlier
version
of
kubernetes
is
very
confusing.
Coop
cuddle
output,
because
you'll
get
the
first
item
in
the
list
always
and
nothing
more.
A
It's
just
it's
just
showing
you
the
first
one
on
the
list.
So
even
if
we
fix
this
in
upstream,
it
results
in
a
very
confusing
experience
for
anyone
using
a
version
of
kubernetes
before
the
fix,
which
leads
me
to
think.
We
probably
need
some
kind
of
custom
fields,
at
least
as
a
short-term
patch
for
this,
but
maybe
these
aren't
mutually
exclusively
things.
The
fix
itself
seems
straightforward
enough.
We
just
need
to
find
you
know
this
is
this
is
an
area
outside
of
a
cig?
I
work
with.
You
know
like.
A
A
The
fix
itself
seems
relatively
straightforward
to
me:
oh
yeah,
so
that
this
is
a
complex
thing
and
I
don't
have
a
good
answer
for
it,
but
I
think
because
any
fix
is
still
not
really
going
to
solve
it
for
us
in
upstream.
A
We
probably
need
some
kind
of
custom
thing
for
now,
and
probably
until
everyone
is
using
a
kubernetes
version,
that
is
newer
than
say
122
or
whenever
we're
able
to
get
something
fixed
upstream.
I
don't
know.
B
That
that's
fair
of
my
concern
here
is,
I
think
there
is.
There
will
be
further
places
where
you
know
cube,
cadillac
gets
in
the
way
or
us
being
out
of
tree
gets
in
the
way
yeah.
So
we
need
to
at
some
point
draw
a
line.
You
know
these
are
the
things
we
are
willing
to
do,
and
these
are
not.
I
don't
know
how.
B
That's
that
we
need
to
do
that
first,
rather
than
later
point
of
time.
You
know
future
us
or
somebody
else,
trying
to
add
in
another
field.
You
know
or
one
of
the
features
saying
that,
oh
you
did
it
in
the
past.
We
need
to
do
this
and
you
know
it
improves
user
experience,
and
it
makes
a
lot
of
sense
that
it
makes
a
lot
of
sense
to
me,
but
we
know
that
we
are
already
adding
hacks.
A
A
You
know
what
plans
are
if
this
experience
will
get
any
better
anytime
soon
as
an
example.
If
this
truly
is
considered
a
bug,
if
we
can
pick
it
back,
but
I
don't,
I
don't
think
it
is
considered
a
bug,
etc.
But
the
the
other
thing
you
you
mentioned
is
also
entirely
relevant.
I
and
that's
why
we
have
to
be
out
of
tree,
and
I
don't
think
we
do
being
out
of
tree
being
crds,
definitely
gives
us
a
lot
more
flexibility.
A
Maybe
it
is
going
to
make
more
sense
for
this
api
to
move
into
tree
and
then
you're
right.
You
know
the
the
capabilities
we
get.
There
are
so
much
better.
The
you
know,
you
write
a
function
for
your
couple:
get
output
and
your
coupe
called
the
scribe
output
that
has
all
the
custom
logic
in
it.
You
could
ever
want
so
yeah
that
that
makes
these
kinds
of
problems
go
away,
but
it
introduces
the
other
problems
that
are
being
tied
to
a
kubernetes
release
cycle.
So
this
this
is
a
bigger
topic.
A
I
probably
a
good
starting
point.
Is
a
dock
or
an
issue
or
something
that
starts
tracking
the
pain
points
we
are
encountering
when
interacting
with
crds,
and
that
could
help
us
make
a
better
decision
on
where
these
apis
belong
longer
term
and
or
if
we
start
making
more
and
more
exceptions
like
this.
B
E
I'm
just
wondering
it
seems
like
the
options
here
are
confusing
output,
an
awful
hack
to
get
good
output,
but
there's
also
the
option
of
just
not
printing
that
output
in
those.
So
you
get
a
kubectal
get
output
right.
A
Yeah
yeah
you're
right.
The
kind
of
the
third
option
here
is
to
do
a
kubernetes,
plug-in
or
coupe
pedal
plug
well
yeah,
yeah,
that
another
option
is
just
don't
print
anything
at
all,
and,
and
you
know,
people
can
rely
on
yaml
output,
etc
right
or
do
a
coupe
cuddle
plug-in,
and
you
know
I've
written
coop,
cuddle
plugins
before
they're,
not
particularly
difficult
to
create.
A
I,
like
everything,
they're
a
lot
more
difficult
to
maintain
than
create,
and
also
you
know
it
adds
an
extra
usability
burden.
If
somebody
has
to
you
know,
jump
through
those
hoops
to
get
get
usable
or
understandable
output,
but
you're
right
this.
This
is
the
kind
of
thing
that
probably
deserves
a
doc
or
further
discussion.
A
Before
we
actually
go
ahead
and
implement.
You
know
make
this
kind
of
compromise.
It
would
be
good
to
outline
the
other
options
we
have
here.
A
Yeah
I
can
take
that
as
an
action
item
cool
all
right.
Well,
I
know
we're
we're
past
time
here,
so
I
thank
you.
Everyone
for
staying
on.
We
will
talk
more
next
week,
we're
making
good
progress
here.
It's
been
fun
to
actually
try
out
everyone's
implementation
here,
thanks
to
everyone
for
your
work
and-
and
it's
just
it's
cool-
to
see
this
all
coming
together,
we
will
talk
to
everyone
next
next
week
have
a
good
one.