diff --git a/README.md b/README.md index b616ae11..d8d8f7c2 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,15 @@ This repository provides a simple and fast way to run Cloud Foundry locally. It The following tools need to be installed: -- [`docker`](https://docs.docker.com/engine/install/) +- [`docker`](https://docs.docker.com/engine/install/) or [podman](https://podman.io/docs/installation) +- [`docker-compose`](https://docs.docker.com/compose/install) or [podman-compose](https://github.com/containers/podman-compose) - `make`: - It should be already installed on MacOS and Linux. - For Windows installation see: +> [!IMPORTANT] +> Please ensure that your Podman setup is configured as an alias for Docker, as this project relies on Docker commands. You can achieve this by executing `sudo ln -s /opt/podman/bin/podman /usr/local/bin/docker` and `sudo ln -s /opt/homebrew/bin/podman-compose /usr/local/bin/docker-compose` on Mac OS X. + ## Run the Installation ```bash diff --git a/helmfile.yaml.gotmpl b/helmfile.yaml.gotmpl index 7a97b65f..0dcda02d 100644 --- a/helmfile.yaml.gotmpl +++ b/helmfile.yaml.gotmpl @@ -1,7 +1,7 @@ --- helmDefaults: wait: true - timeout: 600 + timeout: 1200 recreatePods: false force: false createNamespace: true @@ -400,6 +400,7 @@ releases: namespace: {{ .Values.systemNamespace }} chart: {{ .Values.charts.capi.url }} version: {{ .Values.charts.capi.version }} + timeout: 1200 needs: - minio - diego @@ -442,6 +443,7 @@ releases: chart: {{ .Values.charts.nfsVolume.url }} version: {{ .Values.charts.nfsVolume.version }} installed: {{ .Values.installOptionalComponents }} + timeout: 900 needs: - capi values: diff --git a/scripts/create-kind.sh b/scripts/create-kind.sh index abe83903..560521fa 100755 --- a/scripts/create-kind.sh +++ b/scripts/create-kind.sh @@ -26,9 +26,18 @@ EOF done } +evaluate_docker_progress_option() { + # Detect container runtime behind docker (Docker vs Podman) + if echo $(docker version) | grep -qi 'Podman'; then + echo "" + else + echo "--progress plain" + fi +} + setup_registry_caches() { echo "Starting registry pull-through caches with docker-compose..." - docker compose -p cache -f "${script_full_path}/docker-compose-registries.yaml" --progress plain up -d + docker compose -p cache -f "${script_full_path}/docker-compose-registries.yaml" $(evaluate_docker_progress_option) up -d configure_registry_mirror "docker-io" "https://registry-1.docker.io" "docker.io" configure_registry_mirror "ghcr-io" "https://ghcr.io" "ghcr.io" @@ -37,7 +46,7 @@ setup_registry_caches() { setup_nfs() { echo "Starting NFS server with docker-compose..." - docker compose -p nfs -f "${script_full_path}/docker-compose-nfs.yaml" --progress plain up -d + docker compose -p nfs -f "${script_full_path}/docker-compose-nfs.yaml" $(evaluate_docker_progress_option) up -d } script_full_path=$(dirname "$0") diff --git a/scripts/delete-kind.sh b/scripts/delete-kind.sh index 691388cb..a66c6926 100755 --- a/scripts/delete-kind.sh +++ b/scripts/delete-kind.sh @@ -10,7 +10,14 @@ tools::install::kind kind delete cluster --name cfk8s +# Detect container runtime behind docker (Docker vs Podman) +if echo $(docker version) | grep -qi 'Podman'; then + container_runtime_spects="" +else + container_runtime_spects="--progress plain" +fi + # Remove registry cache containers using docker-compose echo "Deleting registry cache containers..." -docker compose -p cache -f "${script_full_path}/docker-compose-registries.yaml" --progress plain down -docker compose -p nfs -f "${script_full_path}/docker-compose-nfs.yaml" --progress plain down +docker compose -p cache -f "${script_full_path}/docker-compose-registries.yaml" $container_runtime_spects down +docker compose -p nfs -f "${script_full_path}/docker-compose-nfs.yaml" $container_runtime_spects down