jx: github.com/jenkins-x/jx/pkg/config Index | Files

package config

import "github.com/jenkins-x/jx/pkg/config"

+k8s:deepcopy-gen=package +k8s:openapi-gen=true Package v1 is the v1 version of the API. +groupName=config.jenkins.io +apiVersion=v1

Index

Package Files

admin_secrets.go doc.go helm_values.go install_requirements.go preview_values.go project_config.go types.go zz_generated.deepcopy.go

Constants

const (
    // RequirementsConfigFileName is the name of the requirements configuration file
    RequirementsConfigFileName = "jx-requirements.yml"
    // RequirementDomainIssuerUsername contains the username used for basic auth when requesting a domain
    RequirementDomainIssuerUsername = "JX_REQUIREMENT_DOMAIN_ISSUER_USERNAME"
    // RequirementDomainIssuerPassword contains the password used for basic auth when requesting a domain
    RequirementDomainIssuerPassword = "JX_REQUIREMENT_DOMAIN_ISSUER_PASSWORD"
    // RequirementDomainIssuerURL contains the URL to the service used when requesting a domain
    RequirementDomainIssuerURL = "JX_REQUIREMENT_DOMAIN_ISSUER_URL"
    // RequirementClusterName is the cluster name
    RequirementClusterName = "JX_REQUIREMENT_CLUSTER_NAME"
    // RequirementProject is the cloudprovider project
    RequirementProject = "JX_REQUIREMENT_PROJECT"
    // RequirementZone zone the cluster is in
    RequirementZone = "JX_REQUIREMENT_ZONE"
    // RequirementEnvGitOwner the default git owner for environment repositories if none is specified explicitly
    RequirementEnvGitOwner = "JX_REQUIREMENT_ENV_GIT_OWNER"
    // RequirementEnvGitPublic sets the visibility of the environment repositories as private (subscription required for GitHub Organisations)
    RequirementEnvGitPublic = "JX_REQUIREMENT_ENV_GIT_PUBLIC"
    // RequirementGitPublic sets the visibility of the application repositories as private (subscription required for GitHub Organisations)
    RequirementGitPublic = "JX_REQUIREMENT_GIT_PUBLIC"
    // RequirementExternalDNSServiceAccountName the service account name for external dns
    RequirementExternalDNSServiceAccountName = "JX_REQUIREMENT_EXTERNALDNS_SA_NAME"
    // RequirementVaultName the name for vault
    RequirementVaultName = "JX_REQUIREMENT_VAULT_NAME"
    // RequirementVaultServiceAccountName the service account name for vault
    RequirementVaultServiceAccountName = "JX_REQUIREMENT_VAULT_SA_NAME"
    // RequirementVaultKeyringName the keyring name for vault
    RequirementVaultKeyringName = "JX_REQUIREMENT_VAULT_KEYRING_NAME"
    // RequirementVaultKeyName the key name for vault
    RequirementVaultKeyName = "JX_REQUIREMENT_VAULT_KEY_NAME"
    // RequirementVaultBucketName the vault name for vault
    RequirementVaultBucketName = "JX_REQUIREMENT_VAULT_BUCKET_NAME"
    // RequirementVaultRecreateBucket recreate the bucket that vault uses
    RequirementVaultRecreateBucket = "JX_REQUIREMENT_VAULT_RECREATE_BUCKET"
    // RequirementVaultDisableURLDiscovery override the default lookup of the Vault URL, could be incluster service or external ingress
    RequirementVaultDisableURLDiscovery = "JX_REQUIREMENT_VAULT_DISABLE_URL_DISCOVERY"
    // RequirementSecretStorageType the secret storage type
    RequirementSecretStorageType = "JX_REQUIREMENT_SECRET_STORAGE_TYPE"
    // RequirementKanikoServiceAccountName the service account name for kaniko
    RequirementKanikoServiceAccountName = "JX_REQUIREMENT_KANIKO_SA_NAME"
    // RequirementKaniko if kaniko is required
    RequirementKaniko = "JX_REQUIREMENT_KANIKO"
    // RequirementIngressTLSProduction use the lets encrypt production server
    RequirementIngressTLSProduction = "JX_REQUIREMENT_INGRESS_TLS_PRODUCTION"
    // RequirementChartRepository the helm chart repository for jx
    RequirementChartRepository = "JX_REQUIREMENT_CHART_REPOSITORY"
    // RequirementRegistry the container registry for jx
    RequirementRegistry = "JX_REQUIREMENT_REGISTRY"
    // RequirementRepository the artifact repository for jx
    RequirementRepository = "JX_REQUIREMENT_REPOSITORY"
    // RequirementWebhook the webhook handler for jx
    RequirementWebhook = "JX_REQUIREMENT_WEBHOOK"
    // RequirementStorageBackupEnabled if backup storage is required
    RequirementStorageBackupEnabled = "JX_REQUIREMENT_STORAGE_BACKUP_ENABLED"
    // RequirementStorageBackupURL backup storage url
    RequirementStorageBackupURL = "JX_REQUIREMENT_STORAGE_BACKUP_URL"
    // RequirementStorageLogsEnabled if log storage is required
    RequirementStorageLogsEnabled = "JX_REQUIREMENT_STORAGE_LOGS_ENABLED"
    // RequirementStorageLogsURL logs storage url
    RequirementStorageLogsURL = "JX_REQUIREMENT_STORAGE_LOGS_URL"
    // RequirementStorageReportsEnabled if report storage is required
    RequirementStorageReportsEnabled = "JX_REQUIREMENT_STORAGE_REPORTS_ENABLED"
    // RequirementStorageReportsURL report storage url
    RequirementStorageReportsURL = "JX_REQUIREMENT_STORAGE_REPORTS_URL"
    // RequirementStorageRepositoryEnabled if repository storage is required
    RequirementStorageRepositoryEnabled = "JX_REQUIREMENT_STORAGE_REPOSITORY_ENABLED"
    // RequirementStorageRepositoryURL repository storage url
    RequirementStorageRepositoryURL = "JX_REQUIREMENT_STORAGE_REPOSITORY_URL"
    // RequirementGkeProjectNumber is the gke project number
    RequirementGkeProjectNumber = "JX_REQUIREMENT_GKE_PROJECT_NUMBER"
    // RequirementGitAppEnabled if the github app should be used for access tokens
    RequirementGitAppEnabled = "JX_REQUIREMENT_GITHUB_APP_ENABLED"
    // RequirementGitAppURL contains the URL to the github app
    RequirementGitAppURL = "JX_REQUIREMENT_GITHUB_APP_URL"
)
const (
    // DefaultProfileFile location of profle config
    DefaultProfileFile = "profile.yaml"
    // OpenSourceProfile constant for OSS profile
    OpenSourceProfile = "oss"
    // CloudBeesProfile constant for CloudBees profile
    CloudBeesProfile = "cloudbees"
)
const (
    // BootDeployNamespace environment variable for deployment namespace
    BootDeployNamespace = "DEPLOY_NAMESPACE"
)
const ExposeDefaultURLTemplate = "{{.Service}}-{{.Namespace}}.{{.Domain}}"

ExposeDefaultURLTemplate is the default url template format needed by exposecontroller to create ingress rules that work with wiuldcard certs

const (
    // ProjectConfigFileName is the name of the project configuration file
    ProjectConfigFileName = "jenkins-x.yml"
)

Variables

var (
    // DefaultVersionsURL default version stream url
    DefaultVersionsURL = "https://github.com/jenkins-x/jenkins-x-versions.git"
    // DefaultVersionsRef default version stream ref
    DefaultVersionsRef = "master"
    // DefaultBootRepository default git repo for boot
    DefaultBootRepository = "https://github.com/jenkins-x/jenkins-x-boot-config.git"
    // LatestVersionStringsBucket optional bucket name to search in for latest version strings
    LatestVersionStringsBucket = ""
    // BinaryDownloadBaseURL the base URL for downloading the binary from - will always have "VERSION/jx-OS-ARCH.EXTENSION" appended to it when used
    BinaryDownloadBaseURL = "https://github.com/jenkins-x/jx/releases/download/v"
    // TLSDocURL the URL presented by `jx step verify preinstall` for documentation on configuring TLS
    TLSDocURL = "https://jenkins-x.io/architecture/tls"
)

Overrideable at build time - see Makefile

var RepositoryTypeValues = []string{"none", "bucketrepo", "nexus", "artifactory"}

RepositoryTypeValues the string values for the repository types

var SecretStorageTypeValues = []string{"local", "vault"}

SecretStorageTypeValues the string values for the secret storage

var WebhookTypeValues = []string{"jenkins", "lighthouse", "prow"}

WebhookTypeValues the string values for the webhook types

func GetParentDir Uses

func GetParentDir(path string) string

GetParentDir returns the parent directory without a trailing separator

func LoadActiveInstallProfile Uses

func LoadActiveInstallProfile() string

LoadActiveInstallProfile loads the active install profile

func MissingRequirement Uses

func MissingRequirement(property string, fileName string) error

MissingRequirement returns an error if there is a missing property in the requirements

type AddonConfig Uses

type AddonConfig struct {
    Name    string `json:"name,omitempty"`
    Version string `json:"version,omitempty"`
}

func (*AddonConfig) DeepCopy Uses

func (in *AddonConfig) DeepCopy() *AddonConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonConfig.

func (*AddonConfig) DeepCopyInto Uses

func (in *AddonConfig) DeepCopyInto(out *AddonConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdminSecretsConfig Uses

type AdminSecretsConfig struct {
    IngressBasicAuth string           `json:"JXBasicAuth,omitempty"`
    ChartMuseum      *ChartMuseum     `json:"chartmuseum,omitempty"`
    Grafana          *Grafana         `json:"grafana,omitempty"`
    Jenkins          *Jenkins         `json:"jenkins,omitempty"`
    Nexus            *Nexus           `json:"nexus,omitempty"`
    PipelineSecrets  *PipelineSecrets `json:"PipelineSecrets,omitempty"`
    KanikoSecret     *KanikoSecret    `json:"KanikoSecret,omitempty"`
}

func (*AdminSecretsConfig) DeepCopy Uses

func (in *AdminSecretsConfig) DeepCopy() *AdminSecretsConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminSecretsConfig.

func (*AdminSecretsConfig) DeepCopyInto Uses

func (in *AdminSecretsConfig) DeepCopyInto(out *AdminSecretsConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdminSecretsFlags Uses

type AdminSecretsFlags struct {
    DefaultAdminUsername string
    DefaultAdminPassword string
    KanikoSecret         string
}

func (*AdminSecretsFlags) DeepCopy Uses

func (in *AdminSecretsFlags) DeepCopy() *AdminSecretsFlags

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminSecretsFlags.

func (*AdminSecretsFlags) DeepCopyInto Uses

func (in *AdminSecretsFlags) DeepCopyInto(out *AdminSecretsFlags)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdminSecretsService Uses

type AdminSecretsService struct {
    FileName string
    Secrets  AdminSecretsConfig
    Flags    AdminSecretsFlags
    // contains filtered or unexported fields
}

func (*AdminSecretsService) AddAdminSecretsValues Uses

func (s *AdminSecretsService) AddAdminSecretsValues(cmd *cobra.Command)

func (*AdminSecretsService) ChartMuseumAuth Uses

func (s *AdminSecretsService) ChartMuseumAuth() BasicAuth

ChartMuseumAuth returns the current credentials for ChartMuseum

func (*AdminSecretsService) DeepCopy Uses

func (in *AdminSecretsService) DeepCopy() *AdminSecretsService

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminSecretsService.

func (*AdminSecretsService) DeepCopyInto Uses

func (in *AdminSecretsService) DeepCopyInto(out *AdminSecretsService)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AdminSecretsService) GrafanaAuth Uses

func (s *AdminSecretsService) GrafanaAuth() BasicAuth

GrafanaAuth returns the current credentials for Grafana

func (*AdminSecretsService) IngressAuth Uses

func (s *AdminSecretsService) IngressAuth() BasicAuth

IngressAuth returns the current basic auth credentials for Ingress

func (*AdminSecretsService) JenkinsAuth Uses

func (s *AdminSecretsService) JenkinsAuth() BasicAuth

JenkinsAuth returns the current basic auth credentials for Jenkins

func (*AdminSecretsService) NewAdminSecretsConfig Uses

func (s *AdminSecretsService) NewAdminSecretsConfig() error

func (*AdminSecretsService) NewAdminSecretsConfigFromSecret Uses

func (s *AdminSecretsService) NewAdminSecretsConfigFromSecret(decryptedSecretsFile string) error

func (*AdminSecretsService) NewMavenSettingsXML Uses

func (s *AdminSecretsService) NewMavenSettingsXML() error

NewMavenSettingsXML generates the maven settings

func (*AdminSecretsService) NexusAuth Uses

func (s *AdminSecretsService) NexusAuth() BasicAuth

NexusAuth returns the current credentials for Nexus

type AutoUpdateConfig Uses

type AutoUpdateConfig struct {
    // Enabled autoupdate
    Enabled bool `json:"enabled"`
    // Schedule cron of auto updates
    Schedule string `json:"schedule"`
}

AutoUpdateConfig contains auto update config

func (*AutoUpdateConfig) DeepCopy Uses

func (in *AutoUpdateConfig) DeepCopy() *AutoUpdateConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoUpdateConfig.

func (*AutoUpdateConfig) DeepCopyInto Uses

func (in *AutoUpdateConfig) DeepCopyInto(out *AutoUpdateConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureConfig Uses

type AzureConfig struct {
    // RegistrySubscription the registry subscription for defaulting the container registry.
    // Not used if you specify a Registry explicitly
    RegistrySubscription string `json:"registrySubscription,omitempty"`
}

AzureConfig contains Azure specific requirements

func (*AzureConfig) DeepCopy Uses

func (in *AzureConfig) DeepCopy() *AzureConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureConfig.

func (*AzureConfig) DeepCopyInto Uses

func (in *AzureConfig) DeepCopyInto(out *AzureConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BasicAuth Uses

type BasicAuth struct {
    // Username stores the basic authentication user name
    Username string `json:"username"`
    // Password stores the basic authentication password
    Password string `json:"password"`
}

BasicAuth keeps the credentials for basic authentication

func (*BasicAuth) DeepCopy Uses

func (in *BasicAuth) DeepCopy() *BasicAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuth.

func (*BasicAuth) DeepCopyInto Uses

func (in *BasicAuth) DeepCopyInto(out *BasicAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ChartMuseum Uses

type ChartMuseum struct {
    ChartMuseumEnv ChartMuseumEnv `json:"env"`
}

func (*ChartMuseum) DeepCopy Uses

func (in *ChartMuseum) DeepCopy() *ChartMuseum

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseum.

func (*ChartMuseum) DeepCopyInto Uses

func (in *ChartMuseum) DeepCopyInto(out *ChartMuseum)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ChartMuseumEnv Uses

type ChartMuseumEnv struct {
    ChartMuseumSecret ChartMuseumSecret `json:"secret"`
}

func (*ChartMuseumEnv) DeepCopy Uses

func (in *ChartMuseumEnv) DeepCopy() *ChartMuseumEnv

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseumEnv.

func (*ChartMuseumEnv) DeepCopyInto Uses

func (in *ChartMuseumEnv) DeepCopyInto(out *ChartMuseumEnv)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ChartMuseumSecret Uses

type ChartMuseumSecret struct {
    User     string `json:"BASIC_AUTH_USER"`
    Password string `json:"BASIC_AUTH_PASS"`
}

func (*ChartMuseumSecret) DeepCopy Uses

func (in *ChartMuseumSecret) DeepCopy() *ChartMuseumSecret

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartMuseumSecret.

func (*ChartMuseumSecret) DeepCopyInto Uses

func (in *ChartMuseumSecret) DeepCopyInto(out *ChartMuseumSecret)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ChatConfig Uses

type ChatConfig struct {
    Kind             string `json:"kind,omitempty"`
    URL              string `json:"url,omitempty"`
    DeveloperChannel string `json:"developerChannel,omitempty"`
    UserChannel      string `json:"userChannel,omitempty"`
}

func (*ChatConfig) DeepCopy Uses

func (in *ChatConfig) DeepCopy() *ChatConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChatConfig.

func (*ChatConfig) DeepCopyInto Uses

func (in *ChatConfig) DeepCopyInto(out *ChatConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterConfig Uses

type ClusterConfig struct {
    // AzureConfig the azure specific configuration
    AzureConfig *AzureConfig `json:"azure,omitempty"`
    // ChartRepository the repository URL to deploy charts to
    ChartRepository string `json:"chartRepository,omitempty"`
    // GKEConfig the gke specific configuration
    GKEConfig *GKEConfig `json:"gke,omitempty"`
    // EnvironmentGitOwner the default git owner for environment repositories if none is specified explicitly
    EnvironmentGitOwner string `json:"environmentGitOwner,omitempty"`
    // EnvironmentGitPublic determines whether jx boot create public or private git repos for the environments
    EnvironmentGitPublic bool `json:"environmentGitPublic,omitempty"`
    // GitPublic determines whether jx boot create public or private git repos for the applications
    GitPublic bool `json:"gitPublic,omitempty"`
    // Provider the kubernetes provider (e.g. gke)
    Provider string `json:"provider,omitempty"`
    // Namespace the namespace to install the dev environment
    Namespace string `json:"namespace,omitempty"`
    // ProjectID the cloud project ID e.g. on GCP
    ProjectID string `json:"project,omitempty"`
    // ClusterName the logical name of the cluster
    ClusterName string `json:"clusterName,omitempty"`
    // VaultName the name of the vault if using vault for secrets
    // Deprecated
    VaultName string `json:"vaultName,omitempty"`
    // Region the cloud region being used
    Region string `json:"region,omitempty"`
    // Zone the cloud zone being used
    Zone string `json:"zone,omitempty"`
    // GitName is the name of the default git service
    GitName string `json:"gitName,omitempty"`
    // GitKind is the kind of git server (github, bitbucketserver etc)
    GitKind string `json:"gitKind,omitempty"`
    // GitServer is the URL of the git server
    GitServer string `json:"gitServer,omitempty"`
    // ExternalDNSSAName the service account name for external dns
    ExternalDNSSAName string `json:"externalDNSSAName,omitempty"`
    // Registry the host name of the container registry
    Registry string `json:"registry,omitempty"`
    // VaultSAName the service account name for vault
    // Deprecated
    VaultSAName string `json:"vaultSAName,omitempty"`
    // KanikoSAName the service account name for kaniko
    KanikoSAName string `json:"kanikoSAName,omitempty"`
    // HelmMajorVersion contains the major helm version number. Assumes helm 2.x with no tiller if no value specified
    HelmMajorVersion string `json:"helmMajorVersion,omitempty"`
}

ClusterConfig contains cluster specific requirements

func (*ClusterConfig) DeepCopy Uses

func (in *ClusterConfig) DeepCopy() *ClusterConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterConfig.

func (*ClusterConfig) DeepCopyInto Uses

func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClusterConfig) UnmarshalJSON Uses

func (t *ClusterConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON method handles the rename of EnvironmentGitPrivate to EnvironmentGitPublic.

type EnabledConfig Uses

type EnabledConfig struct {
    Enabled bool `json:"enabled"`
}

EnabledConfig to configure the feature on/off

func (*EnabledConfig) DeepCopy Uses

func (in *EnabledConfig) DeepCopy() *EnabledConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnabledConfig.

func (*EnabledConfig) DeepCopyInto Uses

func (in *EnabledConfig) DeepCopyInto(out *EnabledConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnvironmentConfig Uses

type EnvironmentConfig struct {
    // Key is the key of the environment configuration
    Key string `json:"key,omitempty"`
    // Owner is the git user or organisation for the repository
    Owner string `json:"owner,omitempty"`
    // Repository is the name of the repository within the owner
    Repository string `json:"repository,omitempty"`
    // GitServer is the URL of the git server
    GitServer string `json:"gitServer,omitempty"`
    // GitKind is the kind of git server (github, bitbucketserver etc)
    GitKind string `json:"gitKind,omitempty"`
    // Ingress contains ingress specific requirements
    Ingress IngressConfig `json:"ingress,omitempty"`
    // RemoteCluster specifies this environment runs on a remote cluster to the development cluster
    RemoteCluster bool `json:"remoteCluster,omitempty"`
}

EnvironmentConfig configures the organisation and repository name of the git repositories for environments

func (*EnvironmentConfig) DeepCopy Uses

func (in *EnvironmentConfig) DeepCopy() *EnvironmentConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentConfig.

func (*EnvironmentConfig) DeepCopyInto Uses

func (in *EnvironmentConfig) DeepCopyInto(out *EnvironmentConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExposeController Uses

type ExposeController struct {
    Config      ExposeControllerConfig `json:"config,omitempty"`
    Annotations map[string]string      `json:"Annotations,omitempty"`
    Production  bool                   `json:"production,omitempty"`
}

func (*ExposeController) DeepCopy Uses

func (in *ExposeController) DeepCopy() *ExposeController

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposeController.

func (*ExposeController) DeepCopyInto Uses

func (in *ExposeController) DeepCopyInto(out *ExposeController)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExposeControllerConfig Uses

type ExposeControllerConfig struct {
    Domain        string `json:"domain,omitempty"`
    Exposer       string `json:"exposer,omitempty"`
    HTTP          string `json:"http,omitempty"`
    TLSAcme       string `json:"tlsacme,omitempty"`
    PathMode      string `json:"pathMode,omitempty"`
    URLTemplate   string `json:"urltemplate,omitempty"`
    IngressClass  string `json:"ingressClass,omitempty"`
    TLSSecretName string `json:"tlsSecretName,omitempty"`
}

func (*ExposeControllerConfig) DeepCopy Uses

func (in *ExposeControllerConfig) DeepCopy() *ExposeControllerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposeControllerConfig.

func (*ExposeControllerConfig) DeepCopyInto Uses

func (in *ExposeControllerConfig) DeepCopyInto(out *ExposeControllerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GKEConfig Uses

type GKEConfig struct {
    // ProjectNumber the unique project number GKE assigns to a project (required for workload identity).
    ProjectNumber string `json:"projectNumber,omitempty"`
}

GKEConfig contains GKE specific requirements

func (*GKEConfig) DeepCopy Uses

func (in *GKEConfig) DeepCopy() *GKEConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GKEConfig.

func (*GKEConfig) DeepCopyInto Uses

func (in *GKEConfig) DeepCopyInto(out *GKEConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GithubAppConfig Uses

type GithubAppConfig struct {
    // Enabled this determines whether this install should use the jenkins x github app for access tokens
    Enabled bool `json:"enabled"`
    // Schedule cron of the github app token refresher
    Schedule string `json:"schedule,omitempty"`
    // URL contains a URL to the github app
    URL string `json:"url,omitempty"`
}

GithubAppConfig contains github app config

func (*GithubAppConfig) DeepCopy Uses

func (in *GithubAppConfig) DeepCopy() *GithubAppConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GithubAppConfig.

func (*GithubAppConfig) DeepCopyInto Uses

func (in *GithubAppConfig) DeepCopyInto(out *GithubAppConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Grafana Uses

type Grafana struct {
    GrafanaSecret GrafanaSecret `json:"server"`
}

func (*Grafana) DeepCopy Uses

func (in *Grafana) DeepCopy() *Grafana

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Grafana.

func (*Grafana) DeepCopyInto Uses

func (in *Grafana) DeepCopyInto(out *Grafana)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaSecret Uses

type GrafanaSecret struct {
    User     string `json:"adminUser"`
    Password string `json:"adminPassword"`
}

func (*GrafanaSecret) DeepCopy Uses

func (in *GrafanaSecret) DeepCopy() *GrafanaSecret

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaSecret.

func (*GrafanaSecret) DeepCopyInto Uses

func (in *GrafanaSecret) DeepCopyInto(out *GrafanaSecret)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HelmValuesConfig Uses

type HelmValuesConfig struct {
    ExposeController      *ExposeController                  `json:"expose,omitempty"`
    Jenkins               JenkinsValuesConfig                `json:"jenkins,omitempty"`
    Prow                  ProwValuesConfig                   `json:"prow,omitempty"`
    PipelineSecrets       JenkinsPipelineSecretsValuesConfig `json:"PipelineSecrets,omitempty"`
    ControllerBuild       *EnabledConfig                     `json:"controllerbuild,omitempty"`
    ControllerWorkflow    *EnabledConfig                     `json:"controllerworkflow,omitempty"`
    DockerRegistryEnabled *EnabledConfig                     `json:"docker-registry,omitempty"`
    DockerRegistry        string                             `json:"dockerRegistry,omitempty"`
}

func (*HelmValuesConfig) AddExposeControllerValues Uses

func (c *HelmValuesConfig) AddExposeControllerValues(cmd *cobra.Command, ignoreDomain bool)

func (*HelmValuesConfig) DeepCopy Uses

func (in *HelmValuesConfig) DeepCopy() *HelmValuesConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmValuesConfig.

func (*HelmValuesConfig) DeepCopyInto Uses

func (in *HelmValuesConfig) DeepCopyInto(out *HelmValuesConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (HelmValuesConfig) String Uses

func (c HelmValuesConfig) String() (string, error)

type HelmValuesConfigService Uses

type HelmValuesConfigService struct {
    FileName string
    Config   HelmValuesConfig
}

func (*HelmValuesConfigService) DeepCopy Uses

func (in *HelmValuesConfigService) DeepCopy() *HelmValuesConfigService

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmValuesConfigService.

func (*HelmValuesConfigService) DeepCopyInto Uses

func (in *HelmValuesConfigService) DeepCopyInto(out *HelmValuesConfigService)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Image Uses

type Image struct {
    Repository string `json:"repository,omitempty"`
    Tag        string `json:"tag,omitempty"`
}

func (*Image) DeepCopy Uses

func (in *Image) DeepCopy() *Image

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.

func (*Image) DeepCopyInto Uses

func (in *Image) DeepCopyInto(out *Image)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IngressConfig Uses

type IngressConfig struct {
    // DNS is enabled
    ExternalDNS bool `json:"externalDNS"`
    // CloudDNSSecretName secret name which contains the service account for external-dns and cert-manager issuer to
    // access the Cloud DNS service to resolve a DNS challenge
    CloudDNSSecretName string `json:"cloud_dns_secret_name,omitempty"`
    // Domain to expose ingress endpoints
    Domain string `json:"domain"`
    // IgnoreLoadBalancer if the nginx-controller LoadBalancer service should not be used to detect and update the
    // domain if you are using a dynamic domain resolver like `.nip.io` rather than a real DNS configuration.
    // With this flag enabled the `Domain` value will be used and never re-created based on the current LoadBalancer IP address.
    IgnoreLoadBalancer bool `json:"ignoreLoadBalancer,omitempty"`
    // Exposer the exposer used to expose ingress endpoints. Defaults to "Ingress"
    Exposer string `json:"exposer,omitempty"`
    // NamespaceSubDomain the sub domain expression to expose ingress. Defaults to ".jx."
    NamespaceSubDomain string `json:"namespaceSubDomain"`
    // TLS enable automated TLS using certmanager
    TLS TLSConfig `json:"tls"`
    // DomainIssuerURL contains a URL used to retrieve a Domain
    DomainIssuerURL string `json:"domainIssuerURL,omitempty"`
}

IngressConfig contains dns specific requirements

func (*IngressConfig) DeepCopy Uses

func (in *IngressConfig) DeepCopy() *IngressConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressConfig.

func (*IngressConfig) DeepCopyInto Uses

func (in *IngressConfig) DeepCopyInto(out *IngressConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IngressConfig) IsAutoDNSDomain Uses

func (i *IngressConfig) IsAutoDNSDomain() bool

IsAutoDNSDomain returns true if the domain is configured to use an auto DNS sub domain like '.nip.io' or '.xip.io'

type IssueTrackerConfig Uses

type IssueTrackerConfig struct {
    Kind    string `json:"kind,omitempty"`
    URL     string `json:"url,omitempty"`
    Project string `json:"project,omitempty"`
}

func (*IssueTrackerConfig) DeepCopy Uses

func (in *IssueTrackerConfig) DeepCopy() *IssueTrackerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IssueTrackerConfig.

func (*IssueTrackerConfig) DeepCopyInto Uses

func (in *IssueTrackerConfig) DeepCopyInto(out *IssueTrackerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Jenkins Uses

type Jenkins struct {
    JenkinsSecret JenkinsAdminSecret `json:"Master"`
}

func (*Jenkins) DeepCopy Uses

func (in *Jenkins) DeepCopy() *Jenkins

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Jenkins.

func (*Jenkins) DeepCopyInto Uses

func (in *Jenkins) DeepCopyInto(out *Jenkins)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JenkinsAdminSecret Uses

type JenkinsAdminSecret struct {
    Password string `json:"AdminPassword"`
}

func (*JenkinsAdminSecret) DeepCopy Uses

func (in *JenkinsAdminSecret) DeepCopy() *JenkinsAdminSecret

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsAdminSecret.

func (*JenkinsAdminSecret) DeepCopyInto Uses

func (in *JenkinsAdminSecret) DeepCopyInto(out *JenkinsAdminSecret)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JenkinsGiteaServersValuesConfig Uses

type JenkinsGiteaServersValuesConfig struct {
    Name       string `json:"Name,omitempty"`
    Url        string `json:"Url,omitempty"`
    Credential string `json:"Credential,omitempty"`
}

func (*JenkinsGiteaServersValuesConfig) DeepCopy Uses

func (in *JenkinsGiteaServersValuesConfig) DeepCopy() *JenkinsGiteaServersValuesConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsGiteaServersValuesConfig.

func (*JenkinsGiteaServersValuesConfig) DeepCopyInto Uses

func (in *JenkinsGiteaServersValuesConfig) DeepCopyInto(out *JenkinsGiteaServersValuesConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JenkinsGithubServersValuesConfig Uses

type JenkinsGithubServersValuesConfig struct {
    Name string `json:"Name,omitempty"`
    Url  string `json:"Url,omitempty"`
}

func (*JenkinsGithubServersValuesConfig) DeepCopy Uses

func (in *JenkinsGithubServersValuesConfig) DeepCopy() *JenkinsGithubServersValuesConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsGithubServersValuesConfig.

func (*JenkinsGithubServersValuesConfig) DeepCopyInto Uses

func (in *JenkinsGithubServersValuesConfig) DeepCopyInto(out *JenkinsGithubServersValuesConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JenkinsPipelineSecretsValuesConfig Uses

type JenkinsPipelineSecretsValuesConfig struct {
    DockerConfig string `json:"DockerConfig,flow,omitempty"`
}

func (*JenkinsPipelineSecretsValuesConfig) DeepCopy Uses

func (in *JenkinsPipelineSecretsValuesConfig) DeepCopy() *JenkinsPipelineSecretsValuesConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsPipelineSecretsValuesConfig.

func (*JenkinsPipelineSecretsValuesConfig) DeepCopyInto Uses

func (in *JenkinsPipelineSecretsValuesConfig) DeepCopyInto(out *JenkinsPipelineSecretsValuesConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JenkinsServersGlobalConfig Uses

type JenkinsServersGlobalConfig struct {
    EnvVars map[string]string `json:"EnvVars,omitempty"`
}

func (*JenkinsServersGlobalConfig) DeepCopy Uses

func (in *JenkinsServersGlobalConfig) DeepCopy() *JenkinsServersGlobalConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsServersGlobalConfig.

func (*JenkinsServersGlobalConfig) DeepCopyInto Uses

func (in *JenkinsServersGlobalConfig) DeepCopyInto(out *JenkinsServersGlobalConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JenkinsServersValuesConfig Uses

type JenkinsServersValuesConfig struct {
    Gitea  []JenkinsGiteaServersValuesConfig  `json:"Gitea,omitempty"`
    GHE    []JenkinsGithubServersValuesConfig `json:"GHE,omitempty"`
    Global JenkinsServersGlobalConfig         `json:"Global,omitempty"`
}

func (*JenkinsServersValuesConfig) DeepCopy Uses

func (in *JenkinsServersValuesConfig) DeepCopy() *JenkinsServersValuesConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsServersValuesConfig.

func (*JenkinsServersValuesConfig) DeepCopyInto Uses

func (in *JenkinsServersValuesConfig) DeepCopyInto(out *JenkinsServersValuesConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JenkinsServersValuesConfig) GetOrCreateFirstGitea Uses

func (c *JenkinsServersValuesConfig) GetOrCreateFirstGitea() *JenkinsGiteaServersValuesConfig

GetOrCreateFirstGitea returns the first gitea server creating one if required

type JenkinsValuesConfig Uses

type JenkinsValuesConfig struct {
    Servers JenkinsServersValuesConfig `json:"Servers,omitempty"`
    Enabled *bool                      `json:"enabled,omitempty"`
}

func (*JenkinsValuesConfig) DeepCopy Uses

func (in *JenkinsValuesConfig) DeepCopy() *JenkinsValuesConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsValuesConfig.

func (*JenkinsValuesConfig) DeepCopyInto Uses

func (in *JenkinsValuesConfig) DeepCopyInto(out *JenkinsValuesConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JxInstallProfile Uses

type JxInstallProfile struct {
    InstallType string
}

JxInstallProfile contains the jx profile info

func (*JxInstallProfile) DeepCopy Uses

func (in *JxInstallProfile) DeepCopy() *JxInstallProfile

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JxInstallProfile.

func (*JxInstallProfile) DeepCopyInto Uses

func (in *JxInstallProfile) DeepCopyInto(out *JxInstallProfile)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KanikoSecret Uses

type KanikoSecret struct {
    Data string `json:"Data,omitempty"`
}

KanikoSecret store the kaniko service account

func (*KanikoSecret) DeepCopy Uses

func (in *KanikoSecret) DeepCopy() *KanikoSecret

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KanikoSecret.

func (*KanikoSecret) DeepCopyInto Uses

func (in *KanikoSecret) DeepCopyInto(out *KanikoSecret)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Nexus Uses

type Nexus struct {
    DefaultAdminPassword string `json:"defaultAdminPassword,omitempty"`
}

func (*Nexus) DeepCopy Uses

func (in *Nexus) DeepCopy() *Nexus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nexus.

func (*Nexus) DeepCopyInto Uses

func (in *Nexus) DeepCopyInto(out *Nexus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PipelineSecrets Uses

type PipelineSecrets struct {
    MavenSettingsXML string `json:"MavenSettingsXML,omitempty"`
}

func (*PipelineSecrets) DeepCopy Uses

func (in *PipelineSecrets) DeepCopy() *PipelineSecrets

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineSecrets.

func (*PipelineSecrets) DeepCopyInto Uses

func (in *PipelineSecrets) DeepCopyInto(out *PipelineSecrets)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Preview Uses

type Preview struct {
    Image *Image `json:"image,omitempty"`
}

func (*Preview) DeepCopy Uses

func (in *Preview) DeepCopy() *Preview

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Preview.

func (*Preview) DeepCopyInto Uses

func (in *Preview) DeepCopyInto(out *Preview)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreviewEnvironmentConfig Uses

type PreviewEnvironmentConfig struct {
    Disabled         bool `json:"disabled,omitempty"`
    MaximumInstances int  `json:"maximumInstances,omitempty"`
}

func (*PreviewEnvironmentConfig) DeepCopy Uses

func (in *PreviewEnvironmentConfig) DeepCopy() *PreviewEnvironmentConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreviewEnvironmentConfig.

func (*PreviewEnvironmentConfig) DeepCopyInto Uses

func (in *PreviewEnvironmentConfig) DeepCopyInto(out *PreviewEnvironmentConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreviewValuesConfig Uses

type PreviewValuesConfig struct {
    ExposeController *ExposeController `json:"expose,omitempty"`
    Preview          *Preview          `json:"preview,omitempty"`
}

func (*PreviewValuesConfig) DeepCopy Uses

func (in *PreviewValuesConfig) DeepCopy() *PreviewValuesConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreviewValuesConfig.

func (*PreviewValuesConfig) DeepCopyInto Uses

func (in *PreviewValuesConfig) DeepCopyInto(out *PreviewValuesConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PreviewValuesConfig) String Uses

func (c PreviewValuesConfig) String() (string, error)

type ProjectConfig Uses

type ProjectConfig struct {
    // List of global environment variables to add to each branch build and each step
    Env []corev1.EnvVar `json:"env,omitempty"`

    PreviewEnvironments *PreviewEnvironmentConfig   `json:"previewEnvironments,omitempty"`
    IssueTracker        *IssueTrackerConfig         `json:"issueTracker,omitempty"`
    Chat                *ChatConfig                 `json:"chat,omitempty"`
    Wiki                *WikiConfig                 `json:"wiki,omitempty"`
    Addons              []*AddonConfig              `json:"addons,omitempty"`
    BuildPack           string                      `json:"buildPack,omitempty"`
    BuildPackGitURL     string                      `json:"buildPackGitURL,omitempty"`
    BuildPackGitURef    string                      `json:"buildPackGitRef,omitempty"`
    PipelineConfig      *jenkinsfile.PipelineConfig `json:"pipelineConfig,omitempty"`
    NoReleasePrepare    bool                        `json:"noReleasePrepare,omitempty"`
    DockerRegistryHost  string                      `json:"dockerRegistryHost,omitempty"`
    DockerRegistryOwner string                      `json:"dockerRegistryOwner,omitempty"`
}

ProjectConfig defines Jenkins X Pipelines usually stored inside the `jenkins-x.yml` file in projects

func LoadProjectConfig Uses

func LoadProjectConfig(projectDir string) (*ProjectConfig, string, error)

LoadProjectConfig loads the project configuration if there is a project configuration file

func LoadProjectConfigFile Uses

func LoadProjectConfigFile(fileName string) (*ProjectConfig, error)

LoadProjectConfigFile loads a specific project YAML configuration file

func (*ProjectConfig) DeepCopy Uses

func (in *ProjectConfig) DeepCopy() *ProjectConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectConfig.

func (*ProjectConfig) DeepCopyInto Uses

func (in *ProjectConfig) DeepCopyInto(out *ProjectConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProjectConfig) GetOrCreatePipelineConfig Uses

func (c *ProjectConfig) GetOrCreatePipelineConfig() *jenkinsfile.PipelineConfig

GetOrCreatePipelineConfig lazily creates a PipelineConfig if required

func (*ProjectConfig) GetPipeline Uses

func (c *ProjectConfig) GetPipeline(kind string) (*syntax.ParsedPipeline, error)

GetPipeline retrieves the parsed pipeline for the specified type

func (*ProjectConfig) IsEmpty Uses

func (c *ProjectConfig) IsEmpty() bool

IsEmpty returns true if this configuration is empty

func (*ProjectConfig) SaveConfig Uses

func (c *ProjectConfig) SaveConfig(fileName string) error

SaveConfig saves the configuration file to the given project directory

type ProwValuesConfig Uses

type ProwValuesConfig struct {
    User       string `json:"user,omitempty"`
    HMACtoken  string `json:"hmacToken,omitempty"`
    OAUTHtoken string `json:"oauthToken,omitempty"`
}

func (*ProwValuesConfig) DeepCopy Uses

func (in *ProwValuesConfig) DeepCopy() *ProwValuesConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProwValuesConfig.

func (*ProwValuesConfig) DeepCopyInto Uses

func (in *ProwValuesConfig) DeepCopyInto(out *ProwValuesConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RepositoryType Uses

type RepositoryType string

RepositoryType is the type of a repository we use to store artifacts (jars, tarballs, npm packages etc)

const (
    // RepositoryTypeUnknown if we have yet to configure a repository
    RepositoryTypeUnknown RepositoryType = ""
    // RepositoryTypeArtifactory if you wish to use Artifactory as the artifact repository
    RepositoryTypeArtifactory RepositoryType = "artifactory"
    // RepositoryTypeBucketRepo if you wish to use bucketrepo as the artifact repository. see https://github.com/jenkins-x/bucketrepo
    RepositoryTypeBucketRepo RepositoryType = "bucketrepo"
    // RepositoryTypeNone if you do not wish to install an artifact repository
    RepositoryTypeNone RepositoryType = "none"
    // RepositoryTypeNexus if you wish to use Sonatype Nexus as the artifact repository
    RepositoryTypeNexus RepositoryType = "nexus"
)

type RequirementsConfig Uses

type RequirementsConfig struct {
    // AutoUpdate contains auto update config
    AutoUpdate AutoUpdateConfig `json:"autoUpdate,omitempty"`
    // BootConfigURL contains the url to which the dev environment is associated with
    BootConfigURL string `json:"bootConfigURL,omitempty"`
    // Cluster contains cluster specific requirements
    Cluster ClusterConfig `json:"cluster"`
    // Environments the requirements for the environments
    Environments []EnvironmentConfig `json:"environments,omitempty"`
    // GithubApp contains github app config
    GithubApp *GithubAppConfig `json:"githubApp,omitempty"`
    // GitOps if enabled we will setup a webhook in the boot configuration git repository so that we can
    // re-run 'jx boot' when changes merge to the master branch
    GitOps bool `json:"gitops,omitempty"`
    // Kaniko whether to enable kaniko for building docker images
    Kaniko bool `json:"kaniko,omitempty"`
    // Ingress contains ingress specific requirements
    Ingress IngressConfig `json:"ingress"`
    // Repository specifies what kind of artifact repository you wish to use for storing artifacts (jars, tarballs, npm modules etc)
    Repository RepositoryType `json:"repository,omitempty"`
    // SecretStorage how should we store secrets for the cluster
    SecretStorage SecretStorageType `json:"secretStorage,omitempty"`
    // Storage contains storage requirements
    Storage StorageConfig `json:"storage"`
    // Terraform specifies if  we are managing the kubernetes cluster and cloud resources with Terraform
    Terraform bool `json:"terraform,omitempty"`
    // Vault the configuration for vault
    Vault VaultConfig `json:"vault,omitempty"`
    // Velero the configuration for running velero for backing up the cluster resources
    Velero VeleroConfig `json:"velero,omitempty"`
    // VersionStream contains version stream info
    VersionStream VersionStreamConfig `json:"versionStream"`
    // Webhook specifies what engine we should use for webhooks
    Webhook WebhookType `json:"webhook,omitempty"`
}

RequirementsConfig contains the logical installation requirements in the `jx-requirements.yml` file when installing, configuring or upgrading Jenkins X via `jx boot`

func GetRequirementsConfigFromTeamSettings Uses

func GetRequirementsConfigFromTeamSettings(settings *v1.TeamSettings) (*RequirementsConfig, error)

GetRequirementsConfigFromTeamSettings reads the BootRequirements string from TeamSettings and unmarshals it

func LoadRequirementsConfig Uses

func LoadRequirementsConfig(dir string) (*RequirementsConfig, string, error)

LoadRequirementsConfig loads the project configuration if there is a project configuration file if there is not a file called `jx-requirements.yml` in the given dir we will scan up the parent directories looking for the requirements file as we often run 'jx' steps in sub directories.

func LoadRequirementsConfigFile Uses

func LoadRequirementsConfigFile(fileName string) (*RequirementsConfig, error)

LoadRequirementsConfigFile loads a specific project YAML configuration file

func NewRequirementsConfig Uses

func NewRequirementsConfig() *RequirementsConfig

NewRequirementsConfig creates a default configuration file

func (*RequirementsConfig) DeepCopy Uses

func (in *RequirementsConfig) DeepCopy() *RequirementsConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequirementsConfig.

func (*RequirementsConfig) DeepCopyInto Uses

func (in *RequirementsConfig) DeepCopyInto(out *RequirementsConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RequirementsConfig) Environment Uses

func (c *RequirementsConfig) Environment(name string) (*EnvironmentConfig, error)

Environment looks up the environment configuration based on environment name

func (*RequirementsConfig) EnvironmentMap Uses

func (c *RequirementsConfig) EnvironmentMap() map[string]interface{}

EnvironmentMap creates a map of maps tree which can be used inside Go templates to access the environment configurations

func (*RequirementsConfig) IsCloudProvider Uses

func (c *RequirementsConfig) IsCloudProvider() bool

IsCloudProvider returns true if the kubenretes provider is a cloud

func (*RequirementsConfig) IsEmpty Uses

func (c *RequirementsConfig) IsEmpty() bool

IsEmpty returns true if this configuration is empty

func (*RequirementsConfig) IsLazyCreateSecrets Uses

func (c *RequirementsConfig) IsLazyCreateSecrets(flag string) (bool, error)

IsLazyCreateSecrets returns a boolean whether secrets should be lazily created

func (*RequirementsConfig) MergeSave Uses

func (c *RequirementsConfig) MergeSave(src *RequirementsConfig, requirementsFileName string) error

MergeSave attempts to merge the provided RequirementsConfig with the caller's data. It does so overriding values in the source struct with non-zero values from the provided struct it defines non-zero per property and not for a while embedded struct, meaning that nested properties in embedded structs should also be merged correctly. if a slice is added a transformer will be needed to handle correctly merging the contained values

func (*RequirementsConfig) OverrideRequirementsFromEnvironment Uses

func (c *RequirementsConfig) OverrideRequirementsFromEnvironment(gcloudFn func() gke.GClouder)

OverrideRequirementsFromEnvironment allows properties to be overridden with environment variables

func (*RequirementsConfig) SaveConfig Uses

func (c *RequirementsConfig) SaveConfig(fileName string) error

SaveConfig saves the configuration file to the given project directory

func (*RequirementsConfig) ToMap Uses

func (c *RequirementsConfig) ToMap() (map[string]interface{}, error)

ToMap converts this object to a map of maps for use in helm templating

type SecretStorageType Uses

type SecretStorageType string

SecretStorageType is the type of storage used for secrets

const (
    // SecretStorageTypeVault specifies that we use vault to store secrets
    SecretStorageTypeVault SecretStorageType = "vault"
    // SecretStorageTypeLocal specifies that we use the local file system in
    // `~/.jx/localSecrets` to store secrets
    SecretStorageTypeLocal SecretStorageType = "local"
)

type StorageConfig Uses

type StorageConfig struct {
    // Logs for storing build logs
    Logs StorageEntryConfig `json:"logs"`
    // Tests for storing test results, coverage + code quality reports
    Reports StorageEntryConfig `json:"reports"`
    // Repository for storing repository artifacts
    Repository StorageEntryConfig `json:"repository"`
    // Backup for backing up kubernetes resource
    Backup StorageEntryConfig `json:"backup"`
}

StorageConfig contains dns specific requirements

func (*StorageConfig) DeepCopy Uses

func (in *StorageConfig) DeepCopy() *StorageConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageConfig.

func (*StorageConfig) DeepCopyInto Uses

func (in *StorageConfig) DeepCopyInto(out *StorageConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StorageEntryConfig Uses

type StorageEntryConfig struct {
    // Enabled if the storage is enabled
    Enabled bool `json:"enabled"`
    // URL the cloud storage bucket URL such as 'gs://mybucket' or 's3://foo' or `azblob://thingy'
    // see https://jenkins-x.io/architecture/storage/
    URL string `json:"url"`
}

StorageEntryConfig contains dns specific requirements for a kind of storage

func (*StorageEntryConfig) DeepCopy Uses

func (in *StorageEntryConfig) DeepCopy() *StorageEntryConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageEntryConfig.

func (*StorageEntryConfig) DeepCopyInto Uses

func (in *StorageEntryConfig) DeepCopyInto(out *StorageEntryConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSConfig Uses

type TLSConfig struct {
    // TLS enabled
    Enabled bool `json:"enabled"`
    // Email address to register with services like LetsEncrypt
    Email string `json:"email"`
    // Production false uses self-signed certificates from the LetsEncrypt staging server, true enables the production
    // server which incurs higher rate limiting https://letsencrypt.org/docs/rate-limits/
    Production bool `json:"production"`
    // SecretName the name of the secret which contains the TLS certificate
    SecretName string `json:"secretName,omitempty"`
}

TLSConfig contains TLS specific requirements

func (*TLSConfig) DeepCopy Uses

func (in *TLSConfig) DeepCopy() *TLSConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.

func (*TLSConfig) DeepCopyInto Uses

func (in *TLSConfig) DeepCopyInto(out *TLSConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VaultAWSConfig Uses

type VaultAWSConfig struct {
    VaultAWSUnsealConfig
    AutoCreate          bool   `json:"autoCreate,omitempty"`
    DynamoDBTable       string `json:"dynamoDBTable,omitempty"`
    DynamoDBRegion      string `json:"dynamoDBRegion,omitempty"`
    ProvidedIAMUsername string `json:"iamUserName,omitempty"`
}

VaultAWSConfig contains all the Vault configuration needed by Vault to be deployed in AWS

func (*VaultAWSConfig) DeepCopy Uses

func (in *VaultAWSConfig) DeepCopy() *VaultAWSConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultAWSConfig.

func (*VaultAWSConfig) DeepCopyInto Uses

func (in *VaultAWSConfig) DeepCopyInto(out *VaultAWSConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VaultAWSUnsealConfig Uses

type VaultAWSUnsealConfig struct {
    KMSKeyID  string `json:"kmsKeyId,omitempty"`
    KMSRegion string `json:"kmsRegion,omitempty"`
    S3Bucket  string `json:"s3Bucket,omitempty"`
    S3Prefix  string `json:"s3Prefix,omitempty"`
    S3Region  string `json:"s3Region,omitempty"`
}

VaultAWSUnsealConfig contains references to existing AWS resources that can be used to install Vault

func (*VaultAWSUnsealConfig) DeepCopy Uses

func (in *VaultAWSUnsealConfig) DeepCopy() *VaultAWSUnsealConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultAWSUnsealConfig.

func (*VaultAWSUnsealConfig) DeepCopyInto Uses

func (in *VaultAWSUnsealConfig) DeepCopyInto(out *VaultAWSUnsealConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VaultConfig Uses

type VaultConfig struct {
    // Name the name of the vault if using vault for secrets
    Name           string `json:"name,omitempty"`
    Bucket         string `json:"bucket,omitempty"`
    Keyring        string `json:"keyring,omitempty"`
    Key            string `json:"key,omitempty"`
    ServiceAccount string `json:"serviceAccount,omitempty"`
    RecreateBucket bool   `json:"recreateBucket,omitempty"`
    // Optionally allow us to override the default lookup of the Vault URL, could be incluster service or external ingress
    DisableURLDiscovery bool            `json:"disableURLDiscovery,omitempty"`
    AWSConfig           *VaultAWSConfig `json:"aws,omitempty"`
}

VaultConfig contains Vault configuration for boot

func (*VaultConfig) DeepCopy Uses

func (in *VaultConfig) DeepCopy() *VaultConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultConfig.

func (*VaultConfig) DeepCopyInto Uses

func (in *VaultConfig) DeepCopyInto(out *VaultConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VeleroConfig Uses

type VeleroConfig struct {
    // Namespace the namespace to install velero into
    Namespace string `json:"namespace,omitempty"`
    // ServiceAccount the cloud service account used to run velero
    ServiceAccount string `json:"serviceAccount,omitempty"`
}

VeleroConfig contains the configuration for velero

func (*VeleroConfig) DeepCopy Uses

func (in *VeleroConfig) DeepCopy() *VeleroConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VeleroConfig.

func (*VeleroConfig) DeepCopyInto Uses

func (in *VeleroConfig) DeepCopyInto(out *VeleroConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VersionStreamConfig Uses

type VersionStreamConfig struct {
    // URL of the version stream to use
    URL string `json:"url"`
    // Ref of the version stream to use
    Ref string `json:"ref"`
}

VersionStreamConfig contains version stream config

func (*VersionStreamConfig) DeepCopy Uses

func (in *VersionStreamConfig) DeepCopy() *VersionStreamConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionStreamConfig.

func (*VersionStreamConfig) DeepCopyInto Uses

func (in *VersionStreamConfig) DeepCopyInto(out *VersionStreamConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebhookType Uses

type WebhookType string

WebhookType is the type of a webhook strategy

const (
    // WebhookTypeNone if we have yet to define a webhook
    WebhookTypeNone WebhookType = ""
    // WebhookTypeProw specifies that we use prow for webhooks
    // see: https://github.com/kubernetes/test-infra/tree/master/prow
    WebhookTypeProw WebhookType = "prow"
    // WebhookTypeLighthouse specifies that we use lighthouse for webhooks
    // see: https://github.com/jenkins-x/lighthouse
    WebhookTypeLighthouse WebhookType = "lighthouse"
    // WebhookTypeJenkins specifies that we use jenkins webhooks
    WebhookTypeJenkins WebhookType = "jenkins"
)

type WikiConfig Uses

type WikiConfig struct {
    Kind  string `json:"kind,omitempty"`
    URL   string `json:"url,omitempty"`
    Space string `json:"space,omitempty"`
}

func (*WikiConfig) DeepCopy Uses

func (in *WikiConfig) DeepCopy() *WikiConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WikiConfig.

func (*WikiConfig) DeepCopyInto Uses

func (in *WikiConfig) DeepCopyInto(out *WikiConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Package config imports 21 packages (graph) and is imported by 33 packages. Updated 2019-11-14. Refresh now. Tools for package owners.