{"id":21657999,"url":"https://github.com/chef/chef-server","last_synced_at":"2025-12-17T06:59:40.314Z","repository":{"id":21414386,"uuid":"24732433","full_name":"chef/chef-server","owner":"chef","description":"Chef Infra Server is a hub for configuration data; storing cookbooks, node policies and metadata of managed nodes.","archived":false,"fork":false,"pushed_at":"2025-12-15T01:42:02.000Z","size":52085,"stargazers_count":301,"open_issues_count":291,"forks_count":214,"subscribers_count":71,"default_branch":"main","last_synced_at":"2025-12-15T06:54:30.148Z","etag":null,"topics":["chef-infra","chef-server","erlang"],"latest_commit_sha":null,"homepage":"https://www.chef.io/chef/","language":"Ruby","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/chef.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE.TXT","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-10-02T19:04:18.000Z","updated_at":"2025-12-09T09:28:09.000Z","dependencies_parsed_at":"2024-02-13T21:30:40.873Z","dependency_job_id":"65b2e7d6-6bea-4a87-8ed0-be8d3e49f1bd","html_url":"https://github.com/chef/chef-server","commit_stats":null,"previous_names":[],"tags_count":1759,"template":false,"template_full_name":null,"purl":"pkg:github/chef/chef-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fchef-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fchef-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fchef-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fchef-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chef","download_url":"https://codeload.github.com/chef/chef-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fchef-server/sbom","scorecard":{"id":275483,"data":{"date":"2025-08-11","repo":{"name":"github.com/chef/chef-server","commit":"7716d7fc8f1ad53e8975ccc3e97e1aa4493b40a5"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.6,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 12/26 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/brakeman-analysis.yml:21","Info: jobLevel 'contents' permission set to 'read': .github/workflows/labeler.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/brakeman-analysis.yml:16","Warn: no topLevel permission defined: .github/workflows/ctl-cookbook-testing.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/labeler.yml:6","Warn: no topLevel permission defined: .github/workflows/sonarqube.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/chef/.github/SECURITY.md:1","Info: Found linked content: github.com/chef/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/chef/.github/SECURITY.md:1","Info: Found text in security policy: github.com/chef/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-bookshelf-log-run.erb:0","Info: Possibly incomplete results: error parsing shell code: statements must be separated by \u0026, ; or a newline: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-bookshelf-run.erb:0","Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-elasticsearch-log-run.erb:0","Info: Possibly incomplete results: error parsing shell code: statements must be separated by \u0026, ; or a newline: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-elasticsearch-run.erb:0","Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-haproxy-log-run.erb:0","Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-haproxy-run.erb:0","Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-nginx-log-run.erb:0","Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-nginx-run.erb:0","Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-oc_bifrost-log-run.erb:0","Info: Possibly incomplete results: error parsing shell code: statements must be separated by \u0026, ; or a newline: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-oc_bifrost-run.erb:0","Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-oc_id-log-run.erb:0","Info: Possibly incomplete results: error parsing shell code: statements must be separated by \u0026, ; or a newline: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-oc_id-run.erb:0","Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-opensearch-log-run.erb:0","Info: Possibly incomplete results: error parsing shell code: statements must be separated by \u0026, ; or a newline: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-opensearch-run.erb:0","Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-opscode-erchef-log-run.erb:0","Info: Possibly incomplete results: error parsing shell code: statements must be separated by \u0026, ; or a newline: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-opscode-erchef-run.erb:0","Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-postgresql-log-run.erb:0","Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-postgresql-run.erb:0","Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-redis_lb-log-run.erb:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: omnibus/files/server-ctl-cookbooks/infra-server/templates/default/sv-redis_lb-run.erb:0","Info: Possibly incomplete results: error parsing shell code: invalid var name: src/oc_erchef/habitat/hooks/run:0","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/brakeman-analysis.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/chef/chef-server/brakeman-analysis.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/brakeman-analysis.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/chef/chef-server/brakeman-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/brakeman-analysis.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/chef/chef-server/brakeman-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ctl-cookbook-testing.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/chef/chef-server/ctl-cookbook-testing.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ctl-cookbook-testing.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/chef/chef-server/ctl-cookbook-testing.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ctl-cookbook-testing.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/chef/chef-server/ctl-cookbook-testing.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ctl-cookbook-testing.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/chef/chef-server/ctl-cookbook-testing.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ctl-cookbook-testing.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/chef/chef-server/ctl-cookbook-testing.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ctl-cookbook-testing.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/chef/chef-server/ctl-cookbook-testing.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/labeler.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/chef/chef-server/labeler.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sonarqube.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/chef/chef-server/sonarqube.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/sonarqube.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/chef/chef-server/sonarqube.yml/main?enable=pin","Warn: downloadThenRun not pinned by hash: .expeditor/automate_build.sh:15","Warn: downloadThenRun not pinned by hash: .expeditor/habitat.sh:12","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned","Info:   0 out of   2 downloadThenRun dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: all commits (16) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"18 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-22f2-v57c-j9cx","Warn: Project is vulnerable to: GHSA-54rr-7fvw-6x8f","Warn: Project is vulnerable to: GHSA-7g2v-jj9q-g3rg","Warn: Project is vulnerable to: GHSA-7wqh-767x-r66v","Warn: Project is vulnerable to: GHSA-8cgq-6mh2-7j6v","Warn: Project is vulnerable to: GHSA-c6qg-cjj8-47qp","Warn: Project is vulnerable to: GHSA-gjh7-p2fx-99vx","Warn: Project is vulnerable to: GHSA-vpfw-47h7-xj4g","Warn: Project is vulnerable to: GHSA-xj5v-6v4g-jfw6","Warn: Project is vulnerable to: GHSA-mqcp-p2hv-vw6x","Warn: Project is vulnerable to: GHSA-vfm5-rmrh-j26v","Warn: Project is vulnerable to: GHSA-j3g3-5qv5-52mj","Warn: Project is vulnerable to: GHSA-2x5m-9ch4-qgrr","Warn: Project is vulnerable to: GHSA-638j-pmjw-jq48","Warn: Project is vulnerable to: GHSA-cfjx-w229-hgx5","Warn: Project is vulnerable to: GHSA-rxv5-gxqc-xx8g","Warn: Project is vulnerable to: GHSA-w8gc-x259-rc7x","Warn: Project is vulnerable to: GHSA-hxx2-7vcw-mqr3"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T14:17:40.660Z","repository_id":21414386,"created_at":"2025-08-17T14:17:40.661Z","updated_at":"2025-08-17T14:17:40.661Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27779014,"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","status":"online","status_checked_at":"2025-12-17T02:00:08.291Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["chef-infra","chef-server","erlang"],"created_at":"2024-11-25T09:28:28.972Z","updated_at":"2025-12-17T06:59:40.295Z","avatar_url":"https://github.com/chef.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"# Chef Infra Server\n\n[![Build Status](https://badge.buildkite.com/ccdefb69f938db51cb23f092e54030aa41608e6472cfe4aa7e.svg)](https://buildkite.com/chef/chef-chef-server-main-omnibus-adhoc)\n[![](https://img.shields.io/badge/Release%20Policy-Cadence%20Release-brightgreen.svg)](https://github.com/chef/chef-server/blob/main/dev-docs/release_cadence.md)\n\n**Umbrella Project**: [Chef Infra Server](https://github.com/chef/chef-oss-practices/blob/main/projects/chef-infra-server.md)\n\n**Project State**: [Active](https://github.com/chef/chef-oss-practices/blob/main/repo-management/repo-states.md#active)\n\n**Issues [Response Time Maximum](https://github.com/chef/chef-oss-practices/blob/main/repo-management/repo-states.md)**: 14 days\n\n**Pull Request [Response Time Maximum](https://github.com/chef/chef-oss-practices/blob/main/repo-management/repo-states.md)**: 14 days\n\nNOTE: we know we have a backlog, and are working through it, but this applies for new requests.\n\nThis repository is the central repository for the Chef Infra Server.\n\nIf you want to file an issue about Chef Infra Server or contribute a change, you're in the right place.\n\nIf you need to file an issue against another Chef project, you can find a list of projects and where to file issues in the [community contributions section](https://docs.chef.io/community_contributions/#issues-and-bug-reports) of the [Chef docs](https://docs.chef.io).\n\n## Getting Help\n\nWe use GitHub issues to track bugs and feature requests. If you need help please post to our Mailing List or join the Chef Community Slack.\n\n* Chef Community Slack at https://community-slack.chef.io/.\n* Chef Mailing List https://discourse.chef.io/\n\n## Components of the Chef Infra Server\n\nThis repository contains the core services that make up the Chef Infra Server.\n\n```\n|-- oc-chef-pedant: A comprehensive test suite for the Chef Infra Server API\n|-- omnibus: Omnibus build configuration for the Chef Infra Server\n|-- scripts: Utility scripts\n`-- src\n    |-- bookshelf: S3-compatible engine for storing cookbook data\n    |-- oc-id: OAuth2 provider for extensions like Supermarket\n    |-- oc_bifrost: Chef Infra Server's authorization service\n    |-- oc_erchef: The core REST API server\n    |-- chef-server-ctl: The Chef Infra Server's command line management utility\n```\n\n## Working on the Chef Infra Server\n\nThe quickest way to get a Chef Infra Server development environment is to\nfollow the [instructions](https://github.com/chef/chef-server/blob/main/dev/README.md) in the `dev` directory.\nThis environment is based on Vagrant and features hot reloading of code.\n\n## Building a Chef Infra Server package locally\n\nYou can build a Chef Infra Server package locally with HashiCorp Vagrant and Test Kitchen.\n\n```shell\ncd omnibus/\nmake dev dev-build\n```\n\nOnce the build is complete, the package should be in omnibus/pkg. By default the dev-build target will create an Ubuntu 18.04 build.\n\n## Habitized Chef Infra Server\n\nThe following components now exist as Habitat packages and are available [here](https://bldr.habitat.sh/#/origins/chef-server/packages):\n\n* nginx\n* bookshelf\n* oc_id\n* oc_erchef\n* oc_bifrost\n* chef-server-ctl\n\nTo build the packages locally:\n\n```shell\n./habitat_pkgs_build.sh\n```\n\nA top-level `docker-compose.yml` file exists for running Chef Infra Server from Habitized Docker images:\n\n```shell\ndocker-compose down \u0026\u0026 docker system prune --volumes -f \u0026\u0026 docker-compose up\n```\n\nRunning pedant tests:\n\n```shell\ndocker-compose exec chef-server-ctl chef-server-test\n```\n\nRunning chef-server-ctl:\n\n```shell\ndocker-compose exec chef-server-ctl chef-server-ctl command (subcommands)\n```\n\n## License Usage\n\nThe Chef products may include automated license tracking, management and/or enforcement solutions which collect information to verify your license usage.  All information is collected and utilized pursuant to the Progress [Privacy Policy](https://www.progress.com/legal/privacy-policy) which is available and through the Progress [Privacy Center](https://www.progress.com/legal/privacy-center).  \n  \nChef Infra Server collects the following aggregated, anonymized information:\n* The Chef Infra Server version.\n* Domain name of chef server installation and number of installations by collecting following parameters:  \n    - reports the domain name associated with the most common number of logins registered with Infra Server. Examples are progress.com , my-charity.org, a-service-provider.net.\n    - hashing subdomain details and combining with domain name of the internal load balancer to prevent from transmitting FQDN in its identifiable form but only essential fields to identify unique installations of chef server.\n* The number of nodes checked into the server in the last 30 days.\n* The chef-server-ctl binary filename and location.\n* The Chef Infra Server's configuration file location.\n\n## Dependencies contained in other repositories\n\n* [knife-ec-backup](https://www.github.com/chef/knife-ec-backup), used to backup your Chef Infra Server for disaster recovery or migrations.\n* [knife-opc](https://www.github.com/chef/knife-opc), used to provide administrative command-line control to the Chef Infra Server from the console\n\n## Major Technologies used in Chef Infra Server\n\n* Erlang\n* PostgreSQL\n* Redis\n* Elasticsearch\n* Nginx (openresty with lpeg library addition)\n* Runit for service supervision\n\nIf you're looking to contribute to certain parts of the Chef Infra Server, familiarity with the following related tools is also beneficial, depending on the area.\n\n* rebar (used for dependency management in Erlang)\n* sqitch (database migrations)\n* lua (routing rules in openresty)\n\n## Chef Expeditor\n\nThe `chef/chef-server`  repository, like many other Chef Software repositories, leverages an internal utility called Chef Expeditor to create a pub-sub model of actions across our various CI/CD utilities.\n\n## Contributing\n\nFor information on contributing to this project see \u003chttps://github.com/chef/chef/blob/main/CONTRIBUTING.md\u003e\n\n## License \u0026 Authors\n\n**Copyright:** 2008-2022, Chef Software, Inc.\n\n```text\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License. \n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchef%2Fchef-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchef%2Fchef-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchef%2Fchef-server/lists"}