►
From YouTube: AsyncAPI SIG meeting 7 (Apr 30, 2019)
Description
This is the recording for the AsyncAPI Special Interest Group (SIG) meeting #7.
Attendees:
- Andrew Snodgrass
- Fran Méndez
- Jonathan Schabowsky
- Marc DiPasquale
- Michael Davis
- Raji Narayanan
- Rubén Hervás
Moderation:
- Fran Méndez
Agenda:
- Getting started guide
- Generator for AsyncAPI 2.0.0
- AsyncAPI 2.0.0 parser
- Q&A
A
Okay,
now
recording,
let
me
share
with
you
in
case
you've
missed
it.
We
now
have
a
getting
started
guide
if
you
haven't
had
a
chance
to
have
a
look
at
it,
I
recommend
from
here
and
criticizing
really
hard
in
case
you
don't
like
something
missing,
but
basically
the
whole
idea
is
getting
seven
guide,
isn't
to
document
everything.
A
Not
just
on
a
syncope
I
mean,
for
instance,
something
that
I've
seen
over
time.
Is
that
not
many
people
really
much
about
event-driven,
architectures
and
so
I
grow
the
blog
post
and
and
this
piece
of
documentation
in
case
you
want
to
learn
the
basic
concepts
of
even
driven,
really
basic
concepts
right
and
and
that's
the
idea
that
two.
A
A
What
I
found
in
the
last
years
is
that
many
people
are
using
this
API
and
looking
for
something
like
async
API,
because
it's
the
first
time
they're
doing
event-driven,
micros
or
even
do
right
detective.
You
know
it's
it's
a
good
way
for
them
to
learn
as
well.
Please
another
think
API
works,
because
that
will
allow
them
to
do
have
documentation
and
all
of
that
right
and
have
very
better
getting
started
experience
right
so
from
here.
A
There
are
two
big
buttons
here
and
to
see
how
it
compares
with
open
API
and
if
I
really
recommend
having
a
look
at
this
chart.
The
open,
API
isn't
API
comparison,
because
I
think
this
idea
was
taken
from
the
real
Mueller
post
on
how
they
compares
father
two
versus
open,
API.
Three
and
I
really
liked
it
at
the
year
and
it
was
like
okay,
let's
do
it
for
raising
API
and
and
I
was
planning
but
I
kept.
It
simple
for
now
did
I
was
planning
on
making
it
interactive
at
least
async
API,
a
part
right.
A
That
would
be
amazing.
I
didn't
do
it
yet,
but
this
is
HTML.
This
is
not
an
image,
as
you
can
see,
I
can
select
the
text
here.
So
that
would
be
amazing
to
make
something
like
this
is
something
that
people
can
navigate
and
probably
on
the
right
side
to
have
an
async,
API
file
right,
and
it
will
highlight
the
different
parts
of
the
file
right.
So
you
can
so
you
can
have
a
better
understanding
of
the
different
parts
of
racing,
kpi
and
well,
and
something
here
in
case
that
you
know
about
open
API.
A
A
So
if
we
can
propose
some
some
improvements,
I
will
be
glad
what
else,
apart
from
these
I've,
been
working
on
something
really
exciting
during
the
last
the
last
week
and
it's
upgrading
the
documentation
generator
to
birth,
to
support
version
2.
So
now
for
those
that
don't
have
so
much
context,
the
documentation
generator
is
when
it's
sewn
here
on
the
right
side.
A
This
only
supports
one
point:
X
async,
API
version
and
now
we're
working
on
supporting
person
too.
So
I've
been
working
on
redesigning
everything
as
well
like,
let's,
better
look
for
the
documentation,
because
this
amount
of
tables
useless
tables.
Here
it
was
a
very
difficult
or
very
ugly,
like
you
can
see.
Most
of
the
fields
are
empty
and
it's
gonna
be
like
there,
because
sometimes
people
need
to
specify
many
of
these
fields
right.
A
So,
as
you
can
see
most
of
the
times
that
the
tables
are
half
empty,
so
we
changed
it
to
label
the
labeling
approach
like
this,
like
you
know,
and
yeah,
and
now
we
have
these
three
columns,
three
combs
design
with
examples
on
the
right
and
yeah
and
expandable
and
collapsible.
You
know
I
think
this
is
the
way
to
go
right.
A
It's
responsive!
So
in
case
you
don't
have
space
for
the
three
cones.
You
see
the
examples
below
yeah,
you
don't
see
the
menu.
This
is
something
I'm
working
now
working
on
now
on
so
in
the
menu
with
the
battle
right
and
yeah,
pretty
much
pretty
much
it
from
my
side,
I've
been
just
mostly
working
on
that
and.
B
But
yeah
I
can
yeah,
so
we've
been
working
in
the
parser
and
we
need
it
to
be
able
to
resolve
the
briefs
in
a
JSON
schema.
So
right
now
we
have
a
working
version
that
is
able
to
resolve
reference
in
in
the
same
file
in
an
external
file
and
in
a
URL.
So
we
put
resolved
the
reference
and
substitute
for
the
proper
value
and
we
just
finish
a
way
to
detect.
B
If
there
is
a
circular
reference
and
if
there's
a
circular
reference,
you
have
an
option
that
by
default
it's
set
to
true
that
will
change
that
reference
by
a
mock
or
not
very
useful
object.
Let's
say
with
a
key
and
the
F
key
equals
to
circular
and
the
value
equals
to
circular
and
you
can
set
the
option
to
false,
and
then
you
will
get
an
error
message
saying.
With
reference.
Has
a
circular
letter,
yeah
yeah
yeah.
A
I,
probably
can
put
some
context
here
so
when
you
have
an
async
API
file,
sometimes
you
see
these
dollar
crap
properties,
which
are
referencing
with
other
pieces
of
the
same
file
or
different
file
in
in
your
in
your
system
or
in
a
URL
right.
There
wasn't
anything
on
the
go
ecosystem
to
resolve
this
to
go
and
get
the
going
get
the
the
external
reference
and
merge
it
into
into
the
document.
A
So
proving
has
been
working
on
that
I'm
doing
that
so
right
now
it
means
that
we,
we
can
have
the
same
features
that
we
had
in
no
GS,
but
we
can
now
compile
the
the
parser,
because
it's
in
go,
we
compile
it
to
C
and
we
can
use
it
in
any
language.
Actually,
the
the
competition
generated
that
I,
just
so,
is
using
the
the
parser
program
created
in
in
go
and
the
generator
is
in
no
GS.
A
So
this
is
just
to
demo
how
we
can
interoperate
between
no
GS
and
go,
which
is
actually
through
a
C
library,
write
a
compiling
go
to
C
library
and
using
it.
Yes,
it
means
now
we
have
a
let's
say:
80%
I'm,
just
inventing
the
number
here,
but
I
think
it's
close
to
its
18%
only
feature
or
fully
complete
80%,
complete
parser
for
version
2,
and
it's
actually
missing
a
great
few
things,
and
it
means
that
we
can
use
the
parser
official
parser
in
in
every
language.
We
want
just
a.
C
A
A
A
Yeah
exactly
but
I
mean
we
have
Internet
of
Things
as
well.
We
have
to
target
these
small
sensors
that
may
run
from
all
architectures,
but
yeah
I
mean
it's
not
a
priority
from
now.
We
will
work
on
that
later
on
yeah,
so
summarizing
we
are
now,
let's
say
in
the
middle
of
having
a
fully-featured
environment
or
editor
right,
like
the
one
we
have
for
person
1
now
for
person
2,
and
aside
from
that,
we
had
a
lot
of
fixes
for
for
version
2
as
well.
A
Nothing
major
just
most
most
of
them
just
changes
in
the
documentation
in
the
markdown
documentation
and
changes
in
the
in
the
json
schema
definition
of
facing
API.
So
nothing
really
major
and
it's
progressing
well
and
you
Michael.
You
know
that
what's
music,
because
you're
working
on
something
I'm
fixing
the
market
down
documentation
for
the
spec
and
you
can
you
can,
if
you
want,
you
can
share
this.
C
Okay,
well
I
was
tackling
a
couple
of
issues
like
small
issues
that
were
put
on
github,
but
that's
sort
of
making
me
take
into
understanding
the
spec
and
so
like.
For
example,
one
of
the
issues
mentioned
that
you
know
the
operations
object,
isn't
really
well
documented
and
I
started
to
look
at
that,
and
then
you
know
I'm
starting
to
come
up
with
some
questions.
So
that's
actually
something
I
was
going
to
ask
before
I
have
more
documentation.
C
I
need
to
understand
this
talk
better
and
if
I
have
a
bunch
of
questions,
what's
the
best
place
to
ask
them
like
on
slack
or
should
I
attach
them
to
the
relevant
issues
in
github
or
whatever
I
mean
some
of
these
are
kind
of
small
questions.
That
probably
don't
need
a
permanent
record.
You
know
of
the
question
being
asked,
but
maybe
other
ones
would
be
helpful
to
keep
around
I
don't
know.
C
D
So
I
think
I
think
that's
a
good
example
of
a
question.
I've
already
taught
to
talk
to
frame
about
which
okay,
so
now
there's
two
of
us
asking
the
same
question,
which
probably
means
we
needed
the
answer
up
to
the
question
right,
so
so
good,
good
catch,
but
yeah
GT
through
your
question.
It's
a
channel
I
think
with
a
with
the
parameter
concept.
You're
eight,
so
you've
got
to
kind
of
put
the
put
the
two
together,
so
you
can
kind
of
have
a
regular.
You
know
runtime,
regular
expression,
substitution
for
to
your
point.
D
A
So,
regarding
what
you
said,
Michael
and-
and
it's
really
related
to
what
you
Nathan-
was
saying-
a
conversation
that
we
had
to
answer.
Simply
a
topic
is
a
channel
and
a
queue
is
a
channel.
Both
are
channels.
So
a
channel
is
just
where
the,
where
you
send
information
to
communicate
to
the
other
side
right.
That
can
be
confusion,
sometimes
in
case
you
have
both
in.
If
you
have
a
channel
sorry,
if
you
have
a
queue
and
the
topic
like
in
wrapping
Q,
for
instance,
you
can
have
both
right.
A
It
can
be
a
little
bit
confusing.
That's
why
we
introduced
is
this
protocol
info
objects
which
are
for
prefer
the
protocol
specific
definitions
right.
So
in
this
case
you
could
have
two
channel
I'm
just
inventing
one
of
the
solutions.
It's
the
channel
could
be
the
topic,
and
then
you
have
a
protocol
info
object,
described
in
that
to
reach
that
topic.
A
Useful
connect
to
this
cue
with
a
cue
with
this
name
or
a
cue
or
a
cue
with
this
name
pattern,
or
you
know
something
like
this,
but
some
people
will
not
need,
or
sometimes
you
don't
need
a
topic
like
you
only
connect
to
cues
and
let's
say
from
since
you
have
the
worker
pattern.
If
you
have
the
worker
partner
other
either
knit
topics
so
just
publish
in
the
queue
and
get
other
consumers
to
subscribe
to.
Thank
you
right
in
this
case
a
channel
can
be.
A
There's
plenty
of
time
before
we
launch
it,
but
I
think
we
should
play
more
with
there
and
test
how
it
fits.
But
my
guess
is
that
most
of
these
definitions
or
specific
things
about
how
you
want
to
make
it
work
are
going
to
be
put
in
protocol
info
objects,
because,
if
you
think
about
it,
we
cannot
provide
probably
a
muslim.
C
C
So
I
mean
like,
like
I,
remember,
hearing
that
it's
all
this
we
have
you
know
clients
who
were
a
client
who
you
know
getting
back
to
the
stock
market
example.
You
know
when
they
were
generating
thicker
prices,
they'll
publish
to
topics,
but
then
they'll
split
those
topics
into
several
Q's.
You
know
it's
like
all
the
stocks,
starting
with
a
all
the
stocks,
starting
with
B
and
so
on.
C
There's
a
kind
of
a
way
to
you
know
to
to
like
shock
absorption
on
the
part
of
the
subscribers,
so
that
they,
you
know,
can
keep
up
and
a
way
of
handling
very
large
volumes.
So
it
would
be
kind
of
tricky
to
represent
that
because,
on
the
one
hand
we
say
well,
a
channel
is
the
topics
where
you're
publishing
too,
but
on
the
other
hand
we
end
up
with
you
know,
30
different
cues
that
are
is
being
subscribed
to,
and-
and
so
you
say-
well
there's
you
know
31
channels,
or
how
do
you
represent
that?
C
A
A
The
spec
allows
allows
you
to
inject
extensions.
That's
the
only
thing.
What's
inside
these
extensions,
it's
not
part
of
the
spec,
so
probably,
and
one
of
the
things
that
I
that
I
use
for
my
examples
and
an
example
so
that
you
can
find
on
the
Reaper
it's
it's.
Actually,
there
was
an
object,
I
think
it's.
It
was
for
AMQP.
A
There
was
a
protocol
info
extension,
which
was
franca,
P
and
n.
It
had
a
field
goal,
is,
is
Q
true
right
like
and
you
add
it
to
the
to
the
channel
object
like
okay.
This
is
a
channel
right,
but
then
we
added
that
for
aim
to
P.
We
want
to
understand
that
this.
This
is
a
Q.
This
is
not
a
topic
right
or
I.
Don't
know
it's
it's
a
a
topic,
true
or
false.
Whatever
I
think
this
is
the
way
we
should
go
so
we
can.
A
We
can
have
this
information
there
and
we
can
represent
complex
setups
and
for
and
for
different
protocols
and
products
without
compromising
to
match
the
specification.
That's
that's.
Why
that's
why
I'm
worried
about
many
times?
People
tell
me
a
why
don't
you?
Why
don't
you
a
support
for
this
in
the
spec,
and
it's
like
wait?
If
we
do
that?
A
What
about
these
other
protocols
right
or
other
products,
it
doesn't
make
sense
and
that's
why
I
wanted
to
separate
to
to
the
protocol
extensions
protocol
in
for
extensions,
so
but
yeah
I
think
that
the
best
way
will
probably
be
to
create
an
example
sufficiently
complex
example
and
then
try
to
generate
code
from
there
and
see
how
it
works
like
it's
and
see
where
we
loosen
something
right
and
where
we're
gaining
something
right
over,
but
yeah.
Most
probably
I
think
that
this.
A
This
is
the
way
the
way
to
go
so
something
that
I've
been
thinking
lately,
and
this
is
not
decided
yet,
but
just
changing
subject
a
little
bit
more
or
less
is
that
I'll,
probably
or
we
should
probably
defer
the
announcement.
The
announcement
of
that
deal,
the
announcement
of
version
2
or
the
release
of
version
2,
not
the
announcement,
but
the
release
right
of
the
different
deformation
to
September's.
A
A
Gonna
be
out
as
well
as
the
latest
stable
version.
I
mean,
aside
from
you,
know,
to
point
something
right
but
made
your
version
I,
think
it's
gonna
be
out
for
many
years
and
I
think
it's
gonna
be
the
latest
version
major
version,
so
we
should
make
sure
that
it
covers
all
these
cases
or
at
least
gives
you
an
option.
Even
if
it's
not
the
most
beautiful
thing
at
least
gives
you
an
option
through
extensions
to
do
these
or
bad
right
or
if
something
is
reasoning,
is
something
that
it's
not
breaking
change,
so
we
can.
A
We
can
be
sure
that
we're
not
ruining
user
experience
launch
in
version
3.
After
after
2
months,
we
launched
first
into
it
right
so
yeah.
That's
why
I
was
thinking
on
different
the
the
announcement
of
person.
It
doesn't
mean
we
will
not
announce
it
by
the
way
anything.
It
doesn't
mean
that
we
will
not
announce
announce
it
on
garner
a
a
bi
event
in
London.
We're
gonna,
announce
it,
but
we're
gonna
announce
that
this
is
a
release
candidate.
We
have
a
release
candidate
and
as
such,
it's
not
but
but.
D
Yeah
I
think:
what
do
you
think
about
it?
Yeah
I'm
good
with
that
and
yeah
I
think
saying
it's
a
release:
candidates!
Fine!
They
keep
the
trick,
as
you
know,
is
getting
the
word
out
so
that
people
actually
test
it
use
it
as
or
at
least
candidate,
and
then
not
being
sort
of
stuck
in
concrete
that
we
released
to
dotto
and
we
don't
want
to
make
large
changes
right.
D
A
I
think
it's
just
that
I
mean
the
idea
of
launching
it
or
releasing
or
announcing
during
during
the
gardener
event
is,
was
mostly
because
of
getting
the
award
outright.
Not
so
much
about
technical
reason,
right,
cool
I'm,
happy
to
hear
that
you
agree
with
that,
so
I'm
not
hearing
from
Andrew
you
first
time
you
may
want
to
say
something
introduce
yourself.
A
E
A
A
Ok,
no
problem
that
work
so
yeah,
following
with
the
last
meeting
in,
is
there
something
that
you
would
like
to
better
understand
something
that
you
think
we
can
improve
on
the
process
masa.
It's
mostly
on
the
process
like
the
current
documentation
or
how
to
improve
documentation,
how
to
help
how
to
contribute.
I
mean
I'm,
happy
to
hear
questions
and
answer
as
possible.
C
It
might
be
helpful
to
know
who's
working
on
what
maybe
there's
already
a
place
for
that
that
I
haven't
discovered
yet,
but
when
I
started
playing
with
the
cogeneration
stuff,
I
had
heard
from
a
colleague
that
Jonathan,
you
had
also
done
some
stuff
with
cogeneration
and
did
another
little
project
off
on
the
side
with
it.
So
you
know
I
don't
want
to
be
duplicating
effort
there.
C
A
A
But
this
is,
you
know
it's
it's
been
happening
lately
that,
since
know
many
people
was
actually
actually
using
it.
I
stopped
using
it
myself
as
well
and
honestly
I,
don't
know
how
it
is
probably,
which
would
be
more
instructor
in
that
starting
from
me,
right,
like
I,
should
be
always
communicating
there
in
the
issues
these
are
actually
like.
E
A
Github
and
yeah
most
of
the
times
I'd
try
to
when
I
go
when
I
go
there
I
try
to
leave
a
comment
in
issue,
saying:
hey,
I'm,
picking
this
one
or
assignment
but
I
understand
it.
Some
sometimes
people
just
join
the
project
or
is
the
first
contribution,
so
they
are
not.
They
cannot
access
to
Sangha
and
they
cannot
assign
issues
to
themselves
because
they
are
not
part
of
the
organization's.
Just
sometimes
just
live
in.
A
small
comment
on
the
issue
so
be
is
sufficient.
A
A
No
dummy
so
yeah
again
for
those
who
didn't
know,
Jonathan
and
I
will
be
speaking
at
in
London.
The
20th
Maine
made
acquaintance
right
if
I'm
not
mistaken.