►
From YouTube: KubeCon US 2020: Daily Demo featuring WebAssembly
Description
Shane O'Donnell and Yuval Kohavi demo WebAssembly Hub and wasme CLI for building, sharing and deploying wasm modules for Envoy Proxy, Istio, and Gloo API Infrastructure solutions
Learn more --
WebAssembly https://github.com/solo-io/wasm
Solo.io at KubeCon https://lp.solo.io/kubecon-na-2020-virtual
Questions? https://slack.solo.io
A
We
script
our
the
assembly
script-
sdk
was
actually
written
by
eval
here,
and
it
supports
all
of
these
platforms,
which
is
why
they
all
come
up
in
one
line.
This
has
been
growing
over
time,
so
we
might
have
to
think
a
little
bit
more
about
how
we
display
this
if
it
keeps
growing
going
forward,
but
anyway,
we're
gonna
pick
this
and.
A
So
you
can
see
this
is
this
is
kind
of
like
your
react,
create
app
or
ng
new
if
you're
familiar
with
those
kind
of
tools,
we've
just
bootstrapped
a
new
project
for
you
and
this
project
represents
a
filter.
So
you've
got
all
your
dependencies.
You
got
like
your
basic
git.
Ignore
you've
got
all
the
things
that
you
need
to
to
build
and
deploy
this
fellow
right
here
out
of
the
box.
We're
just
gonna,
give
you
this
example:
scaffolding.
A
So
these
these
are
all
life
cycle
hooks
in
the
envoy,
filter
lifecycle
that
you
could
hook
into
so
on
configuration,
for
example,
this
block
is
going
to
run,
and
then
we
have
an
example
thing
here
on
for
on
response
headers.
So
in
the
response
we're
going
to
check
the
configuration
and
then,
as
you
can
see
here,
if
it's
not
there,
we're
just
going
to
return
a
static
response,
so
we're
going
to
say
hello,
kubecon,
2020.
A
and
I'm
just
going
to
I'm
not
going
to
make
any
more
changes
for
now,
just
to
kind
of
show
this.
But
now
that
we've
we've
built
it
all
right
now
that
we've
made
the
changes
we
want
we're
going
to
build
it
and
you'll
see.
This
is
kind
of
like
a
docker
build
type
syntax
where
we're
building
it
and
we're
giving
it
a
tag
and
we're
going
to
be
pushing
this
in
a
second
up
to
web
assembly
hub
which
I'll
talk
about
in
a
sec.
So
let's
just
kick
this
bolt
off
so
under
the
hood.
A
This
is
running
the
assembly.
Script
build
and
packaging
it
up
into
a
like
filter.wasm
file
and
then
we're
wrapping
that
in
an
oci
image,
similar
to
what
docker
uses
for
its
layers
of
its
containers-
and
you
can
see
here-
we've
we've
packaged
it,
and
this
is
the
image
name
here
and
then
we're
going
to
just
do
a
quick
list.
So
you
can
see
all
the
images
I've
got
installed
here
locally.
A
This
is
the
one
we
just
built
and
then
we're
going
to
push
this
up
to
webassembly
hub,
so
web
assembly
hub
is
basically
going
to
be
like
your
docker
hub.
It's
it's
going
to
contain
all
these.
These
images
that
folks
have
pushed
up.
So
you
know,
maybe
you
don't
even
have
to
write
your
own
image.
Someone
else
might
have
already
created
a
filter.
That
does
exactly
the
kind
of
thing
you
want
to
do.
You
can
check
it
out.
A
It's
it's
free
free
to
use,
so
you
can
go
search
filters,
search
by
categories
and
see
if,
if
exactly
what
you're
looking
for
has
already
been
built,
if
not
you're
building
it
yourself,
we
have
let's
just
deploy
this
filter
to
envoy.
So
this
was
me.
Deploy
envoy
is
going
to
spin
up
a
local
envoy
instance
with
the
filter
that
we
just
built
deployed
to
it,
and
let
me
just
start
a
new
terminal
here
and
I
should
be
able
to
curl.
A
A
We've
pushed
it
up
to
a
webassembly
hub
where
it
can
be
used
by
any
other
project
or
any
cluster
that
you
have,
and
then
we've
deployed
it
to
an
envoy
instance
and
seen
that
it's
working
now
for
reference,
if
you're
just
trying
to
build
your
own
filter
and
envoy
just
the
build
alone,
let
alone
the
actual
writing
code,
part
that
could
take
upwards
of
20
minutes
on
modern
hardware.
So
this
is
just
much
much
quicker
iteration
and
it's
a
lot
easier
to
deploy.
B
A
A
Yeah,
no,
that's
a
great
question.
So
if
I
go
back
to
the
the
build
here,
you
can
see,
we
have
a
runtime
config
json.
This
is
built
as
part
of
our
path
and
part
of
the
spec
that
we've
written
the
oci
wasm
spec
is
that
we
always
have
this
runtime
config
json
to
hold
this
kind
of
metadata
about
our
filter,
and
you
can
see
these
are
all
the
api
versions
that
we
support.
Some
of
them
are
just
git
commit
hashes
from
the
earlier
days
like.
A
I
said
this
particular
api
that
we
targeted
and
supports
all
these
different
versions
going
forward,
they'll,
look
more
like
semver
like
o21022030,
etc,
but
as
long
as
your
filter
will,
that
is
targeting
the
platform
that
you
want
to
deploy
to
that's,
okay,
if
you're
maintaining
this
going
forward,
you
obviously
don't
want
to
completely
rewrite
your
filter.
A
Every
time
you
can
add
the
new
api
version
in
here
and
as
long
as
you
change
the
actual
filter
to
take
into
account
any
like
if
there's
method,
signature
changes
or
if
there's
new
methods
that
you
need
to
implement.
As
long
as
you
do
all
that,
then
you
can
just
let
it
know
and
and
deploy
straight
to
either
sgo
or
glue.
C
A
So
yeah,
that's
that
that's
pretty
much
my
demo
short
and
sweet,
but
evol
did
you
have
anything
else.
You
wanted
to
add
or
show.
B
I
think
it
was
great
yeah
I'll
mention
that
webassembly
habao,
you
know
it's
live.
You
can
go
and
check
it
out
and
similar
to
webassembly
habeo
we're
working
on
tooling
to
let
you
push
it
to
your
internal
private,
docker
repositories.
C
A
Yeah,
it's
run
as
a
http
filter
within
envoy.
B
So
it's
not
packaged
as
a
docker
container,
but
rather
is
an
oci
image
and
it's
slightly
different.
It's
a
similar
distribution
mechanism
and
docker
registries
can
often
store
general
oci
images,
but
it's
not
like
a
docker
image
with
files
entire
files.
Basically,
our
layer
contains
a
binary
and
the
the
random
configuration
that
chen
just.
C
Saw
and
about
you
know,
this
kind
of
filter
could
be
done
in
a
gateway.
When
would
you
choose
to
do
it
in
android
instead
of
indicator.
A
Sure
so,
in
our
instance,
for
glue,
for
example,
glue
is,
is
going
to
be
the
gateway.
So
glue
has
a
extension
called
envoy
glue,
which
is
like
a
fork
of
glue
that
we
maintain
and
the
gateway
proxy
that
comes
in
blue
is
actually
running
onboard
itself
as
the
gateway.
So
you
can
deploy
the
when
you
do
a
wasm
you
deploy
glue,
you
are
actually
deploying
it
to
your
gateway,
so
you
can
have
these
as
filters
on
on
inbound
traffic.
A
Great
yeah
and
we'd
love
to
hear
feedback.
When
you
do,
if
you,
you
know,
have
any
questions
or
are
looking
at
anything.
You
know,
please
let
us
know
we're
always
available
on
our
slack
as
well
and
a
lot
of
folks
in
there.
A
A
It
is
a
hashtag
wasm
inside
of
our
solo,
I
o
slack,
and
we
got
a
pretty
active
community
in
there.
Actually,
a
lot
of
folks
asking
questions
and
helping
each
other
out.
You
know.
Obviously,
a
lot
of
this
webassembly
stuff
is
very
new
to
almost
everyone.
So
it's
it's
great
to
see
the
community
all
kind
of
working
together
to
solve
a
lot
of
common
use.
C
C
A
Yeah
on
the
side
you're
talking
about
here
somewhere.
A
So
these
are
these:
these
are
just
curated
by
the
actual
owners
themselves.
So
if
I
go
to.
A
A
lot
of
people
haven't
haven't
been,
you
know
using
the
the
labeling
and
tagging
as
explicitly
just
yet.
So
there's
a
lot
of
filters
on
here
that
just
folks
haven't
come
on
to
webassembly
hub
and
just
done
this
kind
of
like
labeling
and
tagging.
Similarly,
like
you
know,
you
can
see
here
by
default,
you
have
to
come
in
and
add
an
overview.
A
D
A
C
A
That's
a
great
question,
and
not
yet
we
don't
have
a
curated
list
and
I'd
say
the
primary
reason
is
as
you've
all
mentioned
like
until
very
recently.
This
was
the
the
functionality
that
enabled
webassembly
inside
of
our
webassembly
filters
inside
of
envoy
specifically
was
actually
running
on
a
fork
that
was
largely
maintained
by
folks
from
google,
so
it
wasn't
maintained
in
the
upstream
or
merged
into
the
upstream
main
master
branch
of
envoy
until
pretty
recently
like
a
few
weeks
ago.
A
So
the
the
api
was
pretty
unstable
and
you
know
you
get
to
the
point
where,
if
you
deployed
a
filter,
maybe
a
few
weeks
later,
that
filter
didn't
work
in
the
latest
version.
So
since
it's
in
master
upstream
now,
we
do
expect
it
to
be
a
bit
more
stable
and
folks
to
start
using
this
a
bit
more
seriously.
But
you
know
it's
still
very
very
early
stages,
but
we're
pretty
excited
about
the
possibilities
here.
C
A
Absolutely
in
our
docs
here
it'll
pretty
much
walk
you
through
sorry
about
the
resolution,
but
you'll
you'll
get
the
installation
guide
for
installing
our
wazmy
tool,
which
I
just
used
in
this
demo,
then
there's
tutorials
for
for
getting
started.
You've
got
stuff
for
building
deploying
and
pushing
and
pulling
up
and
down
from
webassemblyhub.io
there's
also
reference
guides,
and
these
are
these
are
all
auto-generated,
so
you
know
they're
they're
accurate
and
for
all
the
commands
that
you
can
do
with
with
wozny.
C
A
All
right
cool,
I
don't
think
I've
got
anything
else
as
part
of
this
demo.
You've
all
everybody
got
anything
else
to
add.
D
You
know,
I'm
just
gonna,
add
the
link
to
the
repo
in
in
the
chat,
so
folks
have
it
we
recorded
this.
I
got
the
recording
going
a
little
bit
late,
but
I
did
record
it
so
I'll
post
this
back
up
in
case
anybody
wants
to
re-watch
anything
yeah.
This
is
this
is
just
kind
of
like
actively
in
progress,
and
we
expect
we
expect
this
to
land
officially
and
envoy,
maybe
in
the
next
release,
or
so
so
expect
to
see
more
activity
here.