From 7026f42a102ea1949bc50a8ebd1e2678c6a7c9b3 Mon Sep 17 00:00:00 2001 From: Steven Pritchard Date: Thu, 18 Dec 2025 17:41:46 +0000 Subject: [PATCH] feat: Add devcontainer --- .devcontainer/Dockerfile | 46 +++++++++++++++++++++++++++++++++ .devcontainer/devcontainer.json | 20 ++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..293d2d8 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,46 @@ +FROM almalinux:10 + +RUN dnf -y update \ + && dnf -y install \ + https://yum.voxpupuli.org/openvox8-release-el-10.noarch.rpm \ + epel-release \ + yum-utils \ + && yum-config-manager --set-enabled crb \ + && dnf -y install \ + git \ + openvox-agent \ + openvox-server \ + ruby \ + ruby-devel \ + rubygem-rake \ + libyaml-devel \ + make \ + gcc \ + jq \ + which \ + time \ + vim-enhanced \ + neovim \ + bash-completion \ + sudo \ + createrepo_c \ + genisoimage \ + rpm-build \ + && { \ + dnf -y install yamllint \ + || { dnf -y install python3-pip && pip install yamllint; }; \ + } \ + && dnf clean all + +# Create a non-root user and set permissions +RUN useradd -ms /bin/bash vscode \ + && mkdir -p /workspace \ + && chown -R vscode:vscode /workspace \ + && echo vscode ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/vscode \ + && chmod 0440 /etc/sudoers.d/vscode + +# Switch to the non-root user +USER vscode + +# Set the working directory +WORKDIR /workspace diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..bc5ef41 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,20 @@ +{ + "name": "Puppet Development", + "dockerFile": "Dockerfile", + "customizations": { + "vscode": { + "extensions": [ + "puppet.puppet-vscode", + "shopify.ruby-lsp" + ], + "settings": { + "terminal.integrated.profiles.linux": { + "bash": { + "path": "bash" + } + } + } + } + }, + "containerUser": "vscode" +}