Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Devcontainers

.devcontainer.json

{
  "name": "Ubuntu",
  "image": "mcr.microsoft.com/devcontainers/base:jammy",
  "features": {
    "ghcr.io/devcontainers-contrib/features/ansible:2": {},
    "ghcr.io/devcontainers-contrib/features/apt-packages:1": {
                    "clean_ppas": true,
                    "preserve_apt_list": true,
                    "packages": "htop, vim, nmap, tmux, w3m, yamllint, docker.io, docker-compose, pip, file, ansible-lint, age, mlocate",
                    "ppas": "ppa:deadsnakes/ppa"
    },
    "ghcr.io/devcontainers/features/docker-in-docker:2.2.0": {},
    "ghcr.io/devcontainers/features/kubectl-helm-minikube:1": {},
    "ghcr.io/devcontainers-contrib/features/pipx-package:1": {
                    "includeDeps": true,
                    "package": "black",
                    "version": "latest",
                    "injections": "pylint pytest",
                    "interpreter": "python3"
    },
    "ghcr.io/devcontainers-contrib/features/sops:1": {},
    "ghcr.io/devcontainers-contrib/features/terraform-asdf:2": {},
    "ghcr.io/stuartleeks/dev-container-features/shell-history:0": {},
    "ghcr.io/natescherer/devcontainers-custom-features/k9s:1": {},
    "ghcr.io/lukewiwa/features/shellcheck:0": {}
  },
  "customizations": {
    "vscode": {
      "extensions": [
                      "Tim-Koehler.helm-intellisense",
                      "ms-kubernetes-tools.vscode-kubernetes-tools",
                      "GitHub.copilot",
                      "DavidAnson.vscode-markdownlint", // better with a config file
                      "4ops.terraform", // probably choose 4ops or HashiCorp
                      "HashiCorp.terraform",
                      "redhat.vscode-yaml",
                      "GitHub.copilot-chat",
                      "njzy.stats-bar",
                      "betajob.modulestf", // terraform
                      "shakram02.bash-beautify",
                      "Trunk.io" // linter for everything
                      // "redhat.ansible", // includes Ansible-lint
      ]
    }
  },
  "postCreateCommand": "ansible-galaxy collection install kubernetes.core ansible.posix community.general community.sops community.postgresql"
}