workflow espresso 3

workflow espresso 3

8d96626e52beb1ff90f57a8e189e1e6f?s=128

John Mettraux

March 10, 2017
Tweet

Transcript

  1. ruote process definitions

  2. Ruote.define name: 'payroll review', revision: '0.9' do cron '0 7

    1 * *' do # First day of the month at 7:00 am. sequence do concurrence do collect-access_web( text: 'DBA with confidential clearance', refine_scope: 'without tag:ssh') collect-access_ssh( group: 'dba', refine_scope: 'with tag:ssh') end approval_web( target: 'group:hr') approval_email( target: 'manager', text: 'DBA with payroll access approved by HR') end end end # initial { scope: "all systems" }
  3. sequence do web_pkgaudit( notifications: 'reminder:[-24h,-6h]/18h;warning:[-6h,-0s]/2h;late:[0]/2h', deadline: '72h') web_apply_patch end sequence

    do ssh_pkgaudit( target: 'Host', key: '/home/opensec/.ssh/id_ecdsa') web_apply_patch( notifications: 'reminder:[-24h,-6h]/18h;warning:[-6h,-0s]/2h;late:[0]/2h', deadline: '72h') end
  4. sequence do ssh_pkgaudit( target: 'Host', key: '/home/opensec/.ssh/id_ecdsa') web_apply_patch( notifications: 'reminder:[-24h,-6h]/18h;warning:[-6h,-0s]/2h;late:[0]/2h',

    deadline: '72h') end sequence do web_pkgaudit( notifications: 'reminder:[-24h,-6h]/18h;warning:[-6h,-0s]/2h;late:[0]/2h', deadline: '72h') web_apply_patch end
  5. sequence do web_pkgaudit( notifications: 'reminder:[-24h,-6h]/18h;warning:[-6h,-0s]/2h;late:[0]/2h', deadline: '72h') web_apply_patch end sequence

    do ssh_pkgaudit( target: 'Host', key: '/home/opensec/.ssh/id_ecdsa') web_apply_patch( notifications: 'reminder:[-24h,-6h]/18h;warning:[-6h,-0s]/2h;late:[0]/2h', deadline: '72h') end
  6. None
  7. Ruote.process_definition name: 'dns update', revision: '0.5' do cursor do concurrence

    count: 1 do sequence do dan object_type: 'dns', object_id: -1, task: 'edit' jeb object_type: 'dns', object_id: -1, task: 'approve' end sequence do jeb object_type: 'dns', object_id: -1, task: 'edit' dan object_type: 'dns', object_id: -1, task: 'approve' end end rewind if: '${v:dan} != "approved" && ${v:jeb} != "approved"' end end
  8. rewind if: '${v:dan} != "approved" && ${v:jeb} != "approved"'

  9. rewind if: '${v:dan} != "approved" && ${v:jeb} != "approved"' rewind

    if (v.dan != ‘approved’) and (v.jeb != ‘approved’)
  10. None