k8sinclient
v0.2.0
Published
A small client to manage resources inside Kubernetes clusters easily as pc processes
Downloads
5
Maintainers
Readme
Kubernetes In-Cluster Client
Dedicated in-cluster client for object management
Using k8sInClient you get ready to create, kill and search for resources in your cluster like processes inside a PC.
GETTING STARTED
Before install please install docker and kubernetes.
Prerequisites
- nodejs 12.x +
- docker
- kubernetes
Installing
npm install k8sinclient --save
Testing
This project uses Mocha-Chai combination in /test folder
npm test
EXAMPLES
Inserting a job
const Client = require('k8sinclient')
const { Job } = require('../')
const job = new Job()
const jobYaml = {
"apiVersion": "batch/v1",
"kind": "Job",
"metadata": {
"name": "pi-with-ttl"
},
"spec": {
"ttlSecondsAfterFinished": 10,
"template": {
"spec": {
"containers": [{
"name": "pi",
"image": "perl",
"command": [
"perl",
"-Mbignum=bpi",
"-wle",
"print bpi(2000)"
]
}],
"restartPolicy": "Never"
}
}
}
}
job.create('default', jobYaml, (res) => console.log(res.body.metadata))
To get a job
const Client = require('k8sinclient')
const client = new Client()
job.read('default', 'pi-with-ttl', (res) => console.log(res.body))
To delete a job
const Client = require('k8sinclient')
const client = new Client()
job.delete('namespace', 'job', (res) => console.log(res.body))
NOTE: For other resources, just use
<object>.<action>
Where implemented object is instantiated of:
- Job()
- CronJob()
- Deployment()
And implemented action is
- create (message, callback)
- read (message, callback)
- delete (message, callback)
Running
npm start
Release History
- 0.0.1
- CHANGE: Work in progress
- 0.1.1
- ADD: Cronjob and deployment objects
- 0.1.2
- ADD: PVs and PV claims
- 0.1.5
- UPDATE: security faults
- 0.2.0
- UPDATE: security faults
Authors
- GH3S - Initial work - [email protected]
License
This project is licensed under the MIT License - see the LICENSE file for details
Contributing
- Fork it (https://github.com/gh3s/k8sinclient/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request