Skip to content

Travis CI setup in i18n group #243

Closed

Description

@marocchino

Hi.
We have some permission problem.
We recently migrated our repo https://github.com/nodejs/nodejs-ko to hexo.
After that, we need some CI since it is not supported by the GitHub pages.

So, I clicked request permission button at travis. and @ChALkeR got private request.
And we don't want private permission.

Is there any other way? Can we setup CI without got private permission? Please help us---

Activity

  1. ChALkeR commented on Aug 8, 2016

    @ChALkeR
    Member

    /cc @nodejs/ctc

  2. bnoordhuis commented on Aug 8, 2016

    @bnoordhuis
    Member

    I just replied to the GH notification but for the record, there doesn't appear to be a way to give Travis access without also giving it read access to private repositories.

  3. Fishrock123 commented on Aug 8, 2016

    @Fishrock123

    I'll set this up, I've done it for the other repos before. The setup is messy and does require giving temporary access to everything.

  4. self-assigned this
    on Aug 8, 2016
  5. ChALkeR commented on Aug 8, 2016

    @ChALkeR
    Member

    Btw, /cc @henrikhodne — this is not very nice usability- and security-wise. Perhaps something could be done about that on the Travis side?

  6. bnoordhuis commented on Aug 8, 2016

    @bnoordhuis
    Member

    The setup is messy and does require giving temporary access to everything.

    I don't think that is acceptable. Are you saying you've done this before?

  7. Fishrock123 commented on Aug 8, 2016

    @Fishrock123

    @bnoordhuis Yes. I will need to do it this week at least for the github bot so I might as well just do it for the Korean WG too.

  8. Fishrock123 commented on Aug 8, 2016

    @Fishrock123

    The process is something like:

    • let it have access
    • sign in to travis
    • turn on the wanted repos
    • deny travis access again
  9. ChALkeR commented on Aug 8, 2016

    @ChALkeR
    Member

    @Fishrock123 That still sounds pretty bad. Is there a way to enable the repos manually on Travis (i.e. add hooks manually) if that doesn't require access to actually work?

  10. bnoordhuis commented on Aug 8, 2016

    @bnoordhuis
    Member

    I'm really not pleased to hear about this. If Travis is compromised at the time of access, our private repositories are comprised. If we want to be strict about security, we should replace our infra's ssh keys.

    /cc @nodejs/build

  11. jasnell commented on Aug 8, 2016

    @jasnell
    Member

    I agree with @bnoordhuis on this. I'm -1 to enabling travis this way.

  12. Starefossen commented on Aug 8, 2016

    @Starefossen
    Member

    Infra keys managed in the private build repo are all encrypted to prevent a compromise in case of unauthorized access.

    But giving Travis all access to everything sounds like a very bad idea in the first place.

  13. Fishrock123 commented on Aug 8, 2016

    @Fishrock123

    @ChALkeR Not reliably iirc.

    It won't let you admin it without giving it access permission.

    Choose one this week:

    • Move security repos out of the org
    • Move all travis-requiring repos out of the org
    • Not worry about it

    I'm going to get projects the CI access they need and we've done this before. So we need to do something about those because I'm not interested in this getting blocked up again. (we had this issue with the website and readable-stream for a long time)

  14. Fishrock123 commented on Aug 8, 2016

    @Fishrock123

    Infra keys managed in the private build repo are all encrypted to prevent a compromise in case of unauthorized access.

    It is possible the private built repo did not exist last time.

  15. jasnell commented on Aug 8, 2016

    @jasnell
    Member

    -1 to options 1 and 2 (moving any of the repos out of the org). Until travis can be set up in such a way that does not requiring giving access to private repos, we simply should not enable travis.

  16. 2 remaining items

  17. Fishrock123 commented on Aug 8, 2016

    @Fishrock123

    we simply should not enable travis.

    Sorry, not an option. Projects have needed this and continue to need it and otherwise we'll need to at least move the github bot out of the org.
    ¯_(ツ)_/¯

  18. bnoordhuis commented on Aug 8, 2016

    @bnoordhuis
    Member

    Does the GH bot run on our own infrastructure? The reason Travis is forbidden is that it's an external service that we have no control over and cannot audit (so please don't do that again.)

  19. ChALkeR commented on Aug 8, 2016

    @ChALkeR
    Member

    Based on reply from @henrikhodne, http://travis-ci.org should request access only to public repos.
    Can we confirm that somehow on our side?

  20. ChALkeR commented on Aug 8, 2016

    @ChALkeR
    Member

    Note that «Travis CI for Private Projects» never got approved, «Travis CI» did several times.

  21. bnoordhuis commented on Aug 8, 2016

    @bnoordhuis
    Member

    The requested access was this:

    @marocchino has requested approval for a third-party application to access Node.js Foundation organization resources via the GitHub API:

    "Travis CI for Private Projects" from Travis CI GmbH

    Until it is approved, this application will have no access to private resources and will have read-only access to public resources belonging to your organization.

    Read-only public access is not a problem, that doesn't require explicit permission.

  22. ChALkeR commented on Aug 8, 2016

    @ChALkeR
    Member

    @bnoordhuis That one is surely not needed, and that one was never approved. «Travis CI» was approved (and revoked) several times, though.

    The thing is, that if I understand things correctly we can't verify the access level of any thirdparty application by the users — we could either allow the app or block the app. Allowing the app would allow it to use any scopes given by individual users, but we can't review or check those on the org side.

    E.g. if «Application X» requested access from CTC member 1 for private repos, from CTC memeber 2 for public repos — we could either allow all of those or block all of those. We also don't see which scopes were requested or given to the app.

  23. ChALkeR commented on Aug 8, 2016

    @ChALkeR
    Member

    Btw, what could be done is: for each sensitive private repo, everyone who has access to that repo could confirm that the appication that we are giving temporary access (in this case, «Travis CI») doesn't have any scopes that would give that app access to private repos, once the org would enable that app. Each user with access to any of the private repos should do that individually.

    I'm pretty sure that's the case for «Travis CI» (not the «Travis CI for Private Projects»), but we should check that.

  24. bnoordhuis commented on Aug 9, 2016

    @bnoordhuis
    Member

    @ChALkeR That doesn't sound like a solution to me, that is basically crossing our collective fingers and hoping that the third-party service is never comprised or turns evil.

  25. ChALkeR commented on Aug 9, 2016

    @ChALkeR
    Member

    @bnoordhuis No, it's not. If the necessary precautions I described are taken, how exactly would it be possible to evade those to reach private repos?

  26. bnoordhuis commented on Aug 9, 2016

    @bnoordhuis
    Member

    Wait, I think I understand the confusion. The page you link to describes scopes as a way for third-party services to voluntarily reduce their access token's, er, scope (the intersection of allowed_permissions_set and requested_permissions_set) but you are talking about handing out pre-generated access tokens from https://github.com/settings/tokens/new with reduced permissions.

  27. outsideris commented on Aug 30, 2016

    @outsideris

    Is there any progress?

  28. marocchino commented on Sep 25, 2016

    @marocchino
    Author

    Our team decide to use a private CI.
    Feel free to close this. :3

  29. bnoordhuis commented on Sep 25, 2016

    @bnoordhuis
    Member

    Thanks, I'll close.

  30. ChALkeR commented on Nov 28, 2016

    @ChALkeR
    Member

    Btw, https://developer.github.com/early-access/integrations/ should fix the security concerns about granting access to Travis, so when/if Travis adopts that, we could install Travis CI to repos on a per-repo basis.

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions