Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 891,
"has_wiki": false,
"homepage": "https://opendev.org/openstack/cookbook-openstack-identity",
"languages": {},
"pushed_at": "2024-02-19T18:30:19Z",
"created_at": "2013-05-08T20:04:52Z",
"owner_type": "Organization",
"updated_at": "2024-03-05T03:03:59Z",
"description": "RETIRED, Chef Cookbook - OpenStack Identity. Mirror of code maintained at opendev.org.",
"is_archived": true,
"is_disabled": false,
"license_spdx": null,
"default_branch": "master",
"license_spdx_raw": null,
"primary_language": null,
"significant_languages": []
},
"owner": {
"blog": "https://opendev.org/openstack",
"name": "Archived previously-OpenStack repositories",
"type": "Organization",
"login": "openstack-archive",
"company": null,
"location": null,
"followers": 23,
"avatar_url": "https://avatars.githubusercontent.com/u/63051644?v=4",
"created_at": "2020-04-02T12:04:30Z",
"is_verified": null,
"public_repos": 1273,
"account_age_days": 2303
},
"license": {
"state": "absent",
"spdx_id": null,
"raw_spdx": null,
"file_present": false,
"scorecard_found": false,
"profile_has_license": false
},
"activity": {
"releases": [
{
"tag": "v20.0.0",
"kind": "major",
"published_at": "2022-03-17T22:49:15Z"
},
{
"tag": "v19.1.1",
"kind": "patch",
"published_at": "2021-07-19T21:44:14Z"
},
{
"tag": "v19.1.0",
"kind": "minor",
"published_at": "2020-05-20T23:45:22Z"
},
{
"tag": "v19.0.0",
"kind": "major",
"published_at": "2020-05-20T23:45:22Z"
},
{
"tag": "v18.0.0",
"kind": "major",
"published_at": "2019-12-11T12:16:49Z"
}
],
"recent_commits": [
{
"oid": "44d13c8c6421d123a51e70562a5e43f4018b66de",
"body": "OpenStack-chef project is retiring\n- https://review.opendev.org/c/openstack/governance/+/905279\n\nthis commit remove the content of this project repo\n\nDepends-On: https://review.opendev.org/c/openstack/project-config/+/909134\nChange-Id: Ida0639315944c8c7852ec37fb10f133e8ab9c455",
"is_bot": false,
"headline": "Retire openstack-chef: remove repo content",
"author_name": "Ghanshyam Mann",
"author_login": null,
"committed_at": "2024-02-18T04:50:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f052ede42bab11320fefcafd8e3565269cc00dfb",
"body": "- Update package names\n- Migrate to using apache2_mod_wsgi resource and require apache2 ~> 8.6\n- Update ChefSpec\n\nDepends-On: https://review.opendev.org/c/openstack/cookbook-openstack-ops-database/+/815139\nDepends-On: https://review.opendev.org/c/openstack/cookbook-openstack-ops-messaging/+/815137\nDepends-On: https://review.opendev.org/c/openstack/cookbook-openstack-integration-test/+/815171\nChange-Id: Ib21c5b2dbd13aa57de926e71db62d042374cabd4\nSigned-off-by: Lance Albertson <lance@osuosl.org>",
"is_bot": false,
"headline": "CentOS 8 support",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2021-10-22T23:31:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e76dcb39e181a9c6432e5a16c5b8cc074a93e9db",
"body": "- Require Chef >= 16.0\n- Remove bind from Berksfile\n- Update copyright years\n\nDepends-On: https://review.opendev.org/c/openstack/cookbook-openstackclient/+/813953\nDepends-On: https://review.opendev.org/c/openstack/cookbook-openstack-ops-database/+/814032\nDepends-On: https://review.opendev.org/c/openstack/cookbook-openstack-ops-messaging/+/814035\nChange-Id: I5d4f38f56e5a411b83b02d2fd9fff2e013947d71\nSigned-off-by: Lance Albertson <lance@osuosl.org>",
"is_bot": false,
"headline": "Chef 17 support",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2021-10-14T18:57:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f70a3454c5e6a4826245be68450c017e01767ab7",
"body": "Since at least Debian 9 (Stretch) the name of the relevant site has been\n'wsgi-keystone' rather than 'keystone'. Then again, as of 21.04 Ubuntu\ncontinues to use the old site name.\n\nTha relevant attribute is also set for RHEL so that recipe validation\ndoesn't fail due to missing resource name, even though the resource in\nquestion is currently guarded by 'if platform_family?(\"debian\")'.\n\nSigned-off-by: Marek Szuba <m.szuba@gsi.de>\nChange-Id: I34b342d0b51cd5e11b1e5de95578ac47939895f9",
"is_bot": false,
"headline": "Make the name of default Keystone site for Apache2 a platform option",
"author_name": "Marek Szuba",
"author_login": null,
"committed_at": "2021-07-20T22:14:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c5211ab38f015315d3297d0664d8ad8058a36548",
"body": "…ttribute \"ca_revocation_path\"\n\nAlso set SSLCARevocationCheck alongside SSLCARevocationPath, all one\ngets by setting only the latter is warnings in Apache logs.\n\nNote: with Apache 2.3.15 or newer enabling revocation checks causes\ncertificate validation to fail also when no CRLs for the given certifi\n[…]\napache.org/docs/2.4/mod/mod_ssl.html#sslcarevocationcheck\n\nCo-authored-by: Marek Szuba <m.szuba@gsi.de>\nSigned-off-by: Marek Szuba <m.szuba@gsi.de>\nChange-Id: Ic64249ba32d43877f9ef0325e7156e0d15622a69",
"is_bot": false,
"headline": "Possibility to set SSLCARevocationPath for keystone as chef default a…",
"author_name": "Karim El Aammari",
"author_login": "kelaamm",
"committed_at": "2021-07-20T12:26:02Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "114b459cadb24c870cbcc8e8ffcf590083a32ebd",
"body": "Also pull bind cookbook from git to fix version pinning issues.\n\nChange-Id: I9bd4f54d9d10e9f3aba98a297213304507b9967d\nSigned-off-by: Lance Albertson <lance@osuosl.org>",
"is_bot": false,
"headline": "Moving IRC network reference to OFTC",
"author_name": "Ghanshyam Mann",
"author_login": null,
"committed_at": "2021-07-15T18:11:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5f40cfe1d8b4ed6598d068ee6b0686ba6ae3dfcb",
"body": "- Cookstyle fixes\n\nDepends-On: https://review.opendev.org/c/openstack/openstack-chef/+/779389\nChange-Id: Ib044399cb7fd28cbb874cb08f1a87ca376518e6f\nSigned-off-by: Lance Albertson <lance@osuosl.org>",
"is_bot": false,
"headline": "Update to Chef Workstation 21.2.303",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2021-03-09T00:15:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ed88a8ff48d003931a6c20c49e876ab12160e9c",
"body": "Update ChefSpec due to changes made in apache2 cookbook.\n\nDepends-On: https://review.opendev.org/756168\nChange-Id: Ie4a830620f217f5879ae4270850214902c202dbf\nSigned-off-by: Lance Albertson <lance@osuosl.org>",
"is_bot": false,
"headline": "Cookstyle 6.19.5 fixes",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2020-10-06T00:13:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a45f9e60a51b942dae855ab0356953bf84f3292",
"body": "Depends-On: https://review.opendev.org/740342\nDepends-On: https://review.opendev.org/747542\nDepends-On: https://review.opendev.org/747554\nDepends-On: https://review.opendev.org/747555\nChange-Id: I4ad921b46ee476d9e866303e33be7b8803cdff98\nSigned-off-by: Lance Albertson <lance@osuosl.org>",
"is_bot": false,
"headline": "Chef 16 updates",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2020-08-28T00:20:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "368296c9e50d10e626b6e64316ef0962fc2e22e7",
"body": "Changed:\n- Update release to train\n- Update to apache2 ~> 8.1\n\nFixed:\n- Cookstyle\n- ChefSpec\n\nRemoved:\n- Unused .rubocop.yml\n\nChange-Id: I2dc8c767ac4f6bb0635ffa4a64d6e8e47fc29093\nDepends-On: https://review.opendev.org/731850\nDepends-On: https://review.opendev.org/731851\nDepends-On: https://review.opendev.org/731855\nDepends-On: https://review.opendev.org/731858",
"is_bot": false,
"headline": "Updates for Train",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2020-06-09T16:58:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c49dedfbcd3fb35864f10bba9cce814dbaf1a5e5",
"body": "- Cookstyle fixes\n- Refactor Berksfile to use groups so we can exclude integration testing\n cookbooks\n- Update documentation\n- Enable sensitive resources for template[/etc/keystone/keystone.conf]\n and execute[bootstrap_keystone] to improve security.\n- Update delivery configuration to exclude integ\n[…]\nrg/706101\nDepends-On: https://review.opendev.org/706140\nDepends-On: https://review.opendev.org/706147\nDepends-On: https://review.opendev.org/706158\nChange-Id: I6c5005b23ee209650911146e373c4cf082cbee9e",
"is_bot": false,
"headline": "Stein fixes",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2020-03-23T16:58:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "453ab3bb95bb6a3c23f70352eea5529d88dacaec",
"body": "This brings us up to date with the latest apache2 cookbook which\nincluded a major refactor in 6.0.0 removing all of the definitions and\nrecipe with proper resources. Instead of using the apache2_default_site\nresource, directly use a template and then enable the config file using\nthe apache2_site res\n[…]\n as we no longer have attributes for it\n- Include additional cookbooks in Berksfile required for CI\n\nDepends-On: https://review.opendev.org/702772\n\nChange-Id: I717247217523e89251e4c0bead0c1a0d114ade2a",
"is_bot": false,
"headline": "Update to apache2 ~> 8.0 cookbook",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2020-01-30T17:28:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "21255e36b4d930a69e50707c6f66c25fd1fadfb6",
"body": "I've run into this issue on systems that already have python2-urllib3\ninstalled, but it's older than what gets installed from the RDO\nrepository and breaks the db sync for keystone. By adding it here, that\nwill ensure it's always upgraded before we try running db sync.\n\nChange-Id: If876315001c8136fad654d7408ec9f656ef48775",
"is_bot": false,
"headline": "Upgrade python2-urllib3 on CentOS",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2020-01-23T00:05:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e6d377db3efaa40646efdc57582f1e8af9e761e1",
"body": "Change-Id: Icabebd997591b7208c92aa0a01f066d87c0f1b84",
"is_bot": false,
"headline": "Use Ubuntu 18.04 for ChefSpec tests",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2020-01-06T19:44:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d3d0b2f9c43984794c02d0b2ceb33717b25f12c",
"body": "This updates all references of let(:chef_run) to cached(:chef_run) to\nspeed up tests. By doing this, we have to create a new cached(:chef_run)\nblock whenever we need to adjust node attributes for testing.\n\nIn addition:\n\n- Add missing ChefSpec tests for cloud_config and _credential_tokens\n recipes\n\nChange-Id: I9f3b86de8f7aa97a5954b2e0f564452e1897a6e3",
"is_bot": false,
"headline": "Improve ChefSpec test speed by enabling caching",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2019-12-18T02:59:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b571b3c44487cc18c3bb06502a6c58fe07899fa0",
"body": "- Replace git.openstack.org with opendev.org\n- Update some documentation\n- Move README.md to README.rst for better rendering\n- Drop obsolete bootstrap.sh script\n- Drop obsolete default recipe\n\nChange-Id: I7894951c9ac0bbd00007da5face15e9418880bc4",
"is_bot": false,
"headline": "Updates for rocky",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2019-12-06T19:19:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "87d4d2ed4075153e09c4e11105571b209ae76de9",
"body": "Python2.7 is going EOL soon, let us deploy python3 for Rocky from the\nstart, so we avoid having to switch later.\n\nAlso update Berksfile to allow dependency testing and require chef >= 14 now.\n\nChange-Id: Id4c06c8fc136ae3cde97e751373049db989de21e",
"is_bot": false,
"headline": "Use python3 packages on Ubuntu",
"author_name": "Jens Harbott",
"author_login": "jharbott",
"committed_at": "2019-11-26T10:46:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "65e61a916ddc039c2fd571fdc3470d169034cc56",
"body": "Change-Id: Ib8f7bf2608b06178388b91fc7b90460896bce416",
"is_bot": false,
"headline": "Replace git.openstack.org with opendev.org",
"author_name": "inspurericzhang",
"author_login": "jndatawave",
"committed_at": "2019-11-19T09:47:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1649fd84263084913301173d5c75bfaaa07ccd16",
"body": null,
"is_bot": false,
"headline": "Merge \"Add a cloud_config recipe\"",
"author_name": "Zuul",
"author_login": null,
"committed_at": "2019-09-10T09:43:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f2902385efe0358cddae5f9619b1b2fe12a2531f",
"body": "Using a cloud config file when accessing a cloud is the modern variant\nof setting lots of environment variables, so we add a new recipe that\nproduces a cloud config matching what we are deploying.\n\nClean up the old openrc template a bit.\n\nChange-Id: I8574d9f4299be5b2a374140b461ef48e9e80ae6b",
"is_bot": false,
"headline": "Add a cloud_config recipe",
"author_name": "Jens Harbott",
"author_login": "jharbott",
"committed_at": "2019-08-30T14:29:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c2bfb4990b0c99a844624022b2ed4a57b37e4d3",
"body": "This uses edit_resource to add a notification in the identity apache\nconfiguration when it gets updated. This is a workaround due to the fact\nwe are using a version of the apache2 cookbook that is still using\ndefinitions and cannot add notifications with definitions.\n\nThis is intended to ensure we o\n[…]\n in the Stein release when we migrate to the newer\napache2 cookbook which uses proper resources.\n\nChange-Id: I13de063d1e7ffd356d754eb0f2d8286a3c694836\nSigned-off-by: Lance Albertson <lance@osuosl.org>",
"is_bot": false,
"headline": "Properly notify apache restarts on keystone configuration updates",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2019-07-08T02:10:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "df72871ac839a7cea73ee427bc8ea7c456615a7a",
"body": null,
"is_bot": false,
"headline": "Merge \"Fixes to support fog-openstack-1.x\"",
"author_name": "Zuul",
"author_login": null,
"committed_at": "2019-07-05T08:37:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f9a1116736811d85ceb837fc27669f628dbf67b8",
"body": "If the chef-client fails between keystone package installation and the\ndisabling of the default keystone config file from UCA package, then\napache2 may end up with conflicting site configurations trying to bind\nto the same port.\n\nbackport: stable/queens\n\nChange-Id: Ib52a4d5195f9ef8d7caa8478c8293fe894624ee5",
"is_bot": false,
"headline": "Disable UCA keystone apache2 site early",
"author_name": "Roger Luethi",
"author_login": "ideaship",
"committed_at": "2019-07-05T06:39:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b185a5205d7cb9262b593c7c5f82514be6bdb772",
"body": "fog-openstack-1.x already appends \"auth/tokens\" so we no longer need to\ndo that. In addition, comment out endpoint type until this PR [1] gets\nmerged and released.\n\n[1] https://github.com/fog/fog-openstack/pull/494\n\nDepends-On: https://review.opendev.org/666176\nChange-Id: I2a73e87648bff58180c6ee2355a733a8e030fa4b\nSigned-off-by: Lance Albertson <lance@osuosl.org>",
"is_bot": false,
"headline": "Fixes to support fog-openstack-1.x",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2019-07-03T23:03:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c8a2a909b0b6c623370cb8ea09130adc8dae2d5a",
"body": null,
"is_bot": false,
"headline": "Merge \"Drop admin endpoints\"",
"author_name": "Zuul",
"author_login": null,
"committed_at": "2019-05-06T12:09:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1ad3f2ec044d5166523d0003123803bd1dd444b3",
"body": "This commit was bulk generated and pushed by the OpenDev sysadmins\nas a part of the Git hosting and code review systems migration\ndetailed in these mailing list posts:\n\nhttp://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html\nhttp://lists.openstack.org/pipermail/openstack-discus\n[…]\npattern matching, but it's possible some\nwere updated incorrectly or missed entirely. Please reach out to us\nvia the contact information listed at https://opendev.org/ with any\nquestions you may have.",
"is_bot": false,
"headline": "OpenDev Migration Patch",
"author_name": "OpenDev Sysadmins",
"author_login": null,
"committed_at": "2019-04-19T19:36:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "284d54be798a3cdea0f1745f22e39a0cc0db2a0f",
"body": "The admin endpoints offer no special functionality, users may talk to\nthe public endpoints instead. The only historic use case has been the\nkeystone v2 admin endpoint, but with keystone v3 API, even that is no\nlonger needed, except that it's use is hardcoded in keystonemiddleware.\nSo we prepare ever\n[…]\n052\nDepends-On: https://review.openstack.org/652064\nDepends-On: https://review.openstack.org/652098\nDepends-On: https://review.openstack.org/652589\nChange-Id: Iddfae1c2cb29217cd9aae89d56bc65fa935fcd28",
"is_bot": false,
"headline": "Drop admin endpoints",
"author_name": "Jens Harbott",
"author_login": "jharbott",
"committed_at": "2019-04-18T11:06:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "90fd9ccf5997f109753c4e6563e1b979233e80c0",
"body": "This is in preparation of dropping the admin endpoint, we need this\nattribute in place first so we can reference it in other cookbooks.\n\nChange-Id: Idee227f26fcc74412873c5afd02dfcce32145ea7",
"is_bot": false,
"headline": "Add endpoint_type attribute defaulting to internalURL",
"author_name": "Jens Harbott",
"author_login": "jharbott",
"committed_at": "2019-04-15T08:17:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4313c5711f0b5f2b8cc6262c59a2c2b7f5d00984",
"body": "This was only half-working anyway since we moved to keystone V3, so we\nshould just drop it. If someone wants to configure their deployment with\nit, they can easily set up a wrapper for it.\n\nChange-Id: Ifdf96502d18895e3b79dfa235fd102b42a0f4bc3",
"is_bot": false,
"headline": "Drop support for a templated catalog",
"author_name": "Jens Harbott",
"author_login": "jharbott",
"committed_at": "2019-04-04T12:49:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "af1d3b1485d041d868537aa2bdccf5c25eba40b8",
"body": "Setting the keystone option [auth]/methods by default blocks additions\nlike application_credential that was newly added to Keystone in Queens.\nLet's stick to Keystone's defaults instead, deployments can override\nthese settings if they need to.\n\nAlso drop some even older version of these attributes that haven't been\nused at all anymore for some time.\n\nChange-Id: I10b31efe1e94fc69cda65e2f7fb7a669afb166ba",
"is_bot": false,
"headline": "Stop overriding auth methods",
"author_name": "Jens Harbott",
"author_login": "jharbott",
"committed_at": "2019-03-01T09:15:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eabbbb9b5c5b25f59aefcec3addaa770e91c714b",
"body": null,
"is_bot": false,
"headline": "Merge \"Pin apache2 cookbook to 5.0.1\"",
"author_name": "Zuul",
"author_login": null,
"committed_at": "2018-12-11T13:54:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6f6d02faf17776135c756e6b4f277f230814fec9",
"body": "This change eliminates a kitchen failure with apache2-5.2.1\n\nChange-Id: Ida4e1c4a166a0baac4937e088b42f22a8ab524ab",
"is_bot": false,
"headline": "Pin apache2 cookbook to 5.0.1",
"author_name": "Samuel Cassiba",
"author_login": null,
"committed_at": "2018-12-11T05:14:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "87747401c27202b3599190fcae60eeaa7da47828",
"body": "Change-Id: I11d837c702f2122570f568d47f64696977bb8547",
"is_bot": false,
"headline": "Change openstack-dev to openstack-discuss",
"author_name": "ZhijunWei",
"author_login": "weizj",
"committed_at": "2018-12-05T04:21:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d139297cf905d6eca5638baf52a37db1da24509d",
"body": "Change-Id: Ie3c70574ccd44d39e72ea59098741b77ed7cb08c",
"is_bot": false,
"headline": "Update the URL in README.md",
"author_name": "melissaml",
"author_login": null,
"committed_at": "2018-09-23T09:26:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05a1bee419e0e78ac1e9b56f3462be97eb2f9b7b",
"body": "Change-Id: Ie1ba251712f38ffc6539d3d00c4a6806f75538ce",
"is_bot": false,
"headline": "Rename openstack-chef-repo references to openstack-chef",
"author_name": "Samuel Cassiba",
"author_login": null,
"committed_at": "2018-08-07T04:49:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3410066ae1082e0fb6bb685174b63feea5cc396c",
"body": "Depends-On: Ia24eef700ab6c7fe359a17070981dc93e0300a18\nDepends-On: I75d827d383f701da8650cd0e9d1f2501e22cf6a2\nChange-Id: Id835cbf8fc8cf2dc32a3ecdfffb17b01547fb0db",
"is_bot": false,
"headline": "starting rocky development patch",
"author_name": "Samuel Cassiba",
"author_login": "sbcas",
"committed_at": "2018-08-03T13:40:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e30e2cf418d4f5cf4cf806bf0e937055e30e31af",
"body": "Finish the removal of creating an admin endpoint for keystone. This was\nstarted in [0] but some fragments were still remaining.\n\nAt the same time the option to create an internal identity endpoint that\nis different from the public one is reintroduced.\n\n[0] I01d44e48053cad7aeb92636f4b41649204006c93\n\nChange-Id: Id74966d9f1279f725bc41c08e434230a7845bbc1",
"is_bot": false,
"headline": "Fixup keystone endpoint handling",
"author_name": "Jens Harbott",
"author_login": "jharbott",
"committed_at": "2018-07-16T19:24:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41b3463312360c5b65c8d287052591fee0a45be8",
"body": null,
"is_bot": false,
"headline": "Merge \"Simplify identity endpoint\"",
"author_name": "Zuul",
"author_login": null,
"committed_at": "2018-07-03T06:31:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7657e34edadfccf0d85081f6507f6591119eec4f",
"body": "Per the Keystone Install Guide[1] the admin endpoint is superseded in\nfavor of a single public endpoint. As a result, the admin endpoint is no\nlonger deployed by default.\n\n[1] https://docs.openstack.org/keystone/queens/install/keystone-install-ubuntu.html#install-and-configure-components\n\nDepends-On\n[…]\nn: I06d0f98e641a041ddc864f524858edc0cffbbbba\nDepends-On: Ied0fb46ae8c10273fde31691b910dc2748845faf\nChange-Id: I01d44e48053cad7aeb92636f4b41649204006c93\nImplements: blueprint simplify-identity-endpoint",
"is_bot": false,
"headline": "Simplify identity endpoint",
"author_name": "Samuel Cassiba",
"author_login": "sbcas",
"committed_at": "2018-06-28T23:24:31Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7d8b8b5c271caf0a67a96adf4ca926800ab4f90d",
"body": "In order to avoid errors when deploying multiple controller nodes, we\nneed to deploy credential-tokens from data bags just like we already do\nfor fernet-tokens. Otherwise each controller would use a different set\nof tokens generated locally.\n\nDrop the corresponding calls to keystone-manage, as they are a) not\nidempotent and b) generate files that are never used anyway.\n\nDepends-On: Icf0a8f644ddbfa61bfef124a772663e8af4e1f16\nChange-Id: Idabc34d101d9fb145a205acedf8f652ebec3ad9f",
"is_bot": false,
"headline": "Fix token handling for keystone",
"author_name": "Jens Harbott",
"author_login": "jharbott",
"committed_at": "2018-06-28T12:58:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7e9d7c9966d5c3d16ef6b366fd0e9261f8cbc43b",
"body": "We define these variables from the corresponding node attributes, use\nthen instead of accessing the node attributes afterwards.\n\nChange-Id: I1215d24f341e0ae37b7e0be978578aa2985e4af1",
"is_bot": false,
"headline": "Use variables keystone_user and keystone_group",
"author_name": "Jens Harbott",
"author_login": "jharbott",
"committed_at": "2018-06-28T12:58:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df5472c9c8b4316b20a11777be12d6705ececebd",
"body": "Change-Id: Ia10c3c30f4c4e024f64b9a08f8b0d5213e3f5302\nImplements: blueprint deprecate-rakefiles",
"is_bot": false,
"headline": "Add delivery config",
"author_name": "Samuel Cassiba",
"author_login": "sbcas",
"committed_at": "2018-04-12T05:24:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aff741a327dd6082cdead59bee2214468a3eb3c6",
"body": "* rename keystone-main to keystone-public to better align with Keystone\n conventions[0]\n\n[0] https://review.openstack.org/194442\n\nChange-Id: I98a5d41b4de3a3d7ef680d00ac898c93c5bc2a41",
"is_bot": false,
"headline": "Rename keystone-main service",
"author_name": "Samuel Cassiba",
"author_login": "sbcas",
"committed_at": "2018-03-23T13:51:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a781e6c11fbe2d4171f19bb0e32eafc5496f007a",
"body": "* use git.openstack.org instead of github for berks dependency\nresolution\n\nChange-Id: Icddbddfae5ec075c9c113287135a02bad48144e7",
"is_bot": false,
"headline": "starting queens development patch and use git.openstack.org",
"author_name": "Samuel Cassiba",
"author_login": "sbcas",
"committed_at": "2018-03-06T12:01:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c607a3fb20ab6b033047b089a7a8fbafdc6e84c",
"body": null,
"is_bot": false,
"headline": "Merge \"Zuul: Remove project name\"",
"author_name": "Zuul",
"author_login": null,
"committed_at": "2018-02-14T18:51:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "23884c6b52ab007af0ab36776a7dbd9bac4f8c4a",
"body": "Change-Id: I07fb6f7f668a4ea0c04a149c8f8cb94e739468d8\nImplements: blueprint modern-chef",
"is_bot": false,
"headline": "Removed deprecated postgres test",
"author_name": "Samuel Cassiba",
"author_login": "sbcas",
"committed_at": "2018-02-07T15:42:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "db5eb09a26c2bf296ecf6a24cd5a18ace477ccd0",
"body": "Zuul no longer requires the project-name for in-repo configuration.\nOmitting it makes forking or renaming projects easier.\n\nChange-Id: I680e12ba32a72d56536de04f542900dface4aeda",
"is_bot": false,
"headline": "Zuul: Remove project name",
"author_name": "James E. Blair",
"author_login": null,
"committed_at": "2018-02-05T21:58:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d407581474092a7147b3056648f0567ce3081e96",
"body": null,
"is_bot": false,
"headline": "Merge \"identity refactor for Pike and Chef 13\"",
"author_name": "Zuul",
"author_login": null,
"committed_at": "2017-12-22T21:35:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ba453b9f521a47f46e350ea210033d3e2785cd8",
"body": "- implemented foodcritic and cookstyle corrections\n- deprecated node.foo.bar method access for node['foo']['bar'] bracket syntax\n- moved apt package_overrides to common cookbook\n\nImplements blueprint modern-chef\n\nChange-Id: I9ab420186b2f93cfc7fcc7be7c406a3176a991e1",
"is_bot": false,
"headline": "identity refactor for Pike and Chef 13",
"author_name": "Samuel Cassiba",
"author_login": "sbcas",
"committed_at": "2017-12-11T04:04:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b13ee78385bfa45c251cdff914bbbd7f197ba294",
"body": null,
"is_bot": false,
"headline": "Merge \"Add native zuul v3 jobs defined in openstack-chef-repo\"",
"author_name": "Zuul",
"author_login": null,
"committed_at": "2017-11-30T16:58:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13022392740b7d4dd3105c0c5664fd3c0cbca74a",
"body": "The step that ran keystone-manage credential_setup has been removed\nas \"deprecated\" with the \"Initial identity Pike updates\" [1].\n\nHowever, the Pike CLI documentation for keystone-manage does not\nindicate that the command is deprecated [2] and the install-guide\ncontinues to use it [3].\n\nAlso, I got \n[…]\nb3a)\n[2] https://docs.openstack.org/keystone/pike/cli/index.html\n[3] https://docs.openstack.org/keystone/pike/install/keystone-install-ubuntu.html\n\nChange-Id: Iad5afd70ab99d968a6546bd19e5e5831a8299a49",
"is_bot": false,
"headline": "Re-add keystone-manage credential_setup",
"author_name": "Roger Luethi",
"author_login": "ideaship",
"committed_at": "2017-11-02T12:52:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8ea88f33ab4e9a4ccc629c366bffa3004152f815",
"body": "Change-Id: I1bee1117dfd4187a9391d826f6cc7f8ac2aba936",
"is_bot": false,
"headline": "Add native zuul v3 jobs defined in openstack-chef-repo",
"author_name": "Jens Harbott",
"author_login": "jharbott",
"committed_at": "2017-11-02T10:35:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cbbc525cc43d2435c7a038dbc41b7c283aef3d64",
"body": "Other cookbooks have switched to using the node attribute\nhttps://github.com/openstack/cookbook-openstack-common/blob/master/attributes/default.rb#L292\nUsing platform_family breaks with chef-client 13.x\n\nCloses-Bug: #1724987\n\nChange-Id: I02fcb5d9403210d913e85487de5ef0dae6066bdc",
"is_bot": false,
"headline": "Use the attribute instead of method to get platform_family",
"author_name": "Arun S A G",
"author_login": "sagarun",
"committed_at": "2017-10-19T21:23:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a8b6424ba06f9a86917969837aff38d7ae8c690",
"body": "Change-Id: I5481547214c7a96b64f3a183f494e3807c1c7735\nCloses-Bug: #1719861",
"is_bot": false,
"headline": "make fernet key file resource sensitive",
"author_name": "Stefan Hoffmann",
"author_login": "mrhopeman",
"committed_at": "2017-09-27T12:43:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a66540d8157507ea9fde456241fc5c613ad7afb9",
"body": null,
"is_bot": false,
"headline": "Merge \"use variable fernet-key data bag\"",
"author_name": "Jenkins",
"author_login": null,
"committed_at": "2017-09-22T21:15:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79e57bd7999b6df72c2094275e763e71b266f204",
"body": "instead of hard coded vault name the attribute\n['openstack']['secret']['secrets_data_bag'] is used.\n\nChange-Id: I286fbfe89395544d1f8d0139acca0d689e4737fa\nCloses-Bug: #1714523",
"is_bot": false,
"headline": "use variable fernet-key data bag",
"author_name": "Stefan Hoffmann",
"author_login": "mrhopeman",
"committed_at": "2017-09-19T07:55:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1961a12a43ec8ee2d39e1633616c1126c9e391fc",
"body": null,
"is_bot": false,
"headline": "Merge \"Initial identity Pike updates\"",
"author_name": "Jenkins",
"author_login": null,
"committed_at": "2017-09-13T14:07:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "995fe07550f34423d2b5f406f53ec8df182ef5a8",
"body": "- the original invocation of keystone-manage bootstrap was in the wrong recipe,\n so it needed to be moved to server-apache for resource ordering. restored the\n original flags used\n- regen .rubocop_todo.yml to pass rubocop\n\nCloses-Bug: #1714510\nChange-Id: I9d3916e7f306d4c0463ec93cad40d2e78bd7eed8",
"is_bot": false,
"headline": "Corrected keystone bootstrapping command",
"author_name": "Samuel Cassiba",
"author_login": "sbcas",
"committed_at": "2017-09-01T14:14:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5279aa4fbc6e2885e86954105237c94d71890f20",
"body": "- Switched default linter to cookstyle\n- Renamed rake tasks to better conform with Chef conventions\n- Removed deprecated credential_setup\n\nChange-Id: I518ed83f7e19c590e7846160889faf46db274b3a",
"is_bot": false,
"headline": "Initial identity Pike updates",
"author_name": "Samuel Cassiba",
"author_login": "sbcas",
"committed_at": "2017-08-31T03:57:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "275c12c3a614df47feac20bb853b55d393b24556",
"body": "We now only support fernet tokens, for which token flushing is no longer\nneeded, see [1]. So we drop the corresponding cron job and the\nattributes to configure it. This also gets rid of the error messages\nwhich it is currently producing.\n\n[1] https://docs.openstack.org/security-guide/identity/tokens.html#fernet-tokens\n\nChange-Id: Ia5fe5f5d0c98ca0a77f03478edfe1777e0a89612",
"is_bot": false,
"headline": "Drop token-flush cronjob",
"author_name": "Jens Harbott",
"author_login": "jharbott",
"committed_at": "2017-08-21T12:26:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "862bfdd7c46f7f90d7ccc06ad372940f86c15b16",
"body": "Change-Id: I638c23934c209d2074256f3f30129cf426e34ae0",
"is_bot": false,
"headline": "starting pike development patch",
"author_name": "Jan Klare",
"author_login": null,
"committed_at": "2017-08-17T12:19:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a967c291ac7291f2a8b4e688cf44caa48c125b9",
"body": "- Keystone config updates for Ocata\n- Style and lint fixes to support newer chefdk\n- Rewrote metadata.rb for readability\n\nChange-Id: Ie1d5f27a9cf8803044568a31e4dae7654b02c9a1",
"is_bot": false,
"headline": "Keystone config updates for Ocata, style and lint fixes",
"author_name": "Samuel Cassiba",
"author_login": "sbcas",
"committed_at": "2017-08-02T06:17:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "150c363d68ad467f9a537aadf18418f0d80f342e",
"body": null,
"is_bot": false,
"headline": "Merge \"add new Chef OpenStack Team Logo to README\"",
"author_name": "Jenkins",
"author_login": null,
"committed_at": "2017-05-29T23:56:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0a5cfbd1e89c129ba2e3bc98cddb96c92560015",
"body": "Change-Id: I9a0d3760f2579c5475d202d4894867c8bba42e77",
"is_bot": false,
"headline": "add new Chef OpenStack Team Logo to README",
"author_name": "Jan Klare",
"author_login": null,
"committed_at": "2017-05-29T08:53:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "36d484e3011314841c8ac9ccffe1086de0e2ea40",
"body": "- corrects SELinux enablement for Keystone, as RHEL comes with SELinux\n enabled by default.\n- removes executable bit from metadata.rb\n\nChange-Id: I97e73bcc0d4721283067e41b988bccb1ddf6c031",
"is_bot": false,
"headline": "Corrects SELinux enablement",
"author_name": "Samuel Cassiba",
"author_login": "sbcas",
"committed_at": "2017-04-04T13:58:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f83bc81674e8d1a2e99b16f1fd9aedfc2478e532",
"body": null,
"is_bot": false,
"headline": "Merge \"Fixup Identity service deployment for Ocata\"",
"author_name": "Jenkins",
"author_login": null,
"committed_at": "2017-04-01T14:59:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f8b8302aaefa9a28aac8c344010784db78ce7b88",
"body": "- Remove recipe for PKI tokens as they have been dropped from keystone\n- Use Fernet tokens unconditionally\n- Cleanup paste deployment according to keystone changes in Ocata\n\nChange-Id: I28c27caacc09a3e46eca135a6c4f5a841f4715f9",
"is_bot": false,
"headline": "Fixup Identity service deployment for Ocata",
"author_name": "Jens Rosenboom",
"author_login": null,
"committed_at": "2017-03-10T10:47:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41dd09a0a72bcf52a54125d318caefc8586987c7",
"body": "Project specific URLs are obsolete, use docs.openstack.org - and use\nhttps for that site.\n\nChange-Id: I149eec4340711ce46bd38188818db75946d0e67f",
"is_bot": false,
"headline": "Replace obsolete vanity openstack.org URLs",
"author_name": "Andreas Jaeger",
"author_login": "ajaeger",
"committed_at": "2017-03-08T18:40:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae02664362e71d5124bad982bfb0c7c37df13cc5",
"body": "Change-Id: I0fe3039cf46cd415b8ece73aec00e3603da793d9",
"is_bot": false,
"headline": "starting ocata development patch",
"author_name": "Jan Klare",
"author_login": null,
"committed_at": "2017-02-23T16:06:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1bb86dd4ce7cd7b795ffa4b9c36d5a3a15150f74",
"body": "The use of the keystone_wsgi_file that we copy in order to create our\nkeystone apps is deprecated and the file will be removed for Ocata.\n\nSo we switch to using the variant provided by upstream instead.\n\nChange-Id: I8970d4ee9692fd13d52b2304ff3a1ae93b693500",
"is_bot": false,
"headline": "Fix wsgi app creation",
"author_name": "Jens Rosenboom",
"author_login": null,
"committed_at": "2017-02-21T10:55:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2f858e3678ced8ab3b35879233e18da659c265dc",
"body": "- removed deprecated rabbitmq attributes\n- added rabbit_transport_url\n\nChange-Id: I0ca0fcc1e261eeadb76c9355a0f14499085d9bda",
"is_bot": false,
"headline": "RPC_backend / transport_url workover",
"author_name": "Christoph Albers",
"author_login": null,
"committed_at": "2016-12-20T11:45:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9b6b2661672fefb8dd334fdbcead5b7023a76af",
"body": null,
"is_bot": false,
"headline": "Merge \"Deprecated python-keystoneclient\"",
"author_name": "Jenkins",
"author_login": null,
"committed_at": "2016-12-20T11:01:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1cccaa0842d77a2be11f378a4c03a574c5caea9d",
"body": "- deleted client.rb\n- deprecated python-keystoneclient references\n\nImplements blueprint newton-xenial\n\nChange-Id: Ia1406308a9c78a0361cd0e2e0844f0e7a3cf4b9f",
"is_bot": false,
"headline": "Deprecated python-keystoneclient",
"author_name": "Samuel Cassiba",
"author_login": "sbcas",
"committed_at": "2016-12-15T04:11:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9f8ba8fda6de41f4ee8ee76badf198d98a1bcb28",
"body": "* added a small ruby block with a loop to check if the keystonen admin\n endpoint is up before trying to register projects, users etc.\n* will wait 60 seconds for admin endpoint to become ready and raise\n error specific exception otherwise if Timeout::Error was raised\n\nChange-Id: Ief678b0f40685e91ced9bddde95b916f4587b330",
"is_bot": false,
"headline": "Wait for identity endpoint instead of sleeping",
"author_name": "Jan Klare",
"author_login": null,
"committed_at": "2016-12-13T13:55:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ade1b23af8133d46eded96263eaf78e27a0cc6b6",
"body": null,
"is_bot": false,
"headline": "Merge \"update cookbook dependencies for next release\"",
"author_name": "Jenkins",
"author_login": null,
"committed_at": "2016-12-08T07:50:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b35a881b934e3a90e529af20e3c4fed4761ff4d",
"body": "Depends-On: Ib256c315d5439beb8d4ec83c5cc7d7c9b182378a\nChange-Id: Ic6b00a08ec29a9a7c04a72c743af5f756db45edf",
"is_bot": false,
"headline": "update cookbook dependencies for next release",
"author_name": "Jan Klare",
"author_login": null,
"committed_at": "2016-12-05T11:32:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0dd8100a2a18fb3d5919c3659aea2f1ff23e220f",
"body": "This patch adds the team's and repository's badges to the README file.\nThe motivation behind this is to communicate the project status and\nfeatures at first glance.\n\nFor more information about this effort, please read this email thread:\n\nhttp://lists.openstack.org/pipermail/openstack-dev/2016-October/105562.html\n\nTo see an example of how this would look like check:\n\nhttps://gist.github.com/9be741f3b667eb4e72f7e97648335f16\n\nChange-Id: I6eea8331ec2cab9605314401b5cfceb5e13c3e1e",
"is_bot": false,
"headline": "Show team and repo badges on README",
"author_name": "Flavio Percoco",
"author_login": "flaper87",
"committed_at": "2016-11-26T10:52:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4dcd956337e523a89e19756e4971b3c33f84a4ff",
"body": "- Removed v2 support\n- Workover Endpoint creation\n Identity Endpoints now will be bootstrapped\n- Removed bootstrap_token\n- Added domain_creation\n- Edited openrc to work with itendity_v3\n- changed \"tenant\"-naming to project\n- Removed unused files and functions\n providers/register.rb\n spec/register\n[…]\n/machters.rb\n- rewrote specs\n- updated readme\n- added apache_site disable keystone since\n ubuntu auto-enables it\n- bumbed ubuntu version to 16.04\n\nChange-Id: I0f8955f05de9b33711c54b9a198f45018cceb8e1",
"is_bot": false,
"headline": "use_cookbook-openstackclient/identity_v3",
"author_name": "Christoph Albers",
"author_login": null,
"committed_at": "2016-09-29T15:52:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "07518048675a66ba4858864205c5bd208f07b11b",
"body": "Some cert providers require an chain cert file so this allows for this option.\nIn addition, I added tests for SSL that were missing for the apache vhost file.\n\nChange-Id: Ib3c6cf82f6afb8a79952745d8fb2116a05f59c39",
"is_bot": false,
"headline": "Include option to set SSLCertificateChainFile",
"author_name": "Lance Albertson",
"author_login": "ramereth",
"committed_at": "2016-08-13T19:36:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae8f0ec57a204b10a0d76d4feae29ff0b4bc3e7b",
"body": "The attribute is set false by default as documented here:\nhttp://docs.openstack.org/mitaka/config-reference/identity/options.html\n\nChange-Id: I5b7bc37f08f30014468317b55eaab7a431fb58cb",
"is_bot": false,
"headline": "Removes unneeded default attribute",
"author_name": "Hendrik Frese",
"author_login": null,
"committed_at": "2016-07-28T13:05:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e6b72c41058eff5d7945e468a78beec243a4a41d",
"body": "Change-Id: I34e4c7b29ff7c36c91245d90fb0b6897847cd22f\nDepends-On: I6ce4587caa3ae68ddbd3ef1a521aaf46f4840b2c",
"is_bot": false,
"headline": "Style and lint fixes to support newer ChefDK",
"author_name": "Samuel Cassiba",
"author_login": "sbcas",
"committed_at": "2016-07-02T03:22:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6208a34946f2a1585a9e0ba010f6d255fb3a2093",
"body": "Change-Id: I2e9c4e159076df49dae5d5cae2e64afa5835373b",
"is_bot": false,
"headline": "initial commit for the newton development cycle",
"author_name": "Jan Klare",
"author_login": null,
"committed_at": "2016-05-31T08:31:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4fda2a0d5b7eee32c1b04e45d328f24a6940b7fc",
"body": "* added a lot of inline comments for attributes, recipes and provider\n* updated README to the current state of the cookbook\n\nChange-Id: Ic7b7ae6d26ce56e2237fe3215aff9ab447946b48",
"is_bot": false,
"headline": "Documenation update after refactoring",
"author_name": "Jan Klare",
"author_login": null,
"committed_at": "2016-04-27T21:12:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24757760b3b18ee0a64f17ffc1be7b432bfeeedf",
"body": null,
"is_bot": false,
"headline": "Merge \"Remove default apache port\"",
"author_name": "Jenkins",
"author_login": null,
"committed_at": "2016-04-11T07:47:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "27c46d645080a770d46913f068bc23662c50a659",
"body": "The default apache port overlaps with horizon, but\nuses a different address syntax, *:80 vs 0.0.0.0:80.\nThis causes apache2 to sometimes fail on startup with\nAddress already in use: AH00072: make_sock: could not bind to address [::]:80\n\nChange-Id: Ib45393b0244dd4cffb440c84c614ba9a104df105",
"is_bot": false,
"headline": "Remove default apache port",
"author_name": "Mark Vanderwiel",
"author_login": "kramvan1",
"committed_at": "2016-04-08T16:18:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8a54c8e56a9b507e30700cdac870bbe4606d4a0",
"body": "The option \"verbose\" in the [DEFAULT] section is deprecated, it's\ndefault value would be false anyway.\n\nChange-Id: Ib7809425ca5c1651cd7642f3a6cf56cb7f6444aa",
"is_bot": false,
"headline": "Remove the deprecated \"verbose\" option",
"author_name": "Jens Rosenboom",
"author_login": null,
"committed_at": "2016-04-08T15:02:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dbea65b625d9937ced5ddde9c7f304c1928ef236",
"body": "Version 3.2.0 of the apache2 cookbook was released, update our\ndependency so that we are compatible with the other openstack\ncookbooks and berkshelf resolution can succeed. Drop the reference to\nthe github version.\n\nChange-Id: I55110726ee846f579849ea039a759ef1a0ad9bff",
"is_bot": false,
"headline": "Update dependency for apache2 cookbook",
"author_name": "Jens Rosenboom",
"author_login": null,
"committed_at": "2016-03-29T14:50:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "340e9f2f48998b8c2c2dcec9ee047a61888d8b56",
"body": null,
"is_bot": false,
"headline": "Merge \"Fixup identity backend handling\"",
"author_name": "Jenkins",
"author_login": null,
"committed_at": "2016-03-07T16:16:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "52d8000c1acdb61b46ff45900ea31508850435ff",
"body": "Instead of creating an artificial, non-functional identity-internal\nendpoint use the identity-main backend that is provided via the default\nconfig for both public and internal endpoints.\n\nChange-Id: Ia7d7f11108f0945ccd944d7e4a5c7f7ef68bc654",
"is_bot": false,
"headline": "Fixup identity backend handling",
"author_name": "Jens Rosenboom",
"author_login": null,
"committed_at": "2016-03-03T18:49:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe6e4adb6b140cd02e3cd937f4d0212e96be3f64",
"body": "On recent test machines, curl isn't available anymore, so use wget\ninstead. Piping directly into bash isn't that great anyway.\n\nChange-Id: I7faa2a67e9233ed68e16e25cd24afe2120df6cda",
"is_bot": false,
"headline": "Fix bootstrap.sh",
"author_name": "Jens Rosenboom",
"author_login": null,
"committed_at": "2016-03-03T18:38:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0271eb1711ef6716a2f00f2e7df06835101169bc",
"body": "* the apache2 cookbook got patched recently and now uses an array of\n \"ipaddress:port\" to define where apache2 should listen\n\nDepends-On: I7304932c19398c2bd245bbb7cbad6df4f487047e\nChange-Id: Id91fb812ba91dab2803c68d24adaddbe0fde7a5e",
"is_bot": false,
"headline": "use Array for apache2 listen attributes",
"author_name": "Jan Klare",
"author_login": null,
"committed_at": "2016-03-03T13:26:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d47ebc4e527feb6ea90272c9981e599ddbe93f91",
"body": "* use the bind_address method from common to get address for keystone\n\nWIP specs and deps missing\n\nChange-Id: I206c8cbab66dbeb708947cc9b95c8ecfdf6c2c14",
"is_bot": false,
"headline": "use new bind_address method from common",
"author_name": "Jan Klare",
"author_login": null,
"committed_at": "2016-02-24T15:42:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6585d611cb93579c1b33431411c82126b3a90096",
"body": "* added recipe for fernet_tokens (recipes/_fernet_tokens.rb)\n* moved pki setup to seperate recipe (recipes/_pki_tokens.rb)\n* included fernet or pki tokens recipe based on auth strategy attibute\n* adapted spec accordingly and added specs for fernet_tokens\n\nChange-Id: I37af3e8e5d4b93e0de7f4ef2d999a05573eefc26",
"is_bot": false,
"headline": "add fernet tokens as optional token deployment method",
"author_name": "Jan Klare",
"author_login": null,
"committed_at": "2016-02-24T15:41:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a26d528b5e34c79d8a7bdf60c5f58199f5b86bba",
"body": "* endpoint type (admin, internal, public) and service (identitiy, network etc.)\n was switched during refactoring, this patch reverts this unintended switching\n\nChange-Id: Ia5bddfc5e2fd77cd6e9e855c680b079f78fc1c3f\nDepends-On: Iec485deaf415e4187a323435cce2b6bbadfc5d42",
"is_bot": false,
"headline": "invert the order of endpoint and bind_service attributes",
"author_name": "Jan Klare",
"author_login": null,
"committed_at": "2016-02-12T17:38:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3f18966ea3a01885a1f031b7ccab046325fce09",
"body": "* added new logic into templates/default/keystone.conf.erb\n* refactored attributes throughout all recipes that were connected to\n the attributes used for the keystone.conf.erb template to adapt the new\n template attribute syntax\n* moved all attributes from attributes/default.rb that were used in\n \n[…]\nocop_todo.yaml conaining all remaining exceptions\n\nChange-Id: I3262b2e6f792f37c32a446e6567790b82bdd4613\nImplements: blueprint cookbook-refactoring\nDepends-On: I0547182085eed91d05384fdd7734408a839a9a2c",
"is_bot": false,
"headline": "refactoring final step",
"author_name": "Jan Klare",
"author_login": null,
"committed_at": "2016-02-08T09:17:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "98030c26e065f39c545db48bc36414a15e9bd83d",
"body": "The current hack just does a apache reload, but a full\nrestart is required on centos.\n\nChange-Id: I1deb415bc6f8d035775c9bd723ae8b2207c333e6\nCloses-Bug: #1512480",
"is_bot": false,
"headline": "Fix centos keystone-apache timeout",
"author_name": "Mark Vanderwiel",
"author_login": "kramvan1",
"committed_at": "2015-11-04T18:55:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5b8a8f89492d11e9fb2bf4ffc1733d4a0f09b095",
"body": null,
"is_bot": false,
"headline": "Merge \"Use keystone.wsgi instead of wsgi.py for RHEL/CentOS\"",
"author_name": "Jenkins",
"author_login": null,
"committed_at": "2015-10-30T01:47:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3fbc1bd092f3c0372bfd5430b6d74037c086f641",
"body": "Add missing gate integration task, but use the one from\nCommon cookbook to make future updates easy.\n\nChange-Id: I03c54dc3284715edd79207cd158b7f9fb0be3bcd",
"is_bot": false,
"headline": "Add integration task",
"author_name": "Mark Vanderwiel",
"author_login": "kramvan1",
"committed_at": "2015-10-06T14:47:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f178a00b84b59ef04139ebff96888214db585f72",
"body": "Change-Id: I6bddae9fc83a5fc133e43a27e96e1a7110c94cfb\nPartial-Bug: #1501064",
"is_bot": false,
"headline": "Sync keystone paste.ini with liberty changes",
"author_name": "Mark Vanderwiel",
"author_login": "kramvan1",
"committed_at": "2015-09-29T21:48:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eae4ded65dd4c2a5c4b47ebb93826ffe3b24bdfb",
"body": "Change-Id: I5a8e83a6238374afde42a6f5d896fc211fb49dce\nCloses-Bug: #1491479",
"is_bot": false,
"headline": "Use keystone.wsgi instead of wsgi.py for RHEL/CentOS",
"author_name": "Samuel Cassiba",
"author_login": null,
"committed_at": "2015-09-02T15:52:31Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 5,
"commits_last_year": 0,
"latest_release_at": "2022-03-17T22:49:15Z",
"latest_release_tag": "v20.0.0",
"releases_from_tags": true,
"days_since_last_push": 885,
"active_weeks_last_year": 0,
"days_since_latest_release": 1589,
"mean_days_between_releases": 206.9
},
"community": {
"has_readme": true,
"has_license": false,
"has_description": true,
"has_contributing": false,
"health_percentage": 25,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 36,
"stars": 44,
"watchers": 0,
"fork_history": {
"days": [
{
"date": "2013-05-14",
"count": 1
},
{
"date": "2013-07-08",
"count": 1
},
{
"date": "2013-07-23",
"count": 1
},
{
"date": "2013-08-22",
"count": 1
},
{
"date": "2013-10-12",
"count": 1
},
{
"date": "2014-01-13",
"count": 1
},
{
"date": "2014-01-17",
"count": 1
},
{
"date": "2014-01-23",
"count": 1
},
{
"date": "2014-05-12",
"count": 1
},
{
"date": "2014-05-14",
"count": 1
},
{
"date": "2014-05-28",
"count": 1
},
{
"date": "2014-05-29",
"count": 1
},
{
"date": "2014-05-30",
"count": 1
},
{
"date": "2014-06-30",
"count": 1
},
{
"date": "2014-08-04",
"count": 1
},
{
"date": "2014-08-18",
"count": 1
},
{
"date": "2014-09-06",
"count": 1
},
{
"date": "2014-11-25",
"count": 1
},
{
"date": "2014-12-03",
"count": 1
},
{
"date": "2015-01-16",
"count": 1
},
{
"date": "2015-04-02",
"count": 1
},
{
"date": "2015-04-07",
"count": 1
},
{
"date": "2015-05-21",
"count": 1
},
{
"date": "2015-07-24",
"count": 1
},
{
"date": "2015-09-09",
"count": 1
},
{
"date": "2015-11-03",
"count": 1
},
{
"date": "2016-02-19",
"count": 1
},
{
"date": "2016-02-29",
"count": 1
},
{
"date": "2016-04-15",
"count": 1
},
{
"date": "2016-06-23",
"count": 1
},
{
"date": "2017-06-14",
"count": 1
},
{
"date": "2017-07-27",
"count": 1
},
{
"date": "2018-02-08",
"count": 1
},
{
"date": "2018-05-22",
"count": 1
},
{
"date": "2020-07-13",
"count": 1
}
],
"complete": true,
"collected": 35,
"total_forks": 36
},
"star_history": null,
"open_issues_and_prs": 0
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": null,
"source_files_sampled": 0,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [],
"advisories": {
"error": null,
"scope": null,
"source": null,
"findings": [],
"collected": false,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [],
"dependencies": [],
"all_dependencies": {
"error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
"source": null,
"packages": [],
"collected": false,
"truncated": false,
"total_count": null,
"direct_count": null,
"indirect_count": null
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 0,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 4
},
"bus_factor": 3,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "jaypipes",
"commits": 67,
"avatar_url": "https://avatars.githubusercontent.com/u/265023?v=4"
},
{
"type": "User",
"login": "retr0h",
"commits": 65,
"avatar_url": "https://avatars.githubusercontent.com/u/9895?v=4"
},
{
"type": "User",
"login": "kramvan1",
"commits": 47,
"avatar_url": "https://avatars.githubusercontent.com/u/5861591?v=4"
},
{
"type": "User",
"login": "iartarisi",
"commits": 25,
"avatar_url": "https://avatars.githubusercontent.com/u/35473?v=4"
},
{
"type": "User",
"login": "mattray",
"commits": 21,
"avatar_url": "https://avatars.githubusercontent.com/u/330023?v=4"
},
{
"type": "User",
"login": "ramereth",
"commits": 15,
"avatar_url": "https://avatars.githubusercontent.com/u/48997?v=4"
},
{
"type": "User",
"login": "sbcas",
"commits": 13,
"avatar_url": "https://avatars.githubusercontent.com/u/791892?v=4"
},
{
"type": "User",
"login": "UshF",
"commits": 12,
"avatar_url": "https://avatars.githubusercontent.com/u/947919?v=4"
},
{
"type": "User",
"login": "jharbott",
"commits": 11,
"avatar_url": "https://avatars.githubusercontent.com/u/3973691?v=4"
},
{
"type": "User",
"login": "mattt416",
"commits": 5,
"avatar_url": "https://avatars.githubusercontent.com/u/16207?v=4"
}
],
"contributors_sampled": 44,
"top_contributor_share": 0.198
},
"quality_signals": {
"has_ci": false,
"has_tests": false,
"ci_workflows": [],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": null,
"reason": "no pull request found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/30 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 12 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": null,
"reason": "no workflows found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 0,
"reason": "license file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "project is archived",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": null,
"reason": "no dependencies found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "no SAST tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": null,
"reason": "No tokens found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "44d13c8c6421d123a51e70562a5e43f4018b66de",
"ran_at": "2026-07-23T22:49:46Z",
"aggregate_score": 2.6,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": null,
"oldest_open_prs": [],
"last_merged_pr_at": null,
"ci_last_conclusion": null,
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/openstack-archive/cookbook-openstack-identity",
"host": "github.com",
"name": "cookbook-openstack-identity",
"owner": "openstack-archive"
},
"metrics": {
"overall": {
"key": "overall",
"band": "critical",
"name": "Overall health",
"note": "Abandonment Policy applies a 40% multiplier to weighted overall health and gives it a ceiling of 29.",
"notes": [
{
"code": "abandonment_overall_adjustment",
"params": {
"cap": 29,
"pct": 40
}
}
],
"value": 12,
"inputs": {
"security": 26,
"vitality": 13,
"community": 32,
"governance": 50,
"engineering": 23,
"abandonment_cap": 29,
"abandonment_state": "declared",
"abandonment_multiplier": 40,
"weighted_overall_before_abandonment": 29,
"overall_after_abandonment_multiplier": 12
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "critical",
"name": "Vitality",
"value": 13,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "critical",
"name": "Development activity",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"commits_last_year": 0,
"human_commit_share": 1,
"days_since_last_push": 885,
"active_weeks_last_year": 0
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 885 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "push_recency",
"params": {
"days": 885
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "0/52 weeks with commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 0
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "0 commits in the last year",
"points": 0,
"status": "missed",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 0
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "project is archived",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "at_risk",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 32,
"inputs": {
"releases_count": 5,
"latest_release_tag": "v20.0.0",
"releases_from_tags": true,
"days_since_latest_release": 1589,
"mean_days_between_releases": 206.9
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "5 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 5
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 1589 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "release_recency",
"params": {
"days": 1589
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~206.9 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 206.9
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "at_risk",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"cap": 29,
"state": "declared",
"guards": [],
"signals": [],
"red_flag": true,
"multiplier_pct": 40,
"declared_reason": "archived",
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": null,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "the repository is archived on GitHub",
"points": 40,
"status": "partial",
"details": [
{
"code": "abandonment_archived",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 32,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "at_risk",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 39,
"inputs": {
"forks": 36,
"stars": 44,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "44 stars",
"points": 26.5,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 44
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "36 forks",
"points": 12.9,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 36
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "critical",
"name": "Community health",
"note": null,
"notes": [],
"value": 25,
"inputs": {
"has_readme": true,
"has_license": false,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "no license file detected",
"points": 0,
"status": "missed",
"details": [
{
"code": "license_absent",
"params": {}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 50,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "good",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"bus_factor": 3,
"contributors_sampled": 44,
"top_contributor_share": 0.198
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "3 contributor(s) cover half of all commits",
"points": 36,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 3
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 20% of commits",
"points": 18,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 20
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "44 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 44
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 12 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "critical",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 1,
"inputs": {
"merged_prs": 0,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 4
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "0/4 decided PRs merged",
"points": 0,
"status": "missed",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 0,
"decided": 4
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"followers": 23,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "openstack-archive",
"public_repos": 1273,
"account_age_days": 2303
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "23 followers of openstack-archive",
"points": 9.9,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 23,
"login": "openstack-archive"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "1273 public repos, account ~6 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 1273
}
},
{
"code": "account_age_years",
"params": {
"years": 6
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "critical",
"name": "Engineering Quality",
"value": 23,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "critical",
"name": "Engineering practices",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_ci_tests"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 1,
"inputs": {
"has_ci": false,
"has_tests": false,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": "https://opendev.org/openstack/cookbook-openstack-identity",
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://opendev.org/openstack/cookbook-openstack-identity",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "critical",
"name": "Security",
"value": 26,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "critical",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): CI-Tests, Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"ci_tests",
"dangerous_workflow",
"packaging",
"pinned_dependencies",
"signed_releases",
"token_permissions"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 26,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 12,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 6,
"scorecard_aggregate": 2.6
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 12 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no workflows found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "project is archived",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "no SAST tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "No tokens found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 12
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "critical",
"name": "AI Readiness",
"value": 16,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 37,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.7,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "70 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 37.3,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 70,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "critical",
"name": "Verify loop (build / test / typecheck)",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_pinned_dependencies"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 1,
"inputs": {
"has_nix": false,
"has_tests": false,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Language breakdown unavailable",
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
],
"report_type": "repository",
"generated_at": "2026-07-23T22:50:01.067197Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/o/openstack-archive/cookbook-openstack-identity.svg",
"full_name": "openstack-archive/cookbook-openstack-identity",
"license_state": "absent",
"license_spdx": null
}