Configure an agent with GitHub
In order to view recipe results and commit changes from a recipe back to GitHub, you'll need to create a GitHub OAuth app and configure the Moderne agent with the appropriate variables.
To assist with that, this guide will:
Prerequisites
You will need administrator access to your organization's GitHub account
GitHub configuration
Step 1: Create an OAuth application
Navigate to the settings page for your organization:
https://github.com/organizations/<YOUR_ORG>/settings/applications
Expand
Developer settings
on the bottom left of the page:Click the
New OAuth App
button in the upper right of your screen.Supply the required fields and register the application (See examples below):
On your newly created application click the
Generate a new client secret
button:Copy the
Client ID
andClient secret
from this page; they will be used as arguments for the Moderne Agent.
Example values
Agent configuration
Step 2: Configure the Moderne Agent
The following table contains all of the variables/arguments you need to add to your Moderne agent run command in order for it to work with your GitHub instance. Please note that these variables/arguments must be combined with ones found in other steps in the Configuring the Moderne agent guide.
You can configure multiple GitHub OAuth apps by including multiple entries, each with a different {index}
.
Variables:
MODERNE_AGENT_GITHUB_{index}_OAUTH_CLIENTID
– The client id configured in GitHub.MODERNE_AGENT_GITHUB_{index}_OAUTH_CLIENTSECRET
– The client secret configured in GitHub.MODERNE_AGENT_GITHUB_{index}_URL
– The fully-qualified hostname of the running GitHub instance.MODERNE_AGENT_GITHUB_{index}_SKIPSSL
– (Optional) Specifies whether or not to skip SSL validation for HTTP connections to this GitHub instance. This must be set totrue
if you use a self-signed SSL/TLS certificate. Defaults to false.MODERNE_AGENT_GITHUB_{index}_ALLOWABLE_ORGANIZATIONS_{index}
– (Optional) Specifies what organizations you can fork recipe results to. By default, there are no restrictions on which organizations can be committed to. If you want multiple organizations, increase the last index and add one per line. Accepts regular expressions.MODERNE_AGENT_GITHUB_{index}_OAUTH_INCLUDEPRIVATEREPOS
– (Optional) By default, the OAuth app will only have access to public repositories within your organization(s). To provide the OAuth app access to private repositories, you can set this totrue
.MODERNE_AGENT_GITHUB_{index}_SSH_PRIVATEKEY
– (Optional) The SSH private key used to establish a SSH connection with GitHub.MODERNE_AGENT_GITHUB_{index}_SSH_PASSPHRASE
– (Required if the SSH private key is specified and encrypted with a passphrase) The passphrase used to encrypt the SSH private key.MODERNE_AGENT_GITHUB_{index}_SSH_SSHFILENAME
– (Required if the SSH private key is specified) The file name of the private key, which the agent will store locally.MODERNE_AGENT_GITHUB_{index}_SSH_USER
– (Required if the SSH private key is specified) The username used for SSH communication with GitHub.MODERNE_AGENT_GITHUB_{index}_SSH_PORT
– (Optional) The port used to communicate via SSH with GitHub. Defaults to7999
.
Example:
Last updated