Documentation
¶
Index ¶
- func InstallCompose(host *remoteComp.Host, opts ...pulumi.ResourceOption) (command.Command, error)
- func InstallDocker(host *remoteComp.Host, opts ...pulumi.ResourceOption) (command.Command, error)
- func SetupECRDockerAuth(n namer.Namer, host *remoteComp.Host, opts ...pulumi.ResourceOption) (command.Command, error)
- type ComposeInlineManifest
- type ComposeManifest
- type ComposeManifestService
- type Manager
- type ManagerOutput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InstallCompose ¶
func InstallCompose(host *remoteComp.Host, opts ...pulumi.ResourceOption) (command.Command, error)
InstallCompose installs docker-compose on the host at provision time. Call this explicitly for cloud environments that do not use pre-baked AMIs (Azure, GCP). AWS e2e AMIs have docker-compose v2.27.0 pre-baked.
func InstallDocker ¶
func InstallDocker(host *remoteComp.Host, opts ...pulumi.ResourceOption) (command.Command, error)
InstallDocker installs Docker on the host at provision time. Call this explicitly for cloud environments that do not use pre-baked AMIs (Azure, GCP). AWS e2e AMIs have Docker pre-baked.
func SetupECRDockerAuth ¶
func SetupECRDockerAuth(n namer.Namer, host *remoteComp.Host, opts ...pulumi.ResourceOption) (command.Command, error)
SetupECRDockerAuth merges credsStore=ecr-login into ~/.docker/config.json (preserving existing keys). docker-credential-ecr-login and jq are expected to already be present on the host (pre-baked in AWS e2e AMIs); this enables automatic authentication against ECR registries (including pull-through caches).
TODO(ACIX-1305 follow-up): RHEL family has no -e2e AMI yet (introduced by the SBOM/RHEL10 work in #51486), so the helper binary and jq are still installed at runtime there. Migrated OSes assume both are pre-baked. Remove the RHEL-family install once a RHEL 10 -e2e AMI bakes them.
Types ¶
type ComposeInlineManifest ¶
type ComposeInlineManifest struct {
Name string
Content pulumi.StringInput
}
type ComposeManifest ¶
type ComposeManifest struct {
Version string `yaml:"version"`
Services map[string]ComposeManifestService `yaml:"services"`
}
type ComposeManifestService ¶
type ComposeManifestService struct {
Pid string `yaml:"pid,omitempty"`
Privileged bool `yaml:"privileged,omitempty"`
Ports []string `yaml:"ports,omitempty"`
Image string `yaml:"image"`
ContainerName string `yaml:"container_name"`
Volumes []string `yaml:"volumes"`
Environment map[string]any `yaml:"environment"`
}
type Manager ¶
type Manager struct {
pulumi.ResourceState
components.Component
Host *remoteComp.Host `pulumi:"host"`
// contains filtered or unexported fields
}
func NewAWSManager ¶ added in v0.79.0
func NewAWSManager(e config.Env, host *remoteComp.Host, opts ...pulumi.ResourceOption) (*Manager, error)
NewAWSManager creates a docker Manager and wires the host's Amazon ECR credentials helper so it authenticates automatically against ECR registries (including our pull-through cache). The helper itself is pre-baked into the AWS e2e AMI — NewAWSManager only writes ~/.docker/config.json via SetupECRDockerAuth. Use this instead of NewManager when the host is on AWS.
When ImagePullRegistry is configured, DD_REGISTRY is automatically injected into every ComposeStrUp call so that compose files using ${DD_REGISTRY:-docker.io} pull from the ECR pull-through cache for Docker Hub images. Callers may still override DD_REGISTRY by passing it explicitly in their envVars map.
func NewManager ¶
func NewManager(e config.Env, host *remoteComp.Host, opts ...pulumi.ResourceOption) (*Manager, error)
func (*Manager) ComposeFileUp ¶
func (*Manager) ComposeStrUp ¶
func (d *Manager) ComposeStrUp(name string, composeManifests []ComposeInlineManifest, envVars pulumi.StringMap, opts ...pulumi.ResourceOption) (command.Command, error)
type ManagerOutput ¶
type ManagerOutput struct {
components.JSONImporter
Host remoteComp.HostOutput `json:"host"`
}