►
From YouTube: It's time to Go! Episode 6 - Remote Development spike
A
So
today
we
decided
to
pair
on
where
we
can
go
despite
to
see
if
we
can
integrate
some
support
for
the
file
into
the
agent
and
and
server
kubernetes
agent
and
server,
and
we
don't
know
if
it
will
work
out
or
not.
But
we
decided
to
see
what
what's
possible
and
what
yeah,
what
we
can
do.
B
So
I
guess
I
can
share
my
screen
started.
First,
let
me
show
you.
A
So
what
we
have
discussed
is
currently
current
idea
of.
What
we
could
do
is
user
makes
an
interaction
with
the
website
to
start
a
Dev
environment
from
a
Dev
file,
or
maybe
they
want
to
start
the
vs
code
editor
in
the
browser,
and
it
makes
an
interaction
with
the
lab
API
and
the
desire
to
start
an
environment
is
persisted
in
the
database,
and
then
we
have,
let's
say
agent
number
10
connecting
to
the
server
to
cast.
A
Then
it's
similar
to
githubs,
basically
that
connection
from
Agents
to
server
sits
there
and,
like
waits
for
work
to
be
done
basically
or
it's
similar
to
GitHub
Runner.
That's
calling
the
API
and
then
cast
sees
that
it's
agent
number
10
and
it
goes
and
asks
rails
periodically.
Hey!
Is
there
a
should
I
give
it
some
work
or
do
it?
How
work
for
agent
number
10,
and
eventually
there
is
something
in
the
database
in
it.
That
was
like
yeah.
Here
is
what
you
should
do
in
some
form.
A
A
A
I,
don't
know
what
the
terminology
should
be
used
here
and
then
on
the
user
interface.
The
user
can
see
that
something
is
happening.
This
is
the
current
status.
Ideally
we
configure,
we
are
doing
the
dashboard,
and
maybe
we
can
have
a
special
support
for
that
kind
of
information
and
we
can
show
it
there
somehow
yeah.
So
this
is
the
high
level
can't
wait.
The
idea
that
they
have
at
the
moment
so
which
are
trying
to
locate
this
the
place
in
the
code
base
where
that
can
be,
can
be
done.
A
Now
that's
called
the
file,
it
would
come
rename
anything
here
later,
and
so
we
will
leave
the
server
module
and
the
agent
module
server
module,
because
that's
the
thing
that
you'll
be
pulling
the
club
API
and
making
the
Transformations
and
then
the
agent
module,
because
that
will
be
the
thing
that
applies
whatever
it
got
from
the
server
to
the
cluster,
so
yeah,
let's
create
or
we
can
just
copy
something
like
API.
C
Name,
let's
call
it,
maybe
you
know
yeah.
A
Then
we
need
an
agent
and
server
and
RPC
directories,
let's
copy
that
from
somewhere
and
then
I
yeah.
B
C
A
A
C
A
A
A
C
To
have
a
client
recall
like
have
this
module
yeah,
well,
I'm,
sorry,
initiated
by
the
server
I.
Have
a
server
like
to
be
able
to
enlist
the
name
spaces
they
give
a
list
of
namespaces
back
in
that
room
illustrate
the
plumbing
that
we
need
and
just
communicated
to
the
agent
and
the
rest
should
be
good.
It's
easier
to
hook
up
with
no
questions.
B
A
So,
let's
start
with
the
definition
of
the
RPC,
because
what
we
need
RPC
first
and.
A
A
No,
we
don't
but
to
understand
what
we
need.
We
I
suggest
we
start
building
what
we
need,
rather
than
building
something.
A
C
A
C
C
Fine
and
we
can
work
either
way
like
the
goal
of
the
shell
and
I,
had
was
just
to
to
understand
this
money
like
how
we
would
look
at
that.
That's
why
we
wanted
to
start
with
something
simple:
we
that
would
already
work,
and
then
we
could
converge
kubernetes,
but,
however,
you
think
is
important
to
the
spider.
A
A
The
request
we
for
now
we
will
have
an
empty
empty
request
and
response
will
have
it's.
B
A
C
A
Yeah,
okay,
that's
just
go
like.
A
C
A
A
C
Do
you
have
to
change
the
other
all
extractor
generated.
A
Did
you
know
here
we
have
that
one
being
for
get
work
request
to.
A
Regenerate
product
yep,
so
we
have
our
RPC
definition
quite
simple,
and
now
we
have
let's
start
with
the
server.
Let's
clean
this
up,
you
just
need
to
copy
from.
B
A
B
I
think
it's
RPC
Microsoft
PC.
If
you
see.
C
B
B
A
A
C
A
Code,
that's
our
server,
let's
stop
holding
for
it
and
we
registered
with
this
JPC,
sir.
It's
given
to
the
module
from
the
outer
program-
and
this
is
the
thing
that
the
agent
connects
to,
and
so
this
is
the
thing
that
the
agent
will
be
calling
and
basically
your
business
logic
goes
here,
the
one
that.
C
A
This
is
the
Handler
of
that
purposes
that
the
agent
will
be
called
on
the
agent
module
okay,
and
if
we
need
any
parameters
for
the
server
they
they
go
here
and
they
can
be
put
here
and
that's
it
and
the
module
is
empty.
C
You
know,
from
from
the
command
line
at
another,
positional
parameter
to
cast
that
it's
like
you
know,
dash
dash
Foo,
and
then
it
takes
a
value
bar
like
how
would
we
use
that
you
know
eventually
that
will
be
a
listener
endpoint
from
the
monolith.
You
know
the
monolith,
or
maybe
a
JavaScript
client
calling
this,
but
how
do
we
use
that
to
trigger
something
to
happen
here?.
C
A
C
A
A
A
So
it's
similar
to
github's,
where
agent
connects
to
cast
and
then
cast
starts
pulling
in
case
of
githubs,
but
in
case
of
remove
that
this
this
place
will
have
a
loop
that
will
be
pulling
around
12..
A
C
A
C
A
It's
the
same
time,
even
it's
behind
the
load
balancer,
which
I
think
it
actually
is
for
that
RPC,
so
rails,
talks
to
some
load
balance
a
Google
Cloud
load
balancer
for
that
internal
port
for
grpc
there.
But
again
the
request
lands
on
some
replica
and
the
agent
may
be
connected
to
another
replica.
So
you.
A
B
A
Foreign
is
not
the
best
mechanism
and
we
have
this
problem
with
githubs
and
we
want
to
solve
it
with
the
we
have
an
issue
for
that.
There
is
a
notification
mechanism
when
there
is
a
commit
in
you
know,
Italy
commits
a
commit
like
persists,
a
commit
I
think
it
pushes
a
notification
through
some
rails
mechanisms,
or
we
want
to
hook
into
it.
So
for
that
we
may
also
want
to
hook
into
something
like
this
and.
C
What
I
was
imagining
like?
We
have
action
table,
but
there's
there's
any
table.
The
action.
Cable
supports
websites,
but
any
cable
supports
RPC
connections
as
well.
So
it's
like
some
sort
of
registry
event:
okay,
here's
here's!
A
registry
of
you
know
cast
servers
I'm
going
to
open,
Action,
cable
connection
to
it
from
you
know
the
monolith
just
like
we
do
for
Action
table
connections
to
the
web
clients
and
say
whenever
this
event
happens,
then
I
will
invoke
a
call
on
this.
I
can
see
it
via
any
table.
A
I
guess
that's
how
it
works.
Ideally,
yes,
we
need
some
sort
of
mechanism,
Central
mechanism
for
just
to
dispatch
notifications,
but
also
notification
can
be
missed
because
whatever
and
polling
is
the
second
mechanism
that
will
catch
it.
C
A
So
for
now
we
can
just
have
a
look
that
both
the
server.
B
B
A
Is
the
signature
doesn't
match?
Because
this
is
a
streaming
response
and
we
have
a
just
unary
RPC?
That's
helps.
A
B
B
B
B
A
B
A
A
B
C
See
so
where
did
get
up
so
just
pause,
Italy,
but
there's
other
places
in
here
like
foreign
instead.
C
So
with
the
github's
example,
you're
pulling
Italy,
but
we
all
you
know
we're
not
going
to
have
our
data
in
our
deposit
for
you.
We
need
to
put
it
somewhere
either
the
relational
database
or.
C
I
thought
I
saw
some
of
the
other
modules
that
connect
to
redis.
Was
there
an
example
of
that.
A
Yeah
but.
A
Some
something
like
that-
and
this
will
be
needed
later
for
now.
Let's
return.
A
Okay
and
then
doesn't.
A
What
we
do
need
here
is
top
a
water.
Maybe
that's
how
we
can
call
it.
A
A
It's
its
job
is
to
establish
that
it's
super
similar
to
the
tops.
Actually,
this
is
the
thing
so
this
it
holds
various
things
and
then,
when
it
runs,
it
starts
the
pipeline
of
three
things.
First
thing
is
watching
the
start
connects
to
the
server
tries
to
get
data
back
then
the
second
stage
decodes
the
data
it
got,
and
then
third
stage
applies
it
to
the
cluster
right.
A
C
A
A
C
I'm
gonna
ask
another
question:
yeah
the
so
the
implementation
of
the
polling
in
the
server
RPC.
In
the
point
you
know
you
check
the
error
there
and
there
were
the
three
cases
that
you
could
return
from.
B
C
A
So
this
ball
blocks
when
this
function
returns
with
like
continue
so
this
configuration
it
contains
information
about
back
off.
So
if
there
are
errors
slows
down
and
then
if
there
are
no
errors
and
we
return
continue,
it
continues
after
waiting
for
the
interval,
so.
B
Be
yeah.
C
C
B
A
C
A
B
B
A
Something
like
that,
maybe
so
you
can
also
feed
configuration
into
it.
If
we
need
configured
we
probably
need
configuration,
but
for
now
we
don't
so
it
just
works
like
this,
and
then
we
need
to
populate
it,
and
we
can
do
it
here
in
the
factory
it
needs,
so
worker
is
our
worker
and
the
worker
needs.
The
client
and
client
will
be
PC
new
new.
A
The
client-
and
this
is
the
config
class
connection-
something
like
this.
This
is
the
connection
because
that
is
set
up
by
the
outcome
program.
It's
given
to
the
module.
You
don't
need
to
worry
about
how
it
works.
It
just
works.
A
That's
it,
you
just
need
to
implement
it.
The
worker.
B
C
B
A
A
A
Basically
and
inventory,
client
yeah
just
probably
do
the
same
thing.
A
Yeah
it
should,
it
should
be
separate,
it
should
pull
it
separate
and
then
yeah
just
you
got
the
you
got
the
work
here.
The
manifests
need
to
parse
them,
probably
similar
to
what
this
decode
does
and
then
you
need
to
apply
them
which
is
apply
around
you,
give
it
the
object,
stop
light
and
then
apply
options
how
to
apply
them,
and
then
you
need
to
handle
the
events
like
look
for.
C
A
Keeping
track
of
what
has
been
applied
and
then
what
on
the
next
situation,
needs
to
be
removed
because
it
has
been
deleted
from
the
desired
set
of
objects
and
have
many
other
things.
So.