Upgrade to Pro — share decks privately, control downloads, hide ads and more …

workflow espresso 3

workflow espresso 3

John Mettraux

March 10, 2017
Tweet

More Decks by John Mettraux

Other Decks in Technology

Transcript

  1. 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" }
  2. 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
  3. 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
  4. 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
  5. 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
  6. rewind if: '${v:dan} != "approved" && ${v:jeb} != "approved"' rewind

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