The key component of the package is the release manifest, this declares the component versions of the solution. The desired state engine (Ansible) will ensure all components for the release align with the declaration in the manifest. These are added to your CDAF.solution
file. To see an example component build, see the Java SpringBoot example.
artifactPrefix=1.2
productName=Ansible Provisioning
solutionName=ansible
# SMTP Configuration
smtp_image=registry.example/mails:0.0.26
smtp_container_name=mail_forwarder
smtp_container_ports=25:25
LISTEN_PORT=25
SITE_NAME=onprem
# OAuth Verification App
rails_image=registry.example/rails:0.3.117
rails_container_name=ruby_on_rails
rails_container_ports=3000:3000
# Springboot
spring_image=registry.example/spring:127
spring_container_name=spring_boot
spring_container_ports=8081:8080
While that stack construction is the same in all environments, unique settings for each environment are defined in configuration management files, e.g. properties.cm
.
context target deployTaskOverride sharepoint_list rails_fqdn spring_fqdn
remote staging tower.tsk stage rails-test.example.com spring-test.example.com
remote production tower.tsk prod rails.example.com spring.example.com
Next, build a release package…