►
From YouTube: Keptn and k6 integration WG meeting - June 16, 2021
A
Okay,
welcome
to
the
k-6
weekly
meeting.
We've
got
jaina
and
pepe
here
from
k6
and
myself
from
the
captain
side,
so
I
think
jen
and
I'm
you're
gonna
demo
progress
so
far
so
over
to
you.
B
Yeah,
hey
so
yeah,
I
will
just
quickly
show
how
basically
we
are
able
to
run
k6
performance
testing
using
the
job
executor
service
of
captain.
So
basically,
basically
I
have
created
a
basically.
I
have
created
two
different
two
different
services
of
captain
and
one
is
for
a
passing
threshold,
for
which
I
have
kept
a
p95
request,
duration
to
be
less
than
equal
to
to
be
less
than
500
milliseconds.
B
So
what
will
happen
on
triggering
on
triggering
the
event
of
whenever
this
event
of
remote
passing
trust
is
triggered,
so
the
job
executor
service
will
be
subscribed
to
this
event
and
it
will
catch
that
event
and
run
the
run.
The
task
run
this
service
and
the
same
goes
for
the
k6
failing
task
so
over
here
I
have
just
limited
this
p95
duration
to
one.
B
So
we
can
mimic
the
behavior
of
what
will
happen
when
this
threshold
is
failed
and
how
will
how
how
the
user,
how
the
user
can
see
the
output
so
yeah?
I
will
quickly
go
over
to
this
staging
and
try
to
try
to
run
first
the
failed
one
over
here
so
yeah,
basically
on
for
giving
the
services
and
the
stage
sequence,
we
can
trigger
the
service
yeah.
B
Of
the
job
executor
service,
then
over
here
we
can
see
that
this
remote
failing
task
has
been
triggered
and
it
has
been
cached
by
the
job
executor
service
and
it
is
trying
to
run
k6
right
now
with
captain
so
yeah.
B
Oh
yeah,
okay
yeah,
so
basically
we
have
the
logs
of
k6
over
here.
So
basically,
k6
has
run
the
performance
test
on
this
on
the
base
using
this
javascript
file,
which
we
mentioned
and
over
here,
this
request.
Duration
has
been
failed.
So
that's
why
the
whole
service
has
failed
and
the
response
that
job
executor
will
give
back
to
the
captain
will
be
of
the
failed
state
and
the
same
way
it
goes
for
the
captain
for
the
k6
pass
service.
B
So
if
we
take
a
look
at
that
again
so
yeah,
I
will
trigger
the
sequence
of
k6
pass
and
yeah
so
over.
Here
we
are
so
over.
Here
we
have
got
the
got.
The
task
got
the
event
record
of
remote
passing
task,
so
job
executor
will
start
running
the
executing
the
k6
files.
A
So
while
we
wait
for
that
a
bit
of
troubleshooting,
if
anyone
ever
sees
that
spinner
but
doesn't
get
a
started
event,
what
it
basically
means
is
captain
has
distributed
the
triggered
event,
but
there
is
no
service
listening
for
that
event
to
actually
action
the
event.
It's
called
me
out
a
few
times.
B
Yeah
yeah,
okay,
so
basically
this
has
been
passed
because
both
the
thresholds
of
the
of
k6
have
been
passed.
So
this
p95
is
100.9
109
milliseconds,
so
it's
less
than
500.
So
that's
why
it
exited
with
a
zero
zero
code.
So
that's
why
it's
in
green
state,
so
basically
after
the
the
so
the
pipeline
can
move
to
the
next
stages.
B
C
Job
china,
I
have,
I
have
some
questions
jaina
from
the
user
perspective.
I
don't
know
all
about
cap
time,
but
what
do
I
need
to
do?
For
I
see
that
you
have
set
up
the
kasich
script.
There
is
some
yarn
file
or
docket
file
for
running
the
docker
image.
B
Yeah,
so
basically,
what
the
user
needs
to
do
is
that
user
can
provide
a
docker
image
corresponding
to
this.
So
we
are
using
this
load
impact
k6
image,
which
is
probably
the
official
image
of
doc
official
docker
image
of
k68
and
after
that
user
just
have
to
use
this
command
and
pass
in
the
arguments
and
put
the
files
in
the
designated
location
that
user
has
given
for
the
service
and
yeah
user
can
basically
run
the
performance
testing.
C
B
This
one
yeah
that
metadata
is
just
the
metadata
that
the
captain
has
created
so
whenever
we
will
add
a
service
or
create
a
stage
in
the
creator
stage
in
the
project.
At
that
time,
this
metadata
will
be
added
by
captain
yeah.
B
B
B
A
For
anyone
else
watching
after
this,
the
only
thing
to
note
here
is
on
line.
9
you've
got
files,
k6
pass
files,
that's
the
path
in
the
upstream
git
repo.
When
what
happens,
the
job
executor
creates
a
job,
creates
the
container
and
it
copies
those
files
into
the
container,
but
it
puts
them
under
the
captain
folder.
So
whatever
you've
got
online
nine
needs
the
slash
captain,
slash
blah.
B
C
B
Okay,
so
probably
basically,
captur
k6
has
this
command
right,
where
we
can
provide
a
folder
location
and
based
on
that
it
will
run
each
and
every
test
file
in
that
folder
location
right.
C
B
Yeah,
you
can
do
that
also
or
so.
Basically
is
there
a?
Is
there
a
functionality
of
running
k6
inside
a
folder?
If
I
pass
just
this
and
okay,
so
it
will
not
yeah
yeah
so
far,
then
then
we
will
have
to
create
a
different
commands
for
this
yeah
or
adam.
Can
we
add
multiple
commands
in
the
same
service.
A
Not
yet
because
what
that
would
mean
is
your
it's
on
the
wish
list
for
the
job
execute
your
service
to
have
multiple
containers
spun
up
for
the
same
task,
but
right
now
what
you'd
have
to
do?
If
you
could
just
flip
to
your
shipyard,
which
is
on
the
main
branch.
A
You
basically
need
to
create
multiple
tasks
in
your
ship,
because
obviously
this
is
just
your
test,
but
in
reality
this
task,
this
remote
passing
task,
will
be
part
of
a
larger
sequence
of
things
that
we
do.
We
we
might
do
a
deployment.
We
do
a
test,
we
do
a
validation
whatever
so
yeah
you
just
have
on
line
14.
There
you'd
add
a
line
15,
and
that
would
be
your
second
task.
B
Oh
okay,
cool
yeah,
so
that
will
be
the
second
task,
and
after
here
I
will
have
to,
I
will
have
to
add
tasks
over
here
also
right
event
send
okay.
I
can
add
multiple
events
over
here
right.
A
B
A
C
Not
on
the
we
are
figuring
out
now,
but
I
cannot
promise
that
it
will
be
done
soon
at
this
moment
so
right
now
we
let
the
develop
developers
trying
to
figure
out
how
they
could
run
the
cli
multiple
times.
C
So
I
think
we,
it
may
be
good
that
we
check
how
it
could
be.
This
example,
just
maybe
okay.
This
is
an
example
with
one
tag.
This
is
example.
If
you
want
to
create
two
tests,
I
right
now.
I
know
that
you
know
the
solution,
but
it's
not
very
clear
for
me.
How
would
be
the
configuration,
so
it
may
be
useful
if
we
also
provide
the
extrusion
if
you
want
to
run
two
basic
tests
in
a
sequence.
That
would
be
how
you
would
do
that.
A
Yeah
yeah
yeah,
but
what
what
we'll
do
john
is
as
you
and
I
all
get
together
I
mean
it's
it's.
It
should
be
fairly
quick
to
get
this
demo
together
and
we'll
just
re-record
a
separate
little
video
on
that
one.
B
C
A
C
C
A
A
No,
it's
it's
been.
It's
been
not
really
it's
been
slightly
misused
here.
I
I
get
why
you've
done
it
for
testing
purposes
to
split
it
out,
but
in
reality
what
you'd
have,
if
you
could
just
flick
back
to
your
shipyard
file.
For
me,
what
you've
done
here
is
you've
got
a
stage
called
production
which
is
fantastic
and
then
you've
got
two
sequences,
k6
pass
sequence
and
k6
fail
sequence.
Obviously
that
was
for
you
testing
things
you
want
to.
You
want
to
be
able
to
do
that
in
reality.
A
What
you'd
have
is
one
sequence,
let's
call
it
your
deploy
sequence
and
then
your
task
you'd
only
have
one
task
that
would
be
called
test.
For
example,
now
the
service
is
actually
it
models,
a
microservice
in
captain's
world,
so
you've
kind
of
used
a
service
you've
done
it
twice,
because
sequences
can
span
services,
but
so
you're
right
pepe.
It
needs
this
needs
a
bit
of
reorganization
but
effectively
what
you,
what
you
should
do
is
have
a
micro
service
that
you
want
to
test.
B
A
C
I
am
used
to
the
sequence
term
because
it
look
for
me
that
there
is
several
steps
and
a
sequence
is
just
one
step
on.
Oh,
it's,
a
sequence
on
pipeline,
so
sequence
made
totally
sense
for
me
because
I
under
I
got
in
this
picture
when
it
comes
like
okay,
it's
a
k6
series.
Okay,
I
could
get
the
point
that
I
don't
know
exactly
how
captain
works
internally
and
I
was
more
thinking
from
the
ci
perspective.
There
is
a
sequence,
a
step
that
needs
to
be
executed.
B
B
Okay,
so
yeah
coming
to
the
next
topic,
so
the
next
topic
was
regarding
the
discussion
that
me
and
adam
had
of
using
the
of
how
we
will
incorporate
kasich
extensions
to
the
to
captain.
Basically
so
yeah
yeah
I'll
again
share
my
screen
only
for
that
so
yeah
so
over
here.
What
we
need
is
that
we
need
a
docker
image
right
for
making
this
execu
executable
and
that
then
the
user
will
be
adding
something
like
I
mean
anything
over
here
right.
So
what?
Instead
of
that,
what
we
thought.
B
Basically,
this
is
using
the
job
executor
service
of
captain,
and
what
we
thought
is
that
if
we
can
write
a
different
service
for
k6,
what
it
will
do,
it
will
basically
what
we
can
do.
We
can
ask
the
users
to
keep
so
basically,
each
and
every
k6
extension
will
have
a
separate
k6
binary
of
its
own
right.
B
B
You
can
find
the
k6
javascript
file
thread
so
the
same
way,
we'll
ask
for
the
k6
extensions
file
structure
that
in
this
path
there
is
this,
so
basically
keeping
one
keeping
one
path
for
keeping
one
path
for
k6
and
in
the
prometheus
folder
there
will
be
a
k6
binary
or
there
will
be
an
influx
for
influx
db.
Folder.
There
will
be
a
k6
binary,
so
basically
asking
the
user
for
file
structure
of
k6
extension,
also,
which
the
user
wants
to
add,
use.
B
Basically
and
user,
will
keep
that
binaries
at
that
place
and
after
that,
for
for
basically
the
running
command,
the
adding
the
options
of
k6,
prometheus,
url
or
remote
url,
or
it
can
be
anything
it
can
be
influx
dp
organization
or
anything.
We
will
have
a
same
different.
Basically
in
the
config
file
in
the
yaml
file
itself
of
the
user,
he
will
add
the
he
will
add
the
values
of
this
options
that
he
want
to
use
corresponding
to
which,
whichever
k6
extension,
he
is
using
right.
B
Did
that
make
sense?
Yes,.
C
C
B
C
Cut
last
time
there
will
be
always
we
need
to
give
the
flexibility
to
the
user,
because,
right
now
we
have
50
extensions,
sometimes
are
for
testing
protocol,
so
we
cannot
pack,
all
the
extensions
for
the
user
or
providing
so
and
the
extension
will
grow.
So
it
will
come
always
a
user
who
want
to
use
any
extension,
maybe
one
even
build
by
themselves.
In
that
regard,
we
have
two
options.
We
could
say
to
the
user.
Look
it's
very
easy.
C
C
The
problem
with
this
solution
is
like
they
need
to
do
some
preparation,
so
they
need
to
have
a
docker
account
push
into
docker.
Not
maybe
everyone
has
that,
but
it's
totally
fine,
so
you
want
to
use
like
any
type
of
thing.
So
you
need
to
add
this
configuration.
Probably
it
will
fit
to
a
lot
of
people.
C
B
B
Yeah
yeah
yeah
yeah,
so
basically
this
only
right
so
using
this
x,
yes,
the
xk6
build
that
will
be
a
k6
binary
right.
So
what
we
thought
of
the
structure
is
that
a
user
is
already
giving
this
file
structure
of
cases
executables.
I
mean
k6
website,
so
that
user
will
already.
So
this
is
a
different
service
other
than
java
job
executor
service,
which
is
directly
taking
a
docker
image
and
running
command.
On
top
of
that.
B
So,
instead
of
that,
what
user
will
do
user
will
also
give
the
in
the
config
itself
it
will
so
one
can
be
of
the
default.
So
if,
if
user
has
not
mentioned
any
file
structure
corresponding
to
the
corresponding
to
k6,
then
it
will
directly
fall
back
to
the
default
k6
binary.
B
Otherwise,
if
the
user
gives
some
file
structure
of
k6
extension
that
follow
this
path
of
prometheus
and
get
the
binary
from
there,
so
that
user
can
provide
so
that
will
be
extensible
to
any
of
the
extensions
right,
because
user
will
already
be
doing
this,
I
mean
user
will
already
be
creating
this
binaries
right
using
this
xk6
build
command
right,
so
that
user
will
provide
and
then
corresponding
options.
I
mean
the
flexibility
of
providing,
which
are
options
that
you
want.
C
B
Yeah,
probably
so
yeah
I
mean
if
the
user
will
download
it
and
put
it
in
through
the
file
structure,
then
that
also
we
can
do
our
otherwise.
We
can
keep
a
set
of
a
set
of
a
set
of
list
that
we
are
providing
and
basically
keep
up.
B
Can
we
add
them
just
a
while
thought
over
here?
Can
we
do
this
kind
of
structure
also
that
we
have
a
list
of
extensions
of
our
own
and
some
list
of
extensions?
And
after
that,
let's
say
prometheus
and
influx
db,
and
all
that
and
in
the
installation
of
k6
service
itself,
download
all
this
k6
binaries
and
or
would
that
be
an
overkill.
A
Yeah,
of
course
you
could
there's
nothing
to
stop
you
technically
speaking,
you
could
even
use
captain
to
build
docker
images.
It's
not
typically
captain's
forte.
Let's
say
it's
captain's,
typically
a
cd
tool,
so
it
gets
involved
after
the
docker
images
or
the
the
the
image
let's
say
is
built.
A
A
Side,
whereas
if
we
just
point
to
the
k6
docs
and
say,
go
build
your
image.
However,
you
want
to
build
it,
because,
if
k6
do
something
cool
and
wonderful
you've
got
got
to
then
redevelop
that
extension,
whereas,
if
we're
just
being
a
bit
more
hands-off,
I
don't
know,
I
mean
there's
pluses
and
minuses
to
all
of
this.
It's
it's
up
to
you,
really
how
you
want
to
solution
this.
C
Yes,
I
I
don't
encourage
that
we
pack
the
extensions,
so
it's
gonna
be
so
many
extensions,
so
many
versions.
B
C
We
need
to
let
the
user
do,
however,
they
want.
So
we
will
never
adam
say
that
is
a
maintenance
burden
on
your
side
that.
B
C
Not
gonna
scale,
so
I'm
gonna
show
you.
If
you
don't
mind,
let
me
share
the
screen,
because
that
is
a
I
find
that
it
could
be
easily.
So
if
we
want
flexibility
share
a
screen
if
we
want
flexibility,
so
we
are
doing
this
setup
like
that,
we
say
the
user
look.
You
could
have
multiple
extension
so
start
picking
up.
C
C
So
you
could
do
something
like
this
version,
so
you
don't
need
you.
Don't
we
don't
need
to
force
the
users
to
have
the
local
extension
they
could
build?
The
extension
like
I
want
a
casic
bill,
a
k6
browser
version,
whatever
they
are
gonna
pick
up
from
the
github
report
version
two
version:
three.
We
could
let
the
user
pack
four
different
extensions,
five
different
extensions.
They
will
be
fetched
from
github
directly,
so
with
this
we
just
avoid
them
to
have
to
use
a
local
extension
that
it
is
not
very
common.
C
It's
common
to
use
a
local
extension
when
you
are
developing
your
extension,
but
once
your
station
is
ready,
then
you
make
it
public
and
you
give
the
user
those
instructions.
Look.
Do
you
want
to
use
my
extension
aka
build
the
name
of
my
extension,
nothing,
nothing
more!
So
we
we
could
have
the
two
options
like
build
your
own
docker
image.
This
is
the
extrusion.
C
B
C
Image
and
then
we
are
just
doing
going
stars
ak6,
that's
installed
ak6
and
is
building
with
any
version
that
we
have
so
we
will
just
say
to
the
user.
Okay,
if
you
want
to
run
with
extension,
either
build
your
own
docker
or
follow
this
extraction
instruction,
and
then
we
we,
we
give
entire
flexibility,
any
extension
that
you
want.
You
could
have
packed
two
different
or
four
different
extensions,
any
version
that
you
want.
So
there
is
no
any
maintenance
in
our
site.
More
than
explaining
the
extension,
as
you
did
on
the
on
the
other
integration.
B
A
I
I
don't
either
more
specifically,
we
need
to
check
whether
the
job
execute
the
service
can
build
containers
inside
a
container.
That's
that's.
C
A
Yeah
yeah,
I
think
that
should
be
doable.
I
will
we'll
do
what
I'll
do.
I'm
recording
this?
Obviously
so
I'll
get
the
I'll
forward
this
to
the
job
executor
maintainers,
but
it
looks
possible
yeah.
C
It's
very
common
flow
because
more
of
the
cd
tool
allow
to
use
docker,
as
you
already
allow,
and
this
is
just
about
running
two
command.
What
you
may
not
want
to
do
is
running
your.
That
is
fine
building
your
kasich
binary
for
each
time
that
you
want
to
run
at
a
you
may
want
to
do
one
time
before
the
entire
process,
but
it's
gonna
be
even
okay
with
building
the
k6
version,
maybe
before
each
test.
C
B
A
Yes,
good
that
looks
promising.
Actually,
I've
got
a
question:
how
how
common
is
it
that
what
I'm
thinking
is
on
on
most
people,
gonna
come
and
say?
Well,
I've
got
my
if
I
need
a
custom
binary.
I've
got
it
already
built
is.
Is
that
would
that
be
a
fair
comment
or.
C
No,
it's
not
very
common,
because,
okay,
they
may
have
a
not
uncommon
but
think
that
golan
builds
per
operating
system
they
may
be
using
on
mac
and
they
and
this
stat
will
run
on
linux.
So
we
always
because
that
we
are
trying
to
improve
this
process.
There
is
a
project
we
want
to
make
it
easier-
it's
not
very
complex
today,
but
you
need
to
build
the
binary
within
the
operating
system
that
you
will
run.
A
Yeah,
let's,
let's
take
it
to
the
team
and
want
one
to
take
offline.
I
think
definitely.
C
Just
check
with
the
golang
docker
image,
use
a
golan
docker
image
and
check
out
if
you
could
run
a
command
first,
as
we
did
the
first
command
that
we
run.
There
is
download
ak6
and
the
second
is
just
run
and
go
land
command
and
exit
command,
and
you
are
going
to
see
how
it
builds
k6.
And
now
you
have
the
binary,
as
you
have
on
the
on
the
other.
A
C
B
Yeah
makes
sense
so
yeah
I
mean
this
definitely
makes
sense
that
if
that
binary
won't
be
executable
at
the
different
at
the
place
where
captain
is
going
to
run
so
probably
we
should
deep
dive
into
it,
yeah
so
adam.
Can
you
just
also
look
me
in
when
you
are
discussing
this.
B
B
No
nothing
much
so
basically,
first
off
is
this
only
that
create
the
documentation
after
finalizing
the
finalizing
the
way
that
pepe
mentioned
right
now
of
multiple,
I
mean
keeping
it
as
a
service
step
by
step
and
all
that
so
yeah,
we'll
sync
with
you
item
2
regarding
that
and
that
we
can
do,
and
apart
from
that
discussions
around
this,
only
right
how
we
will
build
the
k6
binary
for
the
extension
right.