A Kubernetes Operator, that would help all the DevOps teams to accelerate their Journey into the cloud and K8s. OAM operator scaffolds all of the code required to create resources across various cloud provides, which includes both K8s and Non-K8s resources. For example an user can create all the required resources for the application ( K8s resources like Deployments, Statefulsets, Ingresses, Non-k8s resources like S3, RDS, EKS clusters ) with 10 lines of YAML. See Example Usage
- Kubernetes 1.18-1.22
- OpenShift 3.11, 4.4-4.8
- kubebuilder 3.1.0
- controller-gen 0.4.1
- kustomize 3.8.7
$ make install
Deploy the CustomResourceDefinitions (CRDs) for the operator.
kubectl apply -k config/crds/
$ make deploy
$ kubectl create -f config/samples/apps_v1beta1_application.yaml
$ kubectl describe Application web-app
Name: web-app
API Version: apps.oam.cfcn.io/v1beta1
Kind: Application
Metadata:
Finalizers:
finalizer.app
Spec:
Application Name: web-app
Cloud:
Aws:
s3: true
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Created 24s Application Created S3 Bucket
Normal Created 24s Application Created HPA
Normal Created 24s Application Created Service
Normal Created 23s Application Created Deployment
Normal Created 23s Application Created Ingress
$ make uninstall
$ make undeploy
- Add Support to Multiple Cloud Providers
- Support Consul Injectors
- Add Support to External Providers
- Add Support to GitOps Deployments