Github Apps
background
Apps can be either 3rd party (via the marketplace) or custom-created by administrators at the enterprise or organization level. For more broad information, see the github documentation:
GitHub Apps are tools that extend GitHub's functionality. GitHub Apps can do things on GitHub like open issues, comment on pull requests, and manage projects. They can also do things outside of GitHub based on events that happen on GitHub. For example, a GitHub App can post on Slack when an issue is opened on GitHub.
GitHub Apps overview - GitHub Docs
automation / infrastructure-as-code
At time of writing, the terraform provider for github does not support creating/managing apps via terraform. This means an “infrastructure-as-code” (“IAC”) approach is not yet possible. See:
authentication
Github Apps allow for oauth without the need for using a PAT or service accounts. For more information, see:
This includes the use of keypairs that are tied to the app itself (and not any specific individual) and are the means of authentication. See: