►
From YouTube: Argo CD and Rollouts Community Meeting Aug 2023
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).
A
Good
morning,
everyone
and
welcome
to
the
August
2023
Argo
CD
and
rollouts
community
meeting
I'm
your
host
for
today
Jesse
soon
Argo
proj
maintainer.
If
you
haven't
already,
please
add
yourself
to
the
attendee
list
and
some
reminders
that
the
Argo
project
does
adhere
to
the
cncf
code
of
conduct.
So
please
be
courteous
and
respectful
to
each
other.
This
meeting
is
being
recorded
and
will
be
updated
to
YouTube
after
okay.
So
for
today's
agenda.
A
First
off
we
have
some
quick
reminders
about
argocon
from
Christian
and
then,
after
that,
Nicholas
will
be
covering
some
of
the
new
features
that
are
coming
in
Argo,
CD
2.8
and
if
you
do
have
any
agenda
items
or
discussions.
Issues
you'd
like
to
add
you're,
welcome
to
add
and
comment
on
the
Google
working
Doc
and
we
probably
can
get
to
them
after
the
presentations.
A
Okay.
With
that
I'll
hand,
it
off
to
Christian
to
just
talk
a
little
bit
about
argocon
Christian.
B
Yeah,
thank
you
and
for
those
who
don't
know
me,
Christian
Hernandez,
part
of
the
Argo
project,
marketing,
Sig
and
also
co-chair
of
argocon,
and
so
just
just
a
kind
of
a
quick
reminder.
It's
coming
up.
Quick
argocon
cfp
closes
this
Sunday
so
that
this
is
probably
like
the
last
week
that
you
can
get
your
cfps
in
for
those
that
you're
waiting
for
your
kubecon
submissions
to
come
through
they're
gonna
come
they're.
They're
gonna
send
those
out
at
the
end
of
the
month.
B
So
please
don't
wait
so
for
the
kubecon
wants
to
come
through
it's
it's
fine.
If
you
want
to
double
submit
to
argocon
the
for
those
of
you
who
are
submitting
cfps.
Just
remember
that
if
your
talk
is
accepted,
you
will
also
get
a
pass
to
kubecon.
So
that's
a
little
bit
of
a
change
that
some
folks
aren't.
Aren't
aware
of
that.
B
Have
realized
that
no
you
you
actually,
if
you
get
into
Argo,
County,
actually
get
a
free
pass
to
kubecon
so
and
for
those
who
aren't
submitting
but
are
attending,
make
sure
if
you're
attending
kubecon
make
sure
to
add
argocon
as
an
add-on.
It's
an
all
access
pass.
So
it's
not
just
for
argocon.
If
you
want
to
visit
other
co-located
events,
there
you're
free
to
do
so,
it's
a
what
they
call
an
all-axis
pass
so
going
to
be
a
lot
of
a
lot
of
fun
there.
B
It's
going
to
be
three
tracks
this
time,
instead
of
the
normal
two,
so
there'll
be
three
tracks:
lots
of
opportunities
for
talks,
lots
of
workshops
going
to
be
bigger
than
it
was
before.
So
for
those
that
have
attended
before
it's
going
to
be
a
little
bigger,
but
they'll
say
you
haven't.
This
is
a
good
chance
to
come
in
a
come
and
attend
and
submit
they'll
see
a
piece.
A
All
right
thanks,
Christian,
okay,
so
we'll
get
to
the
next
meat
of
our
program.
Nick
is
going
to
cover.
What's
new
in
argocd
2.8
Nicholas.
C
Great
thanks
Jesse.
Let
me
just
share
my
screen
here.
C
So
there's
an
excellent
blog
post
already
out
on
the
2.8
release
candidate.
You
could
find
that
in
the
Google
doc
and
also
paste
it
in
the
chat
here.
C
My
main
presentation
here
is
going
to
be
on
the
more
debitable
features
of
2.8,
so
I'm,
going
to
start
off
with
the
what's
new
in
application
sets,
which
the
the
most
prominent
feature
that
got
added
is
the
addition
of
the
plug-in
generator,
which
allows
you
to
write
custom
generators
in
any
language
and
run
them
either
in
a
sidecar
or
as
a
standalone
deployment,
and
this
allows
you
to
add
generators
for
application
sets
without
having
to
wait
for
them
to
get
integrated
into
the
core
Argo
CD
project.
C
So
to
demonstrate
this
today,
I'm
going
to
be
using
the
application
set,
hello
plugin,
that's
a
part
of
the
Argo
project,
labs
repositories
so
to
to
get
into
it.
In
Argo
CD,
here
I've
deployed
an
application
which
deploys
this
application
set.
Hello
plugin,
which
is
taking
the
Standalone
deployment
approach,
which
is
the
the
recommended
one
over
the
the
sidecar
option,
and
so
what
what
we
have
here
is
a
a
simple
script
and
a
config
map
that
runs
a
basic
HTTP
server
in
Python.
C
It
implements
only
one
real
path
here,
which
is
API
v1getparams.execute,
and
what
this
will
do
is
return
a
list
of
object,
Maps
nested
under
the
output
dot
parameters
key
in
the
map,
so
the
the
resulting
the
results
of
this
generator
are
two
instances
of
the
hello
parameter
with
different
values
that
config
map
script
gets
loaded
into
this
deployment,
which
is
accessible
within
the
cluster
accessible
from
the
application
set
controller
within
the
the
cluster,
and
it
uses
a
config
map
that
gets
deployed
into
the
Argo
CD
namespace
or
the
same
namespace
that
argocd
is
running
in
and
it
provides
the
base
URL.
C
So,
where
the
application
set
controller
can
access
this
plug-in
generator
and
then
it
provides
a
token
which,
in
the
config
map,
it's
actually
a
reference
to
a
separate
secret
in
the
Argo
CD
namespace,
and
then
it
references
the
key
within
that
config
map
which,
for
reference
is
I,
believe
this
one.
C
So
it's
referencing,
sorry,
no,
it's
actually
this
config
map
and
then
the
the
deployment
here
mounts
this
Secret
in
and
if
we
just
look
back
at
the
script
here
for
a
moment,
it
brings
in
that
mounted
secret
token
from
the
mounted
secret
into
the
into
the
script
and
uses
that
to
authenticate
the
application
set
controller
to
the
plug-in
generator
here,
and
so
the
idea
is
that
you
should
Implement
a
403
response
if
the
proper
Bearer
token
isn't
provided
when
accessing
the
plug-in
generator.
C
So
with
all
of
the
kind
of
implementation
details
there
described,
let's
go
look
at.
Let
me
move
this
out
of
the
way.
Let's
go
look
at
our
application
set,
so
the
application
set
references
that
config
map
that
had
the
base
URL
and
the
token
in
it,
as
as
a
part
of
the
plug-in
generator
here.
So
that's
where
it
knows
where
to
go,
make
the
API
call
to
and
what
token
to
use
to
authenticate,
and
then
this
generator
is
is
populating.
The
hello
parameter
that
we
can
use
in
the
application
template
here.
C
So
the
the
benefit
here
is
that
you
can
go
right.
Basically,
whatever
generator
you
want
in
any
language
deployed
into
your
cluster
and
implement
it
as
a
part
of
an
application
set
to
generate
applications
based
on
essentially
anything
at
this
point
without
requiring
that
code
to
make
it
into
the
core
Argo
CD
project
and
wait.
The
you
know
generally
few
week
wait
time
to
actually
get
that
implemented
and
then
into
a
release
that
you
can
start
using.
C
So
it's
a
it's
a
big
advantage
of
flexibility
here
if
I
were
to
go
and
update
this
this
script
to
say
you
know,
let's
pass
a
third
parameter
here.
It'll
result
in
another
application.
Getting
deployed
or
generated
by
the
application
set,
so
if
I
just
go
and
do
that
and
we
go
back
to
our
application
set
here
and
we
refresh
it,
it
results
in
a
third
application
getting
generated
by
that
application
set.
C
So
that's
the
I
in
my
opinion,
the
the
biggest
and
most
important
feature
to
the
application
sets
in
this
release.
The
the
next
one
is
the
ability
to
set
sync
policy
controls
at
the
application
set
level
so
before
you
could
set
at
the
application
set
controller
level.
C
Different
sync
policies
for
application
sets
to
either
create
and
update.
Only
so
not
allowing
application
sets
to
delete
the
applications
that
it
generates
or
create
and
delete
only
I
I,
not
allowing
the
application
set
controller
to
update
the
application
set.
The
addition
in
2.8
is
that
now
you
can
set
that
sync
policy
on
the
application
set
itself.
So
so,
if
I
go
and
I'll
demonstrate
it
here
on
our
application
set
with
the
plugin
generator,
let's
see
I
need
this.
C
So
if
we
add
to
our
application
set
spec
here,
sync
policy
application,
sync
and
then
we're
going
to
tell
it
that
our
application
set
can
only
create
and
update
the
applications
that
are
generated
by
it.
It
won't
be
able
to
delete
any
of
them,
and
this
is
one
of
the
more
common
pitfalls
of
application
sets.
Is
that
you
end
up
using
a
generator
and
then
the
data
changes
that's
produced
by
that
generator
and
it
results
in
your
applications
unexpectedly
getting
deleted.
C
So
this
is
a
kind
of
a
safety
mechanism
around
that
where
you
can
force
it
to
only
create
an
update
but
you're
never
going
to
accidentally
delete
an
application
with
an
application
set
by
changing
the
the
data
that's
produced
by
the
generators,
so,
for
example,
here,
if
I
just
undo
what
I
did
to
the
plug-in
generator
script
to
result
in
only
two
applications
getting
generated
by
it.
Now,
let
me
just
reset
this.
A
C
Oh,
maybe
I've
got
yeah.
Let
me
go
check.
C
B
B
Do
you
have
to
patch
the
application
Set
controller
with
something
or
is
it?
Is
this.
C
Out
of
the
box
so
default
yeah,
only
you
only
have
to
patch
the
application
set
controller.
If
you
have
the
the
policy
flag
explicitly
set
on
it,
so
you're
not
like
using
the
default
is
my
understanding
and
that's
what
worked
earlier
when
I
tested
this.
A
I
know
this
was
a
applications,
PL
plural
like
and
then
sync
I.
Don't
actually
I,
don't
recall
if
you
use
applications
so.
C
Yeah
I
think
that's
what
I
broke
their
application.
Sync
there
we
go
that
looks
better
yeah,
okay,
cool!
That's
a
mistake
of
my
documentation,
love
that
all
right,
so
it'll
actually
work
this
time,
I
promise.
So
the
the
idea
here
is
that
it'll
only
be
able
to
create
an
update.
So
if
I
just
go
quickly,
demonstrate
it
creating
one.
C
Let's
do
three,
so
we've
updated
our
plug-in
generator
to
now
produce
three
output
parameters
which,
if
I
go
back
and
we
refresh
the
application
set,
it
results
in
a
third
one.
If
I
go
back
and
remove
that
third
parameter
that
gets
returned
by
our
application
sets
plug-in
generator.
C
It
will
not
delete
that
third
application,
so
this
prevents
accidental
pitfalls
of
I've
changed
the
data
that's
produced
by
a
generator.
It
won't
delete
my
application
unexpectedly
to
show
that
it's
actually
working.
Let's
say
that
it
can
now
only
create
and
delete.
It
can't
update
my
my
applications
and
now
it's
already
deleted
that
third
one,
because
the
application
set
controller
refreshed.
So
this
gives
you
flexibility
on
a
per
application
set
basis
instead
of
at
the
application
set
controller
level.
So
at
the
before
2.8
you
could
only
set
this
at
the
Argo
CD
instance
level.
C
C
So
there
are
other
updates
to
the
application
sets,
including
support
for
AWS
code
commits
and
also
the
pull
request.
Generator
now
supports
Azure,
devops
and
bitbucket
Cloud,
and
there
have
been
other
minor
improvements
to
it.
I
do
highly
recommend
reading
through
the
the
blog
post,
Linked
In,
the
Google
Doc,
because
it's
going
to
go
through
more
features
than
I
am
in
the
demo
here,
but
we're
going
to
move
on
to
some
UI
based
improvements,
so
the
the
first
one
here
is.
C
We
might
get
some
backlash,
it's
a
bit
of
an
anti-pattern,
but
you
can
now
generate
a
job
based
on
a
Cron
job
from
the
Argo
CD
UI.
So
I've
got
my
Hello
World
Cron
job
here,
which
should
only
run
daily
at
4am,
but
I
want
to
go.
Do
an
ad
hoc
job
I
can
just
go,
click
create
job,
and
it's
going
to
go
generate
that
job.
C
Note
that
I
don't
know
if
this
is
going
to
be
the
final
product
after
the
2.8
release,
but
I
had
to
set
up
a
cluster
role
to
give
the
Argo
CD
service
account
access
to
create
those
jobs.
So
with
the
without
these
in
place,
you'll
likely
get
an
error.
C
Saying
that
you
know
the
surface
count
doesn't
have
permission,
so
this
is
kind
of
a
balance
of
like
the
the
source
resource
is,
is
managed
through
git
Ops
is
managed
declaratively,
but
you
have
the
option
to
go
and
generate
jobs
imperatively
as
needed.
C
A
And
just
to
add,
it's
not
necessarily
like
a
Cron
job
to
job
specific
feature.
The
actions
in
Argo
CD
have
been
improved
to
support
creation
of
like
any
resource.
That's
used
as
long
as
you
define
the
Lua
script,
to
create
that
resources
and
using
the
other
one
as
an
input
to
that.
A
So
con
job
is
like
the
best
example
of
this.
This
feature.
C
Yeah
yeah,
that's
that's
a
good
clarification
is
that
we've
we've
added
a
framework
for
you
to
be
able
to
do
this
with
essentially
any
resource,
but
the
the
Cron
job
is
is
now
built
into
the
the
code
base
already
with
future
room
to
to
expand
on
that,
and
so
the
the
next
UI
Improvement
is
around
grouping
of
PODS.
So
if
we
go
to
my
hello
plugin
example
here,
when
you
have
a
deployment
that
generates
more
than
15
pods,
now
it's
automatically
going
to
group
them
by
health
status.
C
So,
if
I
go
and
update
my
replicas
here
to
20.
we'll
get
a
good
look
at
that,
so
it's
now
bundled
them
into
the
the
replica
set
and
then
it's
grouping
them
based
on
the
Pod
status.
So
you
can
see
the
healthy
is
slowly
increasing
as
the
pods
progress
from
progressing
to
healthy
and
then
so
you
can
click
on
the
the
group
of
PODS
and
it'll
it'll
list
them
all
individually
here.
C
But
if
you
have
one-
let's
say:
that's
broken,
you
can
go
click
into
that
as
well,
which
I
should
be
able
to
demonstrate
here
if
we
go
and
we
break
our
image
tag
here
and
we
wait
for
that
to
break
itself.
It'll
show
up
as
unhealthy
as
a
separate
group
under
here
now.
One
thing
you
can
go
and
turn
this
off.
C
If,
if
you
don't
want
it
by
ungrouping
the
the
pods
using
this
UI
element
here
and
as
a
result,
it
also
goes
in
groups
all
of
the
other
resources
of
similar
kind
as
well.
When
you
have
this,
this
UI
view
on.
So
all
the
replica
sets
are
being
bundled
here,
but
the
replica
set
with
pods
is
displayed
separately,
which
personally
I
really
love.
C
I
I
normally
have
like
20
replica
sets
here
and
unless
you
go
and
set
the,
maybe
somebody
can
remind
me
what
the
parameter
is
to
limit
the
number
of
replica
sets
that
could
hang
around.
C
C
C
So
if
you
go
and
you
hover
over
the
the
number
of
containers
on
a
pod
that
UI
element,
it's
going
to
display
the
number
that
are
ready
and
the
total
number
of
containers
in
the
tooltip
and
I
think
some
of
the
other
tool
tips
now
have
expanded
information
in
them
and
then,
if
you
actually
go
into
a
pod,
the
Pod
summary
now
displays
the
container
States
for
all
of
the
containers
within
that
pod.
C
So,
if
they're
running,
if
it
started-
and
it's
if
it's
ready,
which
a
better
example
of
that
might
be
the
Argo
CD
server
deployment,
because
I
think
that
has
two
pods
no
yeah
I,
don't
have
a
great
example
with
two
pods
ready.
But
the
idea
here
is
that
you
can
see
the
container
State
directly
from
the
the
Pod
summary
and
there's
one
more
feature
I
wanted
to
demonstrate.
But
it
was
broken
when
I
tried
to
do
it.
C
So
I
don't
have
a
demo
ready
for
that
and
there
are
no
a
number
of
General
improvements
added
as
well.
So
one
kind
of
one
that
you're,
probably
not
going
to
notice,
but
you
might
see
the
benefit
of,
is
that
we're
enabling
gzip
for
all
UI
access
and
for
redis,
compression
or
and
redis
compression
by
default
to
improve
performance.
There's
added
health
checks
for
things
like
snapshot
volumes,
the
in-guest
controller
resources
and
the
external
Secrets
cluster
resources
and
I.
A
Great
yeah
thanks
so
much
Nick.
That
was
great
any
questions
about
2.8
or
in
general.
D
Hey
I
have
one
thing:
I
was
talking
to
Michael.
This
is
Raymond
Wong,
so
I
gave
them
Michael
Crenshaw.
Apparently
the
new
plugins
are
going
to
be
the
only
way
to
do
plugins.
D
Management
plugins
yeah
V2,
so
that
might
be
like
a
breaking
change
for
people.
You
might
want
to
note
that
somewhere.
A
Okay,
yeah,
it
was
actually
supposed
to
be
remove
like
two
releases
ago.
If
I'm
not
mistaken,
we
actually
kept
pushing
it
back
because
it
wasn't
full.
There
was
some
feature,
parody
missing
and
then
I
think
we
finally
had
one
full
release:
I
think
it
was
2.7
of
full
feature
parody
and
then
so
2.8
was
I.
Think
when
we
pulled
the
plug
on
the
V
once
yeah
we'll
make
sure
that
it's
clear
in
the
docs
that
V1
is
getting
removed.
D
Yeah
I
had
a
slack
conversation
on
someone
trying
to
migrate
and
they
seem
to
have
quite
a
difficult
time.
A
D
I,
don't
think
it's
parody,
I
think
it's
just
maybe
their
own
setting
up,
maybe
like
a
documentation.
Perhaps.
B
Is
there
a
probably
the
answer
is
no,
but
is
there
like
a.
B
A
Is
that
some
is
that
something
you're
facing
right
now
in
your
organization
ring.
D
D
Anyway,
I
have
a
call,
so
I
have
to
drop
off
just
wanted
to
point.
A
Wait
any
other
questions
where
I
can
also.
Let
me
check
the
agenda
to
see
if
any
other
topics
where
I
did
while
we're
speaking
nope
I,
don't
see
any
other
agenda
topics.