►
From YouTube: Gitlab Agent development environment setup
Description
Timo and Vlad setting up the GitLab Agent development environment
https://gitlab.com/gitlab-org/cluster-integration/gitlab-agent
https://gitlab.com/gitlab-org/cluster-integration/gitlab-agent/-/blob/master/doc/developing.md
A
Awesome
and
we're
recording
already
so
good.
Actually,
let
me
do
the
first
thing
first,
which
I
should
have
done
before
this,
but
yeah,
let
it
run
in
the
background
and
in
the
meantime,
I
was
reading
this.
B
B
B
C
D
D
D
D
D
A
Yeah,
this
is
a
local,
so
I.
Don't
think
that
anybody
seen
my
token
is
a
problem.
Okay,
optional,
CI
tunnel
do
I
need
this
for
the
very
first.
B
Installation
I,
have
it
I'm,
not
sure.
Probably
let's
do
this.
Let's
do
this,
it's
something
we
anybody
probably
want
to
do
pretty
early
on.
Do
you
have
https
in
your
GDK
already
or
nope,
okay,.
A
A
B
D
B
Yes
and
I
mean
these:
are
it's
the
configure,
for
example,
the
agent
listen
address,
it's
the
address
where
the
agent
connects
to
and
you
can
then,
if
you
specify
those
to
some
values,
when
you
run
the
agents
on
your
machine
or
in
a
cluster
or
whatnot,
then
you
can
connect
to
this
port
to
establish
the
connection
from
the
agent
2D.
A
Okay,
do
I
actually
need
the
host
name?
Can
I
just
use
this?
Oh
I
I
need
if
I
want
to
use
it.
Tell
us
right,
yes,
do
I.
Why
do
I
need
to
tell
us?
Can
we
just
somehow
ask.
A
So,
okay.
B
I
guess
I
mean
it
says
that
TLS
is
enabled
if
both
the
certificate
file
and
the
key
file
are
provided.
A
Okay,
I
want
I
want
to
try
to
skip
this.
To
make
this
simpler,
I
guess:
okay,
we
already
run
on
GDK,
oh
I,
wonder
if
gtk
doesn't
even
download.
Actually
we
can
check
it
right.
B
B
Does
probably
you
need
to
call
reconfigure
and
then
it
downloads
I,
don't
know
how
GDK
works
here?
I
have
one
which
I
certainly
don't
use
so
I
here.
No,
if
you
love
ksh,
and
what
is
this
this
one
yeah,
where
is
oh?
No,
it's
in
the
services
or
what's.
A
B
A
B
B
I
suggest
you
just
call
gilab
GDK
reconfigure
and
with
the
with
cast
agent,
enabled.
A
A
D
B
B
B
A
B
So
yeah,
so
let's
let's
leave
them
then.
A
To
wait
for
it
to
finish
something:
okay,
let's
look
ahead
again.
What's
so
update,
reconfigure
restart
and
it
will
print
that
it
starts
everything
I
can
tell
logs
I
can
so.
This
is
the
port
which
cast
a
listen
song.
B
Cass
listens
on
and
that's
where
your
your
agent
will
connect
to
okay.
B
C
D
D
D
B
D
A
Oh
I
should
never
run
Ruby
Minds,
while
I'm
not
I'm,
dating
something.
A
B
Well,
it
says
vv159,
which
looks
which
looks
weird
to
me.
B
D
A
A
A
A
Didn't
abort
it
that's
what
I'm
saying
that
I
want
to?
Actually,
let's
try
it
I,
don't
know
we'll
take
time,
but
yeah
now
at
least
it
will
have
the
right
configuration
okay
educate.
So
this
is
just
in
the
meantime.
I
guess:
I
need
some
cluster
management.
You
managed
you
mentioned
last
time
that
you
origin,
Sunrise
Tool,
which
allowed
you.
B
B
B
B
A
B
A
Okay,
do
I
need
anything
from
it
like
later
and
any
other
like
dependency
or.
B
And
you
can
just
set
a
bazel
version
for
a
certain
like
directory
or
your
system,
yeah,
okay
and
then
I
as
I
said:
I,
don't
know
what
GDK
does,
but
if
you
run
the
make
files
in
cast,
then
it
will
just
use
the
bazel.
You
have
selected
from
basilisk
and
run
it
pretty
much
the
same
as
with
ASDF.
If
you
know
that
okay.
A
A
Okay,
I
wonder
what
basal
cells
is.
Is
it
like
a
built
environment
or.
B
Use
this
to
to
to
manage
the
the
project
in
terms
of
like
the
go
things,
but
it
also
builds
our
images
and
handles
dependencies
and
these
kind
of
things
it
does
a
lot
and
I'm
no
expert
in
in
it.
So
yeah.
A
It
actually
looks
like
it's
run.
Past
runs
faster
now
when
it
was
just
when
it
just
has
finished
some
of
the
operations
before
okay,
while
we're
still
waiting
anything
height.
A
Loyalty
controls
nice,
we're
always
still
waiting,
will
I
need
to
install
anything
else
later
on
or.
B
No
I
think
that's
it.
If
you
do,
you
have
Cube
CTL,
yeah
tools,
yeah
I.
Think
then
we're
we're
good.
A
D
B
I
think
yeah,
because
what
we
can
do
afterwards
is
we
can
configure
a
project
to
have
CI
access
and
then
use
yeah
use
that
to
connect
to
the
cluster
using
cast.
A
A
B
Hi
this
is
so
annoying
it
when
I
focus
the
zoom
window.
I
have
this
bar
at
the
bottom,
so
I
can't
see
your
prompts.
Okay.
C
A
B
A
In
the
let
me
close,
it.
B
A
B
Your
Cube
config
locally
in
your
users
directory
probably
it.
A
Let's
just
restart
it
I
don't
know
in
the
past,
I
was
able,
like
I
at
least
needed,
to
run
the
sorry
to
run
the
runner
and
everything
in
it.
So.
D
D
D
B
B
B
Exactly
so,
you
can
do
a
cube,
CTL
cluster
info,
for
example,.
B
B
No,
this
looks
normal.
It
would
be
bad
if
the
status
of
these
parts
at
the
top
will
be
like
failed
or
crashing
or
whatever.
That
would
be
a
problem,
but
they
all
seem
to
run
fine.
You
also
see
the
restarts
so
they're
not
like
restarting,
and
it
only
appears
as
running
I
think
this.
This
is
good.
B
A
Okay
cool,
so
what
do
we
do?
Next
open
jdk
I
mean
open
the
UI.
B
B
I
told
you
in
the
beginning
is
that
I
usually
start
cast
myself
using
like
peso
whatever
and
now
GDK
started,
cast
and
I
wonder
if
this
now
just
works
even
without
having
https
and
everything
in
nginx
or
if
this
won't
work,
I
don't
know
we
can
try.
So
this
seems
to
be
running.
Can
you
lock
this?
Can
you
do
GDK
tail
for
the
service.
B
B
A
D
C
B
Yes,
you
can
do
this,
but
now
you
don't
have
any
clusters
any
agents
configured
yet
so
what
we
first
need
is
well,
if
you
do
this,
this
is
like
the
old
thing,
I
think:
okay,
what
we
want!
We
have
to
create
an
agent
configuration
file
and
in
the
beginning
we
can
just
have
an
empty
one,
but
we
need
to
get
the
path
right.
So
if
you
go
to
the
web
IDE
for
this
project,
okay,.
B
B
Well,
yes,
yeah,
it's
a
legacy
one!
So
here
you
can
create
a
new
file
and
the
file
yeah
yes,
and
the
file
needs
to
be
in
Dot,
gitlab,
slash
agents,
and
now
we
need
to
put
the
name
of
the
agent.
So
you
can
give
this
a
random
name.
Pretty
much
I
usually
use
the
same
name
as
the
cluster
I
have
locally,
so
that
I
have
like
a
match,
and
it's
easier
for
me
to
debug,
but
I
guess
this
is
so
it's
first
test
in
your
case.
Yeah.
B
B
A
Oh
okay,
as.
D
A
Yeah
once
I
find
Project
yeah
infrastructure
clusters.
A
B
Yes,
yes,
you
also
see
it
in
the
top.
You
can
just
copy
it.
Okay,
yeah
and
you
can
I
store
this
in
a
file
locally
in
my
cast
folder
just
for
ease
of
use
and
then
reuse
this
for
this
agent,
so
I
don't
have,
because
you
only
see
this
now
once.
A
B
One
right
yeah
in
here
I
have
a
file
which
I
call
I,
don't
know
my
agent
name.token,
okay,.
A
B
A
B
What's
next,
okay,
now
you
can
go,
you
can
close
this,
the
the
model
window
there
and
in
GDK
gitlab,
okay-
and
here
you
see
the
agent,
so
it's
not
connected
right,
which
is
what
we
expect,
because
we
don't
have
an
agent
yet
so
now
you
can
go
to
some
terminal
inside
of
the
the
project
we
have.
D
B
B
B
A
B
A
B
A
Let
me
see
right:
okay,
let's
see
okay,.
B
B
The
pod
namespace,
the
name
of
the
pod,
which
are
just
two
environment
variables.
It
requires,
and
we
also
need
a
token
okay
saved
in
the
file
before.
A
B
D
B
B
B
Oh
yeah,
if
you
do
this
yeah,
this
will
be
yeah.
This
is
great!
So
after
the
H
and
K,
you
need
to
do
two
dashes
yeah,
two
dashes
and
now
space,
and
then
the
cast
address
with
minus
minus
cast
address.
Okay.
So
so
yes,
and
then
here
you
specify
what
we
put
into
what
we
put
into
the
GDK
configuration
this
one.
D
B
Token
file,
that's
asking
exactly,
and
then
you
provide
the
path
to
the
file
we
created
previously.
Yep
yeah
now
run
this
and
let's
see
okay
and
now
this
is
the
environment.
Variable
I
told
you
we
can
just
we
can
just
use
default
like
pod,
namespace
equals
default.
B
B
D
B
C
B
B
Like
this
right,
manifest
yeah
maybe
create
a
a
file
called
Maybe
namespace
namespace.yaml.
B
A
B
We
need
we,
you
need
to
copy
some
namespace
kubernetes.
B
Okay,
I
can
also
send
you
one
or
you
have
one:
okay,
cool
yeah.
That's
that's
good
yeah,
there's
a
typo
in
your
file
name,
but
it
doesn't
matter
yeah.
B
That
we
actually
want
to
use
github's
features,
I!
Guess
it's
easiest.
If
I
send
you
a
which
you
can
use.
B
Yes,
there
is
a
github's
workflow
documentation.
B
B
A
B
A
B
B
Don't
know
if
I
told
him
or
yeah,
but
now
we
can
just
run
around
K9s
and
we
will
use
the
cube
context.
You
have
set
locally
by
default,
so
that's
probably
the
one
we
have
and
it's
a
browser
for
you
kubernetes
cluster
and
right
now
you
see
the
parts
and
you
can
switch
between
the
objects
using
colon.
B
So
you
can
press
colon
and
then
you
can
say
plot,
for
example,
and
then
you
would
see
parts
or
you
can
say
namespace
yeah
exactly
and
now
it
shows
you
all
the
namespaces,
and
here
we
see
the
development
namespace
which
we
just
created
before
yeah.
B
B
So
let's
go
to
the
web
ID
again.
B
A
Wonder
if
I
can
enable
the
vs
code
locally
so
do
I
need
to
open
this
one.
B
Okay,
you
need
to
open
well,
you
can
create
a
gitlab
CI
yaml
file
with
the
contents.
I
sent
you
via
slack.
It's
just
like
a
random
example,
which
I
just
had
available.
B
So
here
what
we
have
is
just
a
job
called
Cube
CTL,
but
the
name
doesn't
matter,
but
what
basically
gitlab
does
is
it
provides
you
a
cube,
config
file
and
there's
a
context
set
for
you
or
you
can
choose
a
context
which
is
named
after
your
project,
colon
agent
name.
So
here
on
the
line
you
have
your
cursor,
you
can
say,
root,
slash,
H
and
test
on
line
five
here.
B
No,
no
it's
wrong.
It
should
be
agent
test,
not
H
and
K
minus
test
without
the
minus,
oh
yeah
yeah,
and
then
the
colon
in
the
end
was
correct.
We
need
to
tell
it
which
agents,
because
you
can
have
multiple
agents
connected
to
your
project,
and
here
we
called
it
first
test:
oh
yeah,
yes,
and
then
the
other
commands
here
are
just
printing
out
the
cube
config.
You
can
remove
this
line
actually
and
then
it
runs
some
random
Cube,
CTL
commands.
A
A
D
D
A
D
D
A
B
A
A
A
Yes,
this
is
what
I
took
from
the
runner
locks.
So
what
I'm
trying
to
understand
this?
B
Yeah,
probably
it
knows
how
to
Call
to
to
the
docker
demon
or
whatever
is
provided
by.
B
B
B
A
A
Okay:
let's
try
it
I
guess.
A
Actually,
into.
A
Actually,
I
wonder
if
I'm
not
the
first
to
person
who
sees
this
issue
because
Rancher
is
a
default
thing.
We
recommend
for
running
Docker
images.
A
Those
those
document
Docs
were
really
updated
since
the
last
time
I
tried
them.