io.quarkiverse.githubapp.runtime.config.GitHubAppRuntimeConfig Maven / Gradle / Ivy
Show all versions of quarkus-github-app Show documentation
package io.quarkiverse.githubapp.runtime.config;
import java.nio.file.Path;
import java.security.PrivateKey;
import java.util.Optional;
import io.quarkus.runtime.annotations.ConfigGroup;
import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
import io.quarkus.runtime.annotations.ConvertWith;
@ConfigRoot(name = "github-app", phase = ConfigPhase.RUN_TIME)
public class GitHubAppRuntimeConfig {
/**
* The numeric application id provided by GitHub.
*
* Optional for tests, but mandatory in production and dev mode.
*/
@ConfigItem
Optional appId;
/**
* The GitHub name of the application.
*
* Optional, only used for improving the user experience.
*/
@ConfigItem
Optional appName;
/**
* Read the configuration files from the source repository in case of a fork.
*/
@ConfigItem(defaultValue = "false")
boolean readConfigFilesFromSourceRepository;
/**
* The RSA private key.
*
* Optional for tests, but mandatory in production and dev mode.
*/
@ConfigItem
@ConvertWith(PrivateKeyConverter.class)
Optional privateKey;
/**
* The webhook secret if defined in the GitHub UI.
*/
@ConfigItem
Optional webhookSecret;
/**
* The Smee.io proxy URL used when testing locally.
*/
@ConfigItem
Optional webhookProxyUrl;
/**
* The GitHub instance endpoint.
*
* Defaults to the public github.com instance.
*/
@ConfigItem(defaultValue = "https://api.github.com")
String instanceEndpoint;
/**
* The REST API endpoint.
*
* Defaults to the public github.com instance REST API endpoint.
*/
@ConfigItem(defaultValue = "${quarkus.github-app.instance-endpoint}")
String restApiEndpoint;
/**
* The GraphQL API endpoint.
*
* Defaults to the public github.com instance GraphQL endpoint.
*/
@ConfigItem(defaultValue = "${quarkus.github-app.instance-endpoint}/graphql")
String graphqlApiEndpoint;
/**
* Debug configuration.
*/
@ConfigItem
Debug debug;
@ConfigGroup
public static class Debug {
/**
* A directory in which the payloads are saved.
*/
@ConfigItem
public Optional payloadDirectory;
}
}