All Projects → xh4 → cube

xh4 / cube

Licence: MIT license
Common LISP Kubernetes Client

Programming Languages

common lisp
692 projects

Projects that are alternatives of or similar to cube

sttp-openapi-generator
Generate sttp client from openapi specification with ease!
Stars: ✭ 26 (-21.21%)
Mutual labels:  http-client, openapi
bow-openapi
🌐 Functional HTTP client generator from an OpenAPI/Swagger specification.
Stars: ✭ 47 (+42.42%)
Mutual labels:  http-client, openapi
Martian
The HTTP abstraction library for Clojure/script, supporting Swagger, Schema, re-frame and more
Stars: ✭ 294 (+790.91%)
Mutual labels:  http-client, openapi
sugar
Declarative HTTP client for Golang
Stars: ✭ 25 (-24.24%)
Mutual labels:  http-client
flink-client
Java library for managing Apache Flink via the Monitoring REST API
Stars: ✭ 48 (+45.45%)
Mutual labels:  openapi
req
Req is a batteries-included HTTP client for Elixir.
Stars: ✭ 453 (+1272.73%)
Mutual labels:  http-client
httper
An asynchronous HTTP(S) client built on top of hyper.
Stars: ✭ 16 (-51.52%)
Mutual labels:  http-client
hackernews
📰 HackerNews API
Stars: ✭ 40 (+21.21%)
Mutual labels:  http-client
zkits-requester
Zero dependency HTTP client.
Stars: ✭ 13 (-60.61%)
Mutual labels:  http-client
aliyun-openapi-sdk-net-core
aliyun open api sdk for .net core 2.0
Stars: ✭ 17 (-48.48%)
Mutual labels:  openapi
android-http-client
Simple and lightweight HTTP client for Android
Stars: ✭ 13 (-60.61%)
Mutual labels:  http-client
tinyspec
Simple syntax for describing REST APIs
Stars: ✭ 95 (+187.88%)
Mutual labels:  openapi
fennch
Modern fetch-based axios-like HTTP client for the browser and node.js
Stars: ✭ 12 (-63.64%)
Mutual labels:  http-client
go-sse
Fully featured, spec-compliant HTML5 server-sent events library
Stars: ✭ 165 (+400%)
Mutual labels:  http-client
arcus.webapi
Web API development with Microsoft Azure in a breeze.
Stars: ✭ 19 (-42.42%)
Mutual labels:  openapi
simplehttp
HTTP client for Elixir without dependencies
Stars: ✭ 16 (-51.52%)
Mutual labels:  http-client
Shareaza
Shareaza is a peer-to-peer client for Windows that allows you to download any file-type found on several popular P2P networks.
Stars: ✭ 103 (+212.12%)
Mutual labels:  http-client
matador
Take your appclication by the horns
Stars: ✭ 59 (+78.79%)
Mutual labels:  http-client
nest-rest-typeorm-boilerplate
🍱 backend with nest (typescript), typeorm, and authentication
Stars: ✭ 142 (+330.3%)
Mutual labels:  openapi
hedgedhttp
Hedged HTTP client which helps to reduce tail latency at scale.
Stars: ✭ 103 (+212.12%)
Mutual labels:  http-client

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*

* (ql:quickload :cube)
; => (: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

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

or use a different config file

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

Examples

Creating a Redis Master Deployment

(let* ((labels '(("app" . "redis")
                 ("role" . "master")
                 ("tier" . "backend")))
       (container (make-instance 'container
                                 :name "master"
                                 :image "k8s.gcr.io/redis:e2e"
                                 :resources
                                 (make-instance 'resource-requirements
                                                :requests '(("cpu" . "100m")
                                                            ("memory" . "100Mi")))
                                 :ports (list
                                         (make-instance 'container-port
                                                        :container-port 6379))))
       (pod-spec (make-instance 'pod-spec
                                :containers (list container)))
       (pod-template-spec (make-instance 'pod-template-spec
                                         :metadata (make-instance 'object-meta
                                                                  :labels labels)
                                         :spec pod-spec))
       (deployment-spec (make-instance 'deployment-spec
                                       :selector (make-instance 'label-selector
                                                                :match-labels labels)
                                       :replicas 1
                                       :template pod-template-spec))
       (deployment (make-instance 'deployment
                                  :metadata (make-instance 'object-meta
                                                           :name "redis-master")
                                  :spec deployment-spec)))
  (create-namespaced-deployment deployment "default"))
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].