►
From YouTube: 2023-08-24 Crossplane Community Meeting
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
All
right
recording
has
started,
and
this
is
the
August
24th
2023
Cross
Lane
community
meeting
I
will
right
now
take
a
drop,
a
link
into
the
chat
or
the
zoom
meeting
here.
So
folks
have
a
direct
link
to
the
agenda
doc.
If
you
don't
already
have
it
and
with
that
link
there,
you
can
join
the
agenda,
doc
feel
free
to
add
yourself
as
an
attendee
and
feel
free
to
also
add
any
topics
for
discussion
that
anybody
wants
to
bring
up
today.
Also
all
right.
So,
let's
jump
into
recent
releases.
A
So
the
first
thing
to
mention
there
is
that
we
did
do
a
round
of
cross-plane
runtime
releases.
We
have
a
new
versioning
strategy
here
the
Hassan
was
driving
where
essentially,
we
will
be
like
publishing
versions
of
the
Cross
plain
runtime
packages
in
the
library,
essentially
to
kind
of
match
and
go
kind
of.
Let's
follow
the
versions
of
core
Crossbay
as
well,
so
that
it's
very
clear
and
we
have
a
clear,
branching
and
patching
strategy
as
well
for
the
specific
versions
of
crossband
runtime
that
are
in
use
by
specific
versions
of
core
cosplay.
A
So
if
you
want
more
details
about
that,
Hassan's
proposal,
for
it
is
in
this
issue-
4060,
that's
Linked
In
the
agenda
Doc
and
then
that
you,
like
there's,
also
links
to
each
one
of
the
release.
Notes
for
that
as
well.
A
A
Right
cool
and
then
there's
the
other
released
within
the
ecosystem
at
the
cross.
Brain
level
is
that,
following
up
from
the
1.13
crosswind
release,
there
is
a
1.13.2
release
as
well
for
for
the
uxp
distribution
of
crossplaying,
which
is
linked
here
and
as
well.
Folks
want
to
read
about
that.
A
So,
since
we
have
1.13
out,
we
are
working
on
1.14.
We
are
pretty
much
one
month
into
the
quarterly
cycle,
the
three-month
cycle.
So
we
are
one
third
of
the
way
through
the
milestone
for
1.14.
We
have
picked
up
the
pace
and
we've
been
delivering
some
features
and
some
some
fixes
Etc
to
the
main
branch.
So
let's
do
a
quick
review
of
the
roadmap.
We're
not
going
to
spend
too
much
time
on
that
because
we
have
already
gone
over
in
previous
meetings.
But
let's
look
at
the
roadmap,
real
quick.
A
So
for
1.14
you
know
we
are
making
a
big
investment
in
composition,
functions
and
maturing
those
and
getting
those
to
Beta.
We
are
making
another
investment
as
well
into
observe
only
and
granular
management
policies
to
mature
those
and
get
those
to
Beta
and
then
a
very
frequently
requested
feature,
especially
from
folks
with
more
complicated,
setups
and
needs.
Is
you
know,
ordered
deletion
and
being
able
to
track
usage
of
resources
amongst
each
other.
A
Hassan
will
be
going
into
a
little
walk
through
and
demo
I
think
as
well
of
that
later
on
in
the
meeting
today.
So
we'll
get
to
go
into
some
more
details
on
that
and
then
we're
also
hoping
to
promote
composition,
validation
to
Beta
as
well.
So
a
fair
amount
of
maturing
of
some
of
the
features
we've
had
in
Alpha
for
a
bit
with
composition,
functions,
observability
resources,
composition,
validation
and
fairly
fairly
good
adoption
of
those
as
well
so
that'd
be
really
good
to
get
those
to
a
stable.
A
A
If
there's
anything
that
folks
want
to
go
into
from
there
and
I
am
going
to
be
dragging
and
moving
the
zoom
windows
out
see
things
here
too,
we
are
not
going
to
go
over
every
single
thing
on
the
on
the
board
here,
but
let's
take
a
look
to
see
if
there
is
anything
that
we
can
bring
up,
that's
worth
taking
having
a
bit
of
a
chat
about
Esky,
perhaps
for
you,
you
know
there
was
this.
A
This
bug
here,
4504
that
was
open
for
your
pathway,
with
a
panic
I
think
you
would
open
the
pull
request,
for
that.
Is
there
anything
to
share
on
that
one
or
anything
that
you're
blocked
on
anything
with
with
this,
with
this
fix.
C
It
got
several
reviews
about
returning
an
error
in
case
of
an
empty
schema
is
coming
so
I
have
updated
the
pr
accordingly,
it's
ready
for
another
round,
so
it's
not
blocked
right
now.
It's
just
waiting
for
review.
D
I
think
I
I
added
that
comment.
I
pers
I
was
I.
Just
I
wasn't
saying
this
should
have
an
error.
If
the
schema
is
empty.
It
really
was
a
question
that
I
could
be
convinced
that
there
are
use
cases
where
an
empty
schema.
That
basically
is
an
XR.
That
has
nothing
but
cross-blade.
Machinery
is
useful
if
others
feel
that
way,
we
can.
We
don't
have
to
have
it
return.
An
error.
C
I
think
it
doesn't
make
sense
to
have
an
empty
schema,
but
what
I
have
done
is
actually
checking
for
the
custom
resource
validation
resource
instead
of
the
scheme
of
it.
So
there
is
a
slight
difference
between
what
I
am
returning
an
error
in
that
case,
because
I
didn't
want
to
change
the
behavior
we
currently
have
and
our
tests
will
fail
if
I
edit,
another
level
of
validation
there.
So
I
did
probably
the
minimum
amount
of
work
to
prevent
the
panicking
and
returning
a
meaningful
error
there.
A
Awesome
Esky.
That
sounds
good
thanks
for
that
update
and
then
this
I
had
marked
this
one
as
a
P1.
Since
you
know
it
has
a
crash
into
Panic.
The
severity
of
it
there
is
is
somewhat
impactful,
so
I
was
going
to
raise
the
issue
of
hey.
Do
we
want
to
do
a
patch
release
for
this,
but
it
seems
like
then
the
team
has
already
sort
of
yes
gone.
A
C
A
Sense
to
me
all
right
cool
all
right,
thanks
for
driving
that
Esky,
that's
really
useful.
A
What
else
on
here
that
we
might
want
to
bring
up
Philippe?
Is
there
anything
that
you
needed
on
on
the
validation
of
like
xrd
schemas
as
well,
which
is
a
nice
addition
to
the
composition,
validations
that
we've
already
been
doing.
E
Yeah,
we
discussed
the
approach
with
with
Azan
already,
but
maybe
a
check
on
on
the
approach.
Also
from
some
it
could
be
helpful.
I
also
discussed
it
with
Stefan
the
validation
for
composite
for
custom
dresses.
Definitions
is
internal,
it's
kind
of
internal
to
the
API
server,
so
we
cannot
directly
access
it
it's
actually
available,
but
there
are
issues
with
dependencies
and
stuff,
so
it
we
cannot
import
that
so
I
ended
up
using
other
iron
apply
which
could
be
okay.
E
A
And
Philip,
if
there
were
changes
to
like
we
didn't,
do
it
with
the
driver
and
apply
anymore.
Do
you
anticipate
that,
like
the
the
high
level
experience
would
change
at
all
like
in
terms
of
oh?
If
people
are
people
are,
depending
on
this
feature
and
they're
using
it
a
certain
way,
and
now
they
have
to
they
have
to
change
the
way
in
which
they
are
using
it.
Or
do
you
expect
that
that
would
be
an
under
the
covers
thing
where
the
the
interface
or
the
experience
level
doesn't
change.
E
We
probably
I'd,
say
you
wouldn't
get
I
mean
any
invalid.
Xrd
would
result
still
result
in
the
same
in
an
error.
Maybe
the
way
we
show
the
message
could
be
a
little
bit
different.
For
example,
here
in
the
example
I
put
in
the
comment
I'm
saying
they
generated
crd
has
a
metadata
name,
which
is
invalid,
which
is
actually
because
it's
due
to
how
we
put
together
a
few
feeds
of
original
xrd.
So
we
could,
we
could
end
up
if
we
decide
to
implement
validation
on
the
xrd.
E
E
A
Got
it
understood,
yeah
and
they're?
There's
probably
some
conversations
to
have
some
time
down
the
line
as
well
that
you
already
bring
up
here
and
like
if
you
we
wanted
to
do
you
know
more
validation
and
linting,
and
do
it
more
upfront
as
well
like
how
we
unify
that.
E
F
If
I,
yes,
ask
a
quick
question,
was
that
tried
with
the
server
side
you
know
both
on
and
off.
F
My
team
recently,
you
know
unrelated
to
really
cross-plane
stuff.
We
ran
into
issues
where
we
found
out
the
validation.
Behaviors
is
quite
different,
depending
on
whether
you're
using
server-side
or.
F
Not
it
was
a
kind
of
a
a
shock
yeah.
E
F
I
can
I
can
maybe
I'll
post
somewhere
I'll
post
a
slack
to
you.
I
put
together
a
gist
at
least
I.
It
was
such
a
pain
for
us.
I
actually
went
through
and
documented
the
code
flow
through
the
API
server
to
understand
the
difference
in
the
behavior.
E
A
A
A
Cool
all
right,
so
then,
let's
close
Zoom
windows
again
and
move
things
out
of
the
way.
Again,
let's
see
if
Hassan
for
37.42
is
there
any
attraction
there
that
you're
able
to
get
now
like
if
you
synced
up
with
then,
is
there
next
steps
identified?
I,
don't
remember
what
the
latest
on
that
is,
but
I
really
do
like
you
know
the
getting
this
invested
in.
B
Yeah
yeah-
currently
it's
it's
mostly
waiting
for
me
to
get
back
to
that
and
convert
that
draft
PR
into
a
like
ready
for
review.
One
previously
I
was
waiting
for
then,
but
I.
Think
after
his
you
know,
being
Emeritus
maintainer
right
now.
I
will
try
to
find
the
find
a
replacement
to
get
some
reviews
on
that
PR.
But
the
state
is
currently
I
need
to
get
back
to
that
and
spend
some
time
on.
A
It
totally
understand
got
it
cool
and
then
I
think
that
there's
a
few
things
other
things
I
would
call
out
here
as
hey.
These
are
potentially
issues
of
concern
that
we
would
want
to
invest
in
1.14,
but
they
don't
really
have
an
owner.
A
Yet
so
you
know,
I'm,
just
gonna
call
those
out
without
an
action
plan
right
now,
which
is
okay,
we
can
figure
out
an
action
plan,
but
4378
of
you
know,
crosstaining
to
1.12.2
results
in
huge
memory
that
one
still
is
was
kind
of
concerning
for
me,
I
haven't
heard
you
know
wide,
and
you
know
frequent
reports
of
lots
of
people
saying
that,
but
I
did
hear
a
couple,
at
least
so
that
one
kind
of
that's
on
the
back
of
my
in
my
mind
for
me.
A
So
getting
some
attention
on
that
and
1.14
is
kind
of
important
this
one
here
39.93
for
the
you
know,
a
pen
slice
overwriting
instead
of
a
pending
I,
think
Aaron
Eaton
weighed
in
on
that
and
said
that
he
saw
some
of
that
behavior
as
well
too.
So
there's
something
still
lurking
there.
That
sounds
like
we
would
want
to
investigate
into
that
and
then
I
think
that
was
the
the
bug:
functionality
that,
like
defects
and
functionality,
that
I
was
concerned
yeah.
A
So
it's
just
those
two
I
think
I
have
those
marked
as
P
ones.
So
we
can
I
think
when
we're
in
we're
doing
any
sort
of
work
planning.
We
could
take
those
into
account
for
prioritizing
those
and
and
getting
some
owners
on
those.
A
Oh
anything
else
that
folks
want
to
bring
up
for
the
one
dot
the
context
of
1.14.
D
A
Then
let's
go
ahead
and
keep
moving
on
and
you
know
1.14
is
scheduled
for
late
October
like
the
last
week
of
October
indefinitely.
I
would
like
to
get
that
out
before
kubecon
in
Chicago.
So
we
have
that
as
a
as
a
nice
accomplishment
and
momentum
going
into
kubecon
there
all
right.
Let's
talk
about
provider
releases,
so
there
is
a
set
of
provider
releases
for
upbounds
official,
really
providers
there
Jean,
maybe
I,
think
you
ran.
F
G
G
Yeah,
so
mostly,
it
contains
important
bug,
fix
for
the
granular
management
policies
feature
and
we
also
introduced
a
fix
in
the
reconciliation
logic
of
the
object,
runtime
and
then.
Lastly,
we've
We've
pumped
the
terraform
CLI
version
to
1.5.5,
which
is
the
the
last
version
released
before
the
BSL
license,
was
introduced
primarily
to
address
a
bunch
of
cves
that
we
discovered
with
security
scanning.
A
G
A
A
That's
great
all
right
and
if
anybody
has
other
recent
releases
of
providers
that
they
would
like
to
share,
feel
free
to
either
add
that
into
the
agenda
doc
here
directly
or
put
in
the
chat
and
we'll
make
sure
that
gets
added
to
that
list
as
well,
and
also
a
reminder
that
anytime,
anybody
has
a
new
release
of
a
provider
they're
more
than
welcome
to
share
in
the
announcements
channel
on
the
Crossland
slack
workspace
too
happy
to
share
all
that
stuff
all
right.
So
that's
everything
then,
for
for
the
1.14
milestone
for
providers
Etc.
A
So
let's
move
on
into
the
community
topic
section
as
well
as
we
typically
do.
We
have
a
section
with
various
content
from
around
the
ecosystem
and
everything
that's
going
on
for
the
cross
plane.
So
a
couple
cool
articles
here
that
are
written
by
folks
in
the
community
to
kind
of
explain
their
use
cases
and
what
they're
learning
with
crossflame
and
then
I
know.
A
lot
of
folks
have
already
seen
this.
A
But
it's
worth
calling
out
as
well
is
that
we
made
a
blog
post
here
about
what
hashicorps
change
has
the
impact
it
may
have
for
the
cross-plane
project.
So
you
can
read
the
details
about
it
in
that
blog
post
in
the
tldr
of
it
is,
is
that
we
are
we
don't
we're
not
considering
ourselves
impacted
directly
right
now
by
for
a
couple
reasons.
One
is
that
we
are
not
updating
that
our
usage
of
terraform
CLI
to
a
version
that
has
the
bslo.
Since
that's
one
thing
and
then
long
term.
A
We
do
a
lot
to
remove
usage
of
terraform
in
the
long
run
and
have
a
more
native
cloud
provider
mechanisms
and
code
generation
etc
for
generating
providers.
So
that's
kind
of
the
you
know
too
long.
I
didn't
read
on
that.
One.
A
All
right,
so
the
Community
Day
event
is
the
schedule
and
lineup
has
been
announced
for
that.
So
you
can
see
that
in
this
blog
post
here,
let
me
also
say
September
19th,
so
folks
that
are
interested
in
attending
this
event.
There's
the
registration
link
can
be
found
here.
It
can
also
be
found
in
this
blog
post,
but
one
thing
I
did
want
to
call
out.
Is
that
just
you
know
another
round
of
gratitude
for
everybody
who
submitted
talks
to
the
community
event?
A
A
You
know
there
was
there,
wasn't
a
single
one
that
I
didn't
like
actually
so
I
made
it
quite
hard
to
whittle
it
down
to
a
smaller
set
there,
but
so
folks
that
were
did
not
get
selected
this
time.
There
is
more
certainly
more
opportunities
in
the
future
and
then
also
you
know
for
other
community
days
that
we
want
to
run
but
also
opportunities
to
maybe
take
your
content
and
do
it
as
a
blog
post
on
the
Cross
Lane
blog
instead.
A
So
there
will
be
in
touch
with
folks
that
submitted
proposals
to
explore
our
other
options
for
for
the
sharing
the
content,
because
everything
was
was
really
quite
good.
But
then
congratulations
as
well,
then,
to
to
Marco
to
Christina
and
Tobias
for
those
talks
being
selected
and
I'm
quite
excited
about
this
day,
it's
less
than
a
month
away.
So
we're
coming
up
on
it,
pretty
quick
and
really
hoping
to
see
a
lot
of
people
there
and
it's
going
to
be
a
really
fun
day.
A
I
think
so
check
out
this
blog
post.
If
you
want
to
go
ahead
and
register
it
and
and
attend
that
day,
on
September
19th.
A
All
right,
Nick,
I
I,
did
hear
you
talk
earlier
today,
so
I
think
you
were
able
to
make
it
this
morning.
If
you
want
to
go
ahead
and
introduce
your
your
topic
here
about
code
owners.
D
I'm
not
looking
at
the
document,
I
remember
what
it
is.
This
is
mostly
a
discussion,
that's
relevant
to
the
maintainers.
We
have
a
code
owner's
file
in
the
cross,
plain
repo
and
there's
a
couple
of
different
groups
in
there,
the
in
the
code
owners
file.
We
intend
to
do
roughly
two
things:
GitHub
uses
it
to
assign
requests
to
people
to
ask
them
to
review
it
and
also
controls
who
can
merge
a
pull
request.
D
C
D
Of
people
the
code
owners
wants
it
to
to
be
approved
by
so
one
of
the
ways
this
is
not
working
is
we've
got
the
group
cross
plane
reviewers,
who
are
kind
of
sort
of
people
who
might
become
maintainers.
One
day,
though,
they
are
added
as
code
owners
for
basically
every
directory,
and
we
add
them
because
we
want
them
to
be
added
as
reviewers,
not
because
we
want
them
to
be
like
blocking
the
ability
to
merge
something.
D
D
Even
if
the
subject
matter,
expert
or
a
maintainer
approves
a
PR,
the
pr
still
can't
be
merged,
because
it's
waiting
for
someone
from
the
reviewers
group
to
approve
it
so
I'm,
not
sure
if
we
could
tweak
that
I
think
more
broadly
I'm
skeptical
how
well
the
reviewers
group
is
actually
working
in
that
I'm,
not
sure
how
often
someone
gets
added
to
a
PR
from
the
reviewers
group
and
then
feels
a
sense
of
ownership,
but
actually
sort
of
tells
the
first
class
review
there.
So
I
don't
have
a
solution
in
mind
at
the
moment.
D
Just
just
calling
out
that
I
don't
think
the
code
owners
file
is
working
particularly
well
at
the
moment,
so
it
might
be
nice
to
figure
it
out
at
some
other
point.
This
does
kind
of
feel
like
a
topic
for
we
don't
actually
have
a
form
where
the
maintainers
of
cross-plane
meet,
but
if
we
did
that,
would
that
would
probably
be
a
better
topic
for
this,
rather
than
this
community
meeting.
F
I
can
just
say
for
the
division
I'm
in
we
are
using
in
addition
to
code
owners,
some
apps
registered
apps
to
you
know,
do
some
of
the
more
fine-grained
stuff
that
NYX
is
alluding
to
I.
Can't
say
that
you
know
it's
the
best
solution.
F
I
can
say
it's
more
or
less
working,
so
maybe
GitHub
actions
would
be
better,
possibly,
but
we're
not
work.
You
know,
I
can
say
we're
not
using
them
we're
using
registered
apps
to
do
these
other
fine-grained
kind
of
things.
A
Dan
are
those
internal
apps
for
in
your
organization?
Are
they
like
publicly
available
ones.
F
It's
a
mixed
bag
to
be
honest
and
the
level
of
let's
say,
the
number
of
checks
that
are
being
performed
is
quite
numerous,
so
I
couldn't
tell
you
off
the
top
of
my
head
just
with
regards
to
sort
of
like
the
access
control.
That's
being
discussed
here,
you
know,
are
the
apps
involved
in
that
public
domain
or
not
I
I
don't
know,
I
can
I
can
check
and
post
somewhere,
maybe
I'll,
just
post
to
Nick
what
what
I
find
and
yeah
again.
Hopefully,
it's
something
useful.
A
Yeah,
definitely
that
might
be
two
things
that
are
useful,
then
that
you
can
share
with
the
student
Nick
I
just
made
it
in
adjustments
by
the
way
in
the
zoom
settings
for
automatically
adjusting
the
input
level
of
my
microphone.
So
hopefully
that
is
better
now.
D
A
Oh
geez,
that's
not
a
professional
way
to
run
this
meeting
come
on
Jared
to
get
it
together,
all
right,
so
then
yeah
then
I,
I
kind
of
want
to
just
acknowledge
something
as
well
Nick
that
you're
saying
there
is
that
you
know.
First,
it
is
kind
of
annoying
or
impractical.
You
know
where
a
if
a
maintainer
has
approved
it,
but
it's
still
can't
be
merged
because
it
needs
somebody
from
the
reviewers
group.
A
That's
just
kind
of
a
bit
of
an
impracticality
that
that
should
be
adjusted
or
or
looked
at,
but
the
greater
scenario
here
of
of
like
what
does
the
reviewers
group
mean?
What
are
the
expectations
for
it?
Does
you
know
what
are
the?
What
like?
A
Maybe
there's
like
a
cultural
thing
here
as
well,
because
you
know
I'll
be
the
first
to
admit
myself
and
take
some
accountability
that,
if
I
get
as
part
of
the
reviewers
group,
if
I
get
assigned
to
PR
I,
don't
always
go
and
look
at
it
and
I
don't
follow
through
with
it.
So
I,
don't
you
know
adults
take
that
as
an
ownership
of
it
and
and
do
it
in
the
pr.
So
there
could
be
some
cultural
things
to
adjust
as
well
of
okay.
A
If
you,
if
you're
having
a
PR
assigned
to
you,
then
it
is
an
expectation
that
you're
supposed
to
follow
up
on
it
in
a
certain
amount
of
time
or
something
like
that,
because
it's
kind
of
just
like
yeah
people
get
assigned
to
it.
But
then
what
is
the
follow-up
exactly?
What
are
the
expectations
is
not
super
clear
and
that's
kind
of
something.
That's
not
working
well,.
E
Yeah
I
just
wanted
to
say
I
agree.
Sometimes
we
had
some
cups,
but
it's
also
some
sometimes
depending
on
who's.
The
author,
it's
okay!
If
there
is
just
if
an
author
is
from
very
viewers
group
and
there
is
an
approval
from
a
maintainer,
it's
fine,
but
if
it's
not
a
verse,
it's
not!
So
there
are
a
few
inconsistencies.
E
H
Yeah
from
my
side
also
like
it
makes
sense
to
go
over
this
again,
like
I
understand
like
if
a
maintainer
approves
a
PR,
especially
if
it's
not
something
you
know
longer
very
complicated.
It
makes
sense
that
they
would
have
the
possibility
to
just
merge
without
waiting
for
Crossman,
reviewers
and
I.
Don't
know
if
this
is
possible
technically
for
GitHub,
but
yeah.
It
makes
sense.
D
Does
not
actually
need
to
approve
it
for
it
to
be
merged,
as
in
their
approval
does
not
block
it
being
merged.
We
also
have
set
up
subject
matter
experts,
so,
for
instance,
Hassan
gets
copied
on
anything
that
affects
the
package
manager
code
AS
somewhat
of
a
the
idea
there
being
that
Hassan
would
be
maybe,
like
final
approved,
signed
off
on
that.
D
So
I
want
to
balance
keeping
subject
matter:
experts
in
the
loop
giving
reviewers
a
chance
to
review
things
not
requiring
maintainers,
and
especially
a
subset
of
kind
of
motivated
maintainers
to
to
be
the
people
actually
kind
of
reviewing
and
moving
all
the
especially
when
they're
sort
of
little
drive
by
PRS
that
aren't
blocking
our
day-to-day
work
that
are
easy
for
them
to
sort
of
sit
there.
So
there's
a
there's
a
lot
of
stuff
to
sort
of
balance
here.
Basically,
that's
kind
of
hard
to
get
right.
D
I
I
will
say:
I
don't
have
a
strong
feeling
that
automatic
assignment
and
pull
requests
has
really
worked
very
well
for
us
as
a
way
to
get
people
to
review
them
and
pay
attention
to
them.
So
yeah
yep.
A
D
A
That's
a
good
point
as
well:
Nick
all
right
Hassan,
let's
go
ahead
and
hand
over
to
you,
so
you
can
walk
us
through
the
work
you've
been
doing
for
deletion
ordering
recently,
so
I'll
stop
sharing
my
screen
Hassan.
If
you
want
to
drive
and
and
show
off
everything
on
your
screen.
G
B
Okay,
so
basically
the
idea
is,
you
know
there
is
a.
There
is
an
Infamous
problem
with
like
if
there
are
multiple
managed
resources,
when
there
is
a
dependency
between
each
of
them,
when
the
composite
resource
is
deleted,
we
may
end
up
with
some
orphaned,
Mr
or
managed
resources.
A
typical
example
of
this
is
like
imagine,
a
composition
which
composes
a
a
kubernetes
cluster
and
composes,
a
provider
config
for
provider,
kubernetes
or
provider
help
and
then
a
release
or
a
kubernetes
object
which
uses
this
cluster.
B
So
what
we
see
in
this
case
is
like
when
we
create
the
composite
resource,
all
of
them
created
successfully.
We
get
a
like
up
and
running
a
claim
and
composite,
but
when
we
delete
them,
we
usually
end
up
with
some
orphans
release
or
object
resources,
because
the
cluster
where
they
were
installed
is
deleted
or,
like
Secrets,
disappeared
before
the
release
successfully
uninstalled.
B
So
we
had
a
design
for
this
and,
like
primarily,
the
design,
is
proposing
a
new
API,
a
generic
usage
resource
which
would
allow
defining
usage
relationship
between
compost,
resources,
basically,
which
could
be
either
managed
resources
or
composite
resources.
And
when
this
usage
relationship
is
defined,
we
will
check
the
you
know:
deletion
of
those
resources
that
is
in
use
with
the
help
of
a
admission
level.
B
So
if,
if
there
are,
for
example,
if
there
is
a
delete
request
like
sent
for
this
cluster
in
this
case-
and
there
is
this
usage
resource
defined,
the
deletion
web
hook
will
prevent
the
deletion
of
this
cluster
resource
until
this
usage
disappears.
So
this
is
the
the
like
high
level
idea,
the
in
the
design.
There
are
like
some
Alternatives
discussed
and
some
comparison
in
terms
of
like.
Basically,
we
discussed
two
different
approaches.
B
One
is
the
one
that
we
choose,
which
is
the
web-based
which
is
rejecting
delete,
requests
and
resources
in
use,
and
the
other
one
was
the
like
whether
we
should
delay
the
resource
without
any
rejection
or
not
like
for
anyone
interested
like
they
can
check
like
the
the
comparison
chart
here
and
why
we
ended
up
with
this
web-based
solution,
which
is
also
in
line
with
the
kubernetes
lens
proposal,
which
proposes
a
similar
like
it
is
still
a
cap
not
not
merged,
yet
that
it's
still
open,
but
it
also
like
it's
also
going
in
a
similar
Direction,
but
a
a
resource
that
is
in
use
will
be
rejected
with
the
admission
network
with
with
a
conflict
error.
B
So
this
is
like
the
the
high
level
overview
of
the
design,
and
there
is
this
implementation,
PR,
open
and
waiting
for
reviews.
I
think
it
is
for
three
weeks
now.
It
is
waiting
for
reviews
and
we
have
the
documentation
PR
as
well
and
I
will
I
will
just
show
how
it
looks
like
from
its
preview.
So
we
have
this
new
usages
section
in
the
documentation
and
it's
it
will
be
an
alpha
feature
which
could
be
enabled
by
enable
usages
plaque.
B
Just
like
any
other
Alpha
features
we
have
and
then
like.
We
have
a
section
for
how
a
usage
can
be
created,
so
the
one
that
is
primarily
targeted
by
the
by
the
design
is
like
the
usage
for
deletion
ordering
case,
but
a
nice
side
effect
is
like.
We
can
also
Define
usages
today
with
the
with
the
implementation
for
deletion
protection.
B
For
example,
if
you
have
a
like
critical
production
database,
and
then
you
can
just
Define
a
usage
of
a
database
instance,
and
you
can
provide
a
reason
like
why
this
should
this
resource
should
not
be
deleted,
and
once
you
define
this
usage,
any
any
deletion
request
will
be
rejected
to
to
this
database
manage
resource.
A
B
Yeah,
that's
true,
like
basically
the
reason
and
by
fields
are
mutually
exclusive.
Like
you,
you
should.
You
would
need
to
Define
one
of
them.
Otherwise
it
will
reject
the
creation.
But
yes,
that's
true
by
his
optional
and
yeah.
A
B
A
H
B
And
for
the
deletion
ordering
case
like,
as
I
said,
the
typical
example
is
like
a
release
resource
using
a
cluster
resource.
In
this
case,
we
will
Define
a
usage
of
clusters
by
by
release
and
we
need
to
like
Define
like
resource
references.
B
The
other
important
feature
is
like
it's
always
not
possible
to
give
the
names
of
the
resources,
especially
when
they
are
created
as
part
of
a
composition.
In
this
case
you
can
Define
or
or
like
you
can,
Define
resource
selectors
and
the
the
usage
controller
will
will
resolve
those
selectors
similar
to
how
our
cross
resource
references
work.
Today,.
B
So
the
last
section
talks
about
how
a
usage
can
be
used
in
a
composition,
and
it
shows
a
like
a
a
simple
example
of
like
a
composition
which
composes
a
cluster
a
release
and
then
a
usage
resource
which
is
for
release
using
cluster.
So,
as
you
can
see,
we
can
use
match
controller
ref
instead
of
directly
giving
the
name
of
the
releases
or
or
cluster
resources
and
the
the
usage
controller
will
resolve
the
correct
cluster
or
release.
B
If
there
are
multiple
releases,
for
example,
then
we
can
combine
this
match
controller
ref
with
match
labels
and
give
some
unique
labels
for
different
releases
and
Define
multiple
usages
in
this
case
yeah.
So
that's
pretty
much
the
overview
of
the
documentation,
which
is
still
an
open,
KR
and
now
I
will
continue
with
a
quick
demo.
B
So,
basically
in
the
pr
there
is
a
like
there.
Is
this
like
component
for
running
a
previews
or
Custom
Image,
which
has
the
support
for
the
feature,
and
has
this
like
enabled
user
just
select
past
and
for
demo?
I
will
use
the
Manifest
that
I
have
implemented
for
end-to-end
testing
in
the
pr?
So
basically
there
are.
B
B
So
the
reason
there
is
a
usage
and
there
is
a
used
resource
and
let
me
show
what
those
have
the
used
resource
is
a
knob
resource
which,
which
is
a
like
a
resource
of
Provider
knob,
which
does
nothing
just
for
testing
purposes,
and
that
is
this
usage
which
prevalence
the
deletion
of
the
of
that
novel
presource,
so
I
will
create
all
of
them.
B
And
you
see
that,
like
CTL
get
usage
becomes
usage
becomes
true
and
in
the
details
you
see
the
reason
that
we
provided
in
the
API
and
now,
if
I
want
to
delete
the
used
resource.
I
am
getting
an
errors
from
the
admission
web
hook,
which
says
that
this
resource
in
use
by
one
usage
is
it
could
be
in
use
by
one
multiple.
We
give
one
of
them
the
name
of
the
one
of
them
for
like
debugging
purposes,
and
then
the
prison
is
printed
like
this.
It
resources
protected.
B
The
second
example
is
which
reason,
and
here
I
have
a
using
resource,
a
used
resource
and
then
a
usage
which
defines
this
relationship
and
if
I
create
that
now
it
is
okay.
B
Okay,
now
I
create
it,
and
this
time
details
shows
a
formatted
string
which
says
like
which
resources
uses
which
resource
like
instead
of
the
reason
in
the
previous
case
and
now,
if
I
want
to
delete
the
use
resource,
I
will
get
a
similar
error,
but
this
time
it
says
the
usage.
B
This
resource
is
in
use
by
one
usage
and
change
the
name
of
the
usage
and
which
resource
is
using
that
and
now,
if
I
delete
the
using
resource
this
time,
I
will
I
will
be
doing
something
different.
Instead
of
deleting
the
usage,
I
am
deleting
the
using
resource,
and
once
the
using
resource
is
deleted
usage
it
immediately
disappears
because
in
this
case
there
is
no
meaning
for
having
a
usage
for
a
non-existing
resource
and
now
I
can
delete
the
fuel
stickers.
B
So
this
is
basically
like
a
a
quick
demo
of
how
usage
can
be
used
in
a
standalone
way,
but
the
more
important
one
is
having
it
used
in
a
composition.
So.
A
Before
you
move
on
to
the
more
complicated
one
quick
question
I
had
for
you
on
the
the
thing
the
example
you
just
showed
so
you
mentioned,
or
you
demonstrated,
that
the
usage
object
automatically
is
you
know,
garbage
collected
or
deleted
or
removed
in
some
way,
when
the
you
know
using
object,
is
is
gone
and
deleted.
A
So
does
that?
Does
that
imply
that
if
you
create,
you
know
before
you've
created
the
used
and
using
objects?
If
you
created
usage,
that's
pointing
to
you
know
things
that
don't
exist
yet
well,
it
cross-banges
automatically
delete
it
clean
up
that
usage
object,
because
it's
not
pointing
to
things
that
exist.
Yet
you
have
to
create
the
usage
object.
Last.
B
No
not
really
like
once
like.
We
are
using
all
the
reactions
for
this,
and
if
you
delete
the
usage
first,
then
it
couldn't
establish
the
usage
relationship
and
it
couldn't
establish
the
ownership
relationship.
It
will
just
wait
and
error
out.
They
think
that
the
usage
relationship
couldn't
be
defined
because
that
resource
does
not
exist
once
the
usage
relationship
is
established,
which
is
also
doing
the
owner
reference
part,
then
that
like
deletion
of
using
resource
will,
will
trigger
the
deletion
of
usage.
A
It
oh
okay
and
then
is
that
what
ready
true
means
here
for
usage
objects?
Is
it
like?
Yes,
my
buy
and
my
you
know
of
or
whatever
those
I
found
them?
This
is
valid,
like
everything
is
tracked,
like
that's
ready,
true
here.
I
Have
a
quick
question:
do
we
have
a
way
of
back
propagating
to
a
Mars
to
Standalone
Mars,
whether
they
have
usages
or
I'm?
Thinking
of
a
scenario
where
I
have
a
file
with
you
know,
five
Mrs
without
the
composition
and
I
want
to
find
from
the
Mrs
whether
they
have
usages
that
are
blocking
them.
B
Yeah,
if,
if
there
are
direct
usages
I
think
you
can
definitely
prepare
some
like
commands
or
like
if
you
are
using
API
from
some
code
to
check
that.
But
if,
if
like,
the
relationship
is
defined
by
a
composition
or
a
composite
like
as
usage,
is
defined
to
a
composite
which
composes
those
Mrs,
then
I
think
this
shouldn't.
Be
that
straightforward,
so
yeah
I'm
not
sure
like
if
I
get
the
use
case
exactly.
But
this
is
probably
too
like.
I
Yeah,
so
so,
with
compositions
you
write.
That
would
be.
That
would
be
easier,
but
I'm
thinking
you
know,
I
have
just
just
a
Mars
I
deployed
some
Mars
without
composition
and
then
I
want
to.
You
know,
find
from
the
MR
whether
certain
Mr
is,
you
know
protected
by
existing
usage.
So
I
was
thinking.
Maybe
you
know
we
have
some
owner
references
or
annotations
on
the
Mr
itself.
That
would
be.
That
would
help
me
identify
the
usage
yeah.
B
I
B
Yeah
yeah
like
currently
we
like
to
you,
know
we
we
need
to
prevent
or
interrupt
the
delete
requests
and
we
use
a
admission
weapon
for
this
and
we
are
not
preventing
all
the
lead
requests
on
all
resources.
We
use
a
a
specific
label
which
is
cross
plain,
IO
dot
like
slash
in
use
through.
So
you
can
check
that
label
and
see
if,
if
that
resource
could
be
in
use
or
not,.
B
Yeah
Okay,
so
now,
let's
continue
with
the
composition
example.
B
So
in
this
case,
this
one
I
have
this
composition
and
this
time
I
like
labeled,
the
like.
Basically,
this
composition,
composes,
two
resources
I'm
still
using
the
north
resource,
but
labeling
the
resource
as
cluster
or
release
to
be
able
to
you,
know,
mimic
the
behaviors
or
or
better
represent
the
behavior
and
like
this
is
representing
the
cluster
resource.
This
is
representing
the
release
resource
and
then
there
is
this
usage
which
is
defined
on
you
know,
release
using
cluster.
B
So
there
is
one
thing
here
that
was
mentioning
like,
since
the
problem
is
the
the
delete
like
deletion
of
release
is
taking
time
and
cluster
is
disappearing.
In
the
meantime,
we
I
have
like
mimic
that
behavior
using
a
finalizer
which
is
like
a
custom,
one
I,
just
added,
which
is
delaying
the
deletion
of
using
resource
or
you
can
read
it
as
deletion
of
release.
So
let
me
quickly
show
how
it
looks
like
in
action.
B
B
Same
and
when
I
created
the
claim
you
see,
the
the
two
resources
are
composed
this
time
and
this
one
is
representing
the
release
and
this
one
is
representing
the
cluster
and
then
there
is
this
resource,
which
is
you
know
this
one
is
release
so
release
using
clusters.
So
now
I
will
delete
the
claim
without
the
usages.
What
happens
is
like
immediately
after
we
delete
the
claim
the
resources
disappears
and
since
the
release
is
not
being
uninstalled,
it
hangs
and
like
orphaned.
B
So
now,
when
I
deleted
this
everything
stays
here
still
and
behind
the
scenes,
the
garbage
collector
is
getting
errors
because
it
cannot
delete
the
cluster
resource
and
release
resource
is
not
being
garbage
collected
because
it
has
a
finalizer
still
so
now
I
will
you
know
imagine
that
release
is
successfully
uninstalled
and
provider.
Help
is
removing
that
finalizer
from
the
release
resource.
B
So
this
is,
you
know,
at
a
high
level,
how
it
looks
like
I
was
thinking
to
make
this
demo
using
an
actual
release,
an
actual
cluster,
but
the
problem
is
like:
it
takes
too
much
time
to
get
the
cluster
and
it's
it's
not
that
easy
to.
You
know
follow
in
this
case.
So
this
is
how
I
wanted
to
represent
the
same
behavior
here.
A
Amazing
Hassan
this
is
this-
is
really
cool
to
see
this
and
kind
of
see
like
the
the
tangible,
practical
examples
of
it
and
kind
of
you
know,
show
how
this
feature
comes
together
and
I,
really
like
also
in
your
PR.
If
the
you
know
how
to
test
providing
like
a
test
image-
and
you
know
these
example
manifested
into
end
testing
and
stuff
like
that,
so
it
looks
like
this
is
fairly
comprehensive
and
really
quite
cool
to
see
Amanda
very
good
work,
dude.
E
A
You
any
questions
from
the
group.
We've
got
a
lot
of
questions
as
we
were
going
along,
but
any
final
questions
here
for
Hassan's
work.
F
A
question
per
se,
but
maybe
just
put
something
on
the
radar,
so
my
team
definitely
struggles
with
deletion
order,
but
we're
dealing
with
something
someone's
helping
us
I've
been
creating
this
situation
for
us,
and
that
is
that
we
use
Sap's
Gardener
for
provisioning
all
clusters,
including
Transit
ones,
that
are
used
for
integration
testing
and
what
our
problem
is
that
when
Gardener
is
deleting
a
cluster
it
goes
in
and
it
says:
okay,
well
all
resources
in
the
API
server.
F
You
know:
custom
resources
are
not
what
I'm
going
to
go
through
and
try
to
Nuke
those,
but
the
order
is
random-ish,
and
this
is
a
obviously
a
big
pain.
Because
then
you
have
like
you
know,
web
Hooks
and
controllers
that
are
needed
for
proper
cleanup
getting
nuked
before
they
have
a
chance
to
process
the
other
resources
that
you
need.
So,
for
example,
cross
plane
gets
deleted.
F
The
cross-plane
deployment
gets
deleted,
but
then
you
have
you
know:
Mr
is
still
out
there
that
you
know
so.
We've
had
to
put
in
stuff
to
try
to
make
sure
that
we
haven't
ordered
orderly
delete
of
everything.
First
now
this
was
proposed
here
will
absolutely
help
us
in
whatever
things
we've
hooked
in
my
team's
hooked
in
to
make
sure
the
orderly
release
happening.
F
This
is
absolutely
going
to
help
us,
but
that
we're
still
gonna
have
to
do
something
and
not
let
Gardner
get
its
hooks
on,
and
you
know
and
start
just
deleting
things
again
kind
of
in
a
random
order.
So
I
don't
know
how
widespread
you
know.
This
scenario
is
where
you
know
someone's
running
something:
that's
just
hey:
here's
a
cluster
I'm
planning
on
getting
rid
of
the
cluster
I'm
kind
of
blindly
going
through
and
just
nuking
everything.
F
That's
that
I
see
in
the
API
server
and
then
nuking
the
cluster
I,
don't
know
how
widespread
that
is.
But
it's
definitely
something
we
see
within
the
context
of
the
sap
and
I.
Don't
want
to
say
that
anyone,
because
that's
just
a
mess
so
I,
don't
want
to
say
that
you
know
like
hey
Hassan's
thing
should
be.
You
know
consider
that
as
something
that
it
needs
to
be
really
addressed,
but
maybe
you
know
just
a
pointer
to
folks
like
hey.
This
is
a
case
we're
explicitly
not
covering
it.
F
You
know
because
we're
this
relies
on
web
hooks
Etc
and
that's
totally
fine,
but
we're
not
handling
this
case.
So
don't
even
think
that
it
does.
J
Yeah
I
mean
I
think
this
case
is
specific
to
cross-plane
composite
deployed
resources
right.
So,
if
there's
you
know,
if
there's
something
else
out
there
other
than
cross
plane,
that's
going
to
be
creating
or
deleting
things
the
usage
objects
might
get
in
the
way
and
prevent
the
deletion
of
the
things
until
the
other
things
are
done,
but
yeah
I
mean
you
know,
other
things,
other
other
outside
forces
would
not
be
considered.
F
Yeah
they're,
the
only
way
you
could.
Potentially
you
know
if
you're
doing
something
with
just
owner
arrests,
but
you
somehow
you'd
have
to
like
tie
in
the
services
and
deployments
as
well,
which
then
it
becomes
untenable
right.
You
can't
build
that
object
graph
reasonably
so
you
yeah
you.
F
J
Here
yeah
I
mean
I,
don't
know
anything
about
gardener,
so
I,
you
know
I'm
totally
ignorant,
but
you
know
the
cross
plane
is
kind
of
approaching
it
from
the
claim
perspective
right.
So
you
have
a
single
claim
single
composite
and
that
generates
the
tree
for
you
and
if
you
delete
the
claim,
you
know
delete
the
top
composite
the
with
the
help
of
the
usage
object.
The
deletion
process
will
proceed.
Order
in
an
orderly
fashion
might
take
a
little
while,
but
it
will
be
an
orderly
fashion
and
we'll
delete.
J
F
Well,
hey
so
maybe
a
quick
question
to
you
Hassan,
so,
for
if
I'm
creating
usage
objects,
the
targets
they
can,
they
be
arbitrary,
like
the
types
am
I
limited
to
pointing
to
manage
resources
or
can
I
really
point
to
anything,
that's
in
the
cluster.
B
Yeah
currently
like
it
is
designed
and
implemented
to
to
support,
managed
resources
and
composite
resources
which
are
basically
composed
resources.
So
I
don't
like
if
you
like,
there
is
definitely
no
namespace,
so
namespace
namespace
resources
won't
be
supported.
B
I
already
know
that,
but
for
cluster
scoped
resources,
I
think
it
may
work,
but
while
you're
talking
about
like,
if,
if
Gardener
clusters
has
some
like,
like
custom
resources
to
to
be
created,
for
example,
you
create
a
CR
and
you
get
your
cast
Gardener
cluster,
which
I
kind
of
remember
from
my
sap
Days
by
the
way.
In
this
case
it
could
be
wrapped
with
a
provided,
kubernetes
object
and
a
usage
relationship.
It
could
be
defined
on
top
of
the
like
provider.
B
A
Awesome
yeah
thanks
for
sharing
that
use
case
Dan,
so
we
are
exactly
right
at
time
here,
so
we'll
go
ahead
and
wrap
it
up
for
the
day
there
were
no
other
items
on
the
agenda,
but
yeah
great
to
see
everybody
today,
thanks
for
all
the
good
discussion
and
thanks
Hassan
for
showing
off
this
cool
feature,
work
too.