work

package module
v0.0.0-...-5cb6459 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 29, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

README

slack

Kubework - Get stuff done with Kubernetes

Work Image

Quickstart

kubectl create namespace work
kubectl apply -n work -f https://raw.githubusercontent.com/kubework/work/stable/manifests/install.yaml

What is Kubework?

Kubework is a collection of tools for getting work done with Kubernetes.

  • Work Workflows - Container-native Workflow Engine
  • Work CD - Declarative GitOps Continuous Delivery
  • Work Events - Event-based Dependency Manager
  • Work Rollouts - Deployment CR with support for Canary and Blue Green deployment strategies

Also kubework-labs is a separate GitHub org that we setup for community contributions related to the Kubework ecosystem. Repos in kubework-labs are administered by the owners of each project. Please reach out to us on the Work slack channel if you have a project that you would like to add to the org to make it easier to others in the Work community to find, use, and contribute back.

What is Work Workflows?

Work Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Work Workflows is implemented as a Kubernetes CRD (Custom Resource Definition).

  • Define workflows where each step in the workflow is a container.
  • Model multi-step workflows as a sequence of tasks or capture the dependencies between tasks using a graph (DAG).
  • Easily run compute intensive jobs for machine learning or data processing in a fraction of the time using Work Workflows on Kubernetes.
  • Run CI/CD pipelines natively on Kubernetes without configuring complex software development products.

Why Work Workflows?

  • Designed from the ground up for containers without the overhead and limitations of legacy VM and server-based environments.
  • Cloud agnostic and can run on any Kubernetes cluster.
  • Easily orchestrate highly parallel jobs on Kubernetes.
  • Work Workflows puts a cloud-scale supercomputer at your fingertips!

Documentation

Features

  • DAG or Steps based declaration of workflows
  • Artifact support (S3, Artifactory, HTTP, Git, raw)
  • Step level input & outputs (artifacts/parameters)
  • Loops
  • Parameterization
  • Conditionals
  • Timeouts (step & workflow level)
  • Retry (step & workflow level)
  • Resubmit (memoized)
  • Suspend & Resume
  • Cancellation
  • K8s resource orchestration
  • Exit Hooks (notifications, cleanup)
  • Garbage collection of completed workflow
  • Scheduling (affinity/tolerations/node selectors)
  • Volumes (ephemeral/existing)
  • Parallelism limits
  • Daemoned steps
  • DinD (docker-in-docker)
  • Script steps

Who uses Work?

As the Work Community grows, we'd like to keep track of our users. Please send a PR with your organization name.

Currently officially using Work:

  1. Adevinta
  2. Admiralty
  3. Adobe
  4. Alibaba Cloud
  5. Ant Financial
  6. BasisAI
  7. BioBox Analytics
  8. BlackRock
  9. Canva
  10. Capital One
  11. CarTrack
  12. CCRi
  13. Codec
  14. Commodus Tech
  15. CoreFiling
  16. Cratejoy
  17. CyberAgent
  18. Cyrus Biotechnology
  19. Datadog
  20. DataStax
  21. EBSCO Information Services
  22. Equinor
  23. Fairwinds
  24. Gardener
  25. GitHub
  26. Gladly
  27. Google
  28. Greenhouse
  29. HOVER
  30. IBM
  31. InsideBoard
  32. Interline Technologies
  33. Intuit
  34. Karius
  35. KintoHub
  36. Localytics
  37. Maersk
  38. Max Kelsen
  39. Mirantis
  40. NVIDIA
  41. OVH
  42. Peak AI
  43. Preferred Networks
  44. Quantibio
  45. Ramboll Shair
  46. Red Hat
  47. SAP Fieldglass
  48. SAP Hybris
  49. Sidecar Technologies
  50. Styra
  51. Threekit
  52. Tiger Analytics
  53. Wavefront

Community Blogs and Presentations

Project Resources

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Version

type Version struct {
	Version      string
	BuildDate    string
	GitCommit    string
	GitTag       string
	GitTreeState string
	GoVersion    string
	Compiler     string
	Platform     string
}

Version contains Work version information

func GetVersion

func GetVersion() Version

GetVersion returns the version information

func (Version) String

func (v Version) String() string

Directories

Path Synopsis
cmd
examples
persist
pkg
apiclient/cronworkflow
Package cronworkflow is a reverse proxy.
Package cronworkflow is a reverse proxy.
apiclient/info
Package info is a reverse proxy.
Package info is a reverse proxy.
apiclient/workflow
Package workflow is a reverse proxy.
Package workflow is a reverse proxy.
apiclient/workflowarchive
Package workflowarchive is a reverse proxy.
Package workflowarchive is a reverse proxy.
apiclient/workflowtemplate
Package workflowtemplate is a reverse proxy.
Package workflowtemplate is a reverse proxy.
apis/workflow/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/workflow/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/workflow/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
server
api
cmd
Package cmd provides functionally common to various work CLIs
Package cmd provides functionally common to various work CLIs
workflow

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL