►
From YouTube: Keptn Community & Developer Meeting - Jul 26, 2023
Description
Meeting notes: https://docs.google.com/document/d/1y7a6uaN8fwFJ7IRnvtxSfgz-OGFq6u7bKN6F7NDxKPg/edit
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
Sign up to our newsletter: https://bit.ly/KeptnNews
B
A
C
D
C
C
C
D
Sure
let
me
share
my
screen:
I
put
together,
slides
I
love,
a
good
slide
deck
and
just
excuse
my
voice.
It
is
currently
4
AM,
my
time
so
getting
you're,
getting
a
very
tired
version
of
myself.
So,
all
right,
so
today
we're
going
to
be
presenting
our
bot,
Cube
and
Captain
plug-in
so
just
a
brief
overview
with
bot
Cube
It's,
a
open
source
collaborative
kubernetes
troubleshooting
tool.
So
what
that
actually
means
is
you're
able
to
Monitor
and
troubleshoot
events
all
in
your
communication
tool.
D
So
you
don't
only
receive
alerts,
you're
able
to
act
on
them
as
well
and
have
it
in
a
space
where
you
and
your
team
can
see
everything
that's
going
on
and
the
goal
is
to
really
improve
developer
experience
and
give
developers
and
platform
teams
self-service
access
to
their
resources.
Without
you
know
needing
to
be
a
kubernetes
expert
and
you
can
respond
to
your
alerts
and
access
your
cluster
from
any
platform,
because
it's
connected
to
all
those
communication
platforms,
you
can
do
it
on
the
go,
so
it
can
be
in
Starbucks
and
be
running.
D
Cube
CTL
commands
right
from
your
phone
and
then
just
more
of
an
overview.
We
currently
work
with
slack
teams,
microscope
sleep,
slack
teams,
discard
and
matter
most
and
currently
we
have
Source
plugins
with
kubernetes
events
in
Prometheus
in
production
and
today
we'll
be
showing
off
our
source
plugin
with
Captain.
So
we
hope
to
expand
out
our
plugin
system,
and
then
we
have
our
executor
plugins
right
now
with
Cube,
CTL
and
Helm,
and
we
are
hoping
to
expand
our
plug-in
system
on
that
end
as
well.
D
D
So
you're
not
running
the
same
code
commands
over
and
over
again
and
then
with
our
UI
app
you're,
also
able
to
audit
your
event
so
you're
able
to
get
a
a
log
of
all
the
commands
and
who
ran
them
in
a
timeline,
and
you
can
easily
with
that
web
app
it's
easier
to
do.
Configuration
changes
as
well
and
then
more
about
the
plug-in
system.
D
What
we're
here
today
to
talk
about
so
with
our
plugin
system
that
we
launched
a
few
release
Cycles
ago,
we
have
the
goal
of
being
able
to
automate
all
the
tools
across
the
cncf
landscape
like
there's
like
400
million
tools
it
feels
like,
and
the
goal
of
block
you
is
to
have
it
all
in
one
place,
so
you
can
have
them
interacting
with
each
other.
I,
really
like
that.
It's
in
slack
I
feel
like
it's
less
scary
than
the
terminal
for
me.
D
So
it's
nice
to
have
almost
like
a
tool
Suite
that
we're
trying
to
build
out
and
I
hope.
Our
collaboration
today
will
allow
us
to
add
kept
into
that
tool,
sweep
and
then
just
some
Basics
on
what
the
plug-in
hussain's
going
to
show
you
today
right
now,
it's
a
source
plugin,
but
we
have
the
goal
of
expanding
it
to
also
being
an
executive
plugin.
So
the
goal
is
to
receive
notifications
about
Captain
events
with
block
Cube
and
your
communication
platform
today,
we'll
be
demoing
with
slack,
but
we
would.
D
We
would
also
want
to
be
able
to
trigger
commands
based
on
Source
events
that
we
get,
and
then
we
want
to
be
able
to
take
action
based
on
a
particular
Captain
event.
So
I'm
going
to
hand
it
over
to
Hussein
the
creator
of
this
plugin
I'm
just
here
to
highlight
his
work
so
yeah
take
it
away
soon.
B
Thanks
somebody
yeah,
so,
okay,
I
hope.
You
see
my
screen.
B
A
B
With
Captain,
so
I
already
have
a
captain
installation
here.
I
only
have
one
vodka
project,
so
let
me
just
show
the
metadata
of
this
plugin
first,
so,
as
you
can
see,
even
in
our
health
chart
by
the
way
this
plugin
is
already
in
with
this
string,
so
it
will
be
released
to
production
after
two
weeks
or
so
so,
once
we
release
it,
you
will
see.
This
is
our
Cloud
version.
You
can
see
the
captive
Lighting
in
our
production,
plugin
list.
B
It
will
be
available,
but
we
started
very,
very
simple
because
we
just
wanted
to
get
used
to
it
and
then
see
the
I.
Don't
know
a
couple
of
more
alternative
scenarios
here
in
Captain
we
have
only
two
parameters,
so
you
can
provide
project
you
can
provide.
If
you
are
not
inside
the
kubernetes
cluster
that
Captain
lives,
you
can
provide
your
API
gameplay
URL
here.
Also,
you
need
to
provide
your
token,
of
course,
with
a
simple
installation
here.
B
B
In
select,
as
Mario
said
in
different
platforms,
here,
I
am
saying
that
just
enabled
Captain
and
the
token
is
this
one:
the
project
is
bot
Cube
and
then
I
am
binding.
This
Captain
plug
into
a
channel
I
already
installed
this
one.
You
can
see
my
installation
here.
All
the
captain.
Captain
components
are
here,
so
what
I
will
do
is
I
already
have
this
Captain
CLI
integrated
in
my
terminal
I
will
trigger
a
second
for
this
project
and
this
service
hello.
It
contains
a
task:
I
am
using
job
executor
service.
B
B
So
this
is
my
channel
and
all
the
chapter
events
just
received
here
in
my
channel.
So
what
I
see?
Basically
I
can
see
that
okay,
there's
something
coming
from
Captain
and
it
is
triggered
initially
the
task
finished
and
I
can
see
see
also
if
there
is
a
description.
That
means,
if
Captain
gives
me
an
extra
metadata
like
the
description.
The
logs
Etc
I
can
see
that.
Okay,
this
job
executor
service
is
finished
and
the
output
is
hello
world.
That's
it
so
I
can
take
any
kind
of
event
from
Captain
D1.
B
Of
course,
I
am
using
mongodb
data
for
API
and
we
are
basically
consuming
this
endpoint.
Whenever
we
see
a
message,
we
are
shipping
it
to
the
platform
that
user
configured
yeah.
That
is
our
integration,
so
our
goal
is
to
just
introduce
the
Captain
executor
plugin,
also,
maybe
by
using
slack
as
you
can
see
in
slack
here,
for
example,
when
I
say
list
executors
I
don't
have
any
kind
of
yeah.
I
have
executors.
B
Of
course,
for
example,
I
can
I
can
run
cheap,
CTO
command
here,
qcpl
get
pause
and
Captain,
for
example,
so
you
can
see
I
have
all
the
port
lists
here.
I
can
see
there
here
if
I
have
Captain
executor
plugin.
That
means
I
can
execute
Captain
commands
within
select
or
within
teams,
or
in
this
code,
which
platform
do
you
need
yeah?
That's
it
on
my
answer.
C
And
I
think
we
are
here
today
also
to
discuss.
How
can
this
be
integrated
into
lifecycle,
toolkit
so
question
to
the
world
round?
How
would
you
see
or
put
in
vision
and
integration.
C
E
I
might
have
a
question:
is
it
possible,
with
bot
Cube,
to
have
like
a
wizard
wizard-like
command
since,
like
like
I,
say,
okay,
what
Cube
create
me
a
new
cap
metric
and
then
it
will
ask
you,
okay,
what
kind
of
Provider
do
you
want
to
to
use
say
Okay
I
want
to
use
Prometheus
as
provider,
and
then
it
says
okay,
what
kind
of
query
do
you
want
to
have
and
then
that
it's
creating
me
such
CRTs
for
for
klt
automatically?
That
would
be.
B
Yeah
we
already,
we
are
only
using
the
interactive
block
messages
in
slack,
so
it
is
available
in
cubic
CTL
So.
When
you
say
Cube
CTL
you
can
see.
There
are
a
couple
of
options
which
name
space
when
you
select
namespace,
it
says
which
resource
this
kind
of
things.
We
already
have
this
API,
but
my
question
was
about
this
nifto.
So
I
just
take
a
look
at
that
one,
but
what
about
the
existing
apis
I
mean
they
are
consuming
the
API
and
going
for
events
so
in
need
toolkit.
B
If
we
switch
to
that
one
will
we
still
be
able
to
consume
these
events,
or
this
lifecycle
toolkit
will
send
or
push
notification
to
us.
What
will
be
the.
C
We
plan
to
have
Cloud
events
that
we
meet
because
right
now
everything
when
we
monitor
your
deployment
with
klt.
We
emit
kubernetes
events,
but
we
plan
to
also
support
Cloud
events
and
maybe
CD
events
more
specifically,
and
so
basically
we
would
push
events
to
you.
If
you
configure
your
endpoint
to
us.
B
Okay,
because
our
end
users
mostly,
are
just
allergic
to
exposing
this
kind
of
standpoints.
For
example,
we
saw
this
with
Ms
teams
and
the
Legacy
like,
so
they
need
a
web
program.
Point
a
push
notification
to
us,
but
the
end
user
says
that
we
don't
want
to
expose
this
kind
of
one
point
to
the
public.
So
if
there
will
be
a
chance
to
consume
this
still
from
an
endpoint,
it
would
be
best
for
us
and
in
the
issues
I
already
saw
that
the
existing.
E
B
A
B
Because,
most
of
the
time
they
deploy
board
chip
in
a
maybe
essential,
kubernetes
cluster,
and
then
you
can
think
that
the
bot
group
deployment
is
in
a
different
kubernetes
cluster
than
Captain
instance.
You
can
think
something
like
this,
so
they
need
to
expose
this
one
to
publicly
or
they
need
to
do
some
kind
of
VPC
bearing
to
send
this
notification
through
a
tunnel
or
something
like
that.
B
C
A
F
A
G
F
F
C
I,
don't
know
if
this
works
with
you.
Can
you
digest
open
Telemetry
data
would
make
sense
for
Bots
Cube
to
receive
this
type
of
data.
B
C
C
D
Thank
you
so
much
for
having
us
and
listening
to
our
presentation,
I
guess
a
follow-up
question,
so
we
do
have
a
PR
about
getting
onto
the
captain
integration
page
so
do
do.
We
want
to
clean
up
and
switch
to
the
klt
before
we
get
pushed.
We
can
officially
be
on
the
Integrations
page
or.
C
I
think
we
can
go
ahead
and
merge
the
existing
PR.
Actually.
Could
you
please
send
in
the
chat
so
I
can
edit
here.
C
Yeah
we
suggest
we
can
already
go
ahead
since
you
already
have
something
built
and
then,
when
we
finish
with
the
klt
integration,
we
can
simply
change
that.
Thank
you
very
much.
A
C
However,
there
is
a
bit
of
a
problem
with
the
first
part,
which
is
supporting
the
Readiness
Gates
of
kubernetes,
so
we
can
get
rid
of
a
custom
scheduler.
We
have
a
bit
of
a
problem
here,
so
I
will
remove
these
tickets
from
the
Milestone
and
push
down
back
to
0.10.
The
problem
is
the
controller
runtime
So
reading
escapes
I've
been
introduced
with
126
27
in
beta,
we
plan
to
make
use
of
them,
but
unfortunately
there
is
an
issue
with
a
fake
client
which
makes
impossible
to
test
and
breaks
all
our
existing
tests.
C
Therefore,
we
need
to
wait
until
they
fix
this
problem
and
they
release
a
new
version,
and
this
takes
between
one
and
three
months.
Looking
at
their
past
release
scheduled
so
I
would
move
all
of
this
ticket
to
the
following
up.
Milestone.
C
G
We
get
oh
Josh
here:
aha
hi,
Ash
Yash
is
working
on
improving
the
architecture,
documentation
and
that
is.
Would
you
like
to
give
us
a
status
of
how
that's
going
Ash.
I
Sure
so
I
recently
started
working
on
the
ktl
scheduler
and
the
lifecycle
toolkit
operator.
So
till
now,
I
had
drafted
the
pr
for
documentation
one
and
got
some
suggestion
over
it.
So
we'll
work
up
on
the
suggestion
which
have
been
recommended
on
the
captain,
scheduler
PR.
Basically,
I
would
like
to
link
it
over
here.
C
G
I
F
G
Like
not
really
I'm,
mostly
working
on
migration,
I
got
sidetracked
into
found.
Another
sort
of
big
problem
in
the
background
stuff,
so
I
thought
we'd
have
more
people
here
to
discuss
some
of
the
architecture
stuff.
But
since
we've
got
a
lot,
I
think
we've
got
a
lot,
can
I
exceed
my
time
and
let
you
get
started
on
refinement.
C
C
So
this
is
a
very
huge
file
created
by
florium,
which,
unfortunately,
is
not
here
today
and
I
will
try
to
guide
you
through
it.
C
C
We
give
some
custom
name,
and
then
you
define
okay
based
on
the
value
of
this
SLI
I.
Consider
that
to
be
okay
to
pass
it
if
it's
either
less
than
600
or
less
than
plus
10
percent
compared
to
the
last
time.
I
have
related
this
and
we
have
also
some
warning
criteria
to
set
okay,
it's
not
pass,
but
it's
also
not
failing
it's
more
in
a
critical
state
in
a
warning
state.
So
we
can
Define
this
if
it's
between
600
and
800,
basically,
and
then
we
can
compute
a
score.
C
If
you
have
multiple
criteria
simulated
here,
each
one
would
get
a
score
and
you
can
set
okay.
I
want
at
least
90
percent
of
my
slis
to
be
successful.
C
C
The
project
stage
and
service
are
passing
through
here
from
Captain,
but
then
you
can
also
use
these
filters,
data
that
you
provided
before
and
then
captain
will
run
this
for
the
stage
and
the
service
that
you
specified
and
automatically
fill.
All
of
this
variable
for
you
and
query
the
data
from
your
provider
for
klt.
C
C
And
this
should
be
one
crd
per
SLI
that
you
want
to
use
this
way.
You
can
reuse
it
through
multiple
Sr
evaluation,
for
instance
the
standard
for
Golden
Matrix
photovolate,
the
service.
You
just
need
to
Define
them
here
and
then
you
can
refresh
from
multiple
services
from
multiple
slos
and
you
just
you
know,
replace
a
specific
parameters
for
them.
C
The
most
harder
part
is
to
map
the
SLO
into
the
lifecycle
toolkit,
and
for
this
we
come
up
with
a
name
called
analysis
definition
which
is
similar
to
the
SLO
file.
But
now
it's
more
descriptive
because
we
saw
that
we
encode
here
a
special
logic
behind
the
scene.
If
you
have
multiple
criterias,
those
are
evaluated
in
a
or
fashion,
but
inside
the
criteria,
if
multiple
items
or
those
are
evaluated
with
an
end-
and
this
was
a
bit
confusing
for
past
users,
so
we
said
okay,
we
want
to
make
things
more
explicit.
C
So
now
the
pass
you
can
have
any
of
all
of
none
of
some
more
descriptive
name
that
defines
how
the
children
of
this
element
should
be
evaluated,
and
then
we
can
have
the
standard
Target
rule
instead
of
having
unencoding
strings.
We
would
like
to
have
more
explicit
operator
this
way
we
can
fail.
When
you
try
to
apply
this
definition
in
the
cluster,
we
can
have
a
predation
Web
book
that
makes
it
fail
directly
without
the
need
of
parsing
a
string
at
runtime
and
set
up
sorry
when
we
try
to
relate
to
your
SLO
file.
C
C
C
We
can
then
add
some
extra
metadata.
We
first
call
it
selector,
but
selector
is
a
bad
name,
because
it's
has
a
specific
meaning
in
kubernetes,
and
we
agree
that
this
is
a
bad
name
and
should
be
called
metadata
context.
Something
like
that
which
is
similar
to
the
filter
field
that
we
have
here
in
the
old
V1.
C
You
apply
this
resource
into
your
cluster
and
then
behind
the
scene.
The
captain
operator
will
start
to
crunch
some
data
and
we'll
present
in
the
result
here
the
final
score
of
your
relation.
If
it's
good
bad
warning,
Etc
I
won't
go
too
much
into
the
details
about
how
we
understand
everything
would
work,
but
here
flow
also
draw
a
bit
of
example.
What
are
the
crds
that
you
need
to
write
them
statically
and
what
are
the
one
to
be
created
at
runtime
to
perform
the
valuation?
C
So
if
you
have
two
services,
you
would
need
to
Define
two
different
analysis.
Definition
per
each
service,
because
the
two
different
services
will
have
two
different
SLO
definition,
because
maybe
service
one
is
more
a
CPU
critical
service.
So
you
want
to
check
for
CPUs
value
and
service
2
is
that
is
more
memory,
consumption
type
of
service.
So
you
want
to
check
for
some
Metric
for
the
memory
and
then
you
basically
from
the
definition
of
the
service
one.
C
You
will
then
refer
to
different
analysis,
value
template
what
the
industry
calls
also
SLI
and
all
of
this
part
here
will
be
statically
already
available
in
the
cluster
when
you
want
to
perform
the
evaluation.
The
only
resource
that
you
should
create
is
the
analysis
CR
that
refers
for
which
service
I
would
like
to
evaluate
and
then
behind
the
scene.
Klt
will
pick
up
this
SLO
definition
knows:
okay,
I
need
now
to
fetch
these
three
metrics.
C
Most
importantly,
maybe
Adam
I
know
that
you
asked
this
in
the
past.
We
are
finally
solving
the
issue
where,
in
the
past,
in
P1,
we
could
have
only
a
single
provider
per
SLO
evaluation.
So
I
cannot
fetch
this
metric
from
dynatrist
this
metric
from
data
doc.
This
metric
from
Prometheus,
we
could
only
fetch
all
of
this
from
a
single
provider
and
now,
instead,
we
allow
to
have
pick
and
choose
different
providers
for
different
metrics.
J
F
C
We're
still
evaluating
if
we
can
reuse
but
most
likely,
no,
because
if
you
define
a
CR
called
Captain
metric,
then
how
can
you
differentiate
between
continuously
polling,
this
data
from
the
provider
from
just
one
of
so
in
terms
of
feature
parity
between
bottom?
This
metric
can
do
versus
analysis.
Value
would
be
the
same,
but
the
purpose
is
different.
Capital
metric
is
continuously
evaluated.
The
analysis,
value
is
or
SLI
or
single
metric
is
computed
once
at
that
specific
time
frame
that
you
define
here.
J
One
other
thing:
that's
came
to
mind
with
with
Git
Ops.
Do
you
need?
Do
you
I,
don't
even
know
if
you
can
do
in
a
second
analysis
at
any
time,
but
do
you
need
another
CR?
Do
you
need
to
create
basically
another
yaml
file
for
a
secondary
yeah?
More,
it's
not
a.
F
Yes,
there's
two
ways:
I
think
from
what
floor
said
either.
F
If
you
use
KRT
for
the
whole
life
cycle,
then
the
analysis
would
be
created
automatically
as
part
of
a
post-deployment
task,
for
example
yeah,
and
then
you
can,
for
example,
right
after
load
testing
trigger
the
analysis
automatically
through
the
lifecycle
operator,
and
it
would
be
evaluated
that
way
or
the
other
way
is.
If
you,
for
example,
just
want
to
use
the
Matrix
operator,
you
could
keeps
it
will
apply
analysis,
yamo
and
and
triggered
manually
kind
of
that
way.
C
C
And
here
for
usan
and
Maria
I
think
this
is
a
good
integration,
because
then,
with
the
bot,
you
can
write.
Please
operate
my
service
and
you
can
maybe
ask
for
a
wizard
okay,
for
which
time
frame
do
you
have
any
extra
metadata
that
you
would
like
to
pass
through
and
then
you
get
back
the
results
with
okay,
the
quality
of
my
front
end
is
90
percent.
C
B
So,
for
example,
in
the
promise
Community
operator
when
we
install
it,
there
are
lots
of
user
phone,
for
example,
alert
manager,
rules
that
by
default
you
can
use
them,
but
in
Captain
once
we
install
it,
the
dashboard
is
empty.
With
this
lifecycle
toolkit.
So
will
there
be
some
kind
of
user
for
analysis
files
SLR?
There
will
be
such
a
thing
or
it.
G
C
C
We
had
a
cons
at
a
decision
that,
for
the
lifecycle
took
it,
we
will
not
have
any
special
UI.
We
have
a
problem
that
we
don't
have
many
front-end
developers
that
contribute
to
the
project
and
maintaining
the
UI
is
hard.
Therefore,
we
decide
to
expose
everything
as
open
Telemetry,
so
we
can
use
Prometheus,
grafana
and
Jaeger
as
a
UI.
B
C
We
don't
plan
to
expose
any
rest
API
for
that,
but
you
can
do
that
through
checking
the
status
of
the
crd.
Okay,
yes,
Andre.
H
Yeah
also
I
think
for
this
usage.
We
will
Implement
kubernetes
events,
the
link
that
will
actually
tell
in
what
stage
the
whole
evaluation
or
the
life
cycle
is
in.
So,
according
to
this
being
already
standardized
the
events
enough
for
at
least
the
basic
evolution
management.
J
Actually,
I'm
just
thinking
a
little
bit
more
about
bot,
Cube
and
it'd,
be
really
nice
to
be
able
to
say
get
me
the
services
that
on
a
cluster
the
captain
is
or
or
the
lifecycle
toolkit
is
managing
for
one
of
a
better
word
so
where,
where
it's
active,
get
me
the
namespaces,
where
the
lifecycle
toolkit
is
active.