# README
forge

Have you ever had to swap to using a new CI system? Twice? Three times? Done with searching for a replacement for each Action, CloudBuilder or resource that you were using in your old one? Tired of waiting minutes for feedback on each iteration of figuring out the quirks of your new one?
Forge is here to help.
Forge is a library and CLI for running reusable steps from various proprietary CI systems using a pluggable container runtime. This, for example, makes the functionality provided to GitHub Actions easily consumable (or testable) by users of other CI systems.
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Functions
NewFoundry returns a Foundry.
SemVer returns the semantic version of forge as built from VersionCore and debug build info.
StdDrains returns a Drains draining to os.Stdout and os.Stderr.
StdStreams returns a Streams consisting of os.Stdin, os.Stdout and os.Stderr.
StdTerminalStreams creates a Streams with os.Stdin, os.Stdout and os.Stderr made raw and a restore function to return them to their previous state.
TerminalStreams creates a Streams with each of the given streams that is a terminal made raw and a restore function to return them to their previous states.
# Variables
DefaultDetachKeys are the default key combinations to use when detaching from a Container that has been attached to.
VersionCore is the SemVer version core of forge.
# Structs
ContainerConfig is the configuration that is used to create a container or an exec in a running container.
Drains represents only outward streams from an Ore, namely stdout and stderr.
Foundry is a wrapper around a ContainerRuntime for processing Ores.
No description provided by the author
Streams represents streams to and from a process inside of a Container.
# Interfaces
Container represents a container created by a ContainerRuntime.
ContainerRuntime represents the functionality needed by Ores to pull OCI images and run containers when being processed.
Image represents a image pulled by a ContainerRuntime.
Ore represents one or more sequential containerized commands.
Volume represents a volume created by a ContainerRuntime which can be attached to a Container via its ContainerConfig.Mounts.