►
From YouTube: Argo Workflows Automation 10th Feb 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).
A
There
we
go
okay,
so
today
and
we've
previously
run
workshops
around
the
fundamentals
of
workflows.
Things
such
as
templates
and
you
know
running
workflows.
The
the
intention
of
today
is
to
actually
probably
be
a
little
less
workshopping
a
bit
more
presentationy,
though
there
are
some
things
you
can
try
out
yourself
during
the
course
of
this
presentation,
I'm
going
to
be
going
through
the
various
different
ways.
A
You
can
automate
argo
workflows,
looking
at
the
pros
and
cons
of
those
different
systems
and
looking
at
often
quite
basic
examples
of
doing
that,
if
you
have
any
questions,
do
feel
free
just
to
ask
them,
and
this
meeting
will
be
recorded
so
that
people
can
so
we
can
put
it
on
youtube
and
people
can
look
at
it
at
that
leisure,
okay.
First,
I
just
want
to
talk
a
little
bit
about
automation,
options.
A
Let's
make
this
nice
and
big.
Shall
we?
Basically,
there
are
about
five
different
ways
to
automate
using
argo
workflows.
We
we
are
talking
about
different
tools.
You
can
typically
use
to
interact
with
it
and
under
the
hood,
each
of
those
tools
uses
one
or
more
of
a
different
mechanism
so
just
to
go
through
each
of
these.
A
If
you're
running
the
argo
server
you
can
use
curl
to
make
http
requests
or
because
you
can
use
color
they're,
just
http
requests
with
authorization
headers.
You
can
also
make
programmatic
http
requests
so
just
using
whatever
program
a
http
library,
your
program
in
language
comes
with,
and
finally
there's
an
sdk,
and
so
curl
programmatic,
http
and
sdk
will
all
speak
to
the
argo
server
api.
A
And
some
of
the
benefits
of
using
the
kubernetes
api
is
typically
you're
already
gonna
have
access
to
it
because
it's
already
available
as
part
of
kubernetes,
so
it'll
all
be
running
amongst
the
downsides
of
using
the
kubernetes
apis
is
it
might
be
less
secure
because
typically
you'll
be
using
whatever
coupe
config.
You
have
that's
likely,
often
to
be
a
higher
level
of
power
than
you
might
normally
use,
whereas
if
you're
using
the
api
you
can
set
up
a
service
account
with
more
restrictive
permissions
that
allows
you
to
do
it.
A
One
nice
thing
you
can
do
here
with
kubectl
is
use
a
minus
v6
to
see
the
http
requests
and
I'll
show
you
a
little
bit
of
an
example
of
that
shortly
when
we
use
cube
ctl
another
way
you
can
use
the
argo
integrate
with
diagram
is,
I
said
over
the
api.
A
A
A
Some
of
the
downsides
for
this
is
you'll
need
to
have
the
argo
server
actually
running.
You'll
have
to
api
set
up
and
you'll
need
to
create
an
access
token
and
we'll
look
at
that
shortly.
A
So
I
thought
I'd
just
draw
a
little
graph
here.
That
shows
you.
Let's
fix
that.
That
shows
you
the
kind
of
trade-offs
that
you
can
get.
Basically
broadly
more
power
is
more
complexity,
so
the
way
that
I
would
think
about
which
tool
to
use
is,
I
would
use
the
simplest
tool
that
achieves
the
job,
so
I
I
would
try
and
see
if
I
could
do
whatever
I
want
to
do
with
kubectl
that
didn't
work,
then
I'd
try
with
the
cli.
If
that
didn't
work,
I'd
try
with
curl.
A
Okay,
so
cube
ctl,
one
of
the
great
things
about
coop
ccl
is
you're,
probably
already
gonna.
Have
it
you're
not
gonna,
have
to
learn
any
new
tools
or
new
commands.
You
probably
already
know
how
to
use
cube
ctl
and
it's
really
good
for
experimentation.
You
can
actually
get
some
kind
of
interesting
information
out
of
cube
ccl.
You
can't
get
over
our
out
of
the
argo
binary
and
I'll.
Show
you
how
to
get
some
of
that
shortly.
A
Cons
of
using
coop
ctl
is
that
you're
gonna
need
to
download
the
cube
ctrl
binary.
So
if
you're
writing
an
application,
you
might
not
want
to
bundle
in
a
binary.
You
then,
must
fork
process
to
run
kubectl
that
can
be
very
expensive
to
do
to
fork
a
process.
I
I
always
estimate
around
anywhere
between
100
and
300
milliseconds
of
cost,
so
it's
not
suitable
for
any
kind
of
high
performance,
computing,
usages
and
another.
A
I
mentioned
before
some
of
the
limited
features
there
are
a
lack
of
things
like
suspend
and
resume,
but
let's
have
a
little
look.
I'm
just
gonna
get
up
a
couple
of
my
examples
in
a
notepad
here,
because
I
keep
them
to
one
side
all
right.
This
isn't.
A
And
then,
let's
just
go
to
the
terminal
here
and
I
can
just
do.
I
have
alias
coupe
details.
Okay,
like
many
people
do
I
can
actually
list
all
my
workflows
using
kubectl
and
get
workflow
that
will
list
my
workflow.
Obviously
I
need
to
have
a
workflow
in
my
system.
So
let's
just
create
one
there
you
go,
you
can
see
it
and
I
can
actually
watch
that
workflow
as
well
as
it
as
it
progresses
through
to
running
state.
That's
kind
of
a
nice,
just
a
very,
very
straightforward
thing
to
use
cube
ct
out
for.
A
Images
there
you
go
and
now
you
can
see
that
that
workflow
has
succeeded.
So
that's
one
thing:
that's
quite
useful
to
do
that.
Another
thing
I
can
do
is
actually
get
pods
that
relate
to
my
workflow.
I
think
coop
ctrl
get
pod.
That's
gonna
list
all
my
pods.
A
A
I
can
just
do
that.
I
can
just
give
me
myself
a
pause
for
that
workflow.
I
need
to
actually
give
it
the
workflow
name.
Don't
I.
A
There
you
go,
you
can
see
my
post,
that's
quite
useful
for
just
looking
at
the
pods
and
what
I
also
like
to
do
myself.
Since
I
have
a
tool
I
can.
Actually,
you
can
actually
be
a
bit
more
sophisticated
with
this.
A
So
this
command
will
just
watch
running
pods
printing
out
the
status
of
the
pods
there.
Let's
just
make
that
on
one
line,
you
can
see
that
my
pods
are
there
running
as
well.
Now,
if
I
start
up
another
workflow.
A
A
A
Okay,
so
if
you
want
to
do
an
exercise,
what
might
be
quite
good
is
to
try
some
of
those
things
out
to
use
cube
ctl
to
create
a
workflow
into
list
workflows.
A
Your
your
next
automation
option
is
the
argo
cli.
This
is,
you
know,
you
know
often
a
good
place
to
go
to.
If
cube,
ctl
isn't
meeting
your
needs,
you
can
typically
use
it
anywhere.
You
can
use
cube
ctl
and
it
has
a
lot
more
capabilities.
I
think
we've
mentioned
this
before
and
it
supports
access
tokens.
So
a
good
use
case
for
using
the
argo
cli
over
cube
cto
would
be
something
like
running
a
workflow
on
jenkins
and
we
see
a
lot
of
people
doing
that.
A
You
know
they
install
the
argo
cli
into
into
jenkins
and
they
run
a
jenkins
job
and
at
the
end
of
the
jenkins
job,
after
building
a
binary
or
whatever
they're
doing
that
they
they
then
run
argo
submit
to
to
do
that.
It's
quite
useful.
Now
argo
has
some
nice
options,
whereas
it
shows
you
a
bit
more
kind
of
useful
information
about
the
workflow
that
you're
doing
that's.
Obviously,
some
straightforward
commands
I'll
go
list,
we'll
list
the
workflows
and
I
can
get
a
specific
workflow.
A
And
it
shows
you
particular
information
about
that
workflow,
including
the
steps
and
step
status,
which
is
just
not
something
I
can
get
with.
Kubectl
and
a
big
tip
for
everybody
is
look
at
our
go
help
you
get
loads
of
really
good
help
out
of
the
box
here,
including
a
lot
of
stuff
about
setting
up
our
go
with
us
with
the
server
there.
This
is
often
quite
a
little
bit
tricky
to
do
so
I'll.
A
A
B
A
Okay,
now
one
of
the
challenges
of
using
the
argo
cli
is
you
often
want
to
run
it
through
a
user
interface?
You
can
set
up
a
port
forward
and
set
up
some
commands,
so
I'm
just
going
to
show
you
how
to
do
that.
If
you
want
to
do
an
exercise,
go
ahead,
set
up
your
port
forwards
and
make
sure
you
can
access
the
user
interface.
A
And
then
you
need
to
set
up
the
argo
server
environment
variable
now.
The
argo
server
environment
variable
is
is
used
to
buy
the
argo
cli
to
determine
whether
or
not
it
should
speak
directly
to
the
kubernetes
api
by
inspecting
the
contents
of
the
coupe
config
or
if
it
should
speak
to
the
argo
server
api
using
http.
A
A
There
we
go
sorry,
my
system's
set
up
to
request
a
token,
but
it
doesn't
actually
docker
for
desktop,
doesn't
have
our
back
support.
If
people
don't
know
that
so
things
around
our
back,
don't
always
work
correctly
with
it.
There
we
go
and
I
can
use
our
go.
So
I
can
get
a
little
bit
of
additional
information
out
of
argo
by
adding
minus
v
and
you
can
see
that
it's
now
showing
a
bit
more
formation
and
one
of
the
ones
you
can
do
is
do
g
log
level
equals.
B
A
It's
yeah:
it
will
do
that
if
you're
running
and
coop
czl,
this
also
works
for
kubectl.
I
think
it's
v6.
A
And
you
can
see:
maybe
it's
v9,
so
you
can
actually
get
it
to
print
out
the
contents
of
the
requests
and
that's
really
useful.
If
you
want
to
figure
out
what
requests
the
cli
is
making
to
then
figure
out
what
requests
you
want
to
make
using
a
different
tool.
That's
really
useful.
B
A
You
can
find
out
a
bit
more
about
this
on
on
this
url
I'll,
just
open
it
up
here
and
I'm
just
gonna
walk
you
through
the
process
of
of
doing
this.
It's
a
little
bit
time
consuming.
So
I
won't
actually
show
you
the
process.
A
So
the
first
thing
you
need
to
do
when
you
want
to
create
an
access
token
is
create
a
role.
So
in
this
example,
I'm
going
to
create
a
role
called
jenkins
and
you're
going
to
want
to
determine
which
verbs
and
resource
that
you
want
to
give
and
that'll
kind
of
depend
on
what
action
you
want
to
take
with
it.
This
is
a
very
basic
example
here,
my
resource
I
want
to
be
able
to
list
and
update
workflows.
A
Quite
often,
you'll
probably
want
to
be
able
to
create
them,
so
that
verb
will
probably
list
comma,
create
coin
updates
and
then
you'll
need
to
create
a
service
account.
So
essay
is
an
abbreviation
for
service
account
in
this
case,
service
account
for
jenkins,
and
what
will
happen
is
that
coop
ccr
will
automatically
create
a
token
for
me
in
the
background
and
then
I'll
create.
I
create
a
role
binding,
so
robiney
basically
binds
a
service
account
to
a
particular
role.
I
I
give
that
service
account
the
permissions
of
that
role
and
that's
done
within
a
namespace.
A
So
argon
colon
says
it's
in
that
name
space
that
name
space
for
you
will
be
quite
different
and
that'll
result
in
the
creation
of
a
service
accounts
in
that
service
account
it'll
list
amongst
the
secrets,
the
secret
and
I
actually
get
the
secrets
for
that,
and
I
said
I
suspect
the
progress
there
and
then
I
can
just
use
that
token.
A
As
a
token,
in
my
requests
and
typically
the
token
starts
with
bearer
space
and
then
it's
some
hexadecimal
opaque-
that's
not
hexadecimal,
sorry
base64,
so
I
take
base64
characters
and
I
can
use
that
in
my
urls.
A
A
B
A
Okay,
just
a
real
review
of
the
access
token,
so
they're
they're
good
for
production
systems,
they're
good.
If
you
want
and
another
service
to
speak
to
argo
workflows
and
but
they're,
typically
more
complicated
than
what
you
want
for
experimentation.
So
there's
additional
effort
and
work
involved
in
them.
A
Okay,
so
for
an
exercise
for
you
to
give
a
go
on,
your
system
is
to
set
up
our
go
to
use
an
access
token,
so
go
through
that
web
page
create
a
token
and
then
set
up
the
argo
server
and
argo
token
environment
variables
do
it,
and
this
is
a
reminder,
if
you're
not
sure
how
to
do
how
to
set
up
the
appropriate
variables,
then
just
to
argo,
a
server.
My
messed
up
and
it'll
talk
about
all
the
environment,
variables
and
options
that
are
relevant
to
different
modes.
A
For
example.
Let's
just
go
through
some
of
them
here,
setting
up
instance
id
unlike
you'll
need
that,
but
it's
there.
If
you
need
it
and
if
you're
using
https,
you
can
set
argo
secure
if
you're
using
self-signed
certificates,
then
you
need
to
set
insecure,
skip,
verify
and
I'll
skip.
Checking
the
tls
certificates
and
it's
often
quite
helpful-
to
set
coop
config
to
dev
null,
because
that
actually
prevents
the
cli
trying
to
pick
up
other
kinds
of
information
from
your
environment.
A
You'll
almost
certainly
want
to
set
your
name
space
to
be
where
it
is,
but
you
can
also
obviously
pass
the
namespace
argument
to
it,
and
then
you
can
set
the
funny
set
of
a
token
which
is
bearer
now
this
should
work
for
most
people.
There
are
a
number
of
people
who
are
running
the
argos
server
behind
some
kind
of
load,
balancer
that
doesn't
support
grpc.
A
Sorry,
my
cat
is
being
a
bit
mad.
They
don't
support
grpc
or
http
2
such
as
aws.
So
if
you've
got
that,
then
you
can
set
this
variable
here
to
http.
One
is
true,
and
most
of
the
features
and
capabilities
will
work.
There's
a
couple
of
there's
one
thing
around
argo
logs,
where
the
synths
argument
doesn't
work
correctly,
if
you're
using
http
but
pretty
much
everything
else
works.
Okay,
let's
move
on
okay!
We
talked
a
bit
about
some.
You
know.
A
We
talked
about
arco,
cli
and
we've
talked
about
cube
ctl,
a
next
kind
of
useful
tool
which
is
really
useful
for
trying
things
out
and
it's
very
versatile.
It
tends
to
be
installed
everywhere
and
it's
very
easy
to
use
and
everybody
understands
curl,
you
know.
If
you
go
into
chrome,
you
can
get
chrome
to
actually
just
print
out
the
curl
commands
that
it
uses,
and
so
it's
just
very
it's
me
very
versatile
until
a
simple
tool.
A
A
A
We
actually
provide
a
set
of
swagger
documentations
with
inside
the
user
interface.
A
So
if
you
want
to
understand
what
a
web
page
is
doing
inside
to
do
a
particular
operation,
for
example,
this
workflows
I'll
just
reload
this
and
in
the
console
I'll,
be
able
to
see
the
different
requests
and
responses
that
it's
doing
to
actually
load
that
page.
A
In
the
form
of
a
swagger
documentation,
you
can
actually
run
these
yourself
to
perform
some
operations.
So
let's
just
have
a
look
at
a
very
basic
one.
Let's
just
do
a
list
workflows,
so
I
just
need
to
find
list
workflows,
which
is
this
one.
B
There
please
check
the
ap
server
is
running.
A
You
never
need
to
have
dead
air
on
your
presentation.
Well,
I'm
gonna
use
a
different
endpoint
in
case
there's
just
something
wrong
with
that
one
all
right
here
we
go
so
this
is
the
info
service
endpoint.
That
just
provides
some
information
here,
and
it
shows
you
how
to
do
that.
What's
quite
nice
about
this
user
interface,
which
I
quite
like
is
it
provides
a
try
out
button.
You
can
click
on
that
and
it'll.
A
Allow
you
to
just
put
the
parameters
together,
click
execute
and
when
you
do
that
it
actually
prints
the
curl
command
out
here
that
you
can
run
you
can
copy
that
call
commands.
A
A
Okay,
another
option,
for
you
is
doing
a
programmatic,
http
requests,
so
nice
pros
of
this
is
basically
every
program
range.
I'm
aware
of
can
do
http
requests,
so
it's
you
know,
there's
no
additional,
tooling
or
libraries.
You
need
to
do
it
and
because
it's
in
process
there's
no
forking
costs.
So
there's
no
100
millisecond,
200
milliseconds
300
milliseconds
wait
for
the
process
to
be
forked
you're,
not
installing
any
binaries.
A
This
is
good
for
most
basic
programmatic
use
cases,
so
submitting
a
workflow
from
a
template
listing
workflows,
getting
a
particular
workflow.
It's
pretty
good
for
those
kind
of
use
cases
and
it's
typically
better
than
the
sdk
in
a
lot
of
basic
use
cases.
A
lot
of
people
immediately
reach
for
the
sdk
to
achieve
something,
but
actually
doing
a
programmatic
http
request.
You
only
need
to
provide
the
authorization
header,
the
url
and
the
payload,
and
it's
often
a
lot
easier
and
more
a
lot
easier
to
get
started.
A
A
I'm
not
going
to
show
you
how
to
do
that.
I'm
sure
you
can
all
forget
how
to
do
http
request
in
your
programming
language,
but
a
good
bit
of
homework
for
this
one
would
be
to
just
do
the
most
basic
request,
which
is
going
list
workflows,
so
you
create
a
http
request.
Send
it
using
you,
know,
java,
golang
or
python,
or
whatever
you'd
like
to
do
and
get
a
response
back.
A
Okay,
so
your
the
the
final
option,
the
most
complicated
option
is
to
use
an
sdk,
so
we
provide
three
sdks
effectively
for
argo
workflows.
We
provide
a
java
sdk,
a
python
sdk
and
a
golang
sdk.
Both
the
java
and
python
sdks
are
generated
using
swagger,
so
they're,
basically
built
from
the
swagger
spec,
I'm
using
open
api
gen,
which
is
a
very
common
tool.
A
So
you
tend
to
get
a
lot
of
things
like
auto
completion,
your
ide,
because
you
can
import
those
libraries,
your
libraries,
understand
the
apis
and
do
auto
completion,
and
it
gives
you
a
lot
of
power
for
for
doing
that.
So,
if
you're
going
to
build
a
piece
of
software
on
top
of
argo,
you
know
a
new
platform
or
something
like
that.
This
is
probably
the
right
choice
for
you.
A
A
Is
appears
to
be
a
bit
broken:
okay,
fine,
oh
there
we
go
it's
loading
up
now.
So
this
we
just
keep
a
list
of
libraries
maintained
here
as
well,
so
our
actual
supported
library
is
the
golang
library
and
java
libraries
we
produce
themselves
and
the
two
community
maintained
libraries
here,
one
for
python
and
sorry,
two
python
related
libraries
and
I'm
gonna
recommend
for
anybody
who
wants
to
do
anything
a
bit
more
sophisticated.
A
They
do
take
a
look
at
cooler
that
provides
some
kind
of
nice
high
level
abstractions
over
argo
workflows
and
it's
intended
to
make
it
easy
to
write
workflows
for
any
kind
of
platform
as
well.
So
arco,
workflows,
techton
and
airflow
are
all
intended
to
be
supported.
I
believe
today
just
supports
our
workflows
as
the
main
execution
one,
and
also,
if
you
look
on
our
blog.
A
Okay,
so
the
toughest
bit
of
homework
for
people
do
here
is
to
use
one
of
the
sdks
to
list
the
workflows
and
create
a
workflow
which
obviously
the
most
common
options
there.
Okay,
if
you
want
to
find
out
more
about
this,
obviously
you
can
go
to
the
links
you
know.
I've
mentioned
the
blog
and
it's
a
really
good
place
to
get
more
information
would
be
the
slack
channel.
A
I
got
one
shaky
head:
okay,
no
rise,
so
no
questions
so
I'll
drop
this
video
on
to
youtube
later
on
today,
so
you
can
share
it
out.
Thank
you
very
much
for
your
time
today
and
I
hope
you
have
a
lovely
morning
and
afternoon.