Skip to content

Kubernetes operator for instantiating ST4SD virtual experiments on K8s.

License

Notifications You must be signed in to change notification settings

st4sd/st4sd-runtime-k8s

Repository files navigation

ST4SD Runtime K8s

Details

Kubernetes operator for workflows.st4sd.ibm.com.

The documentation of the Workflow schema is in docs/schema.md.

Example

The Workflow object below below instructs Kubernetes/OpenShift to execute the sum-numbers workflow. The tutorial explains the FlowIR implementation of the toy-example sum-numbers.

# Assumes a full ST4SD deployment because it extracts configuration metadata from
# the `st4sd-runtime-service` ConfigMap

apiVersion: st4sd.ibm.com/v1alpha1
kind: Workflow
metadata:
  namespace: sum-numbers
spec:
  package:
    url: https://github.com/st4sd/sum-numbers/
    branch: main

Quick links

Getting started

Requirements

Development

  • Build the binaries: make build

  • If you want to start fresh with a different version of the operator sdk:

    operator-sdk init --domain ibm.com --repo github.com/st4sd/st4sd-runtime-k8s
    operator-sdk create api --group st4sd --version v1alpha1 --kind Workflow --resource --controller --namespaced=true
  • To modify the workflow schema:

    • Modifying workflow_types.go accordingly
    • Execute make generate
    • You may then build the new Custom Resource Definition (CRD): make manifests.
      • Use the new Workflow CRD (e.g. kubectly apply -f config/crd/bases/st4sd.ibm.com_workflows.yaml)

Installing dependencies

Install the dependencies for this project with:

go get .

Developing locally

Coming soon.

Lint and fix files

Coming soon.

Help and Support

Please feel free to reach out to one of the maintainers listed in the MAINTAINERS.md page.

Contributing

We always welcome external contributions. Please see our guidance for details on how to do so.

References

If you use ST4SD in your projects, please consider citing the following:

@software{st4sd_2022,
author = {Johnston, Michael A. and Vassiliadis, Vassilis and Pomponio, Alessandro and Pyzer-Knapp, Edward},
license = {Apache-2.0},
month = {12},
title = {{Simulation Toolkit for Scientific Discovery}},
url = {https://github.com/st4sd/st4sd-runtime-core},
year = {2022}
}

License

This project is licensed under the Apache 2.0 license. Please see details here.