►
From YouTube: Keptn Community & Developer Meeting - March 25th, 2021
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
A
Hi
everyone
welcome
to
this
week's
captain
community
and
development
meeting
it's
march
25th,
and
we
can
have
a
couple
of
themes
to
show
and
to
discuss,
as
always
we're
following
the
cncf
code
of
conduct.
Please
be
nice
to
each
other,
but
you
are
as
always,
I
guess,
and
so
for
today
I
just
want
to
start
with
the
action
items
that
actually
came
out
from
the
last
meeting
and
I
believe,
they're
still
in
progress.
A
We
decided
to
also
include
the
spell
check
for
the
spell
check
bot
that
josh
has
presented
in
the
last
minutes,
also
for
the
captain,
documentation
and
the
capital
tutorials.
I
think
this
is
not
yet
done,
so
we
probably
need
to
keep
it
as
an
action
item
also
for
next
week,
or
is
there
any
update
on
this.
B
There
is
no
update
on
that
one,
but
on
this
week
we
noticed
that
at
some
point
this
spell
checker
is
a
little
bit.
I
don't
want
to
say
annoying,
but
it's
brings
up
too
many
advices
so
to
say,
and
we
decided
to
change
it
and
to
just
use
it
for
the
documentation
and
to
really
written
documents
and
not
to
decode,
and
this
is
what
we,
what
we
want
to
change.
A
Enable
this
and
the
other
part
is
basically
to
it's
a
bit
too
verbose.
D
It
depends
a
little
bit.
I
think
it
makes
much
more
sense
if
you
only
inspect
so
to
say
the
strings
which
eventually
end
up
in
the
output
to
the
user
in
the
source
chord
to
only
take
this
part
into
consideration,
but
we
need
to
we
need
to
clarify
with
josh
if
this
is
doable.
If
we
can
tweak
spell
check
like
to
do
such
things,
so
I
would
not
say
let's
turn
it
completely
off,
but
let's
see
if
we
can
relax
it
a
little
bit
only
considering
strings
and
output
statements,
maybe
it
works.
D
I
think
we
should
also.
A
Once
we
or
if
we
put
this
into
an
issue,
we
can
remove
it
from
from
this
agenda
and
don't
have
to
to
carry
it
on.
Probably
we
can.
We
can
do
it
until
next
week
and
then
I'll
present,
how
the
I
think,
especially
for
these
two
parts
for
the
documentation,
tutorials.
A
Yeah
thanks
everyone
that
is
also
joining
from
the
community.
Please
just
add
your
names,
hi
raj
great
too,
to
also
see
you
here
then
I
want
to
to
give
a
shout
out
to
gabriel.
He
just
released
a
blog
post
on
this,
and
let
me
just
close
my
slides
here,
a
great
blog
post
on
how
to
to
do
modern,
continuous
delivery
on
kubernetes.
So
it's
really
developer
focused
it's.
It's
actually
really
kind
of
a
hands-on
blog
post.
C
Quality
gates,
edit.
A
So
that's
pretty
cool
and
with
that
I'm
already
handing
over
since
I
I'm
also
excited
about
the
captain
about
the.
A
Release
and
yeah,
please
take
it
away,
I'm
not
sure
who
is
who.
B
I
added
this
link,
but
it's
just
a
summary
of
what
have
been
done.
The
last
two
last
four
weeks,
and
I
don't
want
to
talk
too
much
because
it's
the
stage
for
the
people
that
did
the
work.
I
was
just
writing
the
release,
notes
and
not
doing
the
implementation,
but
thanks
for
having
it
open
right
now,
yeah
it
provides
you
a
high
level
summary
of
what
you
get
with
0.8.1.
B
B
As
you
can
see
here,
the
environment
screen
got
the
capability
to
show
you
which
sequence
sequences
got
triggered,
and
you
can
also
now
add
a
display
name
for
your
slos
so
that
you
have
then
a
more
human
human
readable
as
lone
amps,
which
makes
it
more
friendlier
to
look
at,
and
this
is
what
I
want.
The
last
announcement
I
want
to
point
out
is
that,
with
this
new
bridge
and
new
version,
we
also
provide
a
mock-up
for
how
we
envision
the
captain.
Uniform
should
look
like
as
when
you
follow
captain.
B
You
may
have
heard
this
term
for
yeah
the
one
or
other
time,
and
the
captain
uniform
is
the
concept
of
the
services
that
are
executing
tasks
and
doing
their
job
as
part
of
their
sequence
and
in
the
future.
We
need
a
way
to
show
you
in
the
ui,
where
the
services
live,
whether
they
are
healthy
or
not,
and
which
subscriptions
do
they
have,
and
with
this
release,
we
want
to
provide
you
a
mock
that
just
gives
you
an
idea
how
this
how
this
can
be
implemented
and
we
are
well.
B
We
would
like
to
get
your
feedback
to
also
then
make
enhancements
in
this
regard
and
to
open
this
mock.
You
just
have
to
add
or
to
go
your
you
go
to
a
project
in
your
bridge
and
then
you
just
add
ff
minus
uniform,
and
this
brings
you
then,
to
the
to
the
mockup
all
right,
and
I
think
I
will
stop
now,
because
I
see
that
others
want
to
show
their
features
and
implementations
that
they
did
and
we'll
hand
over
to
the
next
in
the
in
the
list.
E
All
right,
thank
you.
Let
me
just
share
my
screen
all
right
today.
I
want
to
show
you
two
pro
requests.
Both
are
related
to
two
services
that
live
in
the
captain
contrib
organization,
so
the
first
one
is
the
dynatrace
service,
and
this
pull
request
was
about
establishing
feature
parity
with
previous
versions
that
were
based
on
the
previous
captain
version,
so
0.7.
E
So
the
natural
service
provided
a
couple
of
features
that
were
only
compatible
with
that
previous
cabin
version,
but
not
with
0.8
yet,
and
that
has
been
addressed
with
that
pull
request.
So,
in
essence,
what
has
been
added
in
the
dyna
tray
service
is
now
a
better
support
for
the
auto
remediation
use
case.
So
basically,
what
the
dynadress
service
is
now
able
to
do
is
it
will
subscribe
to
action.triggered,
action.started
and
action.finished
events
and
will
then
post
comments
to
the
correlating
problem
in
diameters
that
actually
kicked
off
the
remediation
use
case.
E
So
if
we-
and
that
allows
the
user
to
get
a
better
insight
in
what
is
happening
in
the
scope
of
the
problem
that
was
detected
by
the
energy.
So
if
you
look
at
that
screenshot,
we
have
the
the
problem
page
that
basically
highlights
the
impacted
service
and
down
below.
We
see
that
captain
or
the
diner
tray
service
pushes
comments
to
the
problem
in
order
to
provide
an
easy
way
to
keep
track
of,
what's
happening
actually
during
the
remediation.
E
Then
if
the
remediation
action
has
been
executed
successfully
and
also
the
result
and
afterwards
the
service
will
also
please
subscribe
to
the
evaluation,
finished
events
and
we'll
detect
if
an
evaluation
finished
event
has
been
related
to
a
problem
and
if
that's
the
case,
it
will
also
comment
the
result
of
the
evaluation
to
the
comment.
E
All
right,
if
not,
let's
continue
with
the
second
service,
so
this
is
about
the
dynatrace
sli
service.
Also,
here
we
basically
released
three
versions
that
are
have
been
compatible
only
with
captain
0.7,
and
here
I
also
worked
on
establishing
feature
parity
with
the
version
that
is
compatible
with
canon
0.8
and
this
maybe
to
get
a
better
overview
of
what
has
been
introduced
here
is
yeah.
Let's
have
a
look
at
the
release
notes
of
those
three
intermediate
versions.
E
D
E
Have
if
you
have
used
the
service
in
the
past,
you
may
have
noticed
that
it
also
has
the
feature
of
generating
your
sli
values
and
snos
via
the
by
a
dyno
trace
dashboard.
E
So
using
this
kind
of
title
you
can
generate
the
custom,
chart,
time
series
and
then
use
the
information
from
that
to
include
it
in
your
evaluations.
E
E
F
F
Thank
you
very
much.
I
want
to
present
a
rather
small
pull
request
or
improvement
in
the
bridge
since
yeah,
mainly
bug
fixes
have
been
done,
but
the
one
nice
enhancement
here
is.
We
now
also
show
the
evaluation
result
on
the
root
event.
Next
to
the
stage
information,
and
let's
have
a
look
at
the
issue
that
we
had
here
or
how
it
was
requested.
F
Previously
we
showed
the
stages.
This
sequence
went
through
and
also
indicated
the
result.
F
So
you
saw
here
red
or
green
or
orange
based
on
the
evaluation
or
if
there
are
some
problems,
for
example,
if
something
happened,
it
was
indicated
in
red,
but
you
had
not
the
result
immediately
here,
but
you
have
to
click
inside
this
stage,
this
sequence
and
to
see
the
details,
and
now,
with
this
pull
request
in
this
overview
tile,
we
show
the
stages
this
sequence
went
through
and
also
include
the
evaluation
result
that
was
provided
in
this
stage
next
to
this
stage
info.
F
So
you
see
that
the
color-
and
you
also
see
the
result
so
to
say
that
the
score
of
this
evaluation
that
was
executed
in
this
stage-
yeah-
that's
actually
what
I
wanted
to
present
here.
Of
course,
I
can
also.
I
always
have
a
live
demo
here
present.
F
So
now,
when
you
see
your
sequences
and
also
in
the
service
screen,
when
you'll
have
a
look
at
the
executions
here,
you
see
already
in
the
overview
what
happened
here
and,
for
example,
this
is
a
good
example
here
I
have
a
deployment
that
failed
in
stage
and
yeah.
It
didn't
make
it
to
production
in
this
case,
or,
for
example,
here
we
have
a
good
version
of
my
card
service
and
because
of
the
good
result
in
staging
it's
deployed
in
production.
F
D
Good
yeah,
in
the
upcoming
version
of
captain,
we
will
have
a
new
service,
it's
called
a
secret
service
and
this
one
will
actually
provide
an
api
to
create
or
delete
the
secrets
in
the
in
the
system.
Why
do
we
need
this?
In
the
end,
we
want
an
abstraction
for
creating
secret
secrets,
which
shall
work
for
different
kind
of
back
ends.
D
For
example,
you
want
to
create
sequence
in
a
void
system,
or
you
want
to
create
secrets
or
secrets
natively
on
kubernetes
and
potentially
also
other
secret
systems
which
are
are
out
there.
So
there
was
a
discussion
going
on
on
github
and
basically,
if
you're
interested,
you
can
of
course
read
it,
or
there
was
a
final
proposal,
then,
in
the
end,
how
such
a
secret
api
can
look
like
as
a
first
version.
So
it
is
not
really
that
interesting
from
an
api
point
of
view.
Basically,
it's
just
yeah.
D
They
are
just
crowd
operations
where
you
can
create
update
or
delete
secrets
in
the
system.
The
interesting
part
is
that
the
service
which
is
taking
over
this
responsibility,
the
secret
service,
shall
be
implemented
to
support
different
types
of
back
ends.
In
the
end,
it
should
be
configurable
via
environment
variables,
where
you
just
put
in
the
type
of
backend
you
want
to
use.
For
example,
if
you
have
an
already
existing
void
and
there's
a
back-end
implementation
for
this
one,
you
can
choose
it
where
this
environment
variable
back-end
type.
In
the
first
version,
only
the.
D
D
D
For
now
getting
a
sequence
where
this
api
is
not
implemented,
I
will
come
to
that
also
later
how
you
can
actually
make
use
of
the
secret
that
you
are
creating
via
this
api
but
yeah.
As
you
can
see
here,
the
endpoint
will
be
secret.
Slash
version
number,
then
secret,
and
if
you
post
there
a
specific
payload,
for
example,
this
one
is
a
little
secret,
which
has
a
name,
a
scope
and
a
data
block
which
consists
of
key
value
pairs.
So
nothing
nothing
special
here
you
can
create
it.
D
This
way
update
it
that
way
and
also
delete
it,
then,
via
query
strings,
so
you
say:
please
delete
the
secret
with
that
name
in
scope.
Captain,
for
example,
maybe
jump.
Let's
jump
to
how
to
use
that
one,
I
will
make
it
a
little
bit
bigger.
D
D
Just
looks
like
that,
you
give
it
a
secret
name,
and
this
might
be
familiar
to
everyone
using
kubernetes.
You
pass
in
the
payload
with
from
literal
flag
and
there
you
can
put
in
the
key
and
value
pairs.
For
example,
I
have
here
a
secret
which
has
a
key
use
username
and
the
value
beyond.
D
If
I
execute
this
command,
we
have
here
the
message
that
it
was
successfully
created
and
I
can
talk
a
little
bit
how
it
is
implemented,
as
I
talked
as
I
mentioned
before,
only
the
kubernetes
backend
is
supported
right
now.
So
how
does
this
look
like
on
the
kubernetes
side?
Here
I
have,
let's
make
it
a
little
bit
bigger.
D
D
I
think
it's
on
the
configuration
secrets-
and
here
we
have
the
my
secret
secret
and
it
has
the
key
value
pair
username
band.
Okay,
nothing
special!
So
far
you
would
have
expected.
There
is
no
secret
on
a
community
set.
Okay,
what's
also
happening
behind
the
scenes
is
that
specific
roles
gets
get
created.
D
This
is
the
default
configuration
so
to
save
the
secret
service.
Is
it
has
just
a
single
scope
which
is
called
captain
default?
So
if
you
don't
provide
a
scope
here
from
the
cli
via
minus
minor
scope,
this
default
scope,
captain
default
will
be
used
and
in
the
background,
so
each
scope
can
have
different
capabilities.
D
First,
the
captain
scope
as
it
is
right
here
only
has
one
capability
with
which
is
called
cap
secrets
default,
read
and
yeah,
as
the
name
suggests.
It
only
permits
read
access
to
secrets
in
that
scope,
so
this
one
here
actually
matches
them
with
the
roles
created
by
the
secret
service
and
the
kubernetes
side.
So
here
we
see.
D
D
So
if
I,
for
example,
create
another
secret,
I
don't
know
a
secret
too.
I
should
see
here
that
the
row
gets
updated
with
an
additional
resource,
name
secret
too.
So
now
also,
this
secret
can
be
read
via
this
role
because
it
was
configured
by
the
secret
service
and
we
can
of
course
delete
the
secret
again
and
then
it
should
disappear
from
that
list.
D
Again
now,
what's
now
important
for
services
who
want
to
actually
read
the
secrets,
secrets
or
make
use
of
it,
they
need,
of
course
be
deployed
with
the
service
name,
which
is
bound
to
these
roles.
D
I
have
no
example
service
available
right
now,
but
this
is
just
a
matter
of
configuration
how
you
deploy
your
service.
If
you
want
to
edit
your
scopes,
it's
currently
only
possible,
via
this.
D
Config
map
here,
so,
if
you
want
other
capabilities,
for
example,
you've
created
a
secret
yeah,
my
secret,
for
example,
but
you
have
services
which
might
be
in
the
need
of
reading
and
updating
the
secret.
You
just
created
an
additional
capability
here,
and
this
will
then
also
be
created
as
a
role
on
the
community
side
and
the
service
who
needs
to
update
or
read.
The
secrets
needs
to
have
a
role
binding.
D
Yeah
so
currently
there's
no
api
for
managing
scopes.
Maybe
this
will
come
later
you
need
to
for
now.
You
need
to
edit
this
here
by
hand
if
we
only
need
to
provide
an
api.
Also
for
that
there
will
be
an
end
point
where
you
can
say:
captain
create
secret
scope
and
it
it
will
then
take
care
of
creating
the
data
entries
in
this
file
or,
however,
it
will
be
implemented
implemented.
I
don't
know
right
now,
so
any
questions
to
this
aspect.
A
Kind
of
to
to
automate
the
generation
of
the
the
config
map
and
also
the
what
was
it,
the
service
role
or
something
whenever
you
create
the
secret.
D
D
However,
you
need
it,
so
it's
not
like
a
convenience
function
or
how
you
call
it,
but
it's
just
the
concept
how
the
secret
management
you
know
on
an
abstract
level
works
like
if
you
have
void,
for
example,
you
you
or
you
have
name
spaces.
If
you
have
something
from
data
bricks
or
something
it's
called
also
other
scopes
there.
I
think,
and
also
it's
abstracted
a
way
away
via
scopes
and
capabilities.
Here
you
can
think
of
capabilities
like
acls,
for
example,
ac.
So,
basically,
basically
they
are
acls
for
roles.
A
D
So
the
nice
thing
is,
from
a
user
point
of
view,
you.
D
D
Don't
need
to
bother
with
that
there's
also,
of
course,
a
swagger
ui
for
that
which
unsurprisingly
looks
like
this
here,
so
you
can
play
a
little
bit
with
that
to
create
update
or
delete
secrets
using
that
api.
D
So
now
the
question
may
arose
arise.
How
do
I,
for
example,
if
we
have
now
avoid
like.
D
E
No
think
you
have
to
activate
that
in
the
settings
of
goland.
I've
recently
stumbled
upon
that.
So
the
settings-
okay.
D
D
Okay
right
here
you
see
the
default
implementation
of
the
secret
backend,
the
of
the
secret
service,
which
only
deals
with
the
kubernetes
backend.
If
you
to
extend
the
secret
service,
the
only
thing
you
need
to
do
is
here:
the
back-end
package
implement
another.
D
And
you
need
to
provide
the
initialize
method,
which
will
be
called
for
registering
your
backend.
So
in
this
case
you,
this
kubernetes
backend
here
called
just
kubernetes-
will
be
registered
in
the
registry
of
the
secret
service
and
you.
What
do
you
register?
You
tell
the
secret
service
how
to
create
your
secret
backend,
so
you
basically
give
it
a
factory
function
to
create
your
backend
for
the
kubernetes
backend.
It's
of
course
creating
the
kubernetes
go
client
or
reading
the
configuration
from
the
cluster
and
providing
the
api
here
in
the
implementation
of
the
kubernetes
secret
backend.
D
D
D
A
Cool
thanks
thanks
grant.
I
saw
that
george
also
joined
for
today's
meeting
and
I
think
there
are
no
more
items
on
the.
I
think
I
messed
up
and
I
have
to
close
my
window.
C
A
Is
also
here
I
will
promote
yours
to
the
panelists.
Maybe
we
can
briefly
what's
his
back.
A
A
Us
are
you
with
us
here,
yeah,
I'm
here,
okay,
cool
awesome,
so
I
want
to
share
again
my
document,
but
I
have
so
many
browser
texts
and
I
kind
of
lost
it.
A
So
our
our
idea,
what
we've
discussed-
and
we
also
discussed
the
briefly
yesterday
on
slack-
was
that
the
the
spell
bot
is
very
the
spell
checker
is
very
verbose
and
very
kind
of
aggressive
when
it
comes
to
checking
for
misspelled
words,
and
we
were
thinking
about
if
we
can
kind
of
limit
it
and
drink
it
to
only
take
strings
that
are
actually
yeah,
not
variable
names,
not
other
names
of
packages
and
these
kind
of
things.
If.
A
We
would
probably
first
kind
of
use
it
for
documentation
and
the
tutorials
markdown
files
and
all
these
kind
of
files
that,
if
there's
any
way,
maybe
you
can
help
us
out
here.
C
Right,
sorry,
the
normally
you
it
it.
The
easiest
thing
you
can
do
is
either
exclude
files
entirely
or
exclude
patterns.
C
So
one
pattern
that
you
could,
for
instance,
exclude,
would
be
the
beginning
of
the
line
to
the
first
quote
or
the
beginning
of
the
line
or
the
or
the
last
quote,
to
the
end
of
the
line,
and
it
would
it
might
work,
assuming
that
your
average
line
only
has
one
string,
I'm
not
sure.
Well,
you
could.
We
could
definitely
try
that
and
see
what
it
looks
like.
I
don't
know
how.
Often
you
have
like
more
than
one
string
on
a
line.
D
Yes,
we
have
that.
Actually,
I
think
there
will
not
be
a
hundred
percent
solution
for
that,
especially
if
we
think
of
different
programming
languages,
we
don't
just
have
golang,
we
also
have
typescript
and
so
on
right.
We
should
also
work
for
bash
and
so
on.
I
think
it
would
be
a
more
should
be
a
more
flexible
solution,
which
is
maybe
not
detecting
100
of
all
errors,
but
nonetheless
pretty
a
bunch
of
them.
A
Yeah,
actually,
this
has
to
be
decided
by
by
more
development.
D
For
example,
can
I
share
my
screen
for
a
moment
sure
what
I
mean
so
I'm
writing
this.
E
D
Where
we
could
work
on
this,
ideally
with
the
help
of
charles
church,
for
example,
in
our
source
code,
we
have,
for
example,
this
import
statement,
which
is,
I
think,
from
a
development
point
of
view,
totally
fine.
You
have
import
k,
kads
error
abbreviation
for
that.
I
think
that's
fine,
however.
However,
the
spell
check
is
complaining
now
that,
via
some
logic,
I
don't
know-
I
don't
know
which
algorithm
was
used
here,
but
it's
kind
of
confused
about
this
part
of
that
line
that
and
you
need
to
add
nowadays
to
the
ignored
file.
D
C
Well,
you
can
adjust
the
pattern
so
that,
instead
of
looking
for
k8s,
it
works
for
case
slash,
ds
and
because
you
now
have
a
pattern,
you
can
see
how
to
adjust
it.
It.
I
specifically
have
a
pattern
that
I
often
use,
which
is.
C
D
C
D
But
I'm
still
not
a
100
convinced
that
checking
those
stuff
is
even
helpful.
I
don't
know.
A
But
might
it
be
a
a
good
approach
to
let's
say
only,
do
this
the
check
for
user-facing
components
and,
let's
say,
exclude
the
event
broker
and
exclude
the
I
don't
know
like
the
health
service
or
whatever.
D
D
I
also
thought
about
such
a
thing.
Maybe
this
is.
This
would
be
good,
for
example,
if
you
know
okay,
this
source
code
file
now
contains
strings.
We
will
which
will
be
presented
to
the
user.
Then
you
put
just
a
command
tag
or
an
annotation
to
that
file
at
the
top
or
somewhere,
which
is
known
to
the
spell
checker,
and
if
it's
present
it
will
check
this
specific
file
for
spelling
actions
for
all
other
files
for
all
other
source
code
files.
C
C
That
you
can
do
today
by
not
by
internals
of
the
file,
but
there's
a
file
called
only
and
that
takes
patterns.
So
just.
C
So
that's
that
is
achievable
today
with
a
line
or
two
of
text.
Now
it
is
external
to
the
file,
but
that
means
that
the
the
spell
checker
doesn't
have
to
read
all
the
files
to
decide.
Oh,
I
shouldn't
be
looking
at
this
file
at
all
and
it's
centralized.
D
Well,
I
would
put
this
this
thing
things,
for
example,
in
the
cli
code,
where
a
lot
of
strings
are
presented
to
the
user,
but
I
would
not
put
it
like
for
internal
packages
which
will
never
get
to
the
end
user,
and
if
there
are
special
abbreviations
or
something
like
that,
it
doesn't
matter
so
much.
D
A
And
then
I
see
we
got
another
item
on
the
chandeliers
and
I
think
we
still
have
like
10
minutes
left
so
actually
this.
I
think
I
added
this
as
the
backlog
for
next
week
and
I
actually
also
want
to
keep.
Actually
I
want
to
keep
it
for.
A
I
will
just
promote
you
also
to
panelists
or
because
what
we
actually.
A
Yeah,
I
think,
he's
training,
but
what
we
actually
want
to
have
is,
I
think,
last
week
or
two
weeks
ago,
we
kind
of
distributed
the
the
developer
community
meetings.
I
I
thought
the
fourth
thursday
is
the
only
meeting.
A
A
Okay,
so
we
have
it,
but
thanks
for
for
being
proactive
and
adding
this
to
the
to
the
document,
but
I
think
with
this
we
can
close
this
and
vernon
and
joshua
thanks
for
for
taking
up
this
or
picking
up
this.
This
item
yeah
see
you
all
next
week
in
the
meeting
and
then
we
will
take
a
look
at
the
rush
contribution
and
also
another
community
contribution
from
to
the
to
the
cli
there.
Any
more
questions
or
talking
points
that
we
should
take
before
closing.