wip: service registration

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
This commit is contained in:
Evan Hazlett 2017-07-30 04:13:44 -04:00
parent a89aa40dda
commit 1dd748e3f2
No known key found for this signature in database
GPG key ID: A519480096146526
461 changed files with 51962 additions and 76 deletions

View file

@ -0,0 +1,9 @@
package docker
type Container struct {
id string
}
func (c Container) ID() string {
return c.id
}

13
runtime/docker/create.go Normal file
View file

@ -0,0 +1,13 @@
package docker
import (
"github.com/ehazlett/element/runtime"
"github.com/sirupsen/logrus"
)
func (d *Docker) Create(spec *runtime.Spec) error {
logrus.WithFields(logrus.Fields{
"spec": spec,
}).Debug("creating container")
return nil
}

5
runtime/docker/delete.go Normal file
View file

@ -0,0 +1,5 @@
package docker
func (d *Docker) Delete(id string) error {
return nil
}

24
runtime/docker/docker.go Normal file
View file

@ -0,0 +1,24 @@
package docker
import (
"github.com/docker/docker/client"
)
const (
elementRuntimeLabel = "runtime.element"
)
type Docker struct {
client *client.Client
}
func New() (*Docker, error) {
c, err := client.NewEnvClient()
if err != nil {
return nil, err
}
return &Docker{
client: c,
}, nil
}

30
runtime/docker/list.go Normal file
View file

@ -0,0 +1,30 @@
package docker
import (
"context"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/filters"
"github.com/ehazlett/element/runtime"
)
func (d *Docker) List(namespace string) ([]runtime.Container, error) {
optFilters := filters.NewArgs()
//optFilters.Add("label", elementRuntimeLabel)
dockerContainers, err := d.client.ContainerList(context.Background(), types.ContainerListOptions{
Filters: optFilters,
})
if err != nil {
return nil, err
}
var containers []runtime.Container
for _, c := range dockerContainers {
containers = append(containers, Container{
id: c.ID,
})
}
return containers, nil
}