►
From YouTube: Argo Contributors Office Hours Nov 4th 2021
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
E
I
was
trying
to
start
a
meeting
as
a
as
a
host
and
I'm
being
signed
off.
I
think
it's
because
you're
logged
in
now,
that's
not
sure
interesting,
yeah.
Okay,
can
we
start?
I
guess.
F
E
Okay,
I'm
gonna
be
your
host
today,
so
we
have
a
few
topics,
so,
let's
jump
straight
to
it
so
triage
and
discussions.
F
Let's
quickly
get
over
this
one,
the
tries
and
discussion
before
moving
to
the
next
topics
so
for
the
last
week
I
think,
can
you
go
up
for
the
prize
and
discussion
private
and
secondary?
Can
you
scroll
up
yes,
pasha
and
upshake
upshade,
anything
that
password
option.
D
Want
to
we
want,
you
know
all
ports
to
be
restarted.
Every
time
when
a
replica
number
of
replica
changes-
and
I
guess
that's
the
main
reason-
we
could
use
downwards
api
to
automatically
get
it
from
configmap,
but
it
would
be
even
more
confusing.
We
would
have
to
say
change
it
and
then
go
hit
restart
controller.
B
D
B
Also
think
that
the
the
main
reason
behind
the
settings
in
the
config
map
was
to
to
give
a
easier
way
for
setting
the
command
line
options
right.
Yes,
yes,
yeah
and,
and
the
the
replicas
setting
is
yeah
it's
it's
basically.
B
I
think
abhishek
is
not
here
today.
It's
diwali
right.
F
F
F
Okay,
yeah,
it's
fine
I
mean
usually
secondary,
is
usually
new
new
computers.
Okay,
so
you
can
do.
F
B
C
E
Jesse
goes
as
a
secondary
next
week.
Is
that
right.
E
All
right
so
next
topic,
argo
cd
fault.
Plugin,
do
we
have
jake
or
josh
in
the
call
yep
we're
both
here
nice?
So
maybe
you
want
to
share
I'm
going
to
stop
sharing
my
screen.
H
Access
josh,
can
you
can
you
pull
your
screen
up,
so
you
don't
have
to
change
yeah.
Let
me
try
this
real
quick.
It
should
be
good.
H
Anyone
can,
can
you
guys
see
my
screen.
E
H
All
right,
so
hopefully
you
can
see
the
presentation
so
yeah
so
josh
and
I
are
here
to
talk
about
the
argo
cd
vault
plug-in.
H
This
is
a
tool
we
built
to
help
with
our
secret
management
problem,
while
using
argo,
cd,
we'll
get
into
kind
of
the
background.
You
know
who
we
are,
what
the
plug-in
does,
wherever
you're
going
from
here.
Those
kind
of
things
and
what
we'll
see
here
in
the
agenda
we'll
do
introductions
background
and
an
introduction
to
the
project.
I'll
show
a
couple
parts
of
the
code:
josh
will
do
a
demo
and
then
we'll
talk
about
the
some
of
the
next
steps.
H
So
just
a
quick
introduction,
my
name
is
jake,
I'm
an
sre
at
ibm
from
michigan.
I've
worked
for
ibm
for
five
and
a
half
years
with
a
year
and
a
half
at
red
hat
in
the
middle,
doing
things
from
full
stack
development
to
ci,
cd,
devops
and
then
eventually
to
sre
josh.
You
want
to
do
an
intro,
yeah,
yeah.
A
A
A
H
All
right,
hopefully,
you
were
back
josh,
you
did
your
intro
correct,
yep,
we're
all
good
moving
on
sorry
about
that
everyone,
okay,
so
background
on
the
project.
H
I
kind
of
mentioned
it
a
little
bit
already,
but
we
were
josh
and
I
our
team
was
looking
to
adopt
git
ops
and
we
were
looking
at
different
solutions
for
github's
problem
and
we
did
some
research
and
we
come
across
argo
cd
as
the
tool
of
choice
for
us
based
on
some
of
the
some
of
the
the
features
you
get
from
our
group
cd,
and
so
with
that
the
question
became
well.
H
How
do
we
do
secrets,
as
I
think
everyone
has
that
that
that
question
when
they
try
to
adopt
argo
cd
or
some
other
gaps
tooling?
And
so
we
looked
around
at
some
of
the
other
things,
external
secrets,
sealed
secrets
and
other
tooling
and
nothing
quite
fit
our
need,
because
we
we
were
looking
for
something
pretty
custom
just
because
we
were
adopting
an
already
existing
pipeline,
they
were
trying
to
move
over
and
they're
trying
to
make
the
least
amount
of
changes
for
our
developers.
H
So
with
that,
we
had
kubernetes
resources
already
in
repos,
and
you
wanted
to
be
able
to
adopt
those
resources
and
use
them
instead
of
having
to
require
new
things
being
added
to
to
make
sure
so
our
developers
don't
do
a
bunch
of
extra
work.
So
with
that
in
mind,
we
we
decided
argo
cd.
Has
this
awesome
custom
plug-in
feature,
let's
take
advantage
of
it.
So
that's
why
we
built
our
c
vault
plug-in.
This
would
allow
us
to
use
our
existing
yamls.
H
Our
existing
secret
configuration
map
gammas
run
them
through
the
plug-in
and
then
inject
secrets
from
vaults
into
those
gambles,
and
then
let
argo
see
to
do
the
rest
and
apply
them
into
the
cluster
this
we
wanted
to
do
it
this
way,
because
it
gave
us
the
most
flexibility
we
also
didn't
want
to
have
to
have
the
install
be
over
overly
complicated.
H
So
we
wanted
to
just
have
a
simple
binary
that
passed
a
few
environment
variables
or
a
config
file
to
and
be
able
to
just
run
it
anywhere,
not
necessarily
just
argo
cd,
but
in
other
places
as
well.
If
you
want
to
outside
of
kubernetes,
you
know,
and
if
we
had
an
operator
really
anything
we
could
do
and
of
course
you
know
using
our
ocd
as
our
as
our
main
tool
and
putting
it
in
the
name.
You
know
we
of
course
wanted
to
contribute
back
into
the
into
open
source.
H
That's
not
something
that's
as
common
in
where
josh
and
I
are
at
ibm.
So
this
is
something
that
we
wanted
to
make.
H
The
beginning,
so
that
others
could
take
advantage
of
it.
Look
at
the
code
see
how
it
works.
We
didn't
want
to
hide
anything
and
it
really
helped
us
out
during
the
process.
H
Moving
on
quickly,
so
just
to
talk
a
little
bit
about
the
plug-in-
and
this
is
a
slide
that
we
used
at
cubecount-
you
might
see
a
couple
similar,
the
same
slides
from
from
our
presentation
there,
but
as
of
now,
we
support
five
secret
managers
and
we
hope
to
grow
that
some
of
the
features
that
we
support
as
well
as
secret
versioning.
H
We
have
a
couple
different
modifiers
like
a
base64
and
jsonpath,
so
that
to
give
more
flexibility
within
the
yamls
themselves,
it's
done
in
a
way
in
which
you
can
easily
use
helm
or
customize
to
have
your
templating
and
then
once
you
get
those
templated
templates
rendered,
then
you
can
pipe
it
through
the
plug-in,
and
so
you
can
take
advantage
of
both
things
and
then
we
wanted
to
again
support
a
lot
of
flexibility.
H
So
we
have
a
bunch
of
different
ways
to
authenticate
whether
it's
involved
with
app
role
or
k-8s
or
even
just
a
plain
token,
don't
suggest
that
one,
but
we
have
support
for
it.
We
also
then
wanted
to
bake
in
a
lot
of
the
native
authentication
within
the
secret
managers.
We
didn't
want
to
be
overly
opinionated
on
that.
So,
however,
gcp
authentication
works.
We
wanted
to
be
able
to
allow
any
of
that
authentication
to
work.
H
Yeah
a
little
just
a
quick
diagram
on
how
this
works-
and
I
imagine
by
now
you
all-
should
understand
with
the
config
management
plug-in
mechanism.
But
you
know
we
have.
Our
yaml
in
github
are
going
to
see
you
tracking
it
the
avp
as
we
like
to
call
it
as
a
plug-in
custom
plug-in
so
change
to
get
it
called
ocd
pulls
avp
runs
calls
out
to
vault
or
whatever
secret
manager
you
are
using,
does
the
replacements
and
then
applies
it
into
kubernetes,
so
pretty
straightforward.
H
So
I
did
want
to
walk
through
a
couple
pieces
of
code
just
to
show
how
how
some
of
this
works.
The
first
one
I
wanted
to
show
was
so
there's
there's
three
main
pieces
right.
There's
the
config
which
lets
avp
know
what
like
back
end
to
use.
There
is
the
back
end
code
and
then
there
is
the
replacement
code.
So
I
wanted
to
just
touch
on
those
a
little
bit
just
to
dive
in
and
show
how
these
things
work
so
with
the
config.
H
Basically,
what
we're
doing
is
we're
we're
doing
some.
You
know
reading
potentially
a
config
file
and
we're
setting
up
our
environment
variables,
but
we,
the
main
of
it,
is
we
have
this.
This
big
switch
where
we're
switching
on
an
environment,
variable
called
avp
type
and
defend
depending
on
the
back
end.
H
We
then
are
instantiating
or
depending
on
the
value,
that's
passing
or
instantiating
a
back
end
with
certain
parameters,
so,
for
example,
for
vault
we
create
a
new
vault,
client
and
then,
depending
on
the
auth
type,
we're
then
setting
up
the
instantiating,
the
the
off
interface
that
we're
using,
and
then
we
pass
that
in
and
call
and
create
our
new
fall
back
end,
and
this
gets
passed
back
to
kind
of
the
main
logic
that
is
performed.
H
So
what
this
allows
us
to
do
is
we've
done
this
in
a
way
that
we
can.
You
know
we
have
these
this
off
type
that
we're
able
to
pass,
so
we
can
easily
add
new,
backends
and
new
alt
types.
It
just
becomes
a
very
simple
new.
H
It's
either
a
new
back-end
case,
or
it's
a
new
off
case
where
we
just
where
we're
creating
this
off
type
interface
and
then
passing
it
to
the
back
end.
So
there
could
be
some
cleanup
on
here,
but
you
know
it's
worked
pretty
well
for
adding
new
back
ends.
These
two
were
not
added
by
us.
They
were
added
by
the
community
and
you
know
it
was.
H
They
were
able
to
to
to
add
in
those
backings
pretty
pretty
simply
so,
then
I
wanted
to
show
you
what
one
of
these
back
end
one
of
the
back
end
to
look
like,
so
we
also
tried
to
do
this
in
a
way
where
it's
very
easy
to
add
a
new
backend.
H
So
here
it,
for
example,
is
a
vault
back
end
and
we
follow
a
back-end
interface.
So
each
of
them
will
have
this
we'll
have
a
login
method,
a
git
secrets
method
or
a
get
individual
secrets
method,
and
so,
within
those
you
you
can
just
add
in
the
code
to
in
this
example
the
vault
client,
so
in
login
we're
running
this
auth
type
authenticate,
so
it
doesn't
matter
what
auth
type
we
pass
in.
That
is
somewhere
else,
we're
able
to
call
and
authenticate.
H
H
Do
some
you
know,
massaging
the
data,
for
example,
with
this
one
we're
doing
either
kv2
or
kv-1
and
there's
some
logic
that
depends
on
on
either
one
of
those,
and
then
we
have
our
get
individual
secret,
which
is
used
for
like
the
inline
path
that
joshua
show-
and
this
is
so
we
don't
always
pull
back
all
the
data
all
the
time.
H
This
allows
us
to
just
get
one
secret
and
pass
that
back
just
instead
of
passing
back
an
entire
map
of
data,
we're
just
it's
just
one
key
value
at
that
point.
So
if
there's
a
new
backend,
you
would
put
a
file
in
like
this.
That
follows
the
login
get
secrets,
get
individual
secrets,
have
a
construction,
constructor
method.
You
know
new
ball
back
and
new
blank
back
end
and
then
add
to
the
config
and
you're
good.
To
go.
Last
thing
I
wanted
to
show
was
the
replacement
logic.
H
This
can
be
a
little
complicated,
but
I
just
wanted
to
walk
through
it
a
little
bit.
H
So
we
have
this
replace
inner
method,
and
this
is
what
gets
called
when
we're
ready
to
do
the
replacement
you
know.
So
we
have
this
loop.
H
It's
a
recursive
loop
where
it
goes
through
and
it's
checking
the
type
and
you
know
kind
of
breaking
it
down
until
we
can
eventually
get
down
to
a
string
where
then
we're
ready
to
do
the
actual,
like
replacement
logic,
that's
what
this
replacer
func
would
be,
and
this
this
gets
passed
in
the
the
main
meat
of
the
of
the
replacement
logic
is
in
this
generic
replacement
method.
H
We
have
this
and
then
we
have
a
couple
others,
because
there's
certain
resources
that
need
a
little
bit
of
tweaking,
and
so
what
we're
able
to
do
is
do
regex
on
on
certain.
You
know,
regex
things
right
and
then
we're
able
to
split
out
and
look
for
any
modifiers
that
were
had
we
have
if
it's
an
individual
secret,
we
do
they
get
individual
secret.
So
this
is
again
so
we
don't
call
and
get
all
of
the
secrets,
because
all
we
need
is
just
one
to
do
a
replacement.
H
H
So
if
it's
not
an
individual,
if
there's
no
individual
placeholder,
we
just
take
the
data
we
have
and
and
load
it
into
our
secret
value.
If
there
is
that
individual
path,
we
do
have
to
make
another
call
to
get
just
that
one
secret,
and
then
we
have
some
code
here
to
process
the
modifiers
and,
depending
on
what
modifiers
we
have,
whether
it's
the
base64
or
the
json
path.
We
then
run
the
specific
function
there
and
then
there's
a
few
other.
H
You
know
just
a
few
more
things
like
we
said,
there's
a
we
have
a
configure
placement
and
a
secret
placement
that
covers
generic
replacements,
but
those
are
really
the
the
main
things,
the
other
one
being
the
main
file.
H
I
won't
go
through
that
today,
because
I
don't
want
to
take
up
all
the
time,
but
hopefully
that
gives
a
good
look
into
into
the
code
and
then
getting
back
to
the
slides
now
josh
will
do
a
demo
where
he,
you
know
kind
of
walks
us
through
how
avp
works
and
how
to
get
it
installed.
A
Jake
so
first
let
me
try
to
share
my
screen
again
this
time.
Here
we
go
all
right
and
it
looks
like
we
can
all
see
my
screen
we're
all
seeing
arcgis
tv,
yes,
excellent,
okay,
cool,
so
I'm
basically
going
to
do
an
abbreviated
version
of
the
demo
I
gave
at
kubecon.
Sorry,
you
know
that's
just
what's
easy!
A
So
I'll
quickly
show
you
how
the
plugin
is
configured
and
installed
in
an
argo
cd
instance
I'll
gloss
over
that
because
you
guys
know
are:
go
pretty
well
I'll
talk
about
the
secret
manager,
I'm
using
in
this
case
I'm
going
to
use
a
hashicore
bolt
instance.
I
have
just
deployed
in
a
local
kubernetes
cluster.
A
Next
to
my
argo,
cd,
we'll
do
a
simple
git-based,
argo
app
and
maybe,
if
time
permits
I'll,
do
a
helm
chart
because,
like
jake
said,
you
can
use
this
tool
not
only
for
templating,
simple,
regular
yaml
manifests,
but
also
you
can
use
in
the
context
of
helm
and
customize,
and
things
like
that
so
just
quickly.
A
Looking
at
how
I
set
this
up,
we're
just
using
the
classic
init
container
method
so
like
we're
just
taking
the
upstream
manifest
so
making
a
couple
of
changes
here
to
the
repo
server,
which
is
where
we
actually
tell
it
hey.
This
is
the
binary
you
want
to
download
and
we
want
to
include
it
in
our
repo
server
container.
So
that's
pretty.
You
know
well
known,
I
think,
to
all
of
us
here.
What
you'll
see
here
specific
to
avp
is
configuration,
and
this
is
something
that
can
be
done
in
several
ways.
Like
our
binary.
A
We
can.
You
can
tell
us
the
name
of
a
secret
in
your
argo
ce
namespace
and
we
can
take
your
adb
configuration
from
there.
This
is
in
the
case
of
where
maybe
you're,
using
something
like
an
app
role,
authentication
to
bolt,
which
involves
two
secret
keys,
the
whole
id
and
secret
id.
You
know
you
want
to
put
those
in
a
secret,
not
just
you
know,
right
here
in
plain
text
and
there's
a
bunch
of
other.
You
know
authentication
or
configuration
mechanisms.
A
I
can
spell
it
out
right
here
pretty
clearly
so
we're
basically
just
telling
our
plugin
that
we're
talking
to
a
vault
instance
that
this
is
where
it
is
that
I
want
to
use
k
it's
off,
and
I
want
to
use
this
vault
rule
this
argo
cd,
vault
rule
and
in
order
to
facilitate
kubernetes
off.
In
this
case
we
need
a
service
account
token,
so
we
just
have
to
set
this
down
here
to
enable
one.
A
So
that's
really
just
configuring
the
sort
of
plugin
itself
registering
the
plugin
as
a
you
know:
custom,
a
config
management,
plug-in
argo
cd.
A
Pretty
much
just
looks
like
this
you'll
see
that
I
have
two
different
plug-ins
sort
of
described
here,
depending
on
whether
you
want
to
use
this
tool
with
just
plain
ammo
or
something
like
helmet
customize.
You
might
have
to
sort
of
write
out.
This
configuration
stands
a
bit
differently.
A
If
you
look
at
the
home
one,
for
example,
you'll
see
this
pretty
much
demonstrates
this
idea.
Jake
was
talking
about
earlier,
where
he
basically
used
the
first
sort
of
templating
tool
like
helmer
customize.
We
render
a
set
of
manifests
that
will
include
those
placeholders
with
the
angle
bracket,
syntax
and
then
down
here.
We
just
pipe
it
through
our
plug-in
to
actually
get
rid
of
those
angle.
Bracket,
placeholders
and
put
them
fill
in.
You
know
actual
secrets.
So
then
you
have,
you
know
well-formed
ammo,
with
secrets
that
you
can
then
apply.
A
So
that's
really
what's
going
on
here
and
you'll,
see
here
that
I
have
this
regular
one
for
just
working
with
split
straight
up
yml
and
it's
pretty
simple.
I
just
have
to
call
my
generate
command
on
those
yaml
files
that
comprise
my
argo
app.
So
that's
really
just
the
argo
cd
setup
vault,
it's
kind
of
a
similar
thing,
pretty
much
exactly
what
I
showed
at
kubecon.
A
If
I
can
click
on
this,
I
used
argo
to
deploy
the
vault
home
charts,
make
it
easy
and
basically
you'll
see
that
this
is
how
I've
enabled
kubernetes
off.
You
know
this
is
really
stuff.
The
vault
documentation
takes
care
of
nothing
too
important
here,
basically
yeah.
You
know
this
is
what
I
did
to
make
sure
it
works
that
argo
cd
role
that
I
referenced
earlier.
A
This
is
where
I
defined
it,
and
this
is
where
I
spelled
out
the
policies
and
permissions
that
it
has
so
that
I'm
able
to
read
secrets
so
yeah
just
to
make
it
clear.
Avp
only
reads
secrets:
we
don't
write.
We
don't
do
anything
like
that.
That
is
the
only
permission
you
need
cool.
So
I've
talked
about
argo
and
vaults.
I
think
we
can
go
ahead
and
start
you
know
deploying
things
right.
A
The
config
map
is
just
basically
going
to
be
a
configuration
for
this
engine
x,
so
that
anytime,
you
send
a
request
to
it
on
4880.
It
just
responds
with
a
200
and
the
value
of
a
secret,
that's
populated
from
an
environment
variable
in
this
case.
Okay,
so
that's
that
that
environment
variable
is
actually
going
to
be
populated
from
a
kubernetes
secret,
and
this
is
where
abp
comes
in.
So
this
is
an
example
of
a
generic
placeholder
jake
mentioned
that
we
support
two
types:
generic
and
line
path.
A
This
is
generic,
so
in
this
case
that
what
how
you
read
this
placeholder
in
combination
with
this
annotation
is
you're
telling
avp
that
in
my
vault
kvv2,
because
that's
what
the
secret
data
path
means.
There's
a
secret
called
my
nginx
within
that
secret,
my
engine
x.
There
is
a
key
named
password
and
I
want
the
value
of
that
key
to
be
interpreted
here
for
this,
my
secret.
So
that's
how
you
read
the
configuration:
that's
how
we're
basically
telling
abp
this
is
the
secret,
and
this
is
the
value
we
want
interpolated
for
this
kubernetes
secret.
A
I
have
this
deployment
to
tie
it
all
together.
Basically,
I'm
just
you
know:
referencing
the
secret
I'm
going
to
create
and
I'm
referencing
the
config
map,
so
that
I
can
actually
you
know,
serve
requests
and
stuff.
So
that's
the
thing
so
I'll
go
ahead
and
just
sort
of
make
a
secret
in
our
secret
manager.
I
have
all
these
files
and
git
right,
that's
half
of
git
ups
and
then
this
half
is
the
quote:
unquote:
secret
ops.
A
We
don't
want
this
in
get
so
I'm
going
to
go
ahead
and
port
forward
to
my
vault
instance
that
I'm
writing
in
canada.
So
I
can
talk
to
it.
I'm
going
to
set
these
variables,
so
I
can
actually
well
then
I
can
actually
talk
to
it
as
well.
You
shouldn't
use
the
vault
token
the
root
token,
for
any
real
reason.
I'm
just
doing
it
here
to
make
my
life
easy.
A
I'm
gonna
write
a
secret
I'll,
read
it
back
out
just
so
that
we
can
all
see.
Maybe
I
should
zoom
in
a
little
bit,
but
basically
I
wrote
a
secret
called
my
index
with
a
key
password
and
this
value
secret
password.
Okay-
and
this
is
where
we
create
the
argo
app
you're
already
familiar
with
the
rgo
app
crd,
so
there's
not
much
to
say
about
this
and
we're
telling
argos
you
need
to
use
our
plug-in
to
deploy
this.
Our
plug-in
has
the
recursive
sort
of
behavior
out
of
the
box
right.
A
So
I'm
going
to
go
ahead
and
create
this
argo
app
and
if
we
go
back,
we
see
you
know
our
plugin
ran
we're
out
of
sync,
so
I'm
going
to
go
ahead
and
synchronize
this
so
that
we
can
actually
run
our
plug-in
and
create
a
secret
quickly.
Do
a
saying!
Well,
actually
I
think
what
I'll
do
is
I'll.
Just
share
the
whole
thing,
so
I
deployed
an
app
with
that
secret.
A
I
can
port
forward
to
it,
so
we
can
actually
make
sure
that
it
has
the
right
value
and
if
I
go
to
localhost
8081
here
we
go,
we've
got
secret
password,
so
we've
deployed
an
app
with
a
secret.
So
that's
great,
the
other
half,
of
course,
is
you
know,
secrets
aren't
always
static.
They
you
know
you
have
to
rotate
them
for
reasons
and
compliance
and
things
that's
a
very
common
use
case.
So
how
do
we
do
that
with
avp
and
what
I'll
do
is
I'll
quickly?
A
Just
write
a
new
value
to
my
secret
manager
to
simulate
a
rotation
so
just
drop
the
port
forward.
Do
this
thing?
So
basically
I
just
appended
the
word
edited
at
the
end
of
the
secret.
A
A
That's
just
a
kubernetes
thing,
and
now
the
pod
started
up.
So
I
can
basically
port
forward
again
yeah.
Where
does
that
here
go
forward
one
more
time,
and
now,
if
I
refresh
I've,
got
secret
password
reacted
so
hooray,
we've
been
able
to
do
a
secret
rotation,
so
that's
nice
and
it
looks
like
I
do
have
time
so
I'll
try
to
just
go
through
this
really
quickly.
So
that
was
just
like
a
simple
get
app.
You
can
also
do
this
with
things
like
helm
charts
as
well.
A
So
I
just
quite
try
to
share
that
as
well
here,
so
I'm
going
to
deploy
a
redis
instance
really
quickly
and
the
secret
I
want
to
set
is
actually
going
to
be
the
password
for
this
redis
instance.
So
I'm
going
to
set
it
to
sh,
but
through
avp,
so
I'm
going
to
quickly
just
write
that
into
my
secret
manager.
Okay,
I'll
read
it
back
just
so.
We
can
all
agree.
That's
what
I
did.
A
Yep,
so
I
push
and
the
cool
thing
about
avp
is
you
know
you
have
your
secret
and
then
you
just
have
the
audio
app
in
this
case.
The
reason
why
is
because
you
know
someone
else
has
written
all
the
manifest
for
us,
because
it's
a
helm
chart.
They
have
it
in
the
in
this
case,
I'm
using
the
bitnami
write
us
home
chart
and
basically,
what
I'm
going
to
do
is
I'm
just
going
to
tell
argo
to
use
the
volts
helm,
the
arcgis
default
helm
plug-in.
A
So
this
is
the
helm
version
of
our
plug-in,
where,
basically,
all
we're
doing
is
you
know
we're
saying
to
basically
download
any
charts
that
are
dependencies
of
our
chart.
Our
charts
depended
on.
A
We
then
template
out,
you
know
the
chart,
so
we
actually
get
the
gammas
that
comprise
the
chart
with
our
placeholders
and
then
we
just
replace
those
placeholders
and
that's
basically,
what
we're
telling
argo
cd
to
do
here
so
I'll
just
quickly
do
that
to
get
a
redis
okay
here
we
go
and
if
I
go
back
to
this
thing,
all
righty
what's
basically
happening
is
argo.
Is
downloading
the
yamls
for
this
chart
and
pretty
soon
we
should
see
a
whole
bunch
of
here.
A
We
go
objects,
including
the
my
writer's
secret,
and
this
is
where,
by
the
way,
we're
going
to
be
interpolating
stuff,
so
I'll
go
ahead
and
just
do
a
sync
and
if
I
just
read
the
secret
back
the
my
writer
secret
by
the
way
just
do
that
real,
quick,
my
redis
basin.
We
can
just
decode
this
and
what
you'll
see
is
the
value
is
like
we
expect
it
to
be
so
hooray
we've
been
able
to
deploy
a
helm
chart
through.
You
know
argo
cd
and
avp
as
well,
so
that
pretty
much
concludes
the
demo.
A
Oh
sorry,
one
last
thing:
I
do
want
to
point
out
that
demo.
I
just
used
the
inline
path,
for
example
the
placeholder,
so
there
are
two
different
types
right.
The
first
one
is
generic,
but
we
had
to
specify
the
path
and
annotation
this
one.
You
can
specify
the
path
in
line.
So
that's
that's
the
thing,
and
now
I'm
done
so.
H
Any
questions
thanks
josh
I'll
just
I
get
one
more
slide.
H
You
know
so
just
kind
of
the
next
things
we're
looking
to
do
or
looking
for
contributions
more
secret
managers,
more
auth
types.
I
mean
there's
plenty
of
other
tools
out
there
that
we'd
like
to
support
so
we're
looking
for
that
more
modifiers
we
want
to
be
able,
to,
you
know,
add
more
flexibility
right.
We
have
encode,
we
don't
have
decode,
you
know,
for
example,
so
there's
a
lot
of
other
modifiers,
I'm
looking
to
improve
our
documentation,
we've
kind
of
coupled
it
together.
H
You
know
over
the
last
year
or
so
so
I
really
want
to
be
able
to
improve
that
to
have
a
nice
flow
to
it.
To
so
someone
who
can
really
understand
what's
going
on
and
then
also
to
be
able
to
publish
an
image.
You
know
so
that
someone
doesn't
have
to
necessarily
always
pull
from
github
they
can.
They
can
just
pull
like
this
custom
image
with
maybe
prd
installed,
and
you
know,
look
being
at
cubecam
and
hearing
some
of
the
changes
to
the
config
management
plug-in
the
way
it
works.
H
I
think
this
is
the
you
know.
What
we'll
need
to
do
in
the
future
anyways
is
to
have
an
image
with
app
running
in
it
so
that
they
can
be
used.
So
that's
you
know
kind
of
the
the
four
things
we're
looking
at
at
this
moment,
so
yeah
any
questions.
Sorry,
if
you
went
over
on
time,
hopefully
we
didn't
answer
any
questions.
If
there
are
any.
H
Yeah
and
thank
you,
everyone.
E
C
Thank
you
and
just
a
quick
comment
as
well.
So
one
of
the
reasons
for
this
presentation
was
that
we
met
with
jake
and
josh
after
the
representation
of
kubecon
discussing
you
know
the
potential
for
pulling
this
into
into
argo
argolab.
So
that's
one
of
the
reasons
for
this
for
this
presentation
and
demo
as
well.
So
thanks
guys
looking
really
good.
E
F
E
D
Just
okay
yeah
I
I
was
not
prepared
for
the
topic,
but
basically
it
feels
like
we
done
like
we
fixed
pretty
much
everything
except
one
pull
request
that
introduces
config
management,
plugins
v2,
which
is
really
close
to
get
merged.
D
So
I
guess
the
update
is
once
this
pull
request
is
merged
and
we
will
be
ready
to
create
the
release,
branch
and
focus
on
bug
fixing
yeah
and
I
feel
like.
I
will
double
check
that.
But
if
you
have
something
that
you
really
want
to
get
into
the
next
release,
please
speak
out
and
maybe
contribute
to
this
channel.