packages feed

mdoc-0.3.1.1: src/Mdoc/Examples/Docker.hs

module Mdoc.Examples.Docker
  ( docker1
  ) where

import Mdoc.Prelude

import Mdoc.Data.Named
import OptEnvConf qualified
import OptEnvConf.Mdoc qualified as OptEnvConf

docker1 :: Named
docker1 =
  mempty
    & (<> OptEnvConf.getPage dockerOpt)
    & name "docker" "a self-sufficient runtime for containers"

{- FOURMOLU_DISABLE -}
dockerOpt :: OptEnvConf.Parser ()
dockerOpt = void $ (,,,,,,,,,,,)
  <$> OptEnvConf.optional (OptEnvConf.setting [OptEnvConf.reader (OptEnvConf.str @Text), OptEnvConf.long "config",                          OptEnvConf.metavar "string", OptEnvConf.help "Location of client config files", OptEnvConf.value "/home/patrick/.docker"])
  <*> OptEnvConf.optional (OptEnvConf.setting [OptEnvConf.reader (OptEnvConf.str @Text), OptEnvConf.short 'c', OptEnvConf.long "context",   OptEnvConf.metavar "string", OptEnvConf.help "Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with \"docker context use\")"])
  <*> OptEnvConf.optional (OptEnvConf.setting [OptEnvConf.reader (OptEnvConf.str @Text), OptEnvConf.short 'D', OptEnvConf.long "debug",                                  OptEnvConf.help "Enable debug mode"])
  <*> OptEnvConf.optional (OptEnvConf.setting [OptEnvConf.reader (OptEnvConf.str @Text), OptEnvConf.short 'H', OptEnvConf.long "host",      OptEnvConf.metavar "string", OptEnvConf.help "Daemon socket to connect to"])
  <*> OptEnvConf.optional (OptEnvConf.setting [OptEnvConf.reader (OptEnvConf.str @Text), OptEnvConf.short 'l', OptEnvConf.long "log-level", OptEnvConf.metavar "string", OptEnvConf.help "Set the logging level (\"debug\", \"info\", \"warn\", \"error\", \"fatal\")", OptEnvConf.value "info"])
  <*> OptEnvConf.optional (OptEnvConf.setting [OptEnvConf.switch True, OptEnvConf.value False, OptEnvConf.long "tls",                                            OptEnvConf.help "Use TLS; implied by --tlsverify"])
  <*> OptEnvConf.optional (OptEnvConf.setting [OptEnvConf.reader (OptEnvConf.str @Text), OptEnvConf.long "tlscacert",                       OptEnvConf.metavar "string", OptEnvConf.help "Trust certs signed only by this CA", OptEnvConf.value "/home/patrick/.docker/ca.pem"])
  <*> OptEnvConf.optional (OptEnvConf.setting [OptEnvConf.reader (OptEnvConf.str @Text), OptEnvConf.long "tlscert",                         OptEnvConf.metavar "string", OptEnvConf.help "Path to TLS certificate file", OptEnvConf.value "/home/patrick/.docker/cert.pem"])
  <*> OptEnvConf.optional (OptEnvConf.setting [OptEnvConf.reader (OptEnvConf.str @Text), OptEnvConf.long "tlskey",                          OptEnvConf.metavar "string", OptEnvConf.help "Path to TLS key file", OptEnvConf.value "/home/patrick/.docker/key.pem"])
  <*> OptEnvConf.optional (OptEnvConf.setting [OptEnvConf.switch True, OptEnvConf.value False, OptEnvConf.long "tlsverify",                                      OptEnvConf.help "Use TLS and verify the remote"])
  <*> OptEnvConf.optional (OptEnvConf.setting [OptEnvConf.switch True, OptEnvConf.value False, OptEnvConf.short 'v', OptEnvConf.long "version",                  OptEnvConf.help "Print version information and quit"])
  <*> OptEnvConf.commands
    [ OptEnvConf.command "run"  "Create and run a new container from an image" runOpt
    , OptEnvConf.command "exec" "Execute a command in a running container" execOpt
    , OptEnvConf.command "ps"   "List containers" psOpt
    ]

runOpt :: OptEnvConf.Parser ()
runOpt = pure ()

execOpt :: OptEnvConf.Parser ()
execOpt = pure ()

psOpt :: OptEnvConf.Parser ()
psOpt = pure ()
{- FOURMOLU_ENABLE -}