►
From YouTube: /lgtm - Kubectl with Eddie Zaneski
Description
MB01SJETV8HMYSO
A
A
A
Okay
today
this
is
lgtm.
Lgtm
is
the
show
where
we
will
show
you
how
to
contribute
to
cncf
projects.
Today
we're
taking
a
look
at
cube,
control,
cube,
ctl,
cube,
cuddle,
cube,
I'm
sure,
there's
a
few
more
and
in
order
to
do
so,
I'm
joined
by
the
co-chair
of
six
cli
eddie
zaneski
hi
there
eddie.
How
are
you
man.
A
No,
it's
my
pleasure,
I'm
really
excited.
This
is
now
episode
three
of
lgtm
and
people
always
ask
me:
how
are
you
going
to
do
kubernetes
and
the
question
is
a
great
question,
because
it's
such
a
huge
project
and
I'm
really
just
so
excited
to
understand
how
myself
and
others
can
begin
to
contribute
to
cube
control.
A
B
Sure
I'm
eddie
I
live
out
in
denver
colorado.
I
work
for
amazon
web
services
and
I'm
on
the
aws
kubernetes
team,
where
I
spend
most
of
my
time
focused
working
upstream.
I
like
climbing
and
I
like
kayaking.
So
that's
me.
A
Awesome,
thank
you
very
much
all
right.
Well,
I
think
the
best
thing
for
us
to
do
as
cube
control
is
going
to
be
a
really
fun.
One
for
us
to
explore
is
to
jump
straight
into
our
screen,
sharing
mode
and
we'll
kind
of
try
and
break
down
some
of
the
primitives
that
people
need
to
be
aware
of
with
regards
to.
Where
does
the
code
live?
How
do
they
access
that
and
what
are
the
major
directory
structures
and
changes?
A
So,
let's
pop
over
to
our
screen,
share
there
we
go,
you
are
now
live.
We
can
see
the
github
page.
You
wanna
give
us
the
the
gated
tour.
Please.
B
B
It's
just
such
a
big
project
and
there
are
so
many
pieces
of
this
big
project
right.
So
when
you're
first
coming
into
the
community,
don't
don't
be
afraid,
don't
be
scared.
There's
plenty
of
people
here
to
help
you
and
get
started.
B
Kubernetes
project
is
broken
up
into
different
sigs
or
special
interest
groups,
as
we
call
them,
and
so
there's
a
sig
for
networking,
there's
a
sig
for
the
cli
tooling,
which
is
what
I
work
on
and
then
on
the
top
there's
we
have
a
sig
for
contributor
experience.
We
shorten
it
to
sig
and
that's
to
say
that
we
recommend
a
lot
of
people
have
their
first
fourier
into
the
kubernetes
community.
So
it's
run
by
a
great
group
of
awesome
people.
B
It
is
a
sig
that
is
focused
entirely
on
the
contributors
and
how
to
get
started
and
the
experience
of
everyone
who's.
You
know
working
on
the
project,
so
there
are
people
to
help
you
so
don't
get
scared
from
you
know.
Everything
we're
gonna
run
through
today
definitely
check
out
the
sig
contrib
x
and
there's
a
whole
lot
of
other
things
for
different
interests
for
the
project.
So
with
that,
I
guess
what
I
have
here
is
the
repo
for
cube,
cuddle
or
cube
ctl
or
cube
control.
B
As
you
said,
I
purposefully
say
it
all
different
ways
throughout
my
conversations
just
to
confuse
everybody
on
purpose,
but
we
have
the
repo
here,
and
so
this
is
actually
kind
of
a
special
case,
because,
even
though
cube
control
has
its
own
repo,
we
don't
take
pull
requests
directly
to
this
repo.
B
We
have
a
folder
that
you'll
find
called
staging,
and
so
this
is
a
collection
of
repos
that
are
hopefully
going
to
be
broken
out
one
day
again,
kubernetes
is
such
a
large
code
base,
so
there's
pieces
everywhere,
and
so
the
idea
is
to
break
out
and
separate
all
the
individual
components
into
their
own
places.
So
we
can
permission
things
differently.
We
can
have
different
communities
engaged
in
places.
B
The
cloud
providers
are
a
great
example
of
that
right.
So
most
of
the
cloud
provider
code
was
part
of
the
main
kubernetes
repo
at
one
point,
and
there's
been
a
great
effort
from
a
bunch
of
awesome.
Folks,
over
the
years
to
separate
that
out
into
its
own
repos
and
in
its
own
sig
controlled
code,
and
so,
if
you're
ever
wondering
oh
like,
where
does
this
code
live?
There's
a
good
chance?
B
It's
gonna
live
in
the
staging
repo,
so
this
is
a
great
place
to
start,
and
so,
when
you
take
a
look
here,
you'll
have
the
sourced
kxio
folder
and
then
like
on
the
read
me
from
the
last
page.
This
has
all
those
repos
that
are
considered
staging,
and
so
this
is
actually
where
we
take
pull
requests.
So
you
would
come
into
the
cube
control
subfolder
here
you
can
see
it's
the
same
exact
code
that
I
had
back
here
and
there's
a
job
that
will
periodically
run
that
will
copy
this
code.
A
B
That
is
the
theory.
Yes,
I'm
not
sure
some
of
them
will
ever
make
it
out
just
because
there's
so
many
deep
couplings,
but
we
will
definitely
get
there
eventually,
hopefully
so
awesome
so
yeah.
So
this
is
where
we
take
pull
requests
and
there's
a
lot
to
learn
about
contributing
to
kubernetes
in
general
right.
So
where
do
you
recommend?
We
start?
Should
we
start
walking
through
issues
or.
A
Well,
yeah!
So
if
we
take
a
look
at
the
cube
control
directories
because
we
just
understand
like
because
it's
the
command
line
application,
I'm
curious-
you
know
if
anyone's
familiar
with
go
is,
is
that
a
cobra
viper
application
does
all
the
same
conventions
that
people
may
be
familiar
from
their
work
here?
Is
it
something
else?
How
do
they
navigate
the
packages
within
this
directory?.
B
Yeah
great
question:
so
yes,
it
is
a
cobra
application.
Corp
is
a
very
popular
command
line
tool,
library
for
go
real,
easy
to
get
started
and
so
dropping
into
the
main
reaper
here
you'll
see,
there's
no
entry
point
and
that's
where
we
say
you
can't
build
cue
control
out
of
tree.
Yet
the
entry
point
actually
lives
at
the
top
level
here
in
this
command
folder,
and
then
we
have
the
cube
control
folder
right.
So
we
have
a
very
simple
straightforward
main
function,
so
this
is
actually
how
cube
control
gets
built.
B
So
if
you
were
to
do
a
go,
build
this,
it
will
actually
just
build
the
the
binary
here.
So
I'll
show
you
how
the
make
file
works
in
a
bit.
But
this
is
the
actual
entry
point,
and
so
this
will
pull
in
all
of
that
staging
code
that
we
have
here.
B
And
so,
if
we
take
a
look,
you
know
the
gold
mod
folders,
the
gold
mod
file
is
kind
of
large,
but
you
can
see
we're
pulling
in
cobra
we're
probably
pulling
in
viper,
no,
not
viper
we're
pulling
a
pf
flag.
So
this
is
for
flag
sets
and
stuff
a
bunch
of
other
yama
libraries
tons
of
the
kubernetes
core
libraries.
B
We
also
if
you're
working
on
cube
control
you'll
often
run
into
a
cli
runtime
library.
This
is
where
we've
abstracted
a
lot
of
the
pieces
for
building
clis
inside
of
kubernetes
world,
so
this
is
used
inside
of
cube
adm,
a
bunch
of
other
command
line.
You
know
tools
inside
of
the
kubernetes
project,
so
cli
runtimes,
where
a
lot
of
that
work
will
actually
get
done,
cube
control
code,
actually
houses.
You
know
most
of
the
commands.
B
So
if
we
jump
into
that
package
folder,
you
will
see
this
layout
that
you're
probably
familiar
with.
We
have
some
top
level
folders
here
most
of
the
stuff
that
you
want
to
work
on
and
look
at
is
going
to
live
in
this
command
folder.
So
these
are
all
the
commands
that
live
inside,
cube,
control
right
so
get
is
very
common
command
that
most
folks
would
use
you'll
see
we
have
this
broken
out,
so
these
are
all
packaged
and
moduled,
and
the
idea
is
that
a
lot
of
this
code
is
intended
to
be
reusable
we're.
B
Not
quite
there,
yet
we
have
a
a
function
and
a
pattern
that
we're
working
on
and
I'll
actually
shout
out
an
issue
later
that
we
have
a
ton
of
need
for
new
contributors
for,
but
there
are
tons
of
conventions
for
what
a
cube
control
command
looks
like
and
we
have.
This
is
a
good
one.
So
this
see
how
this
takes
in
a
cobra
command
itself.
There's
a
big
effort
right
now,
where
we're
trying
to
rewrite
most
of
our
code,
that
it
doesn't
depend
on
a
cobra
command
right.
B
So
you
should
be
able
to
pull
in
some
of
these
commands
and
use
these
as
library
code
for
some
of
the
stuff
you're
working
on
without
having
to
actually
think
about
cli
or
cobra.
So
we
have
a
bunch
of
like
different
option.
Structs
that
are
get
passed
in
you
can
see
here.
This
is
like
the
get
option
struct
right,
so
this
has
all
the
flags
and
different
bits
that
you
could
pass
to
the
get
command
a
little
later.
B
I'll
walk
through
actually
making
a
change
to
a
command
gets
a
very
complicated
command
to
get
started
with,
especially
because
it
works
with
what
we
call
unstructured
data,
and
so
it
has
to
know
how
to
write
so
go
is
a
very
statically
typed
language
and
kubernetes
is
a
very
dynamically
api
resource
driven
type
thing,
so
we
have
to
be
able
to
convert
from
a
very
you
know:
tight
schema
to
a
loose
schema
and
back
and
forth.
So
there's
tons
of
different
conversions
and
mappings.
B
B
B
It's
go
code
written
by
ruby
developers
and
so
kubernetes
is
go
code
written
by
java
developers,
and
so
it's
you
know,
it's
very
different
patterns
and
there's
tons
of
go
doesn't
have
generics
right,
so
there's
different
ways
to
do
interfaces
and
abstractions,
and
you
have
to
type
assert
something
when
you
get
it
you're
like
yes,
I
am
sure
that
this
is
actually
going
to
be
this
type,
that
I
think
it
is
so
it
gets
confusing.
B
So
I
recommend
you
learn
and
go
outside
of
learning
kubernetes
if
you
haven't
done
it
before
I've
made
that
mistake
a
few
times,
and
now
we
always
get
burned.
But
if
you
know
java
coming
in
a
lot
of
the
patterns
might
make
more
sense
to
you.
B
A
A
Staging
stuff,
so
I'm
glad
that
you've
answered
that
we
kind
of
we
know
that
stuff
happens
in
the
commands
you've
mentioned
as
the
cobra
application.
So
hopefully
that's
enough
for
people
now
that
they
can
get
feel
a
little
bit
familiarity
with
this
directory
and
this
project.
So
what
about
the
issues,
then?
What
are
there
are
conventions
there
for
people
to
find
an
easy
issue
to
get
started
with
cube
control.
B
Yes,
and
the
reason
I
get
stuck
is
because
I
feel
like
you
could
do
an
entire
episode
on
how
to
contribute
to
kubernetes
as
a
project,
because
there's
so
much
automation
and
tooling
and
structure
put
in
place.
I
will
show
one
thing:
real,
quick,
the
so
we
have
these
code
owners
files
and
so,
if
you're,
ever
working
on
a
piece
of
code
and
you're,
not
sure
who
to
talk
to
you
actually
see
this
in
the
pull
request
process.
So
there
will
be
a
an
owner's
file
either.
B
These
can
be
super
granular
into
a
single
package
or
a
whole
top
level
for
the
whole
repo.
But
we
have
owner's
files
and
these
kind
of
point
to
who
owns
these
different
pieces
of
code.
So
you
can
see
here
that
this
particular
repo
is
owned
by
the
60
li
maintainers
and
they're
the
approvers.
So
we
have
different,
we
call
it
a
contributor
ladder,
so
we
have
a
you
can
be
a
outside
contributor
from
the
organization,
so
organization
is
just
the
actual
github
organization.
B
B
B
So
this
means
they
have
contributed
before
but
they're,
not
part
of
the
kubernetes
organization,
and
so
we
don't
run
ci
jobs
by
default
because
bitcoin
mining
and
abuse
and
all
that
fun
stuff.
But
anyone
who's
a
member
can
come
through
and
say:
let's
just
take
a
quick
peek
at
this
pr
yep.
This
doesn't
look
like
it's
mining
bitcoin.
It
doesn't
look
like
it's
going
to
break
our
ci,
so
I'll
come
in
here
and
I'll.
Just
drop
a
slash
okay
to
test
on
here,
and
so
this
will
tag.
B
The
pr
you'll
see
that
this
label
will
get
removed
and
okay
to
test
will
be
added,
and
then
the
we
have
a
big
ci
system
called
prowl,
and
so
the
proud
bot
is
going
to
run
a
bunch
of
jobs
in
here
and
it's
going
to
start
doing
a
whole
bunch
of
testing
as
you'll
see.
This
will
take
anywhere
from
like
a
few
30
minutes
to
a
couple
hours
to
run
depending
on
the
job
we
have.
B
B
We
try
to
drop
messages
in
here,
so
you
can
see
hey.
This
issue
is
currently
awaiting
triage.
A
state
can
come
by
and
accept
this,
so
it
will
kind
of
show
up
in
their
queue.
You
can
filter
on
like
accepted
or
unaccepted
issues,
yet
it
just
kind
of
shouts
out
that,
like
hey,
no
one's
looked
at
this,
this
needs
triage
and
then
it
also
says
I'm
waiting
for
a
kubernetes
member
to
test
this
patch
right.
B
So
that's
what
I
just
did
is
I
came
by
and
I
was
like
okay,
this
is
okay
to
test
and
it
actually
calls
out
it.
If
you
are
a
regular
contributor,
you
should
try
to
join
the
organization,
there's
different
requirements.
We
have,
you
have
to
kind
of
demonstrate
some.
You
know
some
contribution
to
the
project,
so
it'll
ask
you
for
what
issues
you've
commented
on.
What
prs
you've,
reviewed
or
written
contributions?
B
Don't
always
mean
code
right,
especially
don't
always
mean
code.
You
know,
there's
tons
of
room
in
the
kubernetes
project
for
pms
doc,
writers
right.
We
we
need
help
from
everybody.
It
is
a
large
project
that
only
keeps
getting
larger,
so
anyone
can
come
in
and
contribute
and
you
can
check
out
how
to
join
the
org
there
and
then
your
pr's
will
be
automatically
tested
right.
B
Last
comment
that
the
prowlbot
put
on
here
is
this
is
a
pull
request
has
been
approved
by
the
author
right,
so
they're
the
author,
so
they've
essentially
approved
it.
The
pull
request
process
is
pretty
well
documented
here
you
can
check
that
out
and
it
tells
you
hey.
Please
assign
this
person
after
the
pr
has
been
reviewed
right.
So
essentially
we
have
reviewers
who
get
pulled
out
of
those
owner's
files
and
they
get
asked
to
review
the
code
when
it
comes
out,
and
so
once
they've
seen
hey
like
this
code,
looks
good.
B
Okay,
they'll
they'll,
throw
usually
a
slash
lgtm.
So
a
slash
name
of
the
show
looks
good
to
me
label
on
here
and
then
the
next
step
in
the
process
is
to
assign
an
approver
to
come.
Give
the
final
okay.
This
looks
good
from
a
a
broader
picture
of
the
project.
Yes,
we
want
this
as
part
of
the
kubernetes
project,
and
so
that'll
pull
it'll
usually
tell
you.
This
needs
approval
from
an
approver
in
this
owner
file
and
so
we'll
take
a
look
at
the
cube.
Adm
owners
file.
B
B
The
the
tooling
built
around
the
project
is
is
immense
right.
There
is
so
much
tooling
built
around
the
kubernetes
project.
That
is
a
source
of
need
for
contribution
in
general.
Is
just
people
to
work
on
the
tooling
that
supports
the
project
right,
let
alone
making
features
on
the
project.
There
is
an
we
have.
Oh
where'd,
my
pull
requests
go,
there's
also
a
there's,
a
big
template
that
you'll
fill
out
when
you
make
this
pr,
and
one
of
the
big
pieces
in
here
is
a
release,
notes
section
and
so.
B
A
B
Okay,
yeah,
so
so
there's
the
release.
No,
so
there's
just
tons
involved
right,
so
don't
get
scared
away
from
when
you're
making
your
first
pr,
and
so
I
guess
we
could
zoom
back
out.
So
we
can
actually
look
at
some
of
the
issues
which
you
can
see.
We
have
tons
of
open
issues
even
more
closed
issues.
B
We
recently
it's
not
even
recently
anymore,
but
we
hit
our
100
000th
issue
back
in
I
think
december
and
we're
already
up
another.
You
know
thirty
thousand,
so
the
project
moves
very
very
quickly,
and
so,
if
you
come
through
here,
you'll
see
if
we
just
go
to
open
an
issue,
for
example
I'll
get
prompted.
This
is
very
familiar.
If
you
saw
container
d's
episode
last
week,
you
know
we
have
different
templates
for
different
things.
So
if
you
have
a
bug
report
to
file,
you
can
come
fill
out.
B
The
template
don't
be
that
person
who
just
control
a's
and
deletes
the
template
and
puts
in
whatever
we
we
have
these
templates
for
a
reason,
especially
the
version
stuff,
give
us
as
much
information
as
you
can
when
you're
filing
a
bug
report.
I
want
to
know
your
os
version,
your
server
version,
your
cube
control
version.
Just
anything.
You
think
that
we
could
use
to
help
reproduce
the
issue.
It's.
A
So
important,
it's
going
to
save
all
that
back
and
forward
where
the
contributors,
the
maintainers,
who
are
already
short
on
time,
are
just
going
to
have
to
spend
time.
Communicating
sending
messages
back
and
back
as
much
as
you
can
jam
in
there
up
front
is
always
a
good
idea,
regardless
of
how
big
the
project
is.
B
Yeah
yeah,
so
please
don't
delete
the
template
and
please
provide
as
much
info
as
you
can.
We
also
you'll
hear,
especially
if
you
report
cube
control
issues.
We
have
a
version
sku
policy
and
this
gets
referenced
very
often.
You
know
there
is
currently
three
supported
versions
of
kubernetes,
right,
121,
120
and
119,
and
we
also
support
patch
versions
for
the
one
passed
out
for
a
little
bit
longer
and
there's
a
version
skew
for
different
components
of
the
project.
B
B
That's
not
to
say
it's
not
going
to
work,
but
there
are
different,
skews
and
shifts
and
changes
that
happen
that
that
we
can't
you
know,
we
can't
support
a
brand
new
client.
That's
working
on
a
115
version
of
the
api
server
right,
like
those
things
aren't
going
to
work.
So
that's
another
piece
that
if
you're
opening
an
issue
and
you're
using
a
version,
that's
out
of
skew
what
usually
the
first
question
we're
going
to
ask
is
hey?
B
Could
you
please,
you
know
reproduce
this
with
a
supported
version
and
we'll
link
right
to
this
policy
here,
and
that
just
saves
a
bunch
of
time
too.
So
don't
take
it
offensive
that
we're
not
shaming
you
for
running
an
old
version
of
kubernetes,
but
these
things
are,
you
know,
meant
to
be
used
in
the
same
version
within
a
range.
B
That's
like
number
two
thing:
we
point
out
cool,
so
this
is
filing
an
issue
and,
like
I
said,
there's
different
types
in
here
so
give
us
as
much
information
as
you
can,
and
so,
when
you
file
a
bug
report,
it
will
get
a
whole
bunch
of
labels
thrown
on
it,
so
here's
one
that
was
filed
44
minutes
ago
and
three
hours
ago.
B
So
this
is
a
issue,
I'm
not
going
to
read
it,
but
it
will.
The
bot
will
come
by
and
it
will
okay.
So
someone
actually
dashboard
came
in
here
and
actually
assigned
six
to
it
right.
So
we
have
tons
of
different
labels
in
commands
and
all
these
pieces
that
can
all
be
seen
in
the
prow
help
page,
which
I
will
drop
in
the
chat.
B
This
is
all
of
the
commands
that
you
can
interact
with
the
prowl
bot
on
an
issue
or
a
pull
request.
We
operate
on
a
you,
know,
principle
of
least
privilege
and
permissions.
So
you
know
most
people
don't
have
writer.
I
don't
have
right
access
to
the
the
kubernetes
repo
tons
of
people.
Don't
have
right
access.
B
It's
mostly
only
the
people
who've
been
working
on
the
project
for
a
very
long
time
have
right
access,
and
so
we
interact
with
the
bot
via
commands,
and
so
even
someone
who
you
know
a
new
contributor
can
use
a
lot
of
these
commands.
It'll
tell
you
who
can
use
them
right,
so
we
got
a
couple
in
here.
It's
a
good
one,
hunk
right,
so
this
drops
a
goose
image
on
the
pr
it's
a
fun
one
to
play
with,
but
we
have
some
more
practical
ones
like
a
label
right.
B
So
here
you
can
say
this
kind
of
issue
is
a
bug
right,
or
this
kind
of
issue
is
a
feature
request.
The
template
will
kind
of
do
that,
for
you,
it'll
set
some
of
those,
but
sometimes
we'll
have
to
re
relabel
them
with
kind
same
thing
with
area
right.
So
like
it'll
label,
slash
area,
cube
control
or
something
it'll.
Also
the
bot
will
do
a
good
job
trying
to
predict
and
guess,
especially
in
pr's
which
files
were
touched,
which
means
which
sigs
have
to
be
applied
when
those
files
are
touched.
B
So
you
know
we'll
often
not
be
able
to
do
that
for
issues,
because
it
doesn't
really
know
which
files
are
going
to
be
touched
for
this
issue,
and
so
people
will
come
in
and
we
have
lots
of
folks,
especially
these
there's
no
label
right
now.
That
says,
need
sig
this
one.
Oh
it
does
here,
you
go,
need
sig
right.
So
this
issue
is
a
need.
Sig,
fi
issue,
so
yaml
separator.
So
this
is
probably
a
maybe
six
cli
or
api
machinery,
but
the
bot
will
ask
you
hey.
This
issue
needs
a
sig.
B
There
are
no
labels
on
this
issue.
Please
add
an
appropriate
label
right,
so
a
good
way
to
get
involved
with
contributions
is
to
come
in
here
and
not
so
much
stir
up
noise,
but
if
you
can
help
triage
these
issues,
especially
the
ones
that
say,
need
triage
or
need
sig.
If
you
can
come
in
and
say
like.
Oh,
this
sounds
like
a
a
network
issue
right
and
you
can
slash
save
networking.
B
That
is
a
great
way
to
start
contributing
and
learning
different
parts
of
the
code
base
and
different
pieces
right.
So
this
hund's,
you
can
see
all
of
these
need
triage
right.
These
are
19
hours
ago,
20
hours
ago.
Yesterday,
you
don't
have
to
contribute
code.
You
can
come
in
and
just
help
us
label
issues
so
great
place
to
get
started
as
well
and
okay.
So
that's
opening
an
issue,
that's
interacting
with
the
prabha
I
go
through
here
all
the
time.
I
don't
remember
any
of
the
commands.
B
There
are
some
I
use
more
than
all
others:
the
label
ones.
We
use
a
ton
and
if
you
don't
know
any
of
the
labels,
you
can
always
look
in
the
drop
downs
here.
I'll
come
in
especially
the
triage
labels,
that's
because
there's
so
many
so
I'll
come
in
and
be
like.
Oh,
this
is
a
needs,
information
or
unresolved
or
not
produced,
or
so
you
can
just
search
the
label.
You
can
search
the
kinds
in
here.
Do
this
often
at.
B
There
are
labels
for
help
wanting
a
good
first
issue.
Those
generally
get
snatched
up
very,
very
quickly.
Lots
of
folks
are
kind
of
looking
for
those
are
watching
for
those.
If
you
come
into
any
of
the
sig
channels-
and
you
know
say:
hey,
I'm
a
new
contributor,
I'm
looking
for
an
issue
regarding
this.
B
A
B
Couple
some
of
these
that
are
open,
I
imagine,
are
more
complicated
than
getting
started
so
yeah.
A
B
In
something,
that's
quite
noisy,
yeah
yeah-
that
is
a
that's
a
good
thing
to
look
for
all
right,
so
so
different
ways
to
get
looking.
I
mentioned,
we
have
a
open
issue
in
cube
control.
Okay,
so
this
is
another
source
of
confusion,
so
we
take
issues
for
cube
control
inside
of
the
kubernetes
repo,
but
we
also
source
them
inside
of
the
cube
control
repo
right,
so
we
actually
have
a
dashboard
that
we
like
to
go
through.
This
is
in
the
process
of
being
moved
to
a
more
project
owned
piece
of
infrastructure.
B
I
kind
of
just
run
this
right
now
in
my
personal
account,
but
this
is
like
our
triage
party.
This
is
made
by
thomas
stromberg
from
google.
I
hope
I
got
the
last
name,
equinix.
A
B
That's
great
thomas
is
great.
He's
always
helped
me
when
I
need
help
with
this
but
yeah.
So
this
is
a
tool
made
by
him
originally
and
it's
an
open
source
tool.
It's
just
called
triage
party,
and
so
you
can
use
a
bunch
of
different
yaml
filters
to
pull
in
issues
and
pull
requests
based
on
different
tags
and
rules,
and
whatever
you
want
right
so
here
we
have
a
old
issues
that
need
triage
still
in
here
kubernetes
issues.
You
know
that
need
old
issues
that
need
triage.
B
We
try
to
do
a
good
job
of
like
walking
at
least
new
issues
thanks
because
that's
always
been.
My
philosophy
is
if
we
can
keep
things
clean
on
the
front
and
slowly
work
our
way
backwards.
Usually
the
new
issues
are
going
to
be
a
little
more
relevant
than
older
issues.
So
that's
usually
where
we
spend
time
is
like
trying
to
keep
the
new
queue
clean
and
then
that
lets
us
walk
through
the
old
backlog,
so
just
tons
of
stuff.
In
here
here's
prs
that
need
triage
old
pr's.
Then
you
triage.
B
We
also
have
another
tool
called
gubernator
that
here's
all
the
issues
that
I
need
to
actually
act
and
put
attention
on.
So
this
bot,
oh
well,
this
tool,
all
that's
with
github,
I'm
zooming
on
the
wrong
window,
this
all
what's
with
github,
based
on
your
username,
and
it
will
kind
of
show
you
all
the
things
that
you
need
to
you
know
act
on
here
are
some
needs
attention,
incoming
prs
issues
that
I
need
to
look
at.
B
I
have
two
outgoing
prs
that
still
need
to
be
done,
something
with
at
some
point.
It
has
an
action
status.
I
got
to
rebase
this
one,
so
there's
tons
of
different
tools.
All
of
these
can
be
found
throughout
many
different
documentation
pages.
We
have
a
kubernetes
contributors
website,
so
that
is
a
great
source
information
this
photo
is
I
love
this
photo.
B
This
is
from
the
last
in
person
contributor
summit
in
san
diego
at
kubecon,
so
you
can
see
me
chilling
in
the
back
here
very
tall,
and
so
you
can
look
at
the
documentation
for
this
there's.
Also,
the
developer
guide,
which
is
I
have
it
open
in
a
tab
somewhere,
have
many
tabs
open
it
lives
in
the
community,
repo
kubernetes,
the
bell
guide.
B
There.
You
go
all
right,
so
if
you
ever
want
to
find
it,
you
can
just
search
that,
and
so
this
has
different.
Sigs
have
different
pieces.
There's
a
good
top
level
overview.
The
testing
piece
is
good
testing
kubernetes.
You
could
also
do
an
entire
session
on
how
to
write
unit
tests
and
then
test
all
those
different
things.
So
you
can
come
through
here.
It
tells
you
how
to
test
your
code
so
yeah
so
check
the
docs.
There's
usually
something
everywhere.
B
B
This
is
basically
anything
that
is
going
to
be
a
substantial
change
for
the
project
has
to
go
through
a
proposal
process.
This
is
a
whole
sub-project
and
has
many
pieces
to
it
itself,
but
you
can
come
in
here.
You
can
look
at
some
of
the
open
caps
that
are
being
proposed
for
upcoming
features
or
current
features
that
need
to
be
changed
great
place
to
look
as
well
for
roadmap
and
different
items
community.
So
that's
where
all
of
that
a
lot
of
that
documentation
lives
where
the
sigs
are
all
documented.
B
So
if
you
look
at
six
cli
here,
you'll
see
this
is
the
you
know.
This
is
our
sig
page.
So
here's
the
meetings
that
we
have
most
cigs
have
a
a
bi-weekly
meeting.
Where
they'll
talk,
sig
items,
it's
open,
anyone
can
join.
There's
no
invitation.
Just
completely.
Please
show
up
introduce
yourself.
Usually
every
single
at
the
very
start
has
a
call
out
for
if
this
is
your
first
time
please
say
hi,
you
can
look
at
past
meeting
recordings.
B
B
Here's
all
the
sub
projects
we
own
right-
and
this
is
just
one
sig
so
again,
don't
get
intimidated,
just
find
an
area
of
interest
start
with
sick
contributor
experience
join
us
in
slack.
The
kubernetes
slack
is
super
active,
okay,
so
code.
Yes,.
A
Well,
we're
kind
of
roughly
at
the
halfway
mark,
so
I'm
going
to
run
through
a
few
comments
and
then
we'll
jump
into
your
terminal
and
then
we'll
tackle,
building
and
testing
control.
So
we
got
some
comments
from
sawyer
pete
who
says
the
proposal
for
generics
was
accepted
and
will
come
before.
Go
to
didn't
know
that
nice
to
know.
Thank
you
very
much.
A
A
All
you
had
missed
was
that
eddie
broke
down
the
staging
and
what
that
means
for
the
project,
the
staging
repository
or
the
staging
directory,
and
the
main
repository
is
for
projects
that
may
eventually
be
removed
into
their
own
repository
and
I
believe
some
or
all
of
them
already
have
their
own
repository
and
where
they're
working
on
building
out
of
tree
any
promise
that
that
would
work
for
cube
control
by
tomorrow.
No
pressure
made,
we
got
a
few
of
your
comments
have
come
through
as
stars
eddie.
A
I
have
tried
to
kind
of
fill
in
the
ones
I
think
I
know
the
url
for,
but
maybe
I'll
look
back
with
you
later,
I'm
not
sure
if
that's
a
moderation
thing
but
we'll
work
on
that.
A
Oh
yes,
so
pete
is
asking
about
thanos
join
pop
in
about
90
minutes
from
now
who
will
be
joined
by
bartlemay
from
the
thanos
project,
so
that'll
be
a
good
episode
for
you
that
is
on
spotlight.
A
A
Verma
canal
asks
if
a
person
is
already
working
on
an
issue
and
we
want
to
contribute
to
the
same
issue.
Is
there
a
procedure
or
protocol
to
follow
there
pass
that
to
eddie.
B
Someone
else
so
that
is
a
source
of
contention
often
so
anyone
can
come
by
and
assign
themselves
to
an
issue.
So
I
have
the
issue
that
we're
going
to
work
on
here.
So
this
is
a
cube.
Control,
get
events
watch
prints
old
events
after
some
time
right.
So
this
is
an
issue.
That's
been
opened
for
a
little
bit.
I
came
through
here
and
I
saw
okay,
I'm
gonna
assign
this
to
myself
because
I'm
gonna
work
on
this
on
stream.
B
If
not
I'd
like
to
take
a
stab
at
it,
don't
but
also
don't
be
surprised
if
you
assign
yourself
to
an
issue-
and
you
know
a
week
or
two
weeks
go
by
and
someone
else
comes
along
assigns
themselves
and
puts
up
a
full
request
right
away
right.
It
happens,
it's
nothing
personal!
It's
just
the
you
know.
The
project
moves
so
quickly
and
there's
a
lot
of
work
that
needs
to
be
done.
So
sometimes
that
happens.
B
So
don't
think
that
you
know
assigning
an
issue
means
that
you're,
the
only
one
who's
going
to
work
on
it.
So
if
you
want
to
grab
something
it's
good
to
try
to
focus
on
it,
then
so
it
but,
like
I
said,
just
ask
the
current
assignee
or
author
like
hey.
Is
it
okay?
If
I
work
on
this.
A
Yeah
great
advice:
okay,
we
are
all
caught
up
on
the
comments.
We
are
looking
at
an
issue
you
have
prepared
for
us.
What
are
we,
what
are
we
working
on
then?.
B
Oh
real
quick.
So
if
you
look
on
youtube
for
the
new
contributor
workshop
kubernetes,
we
have
a
contributor
summit
that
we
do
and
most
of
these
are
recorded,
so
there's
tons
of
basically
what
I
did
in
more
depth
walking
through
how
to
build
so
check
some
of
this
content
out.
It's
it's
great
and
a
lot
of
it
should
be
on
the
community
github
as
well
so
new
contributor
workshop.
B
So
our
issue
is
cube.
Control,
get
events,
dash,
watch,
prints,
old
events
after
some
time,
and
so
the
events
are
created
inside
of
kubernetes
they're
kind
of
just
written
as
a
thing
that
happened.
So
a
pod
was
set
to
started
or
something
right.
Events
are
only
kept
around
for
60
minutes,
and
then
they
are
garbage
collected
by
one
of
the
controllers
and
that's
just
to
clean
up
right.
B
So
if
I
come
in
here
and
see,
I
have
a
okay,
I'm
talking
to
my
correct
cluster,
so
I
can
do
cube
control,
get
events
dash
all
name
spaces
watch.
B
So
the
first
thing
that's
gonna
happen
is
this:
is
gonna
pull
a
bunch
of
backdated
events
that
already
exist,
so
it's
kind
of
just
gonna
dump
me
what's
already
in
the
queue
you'll
see.
Some
of
these
are
approaching
that
that
60
minute
mark
and
if
I
leave
this
open
for
a
bit
which
I
meant
to
do
before
we
started,
you
would
see.
Oh
here
you
go.
Look.
Some
just
got
deleted
right
now,
perfect,
all
right,
so
these
61
minute
old.
B
These
are
events
that
are
getting
deleted,
but
it
doesn't
actually
call
that
out
in
the
code
for
us
right,
so
the
output
isn't
very
clear
that
these
are
deleted
events,
so
this
is
what
that
issue
is
calling
out.
I
don't
think
that
the
deleted
events
should
be
shown
here.
B
I
don't
think
that
they're
useful
to
the
user
actionable,
so
my
proposed
solution
to
this
is
just
going
to
not
print
out
an
event
if
it's
deleted,
and
so
that's,
where
we're
going
to
code
up
real
quickly,
we'll
get
to
touch
a
command,
add
a
flag
and
see
what
happens.
So
I
don't
know
if
this
is
the
solution
we're
going
to
go
with,
but
it's
quick
and
easy
to
pump
out
so
we'll
see
and
so
I'll
leave
that
open.
In
the
background,
I
will
I'm
just
in
my
kubernetes
repo,
that's
cloned
down
here.
B
B
B
And
then
we
look
in
get.go,
we'll
see
a
big
file.
This
file
is
really
big.
It's
got
a
ton
of
different
things
in
here,
and
so
what
I'm
looking
for
is
watch
right.
So
watch
is
a
kubernetes.
It's
almost
like
an
api
verb
like
a
get
post
whatever,
so
you
can
watch
a
resource
and
it
will
kind
of
do
a
long
poll
type
stream,
new
things
that
come
towards
you.
So
I'm
just
gonna
look
for
watch,
so
we
got
here's
that
watch
flag
right.
B
So
cobra
and
cube
control
commands
quick,
look
at
the
structure
right,
so
this
is
the
new
command
get.
This
is
going
to
actually
create
the
command
for
get
it
will
take
in
that
parent
a
factory.
So
this
is
again
just
tons
of
abstractions
and
libraries.
I
o
streams
are
just
going
to
be
standard
in
standard
outright.
This
is
just
dependency
injection,
so
we
can
test
it
better
and
this
will
actually
return
a
cobra
command.
B
So
cobra
command
is
just
going
to
be
a
struct
and
go,
and
it
has
you
know
the
use
all
these
bits
right.
So
if
you
haven't
used
cobra
before
very
straightforward,
we
have
a
pattern
here
that
I
was
talking
about.
We
have
complete
validating
and
run
steps,
so
the
idea
is
that
these
can
be
called
independently
and
separately.
B
B
Here's
those
flags
that
I
mentioned.
So
we
have
a
command
flags
and
then
all
the
flags
that
you
can
pass
on
get
right.
So
I
I'm
gonna,
add
a
flag,
real,
quick
and
so
I'm
gonna
add
a
flight.
That's
just
gonna
say
I
want
to
include
errors
right
so
by
default.
This
will
be.
Let's
see,
let's
see
how
we
can
do
this
so
we'll
say
I
want
a
bool
flag.
B
It's
going
to
be
a
add,
a
field
to
this
struct,
so,
let's
just
say
we
want
to
include
we'll
call.
It
include
watch
errors
or
something
I'll,
just
call
that
a
bool.
B
So
then
I
can
come
back
to
the
flag
and
say
yes,
I
want
to
set
this
up
as
a
flag.
So
cobra
takes
care
of
parsing.
These
command
line
values.
For
us.
It
takes
care
of
all
of
that
jazz.
It's
a
great
library,
so
I'm
just
going
to
give
it
a
pointer
to
the
field
in
that
struct
that
I
wanted
to
set
the
value
into.
B
I
will
call
this
include,
watch
errors
and
then
shorthand
we're
not
going
to
give
it
anything
value.
We're
going
to
default
this
to
false
and
usage.
This
is
just
will
get
printed
out.
If
you
do
a
help,
so
we'll
say
include.
B
B
So
this
will
add
that
dash
dash
include
watch
event,
I
will
say
include
no,
I
don't
like
that
actually
include
delete
events.
That's
what
we
want
include
delete
events.
B
Include
delete
events,
okay,
all
right
so
it'll,
say
dash
include
delete
events,
and
so
I
know
where
this
code
lives
for
watch,
so
I'm
just
gonna
again
keep
searching
down
for
watch,
and
this
is
it.
So
this
is
the
actual
watch
command.
You
could
trace
this
throughout
the
function
and
find
out
where
this
gets
called
and
then
the
again.
That
is
a
very
confusing
fan
to
get
started,
especially
anything
that
has
to
print
out
to
a
a
table
as
we
call
it.
We
have
different
types
of
writers.
B
So
when
I
see
here
we
go
so
here's
the
watcher,
so
this
is
actually
what's
going
to
run.
So
this
watcher
gets
created.
It's
going
to
watch
for
resource
version,
changes
on
a
certain
resource
id
that
we
grab
and
then
here's
where
this
event
gets
created
and
where
it
gets
printed
right.
So
this
is
printer
print
object,
okay,
so
inside
of
this
a
until
without
retry,
so
there's
tons
of
helper
utilities
throughout
the
code
base,
I
often
find
myself
stumbling
on
ones
that
I
didn't
even
know
existed.
B
It's
like,
oh,
like
I
don't
have
to
you,
know,
write
a
loop
to
watch
or
retry
or
something
so
all
we're
going
to
do
here
is
we're
just
going
to
check
if
the
include
delete
events
flag
is
set
and
this
event
that
comes
in
right.
So
I
get
this
event.
This
watch
event
called
e.
So
if
I
say
e
dot
type
equals
and
I
think
we
can
just
do-
watch
full
stop.
B
Maybe
it's
watch
believe
it
there
we
go.
So
this
is
just
a
you
think
of
it
like
an
enum.
Actually,
it's
just
a
hard-coded
deleted
string.
So
if
the
event
type
comes
in
as
deleted-
and
you
have
well
actually,
let's
think
through
our
logic
right
so
if
included,
delete
events
is
set.
B
B
B
Build
this
to
hopefully
free
up
some
resources
and
if
I
run
make
cube
control,
there's
a
make
target
for
cube
control,
there's
also
a
bunch
of
other
ways
to
build
it.
Like
I
said
earlier,
you
can
do
go,
build
just
use
the
make
target
it's
easier.
This
is
going
to
build
all
the
prereqs
as
well.
I've
already
got
them
compiled
to
save
time
so
there's
you
know
it
has
to
go
uses
a
ton
of
code
generation
just
as
a
language,
and
the
kubernetes
project
makes
use
of
that
heavily.
B
So
we
generate
code
based
on
comments
and
other
things,
and
so
this
make
target
will
generate
a
bunch
of
api
types
and
other
structs,
and
then
it
will
build
cube
control.
So
it's
gonna
take
a
minute
I
might
have.
No,
I
don't
have
the
output,
that's
okay,
so
we'll
just
wait
for
this
to
go.
First,
compile
will
take
a
long
time,
especially
if
you
haven't
built
anything
before
this
should
run
really
quick.
B
B
So
if
I
say
run
this
again,
so
this
is
the
cube
control
version
we
built
and
if
we
left
this
open
for
a
bit
of
time,
we
would
see
that
no
delete
events
are
gonna,
be
printed
out,
so
we
have
potentially
fixed
this
issue.
So
here
are
new
ones
where
something's
getting
created,
but
we
will
not
see
any
of
those
60
minute
old
ones,
right
so
cool.
So
I've
made
my
contribution.
I'm
going
to
run
the
unit
test,
real,
quick
to
make
sure
I
don't
break
anything.
B
This
isn't
really
a
change
that
we
can
test.
Unfortunately,
some
commands
have
good
testing.
Suites
get
is
a
very
complicated
command.
That
does
not
have
a
very
intricate
testing
suite.
You
can
go
convention,
as
you
you
know
name.
The
file
underscore
test
is
to
find
where
the
tests
are
so
there's
a
couple
command
tests
in
here.
B
Definitely
not
one
that
I
can
easily
plug
into
for
this,
though
I
will
try
later,
but
I'm
gonna
run
them
anyway,
just
to
make
sure
I
don't
break
anything
and
so
to
make
to
run
the
test,
I
can
say
hey
make
test,
and
then
I
can
pass
this
what
equals,
and
I
can
give
it
a
path
to
my
module
that
I
want
to
test.
B
So
in
this
case,
I
want
to
test
inside
of
staging
source
cue
control
package,
get
command
and
then
in
go
to
three
dots
just
says
everything
in
this
sub
directory
and
below
it.
It's
important.
You
have
to
include
this
dot
slash
here,
or
else
it
will
look
inside
of
your
go
path
and
you'll
be
very
confused
about
the
error
messages.
So
just
always,
whenever
you're
doing
anything,
local
and
go
just
remember,
you
have
to
do
dot
slash.
So
if
we
run
this,
it's
gonna
run
those
tests.
B
Hopefully
it
doesn't
take
too
long,
but
that's
the
general
idea
is
this
is
going
to
build
those
tests
and
we'll
run
them,
and
I
didn't
change
anything.
So
hopefully
you
know
they're
not
going
to
fail
in
the
meantime.
Let's
go
and
commit
these
changes,
so
I'm
doing
a
get
checkout
b
for
a
new
branch,
there's
really
no
convention
for
branch
naming
in
the
project
for
your
personal
fork,
everyone
forks
the
repo
and
makes
you
know
commits
to
their
own
repo,
and
then
you
pr,
the
actual
upstream
so
I'll
just
say.
B
B
Yeah
all
right,
so
I've
added
that
I'm
gonna
commit
just
like
with
container
d.
You
should
sign
your
commits,
and
so,
if
you
put
the
dash
s
on
the
commit
sign,
it
will
add
that
line
for
you
and
I
always
like
to
commit
with
dash
v
and
that's
just
a
verbose,
commit
so
it'll
show
me
the
diff.
While
I'm
typing
the
error
message,
I
mean
the
commit
message.
B
So
I
will
just
say,
add:
include
errors,
include,
delete
events
or
cube
control,
get
watch
or
something
right,
and
then
I
could
type
up
a
better.
You
know
sub
commit
message
in
here.
For
the
sake
of
time,
I
will
just
commit
this.
B
And
then
just
like
last
week,
I
always
come
in
and
just
let
github
suggest
the
the
pr
for
me.
So
I'm
just
gonna
wait
here
and
we'll
refresh
a
few
times.
B
A
B
Thank
you.
You've
done
this
before
there
we
go
okay,
so
comparing
pull
requests,
save
me
from
embarrassing
myself,
and
so
I'm
just
going
to
tag
this
issue
as
a
work
in
progress.
B
The
pr
is
a
work
in
progress
and
that
will
the
bot
won't
merge
it
or
do
anything
until
we
mark
it
as
okay
to
test,
and
so
you
can
see
here
this
huge
template
that
we
need
to
fill
out.
So
you
should
read
through
all
this.
I
know
what
it
says,
so
I'm
just
going
to
select
all
and
delete
it
for
now.
B
This
is
a
kind
bug
fix.
So
I
will
pick
slash
time.
Bug
fix
all
right,
so
read
through
this
whole
template.
What
does
this
pr
do
and
why
do
we
need
it?
So
I
will
you
know
I
would
type
out
a
very
detailed
message.
That's
like
this
pr
introduces,
or
I
I
normally
I
would
actually
get
some
backstory
so
watch
events,
kubernetes
events
lit
last
60
minutes
and
then
are
deleted.
B
B
So
here
we
would
say
this
fixes
I'll
just
grab
a
link
to
this
because
it's
cross
repo,
I
mean
yeah
cross
repo,
so
I'll
paste
that
in
here
and
it
will
format
it
correctly-
and
this
basically
just
says
github
knows
to
close
this
issue
once
this
gets
merged
merged
special
notes
for
your
reviewer.
So
here
you
could
take
out.
B
B
This
is
that
release
note
thing,
so
this
is
pretty
important,
so
this
does
have
a
release
note,
so
I
would
say
I'll
leave
a
blank
for
now,
so
the
bot
reminds
me
to
do
it,
but
I
would
I
would
write
a
release
note
that
would
show
up
in
the
change
log.
So
add
a
new
include
delete
events,
flag
for
get
watch,
blah
blah
blah
blah
any
other
supporting
documentation.
You
want
to
link
to
I'm
just
gonna.
I
don't
have
anything
so
I'll,
just
leave
that
there
and
that's
it.
B
B
And
that's
it
so
I've
made
my
pr
all
those
issues
and
labels
are
gonna,
get
tagged
on
here
in
real
time.
You'll
see.
Github
now
actually
shows
the
linked
issues,
which
is
pretty
great
bot's
gonna
want
to
do
a
bunch
of
stuff
it'll
start
testing,
because
I
am
an
org
member
and
that's
it
so
rob.
B
Back
at
some
time,
like
hey
your
test,
failed
or
passed,
we
do
have
a
a
bunch
of
flaky
tests
in
the
project
that
we've
been.
You
know
very
vehemently
trying
to
weed
out.
So
if
your
tests
fail
and
it
spits
out
all
of
these
things
failed,
it's
probably
not
from
your
code.
It's
you
know,
testing
distributed
systems
is
hard,
and
so
maybe
it's
a
timeout
in
the
test
cluster
or
something
so
it'll
give
you
instructions
to
rerun
the
test.
You
can
check
the
output
to
make
sure
that
that's
actually
what
happened.
B
So
that
is
it
in
a
nutshell.
A
Damn
that
was
impressive.
You
got
a
lot
and
I
mean
a
lot
of
information
across
there
in
an
hour.
I
am
super
impressed,
but
I
do
I
need
to
mention.
I
need
to
mention
one
thing
I
I
feel
like
for
the
last
hour.
You
know
this
was
almost
a
pair
programming
session
and
you
left
me
out
the
commits
I
didn't
even
get
a
co-author
attribute.
I
mean
that
that
heart
ready,
but
I
really
do
appreciate
you
taking
taking
the
time
today
to
you
know
there
was
just
so
much
information.
You
explained
the
staging.
B
Yeah
all
right
again,
thanks
for
being
here
happy
to
come
back
whenever
but
like
I
said
you
could
do
an
entire
episode
on
just
testing
and
you
know
kubernetes
and
prow,
and
it
is
a
very
large
project
and
we
need
lots
of
help.
So
please
come
help.
A
Yeah,
I
love
what
you
said
as
well
start,
which
I
think
it
would
just
reiterate
before
we
filming
ever
but
30
seconds
to
minute
out.
So
you
know
not
all
contributions
do
have
to
be
code.
They're
kubernetes
is
such
a
huge
project.
There
is
a
lot
of
work
to
be
done
across
many
many
disciplines.
So,
even
if
you
don't
want
to
write
code
reach
out
on
the
slack
channels,
there'll
be
loads
of
people
there
willing
to
help
and
and
and
get
you
started
all
right,
eddie.
Thank
you
again.
A
It
was
an
absolute
pleasure
and
have
a
wonderful
day
and
I'll
reach
out
to
you
and
maybe
we'll
do
a
part
two.
I
think
we've
got
lots
more.
We
could
do
and
I
think
your
ability
to
share
that
knowledge
in
such
an
articulate
way
with
people
isn't
valuable.
So
thank
you
very
much.
Mate
have
a
wonderful
day
and
I'll
speak
to
you
soon.