►
From YouTube: 2023-02-09: Pipeline Execution Community Office Hours
Description
Agenda for today:
1. Direction updates on where this feature is going from the GitLab Side - James https://gitlab.com/groups/gitlab-org/-/epics/6378
2. Architecture/data store changes needed to support / align with community work - Caroline
3. Q&A / Sync MR review
A
This
is
the
pipeline
execution
team's
office
hours
for
February,
9th
2023
our
topic
today
and
the
agenda
is
the
Epic
figure
CI
minute
limits,
project
and
subgroup.
A
I'm
gonna
go
ahead
and
share
my
screen
with
the
Epic
just
to
talk
through
where
the
feature
set
is
going
and
kind
of
recap
what
we
talked
about
last
time,
everything
around
so
the
larger
problem
to
solved
with
this
epic
is
really
allowing
namespace
admins
and
for
self-managed
instance
admins
to
get
a
more
granular
level
of
limits
on
projects.
A
So
there's
a
case
specifically
from
the
Drupal
Community
who's
running
a
self-management
who
wants
to
limit
within
subgroups
or
project
the
amount
of
CI
minutes
they
can
consume
per
month,
which
totally
support
that.
So
we
had
some
Community
contributions.
That
came
in
initially
to
support
that.
But
there's
there's
some
confusion
in
the
code,
probably
around
quota
versus
limit
and
what
is
applied
from
the
license
down,
and
so
the
contribution
would
have
circumvented
the
license
quota
that
is
set
on
kitlab.com
users
and
against
the
shared
stats
Runners.
A
And
so
we
put
a
pause
on
those
Mrs
just
to
kind
of
take
a
step
back
to
find
all
the
use
cases
that
we
wanted
to
address
and
make
sure
that
we
had
the
issues
created
for
those
and
so
now,
I
think
at
this
point
we
have
all
of
that
in
the
Epic
and
a
couple
of
different
ways
to
think
about
it
in
tables
and
an
issue
list
and
in
diagrams
to
try
to
kind
of
set
out
quota
is
what
comes
with
your
license
and
it
is
applied
to
you
this
year.
A
Fast
Runners,
that
was
the
number
of
purchased
minutes
is
what
is
applied
within
that.
We
want
to
allow
namespace
admins
to
set
limits
of
how
many
of
those
projects
and
student
per
month
and
so
try
to
sketch
that
out
within
the
hierarchy
within
this
diagram,
and
then
we
have
a
good
list
of
the
issues
here
and
kind
of
an
implementation
phase
plan
to
a
purchased
and
to
set
this
up
and
I.
A
Think
that
the
first
thing
that
we
would
want
to
tackle
is
really
the
the
Drupal
use
case
of
setting
that
cicd
limit
per
project
on
self-hosted
infances.
And
so
that's
the
issue
here
and
then
doing
that
within
a
subgroup
again
Crystal
hosted.
We
may
find
that
that
those
two
issues
cover
both
for
still
posted
and
for
staff,
but
as
long
as
it
applied
to
you
know
within
that
quota
for
those
SAS
users
that
were
in
a
good
spot.
A
So
before
we
move
on
that
any
questions
about
kind
of
the
larger
goal
or
some
of
the
things
that
have
changed
since
black
time
we
held
in
community
office
hours
or
if
you
have
additional
questions
from
the
discussion
we've
been
having
in
the
issues
in
the
epics
and
the
Mrs.
A
B
Okay,
I'm
actually
going
to
pass
it
over
to
Drew
directly.
We
went
through
it
yesterday
and
we
I
think
we
have
some
good
technical
guidance
based
on
our
reading
of
the
issues.
I.
C
Will
send
I'm
gonna,
put
a
merge
request,
link
into
the
zoom
chat
for
everybody
right
now,
I'll
be
sharing
my
screen
and
walking
through
and
pointing
at
stuff.
But
just
if
you
people
want
to
hold
on
to
that
and
poke
around
and
look
at
other
stuff,
while
I'm
talking
feel
free.
C
All
right,
so
this
is
a
a
sort
of
draft
that
Carolina
and
I
worked
through
that
doesn't
we
did
not
cover
like
the
mechanics
of
how
to
set
them?
You
know
like
which
API
like
what
the
endpoints
are
going
to
look
like
that's
stuff,
that
we
would
leave
up
to
implementation
and
when
we
ran
it
when
we
were
working
on
this
before
the
the
problem
James
mentioned
about,
you
know
like
oh
well,
suddenly,
you're
purchase
CI
minutes
won't
matter.
C
We
we're
focusing
on
like,
what's
the
design
of
that,
gonna
look
like
to
make
sure
that
you
know
everything
else
will
will
not.
You
know,
break
some
of
our
existing
logic
and.
C
Largely
the
the
difference
in
the
difference
in
the
way
we
designed
this
draft
is
that
we
have
we've
sort
of
implement
a
a
hard
limit
that
can
like
be
set
at
any
level
in
a
group
in
Project
hierarchy
and
then
We.
Compare
that
limit
that
that's
the
thing
we're
talking
about,
adding
that
could
be
configurable
based
on
your
top
level
namespace.
It
would
be
a
default
for
everything
within
a
namespace
and
a
subgroup.
C
You
can
configure
something
different,
but
at
the
individual
project
level,
where
we
say
in
this
project
like
what's
the
number
of
minutes
where
we
stop
processing
and
I
promise
I'll
explain
this
and
it
won't
look.
It
won't
look
like
it
does
now.
You
might
feel
better
about
this,
but
essentially
a
project
can
have
here
an
explicit
limit
from
an
admin
that
says
this
project
gets
537
minutes.
That's
it.
C
We
compare
that
to
an
inheritable
limit
that
can
be
set
on
any
group
in
its
hierarchical
chain,
and
so
this
will
get
passed
down.
If
you
ask
a
namespace
what
it's
CI
hard
minutes
limit
is,
it
will
say
you
know
it
will
say
it
it'll
give
you
its
own
or
its
parent
group,
whichever
is
lower
and
we
take
the
lower
of
those
two
if
they
exist
and
if
not
we
use,
and-
and
these
are
sorry
to
be
clear-
these
are
the
direct
like
they'll.
C
C
There's
a
separate
inheritable
default,
which
is
I,
think
something
that
Drupal
is
interested
in
that,
if
it's
sort
of
saying,
if
there
is
no
discernible
default,
not
just
that
it's
more
or
less
like,
if
there's
nothing
in
these
two
hard
limits,
just
use
this
one
instead
and
so
the
the
use
case
of
you
know,
we
have
30
000
projects
and
we'd,
like
all
of
them
to
have
a
limit
of
400,
except
for
a
few
that
we
go
and
specify,
but
like
mostly
it's
400
..
This
would
be
configured
to
400.
C
Great,
thank
you.
The
the
important
difference
here
is
that
this
is
not
selected
as
using
a
grader
less
than
comparison.
So
like
these
two
hard
limits
you
take,
the
least
of
which
is
sort
of
a
hierarchical
permission,
thing
right
where,
if
a,
if
a
top
level
subgroup
says
this
is
the
limit,
no
subgroup
can
decide
to
use
more
if
they
don't.
C
So
there's
there's
the
explicit
hard
limits
that
are
always
limiting
it'll
look
up.
You
always
take
the
lowest
limit
that
you
see
in
your.
You
know,
reporting
in
the
group
hierarchy
and
then
this
is.
This
only
applies.
If
there's
nothing,
if
there
is
no
hard
limit
in
the
hierarchy
at
the
project
level,
we
will
then
take
whichever
value.
We've
decided.
Is
the
right
one
from
those
three
and
compare
it
to
a
purchase
minutes
quota.
C
This
is
I've
totally
hand
waived.
This
method
at
like
I'll,
make
my
text
a
little
bit
bigger
here.
This
is
the
current
way
we
determine
if
you
have
minutes
left
like
for.com,
so
for
self-managed
customers,
where
there
is
no
well
there's
no
concept
of
plan,
there's
no
monthly
purchase
minutes
that
will
just
that
won't
exist,
and
so
we'll
ignore
it.
We'll
select
the
minimum
of
this
one
value
and
it'll
be
that
value.
C
But
if
this
exists,
if
there
are
purchase
minutes,
we
will
take
the
lower
of
the
two
so
for
us
running,
gitlab
SAS.
This
will
always
show
up
and
we'll
always
take
the
lower
of
the
two
Drupal
I.
Don't
think
we'll
ever
have
this
be
a
value,
but
as
an
application,
we
need
to
compare
what
we
select
kinds
of
limits.
D
C
Sorry,
at
least
not
for
questions
about
that.
Any
any
questions
about
this
bad
boy
before
I
move
on
to
where
to
where
some
of
these
settings
are
gonna
live.
E
I,
don't
know
that
I
have
a
specific
implementation
questions.
I
know
Anatoly
has
been
doing
most
of
the
sort
of
initial
Mr
implementation
stuff,
so
he'll
probably
have
the
details
about
taking
it
from
sort
of
code
sketch
to
functional,
but
overall
I
do
think
it,
as
I
said
before.
I
think
it
meets
the
use
case
that
we're
talking
about
and
then
yes,
I
totally
think
it
you
know
making
it
generic
so
that
we
can
continue
to
follow
right.
E
We
don't
we
don't
want
to
be
hacking
gitlab
for
our
special
use
case,
so
making
them
making
sure
they're
generic
Solutions
so
that
we're
using
this
as
a
kind
of
off-the-shelf
feature
that
stays
caught
up
with
everything
you're
doing
is
is
an
important
part
of
making
this
work
so
yeah,
but
yeah
yeah.
C
No
great
and
honestly
I
think
this
is
going
to
be
great
for
for
SAS
configurability
too.
C
C
That
is
an
implementation
detail
of
this
huge
hand,
wave
that
I
did
down
here.
Okay,.
C
C
The
plan
here
assumes
that
that
question
is
already
answered
somewhere
else
in
the
application.
Okay,
if
the
part
of
the
strategy
about
deciding
about
doing
this
comparison
as
close
to
your
pipeline
and
build
it
like
in
the
project
not
doing
a
calculation
at
the
namespace
is
that
we
can
get
very
granular
in
here.
In
this
logic
and
say
like:
does
this
project
have
minutes
what
sort
of
Runners
are
assigned
to
this
project?
Does
it
have
speci?
C
Are
there
tags
for
its
builds
like
we
could
ask
those
sorts
of
questions
and
handle
it
in
here?
This
is
this
stuff
up.
Here
is
purely
a
number
of
minutes
calculation,
if
there's
Runner
specific
things,
that's
either
in
here,
and
we
built
it
somewhere
else
or
no.
It's
not
part
of
this
plan
up
here.
A
A
This
is
only
going
to
apply
to
the
shared
Runners
on
a
self-managed
instance,
group
Runners
and
project
Runners
were
still
used,
whatever
they
used
without
being
able
to
set
the
limits
on
them,
or
we
carve
out
that
use
case
and
say,
and
here's
how
we're
going
to
handle
for
the
group
Runner
situation
at
least,
and
so
I
want
to
I
mean
really
that's
a
question
for
Tim,
and-
and
it's
only
is
that
a
use
case
that
we
need
to
cover
here
is
that
a
use
case
that
we
could
handle
later
primarily
you're
focused
on
that
shared
Runner
use
case.
E
I
mean
speaking
for
us
right
now,
yes,
I
think
primarily
that's
you
know
we
are.
We
are
managing
Runners
at
large,
as
as
shared
Runners
for
our
in
for
our
sort
of
whole
instance
for
our
community,
and
so
that
is
really
the
use
case.
We
would
need
to
solve.
I
do
think
that
in
terms
of
making
this
a
long-term
generic
solution,
you're
right,
it
does
make
sense
to
think
about
whether
there's
configurability
on
a
runner
type
basis
or
something
like
that.
C
F
Yeah
I
get
I
got
questions
why
we
need
default
per
project
limit
if,
for
example,
for
Drupal
case
I,
believe
we
can
configure
it
on
on
the
namespace
level
like
the
default
limit
and
that
default
limit
will
be
like
for
for
all
the
projects.
F
C
You're
talking
about
this
limit
here,
yeah,
this
limit
is
configured
at
the
namespace
level,
which
is
a
group
or
a
subgroup.
It
can
be
anywhere.
E
E
Right
makes
things
complicated
when
we're
a
22
year
old
project
and
we're
trying
not
to
break
anything
that
might
be
out
there,
but
anyway,
the
idea
here,
I
think
Anatolia.
If
I.
If
I'm
interpreting
your
question
right
is
we
set
one
namespace
soft
default
as
it
were,
which
is
the
like.
Okay,
any
project,
we
don't
specify
of
these
30
000
projects
and
any
new
project
that
gets
added
to
the
same
namespace
defaults
to
a
limit
of
400
minutes
a
month.
E
But
if
we
go
in
and
find
all
of
our
projects
that
qualify
as
Drupal
core
projects
or
Drupal
strategic
initiative
projects,
where
we're
deliberately
saying
we're
going
to
invest
more
in
those
projects,
spend
more
money
on
our
Runners
and
all
those
things,
then
those
get
separate
hard
limits
that
that
override
the
default,
but
don't
force
us
to
change
the
the
that
don't
force
us
to
change
any
other
defaults
and
then,
at
the
same
time
that
functionality
doesn't
break
sites
that
do
enforce
a
paid
quota.
F
All
right,
so
the
logic
here
is
that
with
a
specified
defaults
and
then
overwrite
the
the
defaults
with
custom
limits
and
to
implement
that
in
in
a
different
framework
where
we
have
like
limits
in
everything,
we
need
to
have
this
default
as
I
ever
write.
Yeah.
C
F
I
I
would
better
like
I
would
prefer
that,
like
overwrite
settings
like
explicit,
overrides
limits
override
for
projects.
F
Because,
for
me,
hard
limit
is
something
that
you
cannot
like
cannot
grow
more
than
like
anything
else.
So
the
idea,
that's
hard
limit
can
be
greater,
is
kind
of
alien
to
me.
So.
C
C
C
F
C
Are
I
think
visibly
Hasty,
please
yeah.
F
Yeah
I
think
the
the
the
the
limit
hierarchy
is
clear
so
that,
on
the
top
level
you,
if
you
set
the
limits
it
will
set
the
the
upper
bonds
for
all
the
lower
limits.
So
I
just
expected
something
like
just
just
limits
like
namespace
limits,
project
limit
and
that's
it
and
then
these
defaults
per
project
is
would
be
limit
overwrite
or
per
project
like
overwrite.
That
would
make.
D
F
So
there
is
also
the
namespace
I
was
thinking
the
namespace
instance
level.
I
was
thinking
that
there
should
be
instance,
level
as
well,
that
specifies
defaults
for
like
project
limits
and
then,
if
you
have
to
extend
that
for
specific
projects,
you
you
set
a
different
overwrite
value
that
is
not
dependent
on
anything
at
all,
but
yeah,
okay,
so
it
will
be
easier
to
have
those
cases
listed
and
then
how
to
these
variables
match
these
cases
like
see
these
settings
in
in
the
table.
Maybe.
C
Yeah
so
I
I
think
this.
We
could
do
it
at
the
instance
level
and
we
might
use
plan
default.
We
have
plan
default,
ion
limits,
Ford,
Drupal
I,
think
because
you
have
that
one
top
level
namespace
called
project
setting
this
to
400
for
the
project
namespace
will
be
functionally
equivalent
to
setting
it.
For
your
whole
instance,.
E
Yeah
in
our
particular
use
case,
that'll
that
will
function
in
the
same
way.
Okay,
great
it'll,
give
us
the
purpose
we
need
and-
and
we
have
strictly
speaking
right
now-
we
do
have
two
top
levels.
We
have
a
projects
and
we
do
have
a
like
Community
Fork
shoe
Fork
level,
but
that's
easy
enough.
That's
only
two
namespaces
to
worry
about
that's
yeah,
not
not
compared
to
trying
to
individually
worry
about
the
configuration
on
thirty
thousand
projects.
Yeah.
A
Hey
Drew:
do
you
think
you
could
pull
up
the
Epic
and
that
diagram
and
we
can
see
how
these
fit
in
there.
C
C
C
So
let
me
push
some
of
my
own
stuff
around
here
right,
so
the
this
is
a
that's
quota
right,
so
instance.
Admin
setting
a
quota
here
is
like
this.
Is
somebody
at
gitlab
setting
this
for
gitlab.com
right.
This
is
that,
for
the
whole
instance
level,
you
know
we
say
that
ultimate
gets
50,
000
or
whatever.
It
is
now
important.
C
I
I
have
a
spent
a
lot
of
time.
Reading
about
the
words
quote
in
lemon
fair
enough,
so
everywhere
that
we
use
the
word
quota
here,
we're
using,
which
I
think
is
very
helpful.
We're
calling
it
a
license
quota
might
actually
change
this
to
say:
license
quota
as
well
with
the
idea
being
a
quota
is
something
that
you've
purchased
and
can
use
up.
It
is
your
purchase,
so
it
when
we
talk
about
this
for
gitlab
SAS,
we
think
of
it,
as
you
are
purchasing
a
portion
of
the
available
compute.
C
So
that's
when
we
get
down
to
the
the
limits
that
we're
saying
there
can
be
configured
at
the
namespace
level
like
here
and
they'll,
they'll,
inherit
down
to
its
own
to
projects
and
subgroups
and
then
at
each
project
level
when
any
given
pipeline
is
running,
we
just
say
hey
project:
what's
our
limit
and
the
project
can
inherit
the
the
project
can
be
any
one
of
these
inherited
things.
It
can
be
its
own
project
limit
and
it
could
be
the
namespace
limit.
C
It
could
be
an
inherited
namespace
limit
or
it
could
be
the
license
quota
and
that
big
lisp
looking
block
of
code
that
I
had
in
there
chooses
between
these
three
things.
C
Project
limits,
like
an
explicit
project
limit
for
one
project,
is
pretty
straightforward,
that
is
a
column
on
Project
CI
CD
setting
and
the
one
that
lives
on
Project
CI
CD
setting
is
a
really
straightforward
limit.
C
When
a
project
wants
to
know
what
its
limit
is,
we
just
say:
did
somebody
give
this
project
directly
a
limit,
and
is
it
less
than
the
one
that
the
namespace
says
we
get
take
whatever
the
smallest
one
is
so
this
is
just
an
an
integer
it'll
sit
here
and
then
get
compared
here.
That's
the
whole
thing.
The
the
fun
starts
when
we're
doing
the
inheritable
hard
limit
which
lives
as
a
namespace
CI
CD
setting.
C
So
it
is
configured
at
the
level
of
a
name.
So
this
could
be
a
group
subgroup
top
level
namespace,
any
one
that
they
all
chained
together
and
for
any
given
namespace
we
see
if
it
has,
it
could
check
its
own
column,
value
simple,
integer,
just
kind
of
like
the
one
in
the
project,
CI
CD
settings.
C
F
Yeah,
but
why
I
I
think
it
will
be
like
several
database
queries
to
get
those
values
for
each
of
the
namespace
and,
if
I
believe
that's
n,
plus
one
problem
or
something
I
was
reading
the
last
week.
F
C
It's
certainly
possible
I
left
a
note
in
here
about
talking
to
the
database
people
when
we're
building
this.
We
have
some
practical
limits
on
namespace
depth.
I
can't
pull
them
up
in
front
of
us
right
now,
but
like
people,
don't
have
1500
nested
name
spaces
like
deep.
C
F
Yeah
I
just
thought
that
in
rails
there
should
be
some
kind
of
construct
for
fetching
those
hierarchical
settings,
because
basically
every
setting
in
gitlab
is
hierarchical.
Yeah.
C
We
have
tooling
for
that,
if
we
I
would
use
it
when
we
need
it
and
I
just
don't
know
yet.
I
was
writing
up
this
draft
this
week
and
Caroline
and
I
said
that
this
seems
like
clear
about
the
business
logic,
which
is
really
what
this
draft
here
is
demonstrating.
C
So
as
long
as
we
have
that
I'm
perfectly
open
to
whatever
query
seems
to
perform
better,
that's
a
that's.
If
that's
a
yeah
great
thing
to
call
out
because
it
could,
it
could
go
either
way
and
I
do
not
have
any
opinion.
Yet.
C
Yeah
for
sure
right,
which
is
you
know
why
you
know
I
named
stuff
like
this,
so
that's
the
anyway.
So
this
is
the
currently
recursive
kind
of
simple
look
up:
The
Chain
Grab,
the
smallest
answer
and
come
back
implementation
of
that
hard
limit.
D
C
We
always
take
the
lowest
value.
We
see
no
project
under
that
value
can
never
go
over.
That's
the
end
of
it.
The
inheritable
default
that
can
be
overridden
by
a
higher
value
is
a
little
bit
more
interesting,
yeah
sure
interesting.
C
We
have
a
whole
like
meta,
programmed
module
about
this,
where
you
can
set
a
value
somewhere
in
a
namespace
hierarchy,
and
you
can
lock
that
value
and
it
becomes
the
oh
and
it
be.
Everything
below
will
use.
That
figure.
C
C
C
With
a
cascading
attribute,
we
Traverse
until
we
get
a
number
any
number
and
then
we
say
that
must
be
it,
and
then
we
return
there's
a
lot
built
into
here.
We
can
poke
around
in
that
later
I
I'm,
probably
beyond
the
scope
of
this
call,
but
the
the
key
difference
is
that
we
don't
do
any
comparison
of
the
values
we
just
say:
oh
we've
gone
up
the
tree
and
we
found
the
setting
that's
closest
to
us
in
this
project.
So
that's
what
it
is.
C
The
Drupal
top
level
project
namespace
could
set
this
to
400
and
everybody
gets
their
default
to
400
because
we
haven't
specified
otherwise,
and
then
there
could
be
a
subgroup
of
a
thousand
projects
under
that
project,
top
level
namespace
and
you
could
still
say
well.
The
default
in
here
is
going
to
be
a
thousand
like
these
is
some
special
group
of
projects
we're
going
to
give
them
a
higher
to
fall
and
those
projects
will
get
a
thousand
the
proximity
of
the
setting
to
the
project.
C
C
C
But
all
of
this,
both
of
these
limits
are
configured
at
the
namespace
level,
so
they'll
be
configured
once
and
they
do
apply
in
their
own
particular
logic
to
everything
under
that
namespace.
E
I
think
it
follows:
that's
making
sense
I
mean
to
anatoly's
point
earlier
right,
we're
in
we're
in
sort
of
prototype
phase,
but
but
that
makes
it
clear
and
readable.
So
that's
helpful.
C
Yeah
yeah:
no,
this
is
very
much
demonstrating
our
way
out
of
the
business
logic
problem.
This
is
the
I.
Don't
expect
this
particular
merge
request
to
be
picked
up.
F
Is
it
possible
to
say
on
which
level
the
limit
is
set
both
for
default
and
for
hard
limits,
because
for
debugging
purposes,
when
something
like
goes
wrong
and
limits
like
your
minutes
are
over,
you
probably
want
to
know
which
limit
trigger.
It
is
yeah.
C
Yeah
we
talked
about
this.
The
there's
nothing
here
in
this,
this
draft
that
details
that
all
we're
doing
is
passing
around
integers
but
I,
think
and
vedica
I'm,
not
sure
if
we
have
designs
or
anything
for
this,
yet
we
haven't
talked
about
it.
C
A
note
that
says
you've
hit
a
limit
set
by
this
person,
or
you
know
at
this
group
level,
makes
a
lot
of
sense
to
me.
So
it'll
be
it'll
be
traceable.
You
know
we
can
hopefully
link
to
places
where
the
limit
is.
So,
if
you
know,
or
at
least
tell
you,
you
have
to
contact
somebody
from
this
Group
contact
and
owner
of
this
group
to
change
your
to
change
your
settings.
F
C
D
F
D
Sorry
I
just
wanted
to
mention
that
I
think
there
is
a
banner
in
place.
I'll
quickly
go
and
check
and
post
here.
B
The
the
plan
was
to
have
it
out
of
scope
for
the
MVC
to
have
the
like
the
UI
to
display
what
value
was
causing
you
to
hit
your
limit,
but
that
that
would
be
a
follow-up
issue
to
add
that
for
the
Drupal
case,
it
will
hopefully
be
fairly
obvious.
Since
you
only
have
like
two
levels
at
this
point
but
yeah
once
you
get
like
subgroups
and
things
it'll
be
much
more
confusing
as
to
where
the
the
limit
is
being
hit.
F
Oh
yeah
I'm,
not
thinking
about
UI,
but
I,
think
that
if
there
is
a
detection
of
that
level
here
in
the
code,
there
will
be
comments
with
the
specifying
which
limit
is
hit.
It
will
make
quad
more
like
readable
or
with
with
because
the
error
message
would
need
to
specify
what
is
the
exact
condition
here.
Is
there
like
something
not
set,
and
then
something
sets
and
overridden
like
the
tricky
stuff
like
this,
so.
C
At
at
like
check
run
time,
there's
no
reason
when
we
pass
back
one
of
these
integers,
we
can't
pass
back
the
full
path
of
the
namespace
to
say:
hey,
here's
where
it
is
so
that's
that's
easy
enough
to
do.
It
doesn't
really
require
any
extra
querying
or
heavy
lifting.
We
already
have
the
records
available
and
we
could
also
bundle
some
of
this
stuff
up
that.
Oh
you
know
this
is
just
in
setting.
We
could
probably
use
it
from
right
here.
The
way
this
is
written,
I,
don't
think.
C
I,
don't
see
a
reason
why,
on
a
project,
CI
CD
settings
page,
we
couldn't
query
the
whole
hierarchy
and
say
Here's
all
this.
Here's
everything
that
you're
subject
to
here's.
You
set
a
limit
in
your
little
subgroup
of
10
000,
but
the
group
above
you
has
it
set
to
a
thousand.
So
your
limit's
not
going
to
matter
like
we
can
we
there's
this
high.
This
design
is
amenable
to
that
for
sure.
F
Yeah,
because
in
the
past
they
used
those
hierarchical
interfaces
for
setting
authorization,
rights
and
I
believe
that
will
be
really
useful
for
understanding
how
it's
set.
A
Anybody
watching
later
there's
some
chat
happening,
I,
think
or
Peyton
says
that
I
think
docs
will
agree
or
help
here.
I
agree,
I,
think
that
the
error
that
shows
up
today
when
you're
out
of
minutes
appears
in
the
job,
log
and
so
boring
solution
might
be
to
after
we,
you
run
out
of
minutes
and
the
job
can't
start
to
dump
out
the
limits
there
and
we
think
there's
some
errors
on
Pipeline
creation
as
well.
G
A
C
A
E
It
yeah
I'll,
say
I,
don't
have
specific
questions
on
the
implementation
stuff
I
do
I
might
have
to
drop
as
questions
are
are
going
on
specifically
so
I'll
just
really
quickly
say:
I
want
to
thank
Anatoly
in
particular
for
doing
a
lot
of
work
to
do
a
bunch
of
initial
Mrs
and
actually
kind
of
get
the
ball
rolling
and
then
a
thanks
to
everyone
on
the
gitlab
side,
James
Drew,
Caroline,
Peyton
others
who
have
just
kind
of
made
it
possible
to
figure
out
how
to
do
this
kind
of
contribution.
E
It's
been
like
it's
kind
of
been
a
test
case
for
understanding
it
for
a
community,
the
size
of
drupals
and
and
how
we
can
make
an
improvement
on
this
level,
and
so
yeah
just
wanted
to
say
that
I
really
appreciate
that
I
appreciate
and
it's
all
these
efforts.
Quite
a
bit
and
I
appreciate
the
concept
of
these
office
hours
for
this
sort
of
conversation.
I
think
this
has
been
good,
so.
A
They
don't
within
gitlab,
there's
some
other
groups
who
are
doing
monthly.
That
was
going
to
be
one
of
my
follow-up
questions
was.
Is
it
valuable
should
we
continue
to
do
this
as
a
product
group
and
just
make
this
a
regular
Meetup
and
we
can
ship
times
around
as
well
pretty
from
time
zone
coverage
should
not
be
the
same
time.
Every
month.
E
Yeah
I
mean
I
certainly
found
this
one
valuable
I,
don't
know
you
know,
maybe
the
pacing
I'm
not
sure,
if
there's
enough
activity
to
guarantee
that
every
month
has
has
something
new
to
to
say,
but
in
this
case
where
it's
like:
hey,
you've,
internally
kind
of
re-sketched
out
or
re-prototyped
the
business
logic
and
there's
that
gives
us
meat
on
the
bones
to
talk
about
like
then,
then
this
sort
of
makes
a
lot
of
sense,
a
good
place
way
to
get
on
the
same
page.
At
least
that's
my
two
cents.
E
But
someone
like
Anatoly
is
doing
a
lot
more
brass
tax
work
with
actual
Mr
stuff.
So
you
may
have
different
feedback.
A
All
right,
well,
well,
I
think
we
can
make
these
monthly
moving
forward
because
we
have
other
topics
outside
of
CM
minutes
that
we
could
definitely
talk
about
or
review
at
Mars
with
folks
who
are
looking
to
contribute
in
other
areas
of
the
product.
But,
let's
Circle
back
to
then
to
Anatolia.
A
Since
you
have
Mrs
and
you're
waiting
on
decisions,
can
we
hand
over
to
Green
sharing
to
you
maybe
to
talk
through
some
of
your
specific
questions
or
where
you
need
guidance
to
move
things
forward
so
that
you're
not
stuck
or
waiting
on
the
gitlab
team.
F
Well,
there
is
a
just
as
simple
Mr:
it
just
adds
projects
limits,
setting
and
that's
it
so
I
mean
once
the
decision
is
made.
I
will
look
forward
how
to
add
some
logic
to
that
and
how
to
check
that
and
all
the
things
would
follow
so
for
now.
I
just
need
to
understand
the
the
whole
logic
behind
it
and
basically
like
make
it
unblocked
merged
and
then
move
on.
A
I
think
it's
the
one
that
we
were
chatting
in
earlier
this
morning
or
my
morning,
Anatoly
I,
just
shared
it
in
the
zoom
chat.
F
So
yeah
it
was
my
first
Mr
to
the
GitHub
I
believe
so
I
got
into
some
refactoring
of
the
tests
and
into
the
depths
of
of
Ruby
code
for
the
testing,
so
it
might
be
not
trivial
to
review.
Maybe
I
should
move
that
part
somewhere.
F
That's
about
delegation
of
settings,
so
I
made
a
new
piece
of
code
that
checks
actual
delegation
because
in
rails
there
is
no
mechanism
to
check
if
the
method
is
delegated
and
made
by
my
own.
A
You
took
an
initial
look
at
this
back
in
November
and
we
were
waiting
on
some
decisions,
I
think
that
might
be
made,
and
the
Mr
that
you
have
to
sketch
those
out
today
at
how
the
limits
work
would
apply
here.
A
C
C
F
Go
ahead,
yeah
I
mean
the
naming
the
the
placement
of
the
settings
and
for
for,
like
my
initial,
and
we
see
it
should
be
like
just
a
project
setting
and
then
in
Drupal.
You
kind
of
can
get
the
script
and
set
this
limits
for
all
projects,
just
one-time
way
without
UI,
but
that
won't
be
like
the
long-term
solution.
For
you
know,
administrators
and
and
the
people
so
like
the
the
Mr
is
not
is
simple,
but
the
decision
how
to
properly
integrate
it
is.
It's
probably
not.
E
It
sounds
like
possibly
a
and
I
don't
know.
What's
already
there,
I'm
I'm
only
just
re-looking
at
the
Mr,
but
it
sounds
like
possibly
another
comment
round
from
from
Drew
or
Caroline
on
the
existing
Mr
to
integrate
it
with
the
sort
of
prototype
sketch
that
we
just
saw
today
might
help
give
that
direction.
Yeah.
C
F
Yeah
the
delegation
code
is
hard
because
it
checks
the
source
for
the
method
and
if
the
source
is
basically
starts
with
delegates,
that
means
the
the
method
is
delegated,
but
not
all
ruby
objects
have
source.
So
sometimes
this
this
code
will
just
fail,
and
that
just
happens
right
now,
like
Ci
tests,
don't
pass
because
somebody
added
the
property
that
that
fails,
foreign.
A
B
C
F
Yeah
I
can
try
to
do
this,
but
because
that
touched
the
tests,
probably
the
delegation-
needs
to
be
merged.
First,
okay,.
G
A
Also,
since,
like
next
steps,
there
are
new
Mr
just
for
the
delegation
part
and
then
true,
you
can
add
comments,
All
right
so
and
I
told
you.
Will
you
open
that
new
Mr
and
pick
that
part
out
of
this
one?
And
we
can
reuse
this
here?
You
can
comment
back
with
the
sketched
out
Mr
how
to
work
in
those
new
limit.
Concepts.
C
I
think
I
think
that'd
be
helpful
while,
while
I
have
you
right
here,
can
you
give
me
a
just
a
quick
what
this
delegation
tell
me
if
I'm
on
the
right
path
here,
the
delegation
means
that,
when
says
when
cicd
settings
is
destroyed,
the
delegation
function
here
is
to
make
sure
that
the
limit
code
remains
functional.
If
the
settings
record
gets
destroyed,.
F
It's
more
as
I
understand
about
Ruby
moving
like
rails
moving
those
properties
to
separate
namespace,
so
the
CI
CD
settings
are
not
in
Project.
They
are
in
project.cicd
settings.
Yes,
so
when
you
destroy
this
namespace
like
with
cicd
settings
and
somebody
tries
to
access.
F
Those
properties
in
in
in
in
projects
which
were
delegated
to
to
this
project
to
to
these
CI
cities
namespace
those
will
return
nil,
so
right,
okay
and
and
for-
and
that
was
like
hard
code
at
least,
and
it
didn't
really
check
the
delegation.
So
you
have
to
put
your
methods
in
there
manually
and
manually
check
them.
So
when
I
I
wrote
this
method
and
it
immediately
caught
two
errors
in
these
lists,
so
I
decided,
that's
I
should
go
this
way.
C
Okay,
yeah,
then
I
think
definitely,
let's
split
them
out,
because
I
understand
the
attribute
stuff
perfectly
well
and
it
all
looks
great
and
I'm
gonna
I'm
gonna
check
out
our
delegation
stuff
because
it
sounds
like
we
might
be
testing
something
in
a
not
obvious
way
and
I
think
that's
a
worthwhile
separate
discussion
to
have
about
how
we
manage
that.
C
Thanks
and
feel
free
to
ping
me
under.
A
A
E
A
I'm
excited
that
we
got
folks
here
to
talk.
This
has
been
good,
definitely
energizing
and
we'll
keep
it
moving
forward.