mirror of
https://github.com/jpetazzo/container.training.git
synced 2026-02-14 17:49:59 +00:00
Replace index.html with a generator
The events are now listend in index.yaml, and generated with index.py. The latter is called automatically by build.sh. The list of events has been slightly improved: - we only show the last 5 past events - video recordings now get a section of their own
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -8,4 +8,5 @@ prepare-vms/settings.yaml
|
||||
prepare-vms/tags
|
||||
slides/*.yml.html
|
||||
slides/autopilot/state.yaml
|
||||
slides/index.html
|
||||
node_modules
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/bin/sh
|
||||
case "$1" in
|
||||
once)
|
||||
./index.py
|
||||
for YAML in *.yml; do
|
||||
./markmaker.py $YAML > $YAML.html || {
|
||||
rm $YAML.html
|
||||
|
||||
@@ -1,248 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Container Training</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-image: url("images/container-background.jpg");
|
||||
max-width: 1024px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
table {
|
||||
font-size: 20px;
|
||||
font-family: sans-serif;
|
||||
background: white;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 20px;
|
||||
}
|
||||
.header {
|
||||
font-size: 300%;
|
||||
font-weight: bold;
|
||||
}
|
||||
.title {
|
||||
font-size: 150%;
|
||||
font-weight: bold;
|
||||
}
|
||||
td {
|
||||
padding: 1px;
|
||||
height: 1em;
|
||||
}
|
||||
td.spacer {
|
||||
height: unset;
|
||||
}
|
||||
td.footer {
|
||||
padding-top: 80px;
|
||||
height: 100px;
|
||||
}
|
||||
td.title {
|
||||
border-bottom: thick solid black;
|
||||
padding-bottom: 2px;
|
||||
padding-top: 20px;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
background: yellow;
|
||||
}
|
||||
a.attend:after {
|
||||
content: "📅 attend";
|
||||
}
|
||||
a.slides:after {
|
||||
content: "📚 slides";
|
||||
}
|
||||
a.chat:after {
|
||||
content: "💬 chat";
|
||||
}
|
||||
a.video:after {
|
||||
content: "📺 video";
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main">
|
||||
<table>
|
||||
<tr><td class="header" colspan="4">Container Training</td></tr>
|
||||
|
||||
<tr><td class="title" colspan="4">Coming soon near you</td></tr>
|
||||
|
||||
<!--
|
||||
<td>Nothing for now (stay tuned...)</td>
|
||||
thing for now (stay tuned...)</td>
|
||||
-->
|
||||
|
||||
|
||||
<tr>
|
||||
<td>June 12th, 2018: Velocity San Jose - Kubernetes 101</td>
|
||||
<td> </td>
|
||||
<td><a class="attend" href="https://conferences.oreilly.com/velocity/vl-ca/public/schedule/detail/66286" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>June 27th, 2018: devopsdays Amsterdam - Kubernetes 101</td>
|
||||
<td> </td>
|
||||
<td><a class="attend" href="https://www.devopsdays.org/events/2018-amsterdam/registration/" /></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td>July 17th, 2018: OSCON - Kubernetes 101</td>
|
||||
<td> </td>
|
||||
<td><a class="attend" href="https://conferences.oreilly.com/oscon/oscon-or/public/schedule/detail/66287" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Oct 1st, 2018: Velocity New York - Kubernetes 101</td>
|
||||
<td> </td>
|
||||
<td><a class="attend" href="https://conferences.oreilly.com/velocity/vl-ny/public/schedule/detail/70102" /></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr><td class="title" colspan="4">Past workshops</td></tr>
|
||||
|
||||
<tr>
|
||||
<td>May 17th, 2018: Revolution Conf Virginia Beach - Docker 101</td>
|
||||
<td><a class="slides" href="https://revconf18.bretfisher.com" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>May 10th, 2018: NDC Minnesota - Kubernetes 101</td>
|
||||
<td><a class="slides" href="https://ndcminnesota2018.container.training" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>May 8th, 2018: CRAFT Budapest - Swarm Orchestration</td>
|
||||
<td><a class="slides" href="https://craftconf18.bretfisher.com" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>April 27th, 2018: GOTO Chicago - Swarm Orchestration</td>
|
||||
<td><a class="slides" href="https://gotochgo18.bretfisher.com" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>April 24th, 2018: GOTO Chicago - Kubernetes 101</td>
|
||||
<td><a class="slides" href="http://gotochgo2018.container.training/" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>April 11-12, 2018: Introduction aux conteneurs (in French)</td>
|
||||
<td><a class="slides" href="https://avril2018.container.training/intro.yml.html" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>April 13, 2018: Introduction à l'orchestration (in French)</td>
|
||||
<td><a class="slides" href="https://avril2018.container.training/kube.yml.html" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>April 6th, 2018: MuraCon Sacramento, CA - Docker 101</td>
|
||||
<td><a class="slides" href="https://muracon18.bretfisher.com" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>March 27, 2018: SREcon Americas — Kubernetes 101</td>
|
||||
<td><a class="slides" href="http://srecon2018.container.training/" /></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td>March 27, 2018: Boosterconf: Kubernetes 101</td>
|
||||
<td><a class="slides" href="http://boosterconf2018.container.training/" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>February 22, 2018: IndexConf: Kubernetes 101</td>
|
||||
<td><a class="slides" href="http://indexconf2018.container.training/" /></td>
|
||||
<!--
|
||||
<td><a class="attend" href="https://developer.ibm.com/indexconf/sessions/#!?id=5474" />
|
||||
-->
|
||||
</tr>
|
||||
|
||||
<!--
|
||||
<tr>
|
||||
<td>Kubernetes enablement at Docker</td>
|
||||
<td><a class="slides" href="http://kube.container.training/" /></td>
|
||||
</tr>
|
||||
-->
|
||||
|
||||
<tr>
|
||||
<td>QCON SF: Orchestrating Microservices with Docker Swarm</td>
|
||||
<td><a class="slides" href="http://qconsf2017swarm.container.training/" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>QCON SF: Introduction to Docker and Containers</td>
|
||||
<td><a class="slides" href="http://qconsf2017intro.container.training/" /></td>
|
||||
<td><a class="video" href="https://www.youtube.com/playlist?list=PLBAFXs0YjviLgqTum8MkspG_8VzGl6C07" /></td>
|
||||
</tr>
|
||||
|
||||
<!--
|
||||
<tr>
|
||||
<td>LISA17 M7: Getting Started with Docker and Containers</td>
|
||||
<td><a class="slides" href="http://lisa17m7.container.training/" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>LISA17 T9: Build, Ship, and Run Microservices on a Docker Swarm Cluster</td>
|
||||
<td><a class="slides" href="http://lisa17t9.container.training/" /></td>
|
||||
</tr>
|
||||
-->
|
||||
|
||||
<tr>
|
||||
<td>Deploying and scaling microservices with Docker and Kubernetes</td>
|
||||
<td><a class="slides" href="http://osseu17.container.training/" /></td>
|
||||
<td><a class="video" href="https://www.youtube.com/playlist?list=PLBAFXs0YjviLrsyydCzxWrIP_1-wkcSHS" /></td>
|
||||
</tr>
|
||||
|
||||
<!--
|
||||
<tr>
|
||||
<td>DockerCon Workshop: from Zero to Hero (full day, B3 M1-2)</td>
|
||||
<td><a class="slides" href="http://dc17eu.container.training/" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>DockerCon Workshop: Orchestration for Advanced Users (afternoon, B4 M5-6)</td>
|
||||
<td><a class="slides" href="https://www.bretfisher.com/dockercon17eu/" /></td>
|
||||
</tr>
|
||||
-->
|
||||
|
||||
<tr>
|
||||
<td>LISA16 T1: Deploying and Scaling Applications with Docker Swarm</td>
|
||||
<td><a class="slides" href="http://lisa16t1.container.training/" /></td>
|
||||
<td><a class="video" href="https://www.youtube.com/playlist?list=PLBAFXs0YjviIDDhr8vIwCN1wkyNGXjbbc" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>PyCon2016: Introduction to Docker and containers</td>
|
||||
<td><a class="slides" href="https://us.pycon.org/2016/site_media/media/tutorial_handouts/DockerSlides.pdf" /></td>
|
||||
<td><a class="video" href="https://www.youtube.com/watch?v=ZVaRK10HBjo" /></td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="title" colspan="4">Self-paced tutorials</td></tr>
|
||||
|
||||
<tr>
|
||||
<td>Introduction to Docker and Containers</td>
|
||||
<td><a class="slides" href="intro-selfpaced.yml.html" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Container Orchestration with Docker and Swarm</td>
|
||||
<td><a class="slides" href="swarm-selfpaced.yml.html" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Deploying and Scaling Microservices with Docker and Kubernetes</td>
|
||||
<td><a class="slides" href="kube-selfpaced.yml.html" /></td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="spacer"></td></tr>
|
||||
|
||||
<tr>
|
||||
<td class="footer">
|
||||
Maintained by Jérôme Petazzoni (<a href="https://twitter.com/jpetazzo">@jpetazzo</a>) and <a href="https://github.com/jpetazzo/container.training/graphs/contributors">contributors</a>.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
162
slides/index.py
Executable file
162
slides/index.py
Executable file
@@ -0,0 +1,162 @@
|
||||
#!/usr/bin/env python2
|
||||
# coding: utf-8
|
||||
TEMPLATE="""<html>
|
||||
<head>
|
||||
<title>Container Training</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-image: url("images/container-background.jpg");
|
||||
max-width: 1024px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
table {
|
||||
font-size: 20px;
|
||||
font-family: sans-serif;
|
||||
background: white;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 20px;
|
||||
}
|
||||
.header {
|
||||
font-size: 300%;
|
||||
font-weight: bold;
|
||||
}
|
||||
.title {
|
||||
font-size: 150%;
|
||||
font-weight: bold;
|
||||
}
|
||||
.details {
|
||||
font-size: 80%;
|
||||
font-style: italic;
|
||||
}
|
||||
td {
|
||||
padding: 1px;
|
||||
height: 1em;
|
||||
}
|
||||
td.spacer {
|
||||
height: unset;
|
||||
}
|
||||
td.footer {
|
||||
padding-top: 80px;
|
||||
height: 100px;
|
||||
}
|
||||
td.title {
|
||||
border-bottom: thick solid black;
|
||||
padding-bottom: 2px;
|
||||
padding-top: 20px;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
background: yellow;
|
||||
}
|
||||
a.attend:after {
|
||||
content: "📅 attend";
|
||||
}
|
||||
a.slides:after {
|
||||
content: "📚 slides";
|
||||
}
|
||||
a.chat:after {
|
||||
content: "💬 chat";
|
||||
}
|
||||
a.video:after {
|
||||
content: "📺 video";
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main">
|
||||
<table>
|
||||
<tr><td class="header" colspan="4">Container Training</td></tr>
|
||||
|
||||
<tr><td class="title" colspan="4">Coming soon near you</td></tr>
|
||||
|
||||
<!--
|
||||
<td>Nothing for now (stay tuned...)</td>
|
||||
thing for now (stay tuned...)</td>
|
||||
-->
|
||||
|
||||
{% for item in coming_soon %}
|
||||
<tr>
|
||||
<td>{{ item.prettydate }}: {{ item.title }} at {{ item.event }} in {{ item.city }}</td>
|
||||
<td>{% if item.slides %}<a class="slides" href="{{ item.slides }}" />{% endif %}</td>
|
||||
<td><a class="attend" href="{{ item.attend }}" /></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
<tr><td class="title" colspan="4">Past workshops</td></tr>
|
||||
|
||||
{% for item in past_workshops[:5] %}
|
||||
<tr>
|
||||
<td>{{ item.prettydate }}: {{ item.title }} {% if item.event %}at {{ item.event }} {% endif %} {% if item.city %} in {{ item.city }} {% endif %}</td>
|
||||
<td><a class="slides" href="{{ item.slides }}" /></td>
|
||||
<td>{% if item.video %}<a class="video" href="{{ item.video }}" />{% endif %}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
{% if past_workshops[5:] %}
|
||||
<tr>
|
||||
<td>... and at least {{ past_workshops[5:] | length }} more.</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
<tr><td class="title" colspan="4">Recorded workshops</td></tr>
|
||||
|
||||
{% for item in recorded_workshops %}
|
||||
<tr>
|
||||
<td>{{ item.title }}</td>
|
||||
<td><a class="slides" href="{{ item.slides }}" /></td>
|
||||
<td><a class="video" href="{{ item.video }}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="details">Delivered {{ item.prettydate }} at {{ item.event }} in {{item.city }}.</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
<tr><td class="title" colspan="4">Self-paced tutorials</td></tr>
|
||||
{% for item in self_paced %}
|
||||
<tr>
|
||||
<td>{{ item.title }}</td>
|
||||
<td><a class="slides" href="{{ item.slides }}" /></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
<tr><td class="spacer"></td></tr>
|
||||
|
||||
<tr>
|
||||
<td class="footer">
|
||||
Maintained by Jérôme Petazzoni (<a href="https://twitter.com/jpetazzo">@jpetazzo</a>) and <a href="https://github.com/jpetazzo/container.training/graphs/contributors">contributors</a>.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>""".decode("utf-8")
|
||||
|
||||
import datetime
|
||||
import jinja2
|
||||
import yaml
|
||||
|
||||
items = yaml.load(open("index.yaml"))
|
||||
|
||||
for item in items:
|
||||
if "date" in item:
|
||||
date = item["date"]
|
||||
suffix = {
|
||||
1: "st", 2: "nd", 3: "rd",
|
||||
21: "st", 22: "nd", 23: "rd",
|
||||
31: "st"}.get(date.day, "th")
|
||||
item["prettydate"] = date.strftime("%B %e{}, %Y").format(suffix)
|
||||
|
||||
today = datetime.date.today()
|
||||
coming_soon = [i for i in items if i.get("date") and i["date"] >= today]
|
||||
coming_soon.sort(key=lambda i: i["date"])
|
||||
past_workshops = [i for i in items if i.get("date") and i["date"] < today]
|
||||
past_workshops.sort(key=lambda i: i["date"], reverse=True)
|
||||
self_paced = [i for i in items if not i.get("date")]
|
||||
recorded_workshops = [i for i in items if i.get("video")]
|
||||
|
||||
template = jinja2.Template(TEMPLATE)
|
||||
with open("index.html", "w") as f:
|
||||
f.write(template.render(coming_soon=coming_soon, past_workshops=past_workshops, self_paced=self_paced, recorded_workshops=recorded_workshops).encode("utf-8"))
|
||||
172
slides/index.yaml
Normal file
172
slides/index.yaml
Normal file
@@ -0,0 +1,172 @@
|
||||
- date: 2018-06-12
|
||||
city: San Jose, CA
|
||||
country: us
|
||||
event: Velocity
|
||||
title: Kubernetes 101
|
||||
speaker: bridgetkromhout
|
||||
attend: https://conferences.oreilly.com/velocity/vl-ca/public/schedule/detail/66286
|
||||
|
||||
- date: 2018-06-27
|
||||
city: Amsterdam
|
||||
country: nl
|
||||
event: devopsdays
|
||||
title: Kubernetes 101
|
||||
speaker: bridgetkromhout
|
||||
attend: https://www.devopsdays.org/events/2018-amsterdam/registration/
|
||||
|
||||
- date: 2018-07-17
|
||||
city: Portland, OR
|
||||
country: us
|
||||
event: OSCON
|
||||
title: Kubernetes 101
|
||||
speaker: bridgetkromhout
|
||||
attend: https://conferences.oreilly.com/oscon/oscon-or/public/schedule/detail/66287
|
||||
|
||||
- date: 2018-10-01
|
||||
city: New York, NY
|
||||
country: us
|
||||
event: Velocity
|
||||
title: Kubernetes 101
|
||||
speaker: bridgetkromhout
|
||||
attend: https://conferences.oreilly.com/velocity/vl-ny/public/schedule/detail/70102
|
||||
|
||||
- date: 2018-05-17
|
||||
city: Virginia Beach, FL
|
||||
country: us
|
||||
event: Revolution Conf
|
||||
title: Docker 101
|
||||
speaker: bretfisher
|
||||
slides: https://revconf18.bretfisher.com
|
||||
|
||||
- date: 2018-05-10
|
||||
city: Saint Paul, MN
|
||||
country: us
|
||||
event: NDC Minnesota
|
||||
title: Kubernetes 101
|
||||
slides: https://ndcminnesota2018.container.training
|
||||
|
||||
- date: 2018-05-08
|
||||
city: Budapest
|
||||
country: hu
|
||||
event: CRAFT
|
||||
title: Swarm Orchestration
|
||||
slides: https://craftconf18.bretfisher.com
|
||||
|
||||
- date: 2018-04-27
|
||||
city: Chicago, IL
|
||||
country: us
|
||||
event: GOTO
|
||||
title: Swarm Orchestration
|
||||
slides: https://gotochgo18.bretfisher.com
|
||||
|
||||
- date: 2018-04-24
|
||||
city: Chicago, IL
|
||||
country: us
|
||||
event: GOTO
|
||||
title: Kubernetes 101
|
||||
slides: http://gotochgo2018.container.training/
|
||||
|
||||
- date: 2018-04-11
|
||||
city: Paris
|
||||
country: fr
|
||||
title: Introduction aux conteneurs
|
||||
lang: fr
|
||||
slides: https://avril2018.container.training/intro.yml.html
|
||||
|
||||
- date: 2018-04-13
|
||||
city: Paris
|
||||
country: fr
|
||||
lang: fr
|
||||
title: Introduction à l'orchestration
|
||||
slides: https://avril2018.container.training/kube.yml.html
|
||||
|
||||
- date: 2018-04-06
|
||||
city: Sacramento, CA
|
||||
country: us
|
||||
event: MuraCon
|
||||
title: Docker 101
|
||||
slides: https://muracon18.bretfisher.com
|
||||
|
||||
- date: 2018-03-27
|
||||
city: Santa Clara, CA
|
||||
country: us
|
||||
event: SREcon Americas
|
||||
title: Kubernetes 101
|
||||
slides: http://srecon2018.container.training/
|
||||
|
||||
- date: 2018-03-27
|
||||
city: Bergen
|
||||
country: no
|
||||
event: Boosterconf
|
||||
title: Kubernetes 101
|
||||
slides: http://boosterconf2018.container.training/
|
||||
|
||||
- date: 2018-02-22
|
||||
city: San Francisco, CA
|
||||
country: us
|
||||
event: IndexConf
|
||||
title: Kubernetes 101
|
||||
slides: http://indexconf2018.container.training/
|
||||
#attend: https://developer.ibm.com/indexconf/sessions/#!?id=5474
|
||||
|
||||
- date: 2017-11-17
|
||||
city: San Francisco, CA
|
||||
country: us
|
||||
event: QCON SF
|
||||
title: Orchestrating Microservices with Docker Swarm
|
||||
slides: http://qconsf2017swarm.container.training/
|
||||
|
||||
- date: 2017-11-16
|
||||
city: San Francisco, CA
|
||||
country: us
|
||||
event: QCON SF
|
||||
title: Introduction to Docker and Containers
|
||||
slides: http://qconsf2017intro.container.training/
|
||||
video: https://www.youtube.com/playlist?list=PLBAFXs0YjviLgqTum8MkspG_8VzGl6C07
|
||||
|
||||
|
||||
#<td>LISA17 M7: Getting Started with Docker and Containers
|
||||
#slides: http://lisa17m7.container.training/
|
||||
#<td>LISA17 T9: Build, Ship, and Run Microservices on a Docker Swarm Cluster
|
||||
#slides: http://lisa17t9.container.training/
|
||||
|
||||
- date: 2017-10-26
|
||||
city: Prague
|
||||
country: cz
|
||||
event: Open Source Summit Europe
|
||||
title: Deploying and scaling microservices with Docker and Kubernetes
|
||||
slides: http://osseu17.container.training/
|
||||
video: https://www.youtube.com/playlist?list=PLBAFXs0YjviLrsyydCzxWrIP_1-wkcSHS
|
||||
|
||||
|
||||
#<td>DockerCon Workshop: from Zero to Hero (full day, B3 M1-2)
|
||||
#slides: http://dc17eu.container.training/
|
||||
|
||||
#<td>DockerCon Workshop: Orchestration for Advanced Users (afternoon, B4 M5-6)
|
||||
#slides: https://www.bretfisher.com/dockercon17eu/
|
||||
|
||||
- date: 2016-12-06
|
||||
city: Boston, MA
|
||||
country: us
|
||||
event: LISA
|
||||
title: Deploying and Scaling Applications with Docker Swarm
|
||||
slides: http://lisa16t1.container.training/
|
||||
video: https://www.youtube.com/playlist?list=PLBAFXs0YjviIDDhr8vIwCN1wkyNGXjbbc
|
||||
|
||||
- date: 2016-05-29
|
||||
city: Portland, OR
|
||||
country: us
|
||||
event: PyCon
|
||||
title: Introduction to Docker and containers
|
||||
slides: https://us.pycon.org/2016/site_media/media/tutorial_handouts/DockerSlides.pdf
|
||||
video: https://www.youtube.com/watch?v=ZVaRK10HBjo
|
||||
|
||||
- title: Introduction to Docker and Containers
|
||||
slides: intro-selfpaced.yml.html
|
||||
|
||||
- title: Container Orchestration with Docker and Swarm
|
||||
slides: swarm-selfpaced.yml.html
|
||||
|
||||
- title: Deploying and Scaling Microservices with Docker and Kubernetes
|
||||
slides: kube-selfpaced.yml.html
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
# This is for netlify
|
||||
PyYAML
|
||||
jinja2
|
||||
|
||||
Reference in New Issue
Block a user