;;; tramp-container.el --- Tramp integration for Docker-like containers -*- lexical-binding: t; -*-
;; Copyright © 2022-2023 Free Software Foundation, Inc.
;; Author: Brian Cully <bjc@kublai.com>
;; Keywords: comm, processes
;; Package: tramp
;; This file is part of GNU Emacs.
;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
;;; Commentary:
;; Allows Tramp access to environments provided by Docker and similar
;; programs.
;;
;; ## Usage
;;
;; Open a file on a running Docker container:
;;
;; C-x C-f /docker:USER@CONTAINER:/path/to/file
;;
;; or Podman:
;;
;; C-x C-f /podman:USER@CONTAINER:/path/to/file
;;
;; Where:
;; USER is the user on the container to connect as (optional)
;; CONTAINER is the container to connect to
;;
;;
;; Open file in a Kubernetes container:
;;
;; C-x C-f /kubernetes:POD:/path/to/file
;;
;; Where:
;; POD is the pod to connect to.
;; By default, the first container in that pod will be
;; used.
;;
;; Completion for POD and accessing it operate in the current
;; namespace, use this command to change it:
;;
;; "kubectl config set-context --current --namespace=<name>"
;;; Code:
;;;###tramp-autoload
;;;###tramp-autoload
;;;###tramp-autoload
;;;###tramp-autoload
;;;###tramp-autoload
;;;###tramp-autoload
;;;###tramp-autoload
;;;###tramp-autoload
;;;###tramp-autoload
;; Silence byte compiler.
;;;###tramp-autoload
;;; tramp-container.el ends here