Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Meta] consolidate into a single Go binary #29

Closed
arschles opened this issue Dec 14, 2015 · 5 comments · Fixed by #72
Closed

[Meta] consolidate into a single Go binary #29

arschles opened this issue Dec 14, 2015 · 5 comments · Fixed by #72
Assignees

Comments

@arschles
Copy link
Member

This is a high level ticket to rewrite parts of builder in Go, and consolidate the various Go binaries into a single one.

We currently have many Go binaries that are built and used by shell scripts. This ticket is for:

  1. Porting those shell scripts to Go
  2. Moving the functionality in the external binary artifacts into the single builder process.

Since the shell scripts need the external binary artifacts, (1) must happen before (2).

When work on this starts, this ticket should be broken into smaller chunks.

@arschles arschles self-assigned this Dec 14, 2015
@arschles
Copy link
Member Author

as of now, each the individual binaries that the Makefile builds are:

BINARIES := extract-domain extract-types extract-version generate-buildhook get-app-config get-app-values publish-release-controller yaml2json-procfile

@arschles
Copy link
Member Author

Another related task will be removing or minimizing etcd usage in builder. Much of the integration is used to communicate with workflow. See https://github.com/deis/workflow/blob/master/rootfs/bin/boot#L53 and https://github.com/deis/workflow/search?utf8=%E2%9C%93&q=%22%2Fdeis%2Fservices%22&type=Code for pointers on what data is shared between the two.

This task will likely need to be split into a different issue.

@arschles
Copy link
Member Author

More notes:

The scripts are auto-generated by confd, and they're both called at https://github.com/deis/builder/blob/master/pkg/git/git.go#L28-L60. The work for this issue will involve replacing confd with code that can watch etcd keys. Reinforcing my last comment, I believe that work exhausts the scope of this issue and a future issue should be opened to reduce or eliminate etcd usage.

@helgi
Copy link
Contributor

helgi commented Dec 31, 2015

We should focus on a solution that does not use etcd and instead get the information from elsewhere, debating which should happen first tho

@arschles
Copy link
Member Author

Agreed. I don't know enough about builder's use of etcd yet to comment intelligently any further though. I want to separate the etcd use from this refactor if at all possible, to avoid making two major changes in the same patch.

Fwiw, my feeling is that it'll be wiser to make this refactor first and then move away from etcd.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants