►
From YouTube: CNCF Serverless WG 2021-02-18
Description
CNCF Serverless WG 2021-02-18
A
A
Yeah,
I
noticed
your
review
clement,
not
gonna
mention
gems
vr,
so
that
was
good,
but
don't
just
nag
you.
You
have
a
couple
of
outstanding
things
on
the
waiting
for
updates
tonight.
C
With
discovery
and
subscriptions
and
etc,
where
we're
trying
to
get
get
on
on
aligned
with
sap
and
then
bring
we'll
bring
the
the
essence
of
that
that'd
be
cool.
Oh.
C
A
Okay,
hey
did
you
get
a
chance
to
read
eric's
issue
that
he
opened
up
last
week.
C
Yes-
and
I
think
so
so
if
I
understood
this
right,
he's
kind
of
worried
about
like
multi-level,
multi-stage,
writing,
aggregation
in
the
middle
and
how
we
can
go
and
model
that-
I
think
I'm
sure
and
I
replied
to
that
issue
and
included
a
picture
one
of
my
slides
that
I've
been
using
for
opc
opc
way
and
some
of
the
federation
issues.
We
have
there
and
I
think,
once
you
have
these
multi-level
routing
things
you
really
from
a
subscriber
perspective.
C
You
only
see
the
party
that's
publishing
to
you
like
there's,
yes,
you
can
go
and
have
a
30
000
foot
view
in
the
pipeline
of
of
what
that
total
slow
is,
but
I
think
from
the
cloud
events
perspective
and
what
we're
trying
to
achieve
here.
From
the
interoper
perspective,
the
consumer
only
gets
to
see
kind
of
the
next
cop,
that's
immediately
in
front
of
them,
which
means
which
means
that
there
is
nothing
to
control
five
hops
down.
C
From
that
perspective,
like
there's
nothing,
you
can
do
from
a
intra
protocol
perspective
to
make
things
better,
but
you
can
obviously
try
to
be
smart
about
how
you
how
much
data
you're
acquiring
based
on
the
subscription
that
you
manage.
A
Well,
right,
that's
that
that
was
actually
going
to
be.
One
of
my
questions
to
eric
was
because
I
did
place
the
question
in
there
either
last
night
or
this
morning,
camera
which
one
where
I
was
trying
to
figure
out.
If
he's
trying
to
do
sort
of
a
multi-subscribe,
multi-subscription
subscribe
kind
of
thing
and
then,
if
he
is,
is
he
just
looking
for
possible
guidance
or
something
on
how
to
actually
specify
that
you
know
it's
almost
like
nested
subscribes
in
a
sense
yeah.
I'm
not
sure.
C
I
have
that
the
slide
that
I,
that
that
I
want
to
show
is
solving
models.
It's
trying
to
solve
one
of
those
problems
and
that's
well
you'll,
see
when
that,
when
I
talk
about
it.
A
D
E
A
Hello
priyanka,
I
don't
see
her
yet
scott.
A
A
F
A
G
A
A
Started,
I
guess
I
should
warn
you.
My
machine
has
been
doing
some
really
weird
stuff
today
and
I
did
just
reboot
it,
so
it
should
be
okay,
but
between
that
and
the
ice
storm
that
we're
kind
of
getting
here,
I
can't
guarantee
that
I
won't
lose
connectivity.
So
if
I
vanish
it's
not
because
you
guys
pissed
me
off,
it's
just
things
went
horribly
horribly
wrong.
F
A
A
A
All
right
moving
forward,
then
I
can't
remember
if
we
actually
talked
to
anything
that
scale
call
last
week.
We
did
I'm
sure
it
was
very
quick,
but
we
do
have
a
discovery
interrupt
call
after
this
one.
I
suspect
we're
probably
going
to
end
early.
C
I
have
something
to
talk
about
for
discovery,
just
as
a
as
an
update
on
some
of
the
work
that
we've
been
we've
been
doing
with
awesome
thoughts
that
we're
having
how
to
make
things
work
with
klaus
and
klaus
plays
the
work.
So
I
don't
know
when
you
want
to
go
and
cover
this.
I
have
one
slide
that
I
will
show
okay.
A
Let's
see
where
that
fits
in,
I
think
these
are
going
to
go
fairly
quick.
So,
let's
see
should
we
have
plenty
of
time
all
right,
jim
you
are
up
first
oops,
I
already
have
it
open.
Would
you
like
to
talk
about
your?
Let
me
hide
the
comments
first
here.
Oh
that's
like
would
like
to
talk
about
this
issue
or
pr
gem.
G
Somebody
mentioned
that
this
topic
had
come
up
before
you
know.
How
could
we
you
know,
or
could
we
come
up
with
a
mechanism
of
signing
or
at
least
sharing
signatures
for
events
and
to
be
transparent?
This
is
actually
an
issue
that
we're
looking
at
internally
today.
So
we
have
a
scenario
where
we
have
potentially
geographically
dispersed
systems
that
need
bilateral
trust
between
the
publisher
and
the
and
the
eventual
consumer,
but
also
the
infrastructure
in
the
middleware.
G
That
sort
of
doing
the
distribution
also
needs
to
do
bilateral
trust
between
you
know,
nodes
within
that
infrastructure
as
well.
So
so
I
started
down
this
road.
G
I
I
think
the
the
internal
bilateral
trust
is
a
slightly
different
use
case,
which
can
be
addressed
maybe
through
russian
dolling,
actually
the
whole
cloud
event,
but
I
started
to
to
to
think
about
how
we
might
attach
signatures
and
then
how
we
might
also
sign
attributes-
and
I
know
a
number
of
people,
including
doug,
had
sort
of
commented
on
maybe
coming
up
with
a
different
way
of
doing
the
attribute
signing.
But
the
basic
premise
here
is
that
we
reserve
some
extension
attributes
to
carry
the
signature.
G
It
may
well
be
that
I
need
to
come
up
with
a
more
flexible
mechanism
to
indicate
which,
which
attributes
in
that
particular
event
have
been
subject
to
the
signing
clemency.
I
think
you
you'd
sort
of
made
a
reference
to
s
mine.
I
did
comment
back
in
the
in
the
pr
from,
as
I
understand
it.
F
s
mine
uses,
multi-part
bodies
yeah,
so
it
stuffs
signatures
in
in
a
second
body
part,
and
so,
if
we
think
of
a
different
way,
I
mean
obviously
I'm
completely
open
to
that.
G
G
Yeah
come
on.
I
just
need
enough
knowledge
to
to
say
I've
got
a
problem
with
it
and
then
find
somebody
who
really
knows
how
it
works.
C
So
I
think
the
current
the
current
roc
is
8551,
and
so
so
s5
solves
the
problem.
So
s
mine
is
there
to
go
and
take
internet
messages
which
is
headers
followed
by
a
body
which
is
how
mail
works
and
which
is
also,
incidentally,
how
http
messages,
work
and
a
bunch
of
other
messages,
work
and
and
apply
signatures
encrypt
and
crypto
to
them,
and
it
has
solved
the
problem
of
of
labeling
headers
that
need
to
be
signed,
and
it
has
a
special
header
designated
where
the
signature
goes.
C
It
has
metadata
to
indicate
which
signal
is
which
algorithm
you
want
to
go
and
use,
and
it
has
headers
that
indicate
key
hints
and
has
all
the
stuff
that
you
kind
of
need
for
for
that
kind
of
work,
and
that's
why
it's
a
thorough
read
of
s
mine
will
be
useful.
C
C
But
I
can
imagine
that
we
can
go
and
say
we're
going
to
carry
a
a
signed
cloud
event
is
actually
carried
inside
of
a
of
a
wrapping
cloud
event,
which
is
then
ends
up
being
a
mechanism
that
we
can
go
where
we
can
apply
the
the
mechanisms
of
s
mime
to
whatever.
C
The
reason
why
I
brought
up
smm
is
because
it's
it's
something
that
is
well
understood
generally
also
in
the
in
the
security
community
and
where
you
have
presumably
also
coverage
from
a
library
perspective,
and
it's
something
that
is
somewhat
rudely
tooled.
C
And
so
I'm,
especially
in
this
part
in
this
area,
I'm
a
little
worried
about
inventing
a
cloud
of
a
specific
mechanism
right
so.
C
It
yeah
so
so,
as
I
would,
I
would
like
for
us
to
lean
as
much
as
possible
and
something
that
is
that
is
that
that
that
the
security
people
have
have
thought
of
long
and
hard
and
there's
currently
two
candidates.
I
can
think
of
there.
Is
this
the
whole
josie
stack.
C
So
that's
the
jason
security
signature
and
encryption.
C
G
I
was
gonna
say
we
use
josie
yeah.
I
think
the
issue
here
is
it's
that
I
can
use
josie
end
to
end.
You
know
from
yeah.
G
To
consumer
well,
actually,
even
that
you
know
that
wouldn't
cover
the
cloud
event
attributes
it
would
cover
that
we
would
stuff
it
in.
You
know
the
data
yeah,
but
now
I
layered
this
other
level
of
intermediaries
that
then
now
need
to
wrap
that
with
other
stuff
or
mutate,
those
headers
along
the
way
yeah.
I
think
it
gets
a
little
bit
complex.
C
Josie
josie
is
is
another
reason
why
I'm
a
little
worried
about
josie
is
that
josie
is
a
direct
descendant
of
w
security,
and
so
it
carries
a
lot
of
those
complexities
with
it
like
if
you
go
and
take
that
entire
stack.
C
It
also
is
no
accident
that
the
the
folks
who
wrote
the
specs
are
the
players
are
very
similar
similar
folks-
and
you
know,
those
songs
are
brilliant.
Let's,
let's,
let's
be
clear
about
that,
and
I
find
s
mine
more
attractive
for
our
scenario,
because
it's
not
trying
to
ball
the
ocean
as
much
as
josie
tries
to
right.
C
It
literally
is
smiling,
has
has
a
notion
of
there's
a
bunch
of
headers
and
there's
a
body,
and
we
need
to
go
and
and
transport
a
signature
for
those
and
probably
go
and
encrypt
the
body
in
some
way.
It
deals
with
those
things
in
base
64..
That's
also
something
that
we
that
we
need
in,
at
least
in
part.
So
I
think
there
is
a
toolbox
here
within
the
form
of
s
mine
which
we
can,
if
we
can't
use
it,
as
is
we
can
at
least
very
liberally
go
loot.
It.
G
F
A
A
A
I
So
I
just
started
looking
like
a
half
an
hour
ago
to
the
comments.
Generally,
it
seems
it's
going
well.
Is
there
anybody
that
wants
to
do
some
more
elaborate
comments
on
the
meeting?
I
I
know
clements
did
different
comments
about
type
inference,
so
yeah.
C
Yeah,
I
thought
I
thought
that
the
the
inference
things
would
argue
most.
C
Sorry,
can
you
repeat
yeah,
I
I
I
thought
that
the
inference
comment
would
would
irk
you
most
because
that
they
end
up
that
ends
up
being
a
little
bit
more
work.
I
It's
not
really
about
more
work.
It's
generally
that
I
I
generally
don't
like.
I
type
inference
too
much,
sometimes
so
it's
just
a
sequel.
Does
it
first
of
all?
So
as
really,
if
you
think
we
should
add
it
just
give
me
some
hint
on
how
we
want
to
do
it
and
I'll
go
ahead.
C
A
Okay,
is
there
anything
in
particular
slinky
that
you'd
like
to
point
out
here,
since
I
think
more
offline
discussions
are,
are
needed
and
they're
happening,
which
is
all
great,
but
is
there
anything
on
the
call
today
you
wanted
to
bring
out
for
people's
attention.
I.
I
Think
you,
I
think
you
clements,
might
have
misunderstood
the
error
handling,
so
the
yeah,
the
idea
of
the
the
idea
of
the
of
this
language,
and
if
it's,
if
it's
not
well
explained,
I
can
go
and
rewrite.
This
part,
is
that
because
every
operator,
because
because
every
expression
is
total,
the
evaluation
flow
is
always
defined
up
to
the
end,
and
then
some
functions
can
have
the
side
effect
of
appending
to
a
list
of
errors.
I
So,
and
my
idea
with
this
is
that
we,
the
user,
can
have
a
far
greater
flexibility
of
deciding
whether
errors,
some
errors
are
more
critical
than
the
others.
Some
errors
are
should
be
treated
as
false
somewhere
else
should
be
treated
as
true
and
so
on.
So
I
I
don't
want
you
to
decide
in
the
spec
whether
an
error
is
false
or
is
true,
okay
and
ends
up
breaking
the
the
expression
or
not.
C
That
seems
complicated
like
if
something,
if
something,
if
something
if
something
is
like,
if
you
have
a
division
by
zero
because
you
are
having
so
so
you
are
dividing
by
a
value
that
you're
getting
through
the
message
and
now
you're
getting
a
division
by
zero.
Can
you
ever
return
true
or
false?
No,
you
can't.
I
C
I
I
So
my
point
is
that
it's
an
error:
okay,
we
know
that
it's
an
error
and
in
the
in
the
the
evaluation,
will
return
an
error
and
will
signal
to
the
user,
the
error,
but
then
it's
up
to
the
implement.
So
let's
say
to
to
the
user
so
to
the
subscription
implementer,
for
example,
to
decide
whether
the
error
is
pass
or
not
pass.
That's
what
I'm
saying
now
yeah!
You
took
quite
a
good
example.
C
I
C
So
so
it's
it
is
like
there
is.
If
you
have
those
expressions
yeah
exactly
here,
we
go
back
in
the
olden
days,
but
so
there
are,
there
are
error
situations
which
don't
yield
true
or
false,
and-
and
I
think
for
for
the
purposes
that
we
have
here-
where
we
really
want
to
have
a
ultimately,
we
need
to
have
a
filter,
expression,
language,
I'm
not
sure
whether
overloading
every
operation
with
a
special
definition
that
is
like.
If
you
encounter
an
error
here,
then
you
are
true
and
then
you're
false.
C
Well,
that
is
something
that
developers
will
understand
because
developers
usually
don't
read
the
spec,
they
go
and
say:
oh,
this
is
sql
and
then
they're
going
to
say.
Okay,
this
is
sql,
so
I'm
just
going
to
go
and
do
sql,
but
then,
if
you
so
now,
you're
throwing
up
effectively
side
side
effects
for
error
conditions
that
might
be
just
too
complicated
for
for
the
purpose
here.
I
I'm
doing
my
idea
was
to
do
the
exact
opposite
to
remove
side
effects,
and
so
so
the
the
expression.
What
you're
seeing
is
that
the
expression
can
return
three
different
states.
True
false
error,
right
yeah,
I'm
saying
that
it
should
be
four
states,
so
through
no
error,
false,
no
error
to
error,
false,
no
and
false
error,
and
then
it's
up
to
let's
say
to
the
subscription
implementer
to
say:
hey
error
is
false,
or
a
error
is
true.
C
There's
the
the
also
doing
total
evaluation
is,
if
you
already
so
you're
you're
running
through
an
expression
tree,
and
you
already
know
when
you
are
hitting
the
first
condition
into
short
condition
and
then
and
then
that
is
false
and
then
you
have
an
and
and
follows
is
a
complex,
complex
expression?
Are
you
going
to
run
through
all
of
that.
C
I
C
I
That's
not
true
like
for,
I
think,
for
example,
an
input
value
is
not
there
like,
for
example,
I'm
assuming
there
is
an
extension
in
the
event,
but
there
isn't
okay,
that's
that's
one
of
the
that's.
Why,
when
I
thought
that
this
error
system,
I
I
had
this
specifically
problem
in
mind,
so
you
want
to
evaluate
an
expression
where
you're,
assuming
that
there
is
an
extension
and
you
are
not
checking
with
exists.
If
the.
I
If
the
extension
is
there
or
not,
so
you
just
try
to
use
it
and
because
of
the
definition
of
how
you
address
extensions,
you
get
a
default
return
value,
but
at
the
same
time
it
raises
an
error.
So
when
you
end
up
with
the
evaluation,
you
may
have
true
or
false
okay,
because
maybe
it
was
just
checking
that
I
don't
know
string
length
less
than
10
okay,
if
the.
If
the
assumption
sorry,
if
when
you,
when
you
address
an
accession,
it
is
not
there
and
that
extension
is
a
string.
I
Sorry
and
the
extension
is
not
there.
Then
it
returns
a
default
empty
string.
Okay,
so
this
evaluation
will
return.
True,
okay,
because
this
predicate
is
valid,
but
it
will
return
an
error
and
you
in
and
this
error
will
tell
you
hey
you're,
trying
to
to
do
you're,
trying
to
evaluate
a
predicate
on
something
that
doesn't
exist
so
and,
and
this
thing
might
be
reasonable
for
a
subscription
implementer
to
pass
okay
for
a
filter.
This
may
be
valid.
C
Yeah,
I'm
I'm
having
a
hard
time,
I'm
having
a
hard
time,
letting
anything
pass.
If
there's
an
error
in
the
evaluation
like
that,
for
me,
that's
a
fault
as
doug
just
wrote
in
in
the
chat.
An
error
for
him
is
an
implied
false
and
that's
that's
that's
the
same
thing
for
me
as
well.
Like
I
I
I
said
I
I
don't
believe
the
I
don't
believe.
The
true
end
and
error
combination
is
something
that
I
would.
I
would
let
pass
in
the
product.
I
Well,
you
can
always,
you
can
always
then
go,
and
when
you
use
this
language,
you
just
assume
error
equal
to
false
and
you
sure
secret
errors.
So
you
won't
go
so
after
you
reach
the
first
error.
You
just
drop
the
whole
computation
and
return
yeah.
You
can
do
that
from
a
spec
point
of
view.
I'm
saying
you
could
do
both
it's
up
to
you.
A
I
I
I
just
invented
a
bad
name,
but
you
get
the
point
then
error
equal
thoughts,
okay,.
A
I
I
know
also
don't
forget
that
we
one
of
the
reasons
we
are
looking
at
this
expression
language
is
also
for
workflow
people,
so
for
the
workflow
spec
is
interested
in
this
so
right
for
them,
it
may
make
again.
It
may
make
sense
that.
A
A
A
I
Yeah
also,
I
also
wrote
in
the
in
the
comment
that
clemens
did
about
the
the
name
of
the
spec
itself.
C
Just
just
as
a
from
a
practical
matter
of
of
how
this
might
get
used,
but
the
way
how
I'm
using
these
three
states
of
the
of
the
that
come
out
of
the
filter
is
if
the
filter
is
true.
I'm
selecting
the
message.
If
the
filter
is
false,
I'm
not
selecting
the
message.
If
the
filter
throws
an
error,
I'm
going
to
put
the
message
into
a
dead
letter
queue
or
a
dead
letter
place
so
that
the
message
can
be
investigated.
So
I
know
what
to
do
with
those
three
states.
A
C
To
have
that,
that's
something
that
I
need
to
have
all
of
the
filter.
I
need
I
need
for
the
filter
to
tell
me
whether
the
evaluation
was
false
or
successful,
or
whether
it
failed,
because
that
message
was
was
causing
the
the
was
effectively
running
against
the
filter
and
would
never
be
would
never
be
true.
A
J
D
Saw
that
there
was
a
response
and
it
felt
like
it
was
fairly
high
level.
I'm
I've
definitely
learned
that
there's
a
greater
context
and
intention
for
this
expressing
language,
but
if
slinky,
if
you
could
speak
to
the
question
that
doug
posed-
and
I
kind
of
added
on
to
about
why
we
wouldn't
adopt
something.
That's
a
little
more
of
a
standards
with
standard
with
libraries.
Existing
I'd
like
to
understand
your
you're
thinking
about
that.
A
little
better.
A
I
D
D
I
I
I
suppose
I
thought
that
the
some
of
the
sql
specs
would
be
sufficient
for
our
use
cases,
and
I
I
guess
I'm
wondering
how,
in
what
ways
they
weren't
sufficient
such
that
we
need
to
go
through
defining
a
language
and
implementing
libraries
and
all
kind
of
all
the
the
labor
and
effort
that
goes
along
with
that.
C
I
I
can
talk
to
that
because
there's
I
mean
because
there's
prior
art
in
two
in
two
ways,
so
jms
started
to
do
a
subset
of
sql
and
the
reason
why
they
had
to
go
and
write
their
own
spec.
Is
that
they're
only
relying
on
the
effectively
the
rare,
the
condition
the
where
clause
and
they
scoped
everything
out.
So
you
need
to
have
so.
First
of
all,
you
need
to
have
an
extra
spec.
C
That
is
just
capturing
all
the
conditions
that
you
want
and
then
second
sql
is
very
rich
in
terms
of
what
you
can
do
in
terms
of
pre-built
functions
and
etc,
and
many
of
those
are
not
desirable
for
all
kinds
of
reasons
in
the
message
broker,
because
they
end
up
being
too
complicated,
so
that
also
got
cut
down.
So
so
so
in.
C
In
that
way,
the
gms
message
selectors
are
a
profile
of
sql,
because
they're
they're
effectively
scoping
that
down,
and
then
there
are
there's
a
more
constrained
type
model
that
is
in
in
gms
for
in
terms
of
what
message
properties
can
can
occur,
and
then
the
select
clause
of
of
sql
is
absent,
which
means
the
set
of
properties
or
the
set
of
fields
that
you
can
operate
on
is
something
that
is
effectively
given
by
the
message
itself.
C
And
so
you
need
to
have
this.
You
need
to
have
in
the
specification
you
need
to
define
what
the
message
properties
are,
what
what?
C
What
is
the
the
space
and
what
are
the
properties
that
you
can
actually
operate
on,
and
so
all
of
that
taken
together
is
causing
the
gms
spec
to
have
a
its
own
definition
of
of
sql,
more
or
less,
and
then
we've
effectively
borrowed
that
approach,
but
as
a
cleanroom
derivative
of
sql,
because
of
because
jms
has
been
defined
by
oracle
is,
has
all
kinds
of
interesting
rights
associated
with
it.
C
So
we
went
for
nkp
and
did
a
clean,
clean
definition
of
us
of
the
sql
language,
but
effectively
with
the
same
constraints,
cut
it
down
to
exactly
what's
needed
and
scope
out
all
all
all
kinds
of
complicated
functions
and
then
effectively
define
the
input
set
to
be
the
mqp
message.
C
So
so
I
think
I
think
we're
leaning
on
the
precedent
here
on
the
akp
president
here
and
are
using
some
of
those
constructs
and
my
so
my
ideal
outcome
of
this
here
is
that
this
dialect
here
and
the
mqp
dialect
are
effectively
compatible
with
each
other,
but
that
this
one
is
simple
this
one
because
of
the
more
constrained
the
this
one
being
more
constrained
to
the
the
cloud
events
and
the
cloud
event
being
structurally
simpler
than
than
the
npp
message
that
we
can,
that
this
implement
the
language
here
is
simpler
and
is
easier
to
implement
and
you'll.
C
Have
you
have
fewer
moving
parts?
We
have
more
moving
parts
in
the
in
the
mpp
in
the
amkp
filters,
but
it
would
be
great
if
the
if
this
was
a
true
super
true
subset
of
of
the
mkp
folders,
and
I
think
that
would
that
would
that
would
that
would
then
achieve
what
you're?
What
you're
looking
for.
C
The
one
thing
that
is
that
slinky
added
was
the
are
the
typecasts
which
work
differently
in
sql
and
mostly
sql
tries
to
avoid
them
entirely
with
type
inference.
C
So
so
you
use
casts
in
sql
in
in
cases
where
you
just
can't
get
out
of
okay,
get
can't
avoid
them
completely,
but
the
constraints
we
have
here
with
our
type
system,
which
is
effectively
consisting
of
strings
rules
and
and
ins,
even
though
we
have
a
time
type,
and
so
therefore,
we
need
to
go
and
add
time
here
and
we
haven't
that's
a
comment
that
I
forgot
to
add
so,
but
we're
effectively
just
dealing
with
four
types
and
with
most
of
those
types
we
will
be
able
to
deal
with
inference
for
most
expressions
so
that
the
typecasts,
as
they
are,
are
probably
not
necessary.
C
I
think,
but
everything
else
is,
is
pretty
much
along
the
lines
of
what
standard
sql
looks
like.
I
Sorry,
sorry,
what
what
what
comment
you
forgot
to
add
at
the
time
type
yeah!
Well,
I
I
I
kept
it
out
of
the
discussion
for
a
moment.
Yeah.
I
A
A
All
right
cool,
thank
you
slinky
for
starting
this,
that's
very
good
eric
did
you
want
to
talk
about
this,
or
did
you
want
to
take
it
offline?
I
think
there
are
a
couple
of
questions
that
have
been
added
offline.
A
D
I'm
I
did
a
good
job
lathering
on
last
week,
so
I'm
I'm
sure.
If
anyone
has
questions,
I
well
I'm
willing
to
talk
about
those,
but
I
I
don't
feel
we
need
to.
A
C
I
think
this
is
a
good,
I
think
that's
a
good
discussion
to
have
to
just
continue
to
continue
offline
and
what
is
what
does
github
do
there
with
the
ads
and
stuff
anyways
yeah
internet,
oh
okay,
great
so
yeah
I'd
like
I
like,
for,
I
think,
that's
a
good
good
discussion
to
have
to
have
there
so
kind
of
land
in
the
middle,
because
I
think
there
were
eric
had
some
that's
a
fairly
complex
thoughts
here.
C
I
would
like
to
see
some
examples
of
the
aggregates
and
in
various
domain
systems,
and
I
just
gave
an
example
here
with
our
thing:
how
we've
been
thinking
about
this
in
opc
and
yeah?
Let's,
let's,
let's,
let's,
let's
dissect
this
a
little
bit
more
in
in
writing.
Okay,
we
can
take
it
offline.
A
C
I
just
want
to.
I
want
to
share
a
slide
and
just
briefly
to
talk
about
some
thoughts
here,
sharing
the
slide,
sharing
the
slide.
C
Oh
now
I
see
the
button
of
sharing
the
slide.
Let
me
see
that
is
the
right
picture.
C
Okay,
can
you
see
it
yep
fabulous
all
right,
so
the
reason
I
want
to
show
this
is
just
for
because
this
might
be
a
non-obvious
scenario
and
we
have
this
so
we
have
a
customer
called
fabricam
that
klaus
works
at
and
it's
not
fabricam,
but
you
know
we
protect
our
our
client
relationships
and
so
and
they
are
building
fairly
complex
software
and
that
complex
software
wants
to
make
use
of
event
grid
in
our
in
our
world
to
go
and
publish
events
into
an
azure
subscription,
and
the
problem
is
that
those
azure
subscriptions
are
their
own
boundary
and
if
you
want
to
go
and
deal
with
identities,
etc,
then
you
are
effectively
all
within
that
in
that
tenant
and
within
that
subscription.
C
That's
where
your
that's,
where
your
scope
is
and
and
and
we
want
to
keep
the
tenant
isolation.
So
we
have
this
thing.
We
call
partner
topics
which
allows
you
as
a
as
another
tenant,
because
these
are
both
you
know.
Fabricam
is
a
customer
of
azure
and
then
contoso
is
a
customer
of
azure
and
what
fabricam
wants
to
do
is
they
want
to
go
and
publish
from
their
application
that
moves
inside
of
azure
or
outside
of
azure,
and
they
want
to
go
and
publish
into
someone
else's
subscription.
C
So
we
need
to
kind
of
tunnel
those
things
so
now
discovery
becomes
interesting
because
here
in
fabricam,
the
fabrikam
app
has
a
subscriber
endpoint
and
has
a
discovery.
Endpoint
discover
endpoint,
provides
information
about
what's
available
from
from
this
fabrikam
app
to
others
to
subscribe
and
what
they
want
to
do
is
they
want
to
go
and
deliver
from
that
fabricam
app.
Somehow
events
into
this
application
that
sits
over
here
in
contoso,
but
since
they
can't
they
can't
reach
over
here
directly
because
there's
different
security,
scopes,
etc,
etc.
C
They
are
effectively
required
to
use
this
bridging
mechanism.
Aws
has
something
very
similar
that
they
call
event
bridge
and
so
event
grid
our
event.
Great
partner
partner
infrastructure
is
the
same
thing.
It's
effectively.
How?
How
can
you
go
and
deliver
events
from
one
tenant
space
to
another
tenant
space
and
allow
over
here
in
contoso
right?
This
person
needs
to
be
authorized
to
subscribe
to
those
events,
but
those
authorization
rules
can
only
be
expressed
within
the
scope.
C
So
there's
there's
got
to
be
an
administrator
which
says
yeah
over
here
in
this
application
you
can
go
and
subscribe
to
events
from
fabrikam,
but
that
all
happens
inside
of
here
and
so
and
because
of
that,
we
need
to
have
this.
We
need
to
have.
We
need
to
have
this
bridging
mechanism
so
that
all
set
as
as
set
up
what?
C
But
it's
really
a
proxy
to
this
discovery,
endpoint
over
here
so
you're
getting
all
the
events
are
being
made
available.
All
the
services
that
are
being
made
available
through
the
discovery
and
point
you
get
get
them
kind
of
proxied
into
this
space
and
what
we're
doing
in
this
proxy
is
we're
going
to
rewrite
all
the
subscription
uris
such
that
they
point
to
this
subscription
endpoint.
C
So
so
all
the
events
and
everything
that's
available
is
going
to
be
original,
but
then
we're
going
to
effectively
fake
up
the
subscript
subscription
input
and
redirect
that
to
here
and
then,
if
you
want
to
go
and
subscribe,
you
come
to
our
endpoint
and
then
our
endpoint
will
walk
up
to
that
subscriber
endpoint
over
here
it
will
say:
hey
fabrikam
app.
C
You
can
now
start
emitting
events,
it
will
go
and
turn
around
and
and
we
will
tell
it
to
go
and
deliver
those
events
into
this
event-
shoot
here
that
we
have
in
this
platform
level,
endpoint
and
then
once
that
succeeds,
we
now
have
that
correctly
set
up
so
that
fabricate
will
start
pushing
events
into
this
platform
level
endpoint,
which
has
a
filter
set
up.
C
That's
all
the
developer
will
say
and
then,
from
the
background
we
will
go
and
then
go
and
trigger
the
fabrikam
app
to
go
and
deliver
events
to
us,
and
then
we
will
go
and
then
react
to
a
successful
subscription
by
actually
setting
up
the
description
here.
If
you
unsubscribe,
then
we're
going
to
do
the
the
we're
going
to
undo
that
that
that
that
flow,
so
I
just
want
to
so
that's
that's
the
thing.
C
I
just
want
to
explain
to
you
on
how
we
how
we
think
the
we
might
go
and
compose
the
discovery
endpoint
into
subscriber
endpoint
such
that
you
can
subscribe
through
a
proxy
infrastructure
effectively
through
one
of
those
those
kinds
of
event
bridges
into
an
application,
while
keeping
those
scopes
separate.
A
Questions
yeah
my
hands
up,
so
just
to
make
sure
you
understand
it's
actually
your
proxy,
your
discovery,
proxy
endpoint
on
the
left-hand
side,
that's
talking
to
the
right-hand
side,
discovery
endpoint
to
figure
out
who
he
was
going
to
proxy
right.
It's
not
going
through
the
green
box
to
do
the
discovery
stuff
right.
C
We
haven't
decided
yet
what
exactly
that
flow
is
because
there
might
be
that
might
so.
This
is
all
of
these
are
logical
lines
at
this
point.
Okay,
because
there
might
be
some
firewalling
happening
here
and
and
it's
not
the
same
networking
scope.
A
Okay,
cool
and
just
just
a
comment,
then
I
think
it
was
remy
who
actually
had
a
scenario
very
similar
to
this,
where
he
had
a
gateway
type
thing
where
the
his
subscribers
only
know
about
the
gateway
and
all
the
producers
and
event
producers
behind
the
scenes
are
basically
hidden
to
the
end
user.
This
sounds
very,
very
similar
to
me,
so
I
think
this.
This
could
be
a
popular
scenario
since
I
think
other
people
have
mentioned
it,
I'm
starting
to
mention
it
as
well.
So
that's
cool
yeah,
yeah.
C
So
I
won't,
I
just
want
to
want
to
make
that
transparent,
that
that's
how
we're
how
we're
currently
considering
that
and
that's
also
so
because
there
was,
I
think
there
was
also
that
there
was
also
a
point
that
eric
made
to
to
a
degree.
It's
like
how
do
you,
how
do
you
propagate
subscriptions
and
that's
kind
of
the
one
level
subscription
propagation,
if
you
will,
where
you
are
interested
in
events
from
from
a
from
from
a
source?
C
That's
one
hop
away
from
you
and
how
do
you
make
sure
that
this
this
application
here
doesn't
need
to
go
and
publish
everything?
It
knows
and
all
the
events
over
here
just
so
that
they
are
available
for
search
suppression
over
here.
That's
kind
of
how
we're
trying
to
how
we're
approaching
the
optimization
of
that
flow.
A
All
right
not
hearing
anything
cool.
Thank
you,
clemens.
Just
one
last
question,
though
oops
sorry,
I'm
sure
on
the
wrong
screen.
A
C
I
can
promise
you
already
in
terms
of
how
we're
doing
the
authorization
pieces,
I
think,
for
the
discovery,
subscription
and
and
service
registry
apis
will
have
to
be
a
bit
more
concrete
on
on
authorization
than
we
have
been
with
cloud
events
core
and
also
with
web
hooks,
because
there's
those
relationships
with
that
I
had
in
the
picture
can
get
fairly
complicated
and
the
only
the
only
thing
we
have
right
now
in
in
the
standard
space
that
can
approach.
C
That
is
the
open
id
connect
plus
off.
So
I
think
we're
we.
We
should
go
and
double
down
on
those
mechanisms.
We
don't
need
to
be
particular
about
what
grants
and
claims
etc.
We
need,
but
having
the
right
set
of
fields,
which
means
you
need
to
have
an
access
token
or
a
refresh
token,
and
those
things
stored
and
talk,
and
talking
about
that
will
be
very,
very
helpful.
Unless
someone
someone
says
yeah,
I
have
an
authentication
authorization
framework
that
is
also
standardized
is
much
better
than
that.
K
K
Yeah,
okay,
yeah:
I
need
to
see
the
concrete
parts
right.
E
Yeah,
so
it's
also
quite
similar
to
I
remember
in
the
beginning,
when
we
started
discussing
discovery
and
subscription,
I
was
talking
about
eventing
domains,
forwarding
subscriptions
and
discovery.
C
C
That's
right:
yeah
yeah,
you
had
you
had
a
you,
had
a
picture
that
was
fairly
similar
to
this
one,
yeah
and
and
thinking
and
thinking
through
thinking
through
that
scenario,
again,
that's
where
I'm
landing.
Also,
I'm
also
worried
about
you
know
in
the
discussions
that
we're
having
without
disclosing
too
much.
C
A
Cool
thank
you
clements
for
all
that
it's
nice
to
know
that
the
the
spec
doesn't
need
to
change
as
of
right.
Now,
aside
from
your
credentials
stuff,
you
mentioned
last
week:
okay,
that's
it
for
the
main
agenda,
just
a
nagging
reminder
for
these
folks,
clements
and
lance.
You
guys
have
some
things
to
work
on
and
in
terms
of
any
of
the
business,
I
believe
slinky,
you
had
something
you
wanted
to
mention.
A
A
A
G
A
Why
don't
we
go
ahead
and
get
started?
I
don't
think
we
have
a
lot
to
talk
about
here,
not
sure
where
to
begin.
So
let
me
let
me
start
with
the
question.
I
know,
as
I
think
clemens
you've
probably
been
doing
some
coding
recently,
because
you
keep
hinting
at
it
for
it
for
cummins
or
anybody
else.
Are
there
any
questions
comments?
Anybody
wants
to
bring
up
relative
to
actually
coding
up
the
scenario
itself.
A
Okay,
not
hearing
anything,
I'm
just
gonna
assume
it's
just
a
matter
of
people
finding
time
to
do
the
work.
Yes
all
right,
so
that's
fine!
I'm
in
the
same
boats.
I
unfortunately
have
not
touched
a
keyboard
relative
to
this
in
quite
a
while.
So
then,
I
think
the
question
is:
do
we
want
to
import
impose?
A
Do
we
want
to
impose
a
forcing
function
to
to
move
this
along
like
pick
a
date
for
when
we
want
to
do
an
interrupt,
because
I
know
originally,
we
picked
a
date
in
november,
which
obviously
we
did
not
do,
but
do
we
want
to
pick
a
date
to
try
to
force
us,
or
is
it
too
premature,
because
some
specs
are
too
much
in
flux
right
now
like
like
the
subscription
spec
is
going
through
some
major
changes
and
stuff.
Like
that,
what
do
you
guys
think.
K
A
C
I
agree
we
should
set
a
date,
but
this
we
should
should
set
the
date
a
little
bit
out,
but
yeah
we
should.
We
should
have
that.
I
have
a.
I
have
a
discovery
endpoint
now
that
I'm
not
sharing
yet,
but
yes,
so
we
should
we
should.
We
should
set
a
date,
but
we'll
need
to
have.
I
need
to
have
a
little
time
to
to
get
time.
I
only
get
tiny
slices
every
week
to
kind
of
deal
with
it.
K
Do
you
want
what
about
like
the
cube
can
date,
I
don't
know
so
I
can.
Let's.
K
C
C
K
A
K
A
A
Or
after
starting
march,
I
think
so.
The
way
I'm
interpreting
it
is
starting
end
of
march
is
when
people
should
have
their
end
points
up
to
start
doing
some
banging
on
each
other
and
between
that
date
and
kubecon
is
when
we
basically
do
debugging
and
possibly
pretty
things
up,
so
that
if
we
decide
we
want
to
show
something
at
kubecon,
we
can
that's
why
I'm
interpreting
it,
but
maybe
I
went
too
far
with
the
show
something
part.
But
what
do
you
guys
think.
K
A
Okay,
I
will
try
to
remember
to
mention
this
on
next
week's
phone
call.
Since
I
know
people
like
scott,
I
think,
has
a
conflict
periodically
with
this
call,
so
you
may
not
notice.
I
may
not
notice
these
dates
so
I'll
try
to
remember
to
put
on
next
week's
agenda
to
make
sure
people
are
aware
of
it
and
see
if
there
are
any
concerns.
C
Okay,
yeah
just
for
just
for
as
a
as
a
tiny
preview.
What
I'm
doing
is
I'm
effectively
doing
a.
I
take
an
entire
azure
resource
group
and
we'll
go
and
fill
it
with
stuff.
That
goes
and
raises
events,
and
then
you'll
be
able
to
get
the
the
actual
events
that
are
raised
by
the
product.
You
will
be
able
to
go
and
discover
those
and
and
subscribe
to
them
through
the
through
our
subscription
api
here.
C
Have
to-
and
I'm
also
going
to
publish,
of
course,
I'm
going
to
publish
the
code,
so
we
will
see
how
much
I
have
to
go
and
fake
up,
which
is
a
ton,
but
that's
that's
pretty
close
to
how
the
events
are
going
to
show
show
up
later,
cool.
A
C
Now
you
know
so
it's
it's
going
to
land
at
10
my
time,
so
that's
going
to
be
whatever
3
55.
I
think
your
time
yeah.
A
C
Yeah,
this
is
the
time
that
that's
so
there
was
a
chinese
orbiter,
a
uae
orbiter
and
which
all
arrive
kind
of
within
the
week,
because
this
is
the
week
where
the
the
earth
and
mars
are
the
closest
effectively
or
at
least
from
the
trajectory
perspective,
and
that's
why
they
all
they
all
show
up
now
in
this
week,.
A
C
C
I
was
at
jeff
basil's,
first
mars
conference,
and
that
was
in
there
was
2016
and
there
they
were
already
showing
off
the
the
mars
helicopter
pro
concept
and
we're
talking
about
how
they
were
testing
it,
which
is
quite
interesting
because
mars
has
an
atmosphere
which
is
like
the
tenth
of
the
density
of
earth
with
a
third
of
the
gravity,
and
so
doing
the
testing
of
the
helicopter
weather
would
actually
fly
with.
C
The
combination
of
these
factors
is,
is
really
difficult,
so
they've
been
testing
in
in
in
half
vacuum
tanks
that
they
were
then
through
that
they
were
floating
in
tanks
and
all
doing,
throw
them
off
of
towers
and
all
kinds
of
stuff
just
to
just
have
the
right
environmental
conditions
to
see
whether
they
can
get
the
thing
to
fly.
Yeah.