Skip to content

Commit 0f7228f

Browse files
byteocean5kt
andauthored
Enhance MacOS related doc (#43)
* Enhance MacOS related doc * Move podman related doc to a seperate file * Update podman documention --------- Co-authored-by: Stefan Catargiu <[email protected]>
1 parent 435e037 commit 0f7228f

File tree

2 files changed

+35
-44
lines changed

2 files changed

+35
-44
lines changed

README.md

Lines changed: 5 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Ensure you have the following installed before running the project:
2121
* [curl](https://curl.se/)
2222
* [make](https://www.gnu.org/software/make/)
2323
* [go](https://go.dev/)
24-
* [docker](https://www.docker.com/) or [podman](https://podman.io/)
24+
* [docker](https://www.docker.com/) (recommended) or [podman](https://podman.io/) (refer to [podman user guidance](docs/podman.md))
2525

2626
### Linux Kernel Requirements
2727

@@ -41,7 +41,9 @@ The default WSL2 kernel often lacks the Linux options. You will likely need to c
4141

4242
### MacOS Requirements
4343

44-
When using docker, you cannot directly connect to container IPs attached to the docker network bridge. [docker-mac-net-connect](https://github.com/chipmk/docker-mac-net-connect) is a lightweight service daemon based on Wireguard which automatically maintains the appropriate routing tables on your macOS.
44+
When using docker, you cannot directly connect to container IPs attached to the docker network bridge. [docker-mac-net-connect](https://github.com/chipmk/docker-mac-net-connect) is a lightweight service daemon based on Wireguard which automatically maintains the appropriate routing tables on your macOS. This tool is able to make it possible to use the VIP to access provisioned VM directly from Mac's shell, without entering the docker virtual machine.
45+
46+
You can install and make it running each time when Mac is booted by using following commands. If you would like to start/stop this tool manually each time, simply run `sudo docker-mac-net-connect` after installation.
4547

4648
```bash
4749
# Install via Homebrew
@@ -51,47 +53,6 @@ $ brew install chipmk/tap/docker-mac-net-connect
5153
$ sudo brew services start chipmk/tap/docker-mac-net-connect
5254
```
5355

54-
### Using podman on MacOS
55-
56-
The limitation mentioned above, for docker, still applies.
57-
This was tested and applies to podman 5.4 and podman machine running Fedora CoreOS 41.
58-
Running everything with podman requires that the podman machine runs in rootful mode; more details below.
59-
60-
```bash
61-
NAME="Fedora Linux"
62-
VERSION="41.20250215.3.0 (CoreOS)"
63-
RELEASE_TYPE=stable
64-
ID=fedora
65-
VERSION_ID=41
66-
VERSION_CODENAME=""
67-
PLATFORM_ID="platform:f41"
68-
PRETTY_NAME="Fedora CoreOS 41.20250215.3.0"
69-
```
70-
71-
```bash
72-
# we assume no other machines might be running, shutting down the default one
73-
podman machine stop
74-
75-
# we create a new podman machine
76-
# 2-4GiB of memory are unfortunately not enough
77-
# must be rootful
78-
podman machine init --cpus 8 --memory 8192 --rootful ironcore-in-a-box
79-
podman machine start ironcore-in-a-box
80-
81-
# change the default system connection
82-
podman system connection default ironcore-in-a-box-root
83-
84-
# the dp-service requires some extra kernel modules
85-
podman machine ssh ironcore-in-a-box "sudo rpm-ostree install kernel-modules-extra"
86-
87-
# this kernel modules installation requires a restart of the VM
88-
podman machine stop ironcore-in-a-box
89-
podman machine start ironcore-in-a-box
90-
91-
# removing the sch_multiq kernel module from the blacklist
92-
podman machine ssh ironcore-in-a-box grep -rle \"^blacklist sch_multiq\" /etc/modprobe.d/ \| xargs -r sudo sed -i \'s/blacklist sch_multiq/#blacklist sch_multiq/\'
93-
```
94-
9556
## Installation
9657

9758
To set up and start the IronCore stack, run the following command from the root of this repository:
@@ -107,7 +68,7 @@ This command will:
10768

10869
## Examples
10970

110-
You can find examples of how to use the IronCore API in the [Examples](examples/) directory. You can spin up a VM in a [VPC / Overlay Network](https://en.wikipedia.org/wiki/Virtual_private_cloud) with a virtual IP. By default, VMs enable password login for easy accessing and testing. The default username and password are `ironcore` and `best123`. Customized ignition can be also generated and used for other purposes.
71+
You can find examples of how to use the IronCore API in the [Examples](examples/) directory. You can spin up a VM in a [VPC / Overlay Network](https://en.wikipedia.org/wiki/Virtual_private_cloud) with a virtual IP. Using the command `kubectl get machine,network,nic,virtualip` to find out status and more information regarding the provisioned VM. By default, VMs enable password login for easy accessing and testing. The default username and password are `ironcore` and `best123`. Customized ignition can be also generated and used for other purposes.
11172

11273
Your local "datacenter" is at your fingertips to test. Ironcore API documentation can be found [here](https://ironcore-dev.github.io/ironcore/api-reference/overview/) which shows the whole capabilities of IronCore.
11374

docs/podman.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Podman user guidance
2+
3+
## MacOS
4+
5+
This was tested and applies to podman 5.4 and the default podman-machine.
6+
Running everything with podman requires that the podman machine runs in rootful mode; more details below.
7+
8+
```bash
9+
# we assume no other machines might be running, shutting down the default one
10+
podman machine stop
11+
12+
# we create a new podman machine
13+
# 2-4GiB of memory are unfortunately not enough
14+
# must be rootful
15+
podman machine init --cpus 8 --memory 8192 --rootful ironcore-in-a-box
16+
podman machine start ironcore-in-a-box
17+
18+
# change the default system connection
19+
podman system connection default ironcore-in-a-box-root
20+
21+
# the dp-service requires some extra kernel modules
22+
podman machine ssh ironcore-in-a-box "sudo rpm-ostree install kernel-modules-extra"
23+
24+
# this kernel modules installation requires a restart of the VM
25+
podman machine stop ironcore-in-a-box
26+
podman machine start ironcore-in-a-box
27+
28+
# removing the sch_multiq kernel module from the blacklist
29+
podman machine ssh ironcore-in-a-box grep -rle \"^blacklist sch_multiq\" /etc/modprobe.d/ \| xargs -r sudo sed -i \'s/blacklist sch_multiq/#blacklist sch_multiq/\'
30+
```

0 commit comments

Comments
 (0)