►
Description
In this meeting, we learn more about the Keptn Job Executor Service
https://github.com/keptn-sandbox/job-executor-service
Meeting notes: https://docs.google.com/document/d/1y7a6uaN8fwFJ7IRnvtxSfgz-OGFq6u7bKN6F7NDxKPg/edit
Timecodes:
00:00 Introduction
02:58 Job Executor Service
12:09 Deme time!
18:08 Q&A for Job executor service
50:00 General Q&A
Learn more: https://keptn.sh
Get started with tutorials: https://tutorials.keptn.sh
Join us in Slack: https://slack.keptn.sh
Star us on Github: https://github.com/keptn/keptn
Follow us on Twitter: https://twitter.com/keptnProject
Join our Keptn community newsletter: https://keptn.sh/community/newsletter/
A
Hi
everyone
and
welcome
to
this
week's
community
meeting
today's
thursday
may
27th
and
I'm
sure
that
more
people
will
be
joining
just
in
a
second,
as
I
can
already
see
them,
I
have
to
promote
some
more
folks
as
they
will
be
presenting
today
and
yeah.
A
We,
we
got
a
very
exciting
topic
on
the
agenda
and
let's
just
walk
through
this,
so
we're
following
here:
the
cncf
code
of
don
conduct,
sscncf
sandbox
project,
so
that
basically
means
please
be
nice
to
them
to
each
other
and
if
you
feel
any
offensive
behavior,
just
please
reach
out
to
the
maintainers
of
the
project.
A
Also,
please
make
sure
to
put
in
your
names
in
the
in
the
attendee
list
here
I
will
make
sure
to
also
send
out
the
link
again
in
the
chat
for
everyone
that
joined
a
little
bit
later.
We
have
quite
some
folks
joining
today,
so
this
is
great.
A
I
think
there
are
no
action
items
from
last
week
we
have
to
discuss
here.
Everything
was
clear.
One
part
that
I
want
to
highlight
again
in
this
meeting
is
that
captain
8.3
has
been
released
just
last
friday.
A
We
link
here
also
the
release
notes.
My
request
is:
please
upgrade
your
captain
installations.
You
will
do
it
in
the
same
way
as
you
always
do
with
the
captain
cli.
It's
basically
one
line
that
you
execute
captain
upgrade
and
it
will
upgrade
your
cluster
from
0.8.2.8.3
all
the
installation
or
upgrade
instructions
you
can
also
find
on
the
captain
website.
A
So
this
is
basically
the
big
update
around
captain
and
for
today
we
have
two
of
our
friends
from
the
captain
community
joining
it's
dominic
and
they
will
share
what
they
did
and
what
they
developed.
They
they
call
it
the
the
chop
executor
service.
I
already
saw
a
sneak
preview
of
this.
I'm
really
excited
to
see
more
and
I
think
both
of
them
have
already
joined.
A
Sorry.
I
think
there
was
a
mix
up
in
the
in
the
zoom
link,
but
thanks
for
joining-
and
I
will
stop
my
screen
sharing
and
we'll
hand
over
to
the
two
of
you
for
for
this
to
share
and
then
also
thanks
for
putting
up
another
issue
here
on
the
on
the
document
on
the
meeting
document.
We
will
take
this
after
the
presentation
of
detention.
B
Do
you
see
my
screen?
Yes,
okay,
perfect,
yeah,
hello,
everyone,
my
name
is
dieter
and
together
with
dominic,
we
will
tell
you
some
more
about
the
job
executor
service
yeah.
So
that's
that's,
basically,
a
new
captain
service
and
before
actually
telling
you
what
it
is
and
what
it
can
do.
I
want
to
tell
you
some
more
about
okay.
B
Why
did
we
implement
it
in
the
first
place
and
and
tell
you
some
more
about
that
and
with
that
I
would
like
to
take
you
on
a
on
a
journey
and
that's
basically
our
journey,
how
we
created
this
this
captain
service.
Basically,
I
guess
all
of
you
already
know
this.
The
captain
team
actually
did
a
great
job
with
providing
the
captain
service
template.
B
So
the
only
thing
you
you
need
need
to
do
is
to
go
to
github
clone
the
captain
service
template,
and
then
you
basically
have
everything
you
need
for
creating
the
captain
for
creating
your
own
captain
service.
If
you
want
to
extend
cap,
so
that's
that's
really
great!
B
So
you
what
you!
Basically!
I
guess
you
all
of
that.
All
of
all
of
you
know
that
you
get
a
a
boilerplate
of
everything
you
need,
so
you
have
your
captain
service.
You
have
it
distributed
next
to
as
a
side
car
which
takes
care
of
the
talking
to
the
eventing
system
and
the
only
thing
you
actually
really
need
to
to
do.
B
Is
you
have
some
boilerplate
you,
you
fill
in
your
your
code
at
the
respective
places
within
your
code
to
actually
handle
events,
then
probably
what
you
also
want
to
do
is
you
want
to
load
some
files
from
the
configuration
service
and
use
it
in
whatever
way
you
want,
and
then
you
might
write
some
code
to
execute
your
program.
B
So
jimmy
and
lucas
are
classically
examples
where
you
actually
execute
your
test
in
process
within
your
service
and
at
the
end,
when
you're
done
you're
saying
well
you're
responding
with
a
finished
event
and
everything
works
perfectly.
So
that's
that's
super
easy
and
yeah.
Thanks
to
the
captain
team,
it's
it's
yeah.
It's
really
easy
and
I,
I
believe,
also
christian,
created
the
second
template
this
week
for
writing
a
captain
service
in
python.
So
very,
very
nice.
B
Okay
but
yeah,
so
it's
the
point
here
is
it's
really:
it's
really
really
easy
to
get
to
get
started,
and
so,
when
you
actually
are
done
with
the
first
service,
you
say:
well,
you
actually
want
to
run
something
else.
Additionally
with
captain.
So
what
you
do
you
actually
do
the
same
thing
again
and
write
a
second
captain
service,
and
then
you
also
want
to
do
that
again
and
you're
writing.
Yet
another
captain
service
and
actually
writing
your
code
is
not
the
only
thing
you
you
need
to
do
so.
B
Yeah
you
for
every
service.
You
basically
write
your
code.
You
actually
need
to
make
sure
it's
it's
well
tested
and
others
can
use
it.
You
actually
also
create
or
adapt
the
coordinates
manifest
so
that
it's
actually
deployable,
and
then
you
release
the
the
version
of
it.
But
now
comes
the
the
cracks
afterwards.
B
Actually
it's
it's
an
open
source
project
and
I
guess
every
one
of
you
knows
what
comes
with
that,
namely
maintaining
an
an
open
source
project
is
actually
a
a
lot
of
work
and
it
requires
some
effort,
so
you
actually
need
to
maintain
the
code.
You
need
to
make
sure
it's
up
to
date,
also,
ideally
follow
the
newest
features
of
captain,
because
the
new
feature
you
could
potentially
also
use
in
your
service,
which
makes
your
life
easier
and,
of
course,
order.
B
B
Besides
writing
code,
and
so
the
question
now
is:
wouldn't
it
be
cool
actually
to
avoid
the
maintenance
effort,
because
the
more
services
you
have
the
more
code
you
need
to
maintain-
and
this
of
course
case
scales,
linearly
and
wouldn't
it
be
scored
to
actually
be
able
to
react
to
any
captain
event.
For
the
thing
you
want
to
do
and
to
trigger
any
work
fields,
any
containerized
workfield
with
captain
and
ideally
would
also
be
cool.
B
If,
when
your
captain
service
is
not
currently
executing
some
task
or
some
something
that
it
doesn't
contain,
any
resources
on
the
community
disgust
itself
yeah,
you
probably
already
guessed
it.
B
The
job
executor
service
does
all
of
that
yeah
wow
yeah
so
and
I
want
to
quickly
go
over
over
the
the
difference
to
a
classical
service
or
what
we,
what
we
did
by
showing
you
the
architecture
and
the
conflict
of
the
service
side
by
side.
So
we
actually
start
with
the
picture
you
already
have
seen.
So
you
have
your
captain
service.
Next
to
it,
there
is
the
side
card.
There
is
the
distributor
and
you
have
a
config
alongside
your
service
and
in
the
conflict.
B
You
actually
specify
the
actions
the
service
should
perform.
So,
for
example,
here
we
want
to
run
bash
and
we
want
to
react
to
event
which
is
events.action.triggered
and
what
the
generic
or
the
the
job
executor
service
now
does.
Is
it's
running
this
action
within
a
new
kubernetes
job?
It's
it
spins
up
and
yeah
for
the
action.
You
can
basically
define
a
couple
of
tasks.
It
should
execute.
B
So,
for
example,
here
we
want
to
run
a
hello
world
and
the
core
is
the
hello
world.
This
is
executed
within
the
kubernetes
job
and
yeah
for
within
the
coordinates
job.
You
have
a
init
container,
which
runs
before
you're.
Actually,
before
before
the
job
I'll
come
back
to
that
in
a
in
a
minute,
and
you
actually
can
specify
which
image
you
want
to
run
and
which
command
is
executed
within
the
image.
So,
for
example,
here
we
say
well,
we
want
to
run
cats.
B
B
You
can
actually
specify
a
list
of
files
you
want
to
attach
and
the
way
it
works
is
that
the
init
container
actually
caused
the
captain
configuration
service
for
you
and
it's
downloading
these
files
and
putting
them
into
a
volume
which
is
attached
to
the
init
container
itself
and
the
kubernetes
chop,
and
this
volume
is
simply
an
empty
directory
and
it's
mounted
in
the
path
slash
captain
yeah
and
with
that
you
basically
defined
your
own
work
field.
B
A
D
So
I'm
re-prepared
a
simple
demo
with
three
pretty
much
events
that
the
executor
server
should
handle,
and
here
we
have
our
shipyard
armor
file,
just
some
basic
stuff.
In
there
promotion
not
relevant
for
this
demo,
then
we
have
a
simple
deployment
step
that
will
be
handled
by
the
normal
captain
arm
service.
D
But
for
the
other
three
tasks
here,
they
will
all
be
handled
by
the
captain
executor
service.
Here
we
have
a
test
event.
This
should
execute
some
locus
tests
that
we
already
had
prepared
for
for
the
local
service
and
already
running
for
the
in
the
cap
and
local
service.
But
now
we
want
to
do
with
the
executed
service
and
then
a
simple
print
to
files
event.
D
That's
using
testcoffee,
so
totally
new
stuff,
currently
not
a
captain
service,
and
there
will
run
some
ui
tests
and,
let's
take
a
look
at
the
configuration
first,
one
is
for
the
print
files.
So
here
we
have
the
event
where
the
the
executable
service
listens
on
and
if
the
event
matches
it
executes
the
underlying
task,
a
list
of
files
that
should
be
made
available
in
the
job,
then,
obviously
the
image
needed
and
then
the
command
that
gets
executed
in
the
chop
as
well.
So
how
does
this
look
like
on
the
bridge?
D
D
It's
named
jsonpath
that
goes
on
a
specific
property
and
if
the
property
matches
this
value
specified
here,
we
want
to
run
the
task,
and
then
we
have
some
warfares
here.
Since
it's
locust,
we
have
our
test
file
here
and
our
configuration
file.
That's
some
additional
parameters
used
for
the
locust
command
execution
and
then
that
we
actually
need
to
run
our
tests.
We
also
need
some
sort
of
host
where
we
can
run
our
test
against
and
captness
nice
and
already
sends
us
the
host
variable
in
the
event,
and
it's
actually
located
under
this
json
path.
D
D
D
E
D
D
B
Yeah
and
we
actually
pushed
the
code
today
to
the
captain
sandbox
to
the
repository
jung
provided
and
also
release
the
first
version,
so
it's
0.1.0
yeah
just
go
to
the
to
the
github
page
or
to
the
github
repo
check
it
out,
and
any
contributions
are
more
than
welcome.
A
Thank
you
that
really
deserves
some
some
applause
here,
because
I
think
this
is
great.
Please
dominic!
Please
continue
the
screen
sharing
because
I
think
yeah
we
might
get
a
couple
of
questions
and
I
also
have
a
question
here.
Oh
we
even
got
the
the
first
comment
here
from
christian.
That's
really
super
cool
stuff
yeah
same
here.
I
I
really
have
the
the
same
impression
here
that
it's
really
it's
really
cool.
A
What
I
would
be
in
the
beginning,
interested
in
kind
of
how
to
from
the
from
the
perspective
of
a
captain
user,
not
so
much
a
captain
developer,
but
more
a
captain
user
how
to
use
it.
Can
we
please
go
back
to
the
shipyard
file
and
take
a
look
at
the
shipyard
file
and
then
also
on
the
config.aml
and
kind
of
see
the
mapping
between,
let's
say
the
test
and
the
test
task
here
or
the
print
files
task
here
and
how
it
maps
into
the
conflict
of
the
ammo.
A
Can
you
maybe
explain
this.
D
Yeah,
let's
take
a
test,
I
think
it's
a
nice
example
here
so
for
this
test.
We
have
here
two
different
python
files
currently
and
we
wanted
to
execute
the
health.pi
file.
D
So
we
had
here
a
test
strategy
for
that
and
pretty
much
the
developer
just
put
itself
code
in
this
file,
and
that
should
be
everything
he
needs
to
do,
and
he
also
next
to
me
true,
oh
no
not
for
that
one,
he
doesn't
need
to
define
any
extra
host.
First,
it's
done
by
the
command
line,
and
here
we
have.
Then
this
will
use
the
environment
mapping
to
take
the
test
strategy
value
from
the
event
from
the
captain
event
that
gets
sent
to
us.
D
D
D
F
G
F
Really
cool
dominic,
what
you're,
showing
us
right
now
is
a
kind
of
filter
on
the
subscriptions
of
an
event.
D
F
And
yeah,
I
definitely
see
the
need
for
having
this
and
also
a
requirement
for
captain
core
to
make
it
possible
to
filter
events
based
on
properties.
The
event
contains.
D
Actually,
one
feature
I
didn't
mention
so
far.
You
can
also
do
wide
cut
matching
here.
So
something
like
this
would
also
be
possible.
That
would
maybe
make
sense
in
some
cigarette.
Maybe
you
want
to
send
notifications
for
each
finished
event
where
the
result
was
failed.
You
want
to
send
out
some
notifications
to
slack.
Maybe
hey,
please
develop
a
look
into
this.
Something
didn't
work
here.
It
would
also
be
really
easy
to
configure.
A
That's
pretty
cool
and
actually
the
the
test
that
you
just
highlighted
is
the
actual
matching
I
was
pointing
to
earlier.
It's
basically,
the
shcaptain.event.test
is
the
task
that
is
defined
in
the
shipyard
file.
So
this
is
how
exactly
how
they
map
and
we
will
see
the
same
for
maybe
we
can
have
a
look
at
print
files.
Then
we
should
see
also
the
print
files
task
somewhere
here.
Yes,
we
see
the
printf.
A
That's
really
cool
and
then
one
one
follow-up
question
on
this
is:
let's
assume
locus
tests
are
running
for
five
minutes
and
then
failing.
How
do
you
map
back
the
status
of
an
execution
to
to
captain?
Is
there
any
way
that
you
can
kind
of
make
a
distinction
between
jobs
that
were
running
successfully
in
jobs
that
failed?
So,
for
example,
if
the
the
deployment
url
is
not
there
and
the
locus
confi
could
not
be
executed.
D
Yeah
sector,
if
the
the
top
execution
fails,
we
pretty
much
check
for
the
starters
already
and
stand
the
finished
event
with
a
failed
starters
back.
I
can
maybe
show
you
I'm
pretty
sure
I
have
some
tests
going
wrong
in
here
that
that
would
look
like
this.
You
get
pretty
much
get
the
log
output
of
the
job
container
or
bot,
and
hopefully
this
helps
to
resolve
the
issue.
Whatever
you
did
wrong.
A
A
That's
already
the
log
output
of
the
whole
sequence,
but
it
should
also
be
in
the
end-to-end
one.
A
And
can
we
again
go
back
please
to
your
ide,
because
there
are
so
many
things
that
I
think
should
be
really
highlighted
and
please
all
the
others
from
the
community
feel
free
to
ask
your
questions.
I
already
see
some
of
them
in
the
chat
and
I
will
just
address
them
in
a
second.
But
what
I
want
to
highlight
here
is
let's
say
for
locust,
so
we
do
have
a
locust
integration.
A
That
was
actually
a
lot
of
code
of
the
for
the
locust
integration
was
contributed
by
some
of
you
that
are
here
in
this
community
meeting.
So
I
see
I
still
see
christian,
you
all
contributed
to
the
to
the
locust
service,
and
here
I
see
it's
using
the
official
locust
image,
so
basically
the
integration,
if
I
now
want
to
use
instead
of
low
cost.
A
If
I
want
to
use
let's
say
artillery
or
some
other
test
service,
I
would
just
use
their
official
image,
learn
how
to
use
their
command
line
and
basically
that's
all.
I
need
to
do.
D
A
Really
cool,
let
me
just
take
a
look
in
the
chat.
What's
coming
in,
airmen,
says
awesome,
and
he
also
likes
that
you
use
the
test
cafe
and
how
it's
show
and
how
it
shows
up
in
the
logs.
So
thanks
for
this
comment,
so
another
question:
if
we
think
about
all
these
test
integrations,
I
think
it's
a
great
example
to
have
the
test
integrations
here.
Would
it
be
possible
to
also.
A
Kind
of
if
it's
not
erroring
the
locust
service,
but
the
locus
service
itself
or
locus
the
binary
itself
can
give
you
an
indication
if
the
tests
have
succeeded
or
not.
So
I
guess
this
could
also
be
taken
into
account.
Somehow.
A
D
A
Yeah,
and
can
there
be
some
kind
of
a
list
of
commands
to
be
executed
if
we
need
to
prepare
like
before
the
tests?
Maybe
we
need
to
prepare
an
environment
that
we
want
to
do
it
in
the
same,
so
I
can
here
in
the
in
line
25
it's
one
command,
but
can
it
be
an
array
or
a
list,
or
would
that
happen.
A
E
B
You
would
simply
define
a
couple
of
tasks,
because
task
itself
is
also
a
list,
so
you
that
that
would
be
an
option
that
you
actually
say.
Well,
I'm
going
to
writes
the
result
of
the
first
task
to
your
volume
and
then
use
it
later
on.
That
would
be
an
option.
It
would
also
be
an
option
to
actually
use
a
different
init
container,
so
we
made
the
init
container
configurable
and
that
would
also
work.
So
you
it's
up
to
you,
what
you,
where
you
you
want
to
do
the
preparation.
A
And
then
we
have
one
question
from
the
community
from
editor.
You
can
also
I
allowed
to
to
unmute.
So
if
you
want
to
ask
the
question
directly
to
to
dominic
and
theater,
please
go
ahead,
otherwise
I
will
read
it
for
you
and
maybe
I
read
the
question:
if
there's
a
follow-up
question,
oh
I
see
you
you
unmuted
yourself.
Please
go
ahead.
G
Asking
that
this
can
be
used
for
running
a
web
hook
like
if
we
attach
the
webhook
file,
and
then
we
name
that
event
like
shcaptan.trigger.star
and
the
like
for
star.
We
can
replace
it,
the
user
can
define
which
event
you
want
to
get
notification
and
then
triggered
then
that
execution
will
run.
So.
My
question
is
like
we
can
do
like
that.
G
G
And
I
I
can
make
my
scripture
of
web
hook
execution
and
then
attach
that
script
to
the
files
and
user
can
define
which
event
he
want
to
get
triggered.
And
then
we
can
send
that
by
calling
that
script.
A
If
I
understand
correct
it's
a
it's
a
little
bit
difficult
from
the
connection
point
of
view
to
get
the
the
clear
audio
on
our
end.
But
if
I
understand
correctly,
the
question
is:
can
this
chop
executor
also
be
used
to
trigger
web
hooks,
so,
instead
of
running
a
test
to
trigger
to
send
the
payload,
to
some
other,
let's
say
other
external
websites,
and
and
do
this
via
web
hook?.
D
I
mean
you
can
clearly
do
that
if
all
the
information
you
need
in
the
event,
you
can
just
get
it
out
of
the
event
pretty
much
with
environment
variables
and
then
maybe
write
your
own
image
or,
if
there's
an
existing
image
and
just
use
a
command
there
and
call
a
web
hook.
So
that
should
be
easy
possible.
Yeah.
A
Yeah,
I
also
think
that
the
missing
part-
because
there
is
an
open
issue
around
the
web
hook-
and
maybe
this
is-
that
is
an
issue
that
adit
is
interested
in-
that
the
the
interesting
part
for
a
web
hook
is
then
how
to
use
the
data
from
the
cloud
event
and
to
transform
it
in
a
way
that
it's
in
the
the
payload,
the
format
of
a
payload
that
the
external
service
can
use
it.
A
If
we
think
about,
let's
say
we
want
to
send
a
comment
on
on
a
data
trace,
problem
or
or
maybe
annotate
something
that
it
has
to
be
a
specific
payload,
specific
format,
and
if
we
can
have
some
kind
of
how
to
rewrite
the
captain
cloud
event
into
a
payload
that
can
be
understood
by
a
third
party
service,
then
this
is
also
very
powerful.
A
D
Currently
it
does
that,
but
we
only
have
an
issue
open
where
we
want
the
changes
pretty
much.
Okay,
like
for
a
notification
service,
we
just
want
to
hear
in
events
and
don't
send
like
started
or
finished
events,
so
just
a
silent
mode,
pretty
much
that
can
be
configured
for
each
task.
Maybe
something
like
that.
A
Yeah,
I
think
that
that
would
make
sense,
because
if
we
would
also
listen
to-
let's
say
dot
finished
events,
for
example,
evaluation
finished
events.
You
would
not
want
to
return
with
this.
A
Finished
exactly
yeah,
then
we
have
a
couple
of
questions
from
christian,
maybe
christian.
If
you
want
to
ask
them
directly.
C
Yeah
sure
so
first
is
a
remark.
Please
don't
use
images
without
specifying
tags
ever
that's.
E
C
B
No,
actually,
we
will
limit
the
security
context,
a
lot
for
for
the
job
yeah,
so
yeah,
the
one
of
the
one
of
the
issues
we
faced
early
on
was
that
the
file
permissions
of
the
files
which
are
stored
in
your
volume
were
not
correctly
set
and
actually
root
was
the
owner.
B
Setting
for
the
kubernetes
job
yeah
and
also
the
I
can't
remember
anymore,
if
we
set
a
different
service
account
for
the
kubernetes
job
itself,
but
yeah
you're
right
makes
makes
sense
to
actually
limit
limit
that
one,
because
this,
of
course,
if
you,
if
you
say
well
you're,
going
to
allow
everything
in
your
cluster,
then
yeah
the
the
user
can
do
basically
anything
in
your
community.
Disgust
which
you
don't
want.
C
Yeah
yeah
absolutely,
but
I'm
also
just
thinking
about,
let's
say
edge
cases
where
you
want
to
deploy
the
service
and
really
just
modify
something
in
cube
ctl.
So,
for
instance,
litmus
service
is
essentially
a
cube,
ctl
run
or
cube,
ctl
apply,
and
for
that
reason
we've
created
litmus
service
and
do
all
the
things
in
there.
Obviously,
and
litmus
does
need
the
well
a
service
account
that
can
modify
certain
things.
So
maybe
maybe
it's
a
good
limitation
that
the
executor
service
that
you
have
here
cannot
do
it,
and
it's
limited
to
that.
C
B
What
actually
would
make
sense
is
to
to
limit
it
by
default
that
it's,
it
cannot
do
anything,
but
you
have
the
option,
as
a
user,
to
set
the
different
service
account
for
the
kubernetes
job
yeah.
That
would
be
an
option.
B
There
are
they
go.
There
are
a
lot
of
to-do's
at
exactly
the
the
spot
where
the
job
gets
spun
up,
and
it's
these
to
do's
all
include
yeah.
We
should
make
this
configurable.
B
So
when
deploying
the
job
execute
the
service,
you
should
be
able
to
set
on
these
as
a
user.
C
Yeah,
I'm
really
just
asking
also
for
the
question,
because
in
the
captain
core
team
we've
been
presented
with
the
fact
that
some
people
have
name
spaces
with
quotas
and
then
well.
If
you
don't
have
quotas
defined,
it
doesn't
matter
if
they're,
20,
gigabytes
or
20
megabytes,
but
if
you
don't
have
them
defined,
some
pods
won't
start
at
all.
B
A
Really
cool
and
thanks
christian
for
all
your
questions,
then
more
related.
Also
to
the
to
the
usage
perspective
of
this
here
I
can
see-
and
if
you
already
explained
it
and
sorry
for
asking
this
question
again,
but
I
was
also
at
least
taking
a
look
at
the
chat
here.
We
can
see
two
tasks
that
are
actually
run
in
the
locust
part,
so
there
is
one
called
the
run
locus
health
test
and
the
other
one
prepare
results.
A
How
do
you
tackle
this?
If
there
are
multiple
ways,
will
the
the
results
of
the
execution
will
be
kind
of
concanated
and
then
sent
back
as
one
to
captain.
A
I'm
not
sure
there
will
be
first,
the
first
container,
starting
with
the
image
locust.
I
o
slash,
locust.
It
will
run
its
job,
it
will
get
removed
as
a
kubernetes,
just
like
as
a
kubernetes
job.
It
will
be
completed
and
then
there
will
be
sorry.
My
my
cat
is
going
crazy
out
I'll
be
back
in
a
second.
A
Okay,
but
it
can
be
different
ways
like
first
the
logging
and
or,
as
I
said
earlier,
preparation
step
and
the
logging
and
the
some
other
execution.
So
it's
not
only
one
execution
per
per
per
event
or
the
per
job.
Let's
say.
C
So
maybe
maybe
as
a
challenge
for
our
community,
that's
listening
in
some
of
you
might
know
that
we
have
the
helm
service
with
the
user,
managed
deployments
and
I'd
like
to
raise
the
challenge
of
doing
the
helm
service
with
the
user
managed
deployment
in
exactly
that
code.
That
is
here
because
I
think
it's
possible.
A
Yeah,
so
there
are
a
lot
of
questions
this
service
is
so
new,
so
we
did
not
have
time
yet
to
read
the
documentation.
So
sorry
for
that,
so
we
have.
We
are
kind
of
shooting
all
these
questions
to
you,
but
regarding
the
the
thing
that
christian
just
said,
is
it
possible
to
also
define
a
wildcard
for
the
files
so
to
say,
let's
fetch
all
the
dot
pi
files
in
the
locust
directory.
A
Or
a
whole
folder,
because
that
might
be
needed
for
the
helm
exactly.
C
D
C
B
C
A
And
the
config.ml
file
that
you
have
here:
where
does
this
go
into
into
captain?
So
I
assume,
if
I
want
to
use
this,
I
do
a
cubectl
apply
of
the
top
executor
service,
so
I
have
my
job
executable
service
running.
This
will
then
take
care
of
fetching
the
like
orchestrating
the
job
so
to
say,
and
for
the
the
usage
perspective.
Where
do
I
add
the
the
config.js
for
my
jobs.
D
A
Cool
awesome.
I
think
this
makes
a
lot
of
sense,
so
I'm-
and
I
I
think
also
the
the
developer
community-
will
really
appreciate
this-
that
it's,
it
seems
very
easy
to
to
use
a
service
that
where
there
is
no
captain
service,
yet
there
might
be
some
limitations,
as
also
christian
mentioned,
such
as
doing
a
cube.
Ctl
apply.
A
That
might
be
a
little
bit
risky
inside
of
a
of
this
template,
but
if,
if
there
might
also
be
some,
would
it
work
to
to
also
have
let's
say,
a
more
sophisticated
bash
script
in
the
files
section
and
then
execute
the
bash
script?
That
was
just
fetched.
D
C
But
just
by
the
by
the
way,
if
you
know
gitlab
ci
and
it
feels
familiar,
I
think
it
does
so
I
think
the
names
are
a
little
bit
different
in
gitlab
ci,
but
you
also
specify
an
image
and
a
script,
and
then
you
can
do
whatever
you
want.
So
for
those
people
coming
from
gitlab
ci.
This
is
certainly
a
nice
transition
phase.
Let's
put
it
like
this.
F
And
just
just
one
remark,
but
I'm
still
I'm
more
interested
in
why
you
came
up
with
that.
But
when
I
take
a
look
at
the
example
run
locus
starting
at
line
15
here
you
are
listening
to
a
test
triggered
event,
and
then
you
execute
two
sub
tasks.
The
first
one
run
the
locus
test
and
then
prepare
the
result,
and
there
would
have
been
another
way
to
model
this
by
adding
this
a
separate
task
to
the
shipyard.
E
D
It
for
this
was
just
an
example
before,
when
dita
mentioned,
that
you.
D
F
Be
but,
as
you
showed
us,
there
are
other
ways
to
think
about
this
problem,
because
what
I
now
understand
is
that
test
triggered
event
is
kind
of
good
enough
from
the
granularity
of
telling
you
that
you
have
to
execute
a
test.
But
then
the
test
itself
is
again
broken
down
into
sub
tasks.
So
to
say,.
D
F
H
B
Yeah,
it's
basically
like
the
kubernetes
job,
so
the
generic
executor
service
runs
everything
in
process
as
far
as
I've
seen.
But
here
you
actually
yeah
spin
up
and
you
correlate
this
job
and
actually
tell
it
which,
which
image
to
run.
A
Yeah,
I
also,
I
think
the
generic
executor
service
can
execute
python
script.
It
can
execute
best
scripts,
but
for
binaries
that
are
not
yet
part
of
the
image
of
the
generic
executor
service.
It
won't.
It
won't
work,
so
you
cannot
execute
locust.
For
example,
you
could
do
the
first
part
with
bash,
but
I
think
locust
or
the
test
cafe
won't
work,
as
the
image
is
not
available
that
the
binary
is
not
available.
F
No,
these
are
actually
two
different
jobs:
okay
and
they
share.
Or
how
does
the
second
task
get?
There
gets
the
result
from
the
first
one.
F
B
Actually,
I
I
yeah
okay,
this.
This
doesn't
make
any
sense,
because.
E
A
Okay,
yeah,
but
that's
that's
no
problem.
So
for
now
it's
one
task,
execution
per
per
job
name,
basically,
and
it
will
be
executed
in
the
first
return.
Value
will
be
returned
and
mapped
as
a
error
or
as
a
success.
B
A
Cool
yeah,
I
think,
there's
a
lot
to
to
experiment
now,
with
this
job
executor
service,
it's
already
released
so
the
it
you
can
find
it
on
captain
sandbox
we'll
also
put
the
the
link
into
the
meeting
documentation.
It's
the
job
executor
service.
I
assume
I've
not
checked
today,
but
I
assume
there
are
some
readme
instructions
how
to
how
to
install
it
and
how
to
use
it
where
to
put
the
file
yeah.
A
Yeah
that
is
now
part
that
is
not
a
job
for
the
captain
community
to
find
all
the
the
edge
cases
and
everything
that
that
is
not
part
of
a
0.1.0
release,
because
I
think
it
already
can
do
a
lot
of
things
and
it's
it's
really
cool,
so
it
will
really
speed
up
the
the
new
integrations
we
can
build.
I'm
really
really
excited
to
give
it
a
try.
A
Because
if
not,
then
thank
you
so
much
to
both
of
you
for
doing
a
great
demo
and
also
the
great
presentation
on
really
sharing.
Why
you
build
this
and
then
I
would
like
to
continue
on
the
on
the
agenda
for
today.
Maybe
I
can
just
share
my
screen
again.
We
just
have
two
more
agenda
items.
Hopefully
we
can
take
it
in
the
last
seven
minutes,
so
we
do
it.
I'm
already
sharing,
I
think
so,
the
agenda
item.
I
think
this
was
added
by
aditya.
A
So
if
you
want
to
share
what
you
want
to
discuss
here
and
then
also
prayer
can
can
share
his
his
comments.
G
You're
again,
can
you
open
that
issue?
Sure
here
we
go
so
in
the
templating
part
I
was
reading.
Is
my
voice
clear.
A
G
Yeah,
so
in
the
template
part,
I
was
reading
that
we
have
to
give
the
support
for
the
basic
construct
to
build
a
custom
payload.
So
by
that,
I
understand
that
we
have
to
provide
some
basic
ml
file
or
for
to
the
user,
so
they
can
add
their
custom
payload
in
that.
But
in
the
acceptance
criteria
you
have
written
that
user
can
define
their
template.
G
A
Okay,
so
if,
like
my
my
comment
on
this-
is
that,
regarding
the
the
payload
that
we
talked
earlier,
so
if
you
think
about
that,
captain
sends
cloud
events
and
it's
they
have
a
predefined
structure.
So
we
know
from
the
captain's
specification
how
the
cloud
event
in
captain
looks
like,
but
what
needs
to
be
done
is
to
define
a
way
for
a
user
to
to
easily
use
some
kind
of
a
template
to
map
the
captain
cloud
event
into
another
structured
payload.
A
Let's
say
we
cannot
just
send
a
cloud
event
to,
I
don't
know
to
to
github
or
to
some
kind
of
other
web
hook,
because
it
has
to
be
in
a
structured
format
for
the
the
target
system,
and
this
structured
format
for
the
target
system
should
easily
allow
to
build
this
and
then
use
placeholders
of
the
captain
cloud
event
to
fill
them
in,
maybe
even
with
some
some
possibilities,
such
as
we've
written
here
that
to
create
a
new
date
or
to
create
the
random
id.
A
If
that
is
needed
for
the
target
system,
sometimes
you
have
to
send
the
payload
to
a
target
system
with
a
post
request.
Maybe
you
have
to
specify
some
random
id.
This
is
not
part
of
the
captain
cloud
event,
so
this
kind
of
templating
should
also
be
able
to
to
provide
the
ability
ability
to
attach
the
the
current
day
to
attach
a
random
id,
maybe
to
attach
some
some
other
things,
maybe
to
map
an
integer
to
a
string,
or
vice
versa.
So
this
is.
This
is
part
of
of
this.
A
G
Okay,
so
my
basic
understanding
is,
we
have
to
pass
the
captain
event
and
then
use
the
placeholder
like
we,
a
user
have
defined
the
placeholder
in
their
template
and
fill
those
placeholder
by
the
event
which
we
have
passed
from
the
cloud.
G
C
E
A
And
then
we
have
another
question.
I
think
really
related
to
the
same
issue.
A
Yes,
so
officially
the
meeting
ends
in
two
minutes.
What
I
think
would
be
the
best
approach
here
that
we
can
discuss
it
directly
on
the
issue,
or
we
can
also
discuss
it
on
slack
and
then
put
the
results
directly
on
the
issue,
so
that
also
for
the
others
or
everyone
else
that
wants
to
follow
up,
can
see
it
there
and
we
can
probably
come
up
with
an
example
about
the
captain,
payload
and
an
example
payload
for
a
target
system
and
then
also
discuss.
A
Maybe
how
how
this
can
look
like.
E
Yeah,
okay,
but
so
in
the
short
time
that
I
have,
I
just
wanted
to
run.
You
might
think
I
want
to
invite
you
guys
that
I
I
saw
that
kubernetes
has
something
called
admission
controller
web
books
where
they
can
both
like
send
a
web
book
like
I
send
a
request
to
it
and
then
kubernetes
will
either
mutate
it
if
required,
and
then
after
the
required
authentication
and
authorization.
E
Then
it
goes
to
like
the
treatments
cluster
and
and
does
whatever
operations
that
it
that
we,
as
a
user,
asked
effort
to
perform.
E
So
I
was,
I
was
wondering
if
their
implementation,
where
they
first
they
have
authentication
which
in
their
case,
is
like
tls.
You
need
to
generate
the
ssl
certificates
for
your
the
domain
name
of
your
web
hook
that
you
have
and
then
like.
E
I
saw,
and
I
saw
how,
in
the
generic
executor
service,
you
have
to
like
name
your
scripts
in
a
way
which
would
let
the
service
know
that
which
events
is
this
pertaining
to,
but
in
case
of
kubernetes
I
saw
that
how
you
can
restrict
that
strip
to
run
on
particular
pods,
and
even
in
that
plot,
you
can
restrict
it
to
certain
operations.
Only.
E
So
I
think
in
in
this
case
we
can
do
the
same.
We
can
provide
the
same
kind
of
configuration
which
would
let
user
to
like
define
the
web
book,
so
the
domain
name
and
everything
certificate
and
also
the
event
they
want
the
one
t
web
to
be
related
to
so
that
was,
I
was
thinking.
A
Yeah,
I
think
so
the
idea
it
looks
like
you
already
did
some
some
some
research
on
this
and
I'm
not
yet
sure
what
is
the
best
technical
way
to
achieve
it.
I
guess
there
might
be
different
approaches
to
it,
but
we
could
also
take
this
discussion
on
slack
or
directly
on
the
issue
and
follow
the
technical
discussion
there.
A
If
there
is
time
for
for
next
week,
we
again
have
two
presentations
from
the
captain
community
in
two
weeks
time,
and
but
we
can
also
again
reserve
a
little
bit
of
time
for
questions.
A
Okay,
so
we
are
at
the
end
of
the
agenda.
Hopefully
most
of
the
questions
have
been
addressed.
We
also
at
the
time
at
the
top
of
the
hour,
so
thanks
everyone
for
joining,
especially
big.
Thank
you
to
dieter
and
dominic.
For
presenting
this,
it
was
really
great
that
you
shared
the
job
executor
service.
I
will
make
sure
to
add
here
also
the
url,
so
everyone
can
give
it
a
try
if
you
give
it
a
try.
Please
share
your
thoughts,
opinions,
feedback
in
the
captain
slack.
A
You
will
find
the
two
maintainers
of
the
service,
also
in
the
captain's
lag
and
I'm
pretty
sure
they
are
also
eager
to
hear
your
feedback
on
this.
So
thanks
everyone
and
see
you
all.
I
guess
next,
we
still
have
to
decide
if,
if
there
is
a
meeting
next
week,
because
a
lot
of
captain
maintainers
might
be
out
of
office,
so
this
will
be
announced
in
the
captain's
lag
and
then
in
two
weeks
time
we
again
have
a
captain
community
and
developer
meeting.
A
So
thanks
everyone.
It
was
great
to
have
you
all
here.
It
was
a
big
crowd
today
and
see
you
all
next
week
or
in
two
weeks
time.