►
Description
Meeting of Kubernetes Storage Special-Interest-Group (SIG) Object Bucket API Design Meeting - 20 January 2022
Meeting Notes/Agenda: -
Find out more about the Storage SIG here: https://github.com/kubernetes/community/tree/master/sig-storage
Moderator: Sidhartha Mani (Minio)
A
A
That
we
couldn't
address
last
week
within
another
time,
so
so
many
of
these
questions
are
some
some
things
that
we've
already
discussed,
but
but
I
would
like
to
revisit
them
just
to
just
help
me
answer
this
clearly,
so
michelle
asked
so
we're
gonna
in
the
bucket
access
class,
we
get
to
specify
what
kind
of
access
authorization
mechanism
is
being
used,
whether
it's
iam
or
access
key
or
secret
key
excuse,
secret,
key
and
and
this
question
of,
should
we
have
this
field
in
the
bucket
axis,
which
is
user.
A
User
defined
or
in
the
bucket
axis,
which
is
where
I
think
I
think
she
went
bucket
access
here
or
should
be
the
bucket
access
class.
It
couldn't
be
the
bucket
claim,
because
bucket
claim
is
really
for
creating
the
bucket
and
access
mechanism
is
a
separate
from
bucket
creation.
A
Yeah,
I
think
you
know
bucket
access
here
so
so
the
question
is:
should
this
be
specific
in
the
bucket
access,
or
should
this
stay
in
bucket
access
class?
Remember
we
said
this
is
really
a
function
of
like
as
an
if
you
want
to
be
portable.
A
We
want
to
be
if
we,
if
we
want
to
be
portable
across
providers,
that
support
the
same
protocol
and
if
we
had
it
in
the
bucket
access,
then
you
know
portability
might
be
lost
when
we,
when
we
move
from
one
provided
to
another,
because
both
providers
need
not
support
the
same
authorization
mechanism.
D
That's
about
it
right.
This
is
a
question
raised
by
michelle
right.
Do
we
have
michelle
no
yeah?
I
mean
I
would
like.
I
agree
with
everything
you
said,
because
I
think
that
was
the
argument
I've
been
making,
but
I
want
to
if
someone
has
counter
argument,
I'd
like
to
come
state
it
because
there's
there
is
a
lot
of
consternation
around
this.
I
am
versus
secret
key
design
and
all
the
requirements
on
it,
and
I
don't
know-
maybe
other
people
have
have
a
different
feeling
about
the
balance
of
complexity
versus
portability.
D
I
I
come
down
on
the
the
portability
side,
even
at
the
cost
of
some
complexity
here,
but
but
as
long
as
we're
on
that
side,
then,
yes,
what
you
said
is
correct.
We
can't
put
it
on
the
bucket
claim.
I
don't
think.
D
The
the
the
complexity
is
is
on
the
workloads,
the
requirement
that
they
take
whatever
we
give
them
right
that
that's
that's
more
work
that
every
workload
has
to
do
to
be
compatible
with
cozy.
If
you
could,
if
we
relax
that
requirement
said,
look
if
you
ask
for
a
secret
key,
we'll
give
you
a
secret
key
100
of
the
time
or
vice
versa.
Then
you
could
write
your
workloads
to
always
expect
a
secret
key
or
whatever
it
is.
You
were
going
to
request
and
it
would
make
writing
your
workloads
easier.
D
A
So
I
mean
you,
you
can
add
services
or
you
can
have
a
controller
that
makes
it
easier
for
you,
the
the
base
api,
the
the
lowest
layer
of
the
platform,
the
provisioning
platform
that
is
cozy
need.
Not
I
mean
it.
I
think
it
should
focus
more
on
functionality
than
it
should
provide
all
the
functions
needed
and
for
usability's
sake.
A
People
can
build
a
crd
or
you
can
build
a
upstream
service
that
that
takes
care
of
it.
If
it's
really
that
much
more,
if
usability
is
that
much
more
desired,
but
but
that
being
said,
even
in
pvcs
and
tvs
like
take
the
example
of
storage
class,
a
bunch
of
things
can
only
be
specified
via
the
storage
class
and
and,
like
you
know,
the
file
system.
A
So
so
I
I
don't.
I
don't
know
if
it's
any
more
complex
than
other
kubernetes
resources,
but
but,
like
you
said,
if
someone
has
a
strong
point,
I
just
think
the
pla.
The
the
main
thing
is
the
platform
should
shouldn't
be
something
that
compromises
functionality,
because
complexity
can
be
addressed
at
a
higher
layer
of
abstraction.
D
Okay,
I
I
don't.
I
don't
know
what
you
mean
by
the
higher
layer
of
abstraction,
but
but
I
do
agree
that
you
know
it's
totally
possible
to
have
libraries
inside
the
workloads
that
are
just
cozy
compatible
and
can
deal
with
anything
we
throw
at
them
and
as
long
as
we
stand,
stand
fast
and
say
you
know,
you
must
support
both
of
these
in
your
library
and
everyone
does
that
then
there's
no
problem.
A
Yeah
yeah
all
right,
so
so
this
this
is.
This
is
clear.
I
just
wanted
to
revisit
why
we
did
this
and
and
we'll
respond
and
we'll
see
what
would
just
say.
A
So,
I'm
trying
to
understand
this
question
a
little
bit
more,
but
I
think
she
means
the
workflow
is
focused
on
a
lot
of
workloads,
but
we
also
want
to
support
users
instead
of
granting
access
to
service
accounts.
Can
we
also
grant
access
to
a
user?
Maybe
I
haven't
been
clear
so
far,
but
I'm
not
sure
if
she
means
grant,
as
in
like
does
she
mean
only
people
with
a
particular
kubernetes
user,
or
only
a
particular
kubernetes
user?
D
A
D
A
D
It
would
be
good
to
have
michelle
here
to
explain
what
she
means,
but
I
have
to
assume
that
she's
getting
confused,
because
on
the
on
the
actual,
like
gcs
implementation,
of
course,
buckets
can
have,
can
grant
access
to
both
users
and
service
accounts,
and
so
it
seems
natural
to
ask
like.
Is
it
only
service
accounts
on
the
kubernetes
side?
D
Why
not
users
on
the
kubernetes
side,
and
I
think
the
answer
is
because
it
wouldn't
do
any
good
to
grant
access
to
a
user
on
the
kubernetes
side,
because
you
can't
run
a
pod
as
a
user.
To
my
knowledge,
you
can't
do
anything
with
a
bucket.
If
you're
a
user,
you
have
to
create
a
workload,
but
maybe
she
knows
something
we
don't
yeah.
A
It's
possible,
I
mean,
I
think
I
think
it
might
be
possible
in
google
cloud
to
run
as
a
user,
but
it
doesn't
matter
for
our
use
case
running
as
a
user
or
coming
from
you
know,
as
a
cloud
user.
The
only
reason
you'd
wanna.
A
E
D
A
So
that's
why
I
was
getting
to
this
like
if
yeah,
maybe
we
should,
we
should
clarify
or
we
should
find
out
what
she
meant
here.
But
but
if
she
means
kubernetes
uses
provisioning,
buckets
or
using
buckets
and
if
it's
just
cloud
provider
users,
then
the
answer
can
be
straightforward.
It's
not
needed,
but
if
it's
kubernetes
users,
then
it's
kind
of
confusing,
because
because.
A
C
D
D
A
Yeah
it's
required
when
pod
has
access
to
more
than
one
bucket.
I
mean
whether
the
question
is
straight
forward.
I
so
one
of
the
reasons
I'm
bringing
this
up
is
because
you
know
they
weren't
completely
straightforward
to
me
the
questions.
So
I
figured
you
know.
Maybe
michelle
was
going
to
join
this
call,
so
it's
worth
it
to
bring
this
up.
A
So
the
question
is:
is
projector
volume
required
here
or
do
environment
variables?
Work
enrollment
variables
only
allow
you
to
specify
one
bucket,
so
it
doesn't
really
work.
Can
you
also
give
an
example
of
part
of
access
to
buckets?
Yes,
we
can
do
that.
A
There's
another
important
question.
Let
me
get
to
that
yeah.
So
is
there
a
reason
why
we
are
not
following
the
pvc
snapshot
model
here,
where
you
always
have
a
client,
even
if
it's
for
brownfield?
How
do
we
verify
that
the
specified
bucket
can
satisfy
all
the
fields
in
the
claim,
so
in
snapshot?
A
So
so
I
don't
know
what
the
second
part
of
the
question
means.
So
I
just
had
a
question
about
snapshots.
So
in
snapshot,
what's
the
what's
the
equivalent
to
pvc
pv
binding
model.
E
A
I
see
so
in
our
case,
so
is
there
a
possibility
where
the
snapshot
already
exists
and
you
want
to
bind
a
new
so
right.
B
E
First
to
point
to
the
existing
resource,
then
you
create
a
one
snapshot
to
bind
with
that
one
central
content
same
as
the
pvc
tv
case,
so
temporarily.
Of
course
you
will
have
just
one
resource,
but
then
to
use
it,
you
will
have
to
have
this
other
resource
for
user
to
use
it.
So
now,
in
this
model
we
are
going.
You
know,
kind
of
going
away
from
that.
This
is
a
little
weird.
I
also
find
that
a
little
weird
I.
A
See
so
so
so
the
last
solution
we
made
was
if,
if
a
bucket
already
exists,
anyone
can
bind
to
buy
into
that
bucket.
I
think
there
was
some
complexity
around
who
gets
to
delete
the
bucket.
I
think
that's
the
reason
or
did
okay
so
yeah.
Now
I
think
I
remember
so.
We
said
if
a
bucket
was
created
outside
of
cozy,
then
we
we
don't
delete
it
or
the
retention
policy
on
the
bucket
or
the
deletion
policy
on
the
bucket
is
always
or
by
default,
retained.
A
Yeah
it
was
created
outside
of
cozy,
so
we
don't
want
to
take
up
the
we
don't
want
to
accidentally
delete
it.
I
think
that
so
that's
the
reason.
If
we
had
the
deletion
policy
to
be
deleted,
like
we
do
with
cozy
created
buckets,
then
then,
when
the
bucket
goes
away,
it'll
get
deleted.
We
don't
want
that.
E
B
E
A
That
by
defamation
is
a
multi-user
system,
but
like
always
over
the
network
and
always
multi-user,
you
know
at
the
same
time.
So
so
the
question
here
is
so
if
we
have
a
bucket
claim,
always
even
for
an
existing
bucket.
A
I
think
that
I
mean
as
long
as
we
so
so
I'm
trying
to
remember
why
we
didn't
need
a
bucket
claim.
So
I've
heard
arguments
both
ways.
So
so
I'm
just
trying
to
form
the
thoughts
that
we
had
so
far.
One
is
you
know
we
don't
really
need
a
bucket
claim
to
use
a
bucket.
A
We
just
use
a
bucket
access
and
point
to
the
bucket
directly
and
and
and
that's
because,
even
even
if
you,
even
in
the
normal
use
case,
let's
say
you
created
a
bucket
using
cosy
and
it's
not
a
brownfield
bucket
and-
and
you
want
to
use
this
bucket
from
a
second
namespace,
you
directly
have
the
bucket
access
point
to
the
bucket
anyways.
A
Right,
so
it's
not
very
different
from
what
we
do
already.
I
think
that's
the
reason
we
said
bucket
access
can
directly
point
to
the
bucket
without
having
a
bucket
claim
in
each
namespace.
A
D
Better
yeah,
I
think
one
of
the
concerns
there
was
what,
if
the
name
space
goes
away
and
the
bucket
gets
deleted.
A
Regular
access
points
to
bucket
one,
let's
call
this
bucket
one,
and
then
you
know
name
space.
Two.
We
have
bucket
access
point
two
one
so
and
let's
say
name
space,
one
or
names
to
zero
is
where
the
bucket
is
created.
A
D
Is
this
before
you
do
want
the
bucket
to
go?
You
want
the
bucket
object
to
go
away,
but
you
don't
want
the
actual
bucket
to
go
away
right
right
right.
Otherwise,
you
have
a
bucket
hanging
around
forever
it'll
never
get
deleted.
So
you're
saying,
if
I
heard
about
the
claim
you
got
a
bucket
claim
it
was
down
to
the
bucket
and
then
you
deleted
the
name
space.
Obviously
the
bucket
claim
will
go
away
and
then
the
bucket
that's
bound
to
it
should
go
away
for
garbage.
B
D
D
A
D
D
Of
copies
of
everything,
now
lots
of
copies
of
everything
isn't
great,
but
it's
really
simple
right,
because
you
can
just
follow
extremely
straightforward
rules
about
how
things
work.
Everything's
one-to-one,
everything's,
simple,
nothing
goes
across
name
spaces,
and
it's
just
you
know:
there's
no
ambiguity
right
right,
so.
A
A
What
I
was
saying
references
to
all
the
bucket
claims,
the
backward
references,
yes,
that
that
that
yeah
we
wanted
to
avoid
that
we
got
away
from
it.
So
so
her
question
is:
why
do
we
directly
have
bucket
access
point
to
bucket
one
at
all.
E
A
D
A
So
so
her
question,
michelle's
question
was:
is
there
a
reason
why
we
don't
have
a
bucket
claim
for
every
every
bucket
that
is
utilized
or
or
for
brownfield
buckets?
Why
do
we
not
have
bucket
claims
and
the
answer
was
it's
not
very
different
from
buckets
that
I
use
from
name
spaces
where
the
bucket
you
know
in
in
other
name
spaces
than
the
one
the
bucket
is
created
in
it?
Brown
field
is
the
same
as
accessing
bucket
from
a
different
name
space.
That's
what
we
said.
D
My
interpretation
of
what
michelle
is
saying
is
she's.
Looking
at
the
way
we
do
brownfield
snapshots
where
you
create
a
volume,
snapshot,
content
object.
First
then,
you
point:
the
volume
snapshot
object
at
the
vsc
and
they
bind
that's
interesting
and-
and
it's
still
one
to
one,
but
it's
just
that
that
you
can
there's
a
mechanism
in
the
via
in
the
vs
object
where
you
can
give
it
a
vsc
name
directly,
and
you
have
to
do
one
or
the
other
right.
D
You
either
have
to
say
I'm
taking
a
snapshot
of
an
existing
pvc
or
I'm
creating
a
snapshot
that
already
exists,
and
then
two
very
different
things
happen.
Depending
on
that
choice.
Now
we
don't
have
a
concept
of
like
creating
a
bucket,
that's
not
empty
or
you
either
ask
for
an
empty
bucket
or
an
existing.
But
I
guess
those
are
the
two
cases
I
either.
D
A
All
right
for
bucket
claim
yeah.
A
D
A
So
remember
we
did
consider
having
it
here.
I'm
just
trying
to
you
know
I'm
asking
if
you
can
help
remind
me
why
we
chose
to
go
with
this
model.
I
remember
we.
We
discussed
one
sometime
back
where,
if,
if
we
could
have
the
bucket,
if
you
could
have
a
bucket
claim,
regardless
of
whether
it
was
greenfield
or
ground
field.
D
We
ended
up
going
back
and
forth
on,
does,
does
a
bucket
access
need
a
bucket
claim
or
doesn't
it
right,
because
if
it
needs
a
bucket
claim,
then
obviously
you
need
to
be
able
to
create
bucket
claims
for
existing
buck.
You
know
for
brownfield
situations,
but
if,
if
it
doesn't
need
a
bucket
claim,
then
you
don't
I
mean
if
the
bucket
access
can
point
directly
to
a
bucket,
then
in
the
brownfield
situation
you
just
do
that.
D
A
I
could
possibly
believe
it
because
I
can't,
I
can't
think
of
I
mean
if
you
say
the
value
is
the
fact
that
it
it
is.
It
is
symmetric
or
it's
exactly
like
some
other
model,
maybe
that's
valuable,
but
but
technically
speaking,
I
don't
see
what
benefit
do
we
get
from
having
a
bucket
claim
every
time
you
want
to
access
a
bucket,
even
if
it's
a
bucket
created
outside
of
this
namespace
or
outside
of
cozy.
A
D
You
have
to
think
through
the
situation
where
you
know
I
want
to
be
able
to
create
an
app
with
a
brand
new
bucket
versus.
I
want
to
be
able
to
create
an
app
with
an
existing
bucket
and
how
the
existing
bucket
will
get
sort
of
injected
into
the
automation
that
sets
up
the
app,
because
if
the
automation
is
responsible
for
creating
bucket
accesses,
then
you're
going
to
have
two
different
branches
for
the
bucket
access
creation
to
go
down
right.
One
is
for
create
a
bucket
claim
and
bind
to
that.
A
D
We
can't
do
it
any
way.
We
want
it's
a
question
of
like
what's
going
to
feel
right
for
consumers
of
the
api
right
because
in
a
kubernetes
world,
it's
very
common
to
just
like
check
all
your
kubernetes
objects
into
some
git
repo
and
then
have
some.
You
know
and
templatize
certain
things
and
then,
when
you're
ready
to
instantiate
your
app,
you
just
you
know,
do
git
clone
cue,
cuddle
apply
or
you
know,
use
customize.
A
D
E
A
But
but
in
cases
like
buckets
that
are
existing
or
they're
created
outside
of
cozy,
you
don't
have
an
option.
I
mean,
if
you
know
the
bucket
name
up
front,
you
can
you
can
directly
use
it,
but
other
than
that,
you
can't
well.
D
Yeah,
I'm
not
saying
that
I'm
an
expert-
or
I
know
what
the
right
answer
is
here.
I'm
just
saying
like
going
through
those
kinds
of
exercises
will
tell
you
what
the
right
answer
is:
we've
gone
through
them,
and-
and
I
mean
I
mean
actually
using
the
api
as
as
an
application
user
would
use
it.
You
know
and
trying
to
do
things
like
you
know,
deploy
a
new
application,
clone
an
application
back
up
and
restore
an
application.
D
You
know
all
the
kinds
of
things
that
the
people
are
trying
to
use
the
kubernetes
api
for
with
you
know,
today,
with
volumes
and
snapshots
and
stuff,
and
when
you
layer
in
buckets
you
just
got
to
figure
out
what
is
it?
What
does
it
look
like
to
back
up
an
application
that
has
a
bucket
and
then
to
restore
that
application
to
a
new
cluster
and
to
use
the
same
bucket?
You
know
what
what
exactly
do
you
have
to
do
and
and
is
it
awkward
or
is
it
natural.
D
Yeah
and-
and
I
don't
I
don't
want
to
like-
get
as
hung
up
on
those
kinds
of
things,
but
I'm
saying
like
once
we
once
we
have
this
implemented
and
and
shipping
and
people
start
doing
those
things
they
may
come
back
to
us
and
say
this
is
terrible,
because
I
can't
do
the
thing
I
want
to
do
with
your
api
and
then
I.
A
Know
that
we
did
the
wrong
thing
yeah,
it's
okay
to
say
we
will
see
how
it
goes,
and
you
know
or
we'll
see
how
people
use
it
and
then
improve
from
there.
As
long
as
we
are
aligned
with
the
idea
that
we
we
are
ready
to,
you
know,
tear
it
all
up
and
start
from
scratch
if
needed
it
shouldn't
get
to
that
point.
But
you
know
I'm
saying
that
we
might
have
to
change
stuff
later
on
yeah
yeah
yeah.
We
do
need
a
bucket
claim
name
in
the
bucket
access.
That's
pretty
clear!
A
If
you
want
to
keep
it
declarative
with
bucket
name,
it
has
to
be
a
pre-existing
bucket.
I
mean
there
is.
There
is
no
other
way
around
it.
It's
it's
like
pvc,
binding
to
an
existing
pv
right.
D
E
D
Your
your
prerequisite
would
be
that
that
snapshot
has
to
get
there
somehow
whether
it
was
a
pre-existing
snapshot
of
a
volume
when
you,
you
know
previously
snaps
out
of
your
application
or
whether
it
was
a
snapshot
that
some
administrator
created
and
then
you
bound
a
vs
to
it.
You
know
the
idea
would
be
your.
The
prerequisite
is.
D
A
snapshot
exists
in
the
namespace,
with
a
known
name
that
that
is
chosen
by
the
application,
deployer
and,
and
then
everything
else
is
automatic
in
this
world,
like
you
can't
specify
the
name
of
the
bucket,
because
that
that's
going
to
be
it's
a
non-namespace
object,
so
you
have
to
be
taken
as
an
input,
not
as
an
output,
and
then
you
would
have
to
use
that
input
in
your
bucket
access,
and
so
then,
then,
at
that
point
the
prerequisite
is
something
has
to
exist.
You
have
to
pass
in
the
name.
D
A
Yeah,
if
the
user
is,
if
the
user
wants
it
wants
to
bind
something,
that's
already
existing.
I
think
it's
reasonable
to
say
you
know,
do
the
first
step
of
making
it
exist.
D
Right,
it's
just
that
with
snapshots.
You
can
control
your
your
starting
snapshot,
name
because
it's
a
name-based
object
and
then
you
can
just
put
a
requirement
on
someone
to
to
set
that
up
ahead
of
time
and
and
with
this
model,
you
can't
do
that
because
the
name
is
got
to
be
chosen
by
someone
else
and
input
into
the
process.
A
Well,
you
could
you
could
control
the
bucket
name
for
for
a
bucket
create
outside
of
cozy.
You
the
only
place
you
can't.
D
A
D
E
A
C
B
D
E
A
Right
right,
so
if
for
a
pre-existing
vsc,
if
you're,
trying
to
if
you,
if
you're
trying
to
bind
a
vs
to
a
pre-existing
vsc,
you
know
someone
should
someone.
Should
you
know
it's,
it's
not
possible
to
predict
the
vsc
name
right,
so
you
can't
really
just
have
a
declarative
specification
of
the
vs
name
now,
because
it
has
to
point
to
an
existing
vsc.
Isn't
that
right?
A
So
so,
let's
say
I
create
a
volume
snapshot
which
leads
to
the
creation
of
volume
snapshot
content
in
namespace,
one
by
the
namespace
two.
Let's
say
I
want
access
to
volume,
snapshot
content
created
in
namespace,
one.
D
A
I
see
but
but
the
vsc2
has
to
has
to
exist
before
it
can
be
used
right
like
before.
It
can
be
bound
to
the
vs.
E
D
A
A
Having
a
bucket
claim
here,
wouldn't
really
give
us
any
benefit,
because
you
still
have
to
know
the
name
of
the
bucket
up
front.
D
But
you
could
require
that
the
bucket
claim
exists
ahead
of
time
and
so
that
you
can
refer
to
it
by
name,
and
then
you
can
just
have
a
requirement
that
if,
if
your
application
is
expecting
a
non-empty
bucket,
somebody
has
to
create
that
bucket
claim
and
bind
it
to
the
bucket
ahead
of
time.
But
but
you
can't
do
that
today
with
this
design
right,
because
because
now,
but
a
new
bucket
claim
will
always
result
in
a
new
empty
bucket.
A
Instead
of
expecting
environment
to
create
a
bucket
claim,
for
you
a
pre-existing
one
bound
to
operate
this
in
bucket,
why
can't
that
create
a
bucket
access
for
you
pointing
to
a
pre-existing
bucket?
How
is
that
different.
D
A
Yeah,
that's,
that's!
That's
the
question.
Okay.
I
think
it
bounces
it
and
I
also
got
to
know
how
vsc
and
vs
works
it's
good.
How
do
you
verify
that
the
specified
bucket
can
satisfy
all
the
fields
in
the
claim?
A
A
A
A
Yeah,
all
right,
so
all
right,
so
so
this
this
is
the
famous
reference
policy
question.
She
has
strong
objections
about
allowing
anyone
to
use
buckets
created
outside
that
namespace,
and
I
think
we
should
start
aligning
with
pvc
snapshot,
which
is
already
solved.
This
problem.
A
How
has
it
solved
the
problem?
So
so
our
answer
was
first
reference
policy,
then
we
found
out
gateway.
Apa
is
not
using
reference
policy,
so
we
said
we'll
go
the
simple
answer
of
having
the
three
three
models.
What
was
this.
C
A
D
E
E
A
So
so
we
don't,
we
don't
want
to
so
we
also
you
know,
looked
into
reference
policy
and
just
because
of
the
complexity
it
looks
like
gateway.
Api
didn't
go
with
it.
Either
did.
E
A
E
A
Okay,
okay,
I'm
fine
with
that.
It
sounded
from
what
she
said
it
sounded
like.
She
wants
an
answer.
That's.
E
E
A
Yeah,
so
this
is
two
weeks
back.
We
we
discussed
an
approach
and
it's
been
very
reasonable.
Where
we'll
just
have
these
three
modes
defined
in
the
bucket
itself,
through
the
bucket
class,
let's
say
where
the
sharing
is
only
within
the
same
name:
space
or
all
namespaces
are
selector
based.
D
No,
so
is
that
specified
on
the
bucket
claim
or
the
bucket
class
it
has
to
be
in
the
rocket
class,
but
that
that's
kind
of
weak
right,
because
then,
then
users
can't
anyone.
You
can
use
any
bucket
class.
Anyone
can
use
any
bucket
classes.
What
you
mean?
No,
no.
What
I
mean
is
like:
if
there
is
no
bucket
class
that
offers
the
kind
of
sharing
you
want,
then
you
can't
do
what
you
want.
A
D
A
E
E
Let's
just
go
with
whatever
you
know,
snapshot
or
just.
A
Yeah,
I
think
I
think
ben
is
saying
that
if
god
lost
my
train
of
thought,
but.
A
If
you're
going
to
have
some
way
to
restrict,
who
gets
to
access
what
bucket
and
and
if
and
we
want
to
do
it
in
a
self-service
manner,
having
the
admin
to
set
up
a
bunch
of
bucket
accesses
or
bucket
classes
up
front
is
not
self-service
anymore.
Isn't
that
what
you're
saying.
D
A
A
Yeah,
so
so
it's
still
self-service
because
it's
like
run
time
versus
compile
time
I
mean
it's.
I
mean
we're
not
compiling
or
running
anything
here,
but
when,
when
setting
up
the
cluster,
the
admin
could
create
a
bunch
of
bucket
access,
bucket
classes
and
and
the
user
gets
to
choose
one
from
the
many.
The
admin
doesn't
have
to
be
involved
during
the
bucket
creation
step
itself.
A
Don't
think
we're
really
losing
self-service
here
but
anyways
again,
I
think
it's
important.
We
focus
here.
We
don't.
We
don't
have
to
answer
this
now,
because
we
said
version
alpha
of
the
cap.
We're
not
going
to
do
that
all
right.
So
there's
this
question
about
retention
period
for
compliance
use
cases
will
that
conflict.
I
think
I
explained
what
this
use
case
was
for
those
who
might
not
know
where
you
know
at
mania.
A
We
have
some
customers
who
want
to
make
sure
that
objects
that
have
been
created
cannot
be
deleted,
even
if
you
wanted
to
for
a
minimum
retention
period.
This
is
to
deal
with
ransomware
where
people
within
the
company
try
to
hold
data
ransom.
A
I
don't
have
to
get
a
raise
or
I
don't
know
what
it
is
it's
funny,
but
I
don't
think
it's
it's
that
frivolous,
but
but
being
more
serious.
I
think
that's
what
she's
trying
to
say
shouldn't
there
be
a
retention
period
for
compliance
use
cases
I
think
bucket
specific
policies
like
that
can
be
yeah.
It's
something
that
has
to
be
specified
during
during
the
creation
of
the
bucket.
A
A
D
B
A
Okay,
yeah,
maybe
I
think
the
answer
here
is,
I
I
don't
know
are
we
are
we
putting
ourselves
in
a
place
where
we
can't
support
this
use
case
by
saying
that.
A
D
C
A
A
It's
a
s:
okay,
let's
see,
s3
api
look
up,
object,
lock,
yeah.
Let's
look
at
object.
D
G
A
Is
more
universal,
like
google
cloud
also
supports
it?
Azure
also
does
okay
retention
period
and
legal
hold
yeah.
A
Is
what
I
mentioned?
I
think
okay.
A
D
D
A
A
D
A
C
I
don't
think
it's
gonna
take
long.
This
is
dk,
go
e2.
C
A
A
A
A
A
I
I
know
that
it's
also
a
part
of
the
gcp
gcs.
Sorry,
google
cloud
storage
create
bucket
api
cloud
storage,
create
bucket.
A
A
I'm
guessing
it's
actually
requests
so
yeah
I'll.
Take
a
look
at
this,
but
I
think
request
party
service,
so
this
is
for
so
so
you
can't
create
a
bucket
at
the
name.
Okay,
so
this
is
insert
okay,
so
bucket,
create,
is
here
and
lock
retention
policy
yeah.
So
in
google
cloud
it's
something
that's
done
afterwards!
A
It's
it's
just
such
something
that
you
can't
unlock,
but
you
can
do
it
afterwards
for
a
bucket.
A
So
in
aws
it
seems
like
it's
up
front,
but
but
with
the
with
google
cloud
it
seems
to
be
something
that
you
can
enable,
but
never
disable.
So
so
how
do
you
want
to
do
this.
A
Yeah
yeah,
I
think
it's
fair
to
say
it
has
to
be
done
up
front
and
we're
doing
so.
So
I
think
it's
fair
to
say
that
cosi
only
supports
bucket
locking
enablement
up
front
when
creating
the
bucket,
and
if
we
go
with
that,
I
I
don't
think
that's
that's
that's.
I
don't
think
we're
really
restricting
users
too
much
when
we
say
that
I
think
I
think
that's
fair
and
in
that
model
yeah
yeah
we.
This
could
be
that
proprietary
extension
that
that
gets
specified
in
the
in
the
bucket
class.
G
That
we
don't,
we
shouldn't,
have
to
worry
about
that.
That's
handled
at
the
at
the
storage
side.
A
Okay,
good
to
know
all
right,
so
I
have
an
answer
here,
we're
almost
out
of
time.
Okay,
so
just
this
last
one,
so
I
suggest
looking
into
the
new
liens
feature
for
design
in
this
area,
the
current
approach
that
we
do
with
finalizes
for
previous
and
snapshots.
I
think
it's
too
complex
all
right.
So
what
is
the
new
lanes
feature?
Is
there
is.
E
A
A
Yeah
one
last
thing,
then,
is:
do
we
need
force
delete?
I
I
I
was
fine
without
forced
elite,
but
the
idea
for
force
delete
is
even
if
someone
is
using
it.
I
wanna
I
wanna.
Do
the
bucket.
A
Right
now
you
know
you
can't
delete
a
bucket
if
it's
being
used.
A
I
think
I
think
if
someone
wants
forced
elite,
they
they
they
could
forcibly
remove
the
bucket
accesses,
so
they
remove
the
users
and
then
delete
the
bucket.
I
think
that's
okay
as
an
admin,
they
have
the
privileges
to
do
it.
I
don't
see
why
it
needs
to
be
heard
from
under
someone
who's
using
it
rather
than
by
first
taking
the
user
away
and
then
deleting
it.
I
think
it
didn't
even
give.
E
B
E
B
E
Does
I
mean
the
the
proposal
itself
looks
very
interesting?
It's
just
right
now
seems
to
did
not
get
enough
support
to
move
over
yet.
A
Okay,
good
to
know
yeah
it'd
be
interesting
to
see
what
they
have.
One
last
thing
is
protocol
being
a
list.
We've
always
said
no,
because
you
could
create
multiple
bucket
classes,
one
for
each
protocol.
Are
there
any
objections
to
that.
C
A
All
right,
okay,
so
I
think
I
think
I
have
most
of
the
answers.
I'm
gonna
update
the
camping.
Michelle
clarify
what
you
meant
by
some
of
the
comments
and
go
from
there
thanks
everyone
we're
almost
out
of
time.
Unless
you
have
some
questions
we
can
we
can.
We
can
finish
the
meeting
now.
E
Oh
and
you
know
the
that
they
did-
you
know
the
cap
merged
deadline
for
window
24..
I
know
we
don't
have
to
follow
that,
but
it's
good
to
use
that
too.
A
E
A
I
I
don't,
I
don't
know
I
can
find
it
now.
E
A
Okay,
so
yeah,
let's
this
time,
try
to
make
it
yeah.