Skip to content

Commit

Permalink
refactor libcompose project creation
Browse files Browse the repository at this point in the history
  • Loading branch information
andscoop committed Feb 15, 2018
1 parent bcd3b93 commit 0bd947c
Showing 1 changed file with 20 additions and 36 deletions.
56 changes: 20 additions & 36 deletions airflow/docker.go
Expand Up @@ -73,16 +73,10 @@ func generateConfig(projectName, airflowHome string) string {
return buff.String()
}

// Start starts a local airflow development cluster
func Start(path string) error {
// Get project name from config
projectName := config.GetString(config.CFGProjectName)

// Build this project image
imageBuild(path, imageName(projectName, "latest"))

// createProjectFromContext creates project with yaml config as context
func createProjectFromContext(projectName, airflowHome string) (project.APIProject, error) {
// Generate the docker-compose yaml
yaml := generateConfig(projectName, path)
yaml := generateConfig(projectName, airflowHome)

// Create the project
project, err := dockercompose.NewProject(&ctx.Context{
Expand All @@ -92,13 +86,24 @@ func Start(path string) error {
},
}, nil)

return project, err
}

// Start starts a local airflow development cluster
func Start(airflowHome string) error {
// Get project name from config
projectName := config.GetString(config.CFGProjectName)

project, err := createProjectFromContext(projectName, airflowHome)
if err != nil {
return err
}

// Build this project image
imageBuild(airflowHome, imageName(projectName, "latest"))

// Start up our project
err = project.Up(context.Background(), options.Up{})

if err != nil {
return err
}
Expand All @@ -107,28 +112,17 @@ func Start(path string) error {
}

// Stop stops a local airflow development cluster
func Stop(path string) error {
func Stop(airflowHome string) error {
// Get project name from config
projectName := config.GetString(config.CFGProjectName)

// Generate the docker-compose yaml
yaml := generateConfig(projectName, path)

// Create the project
project, err := dockercompose.NewProject(&ctx.Context{
Context: project.Context{
ComposeBytes: [][]byte{[]byte(yaml)},
ProjectName: projectName,
},
}, nil)

project, err := createProjectFromContext(projectName, airflowHome)
if err != nil {
return err
}

// Shut down our project
err = project.Down(context.Background(), options.Down{RemoveVolume: true})

if err != nil {
return err
}
Expand All @@ -137,25 +131,15 @@ func Stop(path string) error {
}

// PS prints the running airflow containers
func PS(path string) error {
func PS(airflowHome string) error {
// Get project name from config
projectName := config.GetString(config.CFGProjectName)

// Generate the docker-compose yaml
yaml := generateConfig(projectName, path)

// Create the project
project, err := dockercompose.NewProject(&ctx.Context{
Context: project.Context{
ComposeBytes: [][]byte{[]byte(yaml)},
ProjectName: projectName,
},
}, nil)
project, err := createProjectFromContext(projectName, airflowHome)
if err != nil {
return errors.Wrap(err, "Error creating docker-compose project")
}

// Shut down our project
// List project containers
psInfo, err := project.Ps(context.Background())
if err != nil {
return errors.Wrap(err, "Error checking docker-compose status")
Expand Down

0 comments on commit 0bd947c

Please sign in to comment.