{"id":21357796,"url":"https://github.com/rcbops/keystone-buildpackage","last_synced_at":"2025-10-29T00:41:44.789Z","repository":{"id":142014233,"uuid":"2651954","full_name":"rcbops/keystone-buildpackage","owner":"rcbops","description":"git-buildpackage repo for keystone","archived":false,"fork":false,"pushed_at":"2012-03-14T17:05:57.000Z","size":2146,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-22T18:30:41.402Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rcbops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-10-26T15:50:40.000Z","updated_at":"2017-06-16T06:52:55.000Z","dependencies_parsed_at":"2023-03-12T09:21:55.400Z","dependency_job_id":null,"html_url":"https://github.com/rcbops/keystone-buildpackage","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Fkeystone-buildpackage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Fkeystone-buildpackage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Fkeystone-buildpackage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Fkeystone-buildpackage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rcbops","download_url":"https://codeload.github.com/rcbops/keystone-buildpackage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243830956,"owners_count":20354856,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T05:12:23.309Z","updated_at":"2025-10-29T00:41:39.750Z","avatar_url":"https://github.com/rcbops.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Keystone: OpenStack Identity Service\n\nKeystone is a Python implementation of the [OpenStack](http://www.openstack.org) identity service API.\n\n# Documentation\n\n## For users and sysadmins\n\nLearn how to install, configure, manage, and interact with the OpenStack\nIdentity Service API at the [OpenStack Documentation](http://docs.openstack.org/) site.\n\n## For contributors\n\nLearn how to setup a development environment and then test, run, and contribute to Keystone at the\n[Contributor Documentation](http://keystone.openstack.org/) site.\n\n# Questions/Feedback\n\nHaving trouble? We'd like to help!\n\n* Try the documentation first — it's got answers to many common questions.\n* Search for information in the archives of the [OpenStack mailing list](http://wiki.openstack.org/MailingLists), or post a question.\n* Ask a question in the [#openstack IRC channel](http://wiki.openstack.org/UsingIRC).\n* If you notice errors, please [open a bug](https://bugs.launchpad.net/keystone) and let us know! Please only use the bug tracker for criticisms and improvements. For tech support, use the resources above.\n\n# For Contributors\n\n## What's in the box?\n\n### Services\n\n* Keystone    - identity store and authentication service\n* Auth_Token  - WSGI middleware that can be used to handle token auth protocol (WSGI or remote proxy)\n* Echo        - A sample service that responds by returning call details\n\n### Also included:\n\n* Auth_Basic  - Stub for WSGI middleware that will be used to handle basic auth\n* Auth_OpenID - Stub for WSGI middleware that will be used to handle openid auth protocol (to be implemented)\n* RemoteAuth  - WSGI middleware that can be used in services (like Swift, Nova, and Glance) when Auth middleware is running remotely\n\n### Built-In commands:\n\n* bin/keystone  - Provides HTTP API for users and administrators\n* bin/keystone-admin - Provides HTTP API for administrators\n* bin/keystone-service - Provides HTTP API for users\n* bin/keystone-manage - Provides command-line interface for managing all aspects of Keystone\n\n## Running Keystone\n\nStarting both Admin and Service API endpoints:\n\n    $ ./bin/keystone\n\nStarting the auth server only (exposes the Service API):\n\n    $ ./bin/keystone-auth\n\nStarting the admin server only (exposes the Admin API):\n\n    $ ./bin/keystone-admin\n\nBy default, configuration parameters (such as the IP and port binding for each service) are parsed from `etc/keystone.conf`.\n\n## Configuring Keystone\n\nKeystone gets its configuration from command-line parameters or a `.conf` file. While command line parameters take precedence,\nKeystone looks in the following location to find a configuration file:\n\n 1. Command line parameter\n 2. /etc/keystone.conf\n 3. /etc/keystone/keystone.conf\n 4. \u003ctopdir\u003e/etc/keystone.conf\n\nAdditional configuration templates are maintained in `keystone/test/etc/` that may be useful as a reference.\n\n### Editing and Building the API Developer Guide\n\nUsers of the Keystone API are often developers making ReSTful API calls to Keystone. The guide to provide them\ninformation is therefore called a `Developer Guide`. Developer in this case is not to be confused with contributors\nworking on the Keystone codebase itself.\n\nThe developer guides are automatically generated from XML and other artifacts that live in the\n[OpenStack Manuals project](https://launchpad.net/openstack-manuals).\n\nTo build the Developer Guide from source, you need [Maven](http://maven.apache.org/). To build the docs and publish a new PDF:\n\n    $ cd to folder with the pom.xml file\n    $ mvn clean generate-sources \u0026\u0026 cp target/docbkx/pdf/identitydevguide.pdf ../../keystone/content/identitydevguide.pdf\n\nThe output will go into the `target` folder (the source is in `src`). Output generated is PDF and webhelp.\n\n# Additional Information:\n\n## Sample data\n\nA set of sample data can be loaded by running a shell script:\n\n    $ ./bin/sampledata\n\nThe script calls `keystone-manage` to import the sample data.\n\nAfter starting keystone or running `keystone-manage` a `keystone.db` sqlite database should be created in the keystone folder,\nper the default configuration.\n\n## Demo\n\nTo run client demo (with all auth middleware running locally on sample service):\n\n    $ ./examples/echo/bin/echod\n    $ python examples/echo/echo_client.py\n\n## CURL commands\n\n\u003cpre\u003e\n    # Get an unscoped token\n    $ curl -d '{\"auth\": {\"passwordCredentials\": {\"username\": \"joeuser\", \"password\": \"secrete\"}}}' -H \"Content-type: application/json\" http://localhost:5000/v2.0/tokens\n\n    # Get a token for a tenant\n    $ curl -d '{\"auth\": {\"passwordCredentials\": {\"username\": \"joeuser\", \"password\": \"secrete\"}, \"tenantName\": \"customer-x\"}}' -H \"Content-type: application/json\" http://localhost:5000/v2.0/tokens\n\n    # Get an admin token\n    $ curl -d '{\"auth\": {\"passwordCredentials\": {\"username\": \"admin\", \"password\": \"secrete\"}}}' -H \"Content-type: application/json\" http://localhost:35357/v2.0/tokens\n\u003c/pre\u003e\n\n## Load Testing\n\n\u003cpre\u003e\n   # Create post data\n   $ echo '{\"auth\": {\"passwordCredentials\": {\"username\": \"joeuser\", \"password\": \"secrete\", \"tenantName\": \"customer-x\"}}}' \u003e post_data\n\n   # Call Apache Bench\n   $ ab -c 30 -n 1000 -T \"application/json\" -p post_data http://127.0.0.1:35357/v2.0/tokens\n\u003c/pre\u003e\n\n## NOVA Integration\n\nInitial support for using keystone as nova's identity component has been started.\n\n    # clone projects\n    bzr clone lp:nova\n    git clone git://github.com/openstack/keystone.git\n\n    # link keystone into the nova root dir\n    ln -s keystone/keystone nova/keystone\n\n    # run nova-api based on the paste config in keystone\n    nova/bin/nova-api --api_paste_config=keystone/examples/paste/nova-api-paste.ini\n\nAssuming you added the test data using bin/sampledata, you can then use joeuser/secrete\n\n## Swift Integration - Quick Start\n\n1.  Install Swift, either from trunk or version 1.4.1 (once it's released) or\n    higher. Do the standard SAIO install with the included TempAuth to be sure\n    you have a working system to start with. This step is beyond the scope of\n    this quick start; see http://swift.openstack.org/development_saio.html for\n    a Swift development set up guide. Once you have a working Swift install, go\n    ahead and shut it down for now (the default Swift install uses the same\n    ports Keystone wants):\n\n        $ swift-init all stop\n\n2.  Obtain and install a source copy of Keystone:\n\n        $ git clone https://github.com/openstack/keystone.git ~/keystone\n        ...\n        $ cd ~/keystone \u0026\u0026 sudo python setup.py develop\n        ...\n\n3.  Start up the Keystone service:\n\n        $ cd ~/keystone/bin \u0026\u0026 ./keystone\n        Starting the Legacy Authentication component\n        Service API listening on 0.0.0.0:5000\n        Admin API listening on 0.0.0.0:35357\n\n4.  In another window, edit the `~/keystone/keystone/test/sampledata.py` file,\n    find the `swift.publicinternets.com` text and replace it with the URL to\n    your Swift cluster using the following format (note that we're going to\n    change Swift to run on port 8888 later):\n    `http://127.0.0.1:8888/v1/AUTH_%tenant_id%`\n\n5.  Create the sample data entries:\n\n        $ cd ~/keystone/bin \u0026\u0026 ./sampledata\n        ...\n\n6.  Reconfigure Swift's proxy server to use Keystone instead of TempAuth.\n    Here's an example `/etc/swift/proxy-server.conf`:\n\n        [DEFAULT]\n        bind_port = 8888\n        user = \u003cuser\u003e\n\n        [pipeline:main]\n        pipeline = catch_errors cache keystone proxy-server\n\n        [app:proxy-server]\n        use = egg:swift#proxy\n        account_autocreate = true\n\n        [filter:keystone]\n        use = egg:keystone#tokenauth\n        auth_protocol = http\n        auth_host = 127.0.0.1\n        auth_port = 35357\n        admin_token = 999888777666\n        delay_auth_decision = 0\n        service_protocol = http\n        service_host = 127.0.0.1\n        service_port = 8100\n        service_pass = dTpw\n\n        [filter:cache]\n        use = egg:swift#memcache\n        set log_name = cache\n\n        [filter:catch_errors]\n        use = egg:swift#catch_errors\n\n7.  Start Swift back up with the new configuration:\n\n        $ swift-init main start\n        ...\n\n8.  Use `swift` to check everything works (note: you currently have to create a\n    container or upload something as your first action to have the account\n    created; there's a Swift bug to be fixed soon):\n\n        $ swift -A http://127.0.0.1:5000/v1.0 -U joeuser -K secrete post container\n        $ swift -A http://127.0.0.1:5000/v1.0 -U joeuser -K secrete stat -v\n        StorageURL: http://127.0.0.1:8888/v1/AUTH_1234\n        Auth Token: 74ce1b05-e839-43b7-bd76-85ef178726c3\n           Account: AUTH_1234\n        Containers: 1\n           Objects: 0\n             Bytes: 0\n        Accept-Ranges: bytes\n        X-Trans-Id: tx25c1a6969d8f4372b63912f411de3c3b\n\n**Note: Keystone currently allows any valid token to do anything with any\naccount.**\n\nBut, it works as a demo!\n\n## LDAP Setup on a Mac\n\nUsing macports:\n\n    sudo port install openldap\n\nIt appears the package `python-ldap` needs to be recompiled to work. So,\ndownload it from: http://pypi.python.org/pypi/python-ldap/2.4.1\n\nAfter unpacking, edit `setup.cfg` as shown below:\n\n    library_dirs = /opt/local/lib\n    include_dirs = /opt/local/include /usr/include/sasl\n\nThen, run:\n\n    python setup.py build\n    sudo python setup.py install\n\n# Relevant Standards and Technologies\n\n[Overlap of Identity Technologies](https://sites.google.com/site/oauthgoog/Overlap)\n\nKeystone could potentially integrate with:\n\n 1. [WebID](http://www.w3.org/2005/Incubator/webid/spec/) (See also [FOAF+SSL](http://www.w3.org/wiki/Foaf+ssl))\n 2. [OpenID](http://openid.net/) and/or [OpenIDConnect](http://openidconnect.com/)\n 3. [OAUTH2](http://oauth.net/2/)\n 4. [SAML](http://saml.xml.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcbops%2Fkeystone-buildpackage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frcbops%2Fkeystone-buildpackage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcbops%2Fkeystone-buildpackage/lists"}