►
From YouTube: Service APIs Office Hours 20200610
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
B
So
probably
this
is
for
tomorrow
and
intended
for
tomorrow,
because
they
didn't
have
the
dock
ready
for
today.
But,
as
we
have
discussed,
probably
like
a
humongous
swath
of
things,
I
would,
like
the
group
to
you
know,
share
an
outline
to
collaborate
on
what
we
think
the
cut
line
would
be
or
be
1
alpha.
One
I
think
we've
touched
on
a
lot
of
the
major
issues.
Some
of
them
haven't
been
resolved
yet,
but
it
would
be
good
for
a
discussion
overall,
so
I'm.
B
People,
if
they're
for
this
tomorrow
of
kind
of
areas
that
they
see
that
need
to
be
closed,
and
then
we
can
work
really
soak
in
a
focused
manner
to
kind
of
close
them
of
these
for
a
B
1,
alpha
1
that
we
can
sort
of
say
hey.
This
is
we're
comfortable
with
having
people
try
this
out
in
a
broader
fashion,
and
you
know
it
doesn't
mean
that
it
doesn't
get
the
iteration
will
stop.
It
just
means
that
we
are
okay,
cutting
a
particular
subset
of
it
to
the
Hubble
you
one
Apple
one
so.
B
That's
right
so
like
it
would
be
usable
to
some
degree
that
we're
okay,
that
we
can
get
a
good
feedback
on
and
it
would
be
not
frozen,
but
we
could
say
use
this
particular
snapshot
to
kind
of
give
feedback
on
it.
Otherwise
people
are
giving
feedback
on
a
moving
target,
which
is
can
be
kind
of
confusing.
B
A
C
C
C
C
If
we
go
down
the
example,
one
very
straightforward,
this
is
similar
to
what
we
see
now.
I
think
the
main
difference
is
you're
under
rules.
You
see
actions
instead
of
action
again.
This
is
just
pluralizing
actions
and
saying
you
know
we're
gonna
we're
going
to
match
on
phu,
kham
and
then
just
forward
to
a
service
named
phu.
You
see.
The
next
example
was
simple
traffic
split.
E
B
Yeah,
what
you're
saying
Nick
I
can
rephrase
it
just
a
check.
So
it's
not
the
fact
that
it's
a
list
of
step,
one
step,
two
step
three,
it's
more
that
if
the
set
of
it's
almost
like
a
unordered
set.
But
if
the
set
of
actions
have
conflicts,
you
will
resolve
the
conflicts
towards
the
ones
that
appear
first,.
C
Yeah
I
think
so
I
mean
if
we
go
down
to
advanced
traffic,
mirroring
example,
or
actually
no
go
to
down
to
the
example
of
implementation,
specific
action,
extensions
and
I
guess
this
is
where
I
kind
of
thought.
Maybe
we
need
to
have
each
action
prioritized,
but
maybe
I'm
wrong.
Maybe
it
doesn't
actually
need
to
be
prioritized,
because
my
thought
is,
you
know,
we've
matched
on
the
request
and
the
first
thing
we
want
to
do
is
authenticate
the
request.
C
Alright,
and
so
that's
the
extension
ref
saying:
okay,
here's
a
vendor-specific
or
an
implementation,
specific
authentication,
extension,
okay,
great
we're
authenticated.
Now
we
can
modify
the
headers
and
then
forward
to
the
targets.
Maybe
it
doesn't
need
to
be
prioritizing.
We
say
that
just
all
three
of
these
actions,
the
extension,
the
modify
and
the
Ford
two
need
to
be
successfully
evaluated.
C
C
A
E
B
B
E
E
Yeah
because,
because
in
this
case
of
what
the,
what
that
actually
means
is
that
you
want
to
ensure
that
the
request
is
authenticated
then
modify
the
headers,
then
forward
it
after
that.
Exactly-
and
you
know
in
the
case,
though,
with
the,
if
you
could
scroll
back
up,
if
we
look
at
the
other
ones
like
with
like
yet
like
the
innocent.
In
a
split
case,
though,
like
the
the
forward
to
you,
it's
almost
like
forward
to
should
actually
take
like
a
list
itself,
rather
than,
rather
than
being
a
separate
action.
Yeah.
E
Then
you
can
say,
like
you
can
say,
if
you
have
it,
be
that
the
that
the
actions
like
actions
are
an
ordered
list
of
actions
to
take
in
order
to
add
to
to
add
to
the
request-
and
you
know
the
forward
to
action,
takes
you
know
a
list
of
places
to
forward
to
with
weights
and
that
way
yeah.
So
the
rule
for
then
for
adding
an
extension
action
is
that
it
needs
to
be
a
thing
that
can
be
inserted
into
the
filter
flow
you
and
yeah.
E
E
D
Yeah
I
think
Nick's
propose
I,
think
Nick's
suggestion
here
makes
sense
and
it
clarifies,
but
you
could
also
invert
that
and
one
way
to
one
way
to
read
this
is
to
say
that
what
weight
means
is
a
percentage
of
that
action
happening.
So
in
principle,
you
could
say
that
the
weight
could
apply
to
any
action,
and
so,
as
you
as
you,
walk
down
the
list
of
actions,
this
action
you
could
read
the
weight
is
going.
We
do
this
forward
to
action,
but
only
20%
at
the
time.
D
D
E
B
F
F
F
Well,
with
option
two:
we
sort
of
keep
the
actions
he
have
some
special
actions.
The
forward
to
is
a
pretty
special
action.
Most
proxies
will
do
it
the
same
way
and
most
of
the
time
you
need
a
forward.
So
here
we
are
looking
at
the
first
one.
This
is
the
easy
path
where
you
match
on
something
in
the
new
forward
to
wait.
That's
the
music
part
here.
B
F
Okay,
so
instead
of
you
having
two
actions
which
denote
forward,
you
have
one
action
with
multiple
wage,
so
this
clearly
specifies
that
you
can
have
perform
or,
like
you
can
have
traffic
split.
Only
under
four
would
true.
So
this
sort
of
narrows
down
the
API
a
little
bit,
but
it
probably
maybe
makes
the
implementation
a
little
bit.
It
makes
it
possible
to
be
implemented
by
multiple
prongs.
So
until
here
we
have
no
no
ordering
or
any
confusion
for
it.
So,
let's
go
down
to
the
Simpson
to
traffic
mirror
example.
F
Now
middle
two
is
again
a
special
action
here.
It's
because
it
needs
to
be
supported
in
the
core,
API,
so
think
of
mirror
two
and
forward.
They
are
supported
in
the
quarry
PR.
So
if
all
the
traffic
that
you're
sending
we
are
measuring
all
the
traffic
to
the
mirror
service
here,
maybe
we
can
add
a
percentage
or
a
filter
there
as
well
in
the
quarry
PR.
Maybe
that
is
an
extension.
F
So
now,
if
we
scroll
down,
we
think
it
traffic
split
header.
So
this
is
specifically
for
the
key
native
use
case.
Here
is
where
we
actually
introduced
sort
of
actions,
and
now
we
can
discuss
extension
points,
which
is
what
this
example
in
the
mixed
example
discusses.
So
as
we
can
see,
we
already
have
forward
to
and
we
have
to
forward
to
in
this
case
we
have
one
with
870
and
one
between
thirty.
So
we
want
to
pee
before
that
we
have
action
for
a
which
is
evaluated
before
any
forward
to
is
performed.
F
So
we
first
request
comes
in
you,
add
a
header
common
foo
and
then
you
for
the
forward
and
when
you
be
forward,
this
is
where
things
get
a
little
tricky,
and
maybe
we
want
to
keep
the
second
actions
that
we
have
on
a
four
target
pieces
that
might
be
an
extended
API
or
maybe
that's
a
core
appear.
That's
something.
We
need
to
decide
so
you
just
you,
then
modify
the
header.
You
modify
the
header
differently,
based
on
which
target
you
are
doing
right
and
modifies.
One
action
that
you
are
performing
implementers
might
extend
functionality.
F
Little
bit
of
the
last
one
extended
extending
custom
functionality.
This
is
where
the
actions
extension
I
mean
ignore
the
naming
of
keys.
Here
they
are
not
big,
don't
respect
the
Cuban
in
these
conventions,
they'll
be
there,
but
we
have
forward
to
going
or
down
at
the
bottom
and
we
have
three
actions
that
are
being
taken
taking
place.
So
one
is
a
proxy
vendors
question
resource
that
is
really
some
authentication
and
maybe
the
the
user
has
also
implemented
some
service
mesh
and
that's
doing
some
rate
limited
here.
F
And
that's
where
it
gets
a
little
tricky
because
I
don't
know
if
all
implementations
can
support
the
same
ordering.
So
that's
why
maybe
actions
is
actions?
Are
more
implementation
specific
where
the
ordering
can
vary
but
forward
to
and
mirror
to
our,
so
our
core
API
is
which
have
defined
behavior,
where
you
know
actions
will
take
before
these
or
after
we.
D
Alone,
these
these
pipelines
there's
kind
of
some
steps
which
you
will
do,
but
there's
a
simple
she
do
in
a
pipeline
and
then
there's
a
terminating
step,
which
is
in
this
case
that
the
forward.
So
that's
what
you
do
that's
kind
of
way:
the
proxy
hands
it
off.
I
know
most
some
ingress
controllers.
We've
had
to
request
for
this.
To
will
terminate
the
the
request
with
you
can
specify
a
redirect
or
a
particular
response,
or
something
so
in
the
in
this
second
case.
D
B
F
B
F
B
F
Yeah
both
both
could
be
like
actions
that
we
can
support.
Sure
here,
modify
is
part
of
the
core.
Api
is
maybe
we
can
have
an
action
where
which
the
redirect
to
or
redirect
means
that
would
make
sense
here,
and
then
we
have
a
status
code
field.
We
can
have
you
know
301
or
302,
or
three
or
seven
of
C
mate.
C
C
B
B
It
would
be
good
to
then
take
what
we
have
here
and
then
just
carve
out,
like
the
set
of
primitives
I,
seem
for
mirror
forward,
maybe
redirect
maybe
status
code
and
then
extension
and
see
how
it
maps
to
the
various
implementations
as
I've
been
hearing
and
I.
Think
James.
You
said.
Actually
multiple
people
have
said
like
how
much
of
this
is.
Actually,
if
you
allow
the
full
set
of
reorderings,
it's
going
to
be
possible
to
be
implemented
by
the
various
proxies,
so
that
I
think
would
be
the
next
step
like.
C
B
C
F
F
A
But
yeah
it's
hard
to
get
a
table
to
really
explain
this
specific
kind
of
functionality,
but
yeah.
This
is
this
at
least
for
our
per
our
cloud
perspective.
It
it
would
be
challenging
to
do
or
maybe
impossible
to
do
forward
to
traffic
splitting
plus
mirroring
plus
modification.
In
that
one
point,
yeah.
B
I'd,
like
the
question,
that's
like,
if
mirror
happened
before
modification
or
after
markets
like
those
are
the
picky
things
that
probably
it's
going
to
be
very
hard
to
agree
sort
of
get
common
portability
across,
but
it
would
be
good
to
understand.
Even
it
even
like
is
mirror
to
itself
in
extended
or
is
it
going
to
be
in
the
core
portable
feels
like
it
has
to
be.
B
F
The
traffic
Smith
is
very
interesting
because,
even
though
dannion
one
of
main
motivation
was
to
support
K
native
and
if
you
scroll
down
to
option
two,
that
is
a
creative
example.
What
happens?
Is
you
can
have
modification
at
two
layers?
So
here
we
can
see
that
there
is
a
modification
of
common
foo
and
you
scroll
down
a
little.
There
is
a
gain,
a
modification
of
headers
after
you
select
a
target
right.
F
B
We
might
be
able
to
say-
and
this
totally
depends
on
how
understandable
this
is
for
a
user-
that
we
will
allow
you
to
do
Express
like
you're,
pretty
much
very
flexible
ordering,
but
the
controller
will
tell
you
like:
hey
I,
actually
can't
do
this,
like
you
are
putting
it
in
the
wrong
place.
That's
one
strategy
to
get
around
this.
It's
not
great
because
they
have
no
static
guardrails,
but
it's
one
way
around
this
problem.
I.
Do
wonder
it
KN.
If
do
they
support
before
and
after
modification?
What
you
have
here.
F
From
what
I
have
used
creative
and
putting
the
fitting
the
integration
in
khong,
they
supported
the
modify
layer,
and
then
they
support
traffic
splitting.
But
for
traffic
splitting
to
work,
you
need
to
like
the
proxy
needs
to
add
some
headers.
Otherwise,
the
traffic
is
ignored
by
the
upstream
because
they
send
the
traffic
to
a
common
deployment
and
then
that
actually
forwards
the
traffic
to
the
service
functions.
So
you
need
it
at
both.
The
layers
you
can
currently
does
not
support
traffic
splitting
for
K
native.
B
Okay,
this
is
a
great
overview
of
the
problem.
I
think
our
next
steps
are
to
write
up
kind
of
the
atomic
elements,
I
guess
of
this
filter
chain,
plus
four
two
and
then
see
how
we
feel
about
either
mandating
a
more
reduced
model
or
allowing
people
to
write
the
atomic
things
and
reorder
them.
But
perhaps
the
not
every
ordering
will
be
possible
to
be
portable.
C
B
B
A
Yeah
agreed
I
guess
we
should
spend
the
last
20
minutes
or
so
going
through
issue
or
PR
triage
I
know,
there's
been
a
number
of
new
issues
and
PRS
I.
Let
have
come
through
and
I
just
wanted
to
highlight
this
because
I
think
it's
cool
James
API
documentation
made
it
through.
So
we
now
have
proper
API
spec
API
Docs
on
our
Doc's
website.
So
yeah,
that's
something.
D
To
watch
out
for
with
this
doesn't
issue
that
I,
dug
into
you
last
night,
is
that
the
source
code
Pazza
in
at
least
that
this
ends
up
using
collapses,
go
alias
types.
So
all
the
different
kinds
of
ref,
none
of
the
different
kinds
of
referent
improperly
it
all
comes
down
to
a
single,
arbitrary
one.
The
config,
the
config
map,
the
conflict
map,
local
reference,
or
something
like
that.
So
we
need
some
kind
of
workaround
for
that
documentation
to
show
up,
oh
boy,
how.
B
D
D
D
D
A
What
I
was
going
to
say
on
on
that
note
of
it
messing
up
the
alias
types
like
we
ran
into
the
same
issue
with
protobuf
generation
I.
Think
Damien
was
at
least
involved
in
debugging
that,
and
so
maybe,
if
this
is
the
second
time
running
into
this,
we
should
just
move
away
from
alias
types
altogether.
A
D
B
D
B
D
D
D
B
D
This
would
there's
one
workaround,
which
I've
thought
of
we
could
try,
which
I
in
the
issue
I
put
an
example
of,
but
it
looks
weird
for
for
a
buff.
So
if
you
embed
their
types
in
line,
then
you
can
do
it,
because
each
each
different
kind
of
each
each
different
kind
of
reference
becomes
its
own
type
and
you
in
line
so
you'd
use
the
JSON
in
line
to
get
the
fields
just
like
object.
Meta
does,
but
in
protobuf
I
think
you
still
need
a
local.
E
A
D
A
B
A
A
A
A
F
A
D
D
A
D
H
Yeah
I
understand
it's
going
to
vary
by
implementation.
It's
just
going
to
be
really
frustrating
to
users
of
this
API.
If
they
don't
know
the
semantics,
if
they
have
to
look
at
the
specific
implementation
and
there's
no
guarantee
that
a
rule
will
work
the
same
on
one
implementation
as
it
works
on
the
other,
so
I
think
the
very
least
we
should
do
is
say
that
this
will
vary
from
implementation
to
implementation.