Code Monkey home page Code Monkey logo

sharkey's People

Contributors

alokmenghrajani avatar bensallen avatar brettc-sq avatar christodenny avatar csstaub avatar dependabot-preview[bot] avatar dependabot[bot] avatar isemaya-square avatar jdtw avatar jordyn avatar mbyczkowski avatar mcpherrinm avatar mweissbacher avatar odeke-em avatar violetd12 avatar worldwise001 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sharkey's Issues

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: gopkg.in/[email protected]: invalid version: git fetch -f https://gopkg.in/check.v1 refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /opt/go/gopath/pkg/mod/cache/vcs/9241c28341fcedca6a799ab7a465dd6924dc5d94044cbfabb75778817250adfc: exit status 128:
	error: RPC failed; curl 18 transfer closed with outstanding read data remaining
	fatal: The remote end hung up unexpectedly
	fatal: early EOF
	fatal: index-pack failed

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Publish Design Doc

I wrote a design doc, which should be published in this repo (minus any proprietary stuff).

Add known_hosts options

We should support

  • a known_hosts of registered hosts (what we have right now)
  • a known_hosts with the CAs used for all currently issued certs (today, we only support one, so just that)
  • or both.

Sharkey-client should grab both by default.

Support user certificates

I heard a bunch of feedback that user keys would be a desired feature, so we could support those.

I don't think we should try to build any sort of user verification into this service though. There's just too many ways to do that. We should provide an API for a trusted service to request certs on behalf of a user.

The usual thing for our services would be to define an ACL saying which x509 client certs are allowed to request user's ssh client certs, and it tells us what user it's for.
We could support the username in an X-Remote-User (or customizable) HTTP Header for use behind a reverse proxy that handles auth (eg, Sandstorm.io uses X-Sandstorm-User-Id, and SSO proxies may use other ones) and the user just makes requests through it.
Additionally, we might want to support usernames in the URL (because setting headers in other contexts is a little unusual)

Build RPMs in Travis

Build RPMs in Travis for CentOS 7 and possibly CentOS 6.

  • Figure out the best way to install Go in CentOS as RPMs are only at 1.4.2 even though RHEL is shipping 1.6.3.
  • Create Dockerfile
  • Update .travis.yml

Add Administration Dashboard to the server

We should have a small admin dashboard to show server status, and perform some administrative actions (like manually submitting or signing a host key), or some database operations.

Allow client to include aliases in enrollment request

Allow the client to include multiple alias hostnames in its enrollment request, where the additional hostnames are added as aliases in known_hosts output. This will be useful for multi-homed clients. The aliases should be validated against the client SSL cert.

Add Travis CI

We should run unit tests and integration tests in Travis

Make "sudo mv" behavior optional

We shell out to sudo mv. That lets us have to have the client able to write files it doesn't have permission to, but that behavior may not always be wanted. For example, integration tests shouldn't need root.

Setup DB Migrations

We don't have an instructions or tools to create the needed database tables

Support AWS Instance Identity Documents

Today, sharkey requires having an x.509 certificate for the host.

AWS has instance identity documents: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html

Perhaps we could support a client that submits an identity document instead of authenticating with a client certificate.

We'd still need a way to tie an instance document to the hostname(s) we should allow that instance to have, and we should be careful about the security implications here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.