►
Description
Mario Loriedo & David Harris demo Eclipse Che for developer teams as part of the Eclipse Foundation Virtual Booth at KubeCon + CloudNative Con NA Nov 17-20, 2020
Get Social!
Website: https://ecdtools.eclipse.org/
Subscribe: https://www.youtube.com/user/EclipseFdn
Follow us on Twitter: https://twitter.com/ECDTools
Like us on Facebook: https://www.facebook.com/eclipse.org/
Join us on LinkedIn: https://www.linkedin.com/showcase/ecd...
Tag us: #EclipseFdn #ECDTools #ToolTime
A
I'm
gonna,
so
you
can
see
my
screen
as
well
right,
yep,
okay,
nice,
okay,
so
I
guess
we'll
we'll
start
the
session,
so
welcome
everybody
to
this
session
of
the
eclipse,
kubernetes
native
ide,
for
developer
teams.
A
So
my
name
is
mario
loriedo
and
I'm
a
I'm
a
software,
and
so
I
worked
on
shay
since
now,
almost
five
years,
so
I'm
I've
been
working
since
the
first
day
I
joined
red
hat.
I've
been
working
on
che,
and
so
I'm
excited
to
to
talk
about
the
the
project
and
the
the
latest
evolution
that
we
we
have
done
david.
Do
you
want
to
introduce
yourself.
B
A
Cool,
so,
first
of
all,
so,
let's
start
with
an
overview
of
eclipse
j
and
what
actually
it
provides.
So
what
what
problems
eclipse
j
is
able
to
solve
so
so
we're
building
an
ide
that
first
of
all,
should
help
developers
that
are
targeting
kubernetes
as
their
deployment
platform.
A
So
so
something
that
makes
it
should
be
an
ide
and
development
tools
that
makes
it
zero
effort
to
deploy
to
start
developing
on
kubernetes
and
to
deploy
to
test
the
application
they
are
developing
on
kubernetes
itself,
so
che
runs
on
kubernetes
and
help
developer,
run
its
application
on
kubernetes
and
as
well
gonna
show
you
that's
can
so
a
developer
can
start
coding
in
a
few
a
few
seconds.
A
It's
a
matter
of
the
time
that
the
an
application
so
a
pod,
starts
with
the
ie
and
that
the
the
developer
will
be
able
to
be
productive.
A
A
The
the
source
code
can
leave
on
remote
on
the
git
repository
on
the
kubernetes
cluster,
but
doesn't
need
to
go
into
the
developer
laptop
as
well
as
other
development
tools,
so
the
developer
doesn't
need
to
install
locally
tools
and
the
every
tool
every
framework
that
a
developer
will
use
is
actually
something
is
running
on
kubernetes
and
is
can
be
enforced,
and
so
that
we
make
sure
that
the
development
tool
used
by
a
team
are
compliant
with
a
company
standard
and
limitations.
A
And
lastly,
so
we
want
to
have
repeatable
development
environments,
so
development
environment
that
are
defined
as
code.
We
want
developer
to
save
the
configuration
of
the
their
development
tools
with
their
sources
on
a
git
repository,
so
we'll
see
that
we
have
a
file
format
that
allow
a
developer
to
specify
in
a
few
lines
the
tools
that
will
help
to
build
run
test
debug,
it's
its
application.
B
Yes,
I
think
one
of
the
reasons
why
we
think
this
really
appeals
and
why
we've
seen
a
number
of
red
hat
customers
and
community
users
take
to
cherry
is
kind
of
around
two
key
use
cases.
I
would
say
so.
One
is
around
like
quickly
on
boarding
new
developers
into
teams
and
like
that,
is
it's
not
so
much
an
enforcement
of
which
tools
you're
using,
but
it's
easy
provision
of
them,
so
you
can
think
if
you're,
particularly
if
you're
working
with
contractors
in
your
organization,
you
need
to
get
them
on
board
quickly.
B
This
provides
a
really
nice
easy
mechanism
to
do
so.
It
is
kubernetes
native
as
mario's
suggesting,
and
I
think
we
can
all
kind
of
agree
that
kubernetes
does
have
a
fair
learning
curve
and
some
developers
will
spend
the
time
to
gain
really
in-depth
skills
and
knowledge
and
awareness
of
the
platform.
Others
just
want
to
code.
So
this
is
quite
a
nice
way
where
you
can.
A
A
So
first
also,
we
have
already
mentioned
that,
and
I
think
that
so
people
that
know
the
project
already
know
that
so
the
che
is
a
web
id,
but
more
than
that
is
a
web
id
server
in
the
sense
that,
in
the
the
image
that
you
see
on
the
left
is
the
first
page
that
you
see
when
you
land
on
on
the
che
web
page.
You
have
a
list
of
development
stacks,
so
some
getting
started.
A
Example
with
different
stacks
and
the
as
as
soon
as
a
developer
clicks
on
one
of
those
tools,
an
ide
will
be
started
in
the
browser,
as
well
as
the
the
ide
as
as
well
a
back-end
component.
So
an
ogs
application
that
actually
powers
the
the
ide
will
start
on
the
kubernetes
cluster
and
the
result
will
be
what
you
see
on
the
right.
So
one
full
ide
of
everything
you
would
expect
from
a
modern
ide
but
running
on
the
on
your
browser.
A
B
A
Look
a
little
bit
more
into
the
details
here.
Is
we.
A
It
actually
starts
a
new
pod
that
is
with
a
lot
of
containers
inside
that
all
together
makes
it
an
a
full
ide
with
language
support,
and
we
have
with
other
tooling
and
we'll
see
what
what
different
tools
will
is
able
to
run.
A
The
important
thing
here
to
see
from
that
slide
is
that
che
is
actually
multi-tenant,
so
multiple
user
can
query
the
chase
server
for
a
workspace
for
an
ide,
and
we,
those
ides,
are
based
on
tia,
so
tia
eclipse
ti
is
another
eclipse
project
that
actually
is
an
ide
framework
that
we
use
as
our
default
editor.
So
the
default
look
and
feel
that
you
see
in
the
browser
is,
is
the
unknown
and
it's
really
close
to
visual
studio.
A
This
has
the
same
so
the
same
flow
the
same
way
to
work
as
vs
your
code
and
it
supports
visual
studio
code
extension.
So
we
can
run
on
that
using
tia.
We
are
able
to
run
visual
code
extension
in
in
the
web
in
the
cloud,
but
that's
not
the
only
option,
so
you
can
also
che
is
able
to
start
a
workspace
with
another
front-end
and
we
have
a
proof
of
concept
that
is
probably
now
a
little
bit
more
than
a
proof
of
concept.
That
is
the
intellij
based
ide.
A
A
So
and
those
workspaces
are
isolated
in
their
pods
and
isolated
by
namespaces,
and
so
every
user
developer
is,
as
in
his
own
namespace,
is
not
able
to
access
the
resources
of
older
users.
So
we
are
we're
able.
The
developer
can
use
their
credential
to
get
access
to
a
maven
repository
or
gauge
repositories
or
container
registries
using
their
credential.
That
will
actually
be
stored
as
kubernetes
secrets
and
not
accessible
to
other
users
of
the
same
kubernetes
cluster.
A
But
that's,
that's
so
is
more
about.
So
the
how
the
the
workspace
is,
the
the
the
components
of
the
of
the
workspace.
So
now
we
are
zooming
in
the
the
workspace.
So
when
the
chase
server
start
the
workspace,
you
actually
start
a
pod.
The
workspace
spot
and
all
the
little
square
that
you
see
here
with
colors
are
actually
the
different
containers
that
are
run
into
the
workspace
spot.
So
you
can
compose
that.
Usually
you
have
at
least
one
editor
con
container.
That
runs
an
editor.
B
A
And
then
you
have
other
sidebars
that
you
can
add
to
that
workspace,
spot
containing
language
servers,
so
supporting
different
languages
or
clean,
tooling
containers,
with
all
the
tools
that
you
need
for
building
and
testing
the
application,
and
these
are
actually
all
isolated
from
the
application
container.
Where
actually
you
want
you,
it's
the
container
that
you
use
in
production
to
start
your
application.
A
So
we
are
a
side
carrying
the
development
tools
to
an
application
that
runs
on
kubernetes
and,
as
a
result
from
your
browser,
you
will
be
able
to
connect
to
that
to
the
to
the
editor
container.
That
will
expose
an
ingress
that
you
will
be
able
to
use
from
your
browser,
and
all
of
this
is
of
course,
authenticated
with
different
identity
providers.
A
So
I
guess
that's
that's
basically
it
for
the
sidecar
architecture.
The
last
thing
is,
we
have
to
talk
about
the
the
development
environment
as
code,
so
what
does
it
mean?
That
means
that
we
have
with
a
yeah
ml
file
that
we
call
dev
file.
A
You
can
in
your
environment
with
first
section
is.
The
project
section
is
like
the
source
code
that
you
want
to
clone
in
your
development
environment
and
then
a
list
of
components
and
components
are
the
sidecar
containers
that
will
compose
your
development
environment
and
in
the
example
I
have
here,
have
two
exam:
two
components
that
are
two
containers:
the
first
one,
the
maven.
It
is
a
maven
container.
The
second
one
is
a
running
in
that
I
want
to
run
in
my
development
environment
so
and
the
last
one.
A
The
last
section
is
a
section
of
commands
that
you
want
to
expose
on
the
ide,
so
the
that
the
user
will
can
select
those
comments
and
we'll
be
able
to
run
them
with
just
clicking
on
on
on
a
button.
A
So
that's
pretty
powerful
you.
You
can
also
specify
extensions,
so
views
record
extension
that
you
want
to
add
to
your
development
to
your
ide
in
your
dev
file.
You
can
also
specify
an
environment,
a
variable
environment,
environment,
variables
or
ports
or
volumes
that
you
want
to
expose
that
you
want
to
create
on
your
development
pods,
so
it's
pretty
powerful,
but
for
the
typical
use
case
and
we'll
see
we'll
do
an
example.
We'll
do
the
demo
later.
It's
it
can.
A
So
let's
say
I
would
so
david,
don't
hesitate
to
interrupt
me
if,
if
you
have
anything
to
to
add.
A
Otherwise,
I
will
just
yeah
we'll
start
with
the
demo.
Actually,
so
it's
so,
and
I
will
let
you
present
that
because
that's
something
that
you're
requesting
right.
B
Yeah
so
in
this
scenario
we're
imagining
that
I'm
a
a
project
maintainer,
I
have
an
application
which
is
called
the
out
yet
application.
It's
a
simple
web
app
written
in
go,
and
it
basically
does
a
query
to
see
whether
a
particular
version
of
golang
has
been
released.
B
A
Okay
cool,
so
I
will
try
to
help
you
david,
not
sure,
I'm
I'm
able
to
to
find
the
problem
right
right
away,
but
let's,
let's
just
open
it
in
inches,
so
I
have
a
che
instance
that
I've
deployed
on
my
kubernetes
cluster
here.
So
as
you
see,
these
are
all
the
getting
started.
So
I'm
not
going
to
use
the
getting
started
here
because
I've
got
actually.
A
A
I
can
just
use
it
so
use
a
a
query.
What
we
call
a
factory
I
will
open.
A
A
So
what
what
is
actually
doing
here
is
is
looking
for
that
file
in
that
keystream
z3.
A
There
is
no
that
file
here,
so
we
haven't
set
it
up
for
so
nobody
has
set
it
up
for
che
yet
so,
but
that's
something
that
I
want
to
fix,
because
I
want
that
then,
if
somebody
want
to
contribute
to
a
project,
you
may
want
to
use
the
dev
file
and
open
it
in
shape
easily,
so
it
doesn't
find
that
file.
But
what
you
will
do
it
will
start.
A
A
workspace
with
actually
just
the
editor
part
without
any
language
support,
because
it
doesn't
know
what
language
you
need
to
support.
A
A
A
A
A
A
B
A
The
the.
A
And
the
ide
will
load
in
a
in
a
few
seconds.
It
will
clone
the
the
gita
project
here
and
we'll
should
be
able
to
start
editing
code
so
yeah,
the
the
the.
A
A
So,
for
example,
if
I
try
to
log
something
it
doesn't
suggest
me
anything,
I
don't
have
the
outline
of
my
file,
so
I
don't
have
go
support.
So
it's
it's
a
nice
editor,
but
I
would
like
to
add
a
go
report
here.
So
what
I
will
do
is
that
I
will
add
that
file
that
file
yeah
ml
and
actually
I
have
some
notes
here.
I
will
take
the.
A
I
will
put
it
here,
so
it's
a
small
default,
I'm
I'm
adding
a
couple
of
components.
The
first
one
is
the
golang
plugin.
So
it's
I
circle
extension
for
go
and
I'm
going
to
take
it
to
the
latest
version
and
I'm
also
adding
the
videos
to
your
code,
github
request.
A
Extension,
I'm
getting
the
latest
one,
I'm
just
adding
those
two
components
and
then
I
will
add
a
command
that
will
make
it
easier
to
do
debugging
and
there's
actually
a
video,
so
called
launch,
so
that
only
instruct
to
run
so
to
start
debugging
with
go
a
current,
the
current
file.
A
A
A
A
So
and
the
cool
thing
is
that
I've
created
that
file
in
my
workspace-
and
I
have
I've
added
some
content
now,
I'm
stopping
my
workspace.
That
means
that
the
the
pod
that
was
running
the
workspace
has
been
killed
and
I'm
starting
a
new
one,
but
the
content
of
the
file.
A
The
new
file
that
created
is
persisted
because
the
the
source
code
is
persisted
in
a
persistent
volume
so
that
you,
if
you
stop
and
restart
the
workspace,
you
will
find
all
the
changes
so
that
I
will
be
able,
through
you
to
push
to
the
remote
git
repository
the
dev
file
that
I've
just
created.
So,
let's
now
it
has
stopped
and
restart
with
the
new
dev
file.
A
A
So
if
I
open
now
my
main
go
file,
and
so
oh
yeah
he's
asking
me
so
after
the
request,
my
plugin
so
he's
asking
me
to
sign
in
to
github,
so
I
will
allow
it
and.
A
B
A
Back
to
the
explorer
to
file
explorer
now
I
should
be
able
to
see
the
outline
of
my
of
my
file.
I
can
go
to
the
main
function
here.
I
can
add
some,
so
I
can
see
that
now
I
have
have
some
good
completion.
A
I
should
also
be
able
so
this
this
function
here
is
using
this
new
server
function.
So
I
can
go
to
see
the
so.
There
is
no
actually
no
documentation
for
it,
but
I
will
be
able
to
see
that
it
to
go
to
navigate
to
the
definition
here.
So
I've
got
completion,
called
navigation
and
everything,
so
you
will
also
be
able
you
have
refactoring,
so
you
can
like
refactor,
rename
a
function
et
cetera.
You
have
a
lot
of
actions
available.
A
These
are
all
provided
by
the
language
server
protocol
and
there
are
a
lot
of
language
server
for
any
language
that
you
you
would
would
like
to
run,
and
with
that
you
you
will
you
can
you
can
use
language
servers
on
well
with
che,
because
these
are
like
services
that
can
run
in
in
a
container
and
can
talk
with
the
ide
through
web
sockets.
A
So
let's
say
now
I
want
to
so:
we've
we've
opened
it.
We
know
we
can
edit
it.
We
have
coding
support,
but
we
want
to
run
it
and
I
will
do
like
start
debugging
here.
A
A
B
A
Start
when
I
start
debugging,
what
is
actually
doing
is
it
will
compile
the
code
and
and
run
it
in
in
in
a
container
the
container
where
the
language
server
is
actually
running
and
it
so
a
language,
a
web
application.
So
the
web
application
built
will
be
run
executed
in
the
in
that
container
and
it
will
expose
a
port.
A
So
it's
easier.
So
it's
now
the
process
is
listing
on
port
8080,
so
we
figure
out.
That
is
a
listing
on
a
port,
so
we
need
to
expose
it
to
the
to
to
make
it
public
so
that
I
can
access
it
to
the
with
my
browser.
So
I
I
answer
yes
here
and
I
then
open
the
link
in
my
in
a
preview
window.
A
Let's
say
so
now
I
can
re
refresh
it
and
I'm
actually
able
to
see
the
problem,
so
that
actually
is
is
looking
at
the
is
go
141.4
out.
Yet
yes,
of
course,
so
1
4
is
many
many
version
back.
So
I
will.
I
can
update
it.
A
So
the
if
I
look
here
the
things
is
that
the
main
thing,
the
main
the
first
thing
that
it
does
is
that
is
parsing
the
the
flags
and
the
command
line
flags
are
defined
here
there
is
http
poll
version
and
the
full
value
for
version
is
is
1.4.
A
Yeah,
you
have
the
serve
http
function,
and
this
time
I
will
rerun
it
with
the
with
the
breakdown
and
breakpoint
enable
so.
A
A
A
So
that's
everything
looks
fine
and
yeah.
If
I
run
it,
if
I
resume
it,
then
it
shows
me
1.15.
So
at
least
what
david
has
asked
me
so
I've
been,
I
should
have
fixed
it.
A
A
A
Go
in
the
go,
a
sidecar,
and
here
I
will
I'm
actually
a
project
I
will
go
inside
the
out.
Yes,
folder
here
is
where
my
source
code
is,
and
I
can
do
like
a
gold
test
to
run
the
test.
You
have.
I
have
a
main
test
goal,
so
these
are
being
run
the
the
past.
So
I'm
I'm
I'm
ready
to
to
commit
to
do
a
commit
here.
So
I
will
use
the
command
palette.
A
Browser
git
repository
browser
id
in
browser,
so
the
software
to
to
connect
to
the
conference
in
browser.
So
everything
is
running
in
my
browser,
but
anyway,
so
I
will
use
the
command
palette.
The
shortcut
the
keyboard
shortcut
here
are
the
dso
called
shortcut.
A
I
can
change
the
branch,
so
I
will
create
a
new
branch.
I
want
to
create
a
crew
and
first
I
will
create
a
local
branch
and
when
I
say
local
is
not
on
my
laptop
but
there's
mainly
in
the
che
workspace,
so
I
will
create
it
and
we'll
call
it
that
file.
A
Once
so,
I
can
see
the
new
branch
here,
so
I've
switched
the
to
the
default
branch
and
I
I
can
open
the
git
view
and
I
still
have
two
files:
a
new,
a
new
one,
that
I've
added
to
that
file
and
main.go
that
where
I've
changed
the
version,
the
default
version
that
is
checked,
I'm
going
to
stage
those
two
files
and
I'm
going
to
add
a
commit
message.
B
A
B
A
A
So
once
I've
done
that,
I
can
like
create
a
request.
I
choose
so
I'm
using
here.
The
the
github
request
is
a
good
extension.
It
prompt
me
for
the
target
branch,
so
I'm
targeting
master
I'm
using
the
def
file
branch.
My
local
default
branch.
A
A
A
A
B
A
Okay
cool,
so
now
it's
yeah.
It
shows
me
this
nice
ui
of
the
request.
So
I
can.
The
the
requests
have
been
created
is
the
number
four
on
this
git
repository.
I
will
add
a
comment,
a
comment
to
the
to
the
prequest
that
will
help
david
to
do
the
review.
Actually,
so
let
me
copy
it
from
here.
A
A
A
Okay,
so
I'm
happy
with
it,
so
I
will
then
let
you
delete
review
the
the
request,
so
I
will
stop
sharing
my
screen.
B
A
B
B
Me,
whilst
we're
waiting
mario,
there
was
a
question
in
the
chat
regarding
whether
we
could
migrate
to
eclipse
plugins
or
whether
there's
a
way
to
migrate
eclipse
plugins
into
che
there's
a
couple
of
ones
that
have
been
called
out.
A
No,
we
we
do
not
support
eclipse
plugins.
So
the
way
we
extend
che
today
is
through
user
record
extensions.
A
So
and
just
for
extension
marketplaces,
you
have,
you
have
a
lot
of
things,
so
you'll
probably
want
to
look
to
the
to
the
videos
work
with
extensions
already
existing,
so
we
are
not
pulling
via
super
extension
from
the
microsoft
marketplace.
For
many
reasons,
many
reasons
one
of
those
is
legal
reasons,
but
but
usually
all
the
extensions
are
have
a
their
source
code,
the
the
source
code
repository
and
they
they
build
it,
the
vsx
files
and
that's
where
we
we
actually
take
the
viewers
google
extension
from.
A
So
if
you
are
able
to
get
a
vsx,
you
can
try
that
in
in
shape
for
whatever
extension
that
you
you
may
have
in
in
desktop
eclipse
but
yeah
the
the
technologies
that
we
use.
So
we
are
not
compatible
at
all
with
visual
code.
That's.
A
A
B
You
can
see
well,
the
keynote
may
be
able
to
see
one
of
the
differences
as
opposed
to
when
mario
started
his
workspaces.
This
message
here,
where
it's
saying
that
it
has
been
able
to
find
the
dev
file
so
when
mario
started.
Obviously
it
was
a
very
simple
environment
with
just
the
basic
editor
and
there
was
no
go
language
support
or
anything
like
that,
whereas
the
experience
for
me
will
be
much
different
thanks
to
the
changes
that
mario
has
made
so
I'll
already
have
co-completion
working
and
the
debugger
task
defined.
B
So
I
can
easily
launch
it
so
by
contributing
this
dev
file.
What
mario
is
giving
to
the
project
is
an
easy
way
for
me
as
a
maintainer
to
then
enable
any
other
contributors
with
the
same
and
reliable
development
environment,
so
they
can
easily
check
out
changes,
and
we
understand
that
if
there
is
an
error,
it's
not
going
to
be
just
because
of
differences
in
a
developer's
workstation
compared
to
what
I'd
been
using.
For
example,.
B
B
B
Debugging
same
message
about
exposing
the
ports,
wait
for
the
application
to
actually
come
up,
whilst
that's
doing
that,
assuming
that
I'm
happy
with
this
contribution,
I'm
about
to
go
ahead
and
merge
the
pr
something
that
I
could
do
is
make
it
easier
for
others
to
try
out
this
approach
by
updating
the
readme
to
include
a
link
for
the
same
thing
that
mario
has
provided
me.
B
B
B
So
this
will
just
update
the
readme
with
a
simple
image
which
points
to
basically
the
same
url
that
mario
showed
at
the
start,
using
the
factory
to
create
a
workspace
based
on
the
repository
now
with
the
repo
in
it,
as
well
as
the
dev
file.
B
B
Yeah
you're
all
right,
so
I
forgot
to
check
out
master
and
instead
of
committed
it
to
the
dev
file
branch,
but
you
kind
of
get
the
the
idea
through
this
anyway.
A
Themselves:
okay,
cool
yeah
that
worked
pretty
well.
So
I
think
that
so
we
we're
running.
A
A
A
No
previous
knowledge
of
kubernetes
required
the
code
has
never
flown
went
into.
My
personal
laptop
always
stayed
on
in
the
cloud.
Nothing
installed
locally.
I've
run
everything
on
on
my
browser
and
as
we
everything
we've
been
able
to
define
the
different
tools
that
we
wanted
and
the
configuration
of
the
workspace
through
the
dev
file.
So
a
yaml
file.
A
And
so,
if
you,
if
you
want
to
to
try
chase,
there
are
multiple
options.
The
easiest
one
is,
the
the
version
of
chase
would
be
asked
in
the
cloud
on
the
the
url
is
shade.openshift.io
and
it's
it's
an
eclipse
che
that
runs
on
on
kubernetes,
managed
by
reddit,
so
and
kubernetes
are
all
managed
by
radar,
so
you
don't
have
to
install
anything
is,
and
you
can
sign
in
for
free
there.
A
Other
options
are
the
public
cloud
you
can
install.
We
have
documentation
to
install
j
on
aws
gcp
azure
or
you
can
install
it
locally
as
well,
with
mini
shift
kind
of
docker
desktop
and,
of
course,
on
prem,
on
on
private
net
on
private
kubernetes.
A
You
will
be
able
to
use
the
operator
to
install
it
on
any
kubernetes
cluster
that
actually
allow
to
installing
the
end
chart
of
or
an
operator.
A
Let's
say
I
think
we
have.
We
have
we've
said
everything
we
wanted
to
say.
So,
if
david,
do
you
want
to
add
something?
Or
if
there
is
any
question,
we
still
have
a
few
minutes
left.