Skip to content

Use interlink-apptainer-plugin with ConfigMap-based configuration#7

Draft
Copilot wants to merge 2 commits into
mainfrom
copilot/use-apptainer-plugin
Draft

Use interlink-apptainer-plugin with ConfigMap-based configuration#7
Copilot wants to merge 2 commits into
mainfrom
copilot/use-apptainer-plugin

Conversation

Copilot AI commented May 6, 2026

Copy link
Copy Markdown
Contributor

Switch the pilot-mode plugin to the standalone interlink-apptainer-plugin, which requires a YAML config file rather than env vars alone. The current PluginPodSpec had no way to mount files into the plugin container.

Changes

  • API (PluginPodSpec): add volumes and volumeMounts fields, mirroring the standard Kubernetes container API, so users can inject a ConfigMap-backed ApptainerConfig.yaml into the plugin pod.
  • Controller (buildPluginPodSpec): propagate the new fields into the generated PodSpec/container.
  • Example (examples/pilot.yaml): replace the old image with ghcr.io/interlink-hq/interlink-apptainer-plugin:latest; add a ConfigMap with a full ApptainerConfig.yaml and wire it in via volumes/volumeMounts; replace the obsolete INTERLINK_PORT env var with APPTAINERCONFIGPATH.
  • README: document the ConfigMap-mount pattern as the canonical way to configure the apptainer plugin.
  • Test: add TestInterlinkMachineReconciler_PluginPodMode_VolumesAndMounts asserting volumes, volumeMounts, and env vars are correctly projected into the created pod.

Usage

pluginSpec:
  image: "ghcr.io/interlink-hq/interlink-apptainer-plugin:latest"
  port: 4000
  env:
    - name: APPTAINERCONFIGPATH
      value: "/etc/interlink/ApptainerConfig.yaml"
  volumes:
    - name: plugin-config
      configMap:
        name: apptainer-plugin-config   # ConfigMap with ApptainerConfig.yaml key
  volumeMounts:
    - name: plugin-config
      mountPath: /etc/interlink
      readOnly: true

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/interlink-hq/interlink-apptainer-plugin/releases/latest
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI linked an issue May 6, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Add support for Apptainer plugin Use interlink-apptainer-plugin with ConfigMap-based configuration May 6, 2026
Copilot AI requested a review from dciangot May 6, 2026 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use apptainer plugin

2 participants