Skip to content
A flexible, easy to use, automation framework allowing users to integrate their capabilities and devices to cut through the repetitive, tedious tasks slowing them down. #nsacyber
Python TypeScript PowerShell HTML CSS Dockerfile Other
Branch: master
Clone or download
Latest commit d1eae96 Sep 30, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
api_gateway no message Aug 30, 2019
app_sdk backend fix for nodestatusmessage and workflowstatusmessage displayin… Aug 21, 2019
apps added sample_reports action Aug 30, 2019
bootloader pinned aiodocker version Sep 30, 2019
common Windows installation fixes Aug 28, 2019
data removed length limit on conditions and transforms, fixed powershell f… Aug 19, 2019
docs Update workflow.rst Sep 3, 2019
nginx Added endpoints to API Gateway for Umpire API Aug 8, 2019
testing Added two new apps and scripts for actions to execute. Aug 22, 2019
umpire pinned aiodocker version Sep 30, 2019
worker Fixing aborted workflows bug Aug 28, 2019
.dockerignore allowed umpire to make new actions made in the app editor available i… Aug 9, 2019
.gitignore allowed umpire to make new actions made in the app editor available i… Aug 9, 2019
CHANGELOG.md updating roadmap and changelog for beta Aug 9, 2019
DISCLAIMER.md Further markdown linting Nov 9, 2017
LICENSE.md Linted markdown files Nov 9, 2017
README.md updated documentation for bootloader Jul 22, 2019
ROADMAP.md updated rc1 criteria Aug 9, 2019
build_bootloader.sh bootloader v1 completed Jul 18, 2019
daemon.json completed encryption/decryption of string globals May 15, 2019
generate_client_openapi.py Merged Alpha into branch and fixed merge conflicts Aug 1, 2019
regenerate_walkoff_client.sh prepended walkoff to basepath for use behind a reverse proxy Jul 25, 2019
requirements.txt Merging changes from 1.0.0 to master Aug 8, 2019
walkoff-stack-windows.yml Windows Install Script that replicates Linux Install Script Aug 13, 2019
walkoff.ps1 Windows installation fixes Aug 28, 2019
walkoff.sh removing build from walkoff.sh for now Aug 23, 2019
walkoff_setup.ps1 Fix to Script Aug 13, 2019

README.md

Welcome to WALKOFF's documentation!

This documentation is intended as a reference for app and workflow developers as well as project contributors and operators. Here you will find walkthroughs, tutorials and other useful information about applications that are shipped with Walkoff, our changelog, and how to interact with Walkoff using its RESTful API.

What is WALKOFF?

WALKOFF is a flexible, easy to use, automation framework allowing users to integrate their capabilities and devices to cut through the repetitive, tedious tasks slowing them down,

WHAT WE OFFER

  • Easy-to-use: Drag-and-drop workflow editor. Sharable apps and workflows.
  • Flexbility: Deployable on Windows or Linux.
  • Modular: Plug and play integration of almost anything with easy-to-develop applications.
  • Visual Analytics: Send workflow data to custom dashboards (and soon, Elasticsearch & Kibana!)

Documentation

https://walkoff.readthedocs.io/en/latest/

Pre-requisites

Ensure that Docker, Docker Compose 3+, and git are installed!

If you do not already have a Docker Swarm initialized or joined, run the following command to create one:

docker swarm init

Note: If you have multiple NICs you will need to use --advertise-addr to pick an address from which the swarm will be accessible.

Deploying WALKOFF in a Unix environment

  1. Open a terminal and clone WALKOFF:

    git clone https://github.com/nsacyber/WALKOFF.git
    
  2. Move into the WALKOFF directory:

    cd WALKOFF
    
  3. Build WALKOFF's bootloader container, which handles management of the WALKOFF stack:

    ./build_bootloader.sh
    

    The bootloader performs the following tasks:

    • Creating Docker secrets, configs, networks, volumes, etc.
    • Building and pushing component images to WALKOFF's internal registry.
    • Deploying and removing the Docker Stack.
  4. Launch WALKOFF with the bootloader, building components as well:

    ./walkoff.sh up --build
    
    # If verbose output is desired:
    ./walkoff.sh up --build --debug
    
  5. Navigate to the default IP and port. The default IP and the port can be changed by altering the port NGINX is exposed on (the right-hand port) in the top-level docker-compose.yml. Note that you should use HTTPS, and allow the self-signed certificate when prompted.

    https://127.0.0.1:8080
    
  6. The default username is "admin" and password is "admin." These can and should be changed upon initial login.

  7. To stop WALKOFF, use the bootloader:

    ./walkoff.sh down
    
    # If removing encryption key (and persistent data), stored images, and verbose output is desired:
    ./walkoff.sh down --key --registry --debug
    

Deploying WALKOFF in a Windows environment

  1. Open PowerShell and clone WALKOFF:

    git clone https://github.com/nsacyber/WALKOFF.git
    
  2. Move into the WALKOFF directory:

    cd WALKOFF
    
  3. Use the provided walkoff.ps1 script to initialize Walkoff's required components:

    # Create Docker volumes, secrets
    .\walkoff.ps1 init
    
    # Build and Push WALKOFF component images
    .\walkoff.ps1 build
    
  4. Launch WALKOFF with walkoff.ps1:

    # Deploy WALKOFF stack
    .\walkoff.ps1 up
    
    # Check WALKOFF stack services
    .\walkoff.ps1 status
    
  5. Navigate to the default IP and port. The default IP and the port can be changed by altering the port NGINX is exposed on (the right-hand port) in the top-level docker-compose.yml. Note that you should use HTTPS, and allow the self-signed certificate when prompted.

    https://127.0.0.1:8080
    
  6. The default username is "admin" and password is "admin." These can and should be changed upon initial login.

  7. To stop WALKOFF, use the bootloader:

    .\walkoff.ps1 stop
    
    # If removing encryption key, persistent data, stored images is desired:
    .\walkoff.ps1 down
    
You can’t perform that action at this time.