►
From YouTube: Kubernetes SIG API Machinery 20170412
Description
Kubernetes SIG API Machinery bi-weekly meeting. See a demo by Phillip Wittrock.
A
A
D
E
F
It
doesn't
compile
right
now,
because
I
haven't
generated
the
code,
but
yeah
this
mean
that
go
file
that
just
says
basically
start
and
imports
a
couple
packages,
and
then
you
have
the
docs
files
all
the
way
up,
and
then
you
have
the
your
type
definition
here.
So
that's
all
that
should
be
required,
and
you
have
this
tag
here
for
the
code
generator
to
say:
hey,
this
is
a
resource.
Can
everybody
can.
F
B
F
F
F
So
what
well
this
a
lot
of
the
story?
Strategies
used
this
each
implemented,
how
to
get
the
all
right.
You
have
the
status
off
the
object
and
then
remove
it
before
updating
and
then
for
the
status
in
point,
removing
the
spec
and
just
updating
the
status
until
they
each
implemented
all
this
code
individually,
so
I
defined
the
status
in
her
face
that
defines
how
to
get
just
had
this
object
off.
You
know
how
to
set
a
static.
Stop
you
go
on
again,
it's
a
pack-off.
F
He
gets
it
back
on
in
that
way
just
by
him
hunting
that
interface
there's
a
common
set
of
librarians
that
allow
you
to
I
default
figure
out
the
right
way
to
update
an
object.
Another
thing
I
did
was,
I
define
defaults
for
all
the
update
strategies
so,
instead
of
everyone
having
to
say
this
is
a
namespace
object.
This
isn't
a
namespace
object
or
saying
yes,
here's
your
before
create,
but
don't
actually
do
anything.
I
just
gave
a
whole
bunch
of
empty
ones
that
work.
For
probably
the
majority
of
objects
like
by
default.
F
F
F
F
E
F
Beco
dinner
would
do
all
the
wiring
so
and
then
I'll
show
you
where
the
business
logic
to
implement.
It
is
okay,
but
it
says
yeah,
so
here's
the
name
of
the
sub
resource
like
it's,
it's
yeah,
it's
like
so
you
pin
this
to
the
resource
with
a
slash
in
between
them
and
you
get
the
URL,
here's
the
name,
the
type.
F
Sorry
that's
the
type
that
is
attached
to
it's
just
redundant,
but
it
helps
the
code
generators.
It
doesn't
matter.
Personnel,
yeah,
here's
the
name
of
the
request
and
then
here's
the
Rast
implementation.
The.
F
F
It's
yeah,
you
have
to
kind
of
know
it
right
now,
but
yeah
I
agree
that
would
be
also
documentation
to
prove
it.
But
yeah.
If
you
go
up
here
to
the
group
level,
you
can
see
the
scale
rest.
This
was
the
type
that
was
referred
to
earlier,
actually
didn't
rate
type
sleep
right,
just
use
for
everything.
So
one
thing
I
noticed
like
employment
was
doing.
Was
they
wanted
their
own
storage
that
was
tight,
safe
instead
of
having
a
bunch
of
caste
and
stuff?
So
and
that's
all?
F
Boilerplate
is
just
a
bunch
of
high
caste,
so
I
created
one
of
those
for
you
and
then
I
automatically
will
register
it
in
its
type,
so
I
create
this
code.
Generator
sprayed
this
pipe,
give
you
the
types
of
registry
and
then
wire
it
out
and
then
stickers,
implementation
of
that,
and
they
don't
all
see
over
writing
a
validation
here.
So
here's
the
validator
that
again
uses
the
same
approach
of
just
attaching
to
the
default
which
doesn't
do
any
validation.
The
other
type,
for
instance,
doesn't
have
this
method
and
doesn't
validate
anything
so.
H
F
H
Like
I
think
I
think
for
anything
where
you're
like
doing
the
simple
stuff
we,
you
should
just
be
using
our
generated
code
like
the
the
underlying
Etsy
storage,
but
I
could
totally
agree
for,
like
proxies
or
special
case
stuff.
Having
like
a
type.
A
typed
registry
like
this
would
actually
be
useful
for
people
who
are
adapting
to
build
api's
on
top
of
other
stuff
yeah.
H
All
the
all
the
generic
interface
levels,
sub
resources
that
we
haven't
really
talked
about
this
in
a
long
time,
but
the
those
need
to
be
part
of
something
that's
actually
dealing
at
the
rest
level
and
mostly
not
code
that
people
write
in
that
has
to
know
about
storage
like
it
should
be
possible
to
define
that
like
this
object,
should
really
be
defined
as
part
of
a
strategy
or
something
much
more.
Generic
yeah
I
think
what
you're
saying
makes
a
lot
of
sense.
F
Yeah
I
get
that
so
then
I'll
just
show
to
demo
things
that
I
think
are
kind
of
cool.
One
is
I
started
writing
some
test
infrastructure,
so
you
can
say
like
test
new
test
environment
and
say
start
and
give
it
the
same.
The
same
pretty
much
you
actually
give
the
start
and
that
main
function.
I
showed
you.
F
C
H
F
Yeah
I
mean
that's
kind
of
inspiration,
I've
used
rails
and
spring
something
similar,
and
the
ideas
like
you
want
an
API
server
like
so
some
of
the
challenges
I
feel
like
API
server.
Machinery
may
not
be
hard
if
you
wrote
it
because
you
understand
how
it
works.
Okay,
but
like
the
this
template
besides
server
I
got
with
600
lines
up
like
non
generated
code
and
a
lot
of
that
stuff
is
you
have
to
wire
like
a
lot
of
the
files
in
there.
F
You
have
to
set
up
a
wiring
in
so
to
get
hello
world
working
like
it's
really
frustrating
to
like,
spend
the
whole
day
and
being
like
I,
don't
know
if
I'm
going
forwards
or
backwards
like
if
I'm
moving
closer
to
getting
in
this
working
or
anything
farther
away
with
my
changes,
so
the
philosophy
of
it
it
works,
and
then
you
note
that
you've
broken
it.
You
can
get
back
to
a
working
place
as
part
of
it.
H
Yeah
I
mean
Dan,
I
would
say
like
having
spent
years
fighting
with
rails
and
every
other
framework
in
the
world.
I,
don't
think
our
framework
is
materially,
worse
or
better
I
think
it's
just.
The
problem
is
that
we
didn't
adopt
somebody
else's
framework
like
G
RPC
and
now
that
requires
us
to
support
a
framework
of
some
of
some
sort.
I.
E
Would
argue
the
opposite?
This
is
that
the
more
people
that
use
this,
if
we
think
of
this
as
a
relatively
static
API,
which
maybe
it's
not
yet
but
like
I
guess,
that's
sort
of
my
concern-
is:
can
an
abstraction
these
through
well.
The
problem
is
that
most
of
the
abstraction
leaks
through
right
now,
part
of
the
reason
it's
hard
to
evolve
the
machinery
or
like
when
they
up.
That
might
be
part
of
the
reason
it's
hard
to
write
to
the
machinery.
E
H
A
F
A
Guess
it
depends
on
on
how
easy
or
hard
it
is
to
rebase
and
actually
update
and
get
it
work.
Yep
I
don't
have
any
particular
objection
to
generating
a
bunch
of
code.
Is
this
question
of
how
long
I
expect
those
generators
to
still
be
valid,
or
at.
H
A
H
Generators,
what
happens
like
you
say
so
we
put
out
a
first
version
of
generators
and
we
say:
hey.
You
can
use
this
new
API
servers.
Do
we
really
like
the
generic
API
server
stuff,
like
the
server
abstraction,
like
changing
the
contract
of
an
API
server
as
the
things
that
are
gonna
break
that
not
the
lower-level
stuff,
because
you
just
not
regenerate
ever.
H
If
you
vendor,
like
at
the
end
of
the
day
like
this,
is
about
letting
you
create
some
bit
of
code
that
lets
you
do
something
more
complex
than
a
third-party
resource.
There's
like
first
party
second
party
and
third-party
third-party,
can
probably
just
write
something
once
and
it's
good
enough,
but
first
party
is
entry
or
immediately
around
tree
that
may
or
may
not
in
the
allowed
generation
seems
like
this
is
really
second
party,
which
is
groups
in
the
kubernetes
organization
that
want.
H
H
Yeah
for
sure,
like
this
is
I
kind
of
think
of
this
as
making
it
possible
to
know
something
about
kubernetes,
that's
more
than
what
you
move
with
a
third-party
source,
unable
to
succeed
on
it
and
it
would
be
kind
of
production,
quote
unquote,
production-grade,
not
that
their
point,
research
can't
be
production
great.
So
the
other
like.
H
There
I
may
say
yeah,
but
we're
not
going
to
rewrite
all
those
right.
Thank
you.
We're
not
gonna
start
I
mean
is
that
is
that
the
idea
that
we
would
suddenly
go
to
a
generating
mode
for
those
and
that
we
would
force
ourselves
to
take
that
pain
on
cuz,
then
we
sounds
like
we're
just
creating
more
pain,
yeah.
H
I
think
I
can
think
of
like
two
or
three
big
changes
that
we're
gonna
make
to
the
signatures.
Yes,
sir,
over
the
next
year,
or
so,
those
are
gonna
roughly
correspond
to
the
world's
happenin
clients.
All
right,
such
diversion,
we've
changed
options
around
we're,
probably
gonna
realize
that
we
have
three
or
four
other
things
where
we
need
to
make
subtle
tweaks
that
need
to
be
made.
F
Guess
not
all
of
this
has
it
doesn't
have
to
mean
you
to
take
all
this
or
none
of
it
and
also
right
now
it's
this
did
not
change
any
API
through
any
code
in
kubernetes,
it's
all
written
on
top
of
it
I.
Imagine
certain
things
like
that
storage
like
if
we
are
gonna,
be
writing
things
like
that
registry
store,
which
is
just
a
bunch
of
oil,
pipe
type.
F
H
And
I'll
say
you
know
as
David,
maybe
I
don't
know
what
you
take
on
the
sis,
but
given
we've
done,
seven
seven
or
a
tree
bases
in
the
last
two
years
on
top
of
kubernetes
and
the
API
changes
that
mostly
come
along
are
not
heavily
boilerplate
like
the
most
the
most
rippling
one.
That
I
can
think
of
was
the
date
change
we
put
in
to
change
the
signature
of
update,
and
even
that
was
fairly
tractable
like
if
somebody
starts
with
a
generator
and
then
goes
and
reef
actors
like
and
then
the
generator
also
changes
I'm.
A
Want
to
make
sure
that
I
don't
end
up
in
a
place
where
we
need
to
take
the
machinery
in
one
direction
or
the
API
server
and
make
significant
changes.
I
don't
want
changes
blocked
because,
oh,
it
makes
too
much
pain
for
someone
who
ran
a
prior
version
of
this
generator.
Keeping
a
current
generator.
Up-To-Date
I,
don't
have
any
issue
with
that
right
check
your
generator
in.
We
have
to
keep
it
working.
That
seems
pretty
reasonable,
but
saying
that
we
aren't
going
to
allow
our
code
change
because
of
an
old
version
of
the
generator.
A
Isn't
something
a
lot
happens.
So
if
we
can
agree
with
that
that
we
won't
do
that,
and
my
fears
are
a
lot
less.
F
H
Those
changes,
certainly
my
experience
from
rails-
is
that
no
one
ever
regenerates
after
it,
but
they
want
that
boilerplate
out
of
the
way,
and
then
they
occasionally
use
the
generators
to
get
new
easy
things.
I
think
that
that's
a
very
long
tail
distribution,
our
distributions
gonna
fail
with
a
chunkier,
as
we
said,
like
the
second
party
teams,
and
so
I,
don't
know
that
it
changes
it,
but
I
would
certainly
use
this
to
generate
new
resources
and
be
incentivized
to
go
fix
it
because
it
is
annoying
to
go,
create
600
points
of
boilerplate.
Today,.
A
F
E
H
E
D
C
Yeah,
but
it
would
also,
at
the
same
token,
it
would
be
nice
to
have
something
for
me
for
the
with
you
at
that
time,
as
part
of
whatever
early
yeah
or
or
or
like
at
least
like
hey
this
thing's
Anita.
If
you
want
to
make
an
aggregate
yeah,
you
can
go,
go
check
this
out,
so
at
least
for
that
it
would
be
nice,
okay,
so
yeah
camera
K
was.
C
A
D
A
A
B
C
Liked
the
proposal
was
like
only
let
people
make
one
version
of
any
given
TV
art.
I,
really,
don't
see
the
necessity
of
that
like
yeah,
it
doesn't
automatically
convert
between
versions
but
I.
Think
that's
perfectly
okay
and
in
fact,
I
think
we're
gonna
have
to
have
resources
like
that
in
order
to
do
like
major
major
major
changes,
so
I
think.
A
That
what
I
would
go
with
there
is
that
when
we
have
resources
like
that
and
include
minetti's,
we
would
extend
third-party
resources
to
match
the
first
party
research,
rather
than
have
TPR
try
to
run
ahead
and
our
infrastructure
and
our
tooling
I
would
say.
First
party
takes
the
pain
first
and
once
you
know
how
to
do
it,
we
allow
a
third
party
vigilance,
I.
C
A
None
of
the
other
infrastructure
that
I
mentioned
properly
supports
it.
I
mean
off
the
cuff.
We
have
controllers
that
will
suddenly
start
behaving
strangely
right.
Garbage
collection
isn't
set
up
for
it,
mates
they
clean
up
and
set
up
for
us
that
would
change
behavior
needed
for
admission,
plugins,
they're
doing
referential
checks.
You
have
resources,
they're
not
going
to
function
properly
for
it
like
our
backrest
storage,
I'm,.
C
C
There
is
a
concept
we
in
our
system,
which
is
what
we
know
in
our
discovery,
information,
which
is
what
resources
are
derived
from
the
same
key
spaced
or
stored
about
the
same
back
in
store,
but
I
don't
have
it,
but
this
is
this
is
like
in
my
mind,
this
is
a
pretty
different
thing
from
their
party
resource
I'm,
just
people
not
to
do
that.
Well,.
A
I,
just
don't
want
to
have
third
party
resources
run
ahead.
Write
the
structure
to
have
a
single
version
is
a
space
of
a
single
field.
Right.
If,
if
that's
a
field
that
we
need
to
change
later,
we
can
change
it.
We
can
add
another
piece
to
it.
We
can
rather
v2
that
combines
and
has
preferred
I
mean
it
is.
It
is
definitely
grow
evolve
to
the
point.
C
A
A
C
The
other
killer
meter
comment
I
had
is
that
the
proposal
had
a
big
section
on
making
names
unique,
but
I'm
not
convinced,
then,
and
like
adding
the
conditions
to
the
status
like
I'm,
not
convinced
that
any
a
quick
I'm
not
convinced
that
that
is
a
problem
when
you
dissolve
and
if
it
is
I,
don't
think
we
should
solve
it.
That
way,
specifically
of
all
the
names
and
we're
going
to
keep
the
plural
resource
name
unique
by
putting
it
in
the
TP
our
resource
name,
and
that.
A
One
shares
that
key
space
or
say
cute
control
with
with
singular
resource
name,
singular
and
plural
shared
key
faith,
and
you
have
places
at
the
end
on
singular
and
plural
sharing
tea
space
cleanly,
for
example,
cute
control
and
the
rest
mapper,
which
means
that
the
rest
member
depends
on
it.
You're
all
for
getting
affected
in
controllers
like
garbage
collection
in
the
name,
space
controller.
So.
A
C
A
Yeah
it's
funny.
We
have
this
exact
same
argument
a
year
and
a
half
ago,
I
was
on
the
other
side,
so
yeah
I
would
agree
with
that.
But
again,
if
state
of
the
world
as
it
is
now,
I
would
like
to
be
able
to
integrate
the
pieces
we've
already
created
that
exist
today
and
if
we
wish
to
Black's
constraints
moving
forward.
We
can
do
that
so.
H
E
H
H
And
I'm
not
I'm,
not
saying
that's
the
biggest
problem
we
have,
but
it
would
certainly
be
like
it's
kind
of
one
of
those
things
which
is
if
we
can
come
up
with
a
way
to
have
a
clear
set
of
rules
and
things
in
it,
ruin
it
and
then
force
it
very
strongly.
Third
party
resources,
the
only
thing
today
that
can
add
things
into
the
namespace
of
resources,
nominally
not
a
super
admin
role.
H
Now,
if
we
keep
it
like
again
like
anybody
who
adds
third
party
resources
for
end
users,
a
stupid,
that
doesn't
mean,
though,
that
because
of
the
way
to
create
and
a
couple
of
these
other
things
work,
it
can't
happen
accidentally
and
so
I'm
kind
of
worried
about
that.
There's
someone
in
the
running
of
create,
as
you
install
a
third
party
resource
and
then
immediately
get
access
to
secrets
or
something
like
that.
E
H
E
E
C
A
I
mean
there's
also
the
I
want
to
be
able
to
update
it.
I
want
to
be
able
to
make
sure
that
I
can
create
it,
and
then
somebody
goes
wrong.
I
can
try
to
fix
this
similar
to
how
you
can
fix
other
resources
like
replication
controller,
with
broken
service
account
laying
or
it
seems
more
akin
to
that
than
something
that
we
would
enforce
when
it
gets
initially
created.
We've
only
done
that
in
the
past
for
resources
better
than
security
problem
like
say
our
back
excavation
check
or
init.
A
C
H
H
One
of
the
things
to
him
like
I,
could
see
like
we
will
have
I
think
at
some
point.
We're
gonna
have
to
have
status
for
things
like
controllers
that
are
doing,
updates
that
need
to
communicate
to
clients
so
like
if
we're
working
at
the
assumption
that
there's
no
magic
upgrades
for
third-party
resources,
because
the
low
backwards-compatible
magic
chain,
because
no
one's
ever
made
magic
backwards,
incompatible
changes
magic
when
someone
has
to
put
their
breaking
change
like
that
controllers
that
are
running,
that
resource
might
actually
need
to
coordinate
on
the
status
of
third-party
resource.
H
A
I
think
that
would
be
cool
it's
hard
to
describe
like
in
an
API
object.
How
you
can
actually
make
that
functional
for
what
you
would
want
to
do.
I
think,
once
we
get
a
a
clean
foundation
in
place,
especially
we
can
make
it
small
and
easy
to
to
look
at
being
able
to
add
some
things
like
thatit's,
our
being
able
to
have
an
obvious
spot
where
you
say
like
hey
I
want
this
one
to
be
no
spec
changes
for
this
PTR
type.
I
think
that's
something
that
we'd
be
able
to
build
on
top.
E
Have
a
metal
point
about
how
we
run
this
meeting
when
we
go
through
these
docks.
I
often
am
unclear
about
is
the
goal
to
get
an
LG
TM
we're
not
on
and
I
feel
like.
We
often
raised
some
issues.
There
are
some
issues
and
then
table
it
and
move
on
next
thing
in
the
agenda,
so
starting
next
time.
We
do
this
like
yeah.
E
This
is
like
I'd
like
first
to
say,
like
this
percent
of
ten
minutes
present
and
like
the
goal,
is
you
to
approve
or
send
them
back
with
like
like
addressing
these
things
and
come
back
in
two
weeks,
because
I
feel
like
we
talked
about
these
things
and
then
don't
resolve,
but
it
feels
very
yeah.
So
last
week.
C
A
No
I
new
proposal
came
I
dropped
it
in
two
days
ago.
What
I
wanted
to
do
was
find
a
big
points
of
disagreement
and
have
a
chance
to
talk
about
those
right.
So
the
aspect
about
versioning
and
the
aspect
about
you
name
collisions
and
how
he
came
to
value
space
exactly
would
want
to
get
out
of
it,
but
I
think
people
should
have
more
time
to
read
it
before
we
do
an
LG
Chem
chat,
immersion,
yeah.
C
B
C
F
B
My
team
here
so
I
put
the
the
outed
proposal
in
the
agenda
because
I
want
to
start
a
some
discussion.
I
presented
the
topic
during
coop
con
two
weeks
ago
in
Berlin,
I
talked
with
Alex
for
about
it
a
little
bit
and
he
suggested
that
we
I
should
generally
let
you
guys
know
and
sig,
particularly
probably
more
signals
I'll,
probably
reach
out
to
both
of
them
and
and
and
so
that
you
are
aware
of.
What's
going
on
or
where's
the
what's
the
direction
and
eventually
gather
some
feedback
around.
It.
B
B
Elevator
pitch
of
what
it's
about
sure
sure
so,
currently
the
so
we
currently
have
some
auditing
in
place
and
and
q.
But
it's
like
super
very
super
basic.
It's
it's
a
justice
filter
inside
of
the
inside
of
the
handler
chain
and
it
just
logs
information
about
incoming
requests
such
as
URI
the
the
customer
IP,
some
information
about
the
user
impersonation.
B
B
Are
we
trying
to
impersonate
us,
but
that's
very
limited,
as
you
I
said,
so
the
demand
out
a
proposal
that
I
worked
with
with
Stefan
quite
some
time
ago,
but
to
be
able
to
allow
a
little
bit
more
to
provide
users
with
a
little
bit
more
information
about.
What's
actually
going
on,
so
we
we've
actually
proposed
three
different
levels.
What
should
be
along
the
first
level
was
some
and
so
will
be
identical
to
retrench
what
we
currently
have,
which
will
be
just
the
HTTP
headers
and
that
information.
B
B
So
that's
and
then,
like
very
short
words.
What's
the
the
proposal
is
about
I
also
with
nickel
during
cute
con,
because
there
other
things
that
happen
and
the
cube
work
between
when
the
proposals
initially
written
and
now
and
with
that
I
mean
the
API-
is
for
the
API
server
and
we
have
also
the
aggregator
and
there's
also
the
the
Federation
so
well,
but
I'll
probably
be
the
Federation
out
of
scope
for
for
now.
B
Hopefully
we'll
we'll
adjust
something
later
on,
but
it
will
be
nice
to
have
some
some
information
between
sent
over
between
the
thing,
a
Grenadier
API
server
and
the
actual
API
server.
How
you
can
connect
so
that
you
can
easily
track
how
the
information
flow
from
which,
from
the
aggregator
to
good
ETS
era,
etcetera,
etc.
Alright,
yeah,
more
or
less
so.
C
B
C
B
Was
I
was
in
thinking
that
if
we
could
switch
because,
as
I
said
currently,
we
have
the
the
filter
if
it
would
be
possible
to
have
the
Mechanics
for
him
again
the
outed
object
and
41.7
and
then
build
on
top
of
that,
and
the
next
release
is.
That
would
be
awesome
because,
with
the
mechanics
in
place,
adding
additional
levels
you'd,
be
you
basically
piece
of
cake?
That's
why
I'm
hoping
for
me.
B
E
I
confess
I
didn't
hear
everything
you
said
because
they
got
distracted
by
the
internet.
I'm.
Sorry,
but
one
question
I
have
is,
did
you
say
or
does
your
document
say,
doesn't
specify
a
storage
system
or
does
it
simply
say
how
we
will
extract
on
an
information
and
where
you
want
to
send
it
is
up
to
you
yeah.
B
The
letter
mean
you
will
provide
us
with
some
kind
of
ID
either
we'll
go
with
the
default
current
approach,
meaning
we'll
walk
to
a
file
system
or
you
will
provide
us
with
some
back-end
and
we
will
send
you
some
JSON
or
whatever
without
an
event,
and
you
will
do
cross
hard.
Narrator
will
be
responsible
for
storing,
though
it's
obviously
interested
in
going
through
the
data
and
should
be
searchable
and
that's
usually
dependent
on
the
insulation,
cool.
E
C
A
A
H
C
H
You
had
a
clear
distinction
that
audit
is
a
near-term.
The
system
must
reliably
offload
to
some
other
system.
A
record
was
changing
just
from
pure
security
perspective,
so
sig
on-premise
also
I
think
is
relevant,
because
this
is
practically
every
Enterprise
in
the
entire
world
that
deploys
something
at
this
scale
requires
on
it.
It's
not
an
option.
Okay,.