►
From YouTube: Working Group: 2020-10-29
Description
* Stack Buildpacks: https://github.com/buildpacks/rfcs/pull/111
A
Thanks
is
that,
okay,
as
a
format,
this
time
yeah,
do
you
want
to
edit
it
or
I'm
happy
to
do
that.
A
Awesome
so
let's
can
you
make
the
window
a
little
bit
taller,
so
you
can
see
more.
A
Okay,
so
let's
just
start
at
the
top
and
go
down
with
this
group
here
and
as
soon
as
somebody
gets
to
something
or
well
I'll,
I'll
speak
aloud.
What's
there
and
then
make
sure
everybody
has
agrees
that
it's
the
thing
we
want
and
if
any
questions
come
up,
we
can
talk
about
them.
If
anybody
has
any
reservations
about
anything
at
all,
speak
up
immediately,
it'd
be
very
forceful
about
it.
A
If
that
makes
sense,
so
we
can
make
sure
that
we're
all
you'll
have
consensus
so
starting
on
14
proposal
for
a
new
type
of
build
pack
that
runs
against
the
stack
in
order
to
extend
it
with
in
ways
that
are
only
possible
by
running
privileged
commands.
Good.
A
Normally,
build
packs
do
not
run
as
root
intentional
design
decision
ensures
that
operations
rebase
or
except
day,
two.
That
makes
sense.
However,
applications
require
modification
to
the
stack
they
run
on
adding
system
packages
ca
certs.
This
is
mechanism
stack
authors,
build
pack,
authors
build
pack,
users
leverage
to
extend
their
stacks.
That
seem
accurate.
A
Be
helpful
everybody
get
thumbs
up,
so
I
can
see
just
so
all
on
the
same
page
root
build
pack.
Do
we
want
to
keep
the
concept
of
rebuild
pack
in
here?
I
am
okay
with
it,
I'm
not
opposed
to
it.
It's
come
up
a
few
times
javier
thumbs
down.
What's
up
you
made
it,
you
muted,
your
headset's,
also
down.
B
Too
many
buttons
all.
A
Right
yeah,
I
don't
know
if
it
just
adds
to
the
complication
of.
B
This
particular
rfc,
if
there's
no
real
other
mention
or
value
to
it,
but
again
not
strongly
against
it.
It
just
feels
like
it's
clutter.
A
B
It's
not
yeah,
I
can
remove
it.
It's
not
used.
A
C
A
Okay
stack,
build
pegs
type
of
build
peg
that
runs
against
the
stack
image.
Instead
of
an
app
stack,
build
packs
may
make
changes
to
build
and
run
images
that
either
violate
compatibility
guarantees
or
violate
the
contract
determined
by
the
stack
author.
A
user
space
build
pack
has
a
traditional
build
pack
must
run
as
root
launch
images.
Final
image,
good.
C
B
Yeah,
I
think
I
had
to
introduce
that
here
because,
because
words
are
hard,
I
think
that's
probably
something
we
should
promote
into
the
spec
as
a.
B
A
But
I
agree:
app
image
is
too
specific,
but
I
think
just
to
match
the
terminology.
We
should
change
it
later
in
the
spec.
If
that
makes
sense,.
C
B
A
In
for
clarity,
app
image
is
very
clear
what
you're
talking
about
in
the
end.
For
now,
we
can
change
it
in
the
spec
later
for
okay,
a
new
type
of
build
pack
called
a
stack
pack,
maybe
running
into
stack
in
order
to
extend
in
ways
that
are
only
possible
earning
privilege
commands,
unlike
user
space,
build
packs
a
stack,
build
that
can
modify
any
path
in
the
file
system
user
space.
Build
packs
can
can
only
create
modified
disk
joint
layers,
which
makes
possible
features
like
individual
areas
as
independent
or
ordering
is
any
path.
B
Can
you
just
say
most
pass
or
something
with
acceptance?
Yeah,
that's.
A
Fine
user
space
build
pack
can
only
create
modified
disjoint
layers.
A
stack
pack
may
also
define
a
list
of
mix-ins
that
it
can
provide
to
the
stack
or
indicate
that
it
could
provide
any
mix-ins.
In
this
way,
a
stack
that
is
missing
and
mixed
and
required
by
a
build
pack
may
have
that
mix-in
provided
by
a
stack,
build
pack.
Does
that
seem
accurate
to
everybody?
The
mix-ins
come
are
specified
in
buildpectomel
statically
and
we'll
get
to
that
below.
A
A
Platform
may
compare
the
list
of
mixes
that
are
statically
required
by
all
build
packs
in
the
stack
section
that
build
techno
file
with
the
static
list
of
mixins
provided
by
the
stack
packs
in
the
stack
section,
but
they're
build
pectomell
and
fail.
If
the
build
chooses
to
do
so.
So
this
means
that.
A
This
first
thing
is
the
current
thing
we
have
in
build
pack
tommle
that
specifies
the
mix-ins
that
you
need
on
the
stack
in
order
to
run,
and
the
second
thing
is
a
new
list
of
mix-ins
in
a
separate
part
of
buildpack
tunnel.
That's
static
that
specifies
what
those
stack
packs
can
provide.
Is
that
right?
A
D
Yeah,
this
is
the
part
that
isn't
yet
implemented,
so
it's
probably
still
a
bit
fuzzy
to
to
most
but
yeah.
I
think
the
detector
now
has
to
take
in.
We
didn't
really
specify
the
format
here,
but
it's
going
to
take
in
run
time
and
build
time
makes
sense.
I
guess
build
time
mix.
Ins
are
already
present,
so
maybe
that's
written
kind
of
kind
of
wealthy,
but.
C
The
stack
tunnel
is
in
there,
but
we
haven't
specified
unless
it's
been
added
to
this
pr.
How
make
sense
would
be
described
in
the
stack
tunnel
yet.
D
C
A
C
A
That's
good,
so
the
next
thing
is
the
life
cycle
will
run
the
detect
phase
for
all
stack
packs
defined
in
order
tunnel
and
the
stack
order
tunnel
and
then
for
all
user
space,
build
packs
defined
in
order
tunnels
that
makes
sense
to
everybody.
Stack
packs
run
first,
have
a
separate
order
definition
and
then
the
order
definition
for
normal,
build
packs
runs.
C
A
A
Great
right
now,
during
the
build
phase,
potentially
in
parallel
to
the
extent
phase,
the
life
cycle
will
execute
the
stack,
build
pack
build
phase
for
all
passing
stack
packs
as
root
life
cycle,
will
drop
privileges
and
continue
to
run
the
build
phase
as
normal
running
users
table
packs
and
then
separately
in
the
extend
phase.
In
parallel
to
that,
this
is
for
the
run
image.
The
runtime
stack
packs
run
in
a
separate
container
against
the
run
images.
A
A
A
Good
to
move
on
cool
how
it
works.
Stackpack
is
a
special
case
that
build
packs
has
applied
properties.
We
agree
that
they
run
as
root
that
you
use
the
privileged
true
flag
in
order
to
mark
a
build
pack
as
a
stack,
build
pack.
D
B
B
I
think
this
is
an
artifact,
because
this
was
split
off
from
root.
Ball
packs
right.
It
is
it's
not
because
of
the
the
stack
order
tunnel,
the
one
that's
described
here.
We
do
not
need
it.
However,
I
feel
it
is
easier
to
remove
it
later
and
ignore
it
than
it
is
to
add
it
in
later
and
require
it
which
would
potentially
break
existing
stack
packs.
A
Stack
packs
have
different
behavior
than
normal,
build
packs,
and
so
to
me,
this
serves
as
a
validation
that
the
build
pack
you're
talking
about
is,
in
fact
a
stack
pack,
because
otherwise
the
interface
is
so
similar
and
there's
no
other
way
to
change
it.
I
have
no
opinions
on
what
the
name
of
that
validation
is,
but
does
anybody
think
a
we
should
not
have
a
validation
like
this
and
build
tech
table
for
the
rfc.
A
Then
I
think
we're
good
next
thing
is:
can
only
create
one
layer
per
image,
both
the
layer
for
build
packs
to
build
on
top
of
and
a
layer
for
the
app
image
everybody
agrees.
Backpacks
generate
one
layer
that
can
go
into
the
final
image.
You
can
exclude
cuts
of
that
right,
but
they're
they're,
cached
and
recovered
only
during
the
build
process,
and
so
we're
talking,
maybe
one
layer
per
app
image
would
clarify
that
a
little
bit
so
there's.
B
No
such
feature
as
like
the
app
slices
right
right:
okay,
yeah.
A
It
does
have
in
parenthesis
where
it's
both
the
build,
both
the
layer
for
the
build
packs
to
build
on
top
of
and
a
layer
for
the
app
image.
Maybe
that's
not
clarifying
enough
actually.
A
B
C
C
D
C
A
A
And
then
kill
the
thing
in
parenthesis
afterwards,
because
that
seems
to
be
confusing.
Everybody
like
that
and
agree
with
that
phrasing
awesome
may
include
in
the
created
layer
modifications
to
any
part
of
the
file
system,
excluding
app
layers
platform
and
cmd
directories.
What
about
temp?
What
about
the
other.
A
Perfect,
did
you
maybe
just
link
it
to
the.
D
I
think
there'll
always
be
a
bit
of
ambiguity,
just
because,
like
the
way
canico
works
is
based
on
whatever
you're
running
on.
I
think
it's
sort
of
figures
out
which
directories
to
exclude
so,
but
I
don't
know,
maybe
maybe
we
can
be
more
strict
than
that.
A
A
Must
not
access
the
application
source
during
the
build
phase?
Does
everybody
agree
that,
during
the
detect
phases,
read-only
access
to
the
application
source
during
the
build
phase
on
the
build
image,
there
is
no
access
during
the
build
phase
on
the
run
image,
the
application
is
not
there.
Everybody
aligned
on
that
idea.
B
A
The
build
the
build
pack,
it's
not
a
should
for
the
bill.
Peck
author:
it's
a
must
for
the
build
pack
author,
if
that
makes
sense,
but
but
you
can
put
that
in
there
more
explicitly.
Build
packs
must
not
access
the
application
source
code
or
it
says
the
stack
build
pack
is
a
special
case.
So
no,
actually
I
think
it's
okay
cool
it
is.
A
A
B
Should
we
use
the
same
terminology
user
space
build
packs
instead
of
regular
yep?
Thank
you
perfect.
D
A
If
so,
in
that
case,
if
it
oh
yeah
but
passes,
detection
includes
the
provisioning,
and
so
that
that
makes
sense
cool
must
okay
is
distributed.
Was
check,
may
not
create
layers.
D
B
A
D
A
Makes
sense,
but
definitely
again
as
a
reminder,
focus
focus
on
things
that
would
cause
you
not
to
approve
the
rfc
to
go
through,
or
you
know,
if
you're
not
at
least
say
that
it's
non-blocking.
If
that
makes
sense,
let
me
call
it
out,
may
not
create
layers.
A
Okay,
we'll
pick
it
up
where
we,
the
stackpack
interface
at
the
top
yeah
okay,
how
about
everybody
read
to
the
order
to
line
84
and
then
thumbs
up
when
you're
finished
and
then
I'll
briefly
describe
what
I
think
it
says.
Maybe
this
will
be.
A
A
Everybody
read
to
the
thumbs
up
here,
cool.
So,
to
summarize,
this
stack
packs
look
exactly
like
real
build
packs.
The
only
difference
is
slash
instead
of
app
directory,
we
use
snapshotting,
which
is
using
konico
to
generate
a
layer
and
the
build
image.
The
run
image.
A
D
D
D
D
A
There
yeah
the
there's
a
problem
here
about
the
layers,
still
right,
where
we
say
on
74
all
of
the
capture
changes
in
each
phase
build
or
extend
will
be
included
in
a
single
layer.
One
for
run
run
for
build
is
produced
as
output
from
the
stack
pack,
but
in
the
build
case
those
those
changes
are
just
permeated
through
to
the
next
to
the
next
phase.
Until
we
add
that
item
potency
constraint
right,
so
all
the
capture
changes
in
each
phase,
all
the
capture
changes
in
the
build
phase.
Sorry
god.
A
A
It's
in
a
layers
directory,
it's
a
separate,
dedicated
directory
that
we
call
a
layer,
has
a
layer
tommle
file.
Next
to
it,
you
know,
I
think,
in
that
context,
you
wouldn't
argue
that
it
was
the
image
like
could
be
just
be
really
explicit
here.
Instead,.
A
Okay,
all
the
capture
changes
in
red
face
will
be
included
in
a
single
layer.
Produces
the
output
side
factoring
the
extend
phase
right
during
the
extend
phase
of
snapshot
will
be
stored
in
the
run
layers
directory.
Do
we
need,
even
in
the
case,
that
we're
running
these
in
parallel?
If
we
put
it
in
the
layers
directory
in
one
image,
we
need
to
copy
it
across
anyways.
Could
we
just
call
that
exported
layer,
something
else
in
the
layers
directory
instead
of
having
two
different
names
for
the
layers
directory?
C
A
Volumes
got
it,
so
it's
not
right.
Okay,
can
we
be
more
explicit
about
that
which
will
be
mounted
into
the
run
layers
directory
of
the
export
container.
B
A
A
C
A
They're
not
captured
changes.
Yes,
the
layer
stir
may
not
be
used
to
execute
to
create
arbitrary
layers.
I'd
agree
with
that
does.
B
A
Perfect,
a
stack
can
provide
snack
packs
by
including
them
in
the
build
packs
directory
and
by
providing
an
order
yup
to
define
order
of
execution
yep.
We
agree
with
this
and
we
agree
with
how
it's
overwritten
in
the
builder
phase
good.
A
A
C
C
We
say:
excluded
paths
are
recovered
when
the
image
is
exported.
Do
we
mean.
A
B
A
A
Gotta
keep
pushing
through
it
exported
exported
for
build
time,
build
a
given
path,
is
excluded
at
user
space,
build
particle
time
and
recover
the
next
time.
The
build
image
is
extended,
with
build
pack
so
exported
for
build
time.
Builders,
you
can
chop
off
some
layers
in
the
build
image
and
mark
these
as
hey
these,
don't
end
up
being
seen
by
the
build
packs
and
that
chunk
can
get
restored
next
time.
The
stack
pack
runs.
A
Does
that
seem
right
to
everybody
and
then
same
thing
for
the
run
image
chop
it
off
doesn't
end
up
in
the
app
image,
but
it
can
be
restored
during
the
next
extend
phase
not
seen
by
the
build
packs.
Good
and
everybody's
interpretation
of
that
is
correct
and
then
rebase
run
is
the
same
thing
as
build
time
run.
D
A
If
that
matters
javier,
can
you
propose
on
this
after
we
commit
it?
Can
you
propose
clarifications
now
that
you
understand
what
it
means
and
since
I
think
you
have
this,
you
have
a
sense
for
how
you're
confused
or
what
you
think
is
confusing
about
it.
If
that
makes
sense,
can
you
propose
that
as
a
change
awesome,
for
example,
this
sorry,
this
last
part
here
with
our
cash?
As
an
example
says
we
might
want
to
market
cash
to
have
it
restored
during
the
build
time
during
build
time
and
rebates?
A
Does
that
mean?
Should
it
be
export,
if
you
want
to
exclude
it
from
the
final
app
image?
Is
that
export
time
right
during
the
export
phase,
really
is
what
you
mean
there
to
clarify
because
build
time
suggests
during
the
build
phase,
but
you're
not
talking
about
excluding
it
from
the
build
packs
in
the
sun
in
the
first
fragment
of
the
sentence.
A
Yeah
because
I
think,
if
you're
saying
that
var
cash
is
going
to
be
excluded
from
the
app
image
that
doesn't
have
to
do
with
during
the
build
phase,
excluding
it
from
the
build
packs
being
able
to
see
it
so
saying
during
build
time,
suggest
the
build
phase
which
might
confuse
somebody
who's
reading.
It.
A
A
C
C
C
D
D
A
A
Yeah
tess
terrence
points
out.
We
have
10
minutes
left,
we
should.
We
should
get
a
move
on
it.
A
lot
of
these
are
templates
down,
so
I'm
hoping
we
can
get
quite
a
bit
further
out
in
the
first
stackpack
may
define
a
set
of
mixins
that
provides
statically
and
build
pack
tommle.
Everybody
agree
on
this
format.
A
B
A
Is
everybody?
Okay?
With
these
two
sections
again
in
stacks,
there
are
two
lists
of
mix-ins
one's
things.
You
provide
one's
things,
you
require
all
build,
packs,
stack,
packs
or
not
can
require
mix-ins
only
stack-packs
can
provide
mix-ins,
but
you
can
only
use
the
star
in
the
mix-ins
list
on
the
provide
side,
cool
user
space,
build
packs
can
use
the
build
plan
like
that
to
require
mexicans
from
stack
packs,
all
good.
B
D
A
Move
on
resolving
mix-ins
after
the
typeface
lifecycle
emerge
list
of
provided
mixes
from
the
following
sources.
Stack
run,
stack,
build
pack.
D
C
C
C
C
When
you
create
a
builder
right
now,
and
it
contains
references
to
run
images,
so
I
think
you
could
either
say
that
the
mix-ins
on
those
don't
change
and
you
can
end
up
having
them
as
strings
in
stack
pommel.
The
other
way
to
do
it,
which
I
think
I
prefer
is
that
right.
C
A
Can
we
take
the
mix
in
lists
as
input
into
those
life
cycle
phases
and
defer
the
decision
for
how
we
store
them
because
it
seems
like
there's,
maybe
a
decision
about?
Should
there
be
mix-ins
on
the
should
the
run
mix-ins
be
allowed
to
be
in
the
build
image
statically?
I
think
no,
but
other
people
might
disagree
with
me.
A
C
D
Cool
you
could
punt
the
run
stack,
but
not
the
stack
like.
I
think
I
think
it's
okay
to
default
to
the
stack
tunnel
if
there
is
one
present,
but
I
think
you
should
be
able
to
override
it
as
well,
because
I
you
know
when
you're
on
a
builder,
you
probably
already
have
that
makes
sense,
but
for
the
run
stack.
I
think
that
being
a
flag
into
the
life
cycle
makes
a
lot
of
sense
for
the
platform
to
be
able
to
determine
the
run
target
potentially.
C
A
A
Just
saying
can
we
can
we
get
rid
of
these
file
references
and
just
say
we
figured
out
the
implementation
and
the
spec
later
right.
It's
rfc
say
from
the
following
sources
and
then
the
first
one,
the
build
stack
image,
mix-in
list
and
the
second
one
run
stack
image
mix
and
list.
Are
we
okay
with.
A
A
A
D
C
C
A
D
B
A
D
I
think
this
still
gets
a
little
weird
like.
Let's
take
an
example
of
like
lid
pq
right
here
and
if
it
could
provide
for
both
build
and
run.
But
you
know,
but
something
only
requires
it
for
run.
You're
still
going
to
get
executed.
With
the
word
for
the
build.
A
D
I
think
that's
how
I'd
want
it
to
work,
but
it
does
make
buildback
author
a
bit
confusing,
because
if
you
kind
of
expect
to
always
run
and
build
like,
even
though
they're
only
choosing
to
extend
and
run
like,
could
you
depend
on
something
that
you
expected
to
do
and
build?
That's
not
there.
I
guess
not,
but
it
is
more
confusing
than
normal,
build
packs
with
the
double
phase
here.
A
B
Far,
I
think
it's
confusing,
but
I
don't
know
if
there's
a
better
way
to
do
it
if
we
want
to
have
both
the
build
and
run
stuff
and
plus
the
fact
that
you
can
provide
like
an
asterisk
right
for
either
of
them.
A
If
you
do
an
asterisk,
that
means
in
order
to
pass
something
for
each
of
the
phases
there
has
to
be
at
least
one
mix,
and
that
would
get
installed
by
that
build
pack
for
that
in
that
phase
for
that
phase
to
pass
right,
so
I
agree
it's
confusing,
but
it
does
work
or
like
it,
it's
a
consistent
model
for
there.
So
how
about
joe?
If
you
want
to
touch
this
up
to
me,
do
you
understand
yeah.
B
B
B
These
are
may
pass,
but
yeah
you've
already
passed.
A
You
could
fail
with
this.
That's
why
it's
a
may
pass
right.
This
is
per
phase
all
these
things,
the
three
three
things
are
per
phase
right.
Sorry,.
A
Okay,
but
I
think
there's
just
there's
still
a
consistent
model
here,
it's
like
at
least
something
has
to
be
provided
for
it
to
execute.
For
that
phase,
right,
nixon
or
not.
I
think
we
agree
on
the
underlying
thing,
so
we
are
five
minutes
over
and
I'm
late
to
think.
How
about
folks
here
want
to
stay
and
touch
this
up
to
meet
that
requirement.
They
can
and
then
we'll
pick
back
up
on
line
150
next
time
we
can
schedule
either
something.
B
A
Who
wants
to
own
scheduling
something
out
of
band
to
go
through
stack,
packs,
okay,
awesome
so
get
this
touched
up
schedule
something
out
of
band,
we'll
try
to
get
it
and
then
maybe
we
target
one
of
the
working
group
meetings
next
week
to
present
and
say
hey.
We
are
ready
for
a
vote
on
this.
Please
vote
soon.
A
If
we
can,
how
far
do
we
get?
Do
we
get
at
least
halfway.
B
I
think
we're
more
than
halfway
to
your
point.
It's
like
there's
a
lot
of
these.
The
examples
are
really
long,
yeah
and
then
the
this
stuff
is
kind
of
boilerplate
nice.
Okay,
awesome,
I'm
gonna
move
my
section:
okay,
I'll.
Try
to
I'm
gonna,
try
and
commit
up
to
here
I'll
reword
this
and
commit
up
to
here.
A
Awesome
again,
I
apologize
for
being
very
forceful
with
the
changes
I
just,
I
think,
we're
all
all
in
consensus
that
we
want
to
get
cats.