wip: service registration
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
This commit is contained in:
parent
a89aa40dda
commit
1dd748e3f2
461 changed files with 51962 additions and 76 deletions
9
runtime/docker/container.go
Normal file
9
runtime/docker/container.go
Normal 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
13
runtime/docker/create.go
Normal 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
5
runtime/docker/delete.go
Normal file
|
@ -0,0 +1,5 @@
|
|||
package docker
|
||||
|
||||
func (d *Docker) Delete(id string) error {
|
||||
return nil
|
||||
}
|
24
runtime/docker/docker.go
Normal file
24
runtime/docker/docker.go
Normal 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
30
runtime/docker/list.go
Normal 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
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue