From 182175ab420a333695609c7e9fd01508f88b91df Mon Sep 17 00:00:00 2001 From: Emerson Knapp Date: Mon, 15 Jun 2026 16:15:44 -0700 Subject: [PATCH] Remove Pulumi containers Signed-off-by: Emerson Knapp --- .github/workflows/ci.yml | 4 +- README.md | 5 +- pulumi/README.md | 64 ---------- pulumi/pulumi-base/.dockerignore | 2 - pulumi/pulumi-base/Containerfile | 41 ------- pulumi/pulumi-base/docker-bake.hcl | 41 ------- pulumi/pulumi-base/test/controls/pulumi.rb | 8 -- pulumi/pulumi-python/.dockerignore | 2 - pulumi/pulumi-python/Containerfile | 55 --------- pulumi/pulumi-python/docker-bake.hcl | 119 ------------------- pulumi/pulumi-python/test/controls/pulumi.rb | 16 --- 11 files changed, 3 insertions(+), 354 deletions(-) delete mode 100644 pulumi/README.md delete mode 100644 pulumi/pulumi-base/.dockerignore delete mode 100644 pulumi/pulumi-base/Containerfile delete mode 100644 pulumi/pulumi-base/docker-bake.hcl delete mode 100644 pulumi/pulumi-base/test/controls/pulumi.rb delete mode 100644 pulumi/pulumi-python/.dockerignore delete mode 100644 pulumi/pulumi-python/Containerfile delete mode 100644 pulumi/pulumi-python/docker-bake.hcl delete mode 100644 pulumi/pulumi-python/test/controls/pulumi.rb 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 <