Init: Create & Init Project...
This commit is contained in:
		
							
								
								
									
										28
									
								
								service/docker.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								service/docker.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
package service
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
 | 
			
		||||
	docker_client "github.com/docker/docker/client"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Docker client
 | 
			
		||||
var Docker = newClient("tcp://server.yumc.pw:2376", "1.38")
 | 
			
		||||
 | 
			
		||||
type docker struct {
 | 
			
		||||
	client  *docker_client.Client
 | 
			
		||||
	context context.Context
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Init the Docker Client
 | 
			
		||||
func newClient(host string, version string) *docker {
 | 
			
		||||
	client, err := docker_client.NewClient(host, version, nil, nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
	return &docker{client: client, context: context.TODO()}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *docker) Version() string {
 | 
			
		||||
	return d.client.ClientVersion()
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								service/docker_container.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								service/docker_container.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
package service
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/docker/docker/api/types"
 | 
			
		||||
	"github.com/docker/docker/api/types/filters"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func (d *docker) ContainerList() []types.Container {
 | 
			
		||||
	var (
 | 
			
		||||
		ctx     = d.context
 | 
			
		||||
		options = types.ContainerListOptions{Filters: filters.NewArgs()}
 | 
			
		||||
	)
 | 
			
		||||
	containers, err := d.client.ContainerList(ctx, options)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
	return containers
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										15
									
								
								service/docker_images.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								service/docker_images.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
package service
 | 
			
		||||
 | 
			
		||||
import "github.com/docker/docker/api/types"
 | 
			
		||||
 | 
			
		||||
func (d *docker) ImageList() []types.ImageSummary {
 | 
			
		||||
	var (
 | 
			
		||||
		context = d.context
 | 
			
		||||
		options = types.ImageListOptions{}
 | 
			
		||||
	)
 | 
			
		||||
	images, err := d.client.ImageList(context, options)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
	return images
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										19
									
								
								service/docker_swarm.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								service/docker_swarm.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
package service
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/docker/docker/api/types"
 | 
			
		||||
	"github.com/docker/docker/api/types/filters"
 | 
			
		||||
	"github.com/docker/docker/api/types/swarm"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func (d *docker) NodeList() []swarm.Node {
 | 
			
		||||
	var (
 | 
			
		||||
		ctx     = d.context
 | 
			
		||||
		options = types.NodeListOptions{Filters: filters.NewArgs()}
 | 
			
		||||
	)
 | 
			
		||||
	nodes, err := d.client.NodeList(ctx, options)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
	return nodes
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										22
									
								
								service/git.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								service/git.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
package service
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"yumc.pw/cloud/nvwa/database"
 | 
			
		||||
	"yumc.pw/cloud/nvwa/model"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Git is a git client
 | 
			
		||||
var Git = &git{}
 | 
			
		||||
 | 
			
		||||
type git struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (g *git) List() *[]model.GitLog {
 | 
			
		||||
	var users = &[]model.GitLog{}
 | 
			
		||||
	database.Db.Find(&users)
 | 
			
		||||
	return users
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (g *git) Add(model *model.GitLog) {
 | 
			
		||||
	database.Db.Create(model)
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user