Importing and Configuring Extensions Repositories
This topic describes two main jobs of the Extensions framework in CloudOps for Kubernetes.
Importing an Extensions Repository
The import-or-delete-extensions-repository
Jenkins job is focused on importing the configuration of an Extensions repository that is not already configured, or deleting the configuration of an Extensions repository that has already been imported.
import-or-delete-extensions-repository
Jenkins Job
Parameters for the deleteExtensionsRepository
When this parameter is selected, the Extensions repository will be removed from this Jenkins instance. This option deletes any Jenkins jobs and views created by the Extensions repository. It will also delete the Kubernetes ConfigMap entry that contains the extensions repository configuration.
plan_mode
If plan_mode
is selected, the Jenkins build triggered will plan the Terraform changes. Make sure that you confirm the changes to start the triggered build.
extensionsBootstrapGroovyFilePath
Use the path to the bootstrap.groovy file for the Extensions Git repository when importing the Extensions repository. Typically, the path will be jenkins/jobs/bootstrap/bootstrap.groovy
, and the file will define Jenkins jobs or views to import as part of the Extensions repository. View and browse the Extensions Git repository to verify the correct path.
extensionsRepositoryURL
The URL to your Extensions Git repository.
extensionsBranch
Use this branch of the Extensions Git repository when different jobs included in the repository run. If you want to change the branch, this can be configured to a different branch after the ConfigMap is initially imported.
extensionsGitCredential
Use the Jenkins credential to clone the Extensions repository code. It must be an existing SSH private key stored in this Jenkins instance. The key has read access to the Extensions repository that you are importing.
cloudOpsForKubernetesRepoURL
The URL to your hosted copy of the cloudops-for-kubernetes
Git repository.
cloudOpsForKubernetesBranch
Use the branch of the cloudops-for-kubernetes
Git repository during the deployment.
Errors when importing the same Extensions repository twice
You cannot import an Extensions repository that has already been configured. If you import, you will receive the following error in Jenkins:
An extensions repository named monitoring-extras has already been imported. Please use the configure-monitoring-extras job to change it's configuration. You can see all of the jobs related to monitoring-extras in the monitoring-extras view.
Configuring an Extensions Repository
The configure-${extensionsName}
Jenkins job is focused on modifying the configuration of an Extensions repository that has already been imported.
Once the configuration has been changed through the configure-${extensionsName}
Jenkins job, it will be applied by running the code stored in the specified extensionsBootstrapGroovyFilePath
Jenkins job parameter.
configure-${extensionsName}
Jenkins Job
Parameters for the plan_mode
If plan_mode
is selected, the Jenkins build triggered will plan the Terraform changes. Make sure to confirm the changes to start the triggered build.
updateExtensionsJobConfig
This parameter is used to optionally modify the extensions-config
ConfigMap section called jobs-config.json
.
If your Extensions repository does not contain the more advanced manage-jobs-${extensionsName}
Jenkins job to enable or disable jobs from your Extensions Git repository, this parameter can be ignored.
If your Extensions repository contains the manage-jobs-${extensionsName}
Jenkins job, and you have ran that job to enable or disable specific jobs from your Extensions Git repository, set updateExtensionsJobConfig
to true if you want to store which jobs are enabled or disabled in order for the configuration to be properly applied to your Extensions Jenkins view.
extensionsBootstrapGroovyFilePath
Use the path to the bootstrap.groovy file for the Extensions Git repository when importing the Extensions repository. Typically, the path will be jenkins/jobs/bootstrap/bootstrap.groovy
, and the file will define Jenkins jobs or views to import as part of the Extensions repository. View and browse the Extensions Git repository to verify the correct path.
extensionsRepositoryURL
The URL to your Extensions Git repository.
extensionsBranch
Use the branch of the Extensions Git repository when different jobs included in the repository run. This can be configured to a different branch after the ConfigMap is initially imported, if want to change the branch.
extensionsGitCredential
Use the name of the Jenkins credential to clone the Extensions repository code. It must be an existing SSH private key stored in this Jenkins instance. The key has read access to the Extensions repository that you are importing.
cloudOpsForKubernetesRepoURL
The URL to your hosted copy of the cloudops-for-kubernetes
Git repository.
cloudOpsForKubernetesBranch
Use the branch of the cloudops-for-kubernetes
Git repository during the deployment.
Bootstrapping an Extensions Repository
The setup-${extensionsName}
Jenkins job is focused on applying the configuration of an Extensions repository that has already been imported.