项目作者: xh4

项目描述 :
Common LISP Kubernetes Client
高级语言: Common Lisp
项目地址: git://github.com/xh4/cube.git
创建时间: 2018-05-10T08:19:36Z
项目社区:https://github.com/xh4/cube

开源协议:MIT License

下载


Common LISP Kubernetes Client

Kubernetes client library for Common LISP generated from the Swagger specification.

Usage

After downloading this repository, add it’s path to asdf:*central-registry*

  1. * (ql:quickload :cube)
  2. ; => (:CUBE)

Config & Context

By default, the library will use the current-context in the default config file (~/.kube/config).

you can use a different context by

  1. * (load-default-config :context "macrokube")

or use a different config file

  1. * (load-config #p"/path/to/my/config")

Examples

Creating a Redis Master Deployment

  1. (let* ((labels '(("app" . "redis")
  2. ("role" . "master")
  3. ("tier" . "backend")))
  4. (container (make-instance 'container
  5. :name "master"
  6. :image "k8s.gcr.io/redis:e2e"
  7. :resources
  8. (make-instance 'resource-requirements
  9. :requests '(("cpu" . "100m")
  10. ("memory" . "100Mi")))
  11. :ports (list
  12. (make-instance 'container-port
  13. :container-port 6379))))
  14. (pod-spec (make-instance 'pod-spec
  15. :containers (list container)))
  16. (pod-template-spec (make-instance 'pod-template-spec
  17. :metadata (make-instance 'object-meta
  18. :labels labels)
  19. :spec pod-spec))
  20. (deployment-spec (make-instance 'deployment-spec
  21. :selector (make-instance 'label-selector
  22. :match-labels labels)
  23. :replicas 1
  24. :template pod-template-spec))
  25. (deployment (make-instance 'deployment
  26. :metadata (make-instance 'object-meta
  27. :name "redis-master")
  28. :spec deployment-spec)))
  29. (create-namespaced-deployment deployment "default"))