►
From YouTube: GitLab Runner office hour (August, 2020)
Description
Steve Azzopardi from the GitLab Runner team reviews two merge requests (MRs) from the wider community.
A
Hi,
my
name
is
ray
pake.
I
manage
a
code
contributor
program
at
get
lab
and
this
is
the
runner
office
hour
for
august.
So
I
think
I'll
just
turn
things
over
to
steve,
who
has
a
number
of
merger
quests
that
he
proposed
to
review.
Let
me
paste
the
issue
here
where
that
discussion
is
taking
place
and
steve
I'll
turn
things
over
to
you.
B
Thank
you
so,
since
alexander
is
in
this
call,
let
me
first
share
my
screen.
B
That
is
better,
so
correct
me
if
I
wrong,
but
this
is
your
merge
request
right,
alexander.
B
Perfect,
so,
to
give
some
background
to
anyone
watching
this
or
people
who
are
not
at
work,
we
have
to
keep
paradise
executor
and
kubernetes
has
a
lot
of
ways
to
say
this
spot
should
be
scheduled.
B
Node
the
spot
should
take
priority
over
teams
and
things
like
that
and
a
few
months
back.
Actually,
a
year
ago,
we
went
to
everything
that
we
have
like
so
kubernetes
have
these
node
selectors
total
variations,
node
affinity,
port
affinity
and
we
went
through
which
one
we
support
and
which
ones
we
don't
and
alexander
was
kind
enough
to
start
work
on
the
note
affinity
for
from
the
conflict
of
tongue.
Part.
Am
I
understanding
correctly
alexander.
C
B
B
B
B
C
If
I'm,
if
I
might
interrupt
you,
yes,
that's
that's
true.
Like
most
of
the
comments
there
are
not
like
finished,
because
I
really
would
like
to
have
some
feedback
on
the
overall
approach,
because
this
affinity
structure
from
kubernetes
is
a
quite
complex
one.
I
think
it's
one
of
the
complex
that
is
there
are
there
in
the
code.
So
yes,
like
there
are,
is
some
changes
between
underscores
camera
case
and
stuff.
So
I'm
sorry
for
that,
but
yeah.
B
You
don't
have
to
be
sorry,
I'm
only
pointing
them
out,
so
we
like,
we
remember
to
fix
them
in
the
future,
even
if
we
don't
fix
them
right
now
but
like
if
we
just
leave
a
comment
on
them.
We'll
remember
in
the
future
that
we
have
to
fix
it.
So
I'm
just
gonna
leave
one
small
comment.
We
don't
have
to
fix
it
right.
D
B
It's
just
so
we
don't
forget.
First
I'll,
probably
forget
myself.
C
Yeah,
that's
what
I
meant
with
the
mixture.
This
is
the
fin.
Of
course,
it
wraps
not
only
the
node
affinity,
but
also
the
pod
affinity,
which
you
can
see
in
line
300
and
301
like
there
are
two
yeah
like
structures
missing
there,
which
is
part
affinity
and
another
one.
I
think
it's
anti-affinity,
which
could
also
be
extended
to
the
affinity.
B
B
B
Now
I
understand
it:
okay,
so
this
one.
B
B
So
just
one
thing
that,
like
yeah,
I
sometimes
struggle
the
most
with
community
contributions
is
getting
the
knowledge
from
some
feature
that
I'm
not
aware
of
so
okay,
so
we
have
affinity.
Okay.
That
makes
that
this
is
even
better
because
even
kubernetes
splits
it
into
affinity
and
no
different
t
so
that
that
follows
kubernetes
structure,
even
better
nice
work
on
that
so
required
and
preferred
that
is
awesome.
C
Yeah,
so
basically
the
naming
is
copied
from
the
api
include.
So
the
api
include
of
the
kubernetes
api
already.
Has
this
structure
and
I
yeah
like
copied
it
and
add
the
wrappers
to
yeah,
convert
it
from
the
structure
here
to
the
kubernetes
one,
because
this
was
one
of
my
of
my
hardest
struggles
like
there's
a
lot
of
copy
paste
from
the
api
from
kubernetes.
B
And
we
do
that
for
a
specific
reason
right:
the
kubernetes
api
changes
from
time
to
time
new
structures
are
added
and
so
on
and
so
forth.
B
If
we
have
our
own
structure,
yes,
it's
a
bit
of
a
maintenance
burden
from
our
end,
but
then
we
can
have
control
of
the
config
tumbler
file
because
we,
as
the
runner
team,
have
to
be
very
aware
of
any
breaking
changes
or
any
new
flags
that
come
in
that
we
want
or
don't
want
to
support,
and
things
like
that.
So.
E
B
I
do
understand
it's
a
bit
awkward,
copy-pasting
these
structures,
but
I
think,
having
that
is
better
than
just
having
the
conflict
of
domain
out
of
our
country.
B
E
E
E
B
So
I'm
guessing
these
are
all
from
the
operator
here.
If,
when
you
remember
correctly,
we
do
have
some.
D
B
B
B
Okay,
so
for
the
tolerations,
for
example,
the
operators
itself,
we
actually
use
the
api
one.
So
if
we
look
at
gets
note
tolerations
here,
we
use
the
api
one,
and
that
makes
sense
because
at
the
end
of
the
day,
we
don't
want
to
duplicate
that.
We
only
want
to
duplicate
the
configuration,
but.
B
Okay-
and
we
want
this-
we
want
to
send
this
to
the
a
kubernetes
api
right.
C
Community's
executor,
I
use
this
structure
to
to
cast
it
from
the
input
configuration
file
to
a
value
and
then
use
it
in
the
getter
function
to
cast
it
to
the
kubernetes
enum.
B
E
B
I'm
just
trying
to
get
the
grasp
of
the
translations.
C
Yeah
and
there
in
the
I
don't
see
the
line
number,
but
in
the
operator
api,
node
selector
operator.
This
is
the
the
enum
or
the
structure
that
matches
which
uses
the
key
in
and
inside
axis
and
stuff.
So.
E
B
Selected
there's
one
thing
I
wish
we
had:
the
conflict
of
thunder
file
is
getting
a
bit
too
big
enough.
If
configures
it's
in
its
own
package,
we
could
have
this
concealed
in
one
file
for
just
affinity
spots.
That's.
B
B
So
to
answer
your
original
question
regarding,
if
the
configuration
looks
fine,
I
would
say
so:
yes,
at
the
end
of
the
day,
what
we
want
to
do
is
what
you
are
doing
right,
it's
taking
the
thomas
structure
and
transforming
into
transforming
it
into
the
kubernetes
api
request
right.
I'm.
B
Petrol
or
adrian
have
any
concerns
about
that
or
suggestions.
I
know
in
the
past
we
discussed
how
we
can
prevent
this
like.
It
seems
like
it's
a
lot
of
work
for
us
to
keep
translating
kubernetes
kubernetes
api
to
tunnel
file
structure
for
our
conflict
of
tunnel.
There
were
some
ideas,
but
none
of
them
really
panned
out.
D
B
B
D
B
I
don't
think
we
really
need
this
one,
I
mean
if
it's
just
a
string
and
then
we
could
type
casted.
So,
for
example,
here
we
are.
B
Here
we
are
just
asserting
it's
I
mean
so
there's
no
need
to
die
pass
it
here
and
even.
C
One
one
question
about
that:
if,
if,
if
we
go
with
string,
I
I
get
your
point
and
if
we
go
with
string,
then
the
runner
would
start
without
an
error.
But
when
he
wants
to
spawn,
he
has
to
cast
the
string
to
the
api
node
selector
operator,
and
then
he
would
crash.
Wouldn't
he.
B
It
would
be
the
same
with
or
without
it.
So,
let's
test
out
your
theory
so
to
confirm
it.
So,
let's
open
up
a
jdk
conflict
and
I
have
microvanities
executed
here
right.
C
B
B
You
can
still
do
this
so,
for
example,
let's
let's
do
it
here
right,
so
node,
selector.
B
Operator
asdf,
for
example,
and
that
would
still
be
valid.
B
Still
valid
go
code
and
it
will
still
print
properly.
So,
even
if
we
have
our
own
type
with
these
questions
defined,
it
does
not
mean
it's.
It's
not
really
an
enum.
So
if
you're
familiar
with
any
other
programming
languages
like
c
sharp
or
something
like
that,
like
this
you're,
not
defining
enums
you
go,
go
does
not
have
enums
actually.
B
B
So
we
can
remove
this
part,
and
then
we
just
rely
as
a
string
and
then
even
the
kubernetes
will
do
the
typecasting
and
it
will
work
fine,
it's
only
the
api
when
we
actually
send
the
request
to
the
computer's
api.
The
validation
will
happen
on
the
api
level,
and
so
it
will
not
happen
on
the
type
customer.
C
C
E
B
E
B
E
B
So,
since
we're
using
the
testify
package,
it
actually
has
a
bunch
of
hyper
functions
where
we
can
do
a
certain
here
and
just
do
parts.
B
And
we
just
wanted
to
so
it's
a
little
bit
easier
to
read.
It's
mostly
a
network
right.
B
E
E
E
E
B
That
seems
to
do
you
have
any
questions
or
concerns.
B
Okay,
so
the
pipeline
is
only
playing
because
of
stuff
just
out
of
previously
okay,
it's
just.
B
Okay,
that
is
fine.
We
can
fix
that
later,
but
yeah.
That
seems
really
really
good.
From
my
point
of
view
and.
B
I'll,
probably
like,
after
this
meeting,
I'm
ending
my
day
for
some
application
tomorrow,
so
I'll
probably
take
a
look
at
the
translations.
Next
week,
I
usually
review
community
contributions
on
friday.
C
A
Thanks
alexander,
for
not
only
for
your
contribution
but
also
being
on
the
call-
and
it's
sometimes
it's
nerve-wracking,
getting
your
work
reviewed
like
live,
but
thanks
for
thanks
for
doing
this.
C
Yeah
no
problem
as
a
suggestion
I
it
was
only
luck
that
I
found
the
the
meeting
here,
because
I
I
got
in
the
mentioning
under
my
merch
request
that
there
is
a
mentioning
of
this
issue
in
another
issue
and
otherwise
I
wouldn't
have
been
here
yeah
exactly
like.
B
That
is
my
fault.
I
prepared
last
minute
for
this,
so
I
just
looked
at
the
new
community
contributions
that
came
in
the
past
two
three
days
and
just
said:
hey
we're
gonna
review
those,
but
I
are
you're
right.
I
should
have
like
announced
it
properly
as
it's
like
that,
I
will
review
it
and
the
office
hours.
Probably
what
I
should
have
done
to
me
with
my
idea
is
thank
you
directly
in
the
measurements,
and
I
will
tell
you
hey
where
we'll
be
doing
this
in
the
office
hours,
if
you're
enjoying.
C
B
B
E
E
B
B
Executor
we
can
define
tokens
which
are
basically
a
way
to
authenticate
within
api
now,
what
I'm
not
sure
about
if
we
actually.
E
E
B
B
B
B
Okay,
what
I'm
only
afraid
of
like
the
change
is
super
super
simple
and
we
can
probably
merge
it.
What
I
would
want
to
do
is
actually
test
it,
because
if
we
end
up
emptying
the
token
file
right
now,
how
is
it
going
to
be?
B
Is
it
going
to
completely
debate,
or
is
it
going
to
use
the
token
file
instead
of
the
bare
token,
if
that
is
the
case,
it
might
be
a
small
breaking
change
for
missed
computer
drivers,
because
the
user
thoughts
that
there's
an
independent
token,
but
it's
actually
using
the
very
token
file
which
might.
E
B
D
E
B
E
E
B
E
E
E
E
B
That
means
that
if
the
third
token
that
is
available
in
the
cluster
has
more
permissions
than
the
third
token
that
is
configured
in
the
conflict
of
time
file,
it
will
start
one
not
even
if
it's,
if
there's
a
bomb
there,
and
it
can
be
a
breaking
change,
because
if
this
token
file
has
more
permissions,
it
might
be
the
case
that
some
ci
job
works
as.
B
To
prevent
the
braking
change,
the
best
thing
to
do
is
add
a
feature
back,
so
we
can
have
a
feature,
connect
turned
on
by
default
and
if
the
user
has
some
good
setup,
they
can
just
turn
on
the
project
like
what
and
then
they
will
fix
it
on
time
and
then
we'll
duplicate
it
and
you
leave
it
in
14.0
adrian.
D
B
B
E
E
E
E
A
Yeah,
it's
like
a
four
line.
Changes
could
involve
a
lot
of
things
to
look
at.
I
guess
it's
a
good
illustration
cool.
Well,
yeah
thanks,
for
I
mean
we
managed
to
review
two,
mrs,
which
is
good,
I
think.
As
for
the
next
call,
we
have
a
hackathon
in
about
a
month,
so
I
think
I'll
try
to
schedule
on
the
day
one
of
the
hackathon
on
wednesday
september,
2nd
I'll
put
that
on
the
calendar,
but
also
thanks
for
everyone
for
joining
I'll,
see
you
folks
again
next
month,
if
not
soon,
bye.