Skip to content

brybinary/cg-deploy-postfix

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cloud.gov Bosh Postfix Deployment Manifests and Concourse pipeline

This repo contains the source for the Bosh deployment manifest and deployment pipeline for the cloud.gov Postfix deployment.

Rationale

cloud.gov requires a mail relay to send outbound mails from internal tooling.

Architecture

This pipeline will deploy:

  • Production
    • 1 mail relay
      • cg-provision will have allocated an IP (terraform_outputs.production_smtp_private_ip) and set up security groups with terraform.
      • The postfix deployment will be deployed to the tooling bosh.
      • Services will contact the postfix server and auth using SASL.
      • Mail will be relayed to the configured mail relay.

Deployment

cloud.gov

  1. Create production-postfix.yml:
    cp bosh/secrets.example.yml /tmp/production-postfix.yml
    bosh int bosh/manifest.yml --vars-store /tmp/production-postfix.yml > /dev/null
    
    Replace all XXXes in /tmp/production-postfix.yml with proper values. Then encrypt that file and upload it to s3.
  2. Create cg-deploy-postfix.yml: copy ci/concourse-defaults.yml to cg-deploy-postfix.yml, edit the file and uncomment all the lines with XXXes in them, fill in proper values. Be sure to upload the file to the concourse secrets bucket so that others can use it.
  3. The pipeline under ci/pipeline.yml deploys to production:
    fly -t cloud-gov-govcloud sp -p deploy-postfix -c ci/pipeline.yml -l /tmp/cg-deploy-postfix.yml
    

bosh-lite

To test the deployment out, you should be able to do this:

bosh int bosh/manifest.yml --vars-store /tmp/pfvars.yml > /tmp/pfmanifest.yml
bosh update-cloud-config bosh-lite-cloud-config.yml
bosh deploy -d postfix /tmp/pfmanifest.yml -l bosh/varsfiles/bosh-lite.yml -l /tmp/pfvars.yml

This assumes that the https://github.com/18F/postfix-boshrelease release has been created and uploaded already. If you do not have that, then you will probably need to clone that repo, cd into it, and then bosh create-release ; bosh upload-release to get it there.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%