►
From YouTube: [User Call] Kong Gateway 2.4
Description
#KongGateway (OSS) has launched 2.4 with a number of awesome new features and fixes. In this session, join the Core Engineering team as we walk through the release highlights including:
- Developing plugins with Javascript
- Formatting logs and dynamically modify fields with Lua code
- Gateway Hybrid mode and compatibility checks
- And more
Kong’s User Calls are a place to learn about technologies within the #Kong #opensource ecosystem. This interactive forum will give you the chance to ask our engineers questions and get ramped up on information relevant to your Kong journey.
A
All
right,
let's
go
ahead
and
get
started
thanks
again,
everyone
who
is
joining
us
today,
I'm
caitlin
barnard.
I
lead
our
developer
in
community
marketing
here
at
kong.
So
I'd
like
to
welcome
you
all
to
today's
online
meetup
we're
going
to
be
talking
about
the
re.
The
recent
khan
gateway
2.4
release.
So
for
those
of
you
who
are
new
here,
we
take
the
first
part
of
the
meeting
for
a
short
presentation
and
demo
of
the
latest
features
in
the
release.
A
Then
we're
going
to
open
it
up
to
q,
a
discussion
at
the
end,
so
you're
able
to
unmute
turn
on
your
video,
but
you
can
also
feel
free
to
drop
questions
in
the
chat
tab
at
the
bottom
of
your
screen,
we'll
be
looking
at
that
throughout
the
online
meetup,
so
we'll
make
sure
to
get
to
those
as
well.
So
with
that
I'll
hand
it
over
to
you
paul
to
kick
us
off.
B
Thanks
so
much
jane,
can
you
hear
me?
Okay,
okay,
yep,
hello,
hello.
Everyone
thanks
for
taking
time
out
of
your
schedule
to
join
us.
B
Today,
we'll
be
taking
a
closer
look
at
the
2-4
version
of
our
open
source
gateway
in
this
session,
we'll
help
you
to
visualize
an
experience
via
a
couple
demos,
the
new
features
we
have
as
a
part
of
this
release,
it'll
be
rather
high
level
in
nature.
So,
if
you'd
like
more
technical
definitions
on
what's
presented
today,
I
definitely
want
to
encourage
you
to
go
and
read
on
our
documentation,
links
provided
at
the
end
of
the
presentation
and
certainly
don't
hesitate
to
reach
out
to
us
on
cognation
forum.
B
B
Now
that
you're
all
here
to
build
video
games
in
kong.
We're
really
here
to
talk
about
plugins
in
2,
4
of
the
gateway
we
introduced
our
first
release
of
the
javascript
pdk
or
plugin
development
kit,
and
this
enables
developers
with
a
powerful
new
super
power.
This
ability
to
build
plugins
using
javascript,
the
gateway
supports,
support
for
javascript
is
provided
by
our
kongjs
pdk,
which
can
be
found
here
in
the
github
link
that
I
have
on
the
slide.
B
C
C
I
have
the
image
built
already,
so
I
also
have
a
demo
script,
which
uses
that
docker
image
to
run
the
to
run
with
with
the
plugin.
That
plugin
is
really
simply
just
sets
up
a
header
in
the
in
the
response
saying
hello
from
java
from
javascript.
C
So
with
that
now,
let's
run
on
and
and
see
it
running.
So
I,
as
you,
can
see
I'm
using
a
declarative
configuration
file
which
essentially
just
has
a
a
route,
a
service
and
a
route
and
enables
the
javascript
plugin
and
exposing
part
8000
the
prop
support.
So
let's
give
that
a
try.
C
C
C
And
try
the
proxy
part
request
again,
as
you
can
see
it's
now
in
lower
case,
in
terms
of
configuration,
the
configuration
looks
like
this.
C
We
are
passing
a
few
different
parameters
essentially
telling
kong,
where
to
to
place
the
plug-in
service
sockets
through
which
con
communicates
with
the
plugin
server
and
the
commands
to
start
the
plugin
server
and
and
to
create
information
about
about
the
plugins.
B
Yeah
so
definitely
look
forward
to
more
examples
which
we'll
be
posting
to
the
repository
as
well
and
in
the
documentation.
B
Next,
I'd
like
to
head
over
to
hybrid
mode
deployment,
so
since
the
gateway
version
200
the
hybrid
mode,
which
we
call
control,
plane,
data
plane,
separation
is
really
becoming
our
north
star
deployment,
architecture
for
the
open
source
gateway
and
in
this
mode
pong
nodes
in
a
cluster
are
separated
into,
or
you
know,
have
two
roles.
One
is
called
the
control
plane
where
the
configuration
is
managed
and
the
admin
api
is
served
from
and
the
other
one
is
the
data
plane
which
serves
traffic
for
the
proxy
in
this
mode.
B
The
data
plane
does
not
connect
to
a
database.
Instead,
the
configuration
is
managed
and
pushed
by
the
control
plane
as
necessary,
and
this
feature
has
all
the
benefits
you
see
here
on
the
slide
and
really
significantly
improves
the
security
and
performance
of
long
large
clusters,
while
reducing
your
operational
costs
and
overhead
for
administrators.
B
B
If
the
compatibility
checks
fail,
the
control
plane
stops
pushing
out
new
configs
to
the
incompatible
data
plane
in
order
to
avoid
sort
of
breaking
them
with
our
release
of
the
gateway
2-4.
We
further
relaxed
some
of
these
compatibility
checking
to
make
it
easier
for
administrators
to
test
and
up
upgrade
the
cluster.
You
know
on
a
schedule
that
they
see
more
fit.
B
You
can
imagine
if
a
user
goes
in
and
configures
a
plug-in
on
the
cp,
but
the
plug-in
is
you
know
missing
or
not
there.
On
the
dp
due
to
an
earlier
version
operator,
the
operator
should
be
informed
of
this
kind
of
incompatibility
state
and
we're
putting
a
lot
of
effort
here
into
that
we
have
our
compatibility
checks
written
up
in
the
documentation.
So
I'd
like
to
encourage
you
to
check
there
for
more
details
on
how
we
think
about
compatibility,
checking
and
in
the
coming
releases.
B
I
think
you
can
expect
will
address
areas
to
make
the
user
experience
even
better
in
this
particular
mode,
such
as
cutting
down
the
amount
of
configuration
needed
for
setting
up
the
dp
better
metrics
for
exposing
these
incompatibility
states
for
the
system
administrator.
So
they
can
action
on
those
really
easily
and
just
enhance
error
messaging
to
make
sure
that
you
get
address
through
issues
really
quickly
as
the
smoke
continues
to
evolve.
You
know
we'd
love,
to
hear
your
thoughts
and
feedbacks
and
making
sure
hybrid
mode
works
for
you
and
your
organization,
so.
B
B
So,
with
our
version
2
4,
we
introduce
the
powerful
new
capability
which
helps
developers
transform
gateway
logs
into
any
format,
that's
needed,
so
whether
you're
capturing
indexing
or
correlating
logs
for
your
for
use
in
your
organization's,
you
know
downstream
systems.
Take
elasticsearch,
for
example,
you
as
a
developer,
can
now
format
logs
easily
using
lua
code,
which
we'll
show
this
means
you
can
create
new
fields,
remove
fields,
generate
dynamic
field
values
or
rearrange
logs
entirely
to
a
specific
format
that
works
for
you
really.
B
In
this
example
I
have
here,
we
are
using
this
new
configuration
called
custom
fields
by
lua
and
we're
targeting
the
the
route
node
and
we're
making
it
return
blank.
This
is
just
one
example
that
we
have
here
and
it's
supported
by
the
following
plugins
that
I
have
listed.
B
C
Okay,
everyone
for
this
demo.
We
have
a
similar
structure
as
a
previous
one.
We
have
a
docker
file
that
basically
essentially
in
this
case,
it
just
creates
a
new
directory
where,
where
the
logs
that
we
create
are
going
to
be
in
the
images
already
built-
and
we
have
three
configurations-
one
of
them
is
for
enabling
the
file
log
plugin
in
the
traditional
way,
without
doing
any
modifications,
and
that's
the
first
one
that
we
are
going
to
run,
let's
go
ahead
and
run
it.
C
C
Let's
go
ahead
and
create
a
new
thing
here
and
once
we
issue
a
request,
it's
gonna
be
logged
in
the
wirelog
proxy.log
file
and
we
can
see
the
results
of
that.
C
Can?
Okay?
Oh,
I
didn't
run
the
okay,
it's
funny
now.
That's
your
issue,
request
and
run
that
again.
As
you
can
see,
there
is
a
service
field,
requests,
latencies
and
route
fields
among
others,
and
what
this
feature
allows
you
to
do
is
to
either
remove
some
of
those
fields
or
modify
the
contents
or
add
new
fields.
C
C
And
now,
let's
try
to
find
the
that
field,
those
two
fields,
so,
as
you
can
see,
there
are
no.
C
C
C
C
C
D
C
The
same
request
and
look
for
the
okay
okay,
so,
as
you
saw
here,
it
says
that
the
cong
meta
module
is
not
allowed
in
the
sandbox,
and
the
reason
for
this
is
because
the
the
this
feature
runs
in
a
in
a
sandbox
in
a
sandbox
environment
in
kong.
So
you
have
to
ensure
that
you
pass
a
specific
configuration
to
allow
the
the
the
require
of
of
specific
modules
and
that's
what
this
environment
variable
here.
C
Does
it
allows
the
congmet
module
to
be
required
run
that,
with
with
that
new
configuration,
you
will
see
the
outputs,
so
you
can
see
on
the
right
side.
That's
the
conversion
was
logged,
so
that's
it
for
this
demo.
Back
to
you.
B
B
A
Awesome
yeah
thanks
for
the
great
presentation
and
demo,
so
we'll
hang
out
here
for
a
little
bit
longer.
If
anyone
wants
to
ask
any
questions,
you
are
welcome
to
unmute
yourself.
If
you
want
to
ask
otherwise,
please
feel
free
to
drop
them
in
the
chat
below.
I
will
also
take
a
few
minutes
now
to
drop
all
of
these
different
links
in
the
chat
as.
A
B
The
one
line
would
you
be
available
to
answer
that
one.
E
Yeah,
I
I
don't
know
on
the
chat,
but
in
the
the
short
answer
is
that
these
are
external
plugins,
just
like
the
the
go
gold
ones,
there's
a
significant
overhead
because
of
communication
between
the
plugin
and
kong
itself,
but
they
perform
pretty
well
it's
just
not
as
fast
as
lua
always
lua
is
running
in
process
where
all
the
other
languages
are
out
of
process.
It's
amazing,
that's
what
I
was
thinking
appreciate
the
feedback.
Thank
you.
A
And
then
a
question
from
sean
in
here
about
if
we
have
any
other
pdk
languages
in
the
pipeline,
javier
just
mentioned
this,
but
I
did
just
want
to
add
for
any
new
folks
on.
We
do
also
have
a
go
pbk
in
addition
to
javascript
but
yeah,
I
don't
know
any
other
ones
in
the
pipeline
right
now,.
B
Yeah
we
we
have
an
early
look
at
our
python.
Pdk
is
the
next
one
kind
of
on
the.
B
A
A
And
one
more
question
from
tyler:
will
kong
continue
to
use
lua
to
develop
their
custom
plugins.
D
I
I
can
answer
that
one
sorry,
my
computer
just
crashed
so
yeah
like
officially
we
we
will
continue
like
our
mostly
development
works.
We
are
based
on
lua
and
regarding
just
last
quarter.
The
performance
price
is
definitely
gonna
slower
than
lua,
because
it's
external
plugin,
but
it's
like
we
will
try
to
guess
that
all
optimized
like
on
the
later
version
but
like
it's
gonna,
be
hard
to
remain
the
same
performance
as
lua
since
senseless,
like
our
native
scripting
language,.
A
A
Answer
all
right
looks
like
that
is
all
we
have.
I
dropped
all
of
the
links
in
the
chat.
The
recording
for
this
will
also
be
available
on
youtube
by
the
end
of
the
day
today,
so
you
can
catch
all
of
this
later
on
as
well.