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

Add systemd unit to misc/ #1864

Closed
wants to merge 3 commits into from
Closed

Add systemd unit to misc/ #1864

wants to merge 3 commits into from

Conversation

kpcyrd
Copy link
Contributor

@kpcyrd kpcyrd commented Oct 19, 2015

License: MIT
Signed-off-by: kpcyrd git@rxv.cc

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
License: MIT
Signed-off-by: kpcyrd <git@rxv.cc>
@jbenet jbenet added the backlog label Oct 19, 2015
@ion1
Copy link

ion1 commented Oct 19, 2015

Would this start ipfs daemon as root?

@kpcyrd
Copy link
Contributor Author

kpcyrd commented Oct 19, 2015

@ion1 this is supposed to be used with systemctl --user start ipfs.

There's no sane way to drop privileges for ipfs inside the unit file.

@whyrusleeping
Copy link
Member

@kpcyrd could you add a small readme, or installation instructions for the service? It looks good to me otherwise.

License: MIT
Signed-off-by: kpcyrd <git@rxv.cc>
This is based on the work of github.com/ipfs/examples/init/

License: MIT
Signed-off-by: kpcyrd <git@rxv.cc>
@whyrusleeping
Copy link
Member

@kpcyrd This LGTM, i'll wait for a check from @jbenet and then we can merge.

@jbenet
Copy link
Member

jbenet commented Oct 20, 2015

@jbenet
Copy link
Member

jbenet commented Oct 20, 2015

(so, no i dont think we should merge this)

@whyrusleeping
Copy link
Member

@jbenet the reasoning here is that it make it easier on package managers to set up their package builds if everything needed for the install is in one repo. Although if you're against merging this then we should make a working init script and put it in the examples repo you linked.

@whyrusleeping whyrusleeping added need/community-input Needs input from the wider community and removed backlog labels Oct 21, 2015
@jbenet
Copy link
Member

jbenet commented Oct 27, 2015

sure, we should maybe have a repo with all the various init scripts and point there from this repo.

@kpcyrd
Copy link
Contributor Author

kpcyrd commented Oct 27, 2015

A second repo would break the workflow of packaging. go-ipfs made it into the arch community repo, they maintain a copy of ipfs.service in their repo now.

@whyrusleeping
Copy link
Member

i agree with @kpcyrd here, i think that everything needed for an 'installation' of go-ipfs should be in the same repo, if we ship bash completions in the misc folder, why not also have various init scripts there too?

@Freso
Copy link

Freso commented Oct 29, 2015

+1 to including init scripts directly in the repository.

@jbenet
Copy link
Member

jbenet commented Oct 29, 2015

This repo will eventually be broken apart into a bunch of smaller repos. and, another repo (or perhaps it will be this one, if that is its future) will pull in (from other repos) the pieces necessary to build and sign a full release. inc building artifacts like various platform installers. thus clean separation of concerns.

Also, i will not start dictating what this repo does based on what any package manager needs. theres tons of them and it will be a nightmare to try and please everybody. it is TRIVIAL to make another repo, pull this one in as a submodule and make any desired changes / file additions. This is a much better and more scalable approach as it allows all the package managers / platforms to do whatever they need to do, control the entire thing, and without conflicting with us or each other at all. (so maybe go make go-ipfs-dist-arch and put ipfs.service in there)

if we ship bash completions in the misc folder, why not also have various init scripts there too?

i've been wanting to remove those, and the random bins too. they should not crowd this repo, and they should have their own clean, simple version control. We can trivially link to those repos, and provide installation of the tools via ipfs itself.

i've been wanting for some time, and i plan to make soon, a "toolchain" that is shipped via ipfs itself and can be installed (individually, or together) -- this toolchain will include things like multihash, multiaddr, graphmd, bsdash and more.

  • Most users DO NOT install go-ipfs from this repo
  • Most users install from our provided binaries
  • Those users should still be able to access all these tools (inc ipfs.service) trivially easy, via a link or downloading via ipfs itself.
  • I want to make this repo entirely about integrating all the Go modules into a single binary, and running full integration tests on it. Though we're very far from that, commits here should eventually mean just updating modules (code or tests).

@ghost ghost added the topic/tools Topic tools label Dec 22, 2015
@whyrusleeping
Copy link
Member

closing based on comments above.

@kpcyrd
Copy link
Contributor Author

kpcyrd commented Jan 29, 2016

Distros started shipping their own ipfs.service now, you have to coordinate with downstream if there are any changes you want to make.

@kpcyrd kpcyrd deleted the systemd branch January 29, 2016 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
need/community-input Needs input from the wider community topic/tools Topic tools
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants