►
From YouTube: GitOps Using GitLab Terraform & Terratag
Description
Special guest Omri Hay, The co-founder and CTO of env0 discusses the benefits of Infrastructure as code, Terraform and how Gitlab together with env0 plays a big role in solving some of the challenges for DevOps teams.
A
All
right,
thank
you
again.
Everybody
for
joining
us
today.
We're
gonna
have
a
great
session
for
you
talking
about
get
ops
using
gitlab,
terraform
and
terra
tag.
I'm
gonna
drop
the
link
to
our
notes
document
in
the
chat.
Please
help
us
to
take
notes
and
please
think
of
some
great
questions
for
our
presenter.
Today.
Speaking
of
presenters.
B
A
Have
a
special
guest
as
well,
so
I
want
to
turn
it
over
to
itsec
to
do
some
introductions.
B
Thank
you,
john
and
good
morning
and
good
evening,
everyone
and
I'm
not
a
specialist,
I'm
it's
a
gumbo.
I
believe
most
of
you
know
me
and
my
technical
marketing
here,
and
mainly
I
focus
on
the
continuous
integration
and
today
the
session
is
a
really
great
great
content.
We
have
for
you
about
git,
ops
and
the
few
tools
that
enable
githubs
one
of
them
is
gitlab.
B
The
second
is
a
terraform
and
another
amazing
tool
called
a
teratag
that
the
combination
of
three
of
them
has
a
unique
offering
that
can
help
customers
to
to
enable
a
devops.
So
I
will
not
speak
a
lot
and
I
will
introduce
the
special
guest
who
is
here.
His
name
is
omri
hai
and
he
is
the
cto
of
a
startup
that
developed
the
terror
tag
that
they
have
a
kind
of
integra.
They
have
integration
with
git
club
and
the
this
is
part
of
the
offering.
B
So
I
will
worry,
can
you
elaborate
about
your
solution
and
before
that,
just
together
we
wrote
a
blog
about
all
of
that
solution,
it's
officially
in
our
website.
So
this
is
another
resource
that
you
can
use
later
on
and
also
send
send
to
customers,
because
it's
a
really
very
detailed
and
great
blog.
So
already,
if
you're
ready,
sure.
C
So,
thank
you
guys
for
having
me
and
it's
a
pleasure
to
be
here
I'll
start
by
sharing
the
screen.
I
have
like
a
deck,
and
let
me
just
do
that.
C
Everybody
can
see
my
my
screen
all
good
yeah
great.
So
today
we
are
going
to
talk
about
infrastructure
as
code
and
how
git
lab
and
teratag
and
terraform
plays
into
play.
So,
let's,
let's
get
started
the
agenda
today
is
a
bit
of
an
introduction,
a
bit
about
me
and
the
company
and
infrastructure
is
called
overview.
C
The
github
solution
and
what
it
has
to
offer
on
the
infrastructure's
code
space
and
then
how
to
implement
that
together
with
teratag,
which
is
an
open
source
developed
by
m0
and
a
bit
about
them,
zero
and
our
solution
and
how
it
integrates
with
with
gitlab
and
and
then
we
have
like
a
q
a
session
at
the
end
cool.
C
So
a
bit
about
me,
my
name
is
omrichai:
I'm
38,
I'm
married
three
children,
love
playing
tennis
and
I'm
a
sucker
for
liverpool,
which
is
a
soccer
soccer
team,
so
I'm
into
yeah
I'm
into
sports
as
well,
I'm
the
co-founder
and
ceo
and
xero.
I
have
like
15
years
of
experience
managing
various
r
d
teams,
mostly
around
cloud
infrastructure.
C
So
that's
about
me.
There's
link
to
the
github
twitter,
linkedin
and
whatnot,
and
a
bit
about
m0.
So
android
is
a
is
a
startup
that
meanwhile,
founded
almost
two
and
a
half
years
ago,
a
bit
more
had
like
a
various
experience
with
the
with
development
in
in
various
companies
like
microsoft,
ethor
and
firmware
and
others,
and
basically
we
are
funded
by
microsoft
with
m12
and
both
starts
both
in
crescendo
up
until
now.
C
We
raised
24
million
dollars
and
we're
currently
around
25
employees,
mostly
in
israel
and
some
in
the
bay
area
and
near
in
the
us.
So
that's
about
us
and
and
our
mission
is
to
enable
devops
engineer
and
team
to
collaborate
on
automated
and
provisioning
of
terraform,
terra
grant
and
other
infrastructures
called
framework.
C
Our
solution
is
basically
addressing
the
problem
of
provisioning
and
compliance
of
infrastructure
on
cloud
resources
on
build
to
scale
and
basically
collaborate
within
the
devops
team
and
also
creating
a
self-service
management
platform
for
other
teams
in
the
r
d,
if
it's
development,
qa
and
and
others
cool.
C
So
that's
a
bit
about
me
and
jira
and
basically
this
stack
is
based
on
the
blog
post,
like
it's
mentioned,
there's
a
link
to
the
blog
post,
you're
able
to
read
that
and
I'll
I'll
tell
you
a
bit
about
infrastructures,
code
and
terraform
and
then
gitlab
and
and
by
the
end
teratech.
Basically,
teratech
is
an
open
source
that
we
developed
in-house
for
our
solution
and
our
platform.
C
We
saw
that
there's
a
lot
of
need
for
that,
so
we
open
sourced
it,
but
basically
it's
baked
into
the
platform,
but
you
can
use
it
anywhere.
You
want
to
so
that's
a
bit
about
the
background
of
tera
tag
and
actually
we
have
a
patent
on
it.
C
So
it's
it's
kind
of
cool,
so
we'll
start
off
by
talking
a
bit
about
infrastructure
scored
and
what
does
it
do
and
what
it
comes
to
solve
and
and
basically
in
the
past
I
think
12
10
years
infrastructures
code
is
the
first
infrastructures
code
framework
was
born
aws,
I
think
in
2010
came
out
with
cloud
formation
and
basically
what
it
does.
It
comes
to
help
provision
and
manage
infrastructure
at
large
scale.
C
So
if
we'll
take
a
look
about
application
back,
then
it
was
like
simple
application
with-
I
don't
know
one
app
server
or
maybe
a
load
balancer
and
just
you
know
a
my
sequel
that
that
the
customer
does
some
requests
and
get
some
data.
But
it's
it's
very
basic
back
then,
and
now,
with
with
cloud
and
cloud
native
and
a
lot
of
services
that
you
have
in
all
the
top
providers.
C
Now
application
looks
like
the
right
side.
You
know
you
have
like
an
sd
bucket
and
and
in
a
gateway
and
vpc
and
load
balancers
and
ec2
instances
and
lambdas
and
and
whatnot,
and
it's
hard
to
basically
create
those
infrastructure
and
environment.
C
If
you
know
back,
then
you
would
just
spin
up
one
container,
one
vm
and
one
my
sequel
and
that's
it
now.
You
have
to
provision
the
entire
the
entire
application,
and
you
want
to
manage
that
through
automation
and
that's
why
infrastructure
is
called
was
born
and
and
what
is
addressed
to
do
so.
That's
a
bit
about
the
background
and
going
back
to
that.
C
Once
you
go
to
the
cloud
providers
in
the
old
days.
You
know
you
have
like
a
few
clicks
and
then
you'll
have
your
environment
ready
or
your
vm
ready
or
you
know
what
not
but
now
aws
has
like.
I
don't
know.
10
000
services
right
now
and
managing
its
service
by
clicking
and
creating
it
on
the
web
console
is
not
scalable.
You
cannot
do
that
anymore
and
then
you
basically
have
more
than
one
environment
right.
You
have
like
at
least
dev
environment
staging
environment,
production,
environment.
C
So,
each
time
you
want
to
change
something
or
add
a
resource,
or
you
know
do
anything
with
your
infrastructure.
You
need
to
do
that
at
least
three
times.
You
know
in
devon
staging
and
then
repeat
that
in
production,
so
I'm
not
talking
about
multiple
environment,
I'm
talking
like
the
basic
stuff,
dev
staging
and
production,
and
now
that
you
have
like
an
application
that
you
know
has
like
tons
of
resources,
you
won't
be
able
to
do
that
manually
anymore,
so
infrastructures
code
came
and
said.
Okay,
let's
do
that
with
code?
C
C
You
can
update
an
environment,
an
existing
environment.
You
know,
if
you
have
like
a
lot
of
resources
and
you
want
to
just
change
one
one
piece
of
the
the
infrastructure
you
just
codify:
it
run
it
against
the
state
in
production
automatically
and
boom.
You
have
like
everything
set
up
with
automation
through
code
and
again
code
has
a
lot
of
other
benefits
to
it.
C
Like
basically,
you
have
like
the
history
of
commits
and
see
what
you
change
and
who
changed
it
and
why
he
changed
it
and
you
can
do
merge,
requests
or
pull
requests
on
them
and
see
and
go
through
a
workflow
of
approval
and
and
there's
a
lot
of
other
advantages
of
doing
that.
You
know
with
code
and
not
with
like
a
wiki
that
somebody
says:
okay,
you
need
to
go
there
and
press
on
that
service
and
change
that
that
name
of
the
service
or
create
a
new
one.
C
So
everything
is
going
to
be
in
code
in
the
upcoming
years.
That's
that's
for
sure.
Another
reason
that
infrastructures
code
became
so
massive
is
microservices,
so
basically
and
cloud
native.
So
back,
then
you
have
like
a
one
monolith.
Now
you
have
microservices
and
each
service
is,
you
know
it
exists
on
its
own
and
going
to
cloud
native
you're
using
a
lot
of
the
services
that
all
the
cloud
provider
offer
you
and
you
have
to
manage
that
and
in
large
scale
applications.
C
So
welcome
to
the
new
age.
Devops
teams
now
need
to
run
infrastructure
and
and
deploy
that
to
the
cloud.
But
now
how
do
they
do
that?
So
you
know
you
have
like
all
the
git
providers.
C
You
know
github
gitlab
bitbucket,
whatever
we're
focusing
on
kid
lock,
of
course,
and
you
need
to
take
that
code
and
run
it
and
ship
that
infrastructure
on
your
cloud
provider
if
it's
aws,
gcp
azure,
even
vmware
or
alicloud,
ibm
cloud
whatever.
So
how
do
you
do
that?
How
do
you
manage
that?
How
do
you
collaborate
on
that?
Because
you
know
once
you
have
like
a
big
team
of
devops
engineers,
you
don't
want
to
block
anybody.
It's
just
like
code.
You
know
somebody
wants
to
write
a
feature.
C
You
don't
block
them
because
someone
else
wants
to
write.
A
feature
same
goes
out
here.
You
know
if
you
want
somebody
to
write
a
code
on
a
specific
service
or
in
a
specific
infrastructure.
C
You
don't
want
to
block
the
other
guy,
and
you
want
to
manage
that
in
that
term,
and
I
think
we
can
correlate
that
to
exactly
what
happened
to
git
before
there
were
git
labs.
So
you
know
back
in
the
old
day,
there's
like
only
git,
so
you
can
collaborate
on
the
code
itself,
but
you
don't
have
like
the
management
on
top
of
it.
To
tell
you,
okay,
you
can
collaborate
on
merge,
quests,
you
can
collaborate
on
on
on
the
on
the
divs.
C
You
can
do
role-based
access
and
see
who
does
what
and
where
you
have
like
the
history
and
and
the
ui
to
to
manage
that.
So
in
that
turn,
infrastructure's
code
now
gets
into
the
phase
that
it
needs.
C
You
need
management
tools,
exactly
like
it
used
to
used
to
is
to
not
have
back
in
the
days
before
they
were
the
git
providers,
cool,
so
infrastructures
code,
as
I
mentioned,
been
around
for
I
think,
10
years
since
2010
aws
came
out
with
cloud
formation
and
followed
by
a
lot
of
things,
so
we
have
here
azure
arm
templates.
C
So
basically,
this
is
azure
specific,
like
cloud
formation
is
aws
specific
and
then
came
all
the
cloud
agnostic
things.
So
in
2014
an
open
source
called
terraform
from
hashicorp
was
emerged
and
he
said.
Okay,
you
cannot
go
and
do
just
one
cloud,
because
it
doesn't
scale
and
if
you're
going
into
a
multi-cloud
approach,
you
cannot
use
cloud
formation
or
arm
template
and
and
of
course
you
want
to
use
just
one
tool
to
do
the
entire
thing
and
they
came
up
with
with
a
new
language.
C
They
call
it
hcl
a
hashicorp
configuration
language
and
builds
air
from
on
top
of
it
and
terraform
works
in
a
way
that
so,
basically,
you
have
the
core
open
source
that
runs
terraform
and
knows
how
how
to
run
and
manage
the
run
itself.
And
then,
on
top
of
it,
you
have
all
the
providers.
So,
for
example,
aws
is
a
terraform
provider,
gcp
has
a
terraform
provider
and
azure
does
and
and
basically
gitlab
has
and
github
does,
and
everybody
does
and
also
all
the
third
parties
and
sas
applications
as
well.
C
You
can
configure
them
using
github
using
teratron.
C
So
exactly
I
don't
know:
well,
xero
sangria,
you
really
all
have
providers
that
you
can
configure
your
third-party
sas
application
as
well
with
terraform,
just
to
mention
n0,
as
well
as
a
terraform
provider,
and
basically
we
have
like
customer
that
write
in
terraform
code
to
to
configure
n0
and
they
run
it
within
m0,
which
is
kind
of
cool.
C
C
There
are
two
other
logos
here
and
one
is
terra
grant,
which
is
on
the
on
the
top
right
hand.
Side
terra
grant
is
basically
a
framework
that
is
on
top
of
telephone,
and
it
gives
you
the
ability
to
dry
out
your
terraform
code
and
gives
you
more
ability
on
how
to
manage
environment,
but
still
it's
a
cli
tool.
It's
a
great
open
source,
very
popular.
It
has
like,
I
don't
know,
5
000
stars
and
it's
quite
popular,
but
it's
on
top
of
terraform.
So
you
have
to
write
your
telephone
code.
C
If
you
want
to
use
teragram,
then
came
polomi,
so
all
of
those
infrastructures
code
were
basically
based
on
json
or
yaml
or
hcl,
which
is
a
declarative
languages
which
is
good
and
nice
and
great,
but
you
will
have
to
learn
a
new
language.
So
if
it's
cloud
formation,
it's
either
chased
on
any
animals
and
they
have
a
lot
of
limitations.
You
know
you
cannot
do
four
or
loops
and
and
if
is
quite
hard
with
jason
hamill's,
so
so
all
of
those
are
are
basically
declarative
languages
and
then
came
palomi.
C
I
think
it
was
2018
or
17
and
said:
okay,
that's
not
good
enough
and
we
want
to
build
a
different
infrastructures
code
tool
that
is
based
on
basically
languages
like
dotnet
or
python
or
node.js,
or
go.
And
basically,
then
you
will
be
able
to
do
all
those
cool
things
that
you
can
do
with
basic
code
with
these
ifs
and
loops,
and
you
can
do
that
with
your
specific
language.
So,
if
you're
a
python
of
developer,
it's
easy
for
you
to
get
started
and
it's
gaining
a
lot
of
momentum.
C
Polonies
is
quite
gaining
a
lot
of
momentum
in
in
the
in
that
space.
But
again,
if,
if
we
take
the
the
comparative
to
terraform,
it's
basically
it's
younger
and
it
has
less
support
currently,
but
they
took
a
bit
of
a
different
approach
and
how
to
solve
the
infrastructure
scope
problem.
C
There
are
more
like
serverless.com
or
or
kubernetes.
Basically,
it's
an
infrastructure
code
as
well
or
help
charts,
but
those
are
mainly
around
infrastructure,
less
around,
like
serverless
or
specific,
like
kubernetes.
C
So
that's
like
an
overview
of
the
tools
that
we
have
and
basically
from
all
of
those
terraform
is
exploding
and
the
the
vast
majority
of
the
companies
today
in
the
world
basically
are
using
terraform.
You
can
see
here.
Ansible
has
been.
You
know
it's
a
different
tool:
it's
a
configuration
management,
it's
not
infrastructures
code,
but
terraform
is
gaining
momentum
and,
basically,
in
I
think
this
year
will
take
over
ansible
in
terms
of
adoption.
C
You
can
see
the
start,
the
star
of
the
terraform,
getting
huge
momentum
compared
to
pollumian
and
terra
grant,
and
the
contributors
as
well
actually
hashicorp
just
issued
a
message
that
they
are
not
accepting
any
community
pull
requests
on
terraform
on
the
open
source
itself,
because
you
know
they
are
lacking
in
staff
and
they
can
handle
the
basically
the
load
that
they
they
have
and
it's
basically
currently
the
go-to
infrastructures
called
framework
for
most
of
the
companies.
C
If
for
for
sure,
it's
an
open
source,
it's
multi-cloud,
it's
the
ecosystem
that
they
have
for
providers.
They
have,
I
think,
over
500
providers.
I
think
over
5
000
models
and
they
have
so
many
integration
with
so
many
platforms
and
and
basically
it's
the
the
little
the
leading
framework
of
that
space.
C
Great
well,
infrastructures
code
is
great
and,
as
we
said
before
now
we
need
to
do
something
about
it.
You
know
you
need
to
write
the
code
and
then
you
need
to
do
something
about
it,
so
I'm
gonna
dive
in
into
what
gitlab
does
with
terraform
and
later
on
on
the
live
demo.
C
I
will
share
a
bit
of
what
what
you
guys
do
with
that
and
basically
what
it
does
is
basically
give
you
the
ability
to
run
deployments
through
the
gitlab
ci
cd
platform,
there's
like
specific
images
and
cis
that
you
can
run
with
terraform.
That
I'll
show
you
later
in
my
in
my
demo,
remote
state
management,
so
terraform.
Basically,
in
order
to
save
the
state
of
the
resources
that
he
created,
he
saves
a
j
some
file
and
and
this
json
file
can
be
stored
in
various
places.
C
And
another
thing
that
terraform
has
is
a
remote
state
that
you
can
basically
implement
the
the
api
and
then
you
have
like
a
remote
state
based
on
http.
C
So
what
gitlab
did
is
create
a
remote
state
management
for
terraform
based
on
http,
and
if
you're
running
your
your
terraform
deployment
through
the
gitlab
ci
cd,
it
will
automatically
save
the
remote
state
if
you
configure
it
and
like
in
the
right
way,
it
will
save
the
remote
state
in
gitlab
and
you'll
have
like
a
ui
to
see
the
versions
and
the
history
and
whatnot,
which
is
great.
You
don't
have
to
play
with
with
authentication
and
and
managing
that,
because
it
sometimes
can
be
a
bit
of
a
pain.
C
So
that's
another
thing
that
gillab
does.
Another
thing
is
private
model
registry.
So
basically,
as
I
mentioned,
terraform
is
based
on
two
things.
One
is
the
providers.
So,
as
I
mentioned,
each
cloud
provider
has
its
own
terraform
provider,
but
there's
al
also
a
way
to
basically
do
packaging
of
basically
models.
That's
how
they
call
it
in
terraform
and
there's
two
ways
to
do
that.
You
can
create
a
model
which
is
an
open
source.
C
So,
for
example,
if
I'll
go
to
aws,
I
can
use
a
model
for
their
kubernetes
eks
solution
or
their
s3
bucket.
So
there's
tons
of
open
source
models
for
each
resource,
but
then,
if
you
want
to
basically
create
a
model
which
is
not
an
open
source,
you
need
a
registry
to
store
it
in
and
and
basically
give
the
access
only
to
your
organization,
which
is
what
is
called
a
private
model
registry.
C
So,
basically
you
write
the
codes
within
your
git
repository
and
and
then
store
it
within
a
model
registry,
and
then
everybody
in
the
in
your
organization
can
consume
it
with
their
telephone
code.
So,
for
example,
if
I
have
like
a
way
that
I
want
to
strict
how
you
create
an
s3
bucket,
because
I
want
to
do
some,
you
know
configuration
which
is
baked
in
only
to
my
organization.
C
I
will
create,
like
a
model
registry,
a
private
one
for
this
s3
bucket,
and
everybody
in
our
organization
will
have
to
use
that
model,
which
is
very
handy
once
you
have
like
a
lot
of
a
big
engineering
or
a
devops
team
that
want
to
collaborate
on
a
lot
of
models
and
a
lot
of
services.
C
The
last
thing
is
marriage
request
integration,
so
basically
terraform
has
a
way
to
let
you
know
what
is
going
to
do
so.
Basically,
it's
called
the
terraform
plan.
Terraform
has
a
workflow
where
you
have
to
run
terraform
in
it
to
in
a
terraform.
What
it
does
is
basically
pull
down
all
the
provider's
code
into
your
local
machine.
C
Then
you
do
a
terraform
plan
which
basically
takes
your
terraform
code,
understand
what
it
needs
to
create,
what
it
needs
to
delete
and
what
it
needs
to
update.
And
then
it
gives
you
like
a
list
of
what
is
going
to
do
which
resources
is
going
to
create
and
delete
and
and
update,
and
then
you
can
create
an
approval
flow
where
somebody
creates
a
plan
and
somebody
else
needs
to
go
and
take
a
look
at
it
and
then
and
then
approve
it.
C
So
what
gitlab
does
with
merge
requests
so
every
time
you
have
like
a
merge
request,
eventually,
you
can
do
a
plan
on
those
changes
against
a
real
live
environment
and
then
get
those
changes
or
that
plan
into
your
merge
request
and
I'll
show
it
later
on
on
on
the
on
the
live
demo
and
how
it
will
help
like
another
team
member
that
is
going
to
review
it
or
the
team
member
that
is
making
the
changes.
C
Basically,
it's
kind
of
a
ci
on
infrastructure.
You
create
a
pull,
a
merge
request,
you
push
a
new
code
and
you
get
the
plan
according
to
a
live
environment,
so
you
can
basically
know
exactly
how
your
code
changes
will
will
change
the
live
environment.
C
So,
basically,
that's
what
gitlab
does
with
terraform
and
we'll
check
it
out
a
bit
later
I'll
show
you
in
the
live
there
cool.
So
now
we're
done
with
infrastructures
code.
Let's
go
back
to
the
cloud
provider
and
talk
about
tagging
and
labeling,
so
tagging
is
mainly
to
aws
and
azure.
That's
how
they
call
it
with
gcp.
It's
labeling
and
our
live
demo
will
be
on
gcp,
so
it's
labeling,
but
it's
basically
the
same
the
same
thing.
C
So
all
major
cloud
provider
allowed
you
to
tag
or
label
your
cloud
resources.
They
encourage
you
to
do
so
because
it
gives
you
a
lot
of
ways
and
powerful
things.
On
top
of
that,
one
thing
is
budget.
Automation
inside
you
can
create
with
those
labels
and
basically
it
gives
you
the
ability
to
from
the
cloud
provider
get
insight
on
the
specific
resources
or
resources
and
infrastructure
install
tools
like
terraform,
basically
on
every
resource.
That
is
that
you
that
is
taggable.
C
C
So
it
gives
you
like
the
ability
to
track
down
resources
both
in
the
development,
the
ops,
the
business
side
and
whatnot,
which
is
great,
but
there's
a
lot
of
things
that
you
need
to
pay
attention,
because
basically,
it's
hard
to
maintain
standards.
Once
you
have
like
a
huge
devops
team
or
even
developers,
usually
also
starting
to
write
terraform
code,
you
need
to
enforce
some
kind
of
strategy
on
how
you
label
or
tag
your
resources
and
it's
becoming
harder
as
your
code
base
grows
and
applying
those
changes.
C
You
know,
if
unmanageable,
it's
quite
hard
and
if
you
already
have
like
resources
already
in
your
cloud
providers.
Now
you
want
to
tag
them.
You
need
to
go
back
to
your
code
and
then
run
through
all
the
taggable
resources
and
and
put
code
inside
of
them.
So
it's
a
hard
thing
to
do
and
another
thing
we
I've
talked
about
modules.
C
So,
if
you're,
using
like
a
third-party
model,
that
doesn't
give
you
the
ability
to
tag
you're
in
a
trouble,
because
you
know
you're
using
an
open
source
that
might
or
may
or
may
not
give
you
the
ability
to
tag
the
resources
that
he
is
creating.
C
So
it's
a
big
issue
and
and
tagging
labeling
overall
in
in
the
cloud,
is
a
huge
deal
when
it
comes
to
devops
engineers
and
and
basically
not
only
also
for
managing
resources
and
managing
budgets.
All
cloud
providers
are
basically
relying
on
resources
to
get
this
done
and
I'll
show
you.
How
gcp
does
that
as
well.
C
Which
is
great
and
that's
why
teratek
came
to
the
rescue
I
think
about
a
year
and
a
half
ago
we
we
said
okay,
this
is
a
problem,
we
feel
the
problem
internally
and
we
saw
customers
struggling
with
that
and
we
said
okay,
what
can
we
do
to
to
solve
that
problem?
And
basically
it
came
out
of
a
feature
that
we
wanted
to
to
create
on
the
ngo
platform
and-
and
we
said
okay,
this
is
great-
let's
open
source
it
as
well.
So
teratech
is
an
open
source.
C
C
If
it's
your
code,
if
it's
a
private
model
or
whatever
it
basically
gives
you
the
ability
to
tag
all
those
resources,
and
even
if
it's
not
your
terraform
code,
if
you're
using
like
a
third
party
or
open
source
model,
it
works
with
all
the
major
cloud
providers
like
aws
usb
in
azure,
and
we
have
like
customers
using
that
for
all
of
them
all
of
those,
and
once
you
go
to
a
multi-cloud
approach,
you
know
it's
kind
of
hard
doing
that
with
one
tool
which
is
great,
so
it
solves
the
complete
the
complicated
problem
of
tagging
across
application
at
scale.
C
You
know,
once
you
have
a
large
application
with
a
lot
of
resources,
it's
becoming
a
big
problem
and
it
eliminates
the
human
error.
Basically,
you
do
that
automatically
and
and
and
you
can
stock
it
in
your
ci
cd
pipeline
and
forget
about
it
basically
and
gives
you
the
ability
to
do
cost
management
organization
reporting
and
what
tagging
and
labeling
gives
you
on
top
of
that
cool.
So,
let's
go
to
a
live
demo.
I'll
show
you,
based
on
the
blog
post,
exactly
what
I
did
it's
on
a
repository.
C
This
is
the
repository
in
gitlab:
it's
open,
it's
open
source,
so
you
can
check
it
out.
There's
links
in
the
blog
post
as
well,
and
let's
go
a
bit
about
the
structure.
It's
a
really
simple
one:
let's
go
first
and
check
out
the
terraform
code,
so
the
telephone
code
is
basically.
This
is
what
hcl
looks
like
you
can
see.
There's
a
section
called
terraform,
and
this
is
where
I
configure
two
things.
C
One
is
the
providers
that
I
need
so
in
this
case
I'm
going
to
use
google,
which
is
an
official
google
provider
from
hashicorp,
and
I
need
to
state
what
version
do
I
need
and
another
thing
is
the
back
end,
so
I
need
to
specify.
C
Where
do
I
want
to
save
my
states
and,
as
I
mentioned
before,
I'm
going
to
use
gitlab
to
save
my
states,
and
so
all
I
have
to
do
is
basically
do
this
and
and
specify
its
http,
and
because
I
run
this
inside
of
gitlab
cicd,
it
will
automatically
save
the
states
within
github
and
I
don't
need
to
specify
any
authentication
at
all
great.
C
So,
let's
take
a
look
at
some
of
the
things
that
I
need
to
configure,
so
I
need
to
configure
google
and
I
need
to
set
it
the
project
id
that
I'm
going
to
use
and
also
the
region
and
the
zone
and
and
basically
that's
it
I'll
show
you
later
on
how
authentication
is
going
to
be
done,
and
here
I
basically
I'm
going
to
create
two
resources.
One
is
a
vm
instance
with
a
disk
and
another
thing
that
is
because
I'm
going
to
initiate
a
vm,
I
need
a
vpc
and
a
network.
C
So
it's
going
to
create
basically
a
vpc
inside
of
google,
which
is
kind
of
straightforward.
Let's
go
take
a
look
at
the
variables
so
there's
another
another
file
that
basically
states.
What's
what
of
the
variables
that
I
need
in
order
to
run
this
terraform
code,
so
I
need
the
project
id.
I
need
what
machine
type
do
I
want
to.
I
want
to
initiate
which
region
with
a
default
to
this
region
and
which
zone
will
the
default
to
this
zone.
C
So
I
basically
defaults
means
that
I
don't
have
to
specify
it
and
if
I
don't
specify
it,
it
will
take
this
default
good,
very
easy,
but
then
I
want
to
run
it
so
I'm
going
to
use
gitlab
ci.
So
I
have
like
the
yaml
file
right
here
and
it's
based
on
the
image
that
is
under
the
registry
of
gitlab,
which
is
the
terraform
image,
and
I
configure
a
lot
of
stuff
here.
But
let's
take
a
look
a
bit
about
the
the
stages
that
I
have
okay,
so
I
have
two
stages.
C
I
wanted
to
to
show
you
a
use
case
where
I
do
a
plan
and
then
somebody
can
check
their
plan
and
approve
it,
and
then
somebody
else
will
need
to
run
manually.
They
apply
so
the
plan
stage
is
basically,
I
download
terra
terror
tag
from
the
tag
repository
and
then
I
do
a
terraform
in
it
and
then
terraform
validate
value
that
basically
verifies
that
the
code
that
I
wrote,
the
terraform
goal
that
I
wrote
is
valid.
C
It's
just
kind
of
a
compiling
compiling
error
and
and
checking
out
that
everything
is
okay
and
then
I
run
terror
attack.
Basically,
what
I
do
with
teratag
is:
I
give
them
the
tf
folder
so
where
the
terraform
folders
and
the
terraform
files
leaves,
and
then
I
give
it
the
tags.
So
I
want
to
specify
which
tags
I
want
to
insert
to
all
of
the
resource
that
I'm
going
to
create
from
this
terraform
code.
C
C
C
So
basically
it
takes
the
plan
and
execute
it,
and
in
this
case,
because
it's
a
step
deployment,
I
need
to
save
the
plan
file
somewhere,
so
I'm
using
like
need
lab
artifacts
to
save
it
and
then
in
the
apply,
I'm
basically
getting
getting
the
artifact
as
a
dependency
from
the
plan
cool,
quite
simple,
so
let's
go
ahead
and
try
to
try
to
deploy
it.
C
There
are
two
things
that
I
I
wanted
to
say
before
I
run
this
pipeline,
so
authentication
I'm
using
basically
the
inver
the
variables
that
lives
inside
of
git
club.
So
I
need
to
give
it
authentication
to
google
and
the
project
id
and
the
instance
type.
So
all
of
that
was
done
under
settings
in
general
and
I
configure
the
environment
variable.
You
can
actually
configure
variables
as
well
here,
but
I
already
did
it
because
it's
sensitive
data,
so
I
I
didn't
want
to
do
it
here.
C
So
let's
run
the
pipeline
on
the
main
branch
and
and
see
what
happens
and
if
I'll
go
you
see,
there's
two
steps.
One
is
the
plan
and
the
other
one
is
the
apply
and
once
the
plan
will
be
done,
basically,
it
will
give
you
me
the
entire
what
terraform
is
going
to
execute
and
which
resources
are
going
to
are
going
to
be
created.
C
That
way.
Every
time
I
do
something,
I
can
basically
go
ahead
and
check
the
plan
and
see
if
it
fits
what
I
wanted
to
do.
So
this
is
the
plan,
so
we
can
see
that
it's
going
to
create
a
google
computer,
in
instance,
and
it's
the
name
of
the
resources
vm
instance
and
all
of
those
things-
and
here
you
can
see.
C
I
didn't
specify
any
labels
if
you
remember
from
the
from
the
code
but
teratag
inserted
the
label,
as
I
wanted
to
as
an
environment,
name
and
the
environment
name
value
as
well,
and
it
did
that
automatically
without
any
code
change
and
think
if,
if
you
have
like
a
large
application
with
a
lot
of
resources
and
a
huge
code
base,
this
will
be
down
automatically
for
you,
which
is
kind
of
cool
and
great.
You
don't
have
to
worry
about
that.
C
C
C
I
won't
do
that
because
I
already
have
like
the
resources
in
gcp,
but
let's
go
and
see
what
what
does
it
mean
in
google
cloud
to
have
those
tags,
so
I'm
going
to
focus
on
cost
because
it's
like
the
biggest
issue
with
tags
and
labels-
and
here
is
the
report
of
n0
gcp
we're
not
based
on
gcp,
it's
just
some
stuff
that
we've
run
there
and
you
can
see
the
cost
is
in
shekels
because
we're
in
israel
and
then
I
want
to
see
okay.
C
This
is
the
entire
the
entire
project
feeling
I
don't
want
that.
I
want
just
to
take
a
look
at
my
environment.
So
basically
here
I
can
basically
say:
okay,
I
wanna
filter
by
a
label.
You
can
see
that
that's
the
label
environment,
I
name
and
then
I
have
three
values.
So
let's
take
out
production
because
I
don't
want
to
deal
with
production.
C
I
don't
want
to
deal
with
github
because
you
know
they're
not
interesting
anymore,
and
here
I
can
see
a
graph
that
tells
me
exactly
how
much
that
environment
and
those
resources
cost
me,
and
then
you
can
do
that
based
on
teams
based
on
users,
then
on
services
and
and
really
take
a
great
bi
tool,
like
google
reports
on
the
billing
side
and
and
take
it
to
another
level,
with
all
those
filters
on
on
labels
cool,
so
that's
gitlab
and
how
it
uses
it.
C
I
wanted
to
show
you
that
under
infrastructure
you
have
also
terraform
and
under
terraform.
I
can
see
the
states
of
this.
Basically,
I
have
one
state
here,
but
I
can
download
the
json.
I
can
lock
the
state,
so
nobody
else
can
can
access
it.
I
can
do
a
lot
of
stuff
on
that,
but
have
visibility
on
which
states
do
I
have
under
this
repository
cool?
So
that's
great.
I
want
to
show
you
another
thing,
and
this
is
how
n0
integrates
with
git
lab.
C
So
what
we
do
beside
of
so
basically
android
is
a
platform
that
manages
all
of
those
cloud
deployments
and
give
you
a
way
to
manage
all
those
environments
in
in
an
easy
and
self-service
way.
But
then
we
want
to
integrate
with
the
pipelines
that
devops,
basically
they
love
and
and
nurture,
which
is
basically
writing
code
and
doing
merge
requests.
C
And
here
I
have
like
a
repository
that
I've
created
a
merge
request
and
I
changed
some
code
like
infrastructure's
code
and
now
I
have
a
comment
on
this
pulling
quest,
saying:
okay,
your
code
changes
will
basically
add
a
new
resources,
it
won't
change
any
resource
and
it
won't
destroy
any
resource.
But
if
you
want
to
see
this
is
the
plan
that
we
saw
earlier
and
now
it's
on
the
merge
request,
and
this
is
quite
cool
because
you
know
every
time
I
push
a
new,
a
new
code.
C
I
will
able
to
see
exactly
what
will
change
on
an
actual
environment,
and
this
is
kind
of
the
ci
of
continuous
integration
on
top
of
infrastructure's
code.
Another
thing
that
we
do
is
basically
give
you
a
cost
estimation
that
telling
you
okay,
those
changes
that
you've
made
are
gonna
cost
you
x
amount
of
dollars,
and
we
can
show
you
the
diff
from
the
the
the
last
deployment
that
you've
made
and
also
the
total
of
how
much
this
environment
will
cost.
In
this
case.
It's
it
does
nothing.
So
it's
it
doesn't
cost
me
anything.
C
It's
actually
not
going
to
create
any
resource
on
cloud
provider,
but
basically
this
will
also
get
you
the
ability
to
get.
You
know
value
in
terms
of
your
code
and
how
will
it
affect
the
cost
of
those
those
environments
and
those
cloud
resources,
and
basically,
we
have
like
links
back
to
to
and
zero
platform.
C
If
you
want
to,
you
know,
take
a
deeper
look
on
the
environment
and
the
states
and
and
what
exactly
is
going
on
there
directly
from
your
pull
request,
and
this
comment
will
be
updated
based
on
your
on
each
push
you
will
make
so
here
I
can
see
like
the
exact
deployment
and
who
did
it
and
the
link
back
to
the
pr
and
how
much
time
it
is
cost
and
where
it
started
and
from
which
template
and
which
revision
and
go
through
all
the
logs.
C
That
basically
were
there
and-
and
I
have
like
the
cost
estimation-
and
I
see
the
environment
and
give
me
a
better
overview
of
the
entire
environment
that
I
currently
have
under
that
project
in
the
ngo
platform
cool.
C
So,
basically,
that's
it
in
terms
of
the
live
demo.
I
hope
you
got
it.
So
we
took
a
look
at
nzuro
and
now
it
integrates
with
gitlab,
using
the
templates
creation
and
pulling
terraform
code.
The
merge
request,
the
cost
estimation
of
merge
requests
and
we
actually
also
have
a
private
model
registry.
C
That's
it
there's
other
notable
open
source
for
infrastructure
scope
that
you
can
check
out
like
chekhov,
which
is
on
the
security
side
infrakos,
which
is
on
the
coast
side
and
terrascan,
which
is
also
in
the
security
and
there's
atlantis.
That
is
basically
automation
on
top
of
a
pull
quest
for
terraform,
so
you
can
go
and
check
it
out.
I
guess
that's
it
and
now
q,
a.
A
So,
thank
you
so
much
for
the
time
in
the
presentation
right
before
we
do
q
a.
I
don't
see
any
questions
in
the
notes
documents.
So
we've
got
an
open
floor,
but
I
want
to
launch
a
quick
poll
for
the
audience
here
about
your
familiarity
with
terraform
and
infrastructure
as
code,
so
I
just
launched
that
poll.
We
appreciate
your
responses
and
do
we
have
any
questions
for
our
guests.
D
Yeah,
so
I
just
wrote
it
into
the
doc
cause
I'll
verbalize
it
here,
it's
edmund.
What
is
the
commercial
opportunity
for
enb?
D
Oh
for
your,
in
working
with
git
lab.
C
So
basically,
we
have
a
lot
of
customers
that
are
using
gitlab.
Basically,
their
telephone
code
is
based
in
gitlab.
We
also
have
an
offering
for
gitlab.com
and
gitlab
enterprise,
and
we
have
a
few
customers
on
both
sides.
So
our
offering
is
basically
integrated
with
git
lab
and
the
merge
request.
C
We
don't
have
partnership
with
gitlab
yet,
but
we
might
have
in
the
future,
but
it's
separate
tool
than
gitlab,
so
our
focus
on
is
on
managing
the
deployments
and
the
environments
in
a
higher
level
and
giving
the
devops
the
ability
to
create
kind
of
guardrails
on
top
of
their
deployments
and
creating
a
self-service
management
platform
for
all
the
everybody
that
needs
the
environment
if
it's
a
devops,
a
developer,
a
qa
and
automation,
or
even
sales
engineers
or
sales
people
that
needs
like
environment
for
poc
and
giving
them
the
ability
to
manage
that,
both
in
terms
of
basically
an
easy
tool
to
spin
up
new
environments,
both
in
terms
of
guardrails
that
you
can
apply
on
those
deployments,
both
in
terms
of
cost.
C
We
can
give
you
using
teratag,
basically
give
you
exactly
how
much
an
environment
costs
you.
So
we
have
like
the
basically
we
pull
out
from
the
cloud
provider
how
much
and
specific
environment
thieves
cost
you
exactly
like
you,
you
saw
in
gcp.
We
can
do
that
also,
if
you're
multi-cloud,
and
gives
you
basically
also
the
cost
over
time
and
correlation
to
the
deployment.
So
you
can
see
like
bad
deployments
that
cost
you
a
lot
and
the
cost
estimation
side.
C
D
Okay,
so
if
I
can
just
summarize
from
enriching
what
we
do
with
tarot
form,
already,
tara
tag
is
wonderful
and
being
able
to
label
or
tag
the
resources
being
created.
C
D
And
how
what
what
is
the
cost
of
your
product.
C
Oh
okay,
so
we
have
like
a
pricing
page
and
it
depends
on
the.
Basically
we
have
a
free
tier.
We
have
like
a
sas
offering,
which
is
based
on
either
users
or
environments
and
it's
20
20
per
user
or
environment,
depending
on
which,
which
which
tier
you
want
to
go.
C
And
then
we
have
like
a
self-hosted
agents
which
basically
gives
you
the
ability
to
run
the
terraform
code
within
your
cloud
applications
or
cloud
provider
which
is
goes,
you
know
higher
in
the
in
the
spectrum
of
the
price
range,
and
then
we
have
like
the
enterprise
version
as
well.
So
it
varies.
I
think
you
know
an
average
customer
right
now
is,
I
think,
around
a
thousand
dollars
a
month.
C
That's
like
the
average
price
range
right
now,
where
the
big
enterprise,
you
know,
pay
a
bit
more
because
they
consume
more
deployments
and
more
of
the
of
the
usage
and
has
a
lot
of
more
people
on
the
platform.
So,
basically,
a
lot
of
customers
have
a
lot
of
developers
on
the
platform
for
creating
ephemeral
environment
for
their
future
branch
and
and
then
the
price
goes
higher
and
higher.
A
All
right,
we
just
got
a
few
more
minutes
here,
don't
see
any
other
questions
in
the
document,
any
other
questions
or
comments
for
our
guests.
A
All
right!
Well,
I
think
that's
all
so
I
want
to
thank
you
again
so
much
for
joining
us
think
you
had
sick.
Thank
you
omri.
I
hope
everybody
has
a
fantastic
day
and
we
will
see
you
again
in
two
weeks.
C
Thank
you
very
much
and
thank
you
for
having
me
it's
been
a
pleasure.