Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic k8s HTTP client #22

Closed
17 tasks
coryodaniel opened this issue Jan 2, 2019 · 1 comment
Closed
17 tasks

Basic k8s HTTP client #22

coryodaniel opened this issue Jan 2, 2019 · 1 comment

Comments

@coryodaniel
Copy link
Owner

coryodaniel commented Jan 2, 2019

Add a basic k8s HTTP client or URL generator for a "batteries included" experience.

I'm not sure that it should be as fully fledged as Kazan. I would rather defer to people to use that library if they needed a full implementation of a k8s client.

Rather, I'd like to include a small wrapper around HTTPoison or simple a URL/Path generator that:

  • encapsulates ssl options and headers w/ K8s.Conf so once its loaded at runtime, it doesnt have to be passed around to each HTTP call (for HTTPoison)
  • ship w/ a default list of namespaced vs clustered resources and make ad-hoc calls to /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/{name} to determine the scope of CRDs
  • Support misc operations (scale, status)

Support the following methods, accepting maps {"apiVersion": "apps/v1", "kind": "Deployment"} for mutations/statuses/reads and tuples {version, kind}|{version, kind, name} for reads/statuses

Write:

  • Create
  • Patch
  • Replace
  • Delete
  • Delete Collection

Read:

  • Read
  • List
  • List All Namespaces

Status:

  • Patch Status
  • Read Status
  • Replace Status

Scale:

  • Read Scale
  • Replace Scale
  • Patch Scale
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant