mirror of
https://github.com/stefanprodan/podinfo.git
synced 2026-04-07 03:26:54 +00:00
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cbf1d671df | ||
|
|
f6987a0a09 | ||
|
|
ea93f3ed9f | ||
|
|
2fc253a7c7 | ||
|
|
c83e19a217 | ||
|
|
a9a1252a22 | ||
|
|
046a9a4852 | ||
|
|
4d78abdad8 | ||
|
|
f8b32fa130 | ||
|
|
a30fb535de | ||
|
|
8d662334a2 | ||
|
|
4ed9271783 | ||
|
|
97157694be | ||
|
|
bf92728234 | ||
|
|
bd31f8b23e | ||
|
|
f7c8061ac0 | ||
|
|
943f4e26ab | ||
|
|
f44909ef77 | ||
|
|
1af24bd3cd |
10
.github/actions/docker/Dockerfile
vendored
10
.github/actions/docker/Dockerfile
vendored
@@ -1,17 +1,15 @@
|
||||
FROM docker:stable
|
||||
|
||||
LABEL "name"="Docker tag and push action"
|
||||
LABEL "maintainer"="Stefan Prodan <support@gweave.works>"
|
||||
LABEL "maintainer"="Stefan Prodan <support@weave.works>"
|
||||
LABEL "version"="1.0.0"
|
||||
|
||||
LABEL "com.github.actions.icon"="terminal"
|
||||
LABEL "com.github.actions.color"="gray-dark"
|
||||
LABEL "com.github.actions.icon"="package"
|
||||
LABEL "com.github.actions.color"="green"
|
||||
LABEL "com.github.actions.name"="Docker Publish"
|
||||
LABEL "com.github.actions.description"="This is an Action to run docker tag and push commands."
|
||||
|
||||
RUN apk update \
|
||||
&& apk add --no-cache ca-certificates bash git curl \
|
||||
&& (apk info | xargs -n1 -I{} apk --quiet add {}-doc); true \
|
||||
RUN apk add --no-cache ca-certificates bash git curl \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
|
||||
16
.github/actions/docker/entrypoint.sh
vendored
16
.github/actions/docker/entrypoint.sh
vendored
@@ -4,8 +4,6 @@ set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
echo "Starting tag and push for image ${DOCKER_IMAGE} release ${GITHUB_REF}"
|
||||
|
||||
DOCKER_TAG="latest"
|
||||
if [[ "${GITHUB_REF}" == "refs/tags"* ]]; then
|
||||
DOCKER_TAG=$(echo ${GITHUB_REF} | rev | cut -d/ -f1 | rev)
|
||||
@@ -13,7 +11,15 @@ else
|
||||
DOCKER_TAG=$(echo ${GITHUB_REF} | rev | cut -d/ -f1 | rev)-$(echo ${GITHUB_SHA} | head -c7)
|
||||
fi
|
||||
|
||||
docker tag app ${DOCKER_IMAGE}:${DOCKER_TAG}
|
||||
docker push ${DOCKER_IMAGE}:${DOCKER_TAG}
|
||||
if [[ "$1" == "build" ]]; then
|
||||
docker build -t ${DOCKER_IMAGE}:${DOCKER_TAG} \
|
||||
--build-arg REPOSITORY=${GITHUB_REPOSITORY} \
|
||||
--build-arg SHA=${GITHUB_SHA} -f $2 .
|
||||
echo "Docker image tagged as ${DOCKER_IMAGE}:${DOCKER_TAG}"
|
||||
fi
|
||||
|
||||
if [[ "$1" == "push" ]]; then
|
||||
docker push ${DOCKER_IMAGE}:${DOCKER_TAG}
|
||||
echo "Docker image pushed to ${DOCKER_IMAGE}:${DOCKER_TAG}"
|
||||
fi
|
||||
|
||||
echo "Docker image pushed to ${DOCKER_IMAGE}:${DOCKER_TAG}"
|
||||
|
||||
20
.github/actions/golang/Dockerfile
vendored
Normal file
20
.github/actions/golang/Dockerfile
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
FROM golang:1.10
|
||||
|
||||
LABEL "name"="golang tools action"
|
||||
LABEL "maintainer"="Stefan Prodan <support@weave.works>"
|
||||
LABEL "version"="1.0.0"
|
||||
|
||||
LABEL "com.github.actions.icon"="code"
|
||||
LABEL "com.github.actions.color"="green-dark"
|
||||
LABEL "com.github.actions.name"="Go Tools"
|
||||
LABEL "com.github.actions.description"="This is an Action to run go and dep commands."
|
||||
|
||||
ENV DEP_VERSION="v0.5.0"
|
||||
|
||||
RUN curl -fL -o /usr/local/bin/dep https://github.com/golang/dep/releases/download/${DEP_VERSION}/dep-linux-amd64 \
|
||||
&& chmod +x /usr/local/bin/dep
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
|
||||
26
.github/actions/golang/entrypoint.sh
vendored
Executable file
26
.github/actions/golang/entrypoint.sh
vendored
Executable file
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
set -e
|
||||
|
||||
APP_DIR="/go/src/github.com/${GITHUB_REPOSITORY}/"
|
||||
|
||||
mkdir -p ${APP_DIR} && cp -r ./ ${APP_DIR} && cd ${APP_DIR}
|
||||
|
||||
if [[ "$1" == "fmt" ]]; then
|
||||
echo "Running go fmt"
|
||||
files=$(gofmt -l $(find . -type f -name '*.go' -not -path "./vendor/*") 2>&1)
|
||||
if [ "$files" ]; then
|
||||
echo "These files did not pass the gofmt check:"
|
||||
echo ${files}
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$1" == "test" ]]; then
|
||||
echo "Running go test"
|
||||
go test $(go list ./... | grep -v /vendor/) -race -coverprofile=coverage.txt -covermode=atomic
|
||||
cat coverage.txt
|
||||
fi
|
||||
30
.github/main.workflow
vendored
30
.github/main.workflow
vendored
@@ -1,21 +1,35 @@
|
||||
workflow "Publish container" {
|
||||
on = "push"
|
||||
resolves = ["Docker tag and push"]
|
||||
resolves = ["Push"]
|
||||
}
|
||||
|
||||
action "Test and build" {
|
||||
uses = "actions/docker/cli@master"
|
||||
args = "build -t app -f Dockerfile.ci ."
|
||||
action "Lint" {
|
||||
uses = "./.github/actions/golang"
|
||||
args = "fmt"
|
||||
}
|
||||
|
||||
action "Docker login" {
|
||||
needs = ["Test and build"]
|
||||
action "Test" {
|
||||
needs = ["Lint"]
|
||||
uses = "./.github/actions/golang"
|
||||
args = "test"
|
||||
}
|
||||
|
||||
action "Build" {
|
||||
needs = ["Test"]
|
||||
uses = "./.github/actions/docker"
|
||||
secrets = ["DOCKER_IMAGE"]
|
||||
args = ["build", "Dockerfile.gh"]
|
||||
}
|
||||
|
||||
action "Login" {
|
||||
needs = ["Build"]
|
||||
uses = "actions/docker/login@master"
|
||||
secrets = ["DOCKER_USERNAME", "DOCKER_PASSWORD"]
|
||||
}
|
||||
|
||||
action "Docker tag and push" {
|
||||
needs = ["Docker login"]
|
||||
action "Push" {
|
||||
needs = ["Login"]
|
||||
uses = "./.github/actions/docker"
|
||||
secrets = ["DOCKER_IMAGE"]
|
||||
args = "push"
|
||||
}
|
||||
|
||||
39
Dockerfile.gh
Normal file
39
Dockerfile.gh
Normal file
@@ -0,0 +1,39 @@
|
||||
FROM golang:1.11 as builder
|
||||
|
||||
ARG REPOSITORY
|
||||
ARG SHA
|
||||
|
||||
RUN mkdir -p /go/src/github.com/${REPOSITORY}/
|
||||
|
||||
WORKDIR /go/src/github.com/${REPOSITORY}
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build \
|
||||
-ldflags "-s -w -X github.com/${REPOSITORY}/pkg/version.REVISION=${SHA}" \
|
||||
-a -installsuffix cgo -o podinfo ./cmd/podinfo \
|
||||
&& mv podinfo /usr/local/bin/podinfo
|
||||
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build \
|
||||
-ldflags "-s -w -X github.com/${REPOSITORY}/pkg/version.REVISION=${SHA}" \
|
||||
-a -installsuffix cgo -o podcli ./cmd/podcli \
|
||||
&& mv podcli /usr/local/bin/podcli
|
||||
|
||||
FROM alpine:3.8
|
||||
|
||||
RUN addgroup -S app \
|
||||
&& adduser -S -g app app \
|
||||
&& apk --no-cache add \
|
||||
curl openssl netcat-openbsd
|
||||
|
||||
WORKDIR /home/app
|
||||
|
||||
COPY --from=builder /usr/local/bin/podinfo .
|
||||
COPY --from=builder /usr/local/bin/podcli /usr/local/bin/podcli
|
||||
COPY ./ui ./ui
|
||||
|
||||
RUN chown -R app:app ./
|
||||
|
||||
USER app
|
||||
|
||||
CMD ["./podinfo"]
|
||||
17
Makefile.gh
Normal file
17
Makefile.gh
Normal file
@@ -0,0 +1,17 @@
|
||||
DOCKER_IMAGE?=stefanprodan/k8s-podinfo
|
||||
DOCKER_TAG?=$(shell git symbolic-ref --short HEAD)
|
||||
GIT_REPOSITORY?=stefanprodan/k8s-podinfo
|
||||
GIT_SHA:=$(shell git describe --dirty --always)
|
||||
|
||||
.PHONY: all
|
||||
all: test build
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
go test ./...
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
docker build -t $(DOCKER_IMAGE):$(DOCKER_TAG) \
|
||||
--build-arg REPOSITORY=${GIT_REPOSITORY} \
|
||||
--build-arg SHA=${GIT_SHA} -f Dockerfile.gh .
|
||||
@@ -2,4 +2,4 @@ apiVersion: v1
|
||||
appVersion: "1.0"
|
||||
description: A Ngrok Helm chart for Kubernetes
|
||||
name: ngrok
|
||||
version: 0.1.0
|
||||
version: 0.2.0
|
||||
|
||||
@@ -41,6 +41,7 @@ Parameter | Description | Default
|
||||
`service.type` | type of service | `ClusterIP`
|
||||
`token` | Ngrok auth token | `none`
|
||||
`expose.service` | Service address to be exposed as in `service-name:port` | `none`
|
||||
`subdomain` | Ngrok subdomain | `none`
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
||||
|
||||
|
||||
@@ -28,6 +28,9 @@ spec:
|
||||
command:
|
||||
- ./ngrok
|
||||
- http
|
||||
{{- if .Values.subdomain }}
|
||||
- --subdomain={{ .Values.subdomain }}
|
||||
{{- end }}
|
||||
- {{ .Values.expose.service }}
|
||||
volumeMounts:
|
||||
- name: config
|
||||
|
||||
@@ -23,3 +23,5 @@ nodeSelector: {}
|
||||
tolerations: []
|
||||
|
||||
affinity: {}
|
||||
|
||||
subdomain:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
apiVersion: v1
|
||||
version: 1.3.0
|
||||
appVersion: 1.3.0
|
||||
version: 1.4.0
|
||||
appVersion: 1.4.0
|
||||
name: podinfo
|
||||
engine: gotpl
|
||||
description: Podinfo Helm chart for Kubernetes
|
||||
|
||||
@@ -12,7 +12,7 @@ faults:
|
||||
|
||||
image:
|
||||
repository: quay.io/stefanprodan/podinfo
|
||||
tag: 1.3.0
|
||||
tag: 1.4.0
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
service:
|
||||
|
||||
@@ -102,9 +102,8 @@ func runCodeInit(cmd *cobra.Command, args []string) error {
|
||||
}
|
||||
}
|
||||
|
||||
files := []string{"Gopkg.toml", "Gopkg.lock", "Dockerfile.ci"}
|
||||
files := []string{"Gopkg.toml", "Gopkg.lock"}
|
||||
for _, file := range files {
|
||||
|
||||
if err := copyFile(path.Join(tmpPath, versionName, file), path.Join(codeProjectPath, file)); err != nil {
|
||||
log.Fatalf("Error: %s", err)
|
||||
os.Exit(1)
|
||||
@@ -124,6 +123,42 @@ func runCodeInit(cmd *cobra.Command, args []string) error {
|
||||
}
|
||||
}
|
||||
|
||||
projFrom := "stefanprodan/k8s-podinfo"
|
||||
projTo := fmt.Sprintf("%s/%s", codeGitUser, codeProjectName)
|
||||
|
||||
makeFiles := []string{"Makefile.gh", "Dockerfile.gh"}
|
||||
for _, file := range makeFiles {
|
||||
fileContent, err := ioutil.ReadFile(path.Join(tmpPath, versionName, file))
|
||||
if err != nil {
|
||||
log.Fatalf("Error: %s", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
destFile := strings.Replace(file, ".gh", "", -1)
|
||||
newContent := strings.Replace(string(fileContent), projFrom, projTo, -1)
|
||||
err = ioutil.WriteFile(path.Join(codeProjectPath, destFile), []byte(newContent), os.ModePerm)
|
||||
if err != nil {
|
||||
log.Fatalf("Error: %s", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
workflows := []string{".github/main.workflow"}
|
||||
for _, file := range workflows {
|
||||
fileContent, err := ioutil.ReadFile(path.Join(codeProjectPath, file))
|
||||
if err != nil {
|
||||
log.Fatalf("Error: %s", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
newContent := strings.Replace(string(fileContent), "Dockerfile.gh", "Dockerfile", -1)
|
||||
err = ioutil.WriteFile(path.Join(codeProjectPath, file), []byte(newContent), os.ModePerm)
|
||||
if err != nil {
|
||||
log.Fatalf("Error: %s", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
err = gitPush()
|
||||
if err != nil {
|
||||
log.Fatalf("git push error: %s", err)
|
||||
@@ -135,8 +170,9 @@ func runCodeInit(cmd *cobra.Command, args []string) error {
|
||||
}
|
||||
|
||||
func gitPush() error {
|
||||
cmd := exec.Command("sh", "-c", "git add . && git commit -m \"init\" && git push")
|
||||
output , err := cmd.Output()
|
||||
cmdPush := fmt.Sprintf("git add . && git commit -m \"sync %s\" && git push", codeVersion)
|
||||
cmd := exec.Command("sh", "-c", cmdPush)
|
||||
output, err := cmd.Output()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -168,7 +204,7 @@ func replaceImports(projectPath string, pkgFrom string, pkgTo string) error {
|
||||
matches := regexImport.FindAllString(content, -1)
|
||||
isExists := false
|
||||
|
||||
isReplacable:
|
||||
isReplaceable:
|
||||
for _, each := range matches {
|
||||
for _, eachLine := range strings.Split(each, "\n") {
|
||||
matchesInline := regexImportedPackage.FindAllString(eachLine, -1)
|
||||
@@ -179,7 +215,7 @@ func replaceImports(projectPath string, pkgFrom string, pkgTo string) error {
|
||||
for _, eachSubline := range matchesInline {
|
||||
if strings.Contains(eachSubline, pkgFrom) {
|
||||
isExists = true
|
||||
break isReplacable
|
||||
break isReplaceable
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -204,10 +240,6 @@ func replaceImports(projectPath string, pkgFrom string, pkgTo string) error {
|
||||
fmt.Println("ERROR", err.Error())
|
||||
}
|
||||
|
||||
//for _, path := range found {
|
||||
// fmt.Printf("found in %s\n", path)
|
||||
//}
|
||||
|
||||
if len(found) == 0 {
|
||||
fmt.Println("Nothing replaced")
|
||||
} else {
|
||||
|
||||
@@ -9,10 +9,10 @@ Create a private repository named `demo-app` on GitHub and navigate to Settings/
|
||||
Install podinfo CLI:
|
||||
|
||||
```bash
|
||||
go get -u github.com/stefanprodan/k8s-podinfo/cmd/podcli
|
||||
brew install weaveworks/tap/podcli
|
||||
```
|
||||
|
||||
If you don't have golang installed go to the
|
||||
For linux or Windows go to the
|
||||
[release page](https://github.com/stefanprodan/k8s-podinfo/releases), download the latest podcli release and add it to your path.
|
||||
|
||||
Clone your private repository (preferable in your `$GOPATH`) and initialize podinfo.
|
||||
@@ -21,12 +21,14 @@ Clone your private repository (preferable in your `$GOPATH`) and initialize podi
|
||||
git clone https://github.com/stefanprodan/demo-app
|
||||
cd demo-app
|
||||
|
||||
podcli code init demo-app --git-user=stefanprodan --version=v1.3.0
|
||||
podcli code init demo-app --git-user=stefanprodan --version=v1.3.1
|
||||
```
|
||||
|
||||
The above command does the following:
|
||||
* downloads podinfo source code v1.3.0 from GitHub
|
||||
* replaces golang import with your git username and project name
|
||||
* downloads podinfo source code v1.3.1 from GitHub
|
||||
* replaces golang imports with your git username and project name
|
||||
* creates a Dockerfile and Makefile customized for GitHub actions
|
||||
* creates the main workflow for GitHub actions
|
||||
* commits and pushes the code to GitHub
|
||||
|
||||
When the code init command finishes, GitHub will test, build and push a Docker image
|
||||
@@ -34,3 +36,5 @@ When the code init command finishes, GitHub will test, build and push a Docker i
|
||||
|
||||
If you create a GitHub release a Docker image with the format `${DOCKER_IMAGE}:${GIT-TAG}` will be published to Docker Hub.
|
||||
|
||||

|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -3,9 +3,9 @@ entries:
|
||||
ambassador:
|
||||
- apiVersion: v1
|
||||
appVersion: 0.29.0
|
||||
created: 2018-10-26T15:31:43.278264+03:00
|
||||
created: 2018-11-28T12:00:06.117061+02:00
|
||||
description: A Helm chart for Datawire Ambassador
|
||||
digest: cc98bdb12f62987f1b67abe5c07b020c53b4744890c96a6029ade34b5db2a81c
|
||||
digest: f44e35a5cd11957fd0afd7d9f0bc728d8a5c20388fe654dfaa9d477ab02f3e86
|
||||
engine: gotpl
|
||||
maintainers:
|
||||
- email: stefanprodan@users.noreply.github.com
|
||||
@@ -19,9 +19,9 @@ entries:
|
||||
grafana:
|
||||
- apiVersion: v1
|
||||
appVersion: "1.0"
|
||||
created: 2018-10-26T15:31:43.279121+03:00
|
||||
created: 2018-11-28T12:00:06.117608+02:00
|
||||
description: A Helm chart for Kubernetes
|
||||
digest: 67c3b569c35f08119d9019ca40d6923536e5b2030a377ee48c013dd94c931dad
|
||||
digest: 63258cdceca7fa93f35e457876da67ac401133531ba5f5cba6d294651054d94c
|
||||
name: grafana
|
||||
urls:
|
||||
- https://stefanprodan.github.io/k8s-podinfo/grafana-0.1.0.tgz
|
||||
@@ -29,9 +29,9 @@ entries:
|
||||
loadtest:
|
||||
- apiVersion: v1
|
||||
appVersion: "1.0"
|
||||
created: 2018-10-26T15:31:43.279354+03:00
|
||||
created: 2018-11-28T12:00:06.117776+02:00
|
||||
description: Hey load test Helm chart for Kubernetes
|
||||
digest: a6090952068f5350c25e597879deb6f92edac04f85dc6ddfb469e50d59d721ab
|
||||
digest: b468d864ea20d0f9629bd7525525d2517c065a5f0d55ab00b3bed7e4f33fb6ed
|
||||
name: loadtest
|
||||
urls:
|
||||
- https://stefanprodan.github.io/k8s-podinfo/loadtest-0.1.0.tgz
|
||||
@@ -39,17 +39,58 @@ entries:
|
||||
ngrok:
|
||||
- apiVersion: v1
|
||||
appVersion: "1.0"
|
||||
created: 2018-10-26T15:31:43.279638+03:00
|
||||
created: 2018-11-28T12:00:06.118723+02:00
|
||||
description: A Ngrok Helm chart for Kubernetes
|
||||
digest: 0d3c902456901657fbe676279abed5d0d1adc8c039fa0c595cda311780faf3f9
|
||||
digest: 70168b0c9292ab514f969a4b444f92ebe0d3764a2a91917dc3e95dd78d5226fb
|
||||
name: ngrok
|
||||
urls:
|
||||
- https://stefanprodan.github.io/k8s-podinfo/ngrok-0.2.0.tgz
|
||||
version: 0.2.0
|
||||
- apiVersion: v1
|
||||
appVersion: "1.0"
|
||||
created: 2018-11-28T12:00:06.118449+02:00
|
||||
description: A Ngrok Helm chart for Kubernetes
|
||||
digest: 5678de7c8aac246df507f40b3f4f8fd6d06f4447e636398819a232dd26e1fc41
|
||||
name: ngrok
|
||||
urls:
|
||||
- https://stefanprodan.github.io/k8s-podinfo/ngrok-0.1.0.tgz
|
||||
version: 0.1.0
|
||||
podinfo:
|
||||
- apiVersion: v1
|
||||
appVersion: 1.4.0
|
||||
created: 2018-11-28T12:00:06.128209+02:00
|
||||
description: Podinfo Helm chart for Kubernetes
|
||||
digest: d30a844229125217f85d5c52ceb48c980f47027a5a1f9ee5c41bac44b9d18088
|
||||
engine: gotpl
|
||||
home: https://github.com/stefanprodan/k8s-podinfo
|
||||
maintainers:
|
||||
- email: stefanprodan@users.noreply.github.com
|
||||
name: stefanprodan
|
||||
name: podinfo
|
||||
sources:
|
||||
- https://github.com/stefanprodan/k8s-podinfo
|
||||
urls:
|
||||
- https://stefanprodan.github.io/k8s-podinfo/podinfo-1.4.0.tgz
|
||||
version: 1.4.0
|
||||
- apiVersion: v1
|
||||
appVersion: 1.3.1
|
||||
created: 2018-11-28T12:00:06.127802+02:00
|
||||
description: Podinfo Helm chart for Kubernetes
|
||||
digest: 9116966f2b1300655be11669789842a3d01e326fe1feb205198df3ba22bac3a5
|
||||
engine: gotpl
|
||||
home: https://github.com/stefanprodan/k8s-podinfo
|
||||
maintainers:
|
||||
- email: stefanprodan@users.noreply.github.com
|
||||
name: stefanprodan
|
||||
name: podinfo
|
||||
sources:
|
||||
- https://github.com/stefanprodan/k8s-podinfo
|
||||
urls:
|
||||
- https://stefanprodan.github.io/k8s-podinfo/podinfo-1.3.1.tgz
|
||||
version: 1.3.1
|
||||
- apiVersion: v1
|
||||
appVersion: 1.3.0
|
||||
created: 2018-10-26T15:31:43.288141+03:00
|
||||
created: 2018-11-28T12:00:06.12649+02:00
|
||||
description: Podinfo Helm chart for Kubernetes
|
||||
digest: 7111b868a11014ab56da11b7edbea9ce0d1a483500969252f66c9ae1943bac67
|
||||
engine: gotpl
|
||||
@@ -65,7 +106,7 @@ entries:
|
||||
version: 1.3.0
|
||||
- apiVersion: v1
|
||||
appVersion: 1.2.1
|
||||
created: 2018-10-26T15:31:43.286784+03:00
|
||||
created: 2018-11-28T12:00:06.125804+02:00
|
||||
description: Podinfo Helm chart for Kubernetes
|
||||
digest: c750c1d4a7606a06cd89ae4433431c7e3ecf2ccc9a0e5f6baa26095397bd72da
|
||||
engine: gotpl
|
||||
@@ -81,7 +122,7 @@ entries:
|
||||
version: 1.2.1
|
||||
- apiVersion: v1
|
||||
appVersion: 1.2.0
|
||||
created: 2018-10-26T15:31:43.285692+03:00
|
||||
created: 2018-11-28T12:00:06.125071+02:00
|
||||
description: Podinfo Helm chart for Kubernetes
|
||||
digest: 24460e15e6da77106eb5212cd683dc2c1d4404b927be6b9f0c89433ba865722e
|
||||
engine: gotpl
|
||||
@@ -97,7 +138,7 @@ entries:
|
||||
version: 1.2.0
|
||||
- apiVersion: v1
|
||||
appVersion: 1.1.0
|
||||
created: 2018-10-26T15:31:43.28491+03:00
|
||||
created: 2018-11-28T12:00:06.123714+02:00
|
||||
description: Podinfo Helm chart for Kubernetes
|
||||
digest: 973d60c629d7ae476776098ad6b654d78d91f91b3faa8bc016b94c73c42be094
|
||||
engine: gotpl
|
||||
@@ -113,7 +154,7 @@ entries:
|
||||
version: 1.1.0
|
||||
- apiVersion: v1
|
||||
appVersion: 1.0.0
|
||||
created: 2018-10-26T15:31:43.283974+03:00
|
||||
created: 2018-11-28T12:00:06.1229+02:00
|
||||
description: Podinfo Helm chart for Kubernetes
|
||||
digest: 82068727ba5b552341b14a980e954e27a8517f0ef76aab314c160b0f075e6de4
|
||||
engine: gotpl
|
||||
@@ -129,7 +170,7 @@ entries:
|
||||
version: 1.0.0
|
||||
- apiVersion: v1
|
||||
appVersion: 0.6.0
|
||||
created: 2018-10-26T15:31:43.283093+03:00
|
||||
created: 2018-11-28T12:00:06.122092+02:00
|
||||
description: Podinfo Helm chart for Kubernetes
|
||||
digest: bd25a710eddb3985d3bd921a11022b5c68a04d37cf93a1a4aab17eeda35aa2f8
|
||||
engine: gotpl
|
||||
@@ -145,7 +186,7 @@ entries:
|
||||
version: 0.2.2
|
||||
- apiVersion: v1
|
||||
appVersion: 0.5.1
|
||||
created: 2018-10-26T15:31:43.282334+03:00
|
||||
created: 2018-11-28T12:00:06.121393+02:00
|
||||
description: Podinfo Helm chart for Kubernetes
|
||||
digest: 631ca3e2db5553541a50b625f538e6a1f2a103c13aa8148fdd38baf2519e5235
|
||||
engine: gotpl
|
||||
@@ -161,7 +202,7 @@ entries:
|
||||
version: 0.2.1
|
||||
- apiVersion: v1
|
||||
appVersion: 0.5.0
|
||||
created: 2018-10-26T15:31:43.281504+03:00
|
||||
created: 2018-11-28T12:00:06.120592+02:00
|
||||
description: Podinfo Helm chart for Kubernetes
|
||||
digest: dfe7cf44aef0d170549918b00966422a07e7611f9d0081fb34f5b5beb0641c00
|
||||
engine: gotpl
|
||||
@@ -177,7 +218,7 @@ entries:
|
||||
version: 0.2.0
|
||||
- apiVersion: v1
|
||||
appVersion: 0.3.0
|
||||
created: 2018-10-26T15:31:43.280579+03:00
|
||||
created: 2018-11-28T12:00:06.119829+02:00
|
||||
description: Podinfo Helm chart for Kubernetes
|
||||
digest: 4865a2d8b269cf453935cda9661c2efb82c16411471f8c11221a6d03d9bb58b1
|
||||
engine: gotpl
|
||||
@@ -194,9 +235,9 @@ entries:
|
||||
podinfo-istio:
|
||||
- apiVersion: v1
|
||||
appVersion: 1.2.1
|
||||
created: 2018-10-26T15:31:43.291242+03:00
|
||||
created: 2018-11-28T12:00:06.131282+02:00
|
||||
description: Podinfo Helm chart for Istio
|
||||
digest: cb444efd6e693842296e8832c3c4830752513e69b8e3f589254b74df7e506d8b
|
||||
digest: 7a73e7d64cf75b82764b146a4098a4106f47081d25a0104cc0615b3d41306e9e
|
||||
engine: gotpl
|
||||
home: https://github.com/stefanprodan/k8s-podinfo
|
||||
maintainers:
|
||||
@@ -210,7 +251,7 @@ entries:
|
||||
version: 1.2.1
|
||||
- apiVersion: v1
|
||||
appVersion: 1.2.0
|
||||
created: 2018-10-26T15:31:43.2907+03:00
|
||||
created: 2018-11-28T12:00:06.130776+02:00
|
||||
description: Podinfo Helm chart for Istio
|
||||
digest: 8115e72f232f82eb3e6da1965364cfede7c069f95a627dddac45cfbe6cb90dc4
|
||||
engine: gotpl
|
||||
@@ -226,7 +267,7 @@ entries:
|
||||
version: 1.2.0
|
||||
- apiVersion: v1
|
||||
appVersion: 1.1.0
|
||||
created: 2018-10-26T15:31:43.28986+03:00
|
||||
created: 2018-11-28T12:00:06.129951+02:00
|
||||
description: Podinfo Helm chart for Istio
|
||||
digest: bcceb63ff780a8f0ba0b30997040e4e82170f9cce17c26ec817648ed024c83f5
|
||||
engine: gotpl
|
||||
@@ -242,7 +283,7 @@ entries:
|
||||
version: 0.2.0
|
||||
- apiVersion: v1
|
||||
appVersion: 0.6.0
|
||||
created: 2018-10-26T15:31:43.288999+03:00
|
||||
created: 2018-11-28T12:00:06.129159+02:00
|
||||
description: Podinfo Helm chart for Istio
|
||||
digest: f12f8aa1eca1328e9eaa30bd757f6ed3ff97205e2bf016a47265bc2de6a63d8f
|
||||
engine: gotpl
|
||||
@@ -256,4 +297,4 @@ entries:
|
||||
urls:
|
||||
- https://stefanprodan.github.io/k8s-podinfo/podinfo-istio-0.1.0.tgz
|
||||
version: 0.1.0
|
||||
generated: 2018-10-26T15:31:43.277729+03:00
|
||||
generated: 2018-11-28T12:00:06.116603+02:00
|
||||
|
||||
Binary file not shown.
Binary file not shown.
BIN
docs/ngrok-0.2.0.tgz
Normal file
BIN
docs/ngrok-0.2.0.tgz
Normal file
Binary file not shown.
BIN
docs/podinfo-1.3.1.tgz
Normal file
BIN
docs/podinfo-1.3.1.tgz
Normal file
Binary file not shown.
BIN
docs/podinfo-1.4.0.tgz
Normal file
BIN
docs/podinfo-1.4.0.tgz
Normal file
Binary file not shown.
Binary file not shown.
BIN
docs/screens/github-actions-ci.png
Normal file
BIN
docs/screens/github-actions-ci.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 118 KiB |
@@ -3,8 +3,8 @@ package api
|
||||
import (
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
"regexp"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestDelayHandler(t *testing.T) {
|
||||
|
||||
@@ -3,8 +3,8 @@ package api
|
||||
import (
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestEchoHandler(t *testing.T) {
|
||||
|
||||
@@ -2,7 +2,6 @@ package api
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
)
|
||||
|
||||
func (s *Server) echoHeadersHandler(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
@@ -3,8 +3,8 @@ package api
|
||||
import (
|
||||
"time"
|
||||
|
||||
"go.uber.org/zap"
|
||||
"github.com/gorilla/mux"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
func NewMockServer() *Server {
|
||||
|
||||
@@ -2,7 +2,6 @@ package api
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
)
|
||||
|
||||
func (s *Server) panicHandler(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
@@ -16,5 +16,5 @@ func (s *Server) statusHandler(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
s.JSONResponseCode(w, r, map[string]int{"status": code}, code)
|
||||
s.JSONResponseCode(w, r, map[string]int{"status": code}, code)
|
||||
}
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"net/http"
|
||||
"path"
|
||||
|
||||
"go.uber.org/zap"
|
||||
"github.com/gorilla/mux"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
func (s *Server) storeWriteHandler(w http.ResponseWriter, r *http.Request) {
|
||||
@@ -26,7 +26,7 @@ func (s *Server) storeWriteHandler(w http.ResponseWriter, r *http.Request) {
|
||||
s.ErrorResponse(w, r, "writing file failed", http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
s.JSONResponseCode(w, r, map[string]string{"hash": hash}, http.StatusAccepted)
|
||||
s.JSONResponseCode(w, r, map[string]string{"hash": hash}, http.StatusAccepted)
|
||||
}
|
||||
|
||||
func (s *Server) storeReadHandler(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package version
|
||||
|
||||
var VERSION = "1.3.0"
|
||||
var VERSION = "1.4.1"
|
||||
var REVISION = "unknown"
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<span slot="badge">${ pings }</span>
|
||||
<v-icon left dark>touch_app</v-icon>
|
||||
</v-badge>
|
||||
Ping
|
||||
Ping
|
||||
</v-btn>
|
||||
</v-layout>
|
||||
</v-parallax>
|
||||
@@ -158,6 +158,9 @@
|
||||
}
|
||||
}
|
||||
self.info = data
|
||||
self.info.color = parseInt(data.version.split('.').reverse()[0], 10) === 0
|
||||
? 'blue'
|
||||
: 'green'
|
||||
document.title = data.hostname
|
||||
}
|
||||
xhr.onerror = function() {
|
||||
|
||||
Reference in New Issue
Block a user