diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 08248577..ef5b5cf1 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -80,8 +80,6 @@ jobs:
prometheus/snmp-exporter: 'prometheus/snmp-exporter/**'
prometheus/snmp-generator: 'prometheus/snmp-generator/**'
pspace: 'pspace/**'
- pulumi/pulumi-base: 'pulumi/pulumi-base/**'
- pulumi/pulumi-python: 'pulumi/pulumi-python/**'
redis/7.2/jammy: 'redis/7.2/jammy/**'
ros/humble/ubuntu/jammy: 'ros/humble/ubuntu/jammy/**'
ros/jazzy/ubuntu/noble: 'ros/jazzy/ubuntu/noble/**'
@@ -171,4 +169,4 @@ jobs:
run-test-stage: ${{ env.run-test-stage }}
test-entrypoint: ${{ env.test-entrypoint }}
dockerhub-username: ${{ secrets.CONTAINER_REGISTRY_USERNAME }}
- dockerhub-password: ${{ secrets.CONTAINER_DESCRIPTION_PASSWORD }}
\ No newline at end of file
+ dockerhub-password: ${{ secrets.CONTAINER_DESCRIPTION_PASSWORD }}
diff --git a/README.md b/README.md
index f7ea24f6..0aaa01ff 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,6 @@ The images are pubished to https://hub.docker.com/u/polymathrobotics
| [portainer-ce](https://hub.docker.com/r/polymathrobotics/portainer-ce) | ortainer Community Edition GUI-based container management platform. | [portainer-ce](https://github.com/polymathrobotics/oci/tree/main/portainer-ce) |
| [postgres](https://hub.docker.com/r/polymathrobotics/postgres) | The PostgreSQL object-relational database system provides reliability and data integrity | [postgres](https://github.com/polymathrobotics/oci/tree/main/postgres) |
| [prometheus](https://hub.docker.com/r/polymathrobotics/prometheus)
[alertmanager](https://hub.docker.com/r/polymathrobotics/alertmanager)
[blackbox_exporter](https://hub.docker.com/r/polymathrobotics/blackbox_exporter)
[collectd_exporter](https://hub.docker.com/r/polymathrobotics/collectd_exporter)
[node_exporter](https://hub.docker.com/r/polymathrobotics/node_exporter) | Prometheus monitoring system and time series database | [prometheus/prometheus](https://github.com/polymathrobotics/oci/tree/main/prometheus/prometheus)
[prometheus/alertmanager](https://github.com/polymathrobotics/oci/tree/main/prometheus/alertmanager)
[prometheus/blackbox_exporter](https://github.com/polymathrobotics/oci/tree/main/prometheus/blackbox_exporter)
[prometheus/collectd_exporter](https://github.com/polymathrobotics/oci/tree/main/prometheus/collectd_exporter)
[prometheus/node_exporter](https://github.com/polymathrobotics/oci/tree/main/prometheus/node_exporter) |
-| [pulumi-base](https://hub.docker.com/r/polymathrobotics/pulumi-base)
[pulumi-python](https://hub.docker.com/r/polymathrobotics/pulumi-python) | Pulumi Infrastructure as Code CLI | [pulumi-base](https://github.com/polymathrobotics/oci/tree/main/pulumi/pulumi-base)
[pulumi-python](https://github.com/polymathrobotics/oci/tree/main/pulumi/pulumi-python) |
| [python](https://hub.docker.com/r/polymathrobotics/python) | The Python programming language | [python](https://github.com/polymathrobotics/oci/tree/main/python) |
| [redis](https://hub.docker.com/r/polymathrobotics/redis) | Redis is an open source key-value store that functions as a data structure server. | [redis](https://github.com/polymathrobotics/oci/tree/main/redis) |
| [ros](https://hub.docker.com/r/polymathrobotics/ros) | The Robot Operating System | [humble-jammy](https://github.com/polymathrobotics/oci/tree/main/ros/humble/ubuntu/jammy)
[jazzy-noble](https://github.com/polymathrobotics/oci/tree/main/ros/jazzy/ubuntu/noble)
[rolling-jammy](https://github.com/polymathrobotics/oci/tree/main/ros/rolling/ubuntu/jammy) |
@@ -89,14 +88,14 @@ The repo has the following structure:
- Rest of the directories contain all the source code for the images, primarily
Containerfiles/Dockerfiles in BuildKit format. An alphabetical
index is also provided in this README.md.
-
+
# Developing
Following container image conventions there is a separate directory for each container image. The container image
tools have a single target directory for source files and by default the image tools scan all files in a directory
for some operations. Thus there is a subdirectory per image, though a single image may be built for multiple
platforms. The source for all the container images is under the `src/` tree in this repo. GitHub Actions pipelines
-in `.github/workflows` have been set up to publish these images to the
+in `.github/workflows` have been set up to publish these images to the
[polymathrobotics org](https://hub.docker.com/u/polymathrobotics) on DockerHub.
Since container image source code packaging is small, for convenience all the source is together in one big repo.
diff --git a/pulumi/README.md b/pulumi/README.md
deleted file mode 100644
index 23f60917..00000000
--- a/pulumi/README.md
+++ /dev/null
@@ -1,64 +0,0 @@
-# pulumi
-
-These images repackage releases from https://github.com/pulumi/pulumi-docker-containers:
-
-- `pulumi-base`: A slim image that contains the Pulumi CLI, but no SDKs.
-- `pulumi-python`: A slim image that contains the Pulumi CLI along with the Python runtime and Pulumi SDK.
-
-Image source: https://github.com/polymathrobotics/oci/tree/main/pulumi
-
-## Using pulumi
-
-The container's default `entrypoint` is the `pulumi` executable, but you'll usually want to provide additional command-line arguments in order to perform useful work, like:
-
-- Environment variables, including a `PULUMI_ACCESS_TOKEN` and credentials for your cloud provider of choice
-- A mapping of the folder containing your Pulumi program into a folder in the container
-- An `entrypoint` specifying whatever setup work should be performed before invoking `pulumi`, such as installing Node or Python dependencies.
-
-For example, to run `pulumi preview` on a Python project targeting AWS:
-
-```
-docker container run -it --rm \
- -env PULUMI_ACCESS_TOKEN \
- -env AWS_ACCESS_KEY_ID \
- -env AWS_SECRET_ACCESS_KEY \
- -env AWS_REGION \
- --workdir /app \
- --mount type=bind,source="$(pwd)",target=/app \
- --entrypoint bash \
- docker.io/polymathrobotics/pulumi-python \
- -c "pip install -r requirements.txt && pulumi preview --stack dev --non-interactive"
-```
-
-### How to remove resources from a stack without deleting them in the cloud
-
-Find the urn for the resource of interest via `pulumi stack --show-urns`:
-```
-docker container run -it --rm \
- --env PULUMI_ACCESS_TOKEN \
- --workdir /app \
- --mount type=bind,source="$(pwd)",target=/app \
- --entrypoint bash \
- docker.io/polymathrobotics/pulumi-python \
- -c "pip install -r requirements.txt \
- && pulumi stack --show-urns"
-```
-
-Then use the following command to delete the urn: `pulumi state delete `.
-
-To do this in bulk, you can export the stack as JSON, delete the resources, then import it back in:
-```
-# Get the current stack as json:
-# pulumi stack export --file stack.json
-docker container run -it --rm \
- --env PULUMI_ACCESS_TOKEN \
- --workdir /app \
- --mount type=bind,source="$(pwd)",target=/app \
- --entrypoint bash \
- docker.io/polymathrobotics/pulumi-python \
- -c "pip install -r requirements.txt \
- && pulumi stack export --file stack.json"
-
-# Delete what you don't want from your stack file and then:
-pulumi stack import --file stack.json
-```
diff --git a/pulumi/pulumi-base/.dockerignore b/pulumi/pulumi-base/.dockerignore
deleted file mode 100644
index 87ae0952..00000000
--- a/pulumi/pulumi-base/.dockerignore
+++ /dev/null
@@ -1,2 +0,0 @@
-README.md
-test/
diff --git a/pulumi/pulumi-base/Containerfile b/pulumi/pulumi-base/Containerfile
deleted file mode 100644
index b3bf8c87..00000000
--- a/pulumi/pulumi-base/Containerfile
+++ /dev/null
@@ -1,41 +0,0 @@
-# syntax=docker/dockerfile:1
-ARG BASE_IMAGE=docker.io/ubuntu:noble-20250805
-# hadolint ignore=DL3006
-FROM $BASE_IMAGE AS base
-
-FROM base AS download
-
-ARG PULUMI_VERSION
-RUN <