►
From YouTube: How can we improve the Geo installation?
Description
A little chat how we can improve the installation process for GitLab Geo.
Thoughts & comments in the epic: https://gitlab.com/groups/gitlab-org/-/epics/945
A
B
B
A
B
The
problem
is,
you
know
a
bit
of
a
chicken
and
egg
situation
where
you
need
to
like
set
up
a
number
of
nodes
to
get
things
rolling
in
order
for
them
to
be
able
to
do
the
rest.
So,
for
example,
when
you,
when
you
start
setting
up
gitlab
Nha,
you
need
to
follow
a
specific
order,
so
you
need
to
set
up
databases
first,
so
that
the
rest
of
the
notes,
you
know,
application
notes,
can
actually
run
migrations
and
whatever
else
is
necessary
when
you
well
not
necessarily
migration
at
the
beginning,
but
db7.
A
B
Need
to
collect
all
the
IP
addresses,
you
know
all
the
domain
names,
whatever
else
is
needed
there,
so
is
where
an
interesting
thing
can
be
used
like
service
discovery
in
theory
should
be
able
to
get
all
of
that
data.
For
you
right,
like
you,
wouldn't
necessarily
need
to
spend
much
time
like
collecting
on
paper
all
the
configuration
things
that
you
need.
So
what
you
could
do
is
have
a
let's
say,
console
cluster
XE
D
doesn't
matter,
we
are
using
console,
so
console
plaster
and
console
would
be
done
able
to
just
pull
from
your
infrastructure.
B
B
Then
you
know
you
have
to
always
start
somewhere
yeah,
of
course,
so
you
know
like
it
does
not
feel
like.
It
adds
quite
a
lot
of
value
to
just
set
up
a
cluster
and
then
have
it
do
the
rest
on
its
own.
For
my
personal
opinion
is
that
service
discovery
does
help
when
you
actually
have
a
situation
set
up
and
you
have
infrastructure
that
is
changing,
then
it's
really
great
because
you
have
the
team
set
up.
B
Things
are
working
so
adding
a
node,
removing
a
node
and
so
on
that
service
discovery
allows
that
to
be
done
like
very
efficiently
very
easily,
but
for
the
initial
setup
you,
you
still
have
a
problem.
I
mean
obviously
like
we
can
start
screaming
kubernetes
and
all
of
that,
but
you
know
problems
are
not
to
say,
but
there
about.
You
need
to
set
up
a
cluster
anyway,
and
then
you
need
to
maintain
a
kubernetes
cluster
and
so
on,
and
you
might
not
have
communities
in
your
in
for
anyway.
B
I
mean
we
can,
we
can
recommend
it,
but
not
all
customers
are
going
to
be
using
kubernetes
to
begin
with,
so
we
need
to
offer
both
in
my
opinion
and
that's
not
going
to
change
anytime
soon.
So
one
of
the
ideas
that
we,
the
distribution
team
had
was
leverage
the
tools
that
well
you
know,
everyone
in
or
people
in
infrastructure,
usually
use
the
configuration
management
and
use
that
to
actually
do
the
initial
setup,
and
this
is
why
we
have
the
hea
provisioner
project.
The
idea
behind
that
project
was
always
to
have
a
simpler
way
for.
B
B
We
use
ansible
to
configure
those
machines,
and
all
of
that
using
you
know
omnibus
package
underneath
right,
like
it's
one
of
the
pieces,
and
then
we
configure
all
of
those
nodes
with
a
specific
set
of
roles,
boot
them
up
fire
off
QA
against
them
and
if
everything
passes,
we
boot
that
down
until
the
next
day.
So
we
that's
that's
how
we
verify
that
our
H
a
is
still
operational
and
when
I
say
H,
a
I
do
actually
mean
H
a
we
have
like
I.
B
Think
three
note
was
a
post,
Chris
cluster
plus
I
think
read
this
as
well
and
a
couple
of
other
things.
So
it's
basically
a
number
of
smaller
machines
that
are
configuring
exactly
the
way
we
tell
users
to
do
manually
and
that
gets
automate
automate
eclis
done
problem
was
we
didn't
really
have
much
chance
on
moving
forward
with
that
project
in
more
detail
right,
like
my
idea,
there
was
now
that
we
have
the
pipeline.
B
We
want
to
take
a
look
at
back
at
the
documentation
and
just
recommend
this
to
our
customers
like
give
them
a
docker
container.
Maybe
with
all
of
this
set
up,
if
you
can
fetch
it
up,
docker
containers
just
fetch
the
local
container,
if
not
clone
the
repository
prefilled
of
all
these
details
in
one
place,
instead
of
like
looking
at
ten
pages
of
documentation
and
you're
on
you're
on
your
way.
Unfortunately,
that
didn't
happen
so
honestly.
B
For
me,
it
feels
like
this
is
the
most
boring
solution
you
can
tackle
for
geo
as
well,
because
it's
it's
a
similar
problem.
It's
just
well,
but
it's
the
similar
it's
the
same
problem
right,
like
you,
have
a
chicken
in
the
egg
situation.
Something
needs
to
be
done
before
another
thing
and
that
that
requires
some
extra
attention.
If
you
have
tools
that
actually
are
made
for
this
type
of
things
like
instable
right,
you
can,
you
can
just
configure
it
in
one:
go
and
fire
it
off
even
from
from
within
a
pipeline.
We
can.
A
B
A
B
B
Basically,
it
allows
us
to
say
like
how
our
configuration
infrastructure
configuration
is
going
to
look
like
not
configuration,
topology
I,
guess
how
many
you
know
database
nodes.
Do
you
want
how
many
application
nodes
do
you
want,
and
then
we
specify
the
details
of
the
machines
you
know
like
various
set.
Various
labels
in
the
project
and
terraform
allows
us
to
just
query
GCP
api.
It
provisions
the
machines
to
us
and
comes
back
with
that
data.
So
then,
on
top
like
once
we
have
those
machines.
B
You
can
just
tell
to
the
user
like
if
you
do
anything
outside
of
this,
then
it's
on
you
right,
but
we
are
recommending
this
type
of
setup
and
in
this
order
and
it's
repeatable,
so
you
can
do
it
any
amount
of
times
you
want,
and
you
can
then,
as
someone
who's
producing
this
installation
method,
I
guess
you
can
then
enforce
changes
right,
like
you,
conversion
this
and
say
well,
with
version
11,
9
0,
we
introduced
another
component.
You
just
need
to
fetch
a
new
version
of
this
repository
and
rerun.
A
B
Up
a
console
cluster
right,
so
it's
necessary
for
our
HOH
a
story.
So
in
order
for
you
to
do
a
DB
failover,
for
example,
console
is
necessary.
There,
like
it,
contains
all
of
that
necessary
information
on
you
know
like
it.
Has
the
service
catechol
to
catalog,
basically
of
all
of
the
nodes
that
that
are
in
their
cluster,
so
it
does
boot
console
together.
So
the
only
thing
that
you
need
to
do
is
is
a
someone
manipulated.
B
B
B
How
do
I
put
this,
knowing
that
this
is
recorded,
it's
not
really
elegant
solution,
right,
like
elegant
solution,
would
be
to
not
have
users
do
anything,
but
it's
definitely
far
more
elegant
than
following
ten
pages
of
documentation
to
set
up
everything
in
the
correct
order.
Yeah.
A
B
B
B
B
This
feels
like
kubernetes.
This
is
the
problems.
Kubernetes
is
resolving
exactly
this.
It
has
the
inbuilt
service
discovery.
It
is
able
to
to
configure
your
able
to
configure
it
using
llamo
right
and
that's
that's
pretty
much
it.
But
again
not
everyone
can
run
kubernetes
in
their
infrastructure.
So
you
kind
of
need
to
mimic
what
kubernetes
does.
Yes,.
A
B
Funny
you
should
say
that,
yes,
we
are
not
using
this
specific
project,
but
we
are
actually
using
ansible
inside
of
github
will
come
so
the
new
deployer
is
full
ansible
right.
You
stir
up
form
to
provision
notes.
So
yes,
ideally
we
would
be
using
this
project,
but
for
various
reasons
we
didn't
get
a
chance
to
do
this.
B
B
What
if
we
split
the
package
into
separate
smaller
packages
or
have
one
new
package
that
is
going
to
be
geo,
gitlab
or
github
geo
right
and
that
will
contain
all
of
these
configuration
options
and
whatever
that's
possible.
That
is
the
similar
similar
story.
Like
the
the
container
thing,
I
told
you
about
or
cloning
this
repository,
the
problem
comes
from.
How
do
you
like,
like
you,
still
need
to
install
this
package
on
a
node
somewhere?
B
You
still
need
to
provide
a
configuration
file
and
so
on
so
it
to
me
it
feels
like
it
adds
unnecessary
layers
of
confusion,
because
you're
going
to
say,
like
oh
install
this
github
geo
package-
oh
no
sorry,
I
installed,
it
gets
up,
CEO
or
I
get
up
EE
package
where
to
install
this
geo
package
again,
and
this
way
you
actually
have
a
clear
situation.
Saying
like
this
is
a
provisioner
right
like
it's,
not
a
package
itself.
It
lives
on
your
machine
or
in
your
CI.
You
don't
install
it
on
a
machine.
B
Specifically,
you
add
it
to
your
configuration
management
somewhere
and
use
it
that
you
spin
it
up
whenever
you
need
it
exactly
exactly
and
also
like
having
like
many
small
packages,
is
not
going
to
actually
do
anything
right
like
it's
not
going
to
make
any
of
this
simpler.
It
actually
just
has
a
potential
of
making
it
more
complex.
Because
then
now
you
need
to
ensure.
A
A
B
I'm
not
convinced
that
that's
that's
a
good
solution,
especially
because
then
you
also
introduce
another
gitlab
RB
like
configuration
file.
That
is
not
quite
get
Lavar
B
and
you
know
it's
subtle
enough
to
actually
cause
problems
for
for
everyone.
This
is
very
clear
like
this
is
llamo
files
and
it's
a
completely
separate
thing
from
from
the
package
itself,
and
then
you
kind
of
offload
all
of
the
verging
problems
to
the
package
that
is
already
handling
these
problems.
For
us.
B
A
B
B
Like
well,
I
can't
really
say
that,
mostly
because
it
really
depends
on
whoever
is
supposed
to
be
working
on
this,
but
I'm
telling
you
that
this
project
already
exists
and
it
works.
So
it
would
be
adding
another
like
familiarizing
yourself
with
that
like
trying
to
use
it
and
then
making
changes
or
adding
new
items
that
will
be
geo
related.
So
honestly,
don't
know
how
much
time
it
would
take,
but
the
project
you
have.
B
B
B
B
B
A
A
B
B
Like
anything
that
you
have
automated
so
yeah,
yeah
I
think
that's
pretty
much.
What
I
have
for.