programming-kubernetes / cnat

Licence: Apache-2.0 license
Example Kubernetes controller: the cloud native at command

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to cnat

k8s-notify
Turn kubernetes events into useful notifications & alerts
Stars: ✭ 46 (-68.71%)
Mutual labels:  operator
openshift-disconnected-operators
No description or website provided.
Stars: ✭ 52 (-64.63%)
Mutual labels:  operator
radondb-clickhouse-kubernetes
Open Source,High Availability Cluster,based on ClickHouse
Stars: ✭ 54 (-63.27%)
Mutual labels:  operator
minikube-operator
An operator for Minikube - Kubernetes on Kubernetes
Stars: ✭ 26 (-82.31%)
Mutual labels:  operator
grafana-operator
An operator for Grafana that installs and manages Grafana instances, Dashboards and Datasources through Kubernetes/OpenShift CRs
Stars: ✭ 449 (+205.44%)
Mutual labels:  operator
terraform-operator
A Kubernetes CRD to handle terraform operations
Stars: ✭ 204 (+38.78%)
Mutual labels:  operator
codis-operator
Codis Operator creates and manages codis clusters(proxy based Redis cluster solution) running in kubernetes.(WIP)
Stars: ✭ 21 (-85.71%)
Mutual labels:  operator
elastalert-operator
The Elastalert Operator is an implementation of a Kubernetes Operator, to easily integrate elastalert with gitops.
Stars: ✭ 18 (-87.76%)
Mutual labels:  operator
namespace-provisioner
A Kubernetes operator creating K8s resources by annotating namespaces
Stars: ✭ 52 (-64.63%)
Mutual labels:  operator
vmq-operator
VerneMQ Operator creates/configures/manages VerneMQ clusters atop Kubernetes
Stars: ✭ 27 (-81.63%)
Mutual labels:  operator
operator-manifests
Artisanally packaged Kubernetes Operators
Stars: ✭ 15 (-89.8%)
Mutual labels:  operator
loki-operator
viaq.github.io/loki-operator/
Stars: ✭ 30 (-79.59%)
Mutual labels:  operator
kaos
Kinda Chaos Monkey for Kubernetes
Stars: ✭ 18 (-87.76%)
Mutual labels:  operator
oracle-database-operator
The Oracle Database Operator for Kubernetes (a.k.a. OraOperator) helps developers, DBAs, DevOps and GitOps teams reduce the time and complexity of deploying and managing Oracle Databases. It eliminates the dependency on a human operator or administrator for the majority of database operations.
Stars: ✭ 74 (-49.66%)
Mutual labels:  operator
horusec-platform
Horusec Platform is a set of web services that integrate with the Horusec CLI to facilitate the visualization and management of found vulnerabilities.
Stars: ✭ 32 (-78.23%)
Mutual labels:  operator
bilrost
Kubernetes controller/operator to set up OAUTH2/OIDC security on any ingress based service
Stars: ✭ 17 (-88.44%)
Mutual labels:  operator
ibm-spectrum-scale-csi
The IBM Spectrum Scale Container Storage Interface (CSI) project enables container orchestrators, such as Kubernetes and OpenShift, to manage the life-cycle of persistent storage.
Stars: ✭ 41 (-72.11%)
Mutual labels:  operator
mysql-operator
A Kubernetes Operator for MySQL Community Server
Stars: ✭ 21 (-85.71%)
Mutual labels:  operator
skywalking-swck
Apache SkyWalking Cloud on Kubernetes
Stars: ✭ 62 (-57.82%)
Mutual labels:  operator
wildfly-operator
Kubernetes Operator for WildFly
Stars: ✭ 28 (-80.95%)
Mutual labels:  operator

cnat

The cnat (cloud native at) command extends Kubernetes to run a command at a certain point in time in the future, akin to the Linux at command.

Let's say you want to execute echo YAY at 2am on 3rd July 2019. Here's what you would do (given the cnat CRD has been registered and the according operator is running):

$ cat runat.yaml
apiVersion: cnat.programming-kubernetes.info/v1alpha1
kind: At
metadata:
  name: example-at
spec:
  schedule: "2019-07-03T02:00:00Z"
  command: "echo YAY"


$ kubectl apply -f runat.yaml
cnat.programming-kubernetes.info/example-at created

$ kubectl get at
NAME               AGE
example-at         20s

$ kubectl logs example-at-pod
YAY

Note that the execution time (schedule) is given in UTC.

In order to use the cnat custom resource, you have to run the respective custom controller, implemented here in three different ways:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].