sakim 67e168a97b | ||
---|---|---|
build | ||
samples | ||
.gitignore | ||
LICENSE | ||
README.md | ||
docker-compose.yaml |
README.md
coder-template
Terminology
- code-server : Open Source Visual Studio Code + web browser remote access
- coder : Development Environments (i.e. code-server, JupyterLab, JetBrains, and etc) management software
- API-server : LMS can call the endpoints of this API-server to manage coder.
What is this?
You can use this template when you create a new lab and deploy it to coder. Lab users will get clients that include web IDE and software/tools (e.g. akamai CLI).
- build : sample API-server
- docker-compose.yaml : installs coder and API-server
Sample Workflow
- Alice : Content Creator
- Bob : Lab Administrator
1. Servers vs Clients
Alice ->> Bob: I'd like to create a new lab for DevOps.
Bob ->> Alice: Do you want servers or clients?
Alice ->> Bob: I'm not sure. Learners will run python, terraform, and httpie.
Bob ->> Alice: I suggest clients. Each learner can run codes or tools in his/her own isolated environment.
Bob can create diverse types of servers (Linux only!) such as, web servers, application servers, and database servers.
Sample server: https://origin-akashop.akamai-lab.com/
Bob can create one type of clients based on Visual Studio Code. Clients can be assigned to learners one to one or one to many.
Sample client: https://training.akamai.com/ewp
2. Software
Bob ->> Alice: Do you need any software or tools other than python, terraform, and httpie?
Bob can install other softwares or tools such as akamai cli, based on the lab scenario.
3. Infrastructure
Bob runs docker-compose.yaml file to create a default coder and API-server.
git clone https://gitea-ptl.akamai-lab.com/akamai/coder-template.git
cd coder-template
docker compose up -d
4. code-server Template
Bob builds a code-server template by customizing main.tf.
/samples/main.tf file can be a good starting point if you don't want to use persistant volume.
5. Staging
Bob deploys a code-server to kubernetes staging environment and Alice validates it iteratively until they finalize code-server template.
Bob should customize API-server codes, if Alice wants to integrate coder with LMS (for example, click a button on LMS to create a new code-server and get its URL).
6. Production
Bob deploys a code-server to kubernetes production environment.
Alice validates the client by end-to-end test.