Coder Social home page Coder Social logo

macduff23 / force Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gravitational/force

0.0 2.0 0.0 7.75 MB

A new programming language for cloud native workflows

Home Page: https://force.gravitational.co

License: Apache License 2.0

Makefile 0.52% Go 71.41% C 2.61% Dockerfile 0.24% Shell 0.12% HTML 6.42% CSS 0.75% JavaScript 17.93%

force's Introduction

Force

Force is an event processing and infrastructure automation framework.

Makefiles create an easy way to build targets and projects.

.force scripts create event-driven workflows with multiple services combined together: Github to Docker builds, Slack to Kubernetes Deployments.

Status

Current version is not even alpha, use at your own risk (0.0.18).

Documentation

Read the docs at https://force.gravitational.co

Goals

It should be easy and fun to define declarative event-driven workflows for infrastructure projects.

  • The tooling will be tailored to detect loops, inefficiencies in event-driven workflows.
  • Should make it easy and manageable to have an even driven distributed system running on Kubernetes or on developer's laptop.
  • Should be a single binary with no external dependencies.
  • Should not invent a new syntax and use Go syntax for everything.
  • It should be trivial to build a simple CI/CD system for a small project.

Non goals

It is not a general purpose event workflow tool, it's designed for cloud native infrastructure projects.

Batteries included

Force already includes out of the box plugins for:

  • Local and Kubernetes-native linux Docker builds.
  • Github and git integration
  • AWS S3
  • SSH
  • Slack

Soon force will include out of the box plugins for:

  • Better integration with Kubernetes.
  • Other popular source control and code sharing systems - Bitbucket, Gitlab.
  • Event queues - Redis, Kafka, AWS SQS.

Design concepts for language geeks

Rationale

There should be a high level abstraction, a glue language to describe modern cloud-native workloads.

Current state of the system using YAML is not good enough, as it produces very complex systems that are very hard to troubleshoot, debug and install.

Originals

Force is an interpreted mix of Go and [Scheme](https://en.wikipedia.org/wiki/Scheme_(programming_language).

Go makes it fun to work with concurrently running processes because it derives it's design from the CSP.

[Scheme](https://en.wikipedia.org/wiki/Scheme_(programming_language) is a higher-level functional language, and Force uses it's functional declarative style that will work well for cloud-native workloads where state is propagated across distributed infrastructure. Scheme's immutable and functional approach should work well

Status

This is work in progress and draft.

Please send your feedback to [email protected] who is working on this project as a research activity.

force's People

Contributors

klizhentas avatar webvictim avatar gravitational-jenkins avatar pierrebeaucamp avatar undergreen avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.