►
From YouTube: OCB: Simplifying Deployment,Management & Troubleshooting 3rd Party Apps Treva Williams (Replicated)
Description
Replicated KOTS is an application packaging and distribution platform that provides a management UI to deploy and manage 3rd party apps. KOTS eliminates the need for end users to manually edit Helm Charts in order to deploy a vendor application and enables easy 1-click updates as well as dramatically easier troubleshooting via automated log collection and analysis and full end user redaction for secure sharing of diagnostic bundles.
A
A
A
A
Well,
hello,
everybody
and
welcome
to
another
openshift
commons
briefing
this
time.
It
is
my
great
pleasure
to
welcome
back
trevor
williams
who's
now
with
replicated
and
josh
dewin
who's.
Also
with
replicated
and
we're
going
to
talk
about
some
interesting
stuff.
That's
going
on
over
at
replicated
that
they're
doing
four
apps
on
openshift
and
it's
a
long
title
there
simplifying
deployment
management,
troubleshooting
of
third-party
enterprise
apps
on
openshift,
with
replicated
cots
I'm
gonna.
A
Let
trevor
and
josh
introduce
themselves
and
take
it
away
and
give
the
presentation
there's
a
really
neat
demo
coming
too
and
then
we'll
have
live
q
a
at
the
end.
If
you
have
questions,
throw
them
in
the
chat
wherever
you
are
twitch
youtube
or
in
bluejeans,
and
we
will
relay
them
back
to
the
the
speakers
and
try
and
get
them
answered
so
without
any
further
ado
trevor.
Welcome
back
and
take
it
away.
B
Thank
you
so
much
diane
for
the
amazing
introduction,
I'm
so
happy
to
be
here.
I'm
super
excited
time:
appropriate
greetings,
openshift
community.
I
am
thrilled
to
be
here
and,
as
diane
said,
I
am
presenting
about
super
long
title.
So
let's
go
ahead
and
get
jump
into
it.
So,
let's
introduce
replicated
as
a
company
first
so
replicated
was
founded
in
2015
by
mark
campbell,
who
was
our
cto
and
grant
miller?
B
Who
is
our
ceo
and
what
they
do
specifically
mark
what
they
do
is
they
have
created
a
complimentary
series
of
both
enterprise
and
open
source
tools
for
multi-prem
environments,
including
the
ones
that
we're
going
to
be
talking
about
today.
B
As
for
the
voices
behind
the
screen,
there
is
my
colleague,
josh
dewin.
You
can
find
him
on
twitter
at
georgetown.
He's
waving
with
that
beautiful
tropical
background.
Josh
is
a
linux
docker
and
kubernetes
superfan,
and
he
is
also
a
solution
engineer
for
replicated
and
he
also
sporadically
contributes
to
some
open
source
projects
like
troubleshoot,
dot,
sh,
nudge,
wink,
wink
and
also
some
open
source
frameworks
like
open,
fast
and
is
also
apparently
a
pretty
big
fan
of
coffee
and
cats.
So
I
mean
you
can
see
how
we'd
be
friends
as
for
me.
I
am.
B
B
I've
been
involved
in
several
open
source
communities
for
a
while
openstack,
openshift,
kubernetes
and
a
few
other
projects,
and
in
the
before
times
I
traveled
a
lot
with
that
little
guy
in
photo
who's
actually
sitting
on
my
desk
right
now
and
provided
that
kubecon
la
actually
happens
this
year.
You
can
catch
us
there
along
with
a
huge
replicated
booth
and
if
you
do
manage
to
make
it
to
kubecon
drop
by
our
booth,
because
we've
got
some
really
cool
swag.
B
So
our
cto
mark,
one
of
his
favorite
things
to
do-
is
to
build
out
really
straightforward,
open
source
tooling,
to
solve
everyday
problems
for
developers,
engineers,
sys
admins,
like
those
little
annoying
things,
and
sometimes
those
big
annoying
things
that
take
forever
to
fix.
B
He
finds
super
quick
ways
to
fix
them,
and
then
he
open
sources
it
so
first
project
and
the
project
that
we're
talking
about
today
is
cuts
and
cots
is
an
abbreviation
of
kubernetes
off-the-shelf
software,
and
what
cots
is
is
it's
a
sophisticated
and
highly
adaptable,
containerized
application,
delivery
and
management
platform,
and
it
supports
and
also
can
build
air
gaps
and
embedded
clusters.
We'll
talk
more
about
what
embedded
clusters
are
in
just
a
second,
such
as
hole,
type
and
then
up
next
is
troubleshoot.
That's
one
of
my
personal
favorites
troubleshoot
is
a
two-part
admin.
B
Toolset
that
validates
environments
collects
sanitizes
and
analyzes
data
and
a
ton
more.
I
could
spend
all
day
just
talking
about
troubleshoot
pre-flight.
That's
only
one
component:
let's
not
even
jump
into
like
the
other
components
too,
like
it
does
so
much.
If
you
have
time,
I
highly
encourage
you
to
jump
over
to
troubleshoot.sh
and
check
out
the
website
and
speaking
of
websites.
B
Outdated
has
the
most
amazing
layout
ever,
but
what
it
actually
does
is
it
analyzes,
outdated
cluster
images
and
how
it
does
that
is
by
comparing
the
content
sha
of
the
original
image
repo
to
the
image
that
is
running
in
your
cluster
and
then
it'll
tell
you
how
outdated
that
image
is,
or
if
it's
outdated
at
all,
it's
super
cool.
It's
a
cute,
funnel
plug-in
it
takes
like
30
seconds
to
install.
B
You
should
definitely
check
that
one
out,
but
before
you
do
that,
go
to
the
website
outdated.sh,
it's
amazing
and
it'll
make
you
want
to
buy
some
roller
skates
up.
Next
is
unfork,
that's
another
cube,
cuddle
plugin,
and
what
that
does?
Is
it
reconnects,
forked
home
charts
to
the
original
upstream,
which
is
super
useful,
because
I
mean
it's
a
nightmare
dealing
with
an
home
chart
or
anything
that
you
forked
from
an
original
repo
and
trying
to
reconnect
it.
I
hate
that
next
up
is
schema
hero.
B
So
if
you
are
involved
with
linux
foundation
or
cncf,
you
may
or
may
not
have
seen
mention
of
it
and
you're
certainly
going
to
see
a
whole
lot
of
mention
of
it
at
cubecon
this
year,
which
I
certainly
hope
you're
all
going
to
be
attending
and
then
last
but
not
least,
is
curl,
which
is
a
play
on
curl
with
a
c
because
it
uses
curl
with
a
c.
That's
I
digress,
and
this
is
where
the
embedded
part
in
the
embedded
cluster
that
I
was
referring
to
and
cox
comes
from.
B
Curl
is
a
tool
for
building
customized,
kubernetes
installers
and
distributors,
and
I'm
super
excited
to
announce
this.
It
officially
became
a
cncf
certified
kubernetes
installer,
as
of
this
past
friday
august,
27th
so
round
of
applause
for
our
engineering
team.
For
getting
that
done.
That's
amazing.
B
Now
all
of
these
projects
that
I
just
listed
are
open
source.
They
play
extremely
well
with
red
hat
and
openshift
and
they're
available
for
starring,
forking,
contributing
and
just
otherwise
general
interaction
on
the
replicated
hq
github,
except
for
schema
hero
that
has
its
own
github,
which
is
schema
hero.
B
I
would
be
thrilled
if
you
stopped
by
and
checked
them
out,
because
I
would
love
to
see
feedback
and
interaction
from
red
hat
people,
because
I
am
still
a
red
hat
fan
girl
after
all
these
years.
So
I
want
to
see
red
hat
involved
with
my
new
job,
which
I
absolutely
love,
and
with
all
these
projects
that
I
manage.
B
There
are
also
a
number
of
other
open
source
projects
that
replicate
has
available
that
I
honestly
just
couldn't
fit
on
this
page
and
honestly,
I
could
talk
about
these
all
day,
but
we
don't
have
time,
but
if
you're
curious
about
what
those
are,
you
can
follow,
replicated
on
twitter
at
replicatedhq
or
send
me
an
email
like
none
of
this
is
a
secret
I'll.
Tell
you
what
they
are
all
right.
So
I
guess
that's
enough
about
that:
let's
go
ahead
and
move
on
and
let's
talk
cots
and
we're
going
to
talk,
curl
and
troubleshoot
too.
B
So
one
of
the
many
features
that
makes
replicated
cots
such
an
innovative
and
useful
platform
are
the
vendor
and
admin
tools.
So
the
vendor
tools
enable
software
vendors
to
create,
monitor,
control,
application,
release
channels,
licensing
and
entitlements
across
multiple
environments.
That's
a
mouthful,
it
will
click
and
it'll
make
more
sense.
B
Once
you
see
the
demo
while
admin
tools,
they
handle
installation
and
configuration
of
the
customer
environment
to
best
support
your
apps
push,
updates
and
also
give
access
to
preflight
and
support
tools
by
troubleshoot.sh,
which
I
was
just
evangelizing
one
page
ago,
when
we
get
into
the
demo
you'll
see
how
all
of
these
tools
interact
with
one
another
and
how
they're
so
complementary.
B
Basically,
whether
this
is
an
air
gap
customer
that
doesn't
have
access
to
the
public
internet
or
if
it's
a
customer
that
has
public
access,
you
can
bundle
in
a
custom,
kubernetes
installer,
along
with
your
application,
to
set
up
the
customer
environment
exactly
how
you
need
it
for
your
application
to
run,
send
it
over
to
the
customer
either
in
a
tar
bundle
or
with
a
curl
url.
With
a
c.
They
run
that
bada
bing,
bada,
boom
environment
is
set
up,
applications
installed,
that's
it!
B
So
that's
what
makes
or
that's
one
of
many
things
that
makes
cots
and
curls
so
cool,
but
I'm
kind
of
going
off
on
the
tangent.
Again,
let's
go
ahead
and
move
on,
as
I
mentioned,
cops
is
pretty
popular
with
isvs,
independent
or
yeah
independent
software
vendors.
Some
of
our
customers
include,
but
are
not
limited
to
by
a
long
shot.
Smart
bear
hashicorp
drama
software
broadcom
and,
as
a
matter
of
fact,
60
of
the
top
fortune
100
companies
use,
replicate
it
to
manage
their
applications,
so
we're
doing
pretty
good
over
here.
B
I'm
saying
all
right,
so
that
is
enough
of
me,
rambling
on
I'm
sure
you're,
tired
of
me,
stuttering,
so
I'm
gonna
hand
it
over
to
josh.
Take
it
away.
Man
thanks.
C
C
Thanks
treva
for
this
introduction,
so
let's
get
started
I'll
start
sharing
my
screen
here.
I'm
gonna
share
a
couple
of
applications
at
the
same
time,
and
this
is
where
I
would
like
to
get
started.
C
So,
if
you
look
at
replicated,
there
are
really
two
sides
of
the
spectrum.
One
is
what
vendors
like
a
hashicorp,
a
harness,
but
also
many
others
like
uipath.
What
they
have
access
to,
which
is
what
I'm
currently
sharing
here
and
the
other
side
of
the
spectrum
is
what
customers
of
those
vendors
have
access
to.
So
how
do
they
experience
the
installation
of
the
vendors
application,
but
also,
how
do
they
experience
troubleshooting
the
application?
If
something
goes
wrong
during
that
installation?
C
So
I
would
like
to
start
with
what
we
call
the
vendor
portal,
which
is
what
I'm
currently
showing
here.
In
this
case,
I
have
a
single
demo:
application
called
the
openshift
sentry
application
and
in
the
vendor
portal,
one
of
the
main
concepts
is
what
we
call
channels,
so
channels
are
even
compared
to
like
your
ci
cd
pipelines,
so
you
have
like
in
this
case
as
an
example.
You
have
a
stable
channel,
a
beta
channel,
an
unstable
channel.
You
can,
of
course,
have
any
channels
you
want.
A
very
common
example
is
in
your
application.
C
Each
time
you
have
a
feature
branch
that
will
correspond
with
the
corresponding
channel
inside
the
vendor
port
and
in
most
cases
those
channels
are
even
auto
generated,
because
everything
is
typically
hooked
up
with
ci
cd
solutions.
So
each
time
there's
a
new
git
branch
created
the
whole
ci
cd
kicks
in,
and
it
creates
the
whole
channel
in
an
automated
way.
C
It's
very
common
once
the
feature
branch
is,
let's
say,
merged
into
the
main
branch.
The
main
branch
goes
to
the
unstable
channel
once
there's
some
final
qa
testing
that
has
been
done,
it
might
go
to
the
beta
channel
and
once
there
is
a
full
approval,
it
is
going
to
go
to
the
stable
channel
in
there.
C
Just
gonna
silence
my
phone
here
for
a
second
there
we
go
one
concept
that
you
have
in:
there
is
what
we
call
releases,
and
you
can
see
here
this
one
has
a
latest
release
in
there.
Another
concept
that
we
have
in
each
channel
are
what
we
call
customers.
The
customers
are
going
to
correspond.
One-On-One
with
licenses.
C
First
look
at
releases
and,
let's
open
this
up
here,
see
I
have
a
couple
of
releases
in
there,
but
I
want
to
show
you
what
the
release
looks
like
on
the
left.
What
you
see
here
are
a
whole
set
of
yellow
files
and
what
you
have
below
the
horizontal
line.
Those
are
yellow
files
that
are
what
we
call
application
specific.
C
So
as
an
example,
I
took
the
sentry
enterprise
application.
So
all
the
yml
files
that
you
see
here
below
are
really
specific
to
the
sentry
demo
application,
the
yellow
files
that
you
see
above
the
horizontal
line.
Those
are
what
we
call
replicated
specific
yellow
files,
so
those
are
making
the
application
a
replicated
application.
C
C
Now,
why
are
there
several
yellow
files
that
are
replicated
specific?
Well,
let's,
let's
highlight
a
couple
of
them
and
then
maybe
to
start
with,
there
is
what
we
call
here:
a
preflight
level
file
and
the
preflight
yemo
file
is
defining
what
you
could
call
the
minimum
requirements
that
are
needed
in
order
to
install
the
application,
and
I'm
going
to
come
back
a
lot
more
onto
this
later
on,
because
this
is
based
on
a
framework
called
troubleshoot
dot
sh,
which
is
fully
open
sourced
and
can
even
be
used
outside
the
scope
of
replicated.
C
C
If,
in
my
openshift
cluster
I
have
less
than
three
nodes,
then
the
preflight
check
is
gonna
fail.
If
I
had
less
than
five,
then
we're
gonna
send
the
one
message:
if
it's
obviously
five
or
more
then
we're
gonna
define
the
cluster
has
enough
nodes.
So
this
is
a
very
simple
check,
which
is
very
common.
Where
you
see
oh,
I
have
an
enterprise
application
that
needs
to
be
installed
an
openshift
or
a
kubernetes
cluster.
C
In
order
to
install
my
application,
you
need
at
least
x
number
of
nodes
in
order
to
validate
that
before
doing
the
actual
install,
you
just
add
an
analyzer
that
checks
the
number
of
nodes.
Similarly,
you
can
do
that
with
memory
cpu
and,
basically
anything
that
you
can
run
in
a
bot.
You
can
collect
information
from
and
then
start
running
analyzers
on
that
you
can
see.
C
There
are
many
more
yellow
files
in
here,
yeah
we're
not
only
talking
about
validating
the
minimum
requirements,
we're
also
talking
about
generating
support,
bundles
or,
for
example,
doing
automated
backups
of
the
application.
So,
there's
quite
a
lot
of
different
yaml
files
that
make
up
the
application
itself.
C
Going
back
to
my
channels,
so
each
channel
is
having
a
release
assigned
to
it
potentially,
but
a
channel
can
also
have
what
we
call
multiple
customers.
So
very
typically,
if
you're
delivering
enterprise
software
into
finance
say
financial
institution,
then
you
will
also
have
to
provide
what
we
call
call
a
license
to
that
financial
institution.
So
if
I
go
here
to
customers,
then
you
can
see
I
have
in
this
demo
environment.
C
I
have
a
single
customer,
which
is
some
bank
in
there,
and
if
I
open
up
the
customer,
then
you're
gonna
see
there's
several
details
in
there
to
have
my
customer
name.
The
customer
is
assigned
to
a
certain
channel.
So
that's
gonna
be
the
release
that
they
will
be
able
to
install,
but
the
customer
can
also
have
what
we
would
call
an
expiration
policy
which
is
very
commonly
used.
For
example,
when
a
customer
is
doing
a
trial
yeah.
C
If
it's
a
paid
customer,
they
might
not
have
an
expiration
date,
but
there
might
also
be
customers
who
are
vendors.
Sorry,
who
are
doing
installations
that
maybe
they
have
a
community
version
of
the
application
and
then
the
installation
is
going
to
show
community
if
their
customer
is
upgrading
to
the
enterprise
version,
then
they've
switched
the
license
to
a
page
first
in
there
and
there's,
of
course,
many
more
things
in
there.
C
C
Those
on-prem
sometimes
have
what
we
would
call
the
air
gaps
requirement,
meaning
they're
not
able
to
access
the
public,
internet
or
public
container
registries
in
order
to
download
all
the
images.
They're,
fully
isolated,
air-gapped
environments,
and
sometimes
even
as
far
as
the
only
way
to
bring
in
the
application
or
an
updated
version
of
the
application,
is
to
physically
walk
in
even
with
a
disc
containing
all
the
tarballs.
C
C
For
our
enterprise
customers,
we
even
provide
what
we
would
call
a
download
portal.
I'm
just
going
to
generate
a
password
here
because
it's
password
protected,
let's
copy
this
and
then
I'll
show
you
what
the
download
portal
looks
like
yeah.
So
this
can
be
shared
with
a
vendor's
customer,
and
you
can
see
here.
I
have
a
demo
application.
I
already
used
the
openshift
logo,
but
I'm
now
into
the
download
portal
of
my
customer
called
sunbank
and
my
customer
can
go
here
download
their
license.
They
can
download
the
cards.
C
Admin
console
cards
as
the
airguide
bundle,
so
this
is
the
cards
cube,
ctl
plugin
to
install,
but
also
the
different
images
to
install
into
the
cluster,
but
also
the
openshift
application.
It's
sorry,
the
sentry
application
air
gap
bundle
itself.
C
C
So
all
these
can
be
customly
configured
in
here
and
then
all
of
these
custom
fields
are
available
during
installation
of
the
application,
but
also
at
runtime.
So
on
the
customer
environment,
the
cards
admin
api
exposes
an
endpoint
that
allows
your
application
to
check.
If,
let's
say,
for
example,
the
license
was
expired.
C
What
the
customer
type
is,
but
also
all
the
values
of
the
custom
fields
so
that
you
can
start
acting
on
that,
and
maybe
if
the
number
of
users
goes
above
then
that
you
will
automatically
start
sending
a
message
or
showing
a
message
that
your
customer
must
contact
the
sales
department
or
you
start
automatically.
Upgrading.
C
The
next
thing
I
want
to
show
you
is
what
it
would
look
like
from
a
customer
end
user
perspective,
so
also
on
the
channels
for
each
of
these
channels.
What
we're
exposing
is
the
installation
commands
to
install
the
application
inside
the
kubernetes
cluster
or
the
openshift
cluster?
If
it's,
if
the
customer
doesn't
come
with,
let's
say
the
openshift
cluster
installed
or
they
just
come
with
a
virtual
machine,
an
ec2
instance.
C
C
The
girl
cluster
girl
is
our
upstream
version
of
kubernetes
and
then
it's
going
to
be
installed
in
there
and
on
top
it's
going
to
install
calls
on
top
it's
going
to
install
the
application
itself
in
the
case
that
someone
is
already
having
kubernetes
cluster
up
and
running
and
that's
where
openshift
comes
into
play.
So
they
already
have
openshift
up
and
running
openshift
installed.
Then
it
basically
comes
to
installing
the
application
with
the
following
two
commands.
C
First,
one
is
installing
the
god's
tube
ctl
or
oc
plug-in
in
there,
which
is
the
first
one
and
the
next
one
is
using
the
cards
tube,
cdl
plug-in.
What
you
will
do
is
it's
going
to
install
the
openshift
sentry
application
in
there,
and
that
is
also
what
I've
already
done
upfront,
because
it
takes
a
couple
of
minutes
to
do
this,
so
I
spin
it
up
an
openshift
cluster
and
then
using
the
oc
command.
I
actually
installed
my
sentry
application.
C
The
first
thing
it
does
it
does
is
it
asks
for
the
namespace
it's
going
to
create
the
namespace.
It's
asked
me
for
providing
an
admin
password
and
then
it
set
up
automatically
a
port
forward.
For
me.
I
cancelled
this
one
because
I'm
running
this
on
a
google
cloud
vm,
so
I
want
to
expose
that
same
cards,
adm
port,
using
port
forwarding
all
the
addresses
once
that
is
established
me
as
an
end
user.
I
can
go
into
my
application
and
I
can
browse
to
that
port
and
I
can
start
logging
in
with
that
corresponding
password.
C
So
let
me
grab
that
password
again.
C
So,
in
order
to
install
sentry
as
a
demo
app,
then
the
next
thing
I
have
to
do
is
uploading
that
license
file.
So
if
I
go
back
go
step
back,
I
go
back
to
the
vendor
portal
because
I
talked
about
customers.
I
talked
about
licenses
well,
each
of
these
customers.
Also,
you
have
a
license
file
in
there.
It's
just
a
yaml
file
that
can
be
shared
with
customers,
provide
it
to
them.
C
So,
let's
save
this
file
go
back
here
to
my
customer
experience
and
then
I
can
in
this
case
I
can
drag
and
drop
this
yaml
file
in
there
and
upload
my
license
uploading.
This
license
means
also
that
god's
adm
will
understand
which
application
is
installed,
but
it
will
also
know
that.
Oh
for
this
particular
customer
air
gap
was
enabled,
so
I'm
going
to
present
that
customer
with
the
option
to
install
in
an
air
gap
environment.
So
in
that
case
we
have
to
provide
the
location
of
the
registry.
It's
an
existing
cluster.
C
Ask
me
for
configuring,
my
application,
so
once
the
license
is
installed,
it's
going
to
allow
me
to
configure
my
application,
which
is
what
you
see
here,
what
you
see
happening
here.
So
what
is
this
all
about?
Well,
if
you're
developing
any
application
in
there,
it
doesn't
even
matter
if
you
use,
yellow
files
or
helm
charts.
C
C
So
vendors
can
configure
this
with
and
I'm
going
to
switch
here
to
vs
code
to
show
you
what
it
looks
like
so
here
on
the
left.
You
see
all
these
manifest
files,
in
this
case
they're
all
grouped
together.
C
I
previously
showed
already
like
the
preflight
manifest
file,
but
there
is
another
replicated
specific
manifest
file,
which
is
the
configuration
you
can
see.
This
is
really
a
one-on-one
mapping
with
what
you
saw
in
the
ui
a
couple
seconds
ago.
So
you
see
like
we're
asking
here
for
the
admin
username,
the
password
number
of
worker
replicas
database
configuration
whether
it's
embedded
or
external-
and
you
see
also
some
notations
in
here,
for
example
like
this
one.
This
is
auto-generating
a
secret
key
behind
the
scenes
so
that
the
customer
doesn't
have
to
do
that.
C
C
In
this
case,
I
can
accept
the
defaults
in
here,
so
I
can
just
press
continue
once
I
press
continue.
This
gives
god's
adm.
Basically,
all
the
information
that
is
needed
in
order
to
you
could
say,
install
the
application.
So
we
have
the
license
information.
We
have
the
custom
entitlements
like
say,
for
example,
number
of
users,
but
we
also
have
the
custom
configuration
which
storage
options
to
use.
What
should
be
the
ingress?
What
should
be
the
host
all
that
information
should
be
available
at
this
moment?
So
what
based
on
that
information?
C
What
we
can
do
is
we
can
validate
the
environment
if
it
meets
the
minimal
requirements,
so
that
corresponds
with
running
all
these
preflight
checks.
That
is
what's
currently
happening
in
there
and
obviously,
common
preflight
checks
are,
let's
say,
for
example,
cluster
node
count
number
of
cpu,
but
also,
let's
say
the
customer,
provided
an
external
postgres
to
the
end
points.
Does
that
postgres
meet
the
minimal
requirements?
Does
it
meet
the
minimum
version
of
poetry?
Can
we
even
connect
with
it?
Does
it
have
the
right
credentials
in
there?
C
This
takes
a
while.
So
I
actually
ran
this
a
little
bit
before
already
once
that
is
finished.
The
output
of
that
will
look
very
similar
to
like
this,
so
we're
checking
cluster
node
counts.
In
this
case.
It's
giving
me
a
warning
things
like
ephemeral
storage.
Is
there
a
default
storage
class?
So
all
of
this
is
configurable
within
that
single
yellow
file,
which
you,
as
an
application
creator,
can
provide
in
there,
and
all
of
this
is
also
based
on
a
framework
which
is
called
troubleshoot
dot.
Sh.
C
C
The
options
are
available
in
there
and
what
I
wanted
to
show
is
because
I've
talked
a
little
bit
about
postgres.
There
is,
for
example,
on
the
analyzer
there's
many
analyzers
available
out
of
the
box,
but
there
is
also
a
postgres
analyzer
available
that
you
can
use,
as
is
so.
What
this
one
does
here
is
in
the
preflight
checks.
It
checks
with
a
collector
if
it
can
connect
with
the
postgres
instance
itself,
then
using
an
analyzer
as
an
example.
C
Anyway,
you
see
some
of
these
checks.
Failing
here,
just
want
to
make
a
side
note.
These
are
failing
on
purpose,
so,
just
to
give
you
an
idea
of
what
it
would
look
like
if
one
of
these
checks
fail
and
you
can
actually
link
them,
you
can
each
preflight
check.
You
can
put
a
link
that
points
back
to
your
knowledge
base.
That
gives
more
information
of
how
to
configure
this
or
what
needs
to
be
changed
or
what
would
fail
if
you
overruled
it
because
customers
can
overrule.
C
So
what
it's
doing
now,
it
is
actually
deploying
my
application
yeah,
so
it
is
actually
deploying
all
those
yaml
files,
all
those
kubernetes
resources
onto
my
cluster,
and
one
thing
that
you
see
here
is
from
a
ui
experience.
We
are
checking
here
the
status
you
can
see.
It's
still
showing
unavailable.
C
So
so
far,
what
I've
shown
is
like
what
we
tend
to
call
like
a
day:
one
of
operations
yeah.
This
is
the
initial
install
the
first
install
of
the
application,
we're
not
changing
anything
day.
Two
of
operations
is
when
things
might
start
going
wrong
in
the
application,
and
that
is
where
what
we
call
support.
Bundles
and
troubleshoot
comes
into
play.
So
end
users
of
cards
humanities
off
the
shelf.
They
also
have
access
to
troubleshoot
and
they
can
also
start
analyzing
their
application,
but
a
single
click
on
the
button.
C
C
So
in
my
application
I
also
have
a
support
bundle
resource
that
defines
which
information
I
am
collecting.
I'm
collecting
certain
information
while
I'm
generating
my
support
bundle
and
then,
on
top
I'm
anal
putting
analyzers.
On
top
of
that
that
are
checking
the
information
that
has
been
collected
there.
C
So
very
common
thing
there
is,
you
might
have
multiple
resources
that
are
being
deployed.
You
have
multiple
bots
that
are
running
each
producing
log
output.
Well,
you
can
actually
start
collecting
all
these
logs
in
there
and
then
start
defining
analyzers
on
top
of
that
and
a
very
common
analyzer
there
is,
you
can
see
it's
already
finished
here,
but
I
want
to
first
go
to
troubleshoot
itself.
C
Is
there
is,
for
example,
also
an
analyzer
that
allows
you
to
use
regular
expressions
and
as
an
example,
what
you
have
here
is
sort
of
collecting
the
log
files
of
all
our
parts
of
our
application
and
then,
as
an
analyzer,
I'm
defining
a
regex
to
see.
Oh,
if
there
is
this
kind
of
a
message
that
the
password
authentication
failed
for
user,
then
me
as
an
application
developer.
C
C
So
if
you
run
this
from
going
back
here
a
couple
bit,
you
can
run
this
from
the
command
line
with
the
cube,
ctl
plugin.
There's
a
preflight
and
a
support,
bundle,
cube
ctl
plugin
switching
here
to
the
support
bundle
side
of
things,
but
you
can
also
run
this
as
part
of
god's
god
gives
you,
then
the
whole
ui
experience
in
there.
If
I
go
back
here
and
god,
this
is
what
the
ui
experience
would
look
like
for
an
end
customer
who
is
installing
this
application,
so
they
get
this
styled
output.
C
C
Obviously,
people
using
troubleshoot
they
have
access
to
the
corresponding
files
and
besides
collectors
and
analyzers,
there's
also
a
third
component
to
troubleshoot,
which
is
what
we
call
adapters
go
back
to
troubleshoot
then
go
ahead
to
the
docs.
So
on
one
side
in
troubleshoot
you
can
define
collectors
there
you
can
see.
There
are
a
whole
bunch
of
collectors
available
out
of
the
box,
and
if
it's
not
there,
you
can
just
create
your
own
pod
in
there
and
create
your
own
collector
of
information.
C
C
They
define
which
information
needs
to
be
taken
out
of
the
collectors
in
order
to
be
able
to
share
the
troubleshoot
support
bundle.
So
what
happened
here
when
I
was
running
is
behind
the
scenes.
There's
also
a
redactor
report,
so
we've
taken
out
things
like
usernames
passwords
ip
addresses,
and
this
is
just
to
make
it
more
secure.
C
End
users
can
also
define
their
own
redaction,
so
they
can
actually
confine
which
additional
redactors
need
to
be
part
of
it.
Yeah
and,
of
course
the
last
thing
is.
This
can
also
be
run
command
line
yeah.
So
this
is
based
on
again
a
cube,
gtl
plugin.
In
this
case
the
support
bundle,
cube
cpl
plugin,
and
then,
if
I
were
to
run
this
command
line,
I
would
actually
run
this
single
cube,
ctl
command.
C
So
one
last
thing
that
I
would
like
to
do
is
give
you
an
example
of
what
would
happen
if
I
start
changing
something
when
I
change
something
in
pre-flights
or
in
support
bundles.
So
one
thing
I'm
gonna
do
is
in
my
preflights,
I'm
gonna
do
one
additional
check
in
there
and
first
of
all,
I'm
gonna
take
a
collector
here.
C
So
I
just
wrote
this
up
front,
so
I
don't
make
any
typos
in
there
next
to
that,
I'm
going
to
add
an
analyzer
in
this
case,
I'm
going
to
use
a
regular
expression,
I'm
going
to
use
text
analyze
and,
as
part
of
my
output
of
my
collector,
I
would
like
to
have
a
200
bag.
If
I
get
status
200
back,
which
is
this
outcome,
then
I'm
going
to
send
the
message.
Yes,
we
can
reach
openshift
commons.
C
If
I
don't
get
a
200
back,
then
this
outcome,
then
I'm
gonna
send
a
message
that
we
can't
reach.
Openshift
comments
might
also
be
that
openshift
comments
is
down,
or
it
might
be
that
I
do
not
have
outbound
connectivity
from
my
cluster.
I'm
going
back
to
my
support
bundle
and
at
the
very
bottom,
I'm
gonna
add
my
analyzer
just
gonna
check
this
one
needs
to
be
indented.
C
There
we
go
and
then
I'm
going
to
save
this
way
in
order
now
to
make
this
available
to
my
end
customer
I
need
to
send
this
new
version
of
my
preflight
yaml
file.
I
need
to
send
this
to
my
fender
portal,
so
I'm
going
to
use
the
replicated
cli
in
here.
Let's
I
guess
I
basically
ran
this
already.
So
what
I'm
doing
here
with
the
replicated,
I
can
do
a
replicated
release
ls.
This
is
going
to
show
me
in
my
vendor
portal,
all
the
releases
that
I
have
available.
You
can
see.
C
I
just
installed
this
particular
one
before
we
started
the
webinar.
If
I
want
to
change
this,
I
can
change
new
release.
You
can
do
replicated
release
create
and
I
do
dash
dash
auto
and
I
want
to
promote
it
immediately
into
the
stable
channel,
because
the
stable
channel
is
also
the
channel
that
I'm
using
in
my
cluster
as
an
end
customer.
C
So
what
this
will
do?
It's
probably
gonna,
oh
yeah,
because
I
used
auto,
so
it's
gonna
create
a
release,
put
it
in
the
stable
channel
in
there
and
it's
gonna
look
into
because
I've
specified
auto
is
looking
into
manifests
in
there.
You
can
just
say
yes,
this
will
send
everything
into
the
vendor
portal.
There.
Vendor
portal
is
now
going
to
have
a
new
version
available,
which
is
going
to
be
sequence.
Number
six
in
there
me
as
an
end
customer.
C
How
do
I
get
this
available
into
my
openshift
environment?
Well,
there's
actually
a
cron
job
running
here
that
constantly
checks
for
updates,
but
I
can
also
trigger
this
myself.
So
I'm
just
going
to
check
here
now
for
updates
into
the
vendor
portal.
If
there's
a
new
version
available,
you
can
see
there
is
a
new
version
available,
there's
a
license
change,
which
I
previously
did,
I
think
in
there.
C
But
there
is
also
an
upstream
update
this
upstream
update
in
particular
that
I'm
interested
in
yeah
and
first
thing
that
we
do
out
of
the
box
is
when
there's
a
new
version.
Is
we
check
the
preflights
again?
So
if
I
go
to
my
pre-flights,
one
thing
that
I'm
particularly
interested
in
is
the
one
that
you
see
here
at
the
bottom
yeah
this
at
the
bottom.
That
you
see
here
is
what
I
just
added
as
an
application
developer.
C
I
added
the
collector,
which
is
sending
an
http
request
to
check
if
I
can
reach
openshift
commons
and
then
I'm
checking
the
output
of
that
one,
which
is
done
here
in
the
text
analyzer,
which
shows
me
that
well
as
an
output,
there
must
be
a
status
200
there.
Because
I
see
I'm
seeing
this
message
and
of
course
I
can
continue
this
one
or
I
can
just
install
the
new
version
of
my
application,
which,
to
be
honest,
isn't
going
to
install
anything
because
it
didn't
change
anything
in
the
actual
application.
A
Wolf,
thank
you
guys
that
was
great
and
and
really
I've
seen
replicated
at
kubecons
and
other
things.
Other
events
and
I've
run
by
the
booth
and
and
done
that.
But
I
think
that
was
probably
the
best
overview.
A
Hang
on
hang
tight
here,
I'll
get
my
my
audio
figured
out
here,
so
that
was
that
was
a
great
demo.
So
thank
you
very
much
for
that.
It
really
finally
pulled
together
everything
that
I
was
wondering
about
where
replicated
was
going
and
how
it
fit
into
the
kubernetes
ecosystem.
So
it
was.
That
was
incredibly
useful
for
me
and
I
hope
so
for
everybody
else
who
watched
and
and
one
of
the
things
trevor
that
and
and
josh
that
I
was
really.
A
It
was
funny
because
you
were
just
as
you
were
demoing
I
was
typing
in.
Can
we
talk
about
the
air
gap
stuff
because
you
know
that
that's
like
one
of
the
more
complicated
use
cases
when
you're
doing
when
doing
some
of
this
stuff
and
you
right
segwayed
right
into
that,
as
I
was
typing
so
good
on
you
guys
for
covering
all
of
that.
A
That
was
really
great
and,
and
one
of
the
things
that's
so
interesting
to
me
about
this-
is
because
I
know
you
had
a
really
long-winded
title
for
this
trevor,
but
it
it
really
now
makes
sense
right
because
you're
not
just
deploying
but
you're,
managing
and
you're
patching
and
you're
upgrading
you're
doing
everything
for
all
of
these
third-party
apps
and
for
any
enterprise.
A
A
I
can
totally
see
the
use
for
this
so
but
we're
things
that
I
always
ask
people
about,
because
I
come
from
a
bit
of
an
I.t
audit
background
and
I'm
a
bit
on
it
is
what
I
didn't
really
see
was
like
from
a
compliance
and
risk
point
of
view
how
you're
tracking
some
of
that
or
the
reporting
in
the
back
end
of
of
that
of
what
you're
doing
with
replicated.
How
does
this
appear
so
like?
A
If
I
want
to
see-
and
maybe
josh
can
talk
a
little
bit
to
that,
if
I
want
to
see
you
know
what's
going
on
and
keep
track
of
all
of
the
releases
from
an
overview
point
of
view.
C
Just
yeah,
I'm
not
muted
yeah.
I
I
did
one
update
basically
in
there
in
clouds
adm,
but
normally
what
you
will
see
is
that
each
time
there
is
a
corresponding
change,
it
is
going
to
show
up
in
class
adm
and
the
whole
version
history.
C
And
then
what
I
also
did
not
highlight
on
is
there
is
the
capability
to
do
a
diff
on
all
of
those
releases
so
that
you
can
actually
see
what
has
been
changed
between
all
of
them
and
then
that's
going
to
be
in
the
corresponding
ammo.
C
What
we
also
see
is
that
in
terms
of
compliance
and
that
kind
of
stuff,
is
that
sometimes
in
the
more
advanced
use,
cases
and
customers
want
to
have
access
to
the
actual
raw
yaml
files,
the
ones
that
are
going
to
be
installed.
So
there
is,
of
course
access
to
that,
and
we
even
go
a
step
further,
that,
instead
of
got
adm
installing
the
app,
we
can
actually
send
everything
into
a
git
repository,
and
then
people
can
use
like
an
argo,
cd
or
a
flux
to
apply
the
application
or
install
the
new
version
of
the
application.
C
In
terms
of
audit,
what
you
bring
up
is
a
very
also
a
very
good
use
case,
because
I
think
I
brought
up
like
during
the
demo
like
number
of
users
as
part
of
the
license.
Well,
what
you
can
do
is
with
troubleshoot
is:
there's
those
common
use
cases
where
people
deliver
third-party
apps
and
they
say
it's
licensed
based
on
number
of
users,
but
they
never
validate
the
number
of
users
because
they
do
not
really
want
to
restrict
their
end
customers.
They
just
trust
their
customers.
C
What
you
can
do,
of
course,
with
troubleshoot
is
you
could
define
a
collector
that
collects
the
number
of
users
and
then
you
define
an
analyzer
that
just
says:
okay
you're,
in
violation
of
your
legal
contract,
because
you
have
15
users
and
you're
only
paying
for
10
or
just
put
a
warning
up
there.
Something
like
that
and
then
do
your
whole
audit
tracking
in
there.
So
especially
troubleshoot
gives
a
lot
of
capabilities
in
order
to
run
within
a
customer
environment.
C
In
there
you
can
basically
see
anything
that
can
run
a
pod
anything
they
can
run
in
a
container.
You
can
run
that
as
part
of
troubleshoot,
and
you
can
start
analyzing
on
top
of
that,
which
is
which
makes
it
great.
A
So
I
also
have
been
reading
a
little
bit
about
this
enterprise
ready
dot,
io
site,
which
I
is
sounds
like
in
combination
with
everything
else
you're
doing.
How
does
that
play
in
with
with
everything
else,
you're
doing.
B
Try
to
find
the
neat
button,
enterprise
ready-
that
is
actually
our
podcast
website,
and
that
is
just
interviews
with
thought,
leaders
in
the
tech
community
and
it's
very,
very
interesting,
our
ceo
grant
and
our
cto
mark
they
usually
handle
those
interviews
published
weekly
super
fascinating.
I
highly
encourage
you
all
to
subscribe,
but
yes,
that's
what
enterprise
writing
is
yeah.
D
I
think
the
enterprise
ready
website
also
has
kind
of
been
it's
a
it's
a
kind
of
a
content
platform
that
we've
sponsored
for
a
number
of
years,
and
it
really
it
is
a
it's
a
guide
for
isvs
to
kind
of
gauge
their
level
of
readiness
to
deliver
their
application.
To
you
know,
security
conscious.
You
know
large
enterprise
customers
right,
so
there's
a
great
checklist
of
kind
of
a
feature
roadmap.
D
If
you
will,
you
know,
especially
if
you're,
a
small
sas
vendor
and
you're,
trying
to
figure
out
how
to
take
that
fast
application
on-prem
to
a
large
enterprise
customer.
You
know
what
are
the
sorts
of
features
that
those
customers
are
going
to
demand
right.
So
we
talk
about
things
like
audit
and
identity
management
and
single
sign-on,
and
things
like
that.
So
it's
really
a
great
guide.
D
We
view
it,
as
you
know,
just
a
resource
for
entrepreneurs
and
people
that
are
building
software
companies
and
then
kind
of
the
the
center
piece
of
that
is
the
podcast
that
trevor
mentioned.
Where
we've
had
some.
You
know
some
really
just
amazing
founders.
You
know
folks,
like
loras
dijani
from
systig.
You
know
the
folks
that
invented
wireshark
tom
preston,
warner
original,
ceo,
founder
of
github.
So
really
just
a
great
you
know,
set
of
of
startup.
D
You
know,
luminaries
and
and
just
smart
founders
and
ceos
that
grant
and
mark
speak
with
on
the
podcast,
but
the
website
again
is
really
kind
of
a
cool
guide
for
software
companies
that
are
trying
to
make
that
journey
to
make
their
product
enterprise
ready,
as
the
name
implies.
But
thank
you
so
much
for
having
us,
though-
and
this
has
been
great.
A
Yeah,
I
I
think
that
the
that's
the
wonderful
value
proposition
I
think
of
replicated
is
that
you're
really
facilitating
a
lot
of
other
people's
applications
getting
into
and
being
useful
to
enterprises
and
being
secure
enough
that
enterprises
will
take
them
seriously
and
that's
I've
seen
and
listened
to
some
of
the
the
the
podcast
stuff
in
the
past
as
well,
and
I
think
that's
really
the
sweet
spot
that
you
guys
are
in
is
that
you
are
making
it
possible
for
all
of
these
third-party
applications
to
you
know
in
some
ways,
you're
helping
with
the
enterprise-ready
content
and
coaching
and
pieces
in
helping
incubate
these
third-party
apps
and
get
them
ready
for
prime
time
and
then
once
they're
there
using
the
replicated
suite
really
helps
the
enterprises
trust
and
be
able
to
deploy
these
things
securely
in
a
consistent
way.
A
So
it's
really
been
yeah
very
interesting
and
a
good
eye
opener.
For
me,
one
of
one
of
the
things
like
I
said
in
passing
at
the
beginning,
I've
I've
walked
by
the
replicated
booth
at
kubecon.
I'm
stopped
in
I've
chatted
with
people.
This
has
really
helped
me
place
where
you
are
in
the
ecosystem.
Very
nicely
today,
we're
really
thrilled
that
you
guys
have
joined
openshift
commons.
We
look
forward
to
hearing
more
about
each
of
these
individual
projects.
Trevor,
don't
worry,
we
will
find
time
for
everything
troubleshoot.
A
I
hadn't
seen
it
before.
It
is
like
totally
cool,
and
so
I
I'm
thinking
I'm
encouraging
people
to
to
take
a
look
at
that
as
well,
because
I
think
there's
there's
lots
of
tools
in
here
that,
rather
than
reinvent
the
wheel,
people
can
also
use
in
their
installment
and
deployment
practices.
So
I
think
that's
that's
really
another
useful
thing
and
I
just
love
how
open
source
you
guys
all
are.
A
So
I
so
appreciate
that
trevor
tell
us
a
little
bit
about
what's
going
to
happen,
the
community
cal,
where
we're
going
next,
where
we
need
to
go,
find
you
guys
to
get
involved.
B
Yes,
so
main
page
replicated.com,
as
I
mentioned,
we
have
a
lot
of
open
source
projects
with
the
list
growing
every
day.
It's
about
to
expand
by
two
or
three
in
the
next
couple
of
months,
go
over
to
replicated.com
oss
for
a
list
of
all
of
our
current
projects
and
keep
an
eye
on
what
is
coming
next.
B
I
think
you're
really
going
to
like
the
next
project,
that's
coming
out,
so
the
projects
that
we
talked
about
today
are
on
the
replicated
hq
github
repo,
and
that's
that
replicated
hq
slash
cots
for
cops
cubaneries
off
the
shelf.
Curl
replicated
hq
slash
girl
for
girl
and
troubleshoot
for
troubleshoot.
I'm
not
reading
this
out
very
well.
I
apologize,
but
hopefully
like
seeing
them
written
out,
will
help
you
to
get
there
better
and
also
there's
the
community
calendar.
We
are
having
community
meetings
for
troubleshoot
this
coming
thursday
at
2
p.m.
B
Eastern
and
then
we're
also
having
meetings
for
schema
hero
and
for
cox.
I
believe
for
curl,
I'm
sorry
and
we'll
be
adding
more
to
that
calendar.
So
that's
an
easy
way
to
keep
track
of,
what's
happening
with
like
replicated
open
source
replicated
community
and
I'll
be
adding
more
events
as
they
come
along.
So
I
certainly
hope
that
you'll
subscribe
to
that
and
I
hope
to
see
you
either
online
or
in
person
bobby,
and
I
really
enjoyed
being
here.
B
Thank
you
so
much
diane
for
the
invite,
but
I
think
that's
all
my
feel
so
join
the
community.
One
last
thing
I.
D
So
we
we
have
a
little
bit
of
a
delay
while
we
get
on
to
ubi,
but
we
absolutely
have
every
intention
of
getting
the
replicated
solution
certified
for
open
shift
so
that
both
enterprise
end
users
and
isvs
can
kind
of
ship
with
confidence,
knowing
that
it
is
a
a
runs
on
openshift
certified
platform.
So
that's
our
goal.
It's
kind
of
like.
A
That
that
is
awesome
to
hear
that
that's
on
your
hit
list
and
and
you're
going
to
get
that
done.
So
we'll
have
you
back
when
that
happens
again
and
celebrate
and
raise
some
a
glass
or
two,
hopefully
we'll
see
you
all
at
kucon
in
person,
I'm
really
hoping
fingers
crossed
and
schema
hero
is
something
I
want
to
hear
more
about.
I'm
gonna
launch
a
cloud
native
tv
show,
sometime
later
in
september,
mentoring,
new,
open
source
projects
that
are
in
the
cncf.
A
It's
called
cloud
next
and
I
think
that
might
be
a
good
candidate
for
it
because
now
with
the
something
I
don't
know
how
many
we're
gonna
have
50
odd
sandbox
projects,
there's
a
lot
of
a
lot
of
noise,
and
so
it
would
be
wonderful
to
get
to
deep
dive
into
scheming
hero
a
little
bit
so
I'll
reach
out
to
you
about
participating
in
that
at
some
point
as
well
trevor.
A
So
as
always
huge
pleasure
hearing
from
all
of
you,
thank
you
for
giving
us
this
update
and
insights
into
what
you're
doing.
There's
lots
more
to
come,
obviously
so.
Take
care
all
and
thanks
to
chris
short,
our
producer
for
making
this
happen
and
amit
and
the
whole
team
josh
and
trevor
well
done
we'll
we
look
forward
to
hearing
much
more
from
you
all.
Thank.