oam-kubernetes-runtime

module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: May 18, 2020 License: Apache-2.0

README

OAM Kubernetes Runtime

go.dev reference

The OAM Kubernetes runtime project is a collection of Golang helper libraries and OAM api type definitions.

It is designed to help OAM platform builders rather than being used directly by developers or end-users. We would recommend end-users to check Crossplane official documentation instead.

In addition, we created this library with the following goals in mind

  • All OAM Kubernetes platform builders use and contribute to this library.
  • The wide adoption of this library can facilitate workload/trait interoperability among OAM Kubernetes platform builders.

Prerequisites

  1. Golang version 1.12+
  2. Kubernetes version v1.15+ with kubectl configured

Getting started

The functionality of this library can be demonstrated with the following steps:

  • Fork and Clone this project

  • Build the library

make submodules 

make
  • Generate and install CRDs to your Kubernetes cluster
make generate

kubectl apply -f crds/
  • Run OAM sample controller
go run examples/containerized-workload/main.go
  • Apply the sample application configurations
kubectl apply -f examples/containerized-workload/ 
  • Verify that corresponding CRs are emitted.

You should see a ContainerizedWorkload looking like below

kubectl get containerizedworkloads.core.oam.dev  
NAME                         AGE
example-appconfig-workload   12s

And a Manualscalertrait looking like below

kubectl get manualscalertraits.core.oam.dev
NAME                      AGE
example-appconfig-trait   54s

Community, discussion, contribution

You can reach the maintainers of this project at:

Licenses

The OAM Kubernetes runtime is released under the Apache 2.0 license.

Directories

Path Synopsis
Package apis contains Kubernetes API groups
Package apis contains Kubernetes API groups
core
Package core contains Kubernetes API groups for core OAM resources.
Package core contains Kubernetes API groups for core OAM resources.
core/v1alpha2
Package v1alpha2 contains resources relating to the Open Application Model.
Package v1alpha2 contains resources relating to the Open Application Model.
examples
pkg
oam
Package oam contains core OAM types.
Package oam contains core OAM types.
oam/fake
Package fake provides fake OAM resources for use in tests.
Package fake provides fake OAM resources for use in tests.
reconciler
Package reconciler provides reconcilers for OAM workloads and traits.
Package reconciler provides reconcilers for OAM workloads and traits.
reconciler/trait
Package trait provides a reconciler OAM traits.
Package trait provides a reconciler OAM traits.
reconciler/workload
Package workload provides a reconciler that for OAM workloads.
Package workload provides a reconciler that for OAM workloads.
trait
Package trait provides functions used to modify Kubernetes objects that have been translated from OAM workloads.
Package trait provides functions used to modify Kubernetes objects that have been translated from OAM workloads.
workload
Package workload provides functions used to translate OAM workload types into Kubernetes objects.
Package workload provides functions used to translate OAM workload types into Kubernetes objects.
test

Jump to

Keyboard shortcuts

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