diff --git a/README.md b/README.md index b6fce366f..444b2ff73 100644 --- a/README.md +++ b/README.md @@ -28,11 +28,14 @@ a subject (user, application, service, car, ...) is authorized to perform a cert - [Introduction](#introduction) -- [Installation](#installation) + - [Installation](#installation) + - [Download binaries](#download-binaries) + - [Using Docker](#using-docker) + - [Building from source](#building-from-source) - [Ecosystem](#ecosystem) - [ORY Security Console: Administrative User Interface](#ory-security-console-administrative-user-interface) - - [ORY Hydra: OAuth2 & OpenID Connect Server](#ory-hydra-oauth2--openid-connect-server) - - [ORY Oathkeeper: Identity & Access Proxy](#ory-oathkeeper-identity--access-proxy) + - [ORY Hydra: OAuth2 & OpenID Connect Server](#ory-hydra-oauth2-&-openid-connect-server) + - [ORY Oathkeeper: Identity & Access Proxy](#ory-oathkeeper-identity-&-access-proxy) - [Security](#security) - [Disclosing vulnerabilities](#disclosing-vulnerabilities) - [Telemetry](#telemetry) @@ -55,12 +58,50 @@ ORY Keto is possible to resolve credentials using various authentication mechani * JSON Web Tokens (coming soon). * SAML (coming soon). -## Installation +### Installation -The easiest way to install ORY Keto is using the [Docker Hub Image](https://hub.docker.com/r/oryd/keto/): +There are various ways of installing ORY keto on your system. + +#### Download binaries + +The client and server **binaries are downloadable at [releases](https://github.com/ory/keto/releases)**. +There is currently no installer available. You have to add the ORY keto binary to the PATH environment variable yourself or put +the binary in a location that is already in your path (`/usr/bin`, ...). +If you do not understand what that all of this means, ask in our [chat channel](https://www.ory.sh/chat). We are happy to help. + +#### Using Docker + +**Starting the host** is easiest with docker. The host process handles HTTP requests and is backed by a database. +Read how to install docker on [Linux](https://docs.docker.com/linux/), [OSX](https://docs.docker.com/mac/) or +[Windows](https://docs.docker.com/windows/). ORY keto is available on [Docker Hub](https://hub.docker.com/r/oryd/keto/). + +You can use ORY keto without a database, but be aware that restarting, scaling +or stopping the container will **lose all data**: + +``` +$ docker run -e "DATABASE_URL=memory" -d --name my-keto -p 4455:4455 -p 4456:4456 oryd/keto serve api +ec91228cb105db315553499c81918258f52cee9636ea2a4821bdb8226872f54b +``` + +#### Building from source + +If you wish to compile ORY keto yourself, you need to install and set up [Go 1.10+](https://golang.org/) and add `$GOPATH/bin` +to your `$PATH` as well as [golang/dep](http://github.com/golang/dep). + +The following commands will check out the latest release tag of ORY keto and compile it and set up flags so that `keto version` +works as expected. Please note that this will only work with a linux shell like bash or sh. ``` -docker run oryd/keto: help +go get -d -u github.com/ory/keto +cd $(go env GOPATH)/src/github.com/ory/keto +keto_LATEST=$(git describe --abbrev=0 --tags) +git checkout $keto_LATEST +dep ensure -vendor-only +go install \ + -ldflags "-X github.com/ory/keto/cmd.Version=$keto_LATEST -X github.com/ory/keto/cmd.BuildTime=`TZ=UTC date -u '+%Y-%m-%dT%H:%M:%SZ'` -X github.com/ory/keto/cmd.GitHash=`git rev-parse HEAD`" \ + github.com/ory/keto +git checkout master +keto help ``` ## Ecosystem @@ -95,7 +136,7 @@ and send us an email to [hi@ory.am](mailto:hi@ory.am) instead. ## Telemetry Our services collect summarized, anonymized data which can optionally be turned off. Click -[here](https://www.ory.sh/docs/1-hydra/9-telemetry) to learn more. +[here](https://www.ory.sh/docs/guides/master/telemetry/) to learn more. ### Guide diff --git a/cmd/client/handler_policy.go b/cmd/client/handler_policy.go index 2eabfe5f0..1e27eb7fb 100644 --- a/cmd/client/handler_policy.go +++ b/cmd/client/handler_policy.go @@ -81,7 +81,7 @@ func (h *PolicyHandler) CreatePolicy(cmd *cobra.Command, args []string) { if files, _ := cmd.Flags().GetStringSlice("files"); len(files) > 0 { fmt.Println("Importing policies using the -f flag is deprecated and will be removed in the future.") - fmt.Println(`Please use "hydra policies import" instead.`) + fmt.Println(`Please use "keto policies import" instead.`) h.ImportPolicy(cmd, files) return } diff --git a/cmd/policies_subjects_add.go b/cmd/policies_subjects_add.go index 14055dff1..07bbbfa9f 100644 --- a/cmd/policies_subjects_add.go +++ b/cmd/policies_subjects_add.go @@ -25,7 +25,7 @@ var policiesSubjectsAddCmd = &cobra.Command{ Long: `You can use regular expressions in your matches. Encapsulate them in < >. Example: - keto policies subjects hydra add my-policy john@org.com <[peter|max]>@org.com`, + keto policies subjects add my-policy john@org.com <[peter|max]>@org.com`, Run: cmdHandler.Policies.AddSubjectToPolicy, } diff --git a/cmd/serve.go b/cmd/serve.go index 72db0ec6e..15afcc8ee 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -38,7 +38,7 @@ the controls section. CORE CONTROLS ============= -- DATABASE_URL: A URL to a persistent backend. Hydra supports various backends: +- DATABASE_URL: A URL to a persistent backend. ORY Keto supports various backends: - Memory: If DATABASE_URL is "memory", data will be written to memory and is lost when you restart this instance. Example: DATABASE_URL=memory @@ -53,10 +53,10 @@ CORE CONTROLS Be aware that the ?parseTime=true parameter is mandatory, or timestamps will not work. -- PORT: The port hydra should listen on. +- PORT: The port ORY Keto should listen on. Defaults to PORT=4466 -- HOST: The host interface hydra should listen on. Leave empty to listen on all interfaces. +- HOST: The host interface ORY Keto should listen on. Leave empty to listen on all interfaces. Example: HOST=localhost - LOG_LEVEL: Set the log level, supports "panic", "fatal", "error", "warn", "info" and "debug". Defaults to "info". diff --git a/package.json b/package.json index be11ad3f9..eab32e6f2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ory-keto-sdk", "version": "0.0.0", - "description": "The official JavaScript / NodeJS SDK for ORY Hydra.", + "description": "The official JavaScript / NodeJS SDK for ORY Keto.", "license": "Apache 2.0", "main": "sdk/js/swagger/src/index.js", "scripts": { diff --git a/policy/handler.go b/policy/handler.go index 9c7285e59..f143b04b7 100644 --- a/policy/handler.go +++ b/policy/handler.go @@ -164,9 +164,6 @@ func (h *Handler) Get(w http.ResponseWriter, r *http.Request, ps httprouter.Para // // Schemes: http, https // -// Security: -// oauth2: hydra.policies -// // Responses: // 204: emptyResponse // 401: genericError @@ -195,9 +192,6 @@ func (h *Handler) Delete(w http.ResponseWriter, r *http.Request, ps httprouter.P // // Schemes: http, https // -// Security: -// oauth2: hydra.policies -// // Responses: // 200: policy // 401: genericError diff --git a/sdk/go/keto/sdk.go b/sdk/go/keto/sdk.go index 5f3bd501c..a903840ca 100644 --- a/sdk/go/keto/sdk.go +++ b/sdk/go/keto/sdk.go @@ -25,7 +25,7 @@ type CodeGenSDK struct { // Configuration configures the CodeGenSDK. type Configuration struct { - // EndpointURL should point to the url of ORY Hydra, for example: http://localhost:4444 + // EndpointURL should point to the url of ORY Keto, for example: http://localhost:4466 EndpointURL string }