►
From YouTube: CHAOSS Africa Developers Meeting July 28, 2023
Description
To connect with this group, please visit the CHAOSS Slack workspace.
A
All
right
so
good
afternoon,
good
morning,
good
evening
to
everyone.
A
This
is
another
developer
called
mostly
focused
on
shell
scripting
and
also
the
devops
of
how
we
work
in
chaos,
and
it
is
mostly
going
not
it's
mostly
going
to
talk
or
just
an
overview
of
how
everything
happens,
and
it's
not
like
a
tutorial.
So
for
all
those
that,
like
want
to
be
new
contributors
to
any
of
the
projects
in
chaos,
you
could
have
chance
to
go
through
this
video
and
see
what
works
for
you
and
what
doesn't.
A
But
before
we
do
that,
there
were
two
pending
things
we
had
to
do
and
number
one
we
had
to
introduce
to
the
whole
chaos
Community,
the
bot
scripts
folder,
because
it's
shell
scripting,
is
closely
tied
with
devops.
So
we
thought
we
would
combine
this
call
into
that.
A
Without
would
combine
that
overview
into
this
call
before
we
go
to
like
how
we
how
we
manage
the
deployment
of
the
different
projects
or
chaos
so
for
those
that
were
in
the
previous
call,
I
was
sharing
a
few
links
here,
I'm
just
not
sure
whether
those
links
were
actually
captured
in
the
recording,
but
for
the
purposes
of
those
on
the
call
we
are
going
to
up
share
the
link
to
the
screen
that
I
am
sharing
and
we're
going
to
look
at
this
particular
repository.
A
A
A
So
for
those
of
you
who
have
heard
about
the
budget
report,
it's
kind
of
a
hassle
to
get
this
bot
up
and
running,
because
there
are
a
lot
of
things
you
have
to
connect
number
one.
You
have
to
have
our
a
GitHub
app
on
your
personal
account
and
number
two
you
have
to
like
set
up
tokens
so
that
the
GitHub
app
can
connect
to
your
account
and
number
three.
You
have
to
Fork
the
events
and
diversity
repository
if
I
can
also
just
open
that
here.
A
So,
like
you
have
to
this
repository
and
all
that
process
of
getting
this
up
and
running
sometimes
could
be
confusing
or
if
it's
like
a
documentation.
Well,
it
would
work,
but
we
were
like
what,
if
someone
just
come
and
copy
just
a
command,
sorry,
my
copy
just
a
command
which
has
all
these
automations
and
they
guide
them
into
installing
that
and
getting
them
up
and
running
without
having
the
hassle
to
Fork
repositories,
get
tokens
again,
look
for
the
GitHub
app
and
where
to
find
it
things
like
that.
A
So
that
was
the
main
use
of
this
shell
script
and
if
you,
if
you
could
go
to
the,
if
you
can,
if
you,
if
you
could
copy
this
Our
intention
was,
if
you
could
copy
this
and
paste
it
into
your
terminal,
doesn't
matter
which
operating
system
you
are
using,
whether
windows
or
Linux
machine
or
a
Mac
OS.
It
would
automatically
detect
the
operating
system
and
install
the
necessary
install
the
necessary
dependencies
for
you
and
get
you
up
and
running.
But
well
since
this
was
only
tested
on
a
Linux
machine.
A
We
found
that
there
were
some
errors
when
someone
runs
the
the
show
script
on
a
Windows
machine
and
also
with
Mac
OS
machine,
and
on
some
previous
calls.
We
had
met
with
some
other
developers
who
were
interested
in
working
on
these
scripts
to
test
it
on
a
Mac
OS
machine
and
also
test
it
on
a
Windows
machine
so
that
they
can
make
refinements
to
see
what
actually
the
problem
was
with
the
script.
A
We
have
not
yet
been
successful
with
the
Mac,
OS
and
windows
and
I
had
assigned
those
tasks
to
particular
people,
but
up
to
now,
they're,
not
responsive,
I
tried,
pinging
them
and
I'm
not
sure
what
they're
up
to,
but
anyway,
those
are
the
hustles
of
Open
Source.
When
someone
is
contributing
and
they
are
not
like
paid,
you
can't
pin
them
because
they're
just
sacrificing
part
of
their
time
to
be
available
to
work
on
the
project.
A
So
I
can't
really
say
that
if
you
copy
that
command
and
paste
it
in
your
terminal,
if
you're
not
using
a
Linux
machine,
I
can't
really
say
that
it
will
work.
But
if
it
doesn't
work,
our
major
aim
is,
if
you
find
it
that
that
it
doesn't
work,
and
you
can
figure
out
how
to
edit
this
script
and
make
it
work
without
breaking
things
good.
We
can
have
your
pull
request
and
merge
it
in
here
and
then
number
two.
We
were
also
looking
at
creating
a
creating
a
workflow
for
testing
those
particular
changes.
A
B
A
Change
happens
in
the
script
we
can
test
it
here
before
we
deploy
it
so
for
now
that
is
still
a
work
in
progress
and
we
have
not
yet
had
any
successful
contribution
towards
that,
but
in
case
in
case
it
happens
and
you
can
test
this
script
in
a
workflow
file
and
the
tests
pass
would
be
happy
to
match
that
for
you
here.
So
what
I
want
to
focus
on
is
just
like
how
this
this
script
works
and
what
particular
things
it
does.
A
So,
if
you
look
here
this
script,
this
script,
I
I,
tried
to
comment
it
so
that
at
least
it's
readable,
but
what
the
script
does
is.
It
has
a
while
loop,
which
turns
to
false
in
case
any
of
these
things
are
wrong
and
the
while
loop
is
having,
if
statements
that
check
your
system
if
it
is
Linux
or
if
it
is
Darwin
Darwin
is
like
Mac
OS
or
if
it
is
cyg
win.
A
This
is
like
this
is
what
the
Tamina
returns,
if
you're
using
the
Windows
operating
system.
So,
for
those
of
you
who
use
Maco
is
I,
don't
know
why
it's
called
Darwin,
but
that's
what
that's
what
it
is
and
for
Windows.
This
is
what
it's
called
so
for
now
there
are
actually
no
they're,
actually
no
development
completely
for
Windows.
So
if
you're
there
and
you're
using
Windows
and
would
like
to
test
this
also,
it
will
be
good
to
do
it
and
let
us
know
how
it
works.
A
I
wouldn't
support
using
the
is
it
called
the
windows
subsystem
for
Linux,
something
like
that,
the
WSL
it's
a
new
feature
in
Windows
that
helps.
A
You
have
like
a
Linux
machine
on
top
of
your
Windows
machine,
but
I
would
want
someone
to
test
this
in
a
Powershell
or
in
the
command
prompt
so
that
we
make
custom
so
that
we
make
custom
commands
for
the
Windows
machine
without
using
like
WSL
I
know
it's
a
bit
now
getting
old
to
use
the
windows
command
prompt
because
of
the
WSL,
but
who
would
want
to
have
that
like
in
its
row
format
here?
So
this
is
something
we've
not
yet
implemented.
I
actually
just
commented.
Windows
is
not
yet
supported
because
I
didn't
have.
A
Where
to
test
it
from
I
do
not
use
a
Windows
machine,
but
once
everything
has
been
tested
like
if
you're
using
Linux
you
will
be,
you
will
be
prompted
to
input
in
your
password
because
everything
that
will
be
installed
down
here
needs
sudo
access
and,
like
the
installing
Carl,
is
used
to
install
to
install
some
packages
down
here
and
also
what
we
install
is
the
GitHub
actions
command
line
interface,
which
we
use
for
cloning
and
and
I
wrap
these
things
guys.
A
Why,
like
these
lines,
are
so
long,
something
like
line,
wrap
or
okay
I
think
it
only
works
when
you
zoom
out,
but
okay,
if
you
scroll
to
this
side,
you
will
see
what
kind
of
what
kind
of
dependencies
and
what
kind
of
packages
we
install
like.
Npm
GitHub,
GitHub
CLI,
which
is
like
the
command
line
interface
for
for
interacting
with
GitHub
repositories,
and
then
the
last
one
that
we
install
is
not
JS.
A
Yeah
I
was
looking
for
node.js
and
if
you
don't
have
git,
we
also
like
automatically
install
git
for
you,
and
if
these
are
really
installed,
they
will
be
skipped.
So
you
don't
need
to
worry,
like
you're,
going
to
break
anything,
and
then,
after
that,
which
is
the
same
thing
with
a
Mac
OS
we
install
git
and
GitHub
CLI,
Carl,
Nord
and
npm.
A
Then
the
configurations
start
whereby
we
we
we
would
want
to
have
you
set
your
username
and
email
to
your
GitHub
to
your
GitHub
configurations,
but
again,
I
realized
that
this
was
a
double
implementation,
because
if
someone
already
has
their
configuration
set
up,
they
didn't
they
don't
need
to
go
through
this
process.
So
I
was
talking
with
one
of
the
contributors
of
this
project
and
I
was
telling
them
if
they
can
find
a
way
to
skip
this
to
detect
whether
the
configurations
are
there
and
Skip
them.
A
Instead
of
going
through
this
process,
because
sometimes
you
could
actually
make
different
configurations
and
mess
up
with
your
GitHub
with
your
git
information.
So
that
is
also
another
issue
to
solve
like
to
skip
this
in
case.
The
configurations
are
there
and
then
for
those
of
you
have
used
GitHub
CLI
in
case
you
just
issue
this
command
GitHub,
both
login.
If
you're
already
authenticated
using
the
GitHub
CLI,
it
will
skip
it,
but
in
case
you're
not
it
will
walk.
A
You
through
I
think
it's
almost
like
seven
steps
of
authorizing
your
GitHub
account
to
work
with
the
GitHub
CLI
and
all
these
commands
the
repo
for
crypto
folk.
They
use
GitHub
CLI.
So
what
happens
here
on
this
line?
Is
after
authenticating
we
clone
the
badging
bot
repository
for
you
and
after
close
sorry,
we
it
on
your
account
if
it
is
not
forked
and
clone
it
automatically
on
your
machine.
So
you
should
make
sure
that
you're
running
this
sweep
like
in
your
projects,
folder,
where
you
want
this
repositories
to
be
forked.
A
So
the
same
thing
happens.
We
also
clone
that
we
also
Fork
the
event
and
diversity
and
inclusion
repository
for
you,
but
we
do
not
clone
it.
Why?
Because
we
only
need
the
fork
of
it
so
that
you
connect
to
it
online
because
we
use
it
to
test
for
the
we
use
it
to
test
for
the
developments
we
are
making
in
the
budging
board
and
then,
after
that,
you
will
have
to
like
create
our
environmental
variables.
One
of
them
is
a
webhook
URL.
A
Another
is
the
okay
web
hook
secret.
Another
is
the
app
ID
client
ID.
Another
is
a
client
secret.
Private
key
and
all
these
are
like.
The
script
will
be
guiding
you
into
how
to
where
to
place
those
and
where
to
find
them,
but
just
to
show
you
how
those
are
good
in
case
you're
interested
in
in
finding
those
you
could
easily
just
go
to
your
settings
and
then
scroll
down
and
go
to
developer
settings
where
you
will
find
an
option
to
create
a
new
GitHub
app
for
me.
A
I
already
have
two
Bots
that
I
use
actually
I
delete
a
description
here
that
this
is
a
test
mode
for
chaos.
Budging,
so
you'll
have
to
create
your
own
personal
bot
for
test
purposes,
and
if,
when
you
create
that
bot,
that's
where
you'll
find
the
app
ID
the
client
ID,
you
can't
be
able
to
generate
a
new
client
secret
and
also
the
webhook
URL,
which
goes
here
sorry,
but
it
goes
here
and
then
a
Web
book
circuit,
which
you
can
generate
here
on
first
try.
A
So,
every
time
you
create
like
a
client's
encrypt,
you
go
and
paste
it
in
the
terminal
where
you've
been
prompted
to
paste
it
and
when
you
create
like
also
a
webhook
secret,
you
can't
paste
it
there.
Then,
when
you
save
all
these,
you
could
even
generate
a
private
key
which
you're
asked
for
in
the
in
the
setting
up
of
the
script.
A
So
in
the
end,
when
all
those
are
being
when
all
those
have
been
filled
in
this
script,
this
this
script
moves
the
dot
m
file
that
was
created
and
places
it
in
your
in
your
budging
board
repository
so
that
when
you
run
npm
run
Dev,
the
dot
m
file
is
detected
and
it
is
run.
But
these
are
like
initial
commands
to
set
up
house
key
which
we
use
for
linking
and
also
to
install
the
packages,
and
then
you
can
run
the
script.
So
that
is
what
the
script
does
in
a
nutshell.
A
So
far,
right
now
the
156
lines
I'm
sure
they
could
be
more
depending
on
the
pull
requests
that
are
open
here
and
also
the
issues
that
could
be
worked
on.
But
in
case
in
case
you
have
like
questions
about
the
script.
A
A
I
put
these
so
that
the
script
can
return
for
you,
readable
errors,
but
some
of
them
are
solver
both
so
I
sometimes
find
like
the
script
runs
and
it
it
is
so
worthy
and
verbose
that
sometimes
you
get
lost
into
where
the
instructions
are
I'm,
not
sure
how
to
tweak
that,
so
that
you
could
have
a
clean
execution
in
the
terminal.
But
if
someone
can
also
figure
that
out,
that
would
be
good.
A
Otherwise,
that
is
it
that
this
script
does
and
we
hope
we
could
use
it
for
first
time,
contributors
who,
like
want
to
contribute
to
the
budging
board
for
now
and
in
the
future,
so
the
better
it
works,
the
better.
It
is
for
first
time
contributors
to
find
it
easy
to
jump
onto
contributing
to
the
budging
project.
A
Anime
already
has
a
hand,
yes,
and
also
what
you
could.
Let
me
first
have
one
year.
C
I'm
sorry,
the
issues
you
raised
here
like
verifying
the
this
install
script
on
for
mac
and
windows.
B
A
The
standard
procedure
is
just
raise
a
PR
with
the
fix
that
you
created
and
I
I
could
not
be
able
to
test
it
and
that's
why
and
that's
why?
Actually
I
was
suggesting
to
the
contributors
that
if
we
can
create
some
workflow
that
tests
this
script
on
the
three
operating
systems,
it
could
even
be
using
Docker
containers
or
we
could
use
run
as
if
GitHub
provides
Runners
for
those
different
operating
systems.
A
It
would
be
good
because
now,
if
you
are
making
a
change
on
on
a
Mac,
OS
implementation-
and
you
upload
it
if
it's
not
tested,
there
is
no
way
I
can
tell
whether
it
runs
successfully
or
not,
or
the
standard
procedure
is
create
a
PR
and
if
it
is
tested
and
it
works,
we
imagine.
D
B
A
So,
generally,
also
in
like
open
source,
if
someone
is
already
working
on
something,
maybe
like
the
contribution
or
someone
is
grouping,
trending
hold
up.
A
Sorry
guys,
if
generally
on
the
contribution
cycle
of
Open
Source
is,
if
you
realize
there
is
an
issue
that
you'd
want
to
work
on.
A
If
it
is
not
like
in
the
issues,
you
can
open
it
up
and
then
maybe
ask
to
be
assigned,
and
then
it
is
always
wise
not
to
start
working
on
an
issue
before,
like
you
contact
the
maintainer,
because
sometimes
you
could
spend
time
working
on
an
issue
that
is
already
being
tackled
by
someone
so
before.
Maybe
you
can
work
on
an
issue,
it's
good
to
fast.
Ask
the
maintainer,
if
you're
not
seeing
the
issue
assigned
to
someone
or,
if
you're
not
seeing
it
anywhere.
A
But
if
you
see
an
issue
has
already
been
assigned
to
someone,
maybe
most
time
someone
is
working
on
it.
But
if
it's
not
there,
it
will
be
good.
Like
Fast
ping,
the
maintain
I,
don't
know
whether
someone
is
working
on
it
so
that
you
do
not
really
waste
time
making
a
contribution.
A
double
contribution.
A
Cool
all
right,
let
me
have
Emma
first
and
then
faith.
E
Yeah,
so
the
question
about
you
actually
built
up
and
such
part
of
my
question,
I
did
I
just
wanted
to
reiterate
the
fact
that
I
did
create
some
issues
and
one
issue
supposed
to
be
assigned
to
me,
but
some
of
what
you
discussed
in
this
and
in
general,
but
we
also
have
their
instance
as
well.
So
I
wanted.
B
E
But
we
discussed
around
with
about
it.
So
for
cases
where.
B
E
E
Subsequently,
we
just
worked
on
the
discussion
we
had
and
when
we
are
done
with
that,
we
can
create
the
detail,
issues
and
really
link
maintenance
and
then
we'll
start
trying
to
see
how
it
can
follow
up.
Then,
if,
if
the
first,
if
the
first
thought
is
correct,
that
means
you
might
likely
need
to
have
a
sort
of
I
would
say
contribution
workflow
for
the
both
scripts.
I
I
mean
I,
don't
know
if
it's
just
me,
yeah,
there's
no
contributions
on
NBA,
yeah,
I.
E
Think
that's
where
the
confusion
came
from
for
myself,
but
I
need
to
have
a
contribution
that
again
so
that
if,
if
we
have
a
discussion
in
the
meeting,
we
should
play
the
issues
before
we
create
before
we
start
working
on
me
and
the
issue
should
also
be
assigned
to,
because
there
are
quite
some
issues
here
that
enter
sign,
Indonesia
signs.
They
were
connected
to
the
feet,
but
the
other
ones,
and
some
of
them
have
been
touched.
As
well
so
yeah,
okay.
B
A
Thank
you
for
that
I
think
well
to
to
like
just
go
into
a
smaller
detail
of
the
contribution
process.
In
case
we
follow
our
we
follow,
I
should
say
a
loose
contribution
process.
A
There
are
some
issues
that
need
discussion
before
they
are
actually
worked
on
because
you
could
bring
it
up
and
it
wasn't
like
in
the
scope
of
things
to
work
on,
or
maybe
it
wasn't
in
the
maintainers
areas
of
interest,
and
you
need
to
like
discuss
about
how
you're
going
to
implement
or
maybe
whether
it's
necessary
or
whether
the
feature
is
necessary.
So
on
our
on
a
standard
contribution
cycle.
A
When
you
open
up
an
issue,
it
is,
it
goes
through
what
we
call
Triage,
whereby
your
issue
reporting
is
way
to
know
how
of
priority.
Is
it
and
what
is
the
direction
of
implementation?
Who
is
best
suited
to
work
on
it?
A
Because
you
could
raise
an
issue,
but
you
do
not
have
the
you
do
not
have
the
the
expertise
to
work
on
it,
but
well
you've
realized
it
or
maybe
you
have
you
think
you
have
the
expertise,
but
then
on
the
maintenance
side,
they
feel
that
the
issue
has
a
lot
of
a
lot
of
changes
inside
or
internally.
So
that's
what
we
call
the
batch
trial.
That's
what
we
call
the
triage.
A
We
we
follow
that
or
not
depending
on
what
the
issue
is.
Sometimes
the
issue
is
already
visible,
I
need
solving
and
you
don't
need
to
like
think
about
it,
and
sometimes
when
the
maintainer
has
no
like
didn't,
have
a
clue
about
the
particular
approach
of
a
solution,
and
then
you
who
has
identified
the
issue
you
have
like
a
particular
approach,
so
it
is,
it
is
it
is.
A
It
is
kind
of
of
dependent
on
what
issue
it
is
I
can't
say
that
there
is
one
process
we
follow,
but
as
long
as
you
let
the
maintainer
or
as
long
as
you
create
an
issue
and
let
the
maintainer
assign
you
or
as
long
as
you
do
not
start
working
on
an
issue
before
they
maintainer
knows
that
you're
working
on
the
issue,
I
think
that
would
be
like
the
standard
first
steps
for
our
our
contributions
here
in
chaos.
A
E
E
A
A
A
Okay,
yeah,
okay,
okay,
I
get
if
you
could
link
the
PRS
to
to,
and
actually
that
is
also
like
a
feature
that
GitHub
thought
about,
and
it's
necessary
that
when
you
create
an
each
pull
request
for
an
issue,
you
could
link
the
the
the
pull
request
here.
A
I
know
automatically
GitHub
scans
for
where
this
issue
has
been
has
been
like
mentioned,
and
it
brings
it
here,
but
but
but
but
but
sometimes
when
you
go
to
when
you
go
to
the
issue
and
add
this
on
this
other
section,
it
will
reflect
better
here
in
the
comment
section
but
well
like
I
said
there
is
no.
We
do
not
have
like
a
tight
contribution
cycle.
It
depends
on
what
we
are
actually
solving
for
and
what
needs
to
be.
D
B
D
A
Comment
here
so
that
I
can,
let
me
see:
okay
yeah
because
GitHub
usually
doesn't
doesn't
detect,
doesn't
doesn't
detect
contributors
if
they
have
not
had
any
interaction
in
the
Repository
I'll.
Do
that
as
soon
as
you
come
in,
is
there
any
other
thing,
I'm
not
seeing
any
other
hand
and
what
time
can
fly
it?
We're
getting
time
is
against
us.
We're
like
having
less
than
20
minutes.
A
I
should
set
10
to
be
exact,
so
allow
me
just
go
through
something
about
how
we
manage
our,
how
we
manage
our
deployment
so
just
trying
to
make
sure
I'm
not
going
to
share
any
passwords
and
stuff
so
before
I
share
the
tab.
Okay,
no
problem
just
turn
off
these
notifications.
B
A
So
in
in
in
in
in
in
in
digital
ocean
and
I'm
speaking
in
terms
of
digital
ocean,
there
is,
there
are
different
terms
in
the
GC
in
gcp,
that
is
Google
Cloud
platform,
Amazon
web
services
and
also
kubernetes
so,
but
for
digital
ocean
digital
ocean
has
a
lot
of
Services.
A
You
could
create
droplets,
you
could
create
apps,
you
can
create
like
databases,
and
then
you
can
also
manage
domains,
because
digital
ocean
helps
you
to
like
route
to
your
Dominion
servers,
which
actually
we
did
that.
If
you
look
under
here,
if
you
go
to
budgie.cars.community,
it
was
a
it
was.
It
is
a
sub-domain
that
the
Linux
Foundation
created
for
us
and
we
map
it
to
this
droplet.
A
So
digital
ocean
has
like
a
lot
of
functionalities,
but
most
times
it
is
so
easy
to
like
set
up
and
get
you
running
because
it
is
more
focused
when
you
go
to
Amazon
web
services.
It
has
a
lot
of
functions
and
you
could
get
lost
in
there.
A
If
you
do
not
know
what
has
brought
you
in
there
so
in
in
in
in
in
in
our
deployments,
we
use
what
we
call
droplets
and
a
droplet
is
a
term
I
think
it
was,
should
I
call
it
a
branding
term,
since
this
is
like
digital
ocean
when
you're
in
the
ocean
there
is
water,
and
so
they
have
what
we
call
droplets.
So
droplets
are
like
servers
servers,
you
can
set
up
a
server
and
let
me
just
see
if
I
can
do
that
right
now.
A
So
if
you
set
up
like
a
server,
you
can
set
up
a
Ubuntu
Server
Fedora
Debian
Center
is
Alma
Linux
or
a
rocky
Linux
server,
and
then
you
can
also
choose.
If
it's
a
Ubuntu
Server,
you
can
choose
what
version
you
want
to
have
for
that
server
and
then
you
can
choose
what
kind
of
CPU
you
want
to
use
on
that
server
or
and
then
you
can
then
choose
depending
on
what
your
budget
is.
The
specifications,
the
biggest
being,
are
16
GB
server,
which
has
16
gigs
of.
A
A
Can't
hear
so
if,
if,
if,
if,
if
you
want
to
get
familiar
with
digital
ocean-
and
there
are
a
lot
of
ways,
you
can
do
that
you
can
deploy
your
code
directly
from
GitHub,
but
how
we
do
it
for
us
is
we
create
servers?
A
So
I
was
saying
you
could
create
any
of
these
servers
operating
using
this
operating
systems,
and
you
could
choose
how
how
the
specifications
of
that
server
would
look
like,
depending
on
your
budget
and
I,
can't
just
create
okay,
I
want
to
create
one
for
now,
but
let
me
do
that.
I
will
delete
it.
I
hope
I,
remember
so
that
they
do
not
drop
our
seven
dollars
at
the
end
of
the
month.
A
So
when
you
create,
when
you
create,
when
you
create
a
droplets,
I'm
not
going
to
create
that
when
you
create
a
droplet,
it
will
reflect.
A
It
will
reflect
here.
So
this
was
like
a
droplet.
This
is
a
droplet
that
managed
our
badging
board.
It
manages
our
budging
website
and
also
it
manages
the
database
that
we
use
to
keep
the
budget
repositories
so
on
this
on
this
on
the
on
this
particular
droplet,
How
We
Do.
How
we
access
this
droplet
is
in
two
ways
for
those
of
you
who
use
SSH
I
want
to
share
something
else.
A
I
clear
that
so
how
we,
how
we
access
this
server
is
I
mostly
use
SSH
and
I
have
I
have
I
my
user
I
created
my
user
on
that
server,
so
I
can
access
it
by
saying
SSH
my
username,
because
I
created
one
on
the
servers,
because
I
didn't
want
to
use
the
root
server
and
then
I
can
use
the
URL
the
domain.
Now,
for
those
of
you
who
know
something
about
deployment,
is
that
every
time
you
map
a
domain
name
to
our
server
on
the
internet?
A
The
network
will
just
eat
into
an
IP
address
and
to
my
digital
ocean
droplets
that
was
testing
I'm,
not
trying
to
look.
Okay,
I
have
a
lot
of
videos
on
that
I'm
trying
to
access
the
drop
view.
How
that
looks
like
so,
if
I
open
this
up
and
I
type
in
my
password
for
my
so
this
droplet.
A
So
if
you
look
here,
if
you
look
at
what
I
violated
here,
the
the
the
command
is
the
SSH
command,
translated
the
it
translated
this
subdomain
into
this
droplet
and
to
show
you
that
that
also
works
I
can
exit
here
and
then
I
SSH.
A
Sorry,
let
me
just
clear
this
to
make
it
instead
of
using
the
domain
name.
I
can
just
use
the
IP
address
because
they're
both
they're
both
the
same
and
I'm
waiting
for
that
to
load,
hopefully
I'm
logging
on
to
the
right.
Oh
okay,
I,
can
see
the
issue
here.
A
It
wasn't
supposed
to
be
that
IP
address
I
just
checked.
It
is
supposed
to
be
this.
A
But
it
was
the
wrong
IP
address,
so
how
you
know
that
I
logged
on
onto
oh
sorry,
this
IP
address
is
for
my
machine
and
it
wasn't
for
the
and
it
wasn't
for
the
for
the
badging
server.
So
how
you
know
that
I
am
logged
onto
the
same
server
is
my
server
has
the
same
name,
whether
I
use
the
IP
address
or
whether
I
use
the
subdomain.
If
you
see,
if
you
see,
if
you
see
this,
it
means
that
I
am
logged
on
onto
the
budging
server
so
on
the
budging
website.
A
Sorry,
on
the
on
the
on
our
servers
and
I'm
only
using
this
one
for,
like
a
demonstration
purposes
on
our
servers,
we
deploy
the
website
using
nginx
and
then
we
deploy
the
back
ends.
We
mostly
deploy
backends
using
Docker
and
right
now,
I
have
the
budging
bot
running
on
a
Docker.
If
I
said
Docker,
oh
sorry
looks
like
I'm
logged
onto
a
different
server,
because
this
had
to
return
this
had
to
return.
Something
is
I'm
a
little
bit
I'm
a
little
bit
confused
I'm.
A
No
not
found
showing
that
I'm
on
a
wrong
server,
but
anyway,
let
me
just
change
this
and
use
another
server.
A
A
For
this
purposes,
I
just
logged
into
another
server
just
to
the
one
I'm
sure
has
what
I
want.
So
what
happens
is
for
the
front
end
if
you
do
not
know
how
to
really
set
up
nginx
for
front
end,
I'm
going
to
share
a
link
in
the
actually.
Let
me
do
it
now.
A
So
I
like
digital
ocean,
because
it
has
really
nice
tutorials
for
how
to
set
up
a
lot
of
things.
So
let
me
share
this
in
the
chat
here
with
you.
A
But
if
you
want
to
know
how
we
set
up
the
server
to
run
nginx
on
front
end,
you
go
down,
you
could
use
the
link.
I
have
sent
in
the
chat,
but
so
if,
if
you
look
at
this
container.
B
A
It's
a
little
bit
disorganized.
Let
me
just
zoom
out
so
that
I
can
organize
stuff,
but
if
you
can't
see,
I
will
zoom
in
so
we
have
like
a
container
ID
and
we
have
an
image.
A
Its
image
is
pulled
from
registry.digitalocean
previous
video
digital
ocean,
slash
project
badging,
and
then
we
give
it
a
name
and
also
a
sharp
value
like
a
unique
ID
where
we,
what
we
do
is
we
created
a
container
registry
at
least
every
hosting
platform
has
a
container
registry,
and
this
containery
just
restores
our
Docker
images,
Docker
images
that
we
get
when
we
build.
We
build
Docker
images
most
times
in
the
workflow
files,
for
example.
A
If
I
can
just
stop
sharing
this
and
share
the
Chrome
tab
again
so
that
I
show
you
something.
So
what
happens
is
no,
since
I
am
using
another.
A
A
This
internet
is
becoming
MMS
okay,
so
what
happens
is
in
the
workflow
files?
Is
we
target
specific
branches?
This
was
this
is
really
redundant
I.
Don't
know
why
I've
just
seen
that
right
now
and
then
we
use
digital
ocean
registry
contact
container
registry,
that
is
on
our
digital
ocean,
on
our
digital
ocean
account
and
to
find
the
registries.
You
can
just
come
here
to
the
left
and
go
to
container
registry.
A
It
will
have.
It
will
have
like
the
name
of
the
registry,
which
is
this
and
then
you
can't
go
to
settings
and
find
a
token
which
you
can
use
to
connect
like
to
this
registry.
So
if
I'm
just
go
back,
the
workflow
file
and
I
hope
I
can
end
with
this
workflow
file
because
time
is
against
us.
A
So
what
happens?
Is
we
have
a
build
job?
This
build
job
is
actually
supposed
to
make
tests
which
we've
not
yet
created.
This
is
like
really
useless.
Npm
run
format.
Linkedin
code
on
production
is
useless.
It's
mostly
about
testing
that
we
care
about,
but
just
that
we've
not
yet
created
tests
test
cases.
I
just
put
this
as
a
placehold
just
to
have
that
job
there
anyway
in
case
there
is
also
a
code
that
is
not
limited
well,
but.
A
We
run,
we
run
our
job
on
a
Ubuntu
machine,
and
this
job
only
runs
when
there
is
a
pull
request
that
has
been
so
that
I
don't
have
to
scroll.
We
run,
we
run
the
main
repository,
so
actually
that's
what
this
line
means
and
what?
What?
What?
What?
What?
What
what
happens?
Is
we
log
into
the
digital
ocean
registry,
the
one
that
I've
just
shown
you
and
we
use
a
run
that
is
called
doctl?
The
octl
is
a
digital
ocean
command
line.
A
Let
me
call
it
a
command
line,
feature
that
helps
you
interact
with
your
digital
ocean
account
in
the
command
line,
and
since
this
action
scripts
run
like
from
the
terminals,
that's
why
we
use
the
octl.
So
we
use
this
Runner
and
then
we
use
a
token
that
we
accessed
in
the
digital
ocean
settings
and
all
these
access
tokens
are
actually,
if
I
show
you
where
these
access
tokens
can
be
found
in
case
you're,
creating
an
access
token
for
your
for
your
project.
You
could
just
go
to
sorry
settings
oops.
A
I
just
want
to
show
you
like
if
I
go
to
badging
boat
and
I,
go
to
settings
here
of.
A
I
go
to
secrets
and
variables
to
actions
here
and
I
can
create
environmental
variables,
for
my
I
can
create
secrets
for
my
repositories.
So
these
are
the
different
Secrets
I
have
for
only
this
badging
board
in
that
they
helped
me
in
my
workflow
file
that
I
don't
need
to
like
expose
them
publicly.
They
are
in
here
so
I
have
my
app
ID,
my
URL,
my
client,
ID
client
secret
and
my
digital
ocean
access
token.
A
My
passwords
are
in
here
my
hosted
my
host
IP
addresses
and
also
any
other
Secrets
I
may
need,
and
even
if
I
click
on
these
like
these,
you
won't
find
them
here,
because
as
soon
as
you
save
them,
they
get
saved
somewhere
on
the
GitHub
servers,
so
the
safe
inside
there,
so
anytime
you're,
making
like
actions
or
workflow
files
make
sure
that
you
make
use
of
the
make
sure
you
make
use
of
that
secretes
feature,
so
I
store
those
there
and
I
access
them
by
just
using
this
command
automatically.
A
If
you're
running
GitHub
actions,
it
automatically
detects
this
unknowns
that
you
want
to
call
something
in
the
environmental
variables
that
you
stored
on
your
particular
repository.
So
what
happens
is
when
you
log
into
digitalocean
it
gives
you
access
to
digital
ocean,
but
let
me
call
it
like
it
doesn't
give
you
it.
A
Doesn't
it
doesn't
permit
you
to
access
digital
ocean
for
longer
time,
unless
you
extend
that
time
and
that's
what
we
actually
did
here
so
the
login
expires
immediately,
but
we
tweak
the
login
to
the
registry
to
expire
after
600
seconds,
because
there
are
some
things
we
want
to
do
in
the
registry
and
one.
What
do
we
do?
We
look
for
the
image,
the
previous
image
and
we
delete
it
because
we
do
not
want
to
have
the
container
registry
packed
with
a
lot
of
containers
that
are
not
in
use.
A
We
only
want
to
have
the
container
that
is
current
and
that
is
in
use
at
that
particular
time
and
after
that
we
push.
After
deleting
the
previous
repository,
we
build
a
new
one
and
then
we
push
it
to
replace
the
repository
that
we
deleted
and
if
I
can,
if
you,
if
you
remember
in
the
terminal,
something
that
I
showed
you,
that
was
an
image
name.
This
is
how
the
image
name
is
created.
A
A
This
is
like
the
this
is
like
the
unique
name
that
is
given
to
that
latest
commit
that
is
on.
That
is
on
the
that
is
on
the
branch
that
you're
pushing.
So
it
is
always
unique.
That's
why
we
use
it,
because
we
do
not
want
to
confuse
the
containers
and
then
once
we
have
deleted
the
previous
repository
and
pushed
a
new
repository,
we
then
deployed
that
container
and
how
would
how
do
we
do
it
as
soon
as
you
make
a
pull
request
to
the
main
to
the
main,
to
the
main
branch?
A
Docker
will
build
this
and
as
soon
as
the
match
is
made.
What
happens
is
this
this
like
shows
merging
to
the
main
branch?
So
as
soon
as
GitHub
detects
that
there
is
a
module
to
the
main
branch,
it
will
deploy
that
updated
code
on
the
main
branch.
So
it
will
login
into
the
registry
to
give
us
access
to
that
container
that
we
pushed
there
and
then
it
will
login
into
our
droplet
using
the
we
use
our
GitHub
Runner,
which
is
like
SSH
action.
A
It
helps
us
to
log
into
our
our
droplet
using
SSH
the
way
I
did
in
the
terminal,
but
this
time
around
doing
it
in
the
doing
it
on
GitHub.
So
we
use
we
use
the
IP
address,
plus
the
username
and
your
password,
and
then
we
log
into
that
droplet
or
your
server.
And
then
we
check
whether
there
is
any
running
container
which
right
now
there
is
a
running
container.
A
So
when
we
find
that
container
using
non-image
name,
we
stop
it
and
remove
it,
because
we
do
not
want
to
keep
containers
inside
there
because
we
do
not
want
to
waste
space.
So
when
we
stop
it
and
remove
it,
we
deploy
a
new
container
from
the
registry
under
this
line
here.
So
what
we
do
we
log
in
again
into
the
server,
and
then
we
pull
the
container
from
the
registry
we
already
logged
in
up
here.
So
we
do
not
need
like
to
log
in
again
and
that
login
helps
us
access
the
registry.
A
That
image
was
created
up
here,
so
it
won't
confuse
the
images
and
most
times
there
is
only
one
image,
though
sometimes
during
test
purposes.
You
find
that
there
is
more
than
one
image,
but
most
times
it's
only
one
image
and
then
just
to
be
sure
that
we've
pulled
that
we've
pulled
the
Right
image.
We
just
Echo
to
print
out
the
image
name
here,
and
then
we
run
it.
We
run
we
run.
A
We
run
the
docker
container
that
we
pulled
and
we
expose
the
port
that
the
API
that
the
front
end
is
supposed
to
communicate
with,
with
the
back
end,
it's
really
a
random
Port
that
we
use
and
we
expose
that
container
using
this
port
to
the
outside
world.
And
then
we
have
like
a
list
of
environmental
variables
that
we
have
on
the
server
that
are
for
different
test
cases.
Sometimes
we
have.
A
We
have
different
files
that
we
use
for
environment
variables,
we
use
for
production,
we
have
different
environmental
variables,
we
use
for
testing
and
also
for
development
purposes.
That's
if
we
are
working
with
the
server
online
so,
depending
on
what
file
we
have,
we
shall
call
that
file
during
the
running
of
the
docker
container,
and
this
line
is
just
like
in
case
I
shut
down
my
server
and
restart
it.
The
docker
container
should
restart
on
restarting
the
server
yeah
and
lastly,
we
give
a
name
to
that.
Docker
container.
A
That
is
running,
which
actually
here
is
always
detected
when
there
is
a
new
image
that
is
going
to
be,
that
is,
is
going
to
be
pulled
and
run.
That
is
the
what
we
detect
for
and
we
delete
it
before
running
a
new
Docker
container.
A
So
these
process
that
I've
gone
through
happens
for
right
now
using
it
for
like
three
projects.
I
know
there
are
very
many
other
processes
that
could
be
used
for
deployment
purposes.
A
Sometimes,
even
there
are
very
many
different
ways
we
can.
We
can
manage
containers
if
the
API
is
really
so
huge
and
we
need
to
optimize
their
different
workflows
to
create
for
that.
But
for
now
this
is
like
the
basic,
the
immediate
workflow,
the
one
we
already
start
with
when
we
are
running
any
chaos
project
that
needs
to
be
deployed
on
a
server
yeah,
so
I
think
I've
gone
through
this
whole
workflow
file
and
almost
where
everything
lives
just
to
get
your
brains
interested
in
this.
A
In
case
there
is
development
you
need
to
make
around
deployment.
A
Let
me
get
questions,
but
before
we
get
the
questions,
we
do
not
pay
for
SSL
certificates,
because
SSL
certificates
are
free
unless
you
really
want
to
spend
on
them,
but
for
every
subdomain
we
create
to
deploy
it
on
a
new
to
create
to
create
to
deploy
that
subdomain
or
to
attach
it
to
a
project
on
a
new
server.
We
use
what
we
call.
A
Let
me
share
it
here.
We
use
what
we
call
let's
encrypt
and
what
let's
encrypt
does
is
it
creates
an
SSL
certificate
for
you
on
your
machine
that
is
free
that
you
do
not
need
to
pay
for
so
every
time
we
create
a
new
sub
domain.
We
just
come
here
and
generate
we
install.
We
install
this
on
our
server
in
case
we're
using
nginx
and
we're
using
Ubuntu.
A
There
is
really
a
guided
process
on
how
to
install
an
SSL
certificate
onto
your
server
so
that
it
is
secured
you
can
follow
through
I.
Think
I
can
send
this.
Let
me
send
this
into
the
chat,
otherwise
I
would
want
to
stop.
Therefore,
purposes
of
time.
We
could
go
through
the
details
of
very
many
things,
but
I'm
just
sharing
basic
things
of
how
we
do
everything,
at
least
by
start.
A
C
A
Know
how
yeah
so
mostly
I
made
this
call
one,
because
I
wanted
to
make
this
whole
flow
process,
so
public
for
maintenance
purposes,
both
now
and
in
future.
A
So
just
like
to
get
people
familiar
with
how
the
workflow
of
a
deployment
works
and
two
you
could
find
sometimes
that
we
want
to
maybe
have
a.
A
A
So
if
you
know
like
our
basic
workflow,
it
helps
you
to
like
give
a
device
onto
what
to
do
or
onto
what
to
tweak
so
that
we
can
maybe
assign
you
that
role
of
managing
the
devops
side,
so
it
it
wasn't
mostly
for
purposes
of
finding
issues,
but
it
was
purposes
of
making
this
knowledge
public
for
future
maintenance
or
for
people
who
may
find
that
there
are
some
things
that
actually
could
be
made
better
on
the
way
we
make
our
deployments
so.
B
A
Cool
any
other.
A
All
right
looks
like
I've
spoken
too
much
or
people
have
gotten
lost,
or
they
have
understood
or
they're
like
not
interested
in
this
particular
topic,
but
otherwise
I
hope,
I
have
explained
I
hope,
like
I've,
explained
well
at
least
I
hope
I'm,
not
confused.
Any
of
you.
I
should
say
see
you
all
on
Tuesday.
A
Well,
we
have
like
sessions
to
speak
about
particular
contributions
by
different
people
on
the
different
projects
and
see
you
around
on
slack
to
otherwise
have
a
good
weekend
ahead
to
everyone.
Thanks
for
coming,
this
call
will
be
will
be
uploaded
and
I
hope
it's
useful
to
either
you
or
to
the
people
that
may
meet
it
in
the
future.