Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/psykube/psykube
A faster way to deploy to Kubernetes!
https://github.com/psykube/psykube
deployment kubernetes
Last synced: 4 months ago
JSON representation
A faster way to deploy to Kubernetes!
- Host: GitHub
- URL: https://github.com/psykube/psykube
- Owner: psykube
- License: mit
- Created: 2016-12-13T23:34:28.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-06-03T16:08:38.000Z (over 2 years ago)
- Last Synced: 2024-10-29T16:20:36.693Z (4 months ago)
- Topics: deployment, kubernetes
- Language: Crystal
- Homepage: https://psykube.github.io/psykube
- Size: 4.17 MB
- Stars: 107
- Watchers: 10
- Forks: 10
- Open Issues: 3
-
Metadata Files:
- Readme: README.adoc
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Psykube
:toc: macroimage:https://img.shields.io/github/release/psykube/psykube.svg["Releases", link="https://github.com/psykube/psykube/releases"] image:https://img.shields.io/github/license/psykube/psykube.svg["License", link="https://github.com/psykube/psykube/blob/master/LICENSE"] image:https://img.shields.io/travis/psykube/psykube.svg["Travis", link="https://travis-ci.org/psykube/psykube"]
Kubernetes is a powerful tool, but configuring with it and working with the
various commands can be complex and tedious. Psykube aims to make your application
configuration more concise and to make interacting with your application more
simple and PaaS-like.'''
toc::[]
'''## Functionality Overview
* Combine configuration of various files into one simplified manifest.
* Easily assign schedule `CronJobs` for your application.
* Easily specify different pieces of configuration for different clusters.
* Build, Push, and Apply in a single command.psykube apply
* `exec` into an application pod without looking up a `Pod` name.
psykube exec
* `port-forward` a port without looking up a `Pod` name.
psykube port-forward
* Specify `Jobs` for your application and run them easily from the command line.
psykube run-job migrate
* Easily understand the status of your application.
psykube status
* Tail the logs of all the running pods in your application.
psykube logs
## Installation
### Mac OSX via Homebrew
```sh
brew tap psykube/homebrew
brew install psykube
```### CI and Linux Environments
```sh
curl -fsSL https://raw.githubusercontent.com/psykube/psykube/master/travis.sh | bash
```### From source
#### Prerequisites
```sh
brew install crystal-lang
```#### Compiling
You can follow the steps below to clone and compile psykube. Once compiled you
can find the binary at `./bin/psykube`.```sh
git clone git@github:psykube/psykube.git
shards build psykube
```## Getting Started
### Initialize and Configure the Project
To get started, run `psykube init` inside your project. For details on how to
configure the manifest, see link:./documentation/configuration[documentation/configuration].### Apply Changes
Use `psykube apply` to build the docker image, push it to the specified registry,
and apply the generated kubernetes manifests. Psykube will ensure that the generated
manifests are properly linked together. A typical application may include:* A link:https://kubernetes.io/docs/concepts/workloads/controllers/deployment[Deployment] for the application.
* A link:https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap[ConfigMap] to hold configuration.
* A link:https://kubernetes.io/docs/concepts/configuration/secret[Secret] to hold sensitive information.
* A link:https://kubernetes.io/docs/concepts/services-networking/service[Service] to expose the application to the cluster.
* An link:https://kubernetes.io/docs/concepts/services-networking/ingress[Ingress] to expose the application to the internet.## More Reading
Psykube makes things simple, but due to the sheer amount of use cases it covers,
you can read more in the documentation section in link:./docs[docs].