Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DeployCmd = &cobra.Command{ Use: "deploy", Short: "Deploy the service to a cluster.", Long: deploytxt, RunE: func(_ *cobra.Command, _ []string) error { errnie.Tracing(tweaker.GetBool("errnie.trace")) errnie.Debugging(tweaker.GetBool("errnie.debug")) tags := []string{} switch tweaker.Stage() { case "development": tags = append(tags, os.Getenv("USER")) default: tags = append(tags, tweaker.Stage()) } container := NewContainer(tweaker.Program(), tags) container.Build() container.Push() cluster := NewKind() cluster.Provision() deploy := NewDeploy(cluster) deploy.Do() return nil }, }
DeployCmd deploys the service to a cluster.
This command is added to the rootCmd of each service, so we prevent having to deplicate this code.
TODO: We could probably do the same with the runCmd, if we made all
the managers have the same name, or better still, just have one manager that can handle all services, like the request handler.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { KubeClient *kubernetes.Clientset ControllerClient *clientset.Clientset ExtClient *apiextension.Clientset PromClient *promclientset.Clientset HelmClient helmclient.Client // contains filtered or unexported fields }
Client wraps the various Kubernetes clients that are needed to manipulate both Kubernetes native, as well as extended or custom resources.
type Container ¶
type Container struct {
// contains filtered or unexported fields
}
Container wraps the behavior of building Docker images and pushing them to container repositories.
func NewContainer ¶
NewContainer constructs an instance of Container and returns a pointer reference to it.
It is the entrypoint to building a Dockerfile and pushing the result to a container registry.
type Deploy ¶
type Deploy struct {
// contains filtered or unexported fields
}
Deploy wraps the process of reading the embedded manifest configuration, which orchestrates the provisioning of the platform and infrastructure.
type LogLine ¶
type LogLine struct { Stream string `json:"stream"` Status string `json:"status"` ProgressDetail struct { Current int `json:"current"` Total int `json:"total"` Progress string `json:"progress"` } `json:"progressDetail"` Error string `json:"error"` ErrorDetail struct { Message string `json:"message"` } `json:"errorDetail"` }