►
From YouTube: Octant Community Meeting - November 11th, 2020
Description
Octant community meeting is held weekly. We discuss and talk about the current state and future of Octant, demo upcoming features and releases, and preview new ideas we are considering for Octant.
Meeting agenda: https://hackmd.io/CzaPxtmXT_SW8nEpdwvGzw?view
A
All
right
I'll
get
us
started
so
welcome
everybody
to
the
november
11th
2020
octant
community
meeting.
Today
we
are
going
to
be
discussing
the
o16
ii
update.
It's
an
electron
update,
we'll
have
a
demo
of
the
drop
down
component
and
then
for
the
q
a
today,
there's
quite
a
bit
of
stuff
that
I've
added
around
our
back
and
access
control
and
like
what
what
octant
should
do
and
look
like
and
feel
like
when
operating
in
restricted
are
back
environments.
A
So
with
that,
I
will
start
with
the
o16
to
update,
so
we
created
a
branch
in
the
upstream
that
is
o162,
and
we
started
to
cherry
pick
over
some
of
the
issues
that
we
highlighted
last
week
that
were
part
of
the
os
16.2
milestone.
A
A
This
should
take
us
there.
We
go
okay,
so
those
ones
that
are
in
the
open
right
there.
They
won't
be
making
it
into
this
release,
but
what
what
we
did
get
in
was
the
log
sanitization
xml
tags
being
removed.
We
also
got
the
well
that
one
that
one
there
is
that
1335
ignore
that
one.
That's
not
actually
part
of
of
this.
That
was
for
the
new
navigation
stuff.
We
were
working
on
getting
the
forms
update
that
sam
worked
on
trey
picked
over.
A
I
think
I
think
it
sounded
like
there
was
maybe
some
conflicts
due
to
some
commit
creep
in
the
emerge,
but
we're
getting
those
addressed
and
milan
brought
over
the
updated
ingress
host
being
a
link.
I
was
also
able
to
get
the
work
from
scott
andrews
to
fix
our
npm.
It's
a
recurring
problem.
A
So
the
action
item
for
that
is
we're
actually
going
to
add
a
a
github
action
to
check
if
this
build
artifactory
text
exists
anywhere
in
the
project
and
if
it
does
just
it
fails
the
check
because
it
shouldn't
exist
anywhere
and
then
we've
got
the
websocket
error
causing
a
crash.
That's
going
to
be
in
there
the
alb
ingress,
with
a
bad
link
that'll
be
in
there
and
the
application
page
failing
to
render
if
there
is
no
metrics
endpoint.
A
This
was
something
that
scott
opened
up:
scott
andrews.
He
opened
this
up
when,
if
you
have
a
custom
metric
server
configured
and
it
is
not
available
instead
of
just
kind
of
like
failing
and
rendering
out
the
application
grid,
it
will
just
spam
errors
and
not
render
anything.
So
the
main
thing
here
is
the
the
1508.
A
I
think
that
was
one
that
scott
andrews
was
specifically
wanting
for
the
k
native
plug-in
for
doing
some
creates
on
the
form
there
and
that'll
be
in
this.
So
the
stuff
that
didn't
make
it
at
least
into
o162,
doesn't
mean
we
won't
do
a
16-3
depending
on
how
long
0.17
takes.
But
these
things
are
currently
being
worked
on,
which
is
creating
some
form
of
initialization
state
for
plugins,
so
that
they
can
fetch
the
current
namespace
and
the
set
of
labels
and
filters
that
are
being
applied
right
now.
A
This
is
less
of
a
problem
on
the
go
plugin
side
right,
because
those
are
those
are
loaded
at
runtime
and
to
to
load
a
new
version
of
it.
You
have
to
restart
octane,
so
it
gets
kind
of
all
that
initial
state,
but
for
the
javascript
plugins,
which
can
be
reloaded
dynamically
when
they
reload,
they
didn't
receive
the
initial
name,
space
events
and
all
of
the
like
events
that
get
fired
off
when
auction
first
starts
so
on
that
reload.
So
it's
it's
basically
making
sure
that
during
that
reload
cycle,
they
can
rece.
A
They
receive
all
of
the
events
that
they
normally
receive
during
the
startup
cycle
and
then
also
expanding
that
a
little
bit
so
that
they
can
just
go
fetch
them
from
the
dashboard
client
kind
of
any
time
they
might
want
to
make
sure
they're
operating
with
those
latest
assumptions
like
do.
A
I
have
the
latest
set
of
labels
and
filters,
and
am
I,
on
the
latest
namespace
using
the
like
all
of
the
the
current
state
that
can
be
managed
by
the
user,
just
making
sure
that
you're
up
to
date
there
so
that's
kind
of
where
we're
sitting
with
o16
2
is,
as
those
fixes
will
be
coming,
we'll
be
cutting
a
release
for
that
today.
We'll
get
this
last
bit
of
things.
Cherry
picked
over
we'll.
Do
some
testing
make
sure
everything's
is
working,
building
compiling
right,
make
sure
our
across
all
of
our
platforms.
A
One
of
the
things
that
I
think
got
us
last
time
was
not
last
time
time
before
what
there
was
one
time
where
there
was
everything
looked
right
and
then
we
released
the
binaries
and
they
just
on
every
plat
yeah
yeah
yeah,
two
sam's
two
releases
ago.
It
was
so
yeah
avoid
that
so
that
is
it
4016.2.
A
B
Yeah
this
looks
right.
I
think
one
of
the
biggest
issues
right
now
with
cherry
picking-
is
that
it's
completely
my
fault,
but
I
bundled
in
a
lot
of
the
new
scroll
bar
changes
with
the
karma
test
fixes
and
that
is
starting
to
become
a
pain.
So
I
think,
we'll
probably
have
to
make
a
pr
directly
into
the
16-2
branch.
I
think
the
best
the
cleanest
way
to
do.
This
is
just
to
cherry
pick,
the
things
that
you
need
and
then
we
would
just
have
one
fix
for
the
karma
tests.
A
All
right
moving
on
from
that,
let's
make
sure
I
didn't
miss
any
questions.
Oh
just
say
hello,
pablo
who's
watching
from
argentina
thanks
for
joining
us
electron
update.
So
this
one
is
oh
yeah,
this
one's
it's
going
sam
and
I
have
made
some
good
progress
on
this.
The
the
last
thing
we
were
doing
was
getting
like
that
basic
electron
builder
working
and
then
starting
to
bring
pieces
of
octane
into
it.
So
we,
the
first
one,
is
done.
We've
got
a
good
electron
builder,
working
at
least
under
linux.
A
I
haven't
tested
it
personally
on
any
other
platforms
yet,
but
it
creates
a
app
image
under
linux
and
that
thing
executes
and,
and
it
starts
up
what
would
be
the
octan
server
and
then
it
also
loads
in
what
would
be
the
octan
front
end
as
a
render
like
a
local
like
load
file,
local
renderer.
So
it's
it's
moving
away
from
that
model.
Where
there's
like
a
web
server
embedded,
it's
just
now,
there's
just
the
octan
server
and
then
you
have
electron
doing
native
rendering
of
our
single
page.
A
You
know
angular
app,
so
the
demo
repo
that
sam
set
up
we've
got
that
we
got
that
process
working
in
there
and
I
have
slowly
been
kind
of
pecking
away
at
like
okay.
What
is
moving
these
things
in
what
is
what
is
either
taking?
A
What
we
learned
from
this
this
setting
up
this
repo
and
bringing
that
over
into
octant
currently
and
changing
the
way
we
build
it
there,
or
vice
versa,
like
figuring
out
which,
what's
the
easy
path
to
to
get
these
pieces
building
and
serving
up
octane
right
now,
I'm
I'm
leaning
towards
taking
what
we've
created
in
this
angular
demo,
repo
and
just
kind
of
taking
that
build
file
and
the
and
the
electron
builder,
the
json
and
the
package
jsons,
and
and
like
moving
them
into
octane
and
just
pecking
away
at
the
errors
that
kind
of
surface
as
we
try
to
use
it
as
the
builder.
A
The
way
we
currently
build
electron
in
octane
now
is
there's
like
a
whole.
Separate
ascii
electron
go
wrapper
around
the
whole
thing
and
it
builds
it
as
this
go
binary
that
then
embeds
all
of
the
electron
into
it,
and
then
it's
essentially
like
building
a
launcher
around
electron,
but
with
embedded
go-
and
this
is
more
using.
This
is
just
building
a
native
electron
asset
that
embeds
an
octant
binary
into
its
app
asar
acer
ace.
A
I
think
that's
right,
asar,
the
there's
like
a
a
bundle
that
contains
all
of
the
it's
like
a
file.
It's
like
a
file
system,
a
portable
file
system
that
contains
all
of
the
all
the
contents
of
the
angular
application
or
electron
application,
and
so
we
package
the
octet
binary
that
runs
the
server
into
that,
and
then
we
use
a
child
process
to
spawn
it
during
the
startup
phase
of
octan
and
then
electron
then
renders
the
the
view
the
angular
content.
So
that's
that's
where
that's
at
anything
to
add
there.
B
I
added
a
link
in
the
zoom
chat.
Maybe
I
should
do
it
in
the
agenda
as
well
just
a
link
to
the
angular
demo,
repo.
That
is
that
would
that
we've
been
working
on
and
it
just
takes
the
angular.
B
The
auto
generated
example
angular
application,
and
we
just
shove
that
into
electron
and
have
a
talking
to
a
go
process
so
that
proof
of
concept
is
really
what
we're
using
to
base
off
of
a
lot
of
the
work
we're
doing
here.
So
if
there's
any
general
public
interest
in
what
we're
doing
or
just
people
want
to
chime
in
as
to
see
if
they
have
a
different
opinion
on
how
it
should
be
done,
the
repos
there
and
yeah.
A
Yeah,
I
think
that's
a
great
call
out
there
and
no
one
on
this
team
right
now
is
as
an
electron
expert
we're
spinning
up
as
as
we
can.
So
if
you
have
expertise
in
this
area
and
you
want
to
get
involved
or
contribute
or
yeah
and
really
anything,
please,
please
yeah,
please
reach
out
and
and
do
that.
That
would
be
great.
A
I
don't
know
that
we've
done
a
good
job
of
curating
issues
around
this
to
say,
like
here's,
a
good
starting
point,
so
it
would
have
to
be
a
little
more
synchronous
to
get
involved,
but
you
can
reach
out
through
the
the
slack
channel
or
just
post
search
for
electron
in
the
issues,
and
I
think
we
have,
I
believe
it's
called
project.
Polychrome
is
the
epic
which
is
the
technically
the
the
code
name
for
electron,
because
code
names
are
fun.
That's
all
some
reason.
A
It's
another
form
of
a
mountain.
We
have
a
lot
of
mountain
code
names
embedded
in
this
source,
so
polychrome
is
another
one.
I
went
to
many
mountains
too
many
mountains,
lots
of
them.
What
was
I
doing?
I
was
doing
anyway.
I
don't
remember
so
since
I
don't
remember
what
I
was
about
to
do
I'll,
just
go
back
to
this
and
say
yes
electron,
it's
it's
coming
we're
working
on
it.
If
you
have
expertise,
please
help
milan.
Did
you
want
to
do?
I
believe
this
is
from
you.
The
demo.
C
A
D
You
see
my
screen
yep
all
right.
Yes,
so
we
added
a
new
component.
It
is
a
drop
down
component
and
it's
based
on
clarity
drop
down
component,
so
it
it
it's
exposing
pretty
much
all
clarity
prop
drop-down
component
properties,
not
all,
but
most
of
them
and
most
of
those
that
we
think
at
this
point
will
be
useful.
D
There
are
different
ways
you
can
invoke
the
drop
down
and
based
on
that,
like
I
kind
of
divided
the
docs
you
can,
you
can
have
a
button
that
will
invoke
the
drop
down
and
then
all
the
items
will
be
inside
and,
as
you
can
see
you
can,
you
can
have
a
headers
separators.
D
Just
the
plain
labels
or
links
inside
the
drop
down,
so
drop
down.
Items
can
have
different
types
as
well
as
the
source
of
the
drop
down,
which
in
this
case
is
a
button
that
can
also
be
a
label
if
it's
label
it
looks
a
little
different,
but
behaviors
is
exactly
the
same
and
also
you
can
have
a
link
at
the
very
top.
This
is.
D
This
is
a
little
tricky,
because
clicking
on
link
will
still
follow
that
link
and
only
clicking
on
the
on
the
drop
down
of
the
down
arrow
will
open
that
drop
down,
and
in
addition
to
that,
you
can
also
have
the
icon,
which
is
useful,
sometimes
and
fully
supported
by
clarity.
So
so,
in
that
sense,
those
are
the
different
ways
to
use
this
component.
Also,
one
thing
I
wanted
to
mention:
let
me
go
here
to
canvas
and.
D
Show
some
of
the
properties
you
can
see
how
you
specify
all
the
items
and
some
of
the
properties
are
they
can
be.
You
know,
change
directly.
I
can,
for
example,
instead
of
having
this
to
be.
D
Sorry,
for
that
just
updated
me
instead
of
button,
this
can
be
let's
say,
link
and
you
can
see
that
the
drop
down
changed
type
right
away
and
there's
a
this
additional
property
use
selection.
What
that
means
is
basically,
if,
as
I
change
the
items
here,
they
will,
the
source
text
will
change
to
that
very
item.
So,
for
example,
let's
go
to
let's
say:
label
and
yep.
This
is
a
little
slow
on
my
machine
today.
D
D
Also,
those
can
be
items
can
be
links
so
in
in
the
essence.
This
can
be
like
up
almost
like
you
know.
Standalone
applies
component
that
that's
useful
navigation
and
that's
exactly
how
we
plan
to
use
it,
for
example,
in
our
breadcrumbs.
D
So
the
second
stage
of
implementation,
which
I
just
started
working
on
yesterday,
will
actually
convert
those
breadcrumbs
into
drop
downs.
So
when
you
click
on
this,
it
will
show
all
the
available
items.
You
know
from
chrome
jobs,
all
the
way
to
stateful
sets
inside
the
drop
down
with
parts
being
selected
and
so
on.
So
so
that's
coming
up
going
back
to
drop
down.
So
this
is
now,
as
you
can
see,
it's
already
available
on
our
reference.
Dot,
optin
them
on
our
reference
site
and
it
is
a
part
of
nightly
builds.
D
A
Is
there
thank
you
that
was,
that
was
great.
The
question
I
have
is
on
the
items
themselves
is
the
the
title
that
can
like
in
this
in
this
case,
with
the
label
drop
down
that
that
title
item
that
controls
the
the
first
one
that
you
see
and
then
the
use
selection
being
true,
I
guess
what
I'm
wondering
is
like
in
the
case
where
they
have
this.
This
drop
down
is
linked
to
an
action
and
they're
going
to
say,
select
apple
and
so
then
you're
displaying
the
apples
they
would.
D
Right
so
component
selection
defines
the
the
current
selection
right.
I'm
sorry
component
title
defines
the
current
selection.
Okay,
so
initially
it's
it's
gonna
be
a
favorite
fruit,
but
you
know
you
can
you
can
set
it
basically
to
so.
In
this
case
I
have
let's
say
I
said
that
to
fig.
D
Expected
to
be
selected,
it's
not
I
I!
I
assume
that
selection
is
working
based
on
the
name,
so
yeah,
so
that
that
that
is
a
little
problematic.
That's
a
good
point.
D
I
have
to
find
a
way
to
make
that
working.
I'm
I'll
probably
run
into
that
when
I
implement
the
drop
downs
here,
so
that's
probably
gonna
happen
and
face
to
good
point.
A
Yeah
or
again,
I
guess
it
doesn't
necessarily
need
to
be
smart
about
it.
It
could
just
be
anything
needs
to
be
well
documented
that
like
how
to
use
this
component
right
like
what
the
expectations
are.
So
we
could
say
you
know
when
you
like.
A
The
title
is
the
current
selected
thing
and
then
the
items
are
the
options
that
you
can
select
and
then,
when
you
select
pair
and
it
triggers
your
action,
you
would
then
redraw
this
component
with
the
title
of
pear
and
then
apple
fig
and
the
other
one
would
be
in
your
items
right
so
like
right,
so
it
could
be
one
of
those
words
just
it's
up
to
you
as
the
author
to
to
remove
items
that
shouldn't
be
in
the
list
when
you,
when
the
context
has
changed,
because
the
the
whole
point
of
a
drop
down
is
that
it
is
a
context
changer
right.
D
A
A
D
Exactly
yes,
so
payload
will
contain
both
identification
for
this
drop
down,
because
you
know
you
can
have
multiple
drop
downs
on
the
same
page,
so
it
will
identify
uniquely
the
drop
down,
but
based
on
the
provided.
A
All
right,
let's
see
well
the
agenda
back
up
here
and
all
right
into
the
q
a
so
this
was
something
so
I
I
had
mentioned
last
week
that
I
was
working
on
a
has
access
check
that
kind
of
would
go
through
and
pull
all
of
the
access
for
a
for
your
user
and
and
just
like
this
was
part
of
replacing
our
existing
has
access,
so
the
the
the
way
we
do
has
access
has
access
checks.
Now
is
it's
embedded
down
in
the
actual
object
store?
A
So
it's
it's
it's
injected
into
the
object
story,
but
it
has
become
part
of
its
actual
list.
Get
and
watch
calls
which
is
not
great,
those
those
those
should
not
care
those
those
should
be
just
they
should
do
what
they're
supposed
to
do,
which
is
make
an
api
call
to
list
some
objects
and
return,
an
error.
If
there's
an
error,
the
the
class
of
that
error,
the
type
doesn't
matter
right.
This
thing
should
list
objects
and
return
errors,
and
that's
it
and
right
now
it
attempts
to
list
objects
potentially
backs
off
returns.
A
Empty
responses
also
returns
errors
because
it's,
it
was
really
the
implementation
that
I
initially
did
solved
the
the
problem,
but
it
wasn't
a
good
solution
like
as
a
whole,
it
just
it
it
kind
of
papered
over
a
hole
in
the
wall
instead
of
actually
fixing
the
hole
first,
so
revisiting
that
I
was
taking
this
approach
of
kind
of
using
subject
access
reviews
so
creating
a
subject.
A
Access
review
request
getting
back
that
response
from
the
server
and
then
using
that
to
then
inform
and
populate
and
access
cache
and
then
allowing
that
access
cache
to
sit
over
the
object
store.
So,
instead
of
being
inside
the
object
store,
the
access
cache
itself
has
a
set
of
methods
that
you
can
then
say.
Hey
do
I
have
access
to
perform
this
verb
against
this
resource
and
it's
not
making
an
api
call.
It's
not
doing
anything.
It's
an
in-memory
cache
that
has
has
been
informed
by
the
subject,
access
review
and
what
we
wanted.
A
So
as
a
sidebar
to
that,
I
started
looking
at
this
issue,
which
is
a
really
old
one
from
alex
brand
139,
which
was
a
desire
to
surface
all
of
the
our
back
permissions
equivalent
to
running
like
cube,
ctl
auth.
Can
I
and
there's
some
other
tools
out
there,
like
rbac
view
our
back
and
raxes
rakkus
rec
ruckus
that
do
this
type
of
work,
and
so
what
I
did
was
I
took
the
subject,
access
information
that
I
just
had
built
in
a
cache
and
was
like
okay.
A
A
So
the
so
I
was
like
well,
I
could
merge
these
two
data
sets
together
and
then
you
know
the
scope
on
the
right-hand
side
in
that
column
could
be
a
separated
list
of
like
you
have
access
to
this
in
the
cluster
comma,
the
namespace
or
whatever.
But
then
it
got
me
thinking.
What
is
the
benefit
of
like?
A
Why
do
you
want
to
see
the
r
back
for
your
currently
logged
in
account,
and
then
the
second
piece
is
like:
is
this
more
useful
as
a
tool
to
explore
our
back
of
other
accounts
like
if
there
was
a
drop
down
there
with
the
list
of
all
the
service
accounts,
and
you
selected
one,
and
then
we
created
a
subject
access
review
and
then
showed
you
everything
that
that
account
can
do.
A
That
generally
seems
like
more
useful
than
just
like.
What
can
I
currently
do
so
anyway,
because
because
this
this
table
right
like
this,
is
not
very
useful
right.
Just
like
here's,
here's
300,
here's,
the
310
resources,
cluster
scopes,
namespace
scoped
and
here's
all
of
your
permissions
to
them.
It's
like
even
with
filtering
it's
kind
of,
and
maybe
this
is
because
I'm
a
cluster
admin
in
this
case,
but
it
does
seem
like
it's.
A
C
I
think
that
having
it
on
the
for
other
users
would
be
much
more
useful,
because
at
least
from
my
experience,
I'm
using
actin
as
also
someone
who
usually
has
cluster
admin
on
the
cluster
being
able
to
debug.
Also
why
a
specific
user
doesn't
have
access
or
what
he
has
or
what
service
accounts
do
have.
Access
would
be
very
beneficial,
seeing
my
own
access
less
so,
but
my
user
could
also
be
in
the
drop
down
list
for
other
users
as
well.
C
So
attacking
the
being
able
to
select
a
user
would
suffice
for
both
use
cases.
I
think
of
both
seeing
your
own
and
seeing
what
another
service
account
or
user
would
have
access
to.
A
C
And
the
default
could
be
my
user
and
then
it
would
just
have
a
drop
down
of
the
other
users
that
you
could
select.
If
you
wanted
to
see
anyone
else,.
A
A
B
B
Why
not
and
so
going
from
the
other
end,
it
would
also
be
like
I
think
they
might
not
necessarily
see
the
drop
down,
but
it
would
be
helpful
to
show
even
like
on
a
lower
level
what
they
can
or
can't
do
like,
for
example,
like
a
given
action
right
like
if
they
like.
Let's
say
they
can't
delete
some
delete,
a
specific
resource
this.
This
could
potentially
give
a
give
a
little
bit
of
insight
to
like
why
a
particular
action
might
be.
A
Failing,
no,
that
makes
sense.
Okay,
I
think
that
that's
good
feedback,
the
yeah
targeting
is
like
that
kind
of
in
between
of
like
yeah.
It's
really
not
to
see
what
your
cluster
admin
account
can
do,
because
you
already
know
it
can
do
everything
it's
more
of
like
auditing
or
or
verifying
like
hey.
Why
can't
I
see
deployments?
Am
I
crazy
and
then
you
go
in
and
it's
like?
Oh,
I
don't
have
access
to
c
deployments
and
then
why
can't
my
service
account?
Do
this
thing?
D
Yeah,
I
I
also
wanted
to
amplify
that
that
this
this
should
this
is
pretty
important.
I
think,
especially
as
we
move
into
multi-user
and
cluster
usage,
and
things
like
that.
So
it
would
be
good
to
have
ability
to
see
this,
and
I
I
like
the
idea
to
have
a
drop
down
there
and
and
see
see
for
all
the
users
that
they
can
probably
be
useful
for
troubleshooting
some
permission
issues
and
things
like
that.
A
Cool
yeah,
so
if
there's
nothing
that
people
want
to
add
on
to
that,
I'm
going
to
move
on
to
the
next
one,
which
is
the
one
that
I
added
as
well.
This
one
is
so
I'm
I'm
working.
As
I
mentioned,
I'm
working
on
this
has
access.
Subject:
access
review,
refactoring
and
I'm
running
into
you,
this
kind
of
question
about
how
do
we
handle
resource
versions?
And
specifically,
what
I
mean
is,
for
example,
if
we're,
if
octant
is
doing
some
lookup,
we
have
a.
A
We
have
a
set
of
gbks
that
we've
defined
within
octant
and
we're
looking
up
resources
based
on
that
and
it's
like
v1
beta,
1
right
and
then
the
cluster
you're
on
is
a
newer
cluster
which
has
the
the
latest
version
of
that
resource
and
it's
been
upgraded
and
now
it's
v1
the
api,
the
the
kubernetes
api
will.
Will
you
know,
degrade
gracefully
when
you
make
that
call-
and
you
say
hey,
I
want
this
version
of
that
thing.
You'll
get
the
as
long
as
it's
within
that
window.
A
You'll
get
the
old
version
without
the
new
fields
that
the
the
new
version
contains.
You
know
it
knows
how
to
downgrade
the
problem.
Is
that
when
you
do
a
subject,
access
review-
and
you
say
hey-
give
me
all
the
stuff
that
the
cluster
that
I
have
access
to
in
the
cluster?
Well,
the
cluster
is
going
to
return
back.
Is
it's
going
to
say
you
have
access
to
resource
v1,
so
in
octant,
when
we
go
to
then
access
resource,
v1
beta1,
we
don't.
We
don't.
A
Actually
in
this
scenario,
where
we've
cached
the
result
of
the
of
the
subject,
access
review
right,
we've
used
that
to
inform
what
we
have
access
to
in
the
cluster.
The
gbr
for
the
the
for
the
resource
doesn't
match
up.
So
there
is
no
v1
beta
beta1
in
the
subject
access
review
list,
even
even
though
that's
what
octant
is
currently
pinned
to,
because
we're
using
the
that's.
That
was
the
version
when
we
added
that
resource
in,
and
so
I'm
really
curious
what?
A
If,
if
anyone
knows
of
of
better
ways
to
deal
with
this,
if
we
just
you
know,
check
or
if
we,
if
we
drop
version
off
initially
and
say
like
okay,
can
we
do?
We
have
access
to
the
group
and
the
resource,
and
then
we
do
some
type
of
of
I
don't
know
guessing
at
version,
but
that
seems
that
seems
like
not
what
we
want
to
do
at
all.
So
I
don't
know
this
one's
kind
of
gotten
me
hung
up
a
little
bit
because.
A
It's
like
something
that's
currently
up
like
in
octane
now,
as
as
the
the
one
is
like
our
mutating
web
hooks
right
like
if
you
I
think
right
now,
we're
pinned
to
v1
beta
1
so
that
the
listing
of
web
hooks
works
with
old
clusters,
but
also
new
clusters,
because
the
api
will
kind
of
do
that
for
us.
A
If
we
switch
that
to
v1,
then
old
clusters,
you
know
it
doesn't
list,
so
we
either
have
to
start
to
have
the
mult.
We
have
to
maintain
multiple
versions
of
everything
right
and
we
say:
here's
v1,
beta1
and
v
one,
and-
and
this
is
what
we
support-
or
we
just
say
we
we're
gonna
look.
Those
would
like
look
up
the
gvk's
from
the
from
the
cluster,
so
we're
always
using
the
the
server
version
instead
of
having
versions
hardcoded
into
octant.
A
Just
maintaining
that
that
list
of
multiple,
multiple
things
and
and
and
other
than
that,
there's
not
there's
really
not
a
downside
to
like
we.
We
obviously
our
renderers,
like
our
are
the
things
that
we
use
to
generate
the
I
guess
that
would
be
yeah
generators.
Are
our
generators
would
only
even
if
you
had
v1
installed
we're
only
going
to
generate
with
the
data
that
we
know
is
in
like
the
beta
version
right
and
and
that's
what
we
do
now.
A
B
I
don't
know
how
it
works,
but
at
least
specifically,
for
I
think,
is
it
mutating
my
books,
yeah.
B
B
The
other
way
I
can
think
of
is
if
we
look
at
something
like
gbk.go
currently
right
now,
like
all
of
the
all
of
the
gpks
are
kind
of
somewhat.
I
think
they're
just
hardcoded
into
just
a
huge
long
supported
list,
and
what
we
could
do
instead
is
make
turn
this
into
a
map,
and
we
can
just
hot
swap
things
as
they
go
granted.
I
think
this
is
only
for
the
overview
module,
but
I
think
that's,
strictly
speaking,
that's
what
we're
talking
about
here.
B
So
it
wouldn't
really
matter
for
other
modules,
so
that
and
yeah.
So
this
could
be
a
map,
and
then
we
could
just
have
our
internal
thing
of
saying
like
what's
important,
and
maybe
we
can,
like
even
add,
like
a
feature
like
talk,
make
some
of
these
toggle
away.
If
maybe
it
just
doesn't
work,
so
we
don't
have
to
keep
spamming
something
if
it's,
if
it
doesn't
work
like
you
know
like.
B
Let
me
try
to
think
of
like
a
better
way
to
spend,
like
maybe
like,
if
we
had
like
a
back
off
and
it
backs
up
for
a
really
long
time
after,
like
a
certain
amount
of
tries,
we
can
just
remove
it
from
this
list.
All
together.
We're.
E
B
A
Yeah,
that's
an
interesting
idea.
Yeah!
I
pulled
it
up
here.
This
is
the
file
you're
talking
about
sam
right,
the
gvk.co
yeah
and
you
can
see
like
yeah.
We've
got
like
the
mutating
webhook
configuration
is
the
one
that
I
just
ran
into
where
it's
like.
My
cluster
is
running
v1,
the
one
we
have
pinned
to
is
v1
beta1.
A
So
my
subject,
access
review
says
I
can't
access
b1
beta1
because
that's
not
even
installed
in
my
cluster
but
the
api
like
the
kubernetes
api.
When
I
make
a
request
and
say,
give
me
v1
beta1,
it
goes.
Oh
okay,
you
like
you,
can
make
that
request,
because
v1
implements
v1
beta1.
So
here's
your
here's,
your
response,
as
as
v1
beta1,
at
least
that's
my
understanding
of
what's
happening
so
yeah
making
it
a
map
seems
seems
like
that
would
potentially
work.
A
A
group
version
kinds
which
is
native
to
the
rest
of
the
code,
so
making
it
a
map
would
would
mean
we
would
have
to
do
some
extra
parsing
of
it
right
like.
A
A
Okay,
this
ties
into
another
question
around
the
same
refactoring
of
this
area
of
code,
the
previously
so
like,
if,
if
you're
calling
list
or
git
or
watch
and
that's
succeeding
and
then
all
of
a
sudden,
it
fails
with
unauthorized.
So
it's
not
a
it's,
not
some
transport
error.
It's
not!
It's
like
you
got
an
unauthorized
response
back
from
from
the
from
the
kubernetes
server.
So
your
your
credentials,
whatever
client
we're
using,
has
expired
and
is
no
longer
functioning.
A
Backing
off
and
retrying
is
like
generally
useless,
like
that's
what
we
do
now
and
most
of
the
time
there
is
some
user
intervention
that
is
needed
anyway
to
make
octant
recover
in
a
way
that
it
can
start
seeing
the
cluster.
This
is
usually
like
reloading
some
context
and
reloading
the
cube
config.
Something
like
that.
So
so
I
guess
what
I'm
wondering
is
like.
A
If,
if,
if
a
previously
succeeding
call
like
list,
get
watch
fails
with
unauthorized,
what
should
we
do?
Should
we
bail
out
to
the
config
loader
screen?
Should
we
you
know
put
in
a
mechanism
where
we
can
actually
stop
the
content,
streamer
and
put
a
error
alert
across
the
top,
and
you
know
say,
do
something
should
octant
stop?
I
should
like
these
are
just
not
necessarily
good
ideas,
they're,
just
ideas,
but
I
think
there's
there's
a
case
where
we
are
doing
work.
A
We
go
to
unauthorized
because
of
rotations
or
like
just
short-lived
cluster
clients,
and
now
we
need
to
do
something.
D
D
B
A
A
This
then
generates
the
type
of
error
that
we
catch
in
our
because
we
have
a
loop
that
is
watching
for
errors.
We
catch
that
access
error
and
we
say:
okay,
we've
got
an
access
error
from
the
api
where
we
weren't
getting
that
before.
Let's
go
ahead
and.
A
Stop
the
content,
streamer
put
a
alert
on
the
page
and
then
maybe
have
a
disconnected
state.
Modal
that
is
is
is
or
an
overlay
of
some
type,
maybe
not
a
modal,
but
some,
maybe
a
modal,
because
it's
actionable
and
say
octant
has
you
know
during
the
list
we
we
got
unauthorized
response.
Here's
the
error
that
we
got
from
the
api
server.
Do
you
want
to
you
know
retry
exit
or
reload
from
like
yeah?
Do
you
just
want
to
like
blanket
retry?
B
Yeah,
that
sounds
right.
I'd
probably
say
modal
might
be
a
little
heavy-handed
like
it
could
still
be
like
something
like
watch
unexpectedly
fails
for
whatever
reason,
while
the
user
is
looking
at
something
and
all
of
a
sudden,
things
are
gone
right,
but
core
mechanism
is
still
the
same,
like
I
think
the
nuance
here
is
that,
like
we
don't
want
to
block
the
user
from
seeing
whatever
they
are
currently
looking
at.
A
Okay,
so
that,
okay,
all
right
so,
okay,
saying
okay,
like
some
thinking
as
I
try
to
talk
these
words
out
in
the
header
we
have
like
a
you
know,
the
standard
like
you
are
connected
to
the
cluster
you're
not
connected
to
the
cluster
right
and
and
so
then
we
do
an
alert
that
says
like
hey
something
bad
happened.
A
You're
like
we
perceive
that
you
are
no
longer
connected
to
the
cluster
and
then
the
that
that
that
broken,
you
know
broken
connection
thing,
that's
no
longer
green,
it's
it's
red
and
it's
broken,
and
when
you
hover
it
says
not
connected
right.
You
click
that
and
then
inside.
That
is
a
either
that's
what
pops
a
modal
or
that's?
What
gives
you
the
options
to
retry,
reload
or
basically
retry
reload?
If
you
want
to
exit
you
just
exit.
D
I
mean
you
know
something
like
yet
connection
is
broken,
whatever
indication,
plus
on
the
side
of
the
refresh
icon.
A
D
Well,
we
can't
vote
if,
if
you
feel
that's
the
yeah,
that's
you
know
what
we
should
offer
it's
it's
kind
of
hard
to
to
to
explain
to
you.
So
what
what
exactly
those
mean?
I
feel
maybe
something
like
click
connect
and
reload.
F
I
just
wanted
to
say
I
know
it's
kind
of
hard
to
like
talk
out
how
the
visuals
might
look,
but
if
we,
if
we
can
actually
go
through
like
figamen
kind
of,
do
like
a
low
fidelity
prototype
and
talk
about
like
the
languaging
behind
that
and
like
how
we
might
want
like
the
buns
to
look
and
what
information
we
want
to
display
and
then
share
that
out.
A
Cool,
so
that's
what
we'll
do
with
that,
we'll
we'll
get
some
a
mock-up
that
shows
like
what
octan
in
a
disconnected
state
looks
like
how
we'll
prompt
a
user
to
deal
with
that
disconnected
state,
and
I
think
that'll
be
a
better
that'll
generally
be
a
better
experience
for
people
than
what
we
try
to
do
now.
A
Yeah
one
of
the
things
that
that
this
would
also
fix
is
the
there's
actually
an
open
issue
for
it's.
The
inconsistent
behavior
that
plug-in
authors
currently
experience
when
they're,
making
dashboard
client
calls
because
the
first
time
you
call
lists
you'll,
get
an
error
back,
saying
it's
unauthorized
and
then
the
second
time
you
call
list
list
will
be
in
the
back
off
state.
A
So
it'll
respond
to
you
with
an
empty
list
to
avoid
spamming
errors,
and
it's
like
so
that
so
then
you
get
you're
in
this
toggled
state
where
the
actual
api
isn't
consistent
and
it's
not
good.
It's
it's
real
bad,
so
we
want
to
get
that
fixed.
This
is
part
of
refactoring
this
all
to
get
that
fixed.
That
was
an
issue
that
was
raised
by
scott
andrews
when
he
was
working
on
the
k-native
plug-in
as
well.
Was
that
inconsistent
behavior?
A
So
he
was
trying
to
show
a
not-bound
page,
but
then
it
would
toggle
to
an
empty
table
page
because
we
were
giving
an
empty
list
and
an
error
to
basically
signal
the
back
off
state
like
yeah.
It's
not
good.