Skip to content

Before session 1

Do this at home, the week before the first session. Session 1 has about an hour of hands-on time, and none of it should go to installing tools. If something here fails and you cannot fix it, come to the session anyway and say so at the start.

Item Example Used for
Your team ID t05 Kubernetes namespace, Datadog team tag
Your team hostname <alias>.teams.epimarket.fr Your storefront and its public API
A GitLab invitation gitlab.cri.epita.fr Your team’s repository and its CI/CD
A Datadog invitation email from Datadog, site datadoghq.eu Your team’s own Datadog organization
A kubeconfig a file kubectl access to your team’s namespace only
Your EpitaCard credentials the provider URL, a secret key, a webhook secret and a dashboard login Running the stack locally (your deployed stack already has them), and following your team’s payments in the EpitaCard merchant dashboard
  1. you work hereYour laptopgit, kubectl, Helmoptional local stackYour tools
  2. you open merge requestsGitLabteam repositoryCI/CD pipelineGitLab invitation
  3. the pipeline deploysYour stackyour namespaceyour team hostnamekubeconfig, team ID, hostname
  4. the Agent shipsDatadogyour team orglogs and metricsDatadog invitation, API key
EpitaCardtakes your stack's payments. Keep its credentials and merchant dashboard login to your team.
What each item you receive gives you access to. The highlighted line names the item.

Everyone on the team gets their own invitations. The EpitaCard credentials are one set per team: keep them out of Git and never share them with another team. The kubeconfig may arrive later than the rest; the setup check skips it until you have it.

  1. GitLab. Accept the invitation, then open your team’s project. Clone it over SSH (add your key under Preferences, SSH Keys) or over HTTPS.

  2. Datadog. Accept the email invitation and sign in at app.datadoghq.eu. Your organization is named after your team. Check that you land in it and not in a personal trial organization: the organization name is shown in the account menu, under your name.

    The account menu in Datadog, with the current organization and the EU1 site
  3. Datadog API key. In your organization, open Organization Settings, API Keys and find the key named student. You cannot create keys; this one is yours to use. Keep it out of Git. Click the masked value in the Key column to reveal and copy it. The other key belongs to your team’s Agent; leave it alone.

    The API Keys page of Organization Settings, listing the student key

Tool Version Required Why
Git any recent yes Your team’s repository
curl any yes Calling your stack’s API by hand
kubectl 1.34 or newer yes Looking at your namespace (the cluster runs 1.35)
Helm 3.19 or newer yes Rendering the charts in k8s/ locally (helm template)
Go 1.25 or newer recommended Building the services locally from session 2 on
Docker with the Compose plugin any recent optional Running the whole stack on your laptop to experiment

On Linux and macOS, your package manager is fine (brew, apt, dnf, pacman). On Windows, use WSL2 and install everything inside it.

check-setup.sh sits at the root of your team’s repository. From a clone, run it with your team ID and hostname:

Terminal window
TEAM=t05 TEAM_HOST=<alias>.teams.epimarket.fr \
DD_API_KEY=<your org's student key> \
bash check-setup.sh

Not cloned yet? Download the same script (check-setup.sh) with curl -fsSLO https://course.epimarket.fr/check-setup.sh and run the command above.

You get one line per check:

== Tools
PASS git: 2.47
PASS curl: 8.7
PASS kubectl: 1.35
PASS helm: 3.19
PASS go: 1.25
WARN docker: not installed (optional)
== Team
PASS storefront: https://<alias>.teams.epimarket.fr/ answers 200
SKIP kubectl access: no kubeconfig set; use the one attached to your welcome email
== Accounts
PASS GitLab: SSH key accepted by gitlab.cri.epita.fr
PASS Datadog: API key valid on datadoghq.eu
Ready for session 1.
  • PASS: done.
  • WARN: optional, or works with a caveat. Read it, then decide.
  • SKIP: the check could not run yet (no kubeconfig, no API key given).
  • FAIL: fix it before session 1.

You do not need to understand everything before session 1. Do read these:

  • The Architecture and Your team’s deployment sections of the repository’s README.md.
  • The list of directories under k8s/, cmd/ and images/.
  • Your storefront: create an account, put something in the basket, check out with the payment method given in README.md, and open the order.