Skip to content

Commit da190c2

Browse files
committed
init drop
0 parents  commit da190c2

File tree

1,841 files changed

+678774
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,841 files changed

+678774
-0
lines changed

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.vscode
2+
k9s.log
3+
.envrc
4+
cov.out
5+
execs
6+
k9s
7+
samples
8+
dist
9+
notes
10+
styles

.goreleaser.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
project_name: k9s
2+
before:
3+
hooks:
4+
# you may remove this if you don't use vgo
5+
- go mod download
6+
# you may remove this if you don't need go generate
7+
- go generate ./...
8+
9+
release:
10+
prerelease: true
11+
12+
builds:
13+
- env:
14+
- CGO_ENABLED=0
15+
goos:
16+
- linux
17+
- darwin
18+
- windows
19+
goarch:
20+
- 386
21+
- amd64
22+
ldflags:
23+
- -s -w -X github.com/k8sland/k9s/cmd.version={{.Version}} -X github.com/k8sland/k9s/cmd.commit={{.Commit}} -X github.com/k8sland/k9s/cmd.date={{.Date}}
24+
25+
archive:
26+
replacements:
27+
darwin: Darwin
28+
linux: Linux
29+
windows: Windows
30+
386: i386
31+
amd64: x86_64
32+
checksum:
33+
name_template: 'checksums.txt'
34+
snapshot:
35+
name_template: "{{ .Tag }}-next"
36+
changelog:
37+
sort: asc
38+
filters:
39+
exclude:
40+
- '^docs:'
41+
- '^test:'
42+
43+
# Homebrew
44+
brew:
45+
name: k9s
46+
github:
47+
owner: k8sland
48+
name: k9s-homebrew-tap
49+
commit_author:
50+
name: k8sland
51+
email: fernand@k8sland.io
52+
folder: Formula
53+
homepage: https://k9ss.io
54+
description: A CLI to interact with your Kubernetes clusters
55+
test: |
56+
system "k9s version"

.semaphore/semaphore.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
version: v1.0
2+
name: First pipeline example
3+
agent:
4+
machine:
5+
type: e1-standard-2
6+
os_image: ubuntu1804
7+
8+
blocks:
9+
- name: "Build"
10+
task:
11+
env_vars:
12+
- name: APP_ENV
13+
value: prod
14+
jobs:
15+
- name: Docker build
16+
commands:
17+
- checkout
18+
- ls -1
19+
- echo $APP_ENV
20+
- echo "Docker build..."
21+
- echo "done"
22+
23+
- name: "Smoke tests"
24+
task:
25+
jobs:
26+
- name: Smoke
27+
commands:
28+
- checkout
29+
- echo "make smoke"
30+
31+
- name: "Unit tests"
32+
task:
33+
jobs:
34+
- name: RSpec
35+
commands:
36+
- checkout
37+
- echo "make rspec"
38+
39+
- name: Lint code
40+
commands:
41+
- checkout
42+
- echo "make lint"
43+
44+
- name: Check security
45+
commands:
46+
- checkout
47+
- echo "make security"
48+
49+
- name: "Integration tests"
50+
task:
51+
jobs:
52+
- name: Cucumber
53+
commands:
54+
- checkout
55+
- echo "make cucumber"
56+
57+
- name: "Push Image"
58+
task:
59+
jobs:
60+
- name: Push
61+
commands:
62+
- checkout
63+
- echo "make docker.push"

.travis.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
language: go
2+
go_import_path: github.com/k8sland/k9s
3+
go:
4+
- 1.11.2
5+
# - master
6+
7+
os:
8+
- linux
9+
- osx
10+
11+
dist: trusty
12+
sudo: false
13+
14+
install: true
15+
16+
env:
17+
- GO111MODULE=on
18+
19+
script:
20+
- go build
21+
- go test ./...

CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
k9ss.io

LICENSE

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Copyright © 2018, Imhotep Software LLC <fernand@k8sland.io>
2+
All rights reserved.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and

Makefile

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
NAME := k9s
2+
PACKAGE := github.com/k8sland/$(NAME)
3+
VERSION := $(shell git rev-parse --short HEAD)
4+
5+
default: help
6+
7+
cover: ## Run test coverage suite
8+
@go test ./... --coverprofile=cov.out
9+
@go tool cover --html=cov.out
10+
11+
osx: ## Builds OSX CLI
12+
@env GOOS=darwin GOARCH=amd64 go build \
13+
-ldflags "-w -X ${PACKAGE}/cmd.Version=${VERSION}" \
14+
-a -tags netgo -o execs/${NAME} *.go
15+
16+
17+
help:
18+
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[38;5;69m%-30s\033[38;5;168m %s\n", $$1, $$2}'

README.md

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
<img src="assets/logo_w.png">
2+
3+
# K9s - Kubernetes Screens
4+
5+
A Kubernetes CLI written in GO and curses to interact with your clusters. The initial
6+
aim of this project is to make it simpler to navigate and diagnose a cluster.
7+
8+
<br/>
9+
10+
---
11+
12+
[![Go Report Card](https://goreportcard.com/badge/github.com/k8sland/k9s)](https://goreportcard.com/report/github.com/k8sland/k9s)
13+
[![Build Status](https://travis-ci.org/k8sland/k9s.svg?branch=master)](https://travis-ci.org/k8sland/k9s)
14+
15+
16+
<br/>
17+
18+
---
19+
## Description
20+
21+
K9s is a CLI for Kubernetes. It provides a bit more information about your cluster
22+
than *kubectl* while allowing to perform primordial Kubernetes commands with
23+
ease.
24+
25+
At the time of this writing, K9s only supports a subset of all available Kubernetes
26+
resources. More will be added soon (please PR us to add your favorite resource!)
27+
28+
<br/>
29+
30+
---
31+
## Installation
32+
33+
### Homebrew (OSX)
34+
35+
```shell
36+
brew tap k8sland/k9s https://github.com/k8sland/k9s-homebrew-tap.git
37+
brew install k9s
38+
```
39+
40+
### Binary Releases
41+
42+
- [Releases](https://github.com/k8sland/k9s/releases)
43+
44+
45+
46+
<br/>
47+
48+
---
49+
## Features
50+
51+
> Note: K9s does not have an idiot light. Please be sure to hit the correct command
52+
> sequences to avoid pilot errors. `Are you sure?` not in effect here...
53+
54+
+ K9s uses 2 or 3 letters alias to navigate to a K8s resource
55+
+ At any time you can use `?<Enter>` to look up the various commands
56+
+ Use `alias<Enter>` to activate a resource under that alias
57+
+ Use `Esc` to erase previous keystrokes.
58+
+ Use `Q` or `Ctrl-C` to Quit.
59+
+ `Ctrl` sequences are used to view, edit, delete, ssh ...
60+
+ Use `ctx<Enter>` to see and switch between your clusters
61+
62+
<br/>
63+
64+
---
65+
## Video Demo
66+
67+
+ [K9s Demo](https://youtu.be/k7zseUhaXeU)
68+
69+
70+
<br/>
71+
72+
---
73+
## Screen Shots
74+
75+
### Pod View
76+
77+
<img src="assets/screen_1.png">
78+
79+
### Log View
80+
81+
<img src="assets/screen_2.png">
82+
83+
<br/>
84+
85+
---
86+
## Known Issues...
87+
88+
This initial drop is brittle. K9s will most likely blow up if...
89+
90+
+ Your kube-config file does not live under $HOME/.kube or you use multiple configs
91+
+ You don't have enough RBAC fu to manage your cluster
92+
+ Your cluster does not run a metrics-server
93+
+ You have more than 9 namespaces
94+
+ Most likely will bork on older Kubernetes revs. Guessing > 1.9+ is Ok??
95+
+ Not sure at this time about the ill effects for large clusters??
96+
+ Many others for sure...
97+
98+
<br/>
99+
100+
---
101+
## Disclaimer
102+
103+
This is still work in progress! If there is enough interest in the Kubernetes
104+
community, we will enhance per your recommendations/contributions. Also if you
105+
dig this effort, please let us know that too!
106+
107+
<br/>
108+
109+
---
110+
## ATTA Girls/Boys!
111+
112+
K9s sits on top of two very cool GO projects that provides the much needed terminal
113+
support. So big thanks and shootout to the good folks at tcell+tview for
114+
making K9s a reality!!
115+
116+
+ [tcell](https://github.com/gdamore/tcell)
117+
+ [tview](https://github.com/rivo/tview)
118+
119+
120+
<br/>
121+
122+
---
123+
## Contact Information
124+
125+
+ **Email**: fernand@k8sland.io
126+
+ **Twitter**: [@kitesurfer](https://twitter.com/kitesurfer?lang=en)
127+
+ **Github**: [K9s](https://github.com/k8sland/k9s)
128+
<br/>
129+
130+
---
131+
<img src="assets/imhotep_logo.png" width="32" height="auto"/> © 2018 Imhotep Software LLC.
132+
All materials licensed under [Apache v2.0](http://www.apache.org/licenses/LICENSE-2.0)

assets/imhotep_logo.png

7.17 KB
Loading

assets/logo.png

23.3 KB
Loading

0 commit comments

Comments
 (0)