diff --git a/Dockerfile b/Dockerfile index 03340aa..984789a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,7 +44,7 @@ LABEL maintainer="StackRox" \ io.k8s.display-name="roxie ACS Deployment Tool" # Install required tools via microdnf -# kubectl, helm, skopeo are available in RHEL repos +# kubectl, helm are available in RHEL repos # Note: UBI minimal comes with curl pre-installed, which is sufficient for our needs RUN microdnf install -y \ # Core utilities @@ -53,7 +53,7 @@ RUN microdnf install -y \ unzip \ ca-certificates \ # Container tools - skopeo \ + podman \ # Python (required for gcloud SDK) python3 \ # Clean up diff --git a/Makefile b/Makefile index 81eb2fa..e79486c 100644 --- a/Makefile +++ b/Makefile @@ -86,8 +86,8 @@ test-e2e: build ## Run end-to-end tests (requires kubectl context and cluster ac echo "❌ No kubectl context found. Please configure kubectl first."; \ exit 1; \ fi - @if ! command -v skopeo >/dev/null 2>&1; then \ - echo "❌ skopeo not found. Please install skopeo for E2E tests."; \ + @if ! command -v podman >/dev/null 2>&1; then \ + echo "❌ podman not found. Please install podman for E2E tests."; \ exit 1; \ fi $(GOTEST) -v -tags=e2e -timeout=120m -parallel=1 ./tests/e2e/... diff --git a/flake.nix b/flake.nix index 21aaa29..8cc1238 100644 --- a/flake.nix +++ b/flake.nix @@ -95,7 +95,7 @@ echo " - helm ($(helm version --short 2>/dev/null || echo 'unknown'))" echo " - Go $(go version | cut -d' ' -f3)" echo "" - echo "💡 For container tools (skopeo, podman), use:" + echo "💡 For full set of pre-installed tooling use:" echo " nix develop .#full" echo "" echo "Run 'roxie --help' to get started" @@ -120,8 +120,7 @@ k9s stern - # Container tools (heavy dependencies!) - skopeo + # Container tools: podman # Load balancer @@ -135,7 +134,6 @@ echo " - roxie ($(roxie version))" echo " - kubectl ($(kubectl version --client --short 2>/dev/null || echo 'not configured'))" echo " - helm ($(helm version --short 2>/dev/null || echo 'unknown'))" - echo " - skopeo ($(skopeo --version | head -n1))" echo " - podman ($(podman --version | head -n1))" echo " - haproxy ($(haproxy -v | head -n1))" echo "" diff --git a/internal/deployer/deployer.go b/internal/deployer/deployer.go index e64cf4e..39b9b0d 100644 --- a/internal/deployer/deployer.go +++ b/internal/deployer/deployer.go @@ -394,7 +394,7 @@ func (d *Deployer) waitForNamespaceDeletion(namespace string) error { // checkRequiredTools verifies that required CLI tools are available func checkRequiredTools() error { - requiredTools := []string{"kubectl", "roxctl", "skopeo"} + requiredTools := []string{"kubectl", "roxctl"} var missing []string for _, tool := range requiredTools { diff --git a/internal/imagecache/imagecache.go b/internal/imagecache/imagecache.go index db135f1..123e494 100644 --- a/internal/imagecache/imagecache.go +++ b/internal/imagecache/imagecache.go @@ -132,11 +132,10 @@ func (ic *ImageCache) VerifyImagePullable(imageRef string) bool { return true } - // Use skopeo to check if image is pullable _, stderr, err := helpers.RunCommandWithOutput( "Verifying image pullability", - "skopeo", - []string{"inspect", "--raw", fmt.Sprintf("docker://%s", imageRef)}, + "podman", + []string{"manifest", "inspect", imageRef}, ) if err == nil { diff --git a/tests/README.md b/tests/README.md index 4768b5a..1b43351 100644 --- a/tests/README.md +++ b/tests/README.md @@ -31,7 +31,6 @@ make test-short E2E tests require: - A running Kubernetes cluster - `kubectl` configured with the target cluster context -- `skopeo` for image verification - The roxie binary built (`make build`) Run E2E tests: diff --git a/tests/e2e/e2e_test.go b/tests/e2e/e2e_test.go index 9a365a2..b438ad2 100644 --- a/tests/e2e/e2e_test.go +++ b/tests/e2e/e2e_test.go @@ -35,11 +35,6 @@ func TestMain(m *testing.M) { os.Exit(1) } - if err := requireBinary("skopeo"); err != nil { - fmt.Fprintf(os.Stderr, "skopeo not found: %v\n", err) - os.Exit(1) - } - // Set default MAIN_IMAGE_TAG if not set if os.Getenv("MAIN_IMAGE_TAG") == "" { os.Setenv("MAIN_IMAGE_TAG", defaultMainImageTag)