Skip to content

Commit

Permalink
wip migrate to lima, simplify
Browse files Browse the repository at this point in the history
  • Loading branch information
fwilhe2 committed Oct 8, 2023
1 parent f3081c1 commit 25e4c18
Show file tree
Hide file tree
Showing 16 changed files with 125 additions and 235 deletions.
63 changes: 0 additions & 63 deletions .github/workflows/ci-vm.yml

This file was deleted.

6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: CI in Docker (fast, no full system-access)
on:
push:
paths-ignore:
- '**.md'
- '.github/workflows/ci-vm.yml'
- 'vm-resources/**'
- "**.md"
- ".github/workflows/ci-vm.yml"
- "vm-resources/**"
workflow_dispatch:

jobs:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ on:
workflow_dispatch:
schedule:
# At 07:00 UTC on Sunday
- cron: '0 7 * * 0'
- cron: "0 7 * * 0"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: python3 update-forks.py
env:
GITHUB_TOKEN: ${{ secrets.PAT }}
GITHUB_TOKEN: ${{ secrets.PAT }}
4 changes: 0 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
.vagrant
code
package.box
containers-lab*.box
__pycache__
20 changes: 20 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
build:
cat container-lab.yaml | limactl create --name=container-lab-vm -

start:
limactl start container-lab-vm

shell:
limactl shell container-lab-vm

stop:
limactl stop container-lab-vm

delete:
limactl delete container-lab-vm

playbook:
ansible-playbook -v --inventory "localhost," --connection=local playbook.yaml
cp vm-resources/container-socket.service /etc/systemd/system/container-socket.service
systemctl enable container-socket.service
systemctl start container-socket.service
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,27 @@ Layering, Builder Pattern, Multi-Arch builds

## Playground Environment

[`Vagrantfile`](./Vagrantfile) provides a reproducible development environment built via [an Ansible playbook](./playbook.yaml).
[`container-lab.yaml`](./container-lab.yaml) provides a reproducible development environment built via [an Ansible playbook](./playbook.yaml).

So far there is not much to see there, but the vision is to produce an environment with all needs to tinker with container software, to change it and to learn about it.

It's built using [lima](https://github.com/lima-vm/lima/).
The `Makefile` has some shortcuts for using it.

This can be used with the [ssh remote plugin for vs code](https://code.visualstudio.com/docs/remote/ssh) to work with the repos inside the vm.

Configuration for vs code ssh remote plugin:

You need a local ssh key for this.

Run the following command to allow easy access:

```
echo "Include ${LIMA_HOME:-$HOME/.lima}/container-lab-vm/ssh.config" >> ~/.ssh/config
```

After this you can connect to the host `lima-container-lab-vm`.

## Talks

[Containers at Facebook - Lindsay Salisbury](https://youtu.be/_Qc9jBk18w8)
Expand Down
38 changes: 0 additions & 38 deletions Vagrantfile

This file was deleted.

40 changes: 40 additions & 0 deletions container-lab.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# SPDX-FileCopyrightText: Florian Wilhelm
# SPDX-License-Identifier: Apache-2.0

# Based on the examples by Akihiro Suda and the lima contributors, see https://github.com/lima-vm/lima, distributed under Apache-2.0 license

images:
- location: "https://cloud.debian.org/images/cloud/trixie/daily/latest/debian-13-genericcloud-amd64-daily.qcow2"
arch: "x86_64"
- location: "https://cloud.debian.org/images/cloud/trixie/daily/latest/debian-13-genericcloud-arm64-daily.qcow2"
arch: "aarch64"

mounts:
- location: "~"
- location: "/tmp/lima"
writable: true

provision:
- mode: system
script: |
#!/bin/bash
set -eux -o pipefail
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get -y install git jq python3-pip python-is-python3 ansible python3-pytest
- mode: user
script: |
#!/bin/bash
set -eux -o pipefail
curl https://raw.githubusercontent.com/fwilhe2/lima-vms/main/provision.sh | bash
mkdir -p code; cd code
ssh:
localPort: 44444
loadDotSSHPubKeys: true

containerd:
system: false
user: false
1 change: 0 additions & 1 deletion export-vm-snapshot.sh

This file was deleted.

2 changes: 2 additions & 0 deletions git-repos.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ https://github.com/fwilhe-containers/crun
https://github.com/fwilhe-containers/ctop
https://github.com/fwilhe-containers/gvisor
https://github.com/fwilhe-containers/ignite
https://github.com/fwilhe-containers/incus
https://github.com/fwilhe-containers/nodejs-container-image-builder
https://github.com/fwilhe-containers/plugins
https://github.com/fwilhe-containers/podman
https://github.com/fwilhe-containers/Quark
https://github.com/fwilhe-containers/rootlesskit
https://github.com/fwilhe-containers/runc
https://github.com/fwilhe-containers/skopeo
Expand Down
5 changes: 0 additions & 5 deletions info.json

This file was deleted.

Loading

0 comments on commit 25e4c18

Please sign in to comment.