►
From YouTube: Lessons Learned from Maintaining Our Own Chart Repository Tomas Pizarro Moreno, Advanced Engineer,
Description
Lessons Learned from Maintaining Our Own Chart Repository - Tomas Pizarro Moreno, Advanced Engineer, Bitnami
Join us for KubeCon + CloudNativeCon in San Diego, November 18 - 21. Learn more at http://bit.ly/2lmMzip. The conference features presentations from developers and end users of Kubernetes, Prometheus, Envoy and all of the other CNCF-hosted projects.
A
So
who
I
won
I,
let
me
introduce
myself
I'm
Thomas
B
Pharaoh
I'm,
a
telecommunications
engineer,
I
studied
in
the
university
of
seville
and
I
specialize
in
computer
science.
I've
been
working
for
benami
for
the
last
five
years.
You
know
with
me
now
is
part
of
VN
words
in
the
last
spring,
and
this
is
where
you
can
find
me.
You
can
find
me.
We'd
have
I'm
dump
is
more
layer
also
in
link
adding
on
the
kubernetes
a
slack.
So
my
background
in
vietnam
has
been
creating
production-ready
assets
for
several
platforms.
A
This
is
single
VMs,
multi
des
container
hand,
charts
and
a
perfect
for
from
creating
these
these
assets.
It's
also
I
also
take
care
of
maintain
them.
This
means
data
component
fix
the
vast
reported
by
the
users.
I
also
reply.
Some
support
support
cases
I'm
here
to
told
you
about
distributing
distributed
repositories
for
home
charts
hell
was
designed
thinking
on
distributed
repository
since
since
the
beginning,
we
know
this
because
of
the
the
hem
common
line.
A
A
A
In
fact,
if
you
try
to
add
a
new,
a
new
repository
to
the
stable
repository,
you
get
a
warning
thinking
a
new
one
in
you
think
twice
before
adding
your
hand
chart
to
this
L
positive,
because,
probably
in
one
year,
it's
not
going
to
be
to
be
maintained
and
it's
encouraging
people
to
maintain
their
own.
They
don't
repositories
at
bitNami.
We
we
have
more
than
50
chats,
most
morally,
more
or
less
half
of
them
are
in
the
stable
repository
and
the
other
half
are
in
the
own
bitNami
repository.
That
is
indeed
have
been
damage
charts.
A
First
of
all
decide
the
four
main
points
that
you
will
need
to
solve.
In
order
to
have
your
repository
maintained,
you
need
a
place
where
you
are
going
to
host
your
chats.
You
need
to
test
your
charts.
If
you
want
that
users
use
your
your
chart,
you
need
to
guarantee
that
they
pass
a
set
of
tests,
that
they
have
a
level
of
quality.
You
need
to
maintain
them,
because
you
need
to
put
data
the
local
images
that
they
using.
You
need
to
fix
security
issues,
and
you
also
need
to
keep
adding
feedback.
A
You
need
to
keep
adding
users,
user
feedback
and
implementing
new
features.
And
finally,
you
need
to
publish
them.
Maybe
publish
is
not
the
best
word
to
describe
this
latest
point
because,
as
long
as
you
chart
is
in
the
host
is
in
the
in
the
chat,
repository
is
already
be
is
already
installed,
but
what
I
want
to
say
here
is
that
you
need
to
make
your
chart
discoverable
for
the
community.
A
A
A
A
The
second
point
to
maintain
your
the
repository
of
charts
is
testing
and
for
me,
is
the
the
most
important
one
I'm
going
to
tell
you
the
different
kind
of
test
that
we
got
with
what
we
know
me.
You
know:
release
pipeline,
we
use
Jenkins
to
to
build
and
release
or
docker
images
and
also
or
ham
charts,
and
we
do
a
different
kind
of
test
scenes,
some
really
basic
one
to
another
that
are
more
more
complex,
so
they
the
basic
one,
is
run
health
and
plate.
A
While
you
are
developing
a
home
chat,
all
whichever
you,
whatever
you
make
a
change,
it's
really
fast
to
run
home
template
and
the
texting
tax
issues
on
your
on
your
journal
files.
So
if
you
forgot
to
close
a
curly
brace
or
something
like
that,
you
will
get
a
every
error,
the
same
that
you
can
run
he'll
template,
you
can
use
helm,
install
with
that's
that
dry
run
option
and
the
output
is
very
similar.
A
A
Up
to
this
point,
we
have
all
these
testing
the
oldest
testing
automatically
in
the
stable
repository
in
the
github
han
chats.
Whenever
you
submit
a
pull
request.
All
of
this
is
already
done
or
basically
the
same.
You
have
the
han
lint
you
can
install.
You
can
install
the
chart
and
get
the
the
output
of
the
of
the
command,
and
you
have
a
test
folder
there
with
different
values.
General
files.
You
can
get
these
different
scenarios
that
I
was
talking
about
before,
but
in
Minami
we
go
beyond
that.
A
A
Also,
the
deployment
is
stable,
so
we
ran
verification
tests
and
functionalities
in
verification
tests.
We
recheck
things
like
that.
Important
files
on
Benares
exist
that
the
configuration
file
is
in
the
proper
path
and
that
basic
functionality
of
the
application
works.
Fine.
If
it
is
a
database,
we
check
that
we
can
create
an
array
see
that
we
can
insert
data.
We
can
query
it
stuff
like
this
and
for
functional
tests.
This
is
basically
for
applications
that
have
a
web
server
that
have
a
web
interface.
A
So
this
is
the
output
of
the
verification
test
for
the
my
c-cold
chart.
I
think
it's
mystical
cherries
in
the
Vietnam
HR
repository,
but
we
have
the
myriad
of
each
other.this
practically
the
same
in
the
stable
one
and
we
are
taking,
for
example,
those
those
things
we
are
checking
that
all
the
libraries
and
the
binaries
doesn't
have
any
missing
any
missing
dependencies.
A
So
we
are
running
led
commands
to
check
that
all
the
libraries
are
included
in
the
container
container,
which
say
that
the
main
binaries
are
included
in
the
path
which
take
the
basic
functionality
of
the
application.
In
this
case,
my
cycle,
we
are
creating
databases,
we
are
inserting
data,
we
can
delete
the
database
etc.
A
Also,
we
check
that
the
that
we
have
configured
a
password
or
that
the
user
is
not
rude.
The
user
is
specifically
specifically
1001
and
all
this
kind
of
of
checks.
A
This
will
be
the
output
for
the
functional
test.
This
is
an
example
of
the
WordPress
hand.
Chart
this
test
is
just
adding
a
post
for
having
opposed
you
need
to
go
to
the
login
page.
Add
your
user
and
your
password
click
on
the
new
post.
Click
on
the
new
post
link,
the
title
at
the
forum
at
the
body
of
the
form
and
submit
it-
and
this
is
in
this-
is
an
automated
process.
Also
doing
this
process,
we
go,
we
are
going,
we
are
taking
a
screenshot,
so
in
case
something
fails.
We
can
easily
detect.
A
Where
is
the
issue
we
know?
If
selector
has
changed
in
the
application?
We
know
we
have
included
our
own
password
or
that
kind
of
stuff,
so
this
has
the
screen
so
that
the
user
give
us
at
the
end.
We
have
logging,
we
have
reached
the
administration
page,
we
create
the
post,
we
add
in
the
title
and
the
body
and
finally,
we
click
him
in
publish
and
we
get
the
other
screenshot
and
the
data
are
populated.
A
And
finally,
this
is
the
latest
kind
of
test
that
we
just
added
to
to
our
Pilon.
We
added
more
or
less
to
two
months
ago
or
so
and
it's
Han.
We
are
testing
the
updates.
We
know
that
readability
is
super
important
and
we
want
to
guarantee
that
update
works
for
charts
inside
the
same
minor
or
patch
version.
We
know
that
for
major
changes,
probably
some
manual
steps
are
required
before
or
after
running
the
update,
but
inside
the
same
algorithm
we
need.
We
want
to
warranty
that
the
upgrade
work.
A
This
it
would
we
do
to
test
the
applet.
For
example,
imagine
I
want
to
release
a
new
version
of
the
WordPress
jar.
That
is
seven
point
two
point
two
I
will
do.
The
following.
First
I
will
install
the
waste
chat
that
will
be
the
minimum
chat
inside
the
similar
version,
so
I
will
install
WordPress
seven
zero,
zero
I
will
populate
data
in
this
chat,
using
solid
similar
to
the
test
that
we
saw
before
to
create
a
post,
so
I
will
create
post
I
will
create
users.
A
I
will
install
plugins,
think
that
should
be
persisted
after
after
they
operate.
I
will
apply
to
the
version
that
I
want
to
release
and
I
will
check
that
all
the
data
that
are
included
in
the
first
version
is
it
still
exists,
and,
apart
from
that,
I
will
run
the
verification
and
functional
test
for
the
for
the
WordPress
application.
So
in
this
way
we
guarantee
that
the
hang
upgrade
works.
Fine
from
the
minimum
version
inside
the
modulation
to
the
to
the
one
that
I'm
going
to
to
release.
A
A
A
The
kubernetes
was
killing
the
port
before
the
need
for
the
containers
get
to
a
stable
state,
because
changing
the
permissions
was
so
slow
that
the
lightness
and
readiness
proof
was
killing
was
killing
the
container
next
thing.
The
equipment,
the
IP
and
community
service
does
not
support
security
context
by
default,
so
all
of
all
kubernetes
charts
that
are
for
infrastructure
components
like
ready,
MongoDB
or
messy
comedy,
be
all
of
them
ranked
as
non-root,
and
we
need
security
context
to
to
configure
the
permissions
of
the
volume.
A
So
if
the
security
context
is
not
working,
fine,
we
need
we
need
to
add
an
image
container
that
is
running
as
root,
and
it's
changing
the
permission
of
the
of
this
volume
before
before
the
the
main
part
starts
and
finally
opens.
If
that
runs,
all
the
containers
has
known
roots
all
your
hand,
shops
will
be
compatible
with
it.
A
It
is
really
important
to
maintain
the
docker
images
up-to-date,
not
only
to
get
the
latest
features
from
these
images
and
to
get
the
latest
bad
fixes,
but
also
for
security.
You
cannot
keep
adding
features
to
your
chart,
but
forget
about
the
local
images
that
you
are
using
there.
You
have
to
update
them
from
time
to
time
and
a
very
important
point
apply
yourself
feedback
and
listen
to
your
to
your
users.
If
you
are
donating
your
chance
to
the
community,
please
invest
time.
A
Reviewing
the
issues
review
in
the
pull
request,
because
it
willing
you
will
increase
the
quality
of
your
health.
Just
by
listening
to
your
users,
you
will
get
the
bug,
fixes
new
features.
They
will
help
you
identify
issues
in
the
own
environment
that
you
don't
realize
on
your
testing
environment
and
you
can
improve
that
the
charts
allow
a
lot
with
it.
With
this
here
you
are
seeing
a
couple
of
columns
of
a
teleport
in
benami
wheels.
We
use
Trello
also
support
boa.
We
have
several
support
sources.
A
A
Other
tips
avoid
using
rolling
tags
on
your
chats.
Otherwise
the
child
is
not
is
not
immutable
and
if
you
post
a
new
version
of
your
role
in
time,
you
can
break
the
chat
document.
Every
major
change
in
the
readme
and
also
I
find
it
really
useful
to
document
how
to
access
the
chart,
no
matter
how
you
configure
the
service,
no
matter,
if
you
configure
node
power
class
therapy,
an
ingress
or
load
velocity.
For
me,
it's
really
helpful
to
have
that
instructions
in
the
node
txt
validate
user
input.
A
And,
finally,
if
you
plan
to
maintain
several
hem
shut,
it's
not
only
one
or
two
you
when
you
are
going
to
have
a
full
catalog
I
create
a
checklist,
because
it's
going
to
help
you
with
the
consents
consistency
of
all
your
hands
and
it
will
maintain
dang.
It
will
be
more
more
more
easy
because
you
can
apply
but
changes
to
to
all
of
them
if
all
of
them
are
consistent,
and
the
latest
point
makes
your
chart
available
to
everyone.
Here
are
a
couple
of
options.
A
The
first
one
is
a
Home
Hub
that
has
been
already
presented
is
this
morning
yeah.
It
is
a
platform
where
you
can
see
a
bunch
of
repositories
added,
not
only
the
stable
and
the
incubator,
the
bit
nummy
one
is
over
there
and
a
lot
of
folders,
and
this
is
going
to
be
where
hen
version
three,
it
will
search
for
the
for
the
child.
You
can
install
directly
if
your
child
is
already
here
and
add
in
your
repository.
Here
is
really
it's
really
easy.
A
You
just
need
to
send
a
pull
request
to
that
repository,
adding
the
repository
name
and
your
base
URL
to
that
config
repo
does
values
general
file
and
your
contact
information
to
the
repost
owner,
but
before
your
repositories
are
added
to
the
to
the
hell,
have
they
sue
require
this
to
fulfill
these
respect,
ation
a
series
of
requirements.
They
should
have
a
maintainer
in
the
chat
channel.
They
still
passed
the
Hamlet
hand
link,
and
this
will
be
installable
unreadable
in
all
community
supported
versions
of
kubernetes.
A
A
A
So,
for
example,
you
will
see
that
the
the
war
is
really
similar
to
the
Han
hub.
That
is
because
both
projects
are
based
on
the
same
one,
that
is
monocular
when
you
deploy
an
application
from
cubes
and
you
get
the
values
to
Diana,
so
you
can
customize
your
deployment
before
you
install
it
on
your
chart
on
your
on
your
cluster.
Sorry
and
finally,
you
get
the
this
page.
Where
you
can
manage
the
chart,
you
can
delete
it,
you
can
upgrade
it.
A
Just
to
to
wrap
up
as
conclusions
the
fourth
thing
that
I
told
here
it
has
being
about
hosting
your
charge,
testing
your
chats,
maintaining
your
chat
and
make
them
discoverable.
So,
regarding
hosting
your
chat,
you
know
there
are
a
lot
of
options
just
be
aware
of
them
and
select,
which
one
better
fits
your
needs
regarding
the
testing
test
as
much
as
you
can
maintain,
invest
time,
updating
the
components
and
listen
listening
to
your
users,
apply
your
feedback
and,
finally,
regarding
publishing
at
your
reported
a
home
hub
and
that's
all
questions.