Changes from 3.12 to 4.0.3 branch
Changes from 3.12 to 4.0.3 branch (standard-gitops-repo) Repo URL: https://github.com/OpsMx/standard-gitops-repo
default/profiles/echo-local.yml:
Removed the “rest enabled” section
Added the below section:
message-broker: endpoint: name: rabbitmq #Currently support rabbitmq only username: rabbitmq #rabbitmq username to connect password: Networks123 #rabbitmq password to connect host: rabbitmq-service #rabbitmq endpoint to connect port: 5672 #rabbitmq port to connect spinnaker: name: preview-saas #Should be same as account name given in spinnaker setup extensibility: plugins: Opsmx.EchoEventPlugin: enabled: true version: 1.0.1 config: null
default/profiles/fiat-local.yml:
Added the below section from line number 17 to 40.
#Please uncomment below section if spinnakerrbac is enabled and provide appropriate permissions
#auth.permissions.provider.pipeline: aggregate
#auth.permissions.source.pipeline.prefix:
# enabled: true
# prefixes:
# - prefix: "dev*"
# permissions:
# READ:
# - "devteam-group"
# - "qateam"
# WRITE:
# - "devteam-group"
# EXECUTE:
# - "devteam-group"
# - prefix: "qa*"
# permissions:
# READ:
# - "qateam"
# - "devteam-group"
# WRITE:
# - "qateam"
# EXECUTE:
# - "qateam"
default/profiles/fiat-overrides.yml:
Added a new file named “fiat-overrides.yml” inside the in the path “default/profiles/fiat-overrides.yml” with the below manifest:
services:
clouddriver:
baseUrl: http://stormdriver-ro:8090
enabled: true
global.spinnaker.timezone: America/Los_Angeles
default/profiles/gate-overrides.yml:
Added a new file named “gate-overrides.yml” inside the in the path “default/profiles/gate-overrides.yml” with the below manifest:
services:
clouddriver:
baseUrl: http://stormdriver-ro:8090
enabled: true
echo:
baseUrl: http://spin-echo-worker:8089
enabled: true
global.spinnaker.timezone: America/Los_Angeles
default/profiles/orca-local.yml:
In line 14, label is changed from pipelineSyncToGit to Pipeline sync to GitHub-OpsMx.
In line 17, description is changed from Update git with pipelines in Spinnaker to Backup the applications and pipelines from Spinnaker to the GitHub.
In line 19, application is changed from sampleapp to "${execution.application}".
In line 25, label is changed from spinnaker applications to Spinnaker applications.
In line 30, label is changed from pipeline names to Pipeline names.
job: preconfigured: kubernetes: - label: Pipeline sync to GitHub-OpsMx cloudProvider: kubernetes credentials: default description: Backup the applications and pipelines from Spinnaker to the GitHub account: default application: "${execution.application}" type: pipelineSyncToGit waitForCompletion: true parameters: - defaultValue: "app1,app2,..." description: "Please enter spinnaker applications separated by comma" label: Spinnaker applications mapping: 'manifest.spec.template.spec.containers[0].env[0].value' name: spinnaker_applications - defaultValue: "pipeline1,pipeline2..." description: "Please enter spinnaker pipelines separated by comma" label: Pipieline names mapping: 'manifest.spec.template.spec.containers[0].env[1].value' name: spinnaker_pipelines - defaultValue: ""
In line 117, label is changed from pipelineSyncToSpinnaker to Pipeline sync to Spinnaker-OpsMx.
In line 120, description is changed from Sync Spinnaker pipelines from git to Syncup the applications and pipelines from GitHub to the Spinnaker.
In line 122, application is changed from sampleapp to "${execution.application}".
In line 128, label is changed from spinnaker applications to Spinnaker Applications.
In line 133, label is changed from pipeline names to Pipeline Names.
secretName: git-token restartPolicy: Never serviceAccountName: default - label: Pipeline sync to Spinnaker-OpsMx cloudProvider: kubernetes credentials: default description: Syncup the applications and pipelines from GitHub to the Spinnaker account: default application: "${execution.application}" type: pipelineSyncToSpinnaker waitForCompletion: true parameters: - defaultValue: "app1,app2,..." description: "Please enter spinnaker applications separated by comma" label: Spinnaker Applications mapping: 'manifest.spec.template.spec.containers[0].env[0].value' name: spinnaker_applications - defaultValue: "pipeline1,pipeline2..." description: "Please enter spinnaker pipelines separated by comma" label: Pipieline Names mapping: 'manifest.spec.template.spec.containers[0].env[1].value' name: spinnaker_pipelines - defaultValue: ""
Added the below section before the “webhook” section starting from line 220 in v4.0.3.
label: "Update PR-OpsMx" cloudProvider: kubernetes credentials: default application: "${execution.application}" description: Update the PR with the comment account: default type: customPRStage waitForCompletion: true parameters: - defaultValue: "" description: Please enter the webhook url. label: Webhook URL mapping: 'manifest.spec.template.spec.containers[0].env[0].value' name: url - defaultValue: "" description: Please enter method. label: Method mapping: 'manifest.spec.template.spec.containers[0].env[1].value' name: method - defaultValue: "" description: Please enter payload. label: Payload mapping: 'manifest.spec.template.spec.containers[0].env[2].value' name: payload manifest: apiVersion: batch/v1 kind: Job metadata: generateName: updateprjob- namespace: SPINNAKER_NAMESPACE labels: stage: opsmx-custom stagetype: updatepr spec: backoffLimit: 0 template: spec: containers: - command: - sh - /tmp/initscript/run.sh env: - name: url value: - name: method value: - name: payload value: - name: accesstoken valueFrom: secretKeyRef: key: accesstoken name: updatepr-secrets image: 'opsmxdev/apline-with-curl' imagePullPolicy: Always name: updatepr volumeMounts: - mountPath: /tmp/initscript/ name: initscript restartPolicy: Never volumes: - configMap: default: 420 name: updatepr-config name: initscript - label: Custom notification-OpsMx cloudProvider: kubernetes credentials: default application: "${execution.application}" description: Email notification that supports SPEL expression as mailid account: default type: customnotification waitForCompletion: true parameters: - defaultValue: "" description: Please enter the Email address label: Email mapping: 'manifest.spec.template.spec.containers[0].env[0].value' name: email - defaultValue: "" description: Please enter CC mail address with "," as saperated for more mails. label: CC Address mapping: 'manifest.spec.template.spec.containers[0].env[1].value' name: ccmail - defaultValue: "" description: Please enter Subject label: Subject mapping: 'manifest.spec.template.spec.containers[0].env[2].value' name: subject - defaultValue: "" description: Please enter body message. label: Body Message mapping: 'manifest.spec.template.spec.containers[0].env[3].value' name: body manifest: apiVersion: batch/v1 kind: Job metadata: generateName: smtpjob- namespace: SPINNAKER_NAMESPACE labels: stage: opsmx-custom stagetype: customnotification spec: backoffLimit: 0 template: spec: containers: - command: - sh - /tmp/initscript/run.sh env: - name: email value: - name: ccmail value: - name: subject value: - name: body value: - name: ssmtpemail valueFrom: secretKeyRef: key: ssmtpemail name: ssmtp-secrets - name: emailpassword valueFrom: secretKeyRef: key: emailpassword name: ssmtp-secrets image: 'opsmxdev/apline-with-curl' imagePullPolicy: Always name: email-notify volumeMounts: - mountPath: /tmp/initscript/ name: initscript restartPolicy: Never volumes: - configMap: default: 420 name: email-config name: initscript - label: Ansible-OpsMx cloudProvider: kubernetes credentials: default application: "${execution.application}" description: Run playbooks to a single VM node account: default type: customAnsibleStage waitForCompletion: true parameters: - defaultValue: "" description: Please enter the Git repo url with out https:// label: Git repo mapping: 'manifest.spec.template.spec.containers[0].env[0].value' name: gitrepo - defaultValue: "" description: Please enter ansiblefile location. label: Ansible file mapping: 'manifest.spec.template.spec.containers[0].env[1].value' name: ansiblefileepo - defaultValue: "" description: Please enter override inventoryfile. label: Inventory file mapping: 'manifest.spec.template.spec.containers[0].env[2].value' name: inventoryfile manifest: apiVersion: batch/v1 kind: Job metadata: generateName: ansiblejob- namespace: SPINNAKER_NAMESPACE labels: stage: opsmx-custom stagetype: ansible spec: backoffLimit: 0 template: spec: containers: - command: - bash - /tmp/initscript/run.sh env: - name: gitrepo value: - name: ansiblefile value: - name: inventoryfile value: - name: gitusername valueFrom: secretKeyRef: key: gitusername name: ansible-secrets - name: gitpassword valueFrom: secretKeyRef: key: gitpassword name: ansible-secrets - name: nodeuser valueFrom: secretKeyRef: key: nodeuser name: ansible-secrets - name: userpassword valueFrom: secretKeyRef: key: userpassword name: ansible-secrets image: 'opsmx11/ansible-job-image:v2' imagePullPolicy: Always name: ansible-test volumeMounts: - mountPath: /tmp/initscript/ name: initscript restartPolicy: Never volumes: - configMap: default: 420 name: ansible-config name: initscript - label: Terraform plan-OpsMx cloudProvider: kubernetes application: "${execution.application}" description: Stage for Terraform plan operation account: default type: customTSPlanJobStage waitForCompletion: true parameters: - defaultValue: "" description: "Please enter the AWS Assure role configured account name." label: AWS account name mapping: 'manifest.spec.template.spec.containers[0].env[0].value' name: awsrole - defaultValue: "" description: "Please enter the namespace of spinnaker in HA mode." label: Spinnaker Namespace mapping: 'manifest.spec.template.spec.containers[0].env[1].value' name: namespace - defaultValue: "" description: "Please enter the artifact account name from artifactsaccounts.json, Account where you have tf script present.It is optional if not specified default branch is taken from the configmap" label: Tf script account mapping: 'manifest.spec.template.spec.containers[0].env[2].value' name: scriptaccount - defaultValue: "" description: "Please enter the Git Repo Account of TF script." label: Tf Plan script Repo mapping: 'manifest.spec.template.spec.containers[0].env[3].value' name: repo - defaultValue: "" description: Please enter Location of terraform script in the repo. label: Tf Location mapping: 'manifest.spec.template.spec.containers[0].env[4].value' name: location - defaultValue: "" description: Please enter overrideVariableFile path if you want to override variables. label: Override file mapping: 'manifest.spec.template.spec.containers[0].env[5].value' name: overridefile - defaultValue: "" description: Please enter terraform workspace name. label: Terraform Workspace mapping: 'manifest.spec.template.spec.containers[0].env[6].value' name: TF_WORKSPACE manifest: apiVersion: batch/v1 kind: Job metadata: generateName: terraspinplanjob- namespace: SPINNAKER_NAMESPACE labels: stage: opsmx-custom stagetype: terraform spec: backoffLimit: 0 template: spec: containers: - command: - role.sh env: - name: awsrole value: - name: namespace value: - name: scriptaccount value: - name: repo value: - name: location value: - name: overridefile value: - name: TF_WORKSPACE value: - name: command value: plan image: 'quay.io/opsmxpublic/customterraformstage:terraform-1.1.7-isd-backendconfig' imagePullPolicy: Always name: terraspinplan volumeMounts: - mountPath: /home/terraspin/opsmx/app/config/ name: opsmx-terraspin-backend-config restartPolicy: Never volumes: - secret: secretName: terraspinbackendconfig name: opsmx-terraspin-backend-config - label: Terraform apply-OpsMx cloudProvider: kubernetes application: "${execution.application}" description: Stage for Terraform apply operation account: default type: customTSApplyJobStage waitForCompletion: true parameters: - defaultValue: "" description: "Please enter the AWS Assure role configured account name." label: AWS account name mapping: 'manifest.spec.template.spec.containers[0].env[0].value' name: awsrole - defaultValue: "" description: "Please enter the namespace of spinnaker in HA mode." label: Spinnaker Namespace mapping: 'manifest.spec.template.spec.containers[0].env[1].value' name: namespace - defaultValue: "" description: "Please enter the artifact account name from artifactsaccounts.json, Account where you have tf script present." label: Tf script account mapping: 'manifest.spec.template.spec.containers[0].env[2].value' name: scriptaccount - defaultValue: "" description: "Please enter the Git Repo Account of TF script." label: Tf Plan script Repo mapping: 'manifest.spec.template.spec.containers[0].env[3].value' name: repo - defaultValue: "" description: Please enter Location of terraform script in the repo. label: Tf Location mapping: 'manifest.spec.template.spec.containers[0].env[4].value' name: location - defaultValue: "" description: Please enter overrideVariableFile path if you want to override variables. label: Override file mapping: 'manifest.spec.template.spec.containers[0].env[5].value' name: overridefile - defaultValue: "" description: Please enter terraform workspace name. label: Terraform Workspace mapping: 'manifest.spec.template.spec.containers[0].env[6].value' name: TF_WORKSPACE manifest: apiVersion: batch/v1 kind: Job metadata: generateName: terraspinapplyjob- namespace: SPINNAKER_NAMESPACE labels: stage: opsmx-custom stagetype: terraform spec: backoffLimit: 0 template: spec: containers: - command: - role.sh env: - name: awsrole value: - name: namespace value: - name: scriptaccount value: - name: repo value: - name: location value: - name: overridefile value: - name: TF_WORKSPACE value: - name: command value: apply image: 'quay.io/opsmxpublic/customterraformstage:terraform-1.1.7-isd-backendconfig' imagePullPolicy: Always name: terraspinapply volumeMounts: - mountPath: /home/terraspin/opsmx/app/config/ name: opsmx-terraspin-backend-config restartPolicy: Never volumes: - secret: secretName: terraspinbackendconfig name: opsmx-terraspin-backend-config - label: Terraform destroy-OpsMx application: "${execution.application}" cloudProvider: kubernetes credentials: default description: Stage for Terraform destroy operation account: default type: customTSDestroyJobStage waitForCompletion: true parameters: - defaultValue: "" description: "Please enter the AWS Assure role configured account name." label: AWS account name mapping: 'manifest.spec.template.spec.containers[0].env[0].value' name: awsrole - defaultValue: "" description: "Please enter the namespace of spinnaker in HA mode." label: Spinnaker Namespace mapping: 'manifest.spec.template.spec.containers[0].env[1].value' name: namespace - defaultValue: "" description: "Please enter the artifact account name from artifactsaccounts.json, Account where you have tf script present." label: Tf script account mapping: 'manifest.spec.template.spec.containers[0].env[2].value' name: scriptaccount - defaultValue: "" description: "Please enter the Git Repo Account of TF script." label: Tf Plan script Repo mapping: 'manifest.spec.template.spec.containers[0].env[3].value' name: repo - defaultValue: "" description: Please enter Location of terraform script in the repo. label: Tf Location mapping: 'manifest.spec.template.spec.containers[0].env[4].value' name: location - defaultValue: "" description: Please enter overrideVariableFile path if you want to override variables. label: Override file mapping: 'manifest.spec.template.spec.containers[0].env[5].value' name: overridefile - defaultValue: "" description: Please enter terraform workspace name. label: Terraform Workspace mapping: 'manifest.spec.template.spec.containers[0].env[6].value' name: TF_WORKSPACE manifest: apiVersion: batch/v1 kind: Job metadata: generateName: terraspindestroyjob- namespace: SPINNAKER_NAMESPACE labels: stage: opsmx-custom stagetype: terraform spec: backoffLimit: 0 template: spec: containers: - command: - role.sh env: - name: awsrole value: - name: namespace value: - name: scriptaccount value: - name: repo value: - name: location value: - name: overridefile value: - name: TF_WORKSPACE value: - name: command value: destroy image: 'quay.io/opsmxpublic/customterraformstage:terraform-1.1.7-isd-backendconfig' imagePullPolicy: Always name: terraspindestroy volumeMounts: - mountPath: /home/terraspin/opsmx/app/config/ name: opsmx-terraspin-backend-config restartPolicy: Never volumes: - secret: secretName: terraspinbackendconfig name: opsmx-terraspin-backend-config
Under the “webhook” section: (line 707 in v4.0.3 and line 222 in 3.12) The label is changed from "ServiceNow-Create Change Request" to "Ansible AWX - Create Instance Group".
label: "Ansible AWX - Create Instance Group"
Added the below section under the “webhook” section after the label: "Ansible AWX - Create Instance Group" line: (line 708 in v4.0.3 and line 223 in 3.12)
label: "Ansible AWX - Create Instance Group" type: AnsibleAWXCreateInstanceGroup enabled: true description: Stage to create an instance group in ansible awx method: POST url: http://<URL>/api/v2/instance_groups/ customHeaders: Authorization: Basic USER:PASSWORD-BASE64 Content-Type: application/json payload: |- { "credential": "${parameterValues['credentialid']}", "name": "${parameterValues['name']}", "pod_spec_override": "${parameterValues['podspecoverride']}", "policy_instance_list": [${parameterValues['policyinstancelist']}], "is_container_group": ${parameterValues['iscontainergroup']}, "policy_instance_minimum": ${parameterValues['policyinstanceminimum']}, "policy_instance_percentage": ${parameterValues['policyinstancepercentage']} } parameters: - label: Name name: name description: Name of this instance group. (string, required) type: string - label: Credential Id name: credentialid description: Credential id. Leave it blank if not needed type: string - label: Policy Instance Percentage name: policyinstancepercentage description: Minimum percentage of all instances that will be automatically assigned to this group when new instances come online. (integer, default=0) type: string - label: Policy Instance Minimum name: policyinstanceminimum description: Static minimum number of Instances that will be automatically assign to this group when new instances come online. (integer, default=0) type: string - label: Policy Instance List name: policyinstancelist description: List of exact-match Instances that will be assigned to this group (json, default=``). Provide value in "" and multiple values by coma seperated type: string - label: Pod Spec Override name: podspecoverride description: (string, default="") type: string - label: Is Container Group name: iscontainergroup description: true or false type: string - label: "Ansible AWX - Update Credential of Instance Group" type: AnsibleAWXUpdatecredentialofInstanceGroup enabled: true description: Stage to update credential of an instance group in ansible awx method: PATCH url: http://<URL>/api/v2/instance_groups/${parameterValues['name']}/ customHeaders: Authorization: Basic USER:PASSWORD-BASE64 Content-Type: application/json payload: |- { "credential": "${parameterValues['credentialid']}", "name": "${parameterValues['name']}" "is_container_group": true } parameters: - label: Name name: name description: Name of this instance group. (string, required) type: string - label: Credential Id name: credentialid description: Id of credential to which you want to change type: string - label: "Ansible AWX - Update Instance List of Instance Group" type: AnsibleAWXUpdateInstanceListofInstanceGroup enabled: true description: Stage to update instance list an instance group in ansible awx method: PATCH url: http://<URL>/api/v2/instance_groups/${parameterValues['name']}/ customHeaders: Authorization: Basic USER:PASSWORD-BASE64 Content-Type: application/json payload: |- { "name": "${parameterValues['name']}", "policy_instance_list": [${parameterValues['policyinstancelist']}] } parameters: - label: Name name: name description: Name of this instance group. (string, required) type: string - label: Policy Instance List name: policyinstancelist description: List of exact-match Instances that will be assigned to this group (json, default=``). Provide value in "" and multiple values by coma seperated type: string - label: "Ansible AWX - Update Policy Instance Minimum of Instance Group" type: AnsibleAWXUpdatePolicyInstanceMinimumofInstanceGroup enabled: true description: Stage to update policy instance minimum an instance group in ansible awx method: PATCH url: http://<URL>/api/v2/instance_groups/${parameterValues['name']}/ customHeaders: Authorization: Basic USER:PASSWORD-BASE64 Content-Type: application/json payload: |- { "name": "${parameterValues['name']}", "policy_instance_minimum": ${parameterValues['policyinstanceminimum']} } parameters: - label: Name name: name description: Name of this instance group. (string, required) type: string - label: Policy Instance Minimum name: policyinstanceminimum description: Static minimum number of Instances that will be automatically assign to this group when new instances come online. (integer, default=0) type: string - label: "Ansible AWX - Update Policy Instance Percentage of Instance Group" type: AnsibleAWXUpdatePolicyInstancePercentageofInstanceGroup enabled: true description: Stage to update policy instance percentage of an instance group in ansible awx method: PATCH url: http://<URL>/api/v2/instance_groups/${parameterValues['name']}/ customHeaders: Authorization: Basic USER:PASSWORD-BASE64 Content-Type: application/json payload: |- { "name": "${parameterValues['name']}", "policy_instance_percentage": ${parameterValues['policyinstancepercentage']} } parameters: - label: Name name: name description: Name of this instance group. (string, required) type: string - label: Policy Instance Percentage name: policyinstancepercentage description: Minimum percentage of all instances that will be automatically assigned to this group when new instances come online. (integer, default=0) type: string - label: "Ansible AWX - Update Pod Spec Override of Instance Group" type: AnsibleAWXUpdatePodSpecOverrideofInstanceGroup enabled: true description: Stage to update pod spec override of an instance group in ansible awx method: PATCH url: http://<URL>/api/v2/instance_groups/${parameterValues['name']}/ customHeaders: Authorization: Basic USER:PASSWORD-BASE64 Content-Type: application/json payload: |- { "name": "${parameterValues['name']}", "pod_spec_override": "${parameterValues['podspecoverride']}" } parameters: - label: Name name: name description: Name of this instance group. (string, required) type: string - label: Pod Spec Override name: podspecoverride description: (string, default="") type: string - label: "Ansible AWX - Name of Instance Group" type: AnsibleAWXUpdateNameofInstanceGroup enabled: true description: Stage to update name of an instance group in ansible awx method: PATCH url: http://<URL>/api/v2/instance_groups/${parameterValues['currentname']}/ customHeaders: Authorization: Basic USER:PASSWORD-BASE64 Content-Type: application/json payload: |- { "name": "${parameterValues['changename']}" } parameters: - label: Current Name name: currentname description: Name of the instance group which exists type: string - label: Change Name name: changename description: To what you need to change type: string - label: "Ansible AWX - Create Job Template" type: AnsibleAWXCreateJobTemplate enabled: true description: Stage to create job template in ansible awx method: POST url: http://<URL>/api/v2/job_templates/ customHeaders: Authorization: Basic USER:PASSWORD-BASE64 Content-Type: application/json payload: |- { "allow_callbacks": "${parameterValues['allowcallbacks']}", "allow_simultaneous": "${parameterValues['allowsimultaneous']}", "ask_credential_on_launch": "${parameterValues['askcredentialonlaunch']}", "ask_diff_mode_on_launch": "${parameterValues['askdiffmodeonlaunch']}", "ask_inventory_on_launch": "${parameterValues['askinventoryonlaunch']}", "ask_job_type_on_launch": "${parameterValues['askjobtypeonlaunch']}", "ask_limit_on_launch": "${parameterValues['asklimitonlaunch']}", "ask_scm_branch_on_launch": "${parameterValues['askscmbranchonlaunch']}", "ask_skip_tags_on_launch": "${parameterValues['askskiptagsonlaunch']}", "ask_tags_on_launch": "${parameterValues['asktagsonlaunch']}", "ask_variables_on_launch": "${parameterValues['askvariablesonlaunch']}", "ask_verbosity_on_launch": "${parameterValues['askverbosityonlaunch']}", "become_enabled": "${parameterValues['becomeenabled']}", "description": "${parameterValues['description']}", "diff_mode": "${parameterValues['diffmode']}", "extra_vars": "${parameterValues['extravars']}", "forks": "${parameterValues['forks']}", "host_config_key": "${parameterValues['hostconfigkey']}", "job_slice_count": "${parameterValues['jobslicecount']}", "job_tags": "${parameterValues['jobtags']}", "job_type": "${parameterValues['jobtype']}", "limit": "${parameterValues['limit']}", "name": "${parameterValues['name']}", "playbook": "${parameterValues['playbook']}", "scm_branch": "${parameterValues['scmbranch']}", "skip_tags": "${parameterValues['skiptags']}", "timeout": "${parameterValues['timeout']}", "use_fact_cache": "${parameterValues['usefactcache']}", "verbosity": "${parameterValues['verbosity']}", "webhook_service": "${parameterValues['webhookservice']}", "project": "${parameterValues['project']}", "webhook_credential": "${parameterValues['webhook_credential']}", "inventory": "${parameterValues['inventory']}", "execution_environment": "${parameterValues['executionenvironment']}" } parameters: - label: Allow Callbacks name: allowcallbacks description: true or false type: string - label: Allow Simultaneous name: allowsimultaneous description: true or false type: string - label: Ask Credential on Launch name: askcredentialonlaunch description: true or false type: string defaultValue: false - label: Ask Diff Mode on Launch name: askdiffmodeonlaunch description: true or false type: string defaultValue: false - label: Ask Inventory On Launch name: askinventoryonlaunch description: true or false type: string defaultValue: false - label: Ask Job Type on Launch name: askjobtypeonlaunch description: true or false type: string defaultValue: false - label: Ask Limit on Launch name: asklimitonlaunch description: true or false type: string defaultValue: false - label: Ask Scm Branch on Launch name: askscmbranchonlaunch description: true or false type: string defaultValue: false - label: Ask Skip Tags On Launch name: askskiptagsonlaunch description: true or false type: string defaultValue: false - label: Ask Tags on Launch name: asktagsonlaunch description: true or false type: string defaultValue: false - label: Ask Variables on Launch name: askvariablesonlaunch description: true or false type: string defaultValue: false - label: Ask Verbosity on Launch name: askverbosityonlaunch description: true or false type: string defaultValue: false - label: Become Enabled name: becomeenabled description: true or false type: string defaultValue: false - label: Description name: description description: Description about job template type: string - label: Diff Mode name: diffmode description: true or false. If enabled, textual changes made to any templated files on the host are shown in the standard output. type: string defaultValue: false - label: Extra Vars name: extravars description: (json, default=``) type: string - label: Forks name: forks description: (integer, default=0) type: string defaultValue: 0 - label: Host Config Key name: hostconfigkey description: (string, default="") type: string - label: Job Slice Count name: jobslicecount description: The number of jobs to slice into at runtime. Will cause the Job Template to launch a workflow if value is greater than 1. (integer, default=1) type: string defaultValue: 1 - label: Job Tags name: jobtags description: (string, default="") type: string - label: Job Type name: jobtype description: Run(default) or Check type: string defaultValue: Run - label: Limit name: limit description: (string, default="") type: string - label: Name name: name description: name type: string - label: playbook name: playbook description: (string, default="") Eg:- hello_world.yml type: string - label: Scm Branch name: scmbranch description: Branch to use in job run. Project default used if blank. Only allowed if project allow_override field is set to true. (string, default="") type: string - label: Skip Tags name: skiptags description: (string, default="") type: string - label: Timeout name: timeout description: The amount of time (in seconds) to run before the task is canceled. (integer, default=0) type: string defaultValue: 0 - label: Use Fact Cache name: usefactcache description: If enabled, Tower will act as an Ansible Fact Cache Plugin; persisting facts at the end of a playbook run to the database and caching facts for use by Ansible. (boolean, default=False) type: string defaultValue: false - label: Verbosity name: verbosity description: 0(Normal)(default) - 1(Verbose) - 2(More Verbose) - 3(Debug) - 4(Connection Debug) - 5(WinRM Debug) type: string defaultValue: 0 - label: webhook_service name: webhook_service description: Service that webhook requests will be accepted from (choice) Eg:- github gitlab type: string - label: Project name: project description: (id, default=``) type: string - label: Webhook Credential name: webhookcredential description: Personal Access Token for posting back the status to the service API (id, default=null) type: string defaultValue: null - label: Inventory name: inventory description: (id, default=``) type: string - label: Execution Environment name: executionenvironment description: (id, default=null) type: string defaultValue: null - label: "Ansible AWX - Create Project" type: AnsibleAWXCreateProject enabled: true description: Stage to create a project in ansible awx method: POST url: http://<URL>/api/v2/projects/ customHeaders: Authorization: Basic USER:PASSWORD-BASE64 Content-Type: application/json payload: |- { "name": "${parameterValues['name']}", "description": "${parameterValues['description']}", "local_path": "${parameterValues['localpath']}", "scm_type": "${parameterValues['scmtype']}", "scm_url": "${parameterValues['scmurl']}", "scm_branch": "${parameterValues['scmbranch']}", "scm_refspec": "${parameterValues['scmrefspec']}", "scm_clean": "${parameterValues['scmclean']}", "scm_delete_on_update": "${parameterValues['scmdeleteonupdate']}", "credential": "${parameterValues['credential']}", "timeout": "${parameterValues['timeout']}", "organization": "${parameterValues['organization']}", "scm_update_on_launch": "${parameterValues['scmupdateonlaunch']}", "scm_update_cache_timeout": "${parameterValues['scmupdatecachetimeout']}", "allow_override": "${parameterValues['allow_override']}", "custom_virtualenv": "${parameterValues['customvirtualenv']}" } parameters: - label: Name name: name description: Name of the project type: string - label: Description name: description description: Description for the project type: string - label: Local Path name: localpath description: Local path (relative to PROJECTS_ROOT) containing playbooks and related files for this project. (string, default="") type: string - label: Scm Type name: scmtype description: Specifies the source control system used to store the project. (choice). "" (Manual)(default) - git (Git) - hg (Mercurial) - svn (Subversion) - insights (Red Hat Insights) - archive (Remote Archive) type: string - label: Scm Url name: scmurl description: The location where the project is stored. (string, default="") Eg:- https://github.com/ansible/test-playbooks.git type: string - label: Scm Branch name: scmbranch description: Specific branch, tag or commit to checkout. (string, default="") type: string - label: Scm Refspec name: scmrefspec description: For git projects, an additional refspec to fetch. (string, default="") type: string - label: Scm Clean name: scmclean description: true or false. Discard any local changes before syncing the project. (boolean, default=False) type: string defaultValue: false - label: Scm Delete on Update name: scmdeleteonupdate description: true or false. Delete the project before syncing. (boolean, default=False) type: string defaultValue: false - label: Credential name: credential description: (id, default=``) type: string - label: Timeout name: timeout description: The amount of time (in seconds) to run before the task is canceled. (integer, default=0) type: string defaultValue: 0 - label: Organization name: organization description: The organization used to determine access to this template. (id, default=``) type: string - label: Scm Update on Launch name: scmupdateonlaunch description: Update the project when a job is launched that uses the project. (boolean, default=False) type: string defaultValue: false - label: Scm Update Cache Timeout name: scmupdatecachetimeout description: The number of seconds after the last project update ran that a new project update will be launched as a job dependency. (integer, default=0) type: string defaultValue: 0 - label: Allow Override name: allowoverride description: Allow changing the SCM branch or revision in a job template that uses this project. (boolean, default=False) type: string defaultValue: false - label: Custom Virtualenv name: customvirtualenv description: Local absolute file path containing a custom Python virtualenv to use (string, default="") type: string - label: "Ansible AWX - Get List of Job Templates" type: AnsibleAWXUGetListofJobTemplates enabled: true description: Stage to list the job templates available method: GET url: http://<URL>/api/v2/job_templates/ customHeaders: Authorization: Basic USER:PASSWORD-BASE64 Content-Type: application/json payload: "" parameters: "" - label: "Ansible AWX - Invoke a Job Template" type: AnsibleAWXInvokeJobTemplate enabled: true description: Stage to invoke job template in ansible awx. method: POST url: http://<URL>/api/v2/job_templates/${parameterValues['jobtemplateid']}/launch/ customHeaders: Authorization: Basic USER:PASSWORD-BASE64 Content-Type: application/json payload: "" parameters: - label: Job Template Id name: jobtemplateid description: Job template id type: string - label: "ServiceNow: Create a change request-OpsMx"
In line 1234 in v4.0.3 and line 225 in 3.12: The description is changed from Custom stage for servicenow normal request creation to ServiceNow normal request creation.
description: ServiceNow normal request creation
In line 1289 in v4.0.3 and lines 200 and 201 in 3.12: the label is changed from "ServiceNow-Change State of Change Request" to "ServiceNow: Change request Status-OpsMx".
In line 1292 in v4.0.3 and lines 284 in 3.12: the description is changed from Custom stage to change the state of the normal request to ServiceNow change the state of the normal request.
name: type description: Emergency, Normal etc type: string - label: "ServiceNow: Change request Status-OpsMx" type: ChangeStateofChangeRequest enabled: true description: ServiceNow change the state of the normal request method: PATCH url: SERVICENOW_URL/api/sn_chg_rest/v1/change/${parameterValues['sysid']} customHeaders:
In line 1316 in v4.0.3 and lines 308 in 3.12: the label is changed from "ServiceNow-Add Work Note to Change Request" to "ServiceNow: Add a work note to the change request-OpsMx".
In line 1319 in v4.0.3 and lines 312 in 3.12: the description is changed from Custom stage to add work note to normal request to ServiceNow add work note to normal request.
name: sysid description: Sys id of the request. Can get from url of the request Eg-7067852307303010268affa08c1ed0a6 type: string - label: "ServiceNow: Add a work note to the change request-OpsMx" type: AddWorkNotetoChangeRequst enabled: true description: ServiceNow add work note to normal request method: PATCH url: SERVICENOW_URL/api/sn_chg_rest/change/${parameterValues['sysid']} customHeaders:
Under the “parameters” section:
line 1338 in v4.0.3 and line 331 in 3.12: the label is changed from "Service Now: Wait for state" to "ServiceNow: Wait for state-OpsMx".
In line 1341 in v4.0.3 and line 335 in 3.12: the description is changed from Custom stage that waits for a specific state on a Service Now Issue to Waits for a specific state on a ServiceNow issue.
parameters: - label: Work Notes name: worknotes description: Add work notes to the request type: string - label: sys_id name: sysid description: Sys id of the request. Can get from url of the request Eg-7067852307303010268affa08c1ed0a6 type: string - label: "ServiceNow: Wait for state-OpsMx" type: waitServiceNowState enabled: true description: Waits for a specific state on a ServiceNow issue method: GET url: SERVICENOW_URL/api/sn_chg_rest/change/${parameterValues['sysid']} customHeaders: Authorization: Basic SERVICENOW_BASE64_USR_PASSWD Content-Type: application/json failPipeline: true progressJsonPath: "result.state.display_value" payload: "" retryStatusCodes: - 200 statusJsonPath: "result.state.display_value" statusUrlResolution: "getMethod" successStatuses: ${parameterValues['success']} retryStatuses: ${parameterValue['retry']} terminalStatuses: ${parameterValues['terminate']} canceledStatuses: ${parameterValues['cancel']} waitBeforeMonitor: "1" waitForCompletion: true parameters: - label: Sys id name: sysid description: "sys id of the request" type: string defaultValue: "" - label: Service Now Success States name: success description: "Service Now issue States that progress the pipeline, e.g,: In Verificaiton etc." type: string defaultValue: "" - label: Service Now Retry States name: retry description: "Service Now issue states that Retry the stage e.g,: New etc. Can give multiple states coma seperated"
From line 1329 in v4.0.3 and line 322 in 3.12 to 1373 in v4.0.3 and line 367 in 3.12: the following spaces are removed:
In line 1374 in v4.0.3 and line 368 in 3.12: the following section is added:
type: string defaultValue: "" - label: Service Now Termination States name: terminate description: "Service Now issue states that terminates the pipeline, e.g,: Done etc." type: string
line 1381 in v4.0.3 and line 370 in 3.12: the below section is removed:
label: Service Now Termination States name: terminate description: "Service Now issue states that terminates the pipeline, e.g,: Done etc." type: string defaultValue: ""
In line 1386 in v4.0.3 and line 380 in 3.12: the label is changed from "JIRA: Wait for state" to "JIRA: Wait for state-OpsMx".
label: Service Now Canceled States name: cancel description: "Service Now issue states that cancel the pipeline e.g,: Closed, etc." type: string defaultValue: Closed - label: "JIRA: Wait for state-OpsMx"
In line 1389 in v4.0.3 and line 383 in 3.12: the description is changed from Custom stage that waits for a specific state on a Jira Issue to Stage that waits for a specific state on a Jira issue.
type: waitJiraState enabled: true description: Stage that waits for a specific state on a Jira issue method: GET url: JIRA_URL/rest/api/latest/issue/${parameterValues['issue']} customHeaders:
In line 1435 in v4.0.3 and 429 in 3.12: the label is changed from "JIRA: Create Issue" to "JIRA: Create an issue-OpsMx".
In line 1438 in v4.0.3 and 432 in 3.12: the description is changed from Custom stage that add an Issue in Jira to Stage that add an issue in Jira.
description: "JIRA issue states that cancel the pipeline e.g,: Done, etc." type: string defaultValue: Done - label: "JIRA: Create an issue-OpsMx" type: addJiraIss enabled: true description: Stage that add an issue in Jira method: POST url: JIRA_URL/rest/api/2/issue/ customHeaders:
In line 1491 in v4.0.3 and 485 in 3.12: the label is changed from "JIRA: Comment on Issue" to "JIRA: Comment on issue-OpsMx".
In line 1494 in v4.0.3 and 488 in 3.12: the description is changed from Custom stage that posts a comment in a Jira Issue to Stage that posts a comment in a Jira issue.
name: description description: description type: string - label: "JIRA: Comment on issue-OpsMx" type: comJiraIss enabled: true description: Stage that posts a comment in a Jira issue method: POST url: JIRA_URL/rest/api/latest/issue/${parameterValues['issue']}/comment customHeaders:
In line 1514 in v4.0.3 and 508 in 3.12: the label is changed from label: "JIRA: Update Issue" to "JIRA: Update issue-OpsMx".
In line 1517 in v4.0.3 and 511 in 3.12: the description is changed from Custom stage that updates an Issue in Jira to Stage that updates an issue in Jira.
name: message description: message type: string - label: "JIRA: Update issue-OpsMx" type: updJiraIss enabled: true description: Stage that updates an issue in Jira method: PUT url: JIRA_URL/rest/api/latest/issue/${parameterValues['issue']} customHeaders:
In line 1551 in v4.0.3 and 545 in 3.12: the label is changed from label: "JIRA: Transition Issue" to "JIRA: Transition issue-OpsMx".
In line 1554 in v4.0.3 and 548 in 3.12: the description is changed from Custom stage that transitions an Issue in Jira to Stage that transitions an issue in Jira.
label: Description name: description description: description - label: "JIRA: Transition issue-OpsMx" type: transJiraIss enabled: true description: Stage that transitions an issue in Jira method: POST url: JIRA_URL/rest/api/latest/issue/${parameterValues['issue']}/transitions customHeaders:
Added the below section after the line 569 in 3.12:
label: "ServiceDesk: Create request-OpsMx" type: CreateServiceDeskrequest (issue) enabled: true description: Stage that create an request in ServiceDesk method: POST url: https://<URL>/rest/servicedeskapi/request customHeaders: Authorization: Basic USER/PASSWORD-BASE64 Content-Type: application/json payload: |- { "serviceDeskId": "${parameterValues['projectid']}", "requestTypeId": "${parameterValues['requesttypeid']}", "requestFieldValues": { "summary": "${parameterValues['summary']}", "description": "${parameterValues['description']}" }, "requestParticipants": [ "${parameterValues['requestParticipants']}" ] } parameters: - label: Project ID name: projectid description: Which Servicedesk project do you want to create an item in? type: string - label: Request Type Id name: requesttypeid description: Request type like id "25" for IT HELP type: string - label: Summary name: summary description: summary of the request type: string - label: Request Participants name: requestParticipants description: requestParticipants of the request type: string - label: Description name: description description: Description of the request type: string - label: "ServiceDesk: Comment on issue-OpsMx" type: Coment ServiceDesk Issue enabled: true description: Stage that post a comment in a ServiceDesk issue method: POST url: https://<URL>/rest/servicedeskapi/request/${parameterValues['issue']}/comment customHeaders: Authorization: Basic USER/PASSWORD-BASE64 Content-Type: application/json payload: |- { "body": "${parameterValues['message']}", "public": true } parameters: - label: Issue ID name: issue description: Issue type: string - label: Message name: message description: message type: string - label: "ServiceDesk: Wait for state-OpsMx" type: waitservicedeskstate enabled: true description: Stage that waits for a specific state on a Servicedesk issue method: GET url: https://<URL>/rest/servicedeskapi/request/${parameterValues['issue']}/status customHeaders: Authorization: Basic USER/PASSWORD-BASE64 Content-Type: application/json failPipeline: true progressJsonPath: "values[0].status" payload: "" retryStatusCodes: - 200 statusJsonPath: "values[0].status" statusUrlResolution: "getMethod" successStatuses: ${parameterValues['success']} retryStatuses: ${parameterValue['retry']} canceledStatuses: ${parameterValues['cancel']} waitBeforeMonitor: "1" waitForCompletion: true parameters: - label: ServiceDesk Issue ID name: issue description: "The ServiceDesk issue, the default relies on ServiceDesk issue ID extraction" type: string defaultValue: - label: ServiceDesk Retry States name: retry description: "ServiceDesk issue states that Retry the stage e.g,: To Do, In Progress, etc." type: string defaultValue: To Do, In Progress - label: ServiceDesk Success States name: success description: "ServiceDeskissue States that progress the pipeline, e.g,: In Verificaiton etc." type: string defaultValue: In Verification - label: ServiceDesk Canceled States name: cancel description: "ServiceDesk issue states that cancel the pipeline e.g,: Done, etc." type: string defaultValue: Done - label: "ServiceDesk: Transition issue-OpsMx" type: transservicedesk issue status enabled: true description: Stage that transitions an Servicedesk request status method: POST url: https://<URL>/rest/servicedeskapi/request/${parameterValues['issue']}/transition customHeaders: Authorization: Basic USER/PASSWORD-BASE64 Content-Type: application/json X-ExperimentalApi: opt payload: |- { "id": "${parameterValues['targetStageID']}", "additionalComment": { "body": "${parameterValues['body']}" } } parameters: - label: Issue ID name: issue description: Issue type: string - label: Target Stage ID name: targetStageID description: Target ID from the workflow of project type: string - label: Body name: body description: Current status as a comment to change the transition type: string
default/profiles/orca-overrides.yml:
Added the below lines from line 1 to 9:
services: clouddriver: baseUrl: http://stormdriver-rw:8090 enabled: true echo: baseUrl: http://spin-echo-worker:8089 enabled: true global.spinnaker.timezone: America/Los_Angeles
default/profiles/spinnakerconfig.yml:
Changed defaultLabel: master to defaultLabel: BRANCH in line 13 & key: Q7udUkHPuA3VnNlOtksSgQ is changed to key: KEY under line 16.
default/profiles/stormdriver-spinnaker.yml:
Added the below section under 4.0.3 branch from line 1 to 95:
# Copy this file to spinnaker.yml if configuring for stormdriver
# Note that HA Clouddriver and Echo is not supported at this time with Stormdriver
services:
clouddriver:
host: 0.0.0.0
port: 7002
baseUrl: http://stormdriver:7002
enabled: true
echo:
host: 0.0.0.0
port: 8089
baseUrl: http://spin-echo:8089
enabled: true
clouddriverCaching:
host: 0.0.0.0
port: 7002
baseUrl: http://spin-clouddriver-caching:7002
enabled: false
clouddriverRo:
host: 0.0.0.0
port: 7002
baseUrl: http://spin-clouddriver-ro:7002
enabled: false
clouddriverRoDeck:
host: 0.0.0.0
port: 7002
baseUrl: http://spin-clouddriver-ro-deck:7002
enabled: false
clouddriverRw:
host: 0.0.0.0
port: 7002
baseUrl: http://spin-clouddriver-rw:7002
enabled: false
deck:
host: 0.0.0.03
port: 9000
baseUrl: http://oes.ryzon7-isd40.opsmx.org/deck
enabled: true
echoScheduler:
host: 0.0.0.0
port: 8089
baseUrl: http://spin-echo-scheduler:8089
enabled: false
echoWorker:
host: 0.0.0.0
port: 8089
baseUrl: http://spin-echo-worker:8089
enabled: false
fiat:
host: 0.0.0.0
port: 7003
baseUrl: http://spin-fiat:7003
enabled: false
front50:
host: 0.0.0.0
port: 8080
baseUrl: http://spin-front50:8080
enabled: true
gate:
host: 0.0.0.0
port: 8084
baseUrl: http://oes.ryzon7-isd40.opsmx.org/gate
enabled: true
igor:
host: 0.0.0.0
port: 8088
baseUrl: http://spin-igor:8088
enabled: true
kayenta:
host: 0.0.0.0
port: 8090
baseUrl: http://spin-kayenta:8090
enabled: false
orca:
host: 0.0.0.0
port: 8083
baseUrl: http://spin-orca:8083
enabled: true
redis:
host: 0.0.0.0
port: 6379
baseUrl: redis://:password@RELEASE_NAME-redis-master:6379
enabled: true
rosco:
host: 0.0.0.0
port: 8087
baseUrl: http://spin-rosco:8087
enabled: true
monitoringDaemon:
host: 0.0.0.0
port: 8008
baseUrl: http://spin-monitoring-daemon:8008
enabled: false
global.spinnaker.timezone: America/Los_Angeles
default/service-settings/gate.yml:
Added “enabled:false” Ignore artifactId modification and it is handled in bom file
artifactId is updated from quay.io/opsmxpublic/ubi8-oes-spin-gate:v3.12.0 to quay.io/opsmxpublic/ubi8-gate:1.28.4_6.55.3-ubi8
enabled: false
artifactId: quay.io/opsmxpublic/ubi8-gate:1.28.4_6.55.3-ubi8
healthEndpoint: /health
kubernetes:
useExecHealthCheck: false
podAnnotations:
moniker.spinnaker.io/application: spin
env:
JAVA_OPTS: "-XX:MaxRAMPercentage=100.0"
Last updated
Was this helpful?