| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package docker
- import (
- "context"
- "github.com/docker/docker/client"
- api "github.com/porter-dev/porter/api/client"
- )
- const label = "CreatedByPorterCLI"
- // NewAgentFromEnv creates a new Docker agent using the environment variables set
- // on the host
- func NewAgentFromEnv() (*Agent, error) {
- ctx := context.Background()
- cli, err := client.NewClientWithOpts(
- client.FromEnv,
- client.WithAPIVersionNegotiation(),
- )
- if err != nil {
- return nil, err
- }
- return &Agent{
- Client: cli,
- ctx: ctx,
- label: label,
- }, nil
- }
- func NewAgentWithAuthGetter(client *api.Client, projID uint) (*Agent, error) {
- agent, err := NewAgentFromEnv()
- if err != nil {
- return nil, err
- }
- cache := NewFileCredentialsCache()
- authGetter := &AuthGetter{
- Client: client,
- Cache: cache,
- ProjectID: projID,
- }
- agent.authGetter = authGetter
- return agent, nil
- }
|