►
From YouTube: Sponsored Lightning Talk: ArgoCD Autopilot, Straightforward GitOps app Promotion... - Dan Garfield
Description
Sponsored Lightning Talk: ArgoCD Autopilot, Straightforward GitOps app Promotion Across Environments - Dan Garfield, Codefresh
Speakers: Dan Garfield
Open GitOps is crystalizing as a standard so how do you actually do it? Codefresh open source engineers recently launched Argo CD Autopilot, an opinionated way to manage applications across environments using GitOps at scale. We'll bootstrap two clusters, deploy our apps, and promote a change from staging to prod. Easy peazy.
For more Continuous Delivery Foundation content, check out our blog: https://cd.foundation/blog/
A
Hello
cdcon
today
we're
going
to
be
using
git
ops
to
set
up
a
staging
and
production
environment,
pushing
changes
to
staging
and
then
into
production,
we're
going
to
be
using
argo
cd
as
well
as
argo
cd
autopilot.
My
name
is
dan
garfield,
I'm
the
chief
open
source
officer
for
code
fresh
and
a
very
small
time
contributor
on
the
argo
project,
and
I
also
work
on
the
get
ops
working
group.
A
The
work
we're
going
to
be
doing
today
is
with
argo
cd
autopilot,
which
is
a
project
created
by
some
code,
fresh
engineers
who
wanted
to
answer
the
question:
how
do
you
get
up
and
running
easily
with
argo
cd
and
how
do
you
get
your
applications
moving
from
staging
to
production,
and
this
is
a
big
issue
I
had
when
I
first
started
doing
git
ops
with
argo
cd.
That
tool
is
very
flexible,
so
I
could
kind
of
build
anything
I
wanted
to,
but
I
didn't
necessarily
know
what
I
should
be
building.
A
How
should
I
set
up
my
directory
structure?
How
should
I
move
changes
between
environments?
These
were
all
open
questions
and
argo
cd
autopilot
has
a
very
straightforward,
simple
way
of
doing
this.
So
to
help
me
demonstrate
this.
I've
set
up
two
clusters
on
google
gke.
Of
course
they
could
be
anywhere
for
the
setup
process.
We
do
need
to
have
their
endpoints
exposed,
but
after
we're
set
up,
we
can
actually
lock
them
down
and
have
it
to
be
in
a
secure
way.
So,
let's
jump
straight
into
the
terminal,
I've
already
got
argo
cd
installed.
A
I've
already
set
a
get
token
up
and
I've
already
set
what
repo
I'm
going
to
be
using
for
my
project.
So
the
very
first
thing
that
I'm
going
to
do
is
I'm
going
to
use
the
argo
cd,
autopilot
cli
and
I'm
going
to
bootstrap
my
repo.
Now
what
this
is
going
to
do
is
it's
going
to
install
argo
cd
autopilot
on
my
production
cluster?
A
That's
the
one
I'm
connected
to
right
now
and
then
it's
going
to
create
all
the
manifest
and
the
directory
structure
and
it's
going
to
write
all
of
that
back
to
my
git
repo,
so
that
now
I
have
a
default
structure.
I
can
use
to
follow
so
we're
going
to
jump
into
that
in
a
second.
But
it's
going
to
take
just
a
minute
for
argo
cd
to
autopilot
or
for
argo
cd
to
get
up
and
running
so
we'll
just
fast
forward
and
let
that
happen.
A
All
right,
it
looks
like
it's
installed:
argo
cd,
autopilot.
It's
all
sorry!
It's
now
installed
argo
cd.
So
that's
up
and
running.
Let's
take
a
look
at
our
repositories,
so
you
can
see
how
that's
been
set
up.
So
here
you
can
see.
I've
got
my
blank
repo
and
now,
if
I
refresh
it
we'll
be
able
to
see,
there
is
a
bootstrap
folder
which
contains
the
manifest
for
argo
cd
itself.
So
I
can
actually
version
and
change
argo
cd
right
for
through
git,
just
like
you
would
expect
with
a
git
ops
application.
A
I
also
have
a
directory
structure
for
apps,
which
is
where
my
applications
configuration
is
going
to
be
stored,
and
then
I
have
projects
which
are
going
to
be
like
environments,
you'll
see
how
those
work
in
just
a
second,
let's
log,
in
really
quick
into
my
new
instance
of
argo
cd,
I'm
gonna
have
to
log
in
and
you'll
see
that
that
it
has
in
fact
argo
cd
managing
itself,
which
is
pretty
cool.
So
let's
jump
back
into
the
terminal
and
let's
create
our
project,
so
we're
going
to
do
argo.
A
Cd,
autopilot
project
create
prod.
Now
a
project
is
essentially
an
environment
and
because
I
didn't
add
any
specification
on
this,
what
it's
going
to
do
is
it's
going
to
look
at
this
instance
of
argo
cd,
I've
just
put
on
prod
and
that's
going
to
be
the
default
destination
for
every
app.
I
add
to
prod
and
you'll,
see
how
this
looks
once
we
get
to
staging
it'll
be
a
little
bit
more
obvious.
So
now,
let's
go
ahead
and
install
our
application.
A
I'm
going
to
use
argo
cd,
autopilot,
app,
create
demo
app
and
I'm
going
to
specify
the
project
as
prod.
You
can
see
it.
It's
taking
a
git
repo
where
my
application
manifests
are,
and
it's
going
to
bring
them
and
create
an
overlay
into
the
repo
that
I'm
using
so
now
that
it's
installed
you'll
see
that
this
will
actually
get
installed
into
production
and
we'll
see
it
in
the
git
repo
as
well.
A
But
before
I
show
you
the
git
repo,
let's
actually
create
our
staging
instance.
So
I'm
going
to
do
argo,
cd,
autopilot
project
create
staging
and
I'm
specifying
a
destination
cube
context.
Now
this
coupe
context
matches
the
staging
cluster
that
I've
already
set
up
and
is
present
in
my
coop
config
file
locally,
and
I'm
also
setting
up
a
port
forward,
but
basically
tells
my
production
cluster
how
to
connect
and
deploy
to
this
staging
cluster.
A
So
when
I
run
that
it's
going
to
install
the
components
and
it's
going
to
get
again
write
everything
back
to
the
git
repo,
so
that
everything
is
present
in
my
git
repo
and
then
I'm
going
to
create
a
application
and
and
get
that
deployed,
we're
going
to
do
app,
create
demo
app.
But
in
this
case
I'm
going
to
change
it
from
prod
to
staging.
A
So
once
this
is
done,
you're
going
to
see
that
I
now
have
an
app.
My
application
is
installed
both
in
staging
and
production
and
I'll
show
you
what
the
directory
structure
looks
like.
So,
if
I
go
into
my
apps
folder
now
you'll
see
I
have
my
demo
app.
I've
installed
one
application
and
I
have
a
base
and
my
overlays
and
my
overlays
are
going
to
show
one
for
staging
and
one
for
production.
A
Today,
argo
cd
autopilot
it
supports
customize
as
well
as
plain
kubernetes,
manifests
and
the
plan
is
for
it
to
support
helm
very
shortly.
If
you
want
to
see
that
go
to
argo
project
labs,
where
you
can
see
argo
cd
autopilot,
you
can
follow
the
issue
and
and
upvote
it
and
I'm
sure
all
the
the
engineers
at
code
fresh
that
are
working
on
this
project.
We
would
love
to
hear
your
feedback
and
excitement
about
it,
but
these
customizations
allow
us
to
create
overlays
to
our
base
configuration
we've
taken
from
our
application
repo.
A
So
we
can
have
differences
between
environments
in
this
case
we're
going
to
be
doing
a
deployment,
making
a
change
and
pushing
it
from
staging
to
production.
Let's
go
look
at
our
argo
instance
and
make
sure
everything
is
installed.
Okay,
usually
it
takes
a
minute
or
two
for
these
things
to
to
catch
up,
and
it
looks
like
maybe
we
just
hit
the
hit
the
wrong
window
and
hit
refresh
and
on
my
root
application
here
and
you
can
see.
A
It's
now
picked
up
my
my
staging
app
and
my
production
app
and
those
are
syncing
and
being
installed
onto
my
clusters,
so
we're
all
good
to
go
there.
Let's
go
back
over
to
oh,
no,
let's
stay
in
the
browser
and,
like
I
said,
let's
make
a
change
to
staging
and
then
roll
that
change
up
to
production.
I'm
gonna
make
a
change
to
this
customization
file
and
all
I'm
going
to
do
is
specify
a
new
version
of
the
image
to
overwrite
what
the
base
is.
A
What's
that's
coming
from
that
other
repository
that
we're
not
even
looking
at
today,
so
here's
my
new
tag,
I'm
going
to
go
ahead
and
update
to
this
and
I'll
commit
it
directly,
even
though
normally
in
production,
we
would
of
course
do
a
you
know:
a
pull
request
and
we'd
follow
that
whole
process.
A
Now
that
I've
done
this
argo
cd,
auto
argo
cd
is
going
to
pick
up
the
change
pretty
quickly
again.
If
we
don't
want
to
wait
since
we're
doing
this,
this
demo
in
under
10
minutes
we'll
do
a
quick,
refresh,
it'll
pick
up
any
changes.
It
sees
this
out
of
sync
and
it's
going
to
roll
out
that
new
change
and
now
to
update
this
to
production.
I
just
go
to
my
production
overlay
and
I
bring
the
same
change
over
there.
A
You
can
do
this
directly
in
the
customize
file.
I
actually
recommend
using
a
separate
file
for
staging
and
production,
which
is
where
which,
which
would
be
called
by
this
customization,
and
that
way
you
can
have
like
values
that
are
specific
to
staging
and
production
that
are
kind
of
always
present,
but
but
that's
a
whole.
That's
a
whole
other
ball
of
wax
so
update
production
to
this
version
and
we'll
commit
that,
and
so
now
we
have
taken
a
change,
we've
actually
bootstrapped
argos
cd.
A
We've
got
two
plus
two
clusters
being
managed
in
a
fully
get
ops
way
and
we've
created
our
application
installed
it
to
both
clusters.
We've
made
a
change
and
promoted
that
change
up
into
production
and,
of
course,
if
we
go
over
and
look
at
production
here,
demo.prod
and
again
this
this
syncs
every
two
to
three
minutes,
but
if
we
hit
refresh
on
this
it'll
catch
up
and
see
that
it
needs
to
sync
and
it's
progressing
and
rolling
out
and
we're
good
to
go.
A
So
if
you
want
to
get
involved
in
this
project,
if
you
want
to
try
it
out
yourself,
I
do
recommend,
starting
with
this
blog
post,
which
is
all
about
argo
cd
autopilot.
Why
we
created
it,
what
it's
used
for,
and
it
has
essentially
this
demo
that
I
just
gave
you
you
can
just
follow
this
yourself
and
you
can
get
it
all
up
and
running
very
quickly
and
easily.
A
So
this
is
just
at
codefresh.io
blog
and
you
can
just
click
on
this
getups
article
or
you
can
search
for
argo
autopilot
and
you'll
find
both
the
argo
project
repo,
as
well
as
the
blog
post.
If
you
have
any
other
comments
or
questions
feel
free
to
hit
me
up
on
twitter,
I
am
at
today
was
awesome.
I
would
love
to
hear
from
you
and
hear
what
you
think
about
this
project
and
things
that
you'd
like
to
see
in
the
future.