►
From YouTube: OCB: Index Image Build (IIB) Service for OpenShift
Description
Join us for an overview of the Index Image Build (IIB) Service, a REST API to manage operator index container images and some bundle images.
A
Hello,
everyone
welcome
to
another
openshift
commons
and
really
excited.
Today
we
have
brian
cook
and
luis
carvalho,
and
I
am
karina
angel.
I'm
an
openshift
product
manager
and
brian
is
as
well,
and
he
runs
the
red
hat
container
factory
program
he's
the
pm
for
that
so
and
luis
carvalho.
He
is
the
primary
or
one
of
the
primary
engineers,
and
he
can
correct
me
when
he
starts
talking
for
iiv,
so
brian,
please
take
it
away.
I
see
it's
not
index
image
builder.
C
B
B
Originally
iib
stood
for
index
image
builder,
but
then,
when
the
scope
expanded,
I
think
the
team
saw
an
opportunity
to
add
a
snazzy
recursive
acronym
to
it.
So
now
it
stands
for
index
image
or
now
it
just
stands
for
iib
image
builder,
so
they
get
to
mark
off
their
recursive
acronym
merit
badge
for
themselves.
B
So
iib
is
a
python
3
based
api
running
python
flask.
We.
C
B
It
internally
for
for
actually
two
pipelines,
one
for
building
our
own
operators
and
also
we
use
it
for
our
isv
operator
certification
program.
It
makes
it
much
easier
for
us
to
manage
testing
operators
at
scale.
It
also
helps
us
manage
our
production
changes
to
the
index
images
for
the
catalogs
that
we
actually
ship
for
open
ship
for
openshift.
So
when
you
open
openshift,
you
see
in
the
operator
hub
panel,
the
certified
operators,
red
hat
operators,
community
operators
and
sometimes
the
red
hat
marketplace
operators.
B
So
these
these
catalogs
are
actually
the
changes
to
those
catalogs
are
managed
by
ib
as
well.
But
in
this
talk,
we're
primarily
going
to
focus
on
the
development
flow
using
iib
because
we
figured
there
are
less
people
trying
to
manage
production
indexes
and
more.
C
B
B
You
know
quite
a
bit
more
complicated,
because
now
you
need
to
test
or
you
need
to
build
n
indexes,
depending
on
how
many
architectures
you're
targeting
you
need
to
assemble
them
together
into
a
manifest
list,
and
you
need
to
get
that
manifestless
push
somewhere
where
you
can
access
it
and
you
need
to
be
able
to
basically
do
this
many
times,
possibly
very
many
times,
depending
on
how
many
customers
you
have,
how
many
different
products
you're
shipping
and
how
quick
their
iteration
cycles
are.
B
B
So
we
want
a
way
to
try
to
automate
this
and
not
have
to
have
people
trying
to
update
shots
continually
for
sure
inside
the
operator
metadata,
and
we
want
an
easy
way
to
automate
everything.
We
want
an
easy
way
to
automate
all
the
jobs
and
to
troubleshoot
issues
and
most
of
all,
we
want
our
developers
not
focused
on
how
all
this
works.
We
want
our
developers
focused
on
building
and
shipping
their
products,
and
we
want
to
try
to
contain
all
these
issues
into.
B
So
iiv
for
us,
we
build
as
a
centralized
service
and
it
can
create
the
index
images
needing
for
testing
all
of
our
operators
in
this
cict
driven
environment.
So
we
have
two
different
entry
points
to
iib.
You
can
either
submit
new
requests
via
the
rest
api
or
you
can
submit
new
requests
via
amqp
messages.
B
The
new
indexes
that
it
would
build
can
have
one
or
more
operator
bundles
added
to
a
new
index
digital
output.
So
you
could
be
testing
a
single
bundle,
a
single
operator
in
isolation
or
you
could
be
testing
an
operator
that
has
dependencies
interdependencies
on
other
operators,
and
you
need
to
make
sure
that
you
know
potentially
n
unreleased
operators
in
testing
are
added
to
the
index
so
that
you
can
install
all
of
them
on
a
cluster
and
do
some
kind
of
like
integration
testing.
B
The
iib
service
will
output
a
new
testing
index,
which
is
it
takes
an
existing
index
in
most
cases,
and
it
will
add
the
one,
the
new
bundles
that
you
want
in
there.
It
will
add
them
to
that
index
and
output
it
to
a
pre-configured
registry
location,
and
then
the
progress
of
this
can
be
tracked
by
looking
at
the
so.
The
user
interface
has
like
a
we'll
show
some
of
this
later,
but
you
can.
B
You
can
check
job
statuses
by
polling
if
you've
submitted
via
the
rest,
api
you're,
probably
going
to
pull
your
job
status,
that
you
got
a
job
id
back
for
or
if
you
submitted
via
amqp
messages.
You
can
just
wait
for
a
return
message
on
the
bus,
with
a
status
update
for
that
job
id
and
then,
at
the
end
of
this,
the
location
of
the
new
index
can
be
returned
to
the
ci
pipeline.
B
So
the
ci
pipeline
can
continue
on
with
the
process
of
like
attaching
this
new
index
image
to
the
openshift
cluster
and
then
launching
testing
jobs.
The
iib
itself
determines
which
version
of
opm
is
used
and
which
version
of
opm
will
be
embedded
in
the
index.
So
this
doesn't
have
to
be
worried
about
too
much
anymore.
B
We
we
make
continuous
updates
to
ifv
now
so
that
like,
if
we
know
which
version
of
openshift's
being
targeted
and
essentially
we
will
try
to
figure
out
which
version
of
opm
to
use
in
the
case
where
multi-arch
testing
is
needed.
B
This
is
an
interesting
thing,
so
we
have
ib,
has
the
ability
to
construct
index
images
for
amd64,
for
power
and
for
assistance
s390x,
and
then
we
will
do
that
all
on
amd
64
systems,
and
we
can
talk
about
the
details
of
this
a
little
bit
later,
like
how
we
do
this,
but
essentially
it
removes
the
need
for
you
to
actually
have
iab
workers
that
have
access
to
s390x
power
systems,
so
it
makes
it
very
nice
it
will
create
the
multi-arch
index
for
you.
B
B
B
B
It
will
also
populate
the
spec
out
related
images
block
for
you.
So,
if
you're
trying
to
support
the
offline
use
case-
and
we
try
to
try
to
populate
this
for
everything
now,
but
effect.related
images
needs
to
point
at
the
specific
digest
for
all
the
containers
which
are
used
by
this
operator
and
iib
will
basically
look
through
all
of
your
metadata
and
find
all
references
to
container
images
that
it
can
find
and
it
will
take
all
of
them.
B
B
What
I
just
described
is
sort
of
one
workflow
around
it,
but
there
are.
There
are
a
couple
other
ways
you
can
also
use
that
which
are
documented
it'll
it'll,
make
those
changes
to
the
csv
file
and
then
it'll
rebuild
the
bundle
image
and
push
the
bundle
image
the
new
bundle
image
out
to
its
output
registry.
B
There
are
a
few
other
things
that
can
be
done
during
regeneration
and
probably
lots
of
opportunities
for
contribution
if
people
have
specific
needs
there,
but
one
thing
we
do
during
regeneration
sometimes
is
change
registry
host
names.
B
It'll
act,
item-potently
on
ad
requests,
so
consider
the
case
where
you
have
like
operator
a
and
operator
b
and
a
depends
on
b
and
both
of
them
are
in
a
development
cycle.
You
need
to
make
sure
you
have
both
of
them
in
a
test
index
to
run
functional
tests,
and
you
need
you
know
which
versions
you
need
for
that
test:
you're
going
to
submit
a
request,
iib
to
add
a
and
b
of
specific
versions
to
a
test
index
in
a
previous
release
of
iib.
B
If
you
tried
to
add
version
a
with
a
specific,
like
version,
a
of
the
version
you're
asking
for
was
already
in
the
index.
That
would
cause
a
problem.
It
would
say
I
can't
add
this,
because
it's
already
there
so
ib
will
now
sort
of
transparently
just
say:
okay,
that's
already
there
and
it
will
make
sure
that
the
other
one
is
also
added
with
the
same
one.
So
this
reduces
the
number
of
disruptions
that
we've
had
in
our
pipeline.
Quite
a
bit.
B
I
already
talked
about
the
batch
request,
so
we
can
batch
request.
This
can
be
a
number
of
like
iterative
ad
requests
or
it
can
be
regeneration,
followed
by
batch
requests.
Just
basically
any
any.
You
know
serialized
number
of
requests
you
want
to
send
to
iib,
and
then
this
shows
sort
of
the
workflow
of
sending
a
request.
So
I
have
my
imaginary
ci
pipeline
requesting
a
new
index
with
the
bundle
foo
added.
That's
gonna
include
a
pull
spec
to
the
bundle
image
booth.
B
The
iab
service
will
initiate
the
build
and
it
will
tell
it
will
assign
it
to
some
worker.
The
worker
will
pull
the
index
image
from
the
registry.
It
doesn't
have
to
be
the
same
registry.
Often
our
index
images
are
our
production
index,
so
we
would
have
a
production
index
on
register.redhat.io
and
we
want
to
add
a
pre-release
bundle
image
to
the
production
index
and
then
use
that
for
testing.
So
we'd
pull
the
production
index
from
red
hat
dot
io.
B
B
The
results
of
this
job
would
be
available
from
iib,
so
you
would
either
get
that
back
from
the
job
status
by
polling
or
you
would
get
notified
on
amtp
message
and
you
would
be
able
to
then
know
what
the
full
spec
of
the
output
index
image
was.
And
then
you
could
move
on
to
attaching
that
catalog
to
the
openshift
cluster
for
testing.
C
All
right,
thank
you,
brian,
so
I
just
have
a
couple
of
examples
here
of
some
of
the
requests
that
brian's
mentioning-
and
this
is
you
know,
there's
different
ways
to
trigger
this.
C
The
simplest
way
for
the
purpose
of
the
presentation
is
to
show
a
curl
command,
so
in
this
case
I'm
making
an
ad
request,
which
is
adding
the
specified
bundle
to
an
existing
index,
and
it's
important
to
notice
to
note
here
that
that
index
would
not
be
modified,
but
a
new
index
image
will
be
created
which
contains
whatever
was
included
in
the
from
index,
plus,
whatever
bundle
images
were
provided
notice
that
bundles
is
a
list,
so
you
can
provide
multiple
items
here.
C
C
Okay,
I'll
move
on
to
the
next
slide,
and
this
is
a
a
response
once
you
submit
that
curl
command
iab
will
track
that
request
and
as
it
progresses,
you
will
populate
with
additional
information.
Eventually,
the
request
completes
and
you
get
an
output
like
this,
and
you
can
see
there's
a
quite
a
few
things
here.
You
know,
starting
from
the
top,
it
tells
me
which
architectures
the
new
index
image
was
built
for
there's
some
batch
information
here,
even
though
it
wasn't,
this
request
was
not
created
in
a
batch.
C
C
It's
essentially
the
it
contains
the
binary
opm
which
will
serve
the
index
information,
and
it
also
tells
you
which
what
was
the
digest
of
that
binary
image
that
was
used,
and
it
would
tell
give
you
a
mapping
of
the
the
operator
name
to
which
bundles
were
associated
with
that
operator,
and
it
gives
you
a
lot
more
information
here
too,
such
as
the
logs
with
all
the
commands
that
were
executed
to
build
this,
and
the
important
parameter
here
is
the
index
image
which
is
about
halfway
through
the
screen,
and
that
tells
me
the
pull
spec
of
the
new
index
image
that
was
just
built
by
ib,
and
one
thing
to
notice.
C
Here
too,
is
that
there's
a
state
history
which
I
collapse
for
this
screenshot,
but
it
does
give
you,
as
the
task
is
progressing
iab,
will
add,
update
information
to
this.
So,
if
you're,
following
along
anxiously,
you
can
see
what
ib
is
doing
at
a
high
level
and
see
that
it's
proceeding
as
expected.
C
Another
example
here
is
for
regenerating
a
bundle,
so
in
this
case,
in
the
simplest
form
you
just
pass
in
a
json
which
has
a
an
existing
bundle.
Image
and
ibu
will
process
that
bundle
image
and
create
a
new
bundle
image
with
the
different
modifications
that
brian
was
mentioning
earlier,
including
pinning
images
that
are
mentioned
in
the
csv
from
a
tag
to
a
digest
and
also
populate
the
spec
related
images
section.
C
So,
based
on
this
request,
you
have
an
output
like
this,
which
is
very
similar
to
the
previous
output.
I
showed,
but
this
has
information,
that's
relevant
to
the
regenerate
bundle
request.
C
An
important
value
here
is
the
bundle
image
key,
which
tells
me
what's
the
pulse
back
of
the
new
bundle
image
that
iab
regenerated
and,
as
always,
iab
will
always
record
the
digest
of
any
of
the
images
that
it
has
used
in
the
process.
C
So
in
this
case,
I
made
a
request
with
an
existing
bundle
image
by
digest,
though,
from
bundle
image
and
from
bundle
image
resolved
have
the
same
value,
but
I
could
make
this
request
with
a
using
a
tag,
and
in
that
case
the
resolved
version
will
have
the
digest
and
the
known
result.
Version
will
have
the
tag,
and
this
is
pretty
useful
for
auditing
purposes
and
as
the
other
requests
there's
a
logs
that
are
accessible
to
users,
as
well
as
a
state
history.
C
And
for
batching
operations
in
this
case
there's
different
types
of
batch
operations.
You
can
do
a
a
batch
operation
with
regenerate
bundle,
requests
or
you
can
do
batch
operations
with
that
add,
remove
requests.
You
can't
mix
them
the
batches.
Don't
allow
you
to
do
that,
but
in
this
case
it's
an
example
of.
C
It
also
allows
you
to
provide
some
an
arbitrary
set
of
annotations
to
be
applied
to
the
request,
and
this
is
useful
for
tracking
tracing
the
progress
of
the
requests
across
different
systems.
C
For
example,
whoever
is
making
this
request
to
iab
could
be
an
external
system
that
has
its
own
id
tracking,
so
the
annotations
become
very
useful.
In
that
case,
once
iab
finishes
practicing
a
batch,
it
provides
information
via
message,
queue
notifications,
but
you
can
just
listen.
You
know
subscribe
to
those
topics
and
be
notified
when,
whenever
the
batch
that
you
requested
has
completed-
and
the
annotations
will
make
its
way
to
the
to
this
message,
so
it
does
give
you,
hopefully
all
the
contacts
that
you
need
to
react
on
those.
C
Messages
so
I'll
I'll
dig
into
the
architecture
of
iab
a
little
bit.
I
think
in
this
case
in
case
you
you're
interested
in
contributing
to
ib
or,
if
you're
want
to
spin
up
your
own
instance
of
iab.
C
C
C
C
C
C
Container
registry
is
any
container
registry
that
supports
the
container
registry
api.
So
we
use
create.io.
You
could
use
an
openshift
registry
whatever
is
needed,
although
the
openshift
registry
doesn't
support
manifest
list,
which
it
would
be.
You
wouldn't
be
allowed
in
this
case,
but
any
registry
that
meets
the
requirements
should
be
able
to
be
used
here
and
for
the
external
message
queue
we
use
activemq,
and
this
is
mostly
used
internally,
because
we
do
have
an
existing
active
mq
instance,
which
is
heavily
used
for
as
a
pipeline
integration
point.
C
And
if
you're
interested
in
contributing
there's
a
development
environment
that
you
can,
then
anyone
can
create.
Iab,
of
course,
is
open
source,
and
it's
upstream
we
use
docker
compose
and
podmin
compose
to
create
a
complete,
completely
useful
iab
deployment
from
scratch.
C
It
will
deploy
all
the
components
of
iab,
not
just
the
core
components,
but
you
will
actually
create
a
database
for
you
it's
on
registry
and
whatnot,
so
you
should
be
able
to
there's
a
make
file
that
helps.
You
run
this
command
and
I
believe
the
command
is
make
run
and
if
you
just
run
that-
and
you
have
you
know-
docker
pod
man
and
the
compose
tool
installed,
it
should
just
work
for
the
production
environment.
C
Of
course,
we
have
a
more
robust
deployment,
there's
various
configurations
that
you
can
specify
for
the
api
front
end
as
well
as
the
workers.
I
won't
cover
them
all
here
I
put
links
in
here.
I
don't
know
if
the
slide
deck
will
be
available
for
viewers
later.
But
if
you
just
go
on
github
and
search
for
iap,
you
should
be
able
to
find
the
project
and
it's
right
there.
In
the
with
me
file.
C
You
can
for
a
production
environment.
You
can
have
a
dedicated
database.
You
can
share
a
database
if
you
already
have
something
like
that.
The
same
for
the
register
in
the
broker
services
authentication
for
the
development
environment,
we
don't
have
authentication
enabled
for
obvious
reasons
for
the
production
environment.
You
probably
want
to
have
some
sort
of
authentication
if
or
anything
to
at
least
track
who
is
using
your
service
internally.
We
support
kerberos
authentication,
but
adding
support
for
certificates
and
any
other
you
know,
basic
off.
C
Anything
supported
by
apache
should
be
relatively
easy.
Shouldn't
require
any
changes
to
iov
itself.
It's
more
a
deployment
configuration
at
that
point
and
you
can
one
of
the
things
that
you
can
do
is
you
can
define
in
the
configuration
for
ib
which
users
can
map
to
a
different
queue.
So
this
allows
you
to
you
know,
grant
some
users
access
to
dedicated
resources,
and
this
is
pretty
useful
to
distinguish
the
different
workloads.
You
may
have
accessing
that
same
iab
instance.
C
For
example,
in
some
cases
we
have
requests
that
can
run
in
parallel,
but
in
some
when
we're
managing
the
production
index
image,
we
need
to
do
those
sequentially
to
make
sure
that
things
don't
get
dropped
on
the
way,
and
in
that
case
we
have
a
a
dedicated.
You
know
serial
queue
where
only
a
single
request
is
done
at
a
time.
But
in
most
cases
you
don't
need
that,
but
we
have,
I
believe,
six
or
seven
parallel
cues,
so
iab
can
just
handle
that
many
requests
at
a
time.
C
C
We
don't
believe
that
this
will
implies
any
code
changes
to
iab-
maybe
some
small
tweaks,
but
this
will
be
mostly
deployment,
related
changes
and
one
of
the
limitations,
and
one
of
the
reasons
why
ib
exists
in
the
first
place
is
that
it's
we
have
not
been
successful
in
running
the
opm
commands
to
manage
an
index
image
inside
openshift,
there's
a
requirement
for
using
privileged
containers
in
some
cases.
C
So
there's
a
various
teams
have
tried
doing
this
and
no
one
has
been
truly
successful,
which
is
why
today
ibm
sorry
iab
uses
virtual
machines
for
running
the
container
tooling
and,
as
brian
mentioned
earlier,
there's
this
question
about
multi-arch
images,
index
images
and
bundle
images
well,
not
necessarily
bundle
images
but
index
images.
They
need
to
be
multi-arch,
so
they
can
work
on
the
different
architectures
that
openshift
supports,
so
iab
has
to
be
able
to
build.
C
Those
and
iob
can
do
this
on
a
single
architecture
which
is
amd
64.,
and
you
can
build
different
targets
based
on
some
of
the
builders
parameters
that
we
use
so
before
I
dive
into
that.
I
just
want
to
recap
a
little
bit
about
what
binary
images
are.
They
are
essentially
from
an
ib
perspective.
A
binary
image
is
a
container
image,
a
traditional
container
image
that
contains
the
opm
binary
that
is
going
to
be
embedded
in
the
index
catalog,
and
this
is
created
outside
of
ib.
C
This
particular
step
does
require
having
arch
specific
hosts,
to
build
this
binary
content,
but
once
we
have
this,
we
can
create
index
images
from
those
and
an
index.
Image
is
also,
as
I
mentioned,
is
also
a
multi-large
container
image
and
it's
essentially
a
combination
of
the
opm
binary
image,
plus
the
catalog
data,
the
index
catalog
data,
which
in
itself
is
just
a
sqlite
file.
C
It's
not
arch
specific,
so
the
way
we
we
do
an
ib
is
we
run
the
opm
commands
to
generate
a
modified
version
of
the
database
file,
and
once
we
do
that,
we
iterate
through
all
the
arches
that
we
want
to
build
for,
and
we
use
build
a
override
arch
parameter
to
build
to
essentially
change
the
specify,
the
actual
architecture
that
we
want
to
build
the
image
for,
and
this
works
fine,
because
to
build
an
index
image,
you
don't
actually
need
to
run
any
of
those
run
instructions
that
you'd
see
in
a
docker
file.
C
It's
not
actually
executing
anything,
it's
just
metadata.
It's
either
metadata
instructions
or
file
system
file,
system
operations
and
those
are
not
art
specific.
So
that's
why
ib
is
able
to
get
away
with
this
and
then
once
we
build
a
you
know,
art
specific
images.
We
just
combine
them
all
into
a
manifest
list
and
that's
the
output
that
ib
provides-
and
I
just
have
to
make
this
a
little
bit
clearer.
I
just
have
a
snippet
of
the
logs
from
a
request
that
I
ran
earlier
today,
so
you
can
see
here.
C
C
The
first
one
is
the
delivery
version,
and
this
is
used
for
us
to
help
track.
Make
decisions
of
which
open
shift
version
this
index
image
is
being
targeted,
for
there
are
some
differences,
just
some
logic
in
ib
to
treat
things
differently
depending
on
the
version.
Again,
it's
all
configurable
as
well,
and
the
distribution
scope
is,
as
the
name
implies,
is
what's
the
target
environment
for
this
index
image.
C
A
C
I
believe,
right
now,
it's
using
the
there's
podman
there's
a
docker,
but
there's
also
the
no
container
tool,
which
means
that
opm
has
its
own
embedded
logic
on
how
to
deal
with
these
images,
and
I
believe,
that's
the
one
we're
using
today,
but
there's
no
from
a
user
perspective
you
can't
select,
which
one
to
use
this
will
be
based
on
controls
on
the
server
side.
A
Okay,
can
you
forward
just
so
there's
nice,
slides.
A
B
Have
yeah
I
can
and
then
there's
one
more
question
in
chat
I
want
to
get
to,
but
so
there
are
a
couple
things
on
the
on
the
roadmap.
Louis
already
talked
about
the
architecture,
changes
to
just
make
sure
we
have
no
remaining
single
points
of
failures.
B
B
This
can
get
pretty
complicated
and
what
we
want
to
do
is
produce
a
method
that
allows
someone
to
see
a
visual
representation
of
the
update
graph.
With
respect
to
the
current
version
of
the
bundle
image
that
was
just
added,
so
you
would
have
a
much
easier,
visual
way
of
verifying
that
all
the
all
the
yaml
stuff
that
you
threw
into
your
csv
actually
resulted
in
the
graph
you
intended.
B
A
I
know
a
lot
of
people
are
going
to
be
excited
about
that
and
I'm
sure
they're
also
wondering-
and
so
I'm
going
to
put
words
in
their
mouth,
how
to
give
feedback
on
the
design
as
you're
doing
it
right
now
is
that
do
you
have
external
calls
that
they
can
dial
into
or
is
there
a
way.
B
We
do
not
currently,
but
this
the
visualization
has
actually
been
a
collaborative
design
effort
between
interaction
designers
in
openshift
engineering
and
in
the
container
factory
program.
So
we
could
bring
preliminary
designs
for
the
visualization
to
another
commons
briefing
or
like
an
upstream
operator,
sdk
meeting.
A
Awesome
that
sounds
fantastic,
we'll
schedule
that
okay.
B
B
There's
one
more
question
and
chat.
I
that
says
what
modes
does
iib
support
from
opm
like
replaces
somber
or
summer
skip
patch.
C
Yeah
he
uses
replaces
today
there's
some
ongoing
conversations
to
potentially
add
stamford
and
samversky
patch
mode
as
well.
C
B
That's
a
that's
an
okay
entry
point
if
it
gets
to
the
point
where
you
know
I
would
like.
I
would
love
to
see
this
get
to
the
point
where
we
need
to
have
an
upstream
iib
meeting,
and
maybe
that's
something
that
we
can
look
at
starting
to
do
we're
looking
for
I'm.
B
B
Assume
the
tag
pinning
to
digest
is
oh,
assuming
the
tag
painting
is
optional,
I've
already
replied
provided
the
request.
Yeah
there's
a
there's,
a
annotation
that
you
can
set
in
the
operator
to
tell
ib
not
to
try
to
pin
the
tags.
B
C
Yeah
one
thing
too
to
add
to
it
is
that
right
now,
iob
only
supports
the
index,
add
and
remove
operations
of
opm.
The
regenerate
bundle
doesn't
use
opm
at
all,
and
other
opm
operations
are
not
yet
added
to
iab,
but
we're
open
to
add
whatever
is
needed.
A
A
Or
it
sounds
like
clarification
would
be
good
for
people
that
are
using
iib.
So
if
they
have
questions
around
clarification,
is
that
something
that
they
can
ask
via
the
repo.
C
Yeah
yeah,
finally,
an
issue
in
the
github
repo
is
probably
the
best
way
to
gather
arthur.
A
B
C
B
Which,
which
has
some
logic
inside
iib
based
on
that
openshift
target,
that
was
in
the
label
to
determine
which
version
of
ib
gets
embedded
or
you
can
override
it,
and
you
can
point
it
at
a
specific
version.
If
you
want
to
use
some
specific
version,
embedding
you
can
tell
it
what
version
to
use.
C
Yeah
there's
essentially
two
versions
of
opm
at
play
here:
there's
the
version
of
opm
that
iab
directly
calls
to
make
changes
to
the
index
database
and
there's
also
the
opm
version
that
actually
gets
embedded
in
the
output
index
image
so
that
second,
one
is
completely
there's
some
defaults,
of
course,
but
you
can
completely
override
that
with
something
from
whatever
registry
you
want.
B
A
And
for
everybody
watching
the
api
docs
are
pretty
thorough.
You
go
look
at
them.
A
I
want
to
call
that
out,
as
I
was
muddling
through
iiv
myself,
all
right.
Are
there
any
other
questions,
so
yeah
kudos.
Of
course
thank
you
for
presenting
on
that.
I
know
I
know
brian
gets
a
lot
of
questions
about
iiv
and
opm,
and
it's
good
to
have
you
here
also
to
answer
these
questions
so
last
call
for
any
other
questions.
A
A
Brian
gave
a
lot
of
input
on
that
and
then
andre
goes
from
ibm,
giving
an
example
of
how
flat
packs
use
that
so
again
day,
zero
openshift
commons
of
kubecon.