►
Description
IPFS Operator - presented by @cory at IPFS 2022 - IPFS Implementations - https://2022.ipfs-thing.io
A
I
should
give
you
a
warning
this.
This
talk
will
discuss
ipfs
running
in
kubernetes,
so
if
that
causes
you
to
wins
in
pain,
I
understand
okay,
this
is
a
talk
about
ipfs
operator.
A
Ipfs
operator
is
a
kubernetes
operator
which
I
will
explain,
but
in
brief,
it's
a
way
to
manage
ipfs
and
put
in
also
ipfs
cluster
in,
like
a
smart,
easy
to
use
way
on
kubernetes,
so
yeah
we're
actually
trying
to
target
kubernetes
as
the
as
the
in
installation,
and
you
know
like
leverage
some
of
its
benefits.
A
Okay,
this
is
the
agenda
for
the
talk,
we're
gonna,
we're
gonna,
I'm
gonna
explain
who
is
it?
Why
would
you
do
this
and
also
I'll
give
a
little
explanation
of
how
it
works
and
I'll
go
over
the
run
run.
Excuse
me,
the
road
map
and
some
of
the
pain
points
that
still
exist.
This
is
the
team
this
is
who
is
working
on
it.
Currently,
myself
corey
hector,
who
presented
earlier
on
ipfs
cluster
itself.
A
This
is
being
developed
in
conjunction
with
red
hat,
so
we
have
two
people
from
red
hat
emerging
technologies
who
have
been
really
helping
us
to
develop
this
thing.
Okay,
before
we
get
started,
I
want
to.
I
want
to
give
a
little
bit
of
context.
I
just
put
10
seconds
up
there.
What
is
kubernetes,
I
I
feel
like
I
just
need
a
little
bit
of
explanation
in
brief.
It's
a
it's
a
cluster
operating
system.
A
If
you're
not
familiar
with
it,
it's
a
way
to
basically
get
your
applications
running
and
there
there's
like
an
api
that
will
let
you
manage
things
in
an
abstract
way,
so
load
balancers,
managing
your
storage
and
managing
workloads.
Things
like
that
are
sort
of
like
wrapped
up
into
this
common
api
and
another
thing.
Another
reason
why
this
is
a
good
target
that
makes
it
so
popular
is
that
it
is
it's
ubiquitous
every
cloud
provider
that
you
can
think
of.
A
They
probably
have
a
kubernetes
implementation
and
you
can
take
your
kubernetes
applications
and
run
and
run
them
there.
Okay
market
share.
I
wanted
to
add
this
here,
just
because
I
want
to
give
an
explanation
for
why
kubernetes
is
a
great
target,
like
3.9
million
developers,
that
that
is
a
huge
amount.
If
you're
thinking
like
who
you
know
who's
running
kubernetes,
the
answer
is:
it's
everybody.
A
A
If
you
are
one
of
these
people,
which
is
everybody
who
is
running
kubernetes,
what
do
you
do
when
you
read
about
something
cool
like
ipfs?
How
can
you
explore
ipfs?
A
I
would
bet
that
there
are
probably
in
this
room.
You
know.
Half
of
you
could
probably
come
up
with
a
a
decent
implementation,
but
the
thing
is
that
we
are
very
familiar
with
ipfs
and
my
guess
is
that
if
we
that
the
implementation
that
we
would
come
up
with,
we
would
struggle
quite
a
bit.
So
anybody
that's
just
a
standard.
A
You
know
bog
standard
web
2
developer,
that's
running
their
own,
like
application,
if
they
want
to
if
they
wanted
to
run
ipfs
they're
going
to
really
have
a
bad
time,
so
I
think
we
can.
I
think
we
can
make
that
a
little
bit
better,
and
so
that's
the
reason
why
kubernetes
is
a
good
target
and
developing
an
ipfs
is
a
really
good
idea.
Okay,
so
running
on
ipfs,
I've
got
a
little
gif
here,
but
I
just
wanted
to
kind
of
show
what
it
looks
like
live.
So
the
way
this
works.
A
Let
me
let
me
open
collab.
Let's
say
you
want
to
run
a
collab
cluster.
There
are
there's
excellent
documentation
on
the
ipfs
cluster
website.
It
involves
setting
up.
You
know
new
peer
ids,
generating
you
know,
random
data
and
using
that
to
generate
keys.
You
know
like
ssh
into
a
bunch
of
boxes
and
like
causing
them
to
join
each
other.
We
can
make
this
easier
on
kubernetes.
A
Basically
just
I
have
this
really
simple,
like
template
here,
that
you
can
just
simply
follow
so
the
way
that
you
would
create
a
ipfs
cluster
in
kubernetes
world
coupe
ctl
apply.
Let
me
do
the
other
one
cluster
100.
A
A
Oh
there's
a
cl,
while
we
were
talking
a
kubernetes
run,
collab
or
cluster
was
formed,
yeah,
so
running
on
kubernetes,
the
the
takeaway
is
that
it's
easy,
like
you
just
saw
me,
do
it
in
one
command,
it's
easier
to
set
it
up,
one
if
you're
somebody
that's
already
familiar
with
kubernetes,
then
setting
up
the
cluster
using
an
operator
like
this
is
easier
even
than
setting
it
up.
A
You
know
like
manually
like
following
the
instructions
yeah
so
yeah,
particularly
for
people
who
already
are
familiar
with
kubernetes
the
learning
curve
on
this.
Is
you
know
it's
one
command?
It's
it's
something
they're
already
familiar
with.
Okay,
the
other,
the
other
point
of
context.
What
is
an
operator
if
you're
familiar
with
kubernetes,
but
you
haven't
actually
run
it
yourself.
You
might
not
be
familiar
with
what
an
operator
actually
is.
An
operator
in
brief
is
a
method
for
extending
the
kubernetes
api
to
add
additional
functionality.
A
So
you
can
it's
a
piece
of
code
that
you
can
run
in
the
cluster.
It
has
access
to
like
create
things,
but
you
can
add
your
custom
logic
to
it.
So
what
I
was
talking
about,
like
creating
cryptographic,
keys
and
like
creating
cluster
secret
and
all
that
stuff,
all
that
can
be
done
in
the
operator
you
don't
have
to
like
even
know
that
it's
happening
or
know
that
it
exists
and
that
custom
resource.
That's
that
file
that
we
just
defined.
A
You
can
basically
define
like
a
an
api
object,
upload
it
and
it'll
be
handled
by
our
custom
code
yeah.
So
this
is.
This
is
going
over
what
we
just
went
over
yeah
I've
got
I've
got
this
ipfs
object
here.
I'm
basically
saying
that
I
want
to
create
a
collab
cluster
in
this
case,
and
I
want
to
follow
these
things
if
you're,
if
you're
paying
attention
you'll
notice
that
this
is
all
of
the
collab
clusters
that
are
on
the
like
ipfs
cloud
cluster
collab
website.
A
Yeah,
this
is
what
the
this
is,
what
the
operator
is
doing:
yeah,
okay,
so
now
we're
at
the
now
with
the
section
we
know
what
an
what
a
operator
is
now
we're
gonna
talk
about
this
particular
operator,
so
these
are
components
that
get
created
this.
This
is
this
is
basically
a
layout
of
what
the
pod
looks
like
in
kubernetes.
A
pod
is
basically
like
a
unit
of
work.
It's
essentially
like
a
bunch
of
pieces
of
software
that
run
in
a
way
that,
like
they
have
the
same
networking.
A
So
typically
when
you
set
up
ipfs
cluster
as
hector
described
earlier,
you
have
an
ipfs,
node
or
excuse
me,
a
kubo
note,
and
you
have
ipfs
cluster
that
runs
next
to
it
and
talks
to
the
local
node.
Here
we
did
the
same
thing:
we're
we're
not
doing
anything
fancy
here,
we're
just
you
know
like
making
kubernetes
wrappers
around
it.
Basically,
so
we
have
an
ipfs
node
that
ipfs
node
has
some
block
storage
attached
to
it
and
we
have
a
cluster
clip
service
that
is
able
to
talk
to
it
on
you
know,
127.0.0.1.
A
This
is,
this
is
something
that
was
actually.
It
was
a
pain
point
we
fixed
it
now.
This
is
this
is
all
this
is
something
that
I
think
anybody
that
was
not
familiar
with
lib,
p2p
and
ipfs
would
struggle
with
this
would
be
something
that
is
not
very
obvious.
A
A
We.
What
we
ended
up
doing
is
there
are
some.
There
are
some
relays
that
are
out
already
out
in
public,
and
we
also
allow
you
to
run
your
own
relay.
If
you
do
run
your
own
relay
it'll
be
an
additional
pod
that
appears
in
the
cluster
and
the
logic
is
set
up
so
that
you
know
like
once
once
you.
A
You
get
content,
that's
addressed
to
the
network
correctly
using
a
network
that
is
that
is
dialable
and
also
you're,
not
doing
something
silly
like
spinning
up
a
bunch
of
load
balancers
and
using
up
all
your
ip
addresses.
So
that's
really
good
yeah.
Let
the
operator
operate.
All
the
stuff
gets
set
up
for
you.
You
didn't
have
to
think
about
anything.
A
Okay,
yeah.
The
other
thing
that
the
the
operator
handles
is
changes
to
the
cluster
after
it's
been
created.
So
let's
say:
let
me
just
go
over
here.
Cube
c
cube,
ctl.
A
Get
get
a
list
of
my
ipfs
clusters.
Let's
look,
let's
edit
this
collab
cluster.
A
This
would
look
a
lot
better
if
it
was
a
little
bit
smaller,
maybe
yeah.
Let's
say
we're
running
out
of
storage.
You
know
we
don't
need
four,
we
don't.
We
only
have
four
replicas
right
now,
but
let's
make
it
six.
Oh
of
course,.
A
Yeah,
so
this
one
this
one
I
was
doing
a
hundred,
but
you
know
probably
this
will
probably
not
be
as
obvious
but
yeah
I'll,
make
it
like
110
or
something
like
that,
but
it'll
it'll
allow
you
to
like
adjust
parameters
on
the
fly
and
it'll
just
respond
and
create
the
thing
that
you
wanted.
That's
the
that's
the
overall
point
that
I'm
trying
to
make,
but
what
this
allows
you
to
do
is
you
can
control
the
cluster
through
an
api
programmatically.
A
Yeah
demo
yeah,
let's
see
fingers
crossed.
Indeed,
I
wanted
to
do
a
quick
demonstration.
I
have
this
file
here,
which
is
hello,
cluster
or
ipfs
cluster
ctl.
A
There
we
go
yeah,
okay,
so
now
we're
onto
the
road
map
section.
I've
only
got
like
a
couple
minutes
here,
there's
a
there's,
a
great
diagram
here
for
basically
how
to
judge
any
kubernetes
operator.
A
This
is,
I
think,
comes
from
red
hat's
documentation,
we're
we're
not
all
the
way
up
to
level
five
yet
so
we're.
This
is
still
very
much
in
active
development.
It's
in
fact
not
even
really
released
yet,
but
we
are
working
our
way
through
to
make
it
so
that
it's
more
capable
more
more
able
to
like
handle
the
entire
life
cycle
of
the
service.
A
A
If
you
do
want
to
try
it,
however,
there
is
code
available
on
the
github
repo
I
should
have
listed
here,
but
I'll
go
back
to
the
front
of
the
slide.
At
the
end,
the
the
code
is
available.
There
are
helm,
charts
that
you
can
use
to
install
it
and
or
you
can
run
through
the
instructions
and
just
do
like
make
install
and
it'll
also
install
into
your
cluster
and
yeah
expect
here
in
the
next
couple
of
weeks.
A
This
will
this
will
be
on
operator
hub.io,
which
is
like
a
kind
of
like
an
app
repository
type
of
thing,
but
for
kubernetes
operators
and
yeah.
If
you
have
any
questions,
I'm
corey
on
slack
there's
my
email
address
also
for
anybody
here
feel
free
to
contact
me
or
come
come,
walk
up
and
say
hi
all
right.
Thanks.