... | @@ -1000,7 +1000,7 @@ good stopgap solution. A better solution would need to solve the |
... | @@ -1000,7 +1000,7 @@ good stopgap solution. A better solution would need to solve the |
|
"double-commit" problem and still allow us to have smaller
|
|
"double-commit" problem and still allow us to have smaller
|
|
repositories that we can collaborate on outside of our main tree.
|
|
repositories that we can collaborate on outside of our main tree.
|
|
|
|
|
|
## submodules
|
|
### submodules
|
|
|
|
|
|
The talk partially covers how difficult `git submodules` work and how
|
|
The talk partially covers how difficult `git submodules` work and how
|
|
hard they are to deal with. I say partially because submodules are
|
|
hard they are to deal with. I say partially because submodules are
|
... | @@ -1023,7 +1023,7 @@ One advantage with submodules is that they're mostly standard: |
... | @@ -1023,7 +1023,7 @@ One advantage with submodules is that they're mostly standard: |
|
everyone knows about them, even if they're not familiar and their
|
|
everyone knows about them, even if they're not familiar and their
|
|
knowledge is reusable outside of Puppet.
|
|
knowledge is reusable outside of Puppet.
|
|
|
|
|
|
## librarian
|
|
### librarian
|
|
|
|
|
|
Librarian is written in ruby. It's built on top of [another library
|
|
Librarian is written in ruby. It's built on top of [another library
|
|
called librarian](https://github.com/applicationsonline/librarian) that is used by Ruby's [bundler](https://gembundler.com/). At the time
|
|
called librarian](https://github.com/applicationsonline/librarian) that is used by Ruby's [bundler](https://gembundler.com/). At the time
|
... | @@ -1050,7 +1050,7 @@ gives a huge surface area for arbitrary code injection in the entire |
... | @@ -1050,7 +1050,7 @@ gives a huge surface area for arbitrary code injection in the entire |
|
puppet infrastructure (e.g. MITM, forge compromise, hostile upstream
|
|
puppet infrastructure (e.g. MITM, forge compromise, hostile upstream
|
|
attacks)
|
|
attacks)
|
|
|
|
|
|
## r10k
|
|
### r10k
|
|
|
|
|
|
r10k was written because librarian was too slow for large
|
|
r10k was written because librarian was too slow for large
|
|
deployments. But it covers more than just managing code: it also
|
|
deployments. But it covers more than just managing code: it also
|
... | @@ -1080,7 +1080,7 @@ that reformats librarian output](https://github.com/dharmabruce/lp2r10k/blob/mas |
... | @@ -1080,7 +1080,7 @@ that reformats librarian output](https://github.com/dharmabruce/lp2r10k/blob/mas |
|
also a [go rewrite called g10k](https://github.com/xorpaul/g10k) that is much faster, but with
|
|
also a [go rewrite called g10k](https://github.com/xorpaul/g10k) that is much faster, but with
|
|
similar limitations.)
|
|
similar limitations.)
|
|
|
|
|
|
## git subtree
|
|
### git subtree
|
|
|
|
|
|
[This article](https://web.archive.org/web/20171107082413/http://somethingsinistral.net/blog/scaling-puppet-environment-deployment/) mentions git subtrees from the point of view of
|
|
[This article](https://web.archive.org/web/20171107082413/http://somethingsinistral.net/blog/scaling-puppet-environment-deployment/) mentions git subtrees from the point of view of
|
|
Puppet management quickly. It outline how it's cool that the history
|
|
Puppet management quickly. It outline how it's cool that the history
|
... | @@ -1092,11 +1092,11 @@ some of the disadvantages of the monorepo in the all the code is |
... | @@ -1092,11 +1092,11 @@ some of the disadvantages of the monorepo in the all the code is |
|
actually committed in the parent repo and you *do* have to commit
|
|
actually committed in the parent repo and you *do* have to commit
|
|
twice as well.
|
|
twice as well.
|
|
|
|
|
|
## subrepo
|
|
### subrepo
|
|
|
|
|
|
TODO. https://github.com/ingydotnet/git-subrepo
|
|
TODO. https://github.com/ingydotnet/git-subrepo
|
|
|
|
|
|
## myrepos
|
|
### myrepos
|
|
|
|
|
|
[myrepos](https://myrepos.branchable.com/) is one of many solutions to manage multiple git
|
|
[myrepos](https://myrepos.branchable.com/) is one of many solutions to manage multiple git
|
|
repositories. It has been used in the past at my old workplace
|
|
repositories. It has been used in the past at my old workplace
|
... | @@ -1114,7 +1114,7 @@ esoteric to people. It also has weird failure modes, but could be used |
... | @@ -1114,7 +1114,7 @@ esoteric to people. It also has weird failure modes, but could be used |
|
in parallel with a monorepo. For example, it might allow us to setup
|
|
in parallel with a monorepo. For example, it might allow us to setup
|
|
specific remotes in subdirectories of the monorepo automatically.
|
|
specific remotes in subdirectories of the monorepo automatically.
|
|
|
|
|
|
## Summary table
|
|
### Summary table
|
|
|
|
|
|
| Approach | Pros | Cons | Summary |
|
|
| Approach | Pros | Cons | Summary |
|
|
|------------|----------------------------|------------------------------------------|---------------------------|
|
|
|------------|----------------------------|------------------------------------------|---------------------------|
|
... | | ... | |