Skip to content

Commit 350b1f8

Browse files
committed
First commit to master branch
0 parents  commit 350b1f8

25 files changed

+2424
-0
lines changed

.gitignore

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
#### Terraform .gitignore template
2+
## Comment path that would like to get ignored
3+
4+
### Basic .gitignore
5+
# **/terraform.tfstate
6+
**/terraform.tfstate.backup
7+
**/terraform.tfplan
8+
**/.terraform/**
9+
**/terraform.tfstate.d/**
10+
**/*.tfplan
11+
**/terraform_plugins/**
12+
backend.hcl
13+
*.hcl
14+
*.lock.hcl
15+
# only for snd
16+
#backend.tf
17+
#*.tfvars
18+
19+
### https://raw.githubusercontent.com/hashicorp/terraform/master/.gitignore
20+
*.dll
21+
*.exe
22+
.DS_Store
23+
example.tf
24+
terraform.tfplan
25+
terraform.tfstate
26+
tf.out
27+
.vagrant/
28+
*.backup
29+
./*.tfstate
30+
errored.tfstate
31+
.terraform/
32+
*.log
33+
*.bak
34+
*~
35+
.*.swp
36+
.idea
37+
*.iml
38+
*.test
39+
*.iml
40+
#.envrc
41+
42+
### https://raw.github.com/github/gitignore/abad92dac5a4306f72242dae3bca6e277bce3615/Global/Vim.gitignore
43+
44+
# swap
45+
[._]*.s[a-w][a-z]
46+
[._]s[a-w][a-z]
47+
# session
48+
Session.vim
49+
# temporary
50+
.netrwhist
51+
*~
52+
# auto-generated tag files
53+
tags
54+
55+
### Ignore .DS_Store on MAC
56+
.DS_Store
57+
.DS_Store?
58+
59+
### Temporary dir for CodeDeploy
60+
build/
61+
.build
62+
dummy.zip
63+
64+
terraform.tfstate*
65+
*.tgz
66+
*.pem
67+
*.pub
68+
*.env
69+
*.icloud
70+
*.id_rsa
71+
logs
72+
.idea
73+
dist
74+
75+
terraform/modules/**
76+
test/**

.goreleaser.yml

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# This is an example goreleaser.yaml file with some sane defaults.
2+
# Make sure to check the documentation at http://goreleaser.com
3+
before:
4+
hooks:
5+
# You may remove this if you don't use go modules.
6+
- go mod download
7+
8+
builds:
9+
- id: "k8s-context"
10+
main: ./src/main.go
11+
env:
12+
# - GOOS=linux
13+
# - GOARCH=amd64
14+
- CGO_ENABLED=0
15+
goos:
16+
- linux
17+
- windows
18+
- darwin
19+
20+
archives:
21+
- id: "archive-k8s-context"
22+
name_template: "authc_{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
23+
builds: # Builds reference which build instances should be archived in this archive.
24+
- "goapp"
25+
replacements:
26+
darwin: Darwin
27+
linux: Linux
28+
windows: Windows
29+
386: i386
30+
amd64: x86_64
31+
allow_different_binary_count: true
32+
33+
checksum:
34+
name_template: 'checksums.txt'
35+
36+
snapshot:
37+
name_template: "{{ .Tag }}-next"
38+
39+
changelog:
40+
sort: asc
41+
filters:
42+
exclude:
43+
- '^docs:'
44+
- '^test:'

CHANGELOG.md

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Kubernetes Change Context (k8s-context)
2+
3+
Customize Kubernetes Change Context (KUBECONFIG)
4+
5+
![goreport](https://goreportcard.com/badge/github.com/devopscorner/k8s-context)
6+
![all contributors](https://img.shields.io/github/contributors/devopscorner/k8s-context)
7+
![tags](https://img.shields.io/github/v/tag/devopscorner/k8s-context?sort=semver)
8+
[![docker pulls](https://img.shields.io/docker/pulls/devopscorner/k8s-context.svg)](https://hub.docker.com/r/devopscorner/k8s-context/)
9+
![download all](https://img.shields.io/github/downloads/devopscorner/k8s-context/total.svg)
10+
![view](https://views.whatilearened.today/views/github/devopscorner/k8s-context.svg)
11+
![clone](https://img.shields.io/badge/dynamic/json?color=success&label=clone&query=count&url=https://github.com/devopscorner/k8s-context/blob/master/clone.json?raw=True&logo=github)
12+
![issues](https://img.shields.io/github/issues/devopscorner/k8s-context)
13+
![pull requests](https://img.shields.io/github/issues-pr/devopscorner/k8s-context)
14+
![forks](https://img.shields.io/github/forks/devopscorner/k8s-context)
15+
![stars](https://img.shields.io/github/stars/devopscorner/k8s-context)
16+
[![license](https://img.shields.io/github/license/devopscorner/k8s-context)](https://img.shields.io/github/license/devopscorner/k8s-context)
17+
18+
## Available Tags
19+
20+
### Alpine
21+
22+
| Image name | Size |
23+
|------------|------|
24+
| `devopscorner/k8s-context:latest` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/latest.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1&ordering=last_updated&name=latest) |
25+
| `devopscorner/k8s-context:alpine` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/alpine.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1&ordering=last_updated&name=alpine) |
26+
| `devopscorner/k8s-context:alpine-latest` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/alpine-latest.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1&ordering=last_updated&name=alpine-latest) |
27+
| `devopscorner/k8s-context:alpine-3.15` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/alpine-3.15.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1&ordering=last_updated&name=alpine-3.15) |
28+
| `devopscorner/k8s-context:go1.19-alpine3.15` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.19-alpine3.15.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1&ordering=last_updated&name=go1.19-alpine3.15) |
29+
| `devopscorner/k8s-context:go1.19.3-alpine3.15` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.19.3-alpine3.15.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1&ordering=last_updated&name=go1.19.3-alpine3.15) |
30+
| `devopscorner/k8s-context:alpine-3.16` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/alpine-3.16.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1&ordering=last_updated&name=alpine-3.16) |
31+
| `devopscorner/k8s-context:go1.19-alpine3.16` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.19-alpine3.16.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1&ordering=last_updated&name=go1.19-alpine3.16) |
32+
| `devopscorner/k8s-context:go1.19.5-alpine3.16` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.19.5-alpine3.16.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1&ordering=last_updated&name=go1.19.5-alpine3.16) |
33+
| `devopscorner/k8s-context:alpine-3.17` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/alpine-3.17.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1&ordering=last_updated&name=alpine-3.17) |
34+
| `devopscorner/k8s-context:go1.19-alpine3.17` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.19-alpine3.17.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1&ordering=last_updated&name=go1.19-alpine3.17) |
35+
| `devopscorner/k8s-context:go1.19.5-alpine3.17` | [![docker image size](https://img.shields.io/docker/image-size/devopscorner/k8s-context/go1.19.5-alpine3.17.svg?label=Image%20size&logo=docker)](https://hub.docker.com/repository/docker/devopscorner/k8s-context/tags?page=1&ordering=last_updated&name=go1.19.5-alpine3.17) |
36+
37+
38+
---
39+
40+
### version 1.0
41+
42+
- First deployment GO Apps
43+
- Script build image
44+
- Script ecr-tag & ecr-push
45+
- Helm deployment values
46+
- Upgrade gomod, using GO `1.17`
47+
- Dockerfile using `golang:1.17-alpine3.15`

Dockerfile

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
### Builder ###
2+
FROM golang:1.19.5-alpine3.17 as builder
3+
4+
WORKDIR /go/src/app
5+
ENV GIN_MODE=release
6+
ENV GOPATH=/go
7+
8+
RUN apk add --no-cache \
9+
build-base \
10+
git \
11+
curl \
12+
make \
13+
bash
14+
15+
COPY src /go/src/app
16+
17+
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 \
18+
cd /go/src/app && \
19+
go build -mod=readonly -ldflags="-s -w" -o goapp
20+
21+
### Binary ###
22+
FROM golang:1.19.5-alpine3.17
23+
24+
ARG BUILD_DATE
25+
ARG BUILD_VERSION
26+
ARG GIT_COMMIT
27+
ARG GIT_URL
28+
29+
ENV VENDOR="DevOpsCornerId"
30+
ENV AUTHOR="DevOpsCorner.id <[email protected]>"
31+
ENV IMG_NAME="alpine"
32+
ENV IMG_VERSION="3.17"
33+
ENV IMG_DESC="Docker GO App Alpine 3.17"
34+
ENV IMG_ARCH="amd64/x86_64"
35+
36+
ENV ALPINE_VERSION="3.17"
37+
38+
LABEL maintainer="$AUTHOR" \
39+
architecture="$IMG_ARCH" \
40+
ubuntu-version="$ALPINE_VERSION" \
41+
org.label-schema.build-date="$BUILD_DATE" \
42+
org.label-schema.name="$IMG_NAME" \
43+
org.label-schema.description="$IMG_DESC" \
44+
org.label-schema.vcs-ref="$GIT_COMMIT" \
45+
org.label-schema.vcs-url="$GIT_URL" \
46+
org.label-schema.vendor="$VENDOR" \
47+
org.label-schema.version="$BUILD_VERSION" \
48+
org.label-schema.schema-version="$IMG_VERSION" \
49+
org.opencontainers.image.authors="$AUTHOR" \
50+
org.opencontainers.image.description="$IMG_DESC" \
51+
org.opencontainers.image.vendor="$VENDOR" \
52+
org.opencontainers.image.version="$IMG_VERSION" \
53+
org.opencontainers.image.revision="$GIT_COMMIT" \
54+
org.opencontainers.image.created="$BUILD_DATE" \
55+
fr.hbis.docker.base.build-date="$BUILD_DATE" \
56+
fr.hbis.docker.base.name="$IMG_NAME" \
57+
fr.hbis.docker.base.vendor="$VENDOR" \
58+
fr.hbis.docker.base.version="$BUILD_VERSION"
59+
60+
ENV GIN_MODE=release
61+
COPY --from=builder /go/src/app/goapp /usr/local/bin/goapp
62+
63+
ENTRYPOINT ["/usr/local/bin/goapp"]
64+
EXPOSE 8080

Dockerfile.alpine-3.15

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
### Builder ###
2+
FROM golang:1.19.3-alpine3.15 as builder
3+
4+
WORKDIR /go/src/app
5+
ENV GIN_MODE=release
6+
ENV GOPATH=/go
7+
8+
RUN apk add --no-cache \
9+
build-base \
10+
git \
11+
curl \
12+
make \
13+
bash
14+
15+
COPY src /go/src/app
16+
17+
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 \
18+
cd /go/src/app && \
19+
go build -mod=readonly -ldflags="-s -w" -o goapp
20+
21+
### Binary ###
22+
FROM golang:1.19.3-alpine3.15
23+
24+
ARG BUILD_DATE
25+
ARG BUILD_VERSION
26+
ARG GIT_COMMIT
27+
ARG GIT_URL
28+
29+
ENV VENDOR="DevOpsCornerId"
30+
ENV AUTHOR="DevOpsCorner.id <[email protected]>"
31+
ENV IMG_NAME="alpine"
32+
ENV IMG_VERSION="3.15"
33+
ENV IMG_DESC="Docker GO App Alpine 3.15"
34+
ENV IMG_ARCH="amd64/x86_64"
35+
36+
ENV ALPINE_VERSION="3.15"
37+
38+
LABEL maintainer="$AUTHOR" \
39+
architecture="$IMG_ARCH" \
40+
ubuntu-version="$ALPINE_VERSION" \
41+
org.label-schema.build-date="$BUILD_DATE" \
42+
org.label-schema.name="$IMG_NAME" \
43+
org.label-schema.description="$IMG_DESC" \
44+
org.label-schema.vcs-ref="$GIT_COMMIT" \
45+
org.label-schema.vcs-url="$GIT_URL" \
46+
org.label-schema.vendor="$VENDOR" \
47+
org.label-schema.version="$BUILD_VERSION" \
48+
org.label-schema.schema-version="$IMG_VERSION" \
49+
org.opencontainers.image.authors="$AUTHOR" \
50+
org.opencontainers.image.description="$IMG_DESC" \
51+
org.opencontainers.image.vendor="$VENDOR" \
52+
org.opencontainers.image.version="$IMG_VERSION" \
53+
org.opencontainers.image.revision="$GIT_COMMIT" \
54+
org.opencontainers.image.created="$BUILD_DATE" \
55+
fr.hbis.docker.base.build-date="$BUILD_DATE" \
56+
fr.hbis.docker.base.name="$IMG_NAME" \
57+
fr.hbis.docker.base.vendor="$VENDOR" \
58+
fr.hbis.docker.base.version="$BUILD_VERSION"
59+
60+
ENV GIN_MODE=release
61+
COPY --from=builder /go/src/app/goapp /usr/local/bin/goapp
62+
63+
ENTRYPOINT ["/usr/local/bin/goapp"]
64+
EXPOSE 8080

Dockerfile.alpine-3.16

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
### Builder ###
2+
FROM golang:1.19.5-alpine3.16 as builder
3+
4+
WORKDIR /go/src/app
5+
ENV GIN_MODE=release
6+
ENV GOPATH=/go
7+
8+
RUN apk add --no-cache \
9+
build-base \
10+
git \
11+
curl \
12+
make \
13+
bash
14+
15+
COPY src /go/src/app
16+
17+
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 \
18+
cd /go/src/app && \
19+
go build -mod=readonly -ldflags="-s -w" -o goapp
20+
21+
### Binary ###
22+
FROM golang:1.19.5-alpine3.16
23+
24+
ARG BUILD_DATE
25+
ARG BUILD_VERSION
26+
ARG GIT_COMMIT
27+
ARG GIT_URL
28+
29+
ENV VENDOR="DevOpsCornerId"
30+
ENV AUTHOR="DevOpsCorner.id <[email protected]>"
31+
ENV IMG_NAME="alpine"
32+
ENV IMG_VERSION="3.16"
33+
ENV IMG_DESC="Docker GO App Alpine 3.16"
34+
ENV IMG_ARCH="amd64/x86_64"
35+
36+
ENV ALPINE_VERSION="3.16"
37+
38+
LABEL maintainer="$AUTHOR" \
39+
architecture="$IMG_ARCH" \
40+
ubuntu-version="$ALPINE_VERSION" \
41+
org.label-schema.build-date="$BUILD_DATE" \
42+
org.label-schema.name="$IMG_NAME" \
43+
org.label-schema.description="$IMG_DESC" \
44+
org.label-schema.vcs-ref="$GIT_COMMIT" \
45+
org.label-schema.vcs-url="$GIT_URL" \
46+
org.label-schema.vendor="$VENDOR" \
47+
org.label-schema.version="$BUILD_VERSION" \
48+
org.label-schema.schema-version="$IMG_VERSION" \
49+
org.opencontainers.image.authors="$AUTHOR" \
50+
org.opencontainers.image.description="$IMG_DESC" \
51+
org.opencontainers.image.vendor="$VENDOR" \
52+
org.opencontainers.image.version="$IMG_VERSION" \
53+
org.opencontainers.image.revision="$GIT_COMMIT" \
54+
org.opencontainers.image.created="$BUILD_DATE" \
55+
fr.hbis.docker.base.build-date="$BUILD_DATE" \
56+
fr.hbis.docker.base.name="$IMG_NAME" \
57+
fr.hbis.docker.base.vendor="$VENDOR" \
58+
fr.hbis.docker.base.version="$BUILD_VERSION"
59+
60+
ENV GIN_MODE=release
61+
COPY --from=builder /go/src/app/goapp /usr/local/bin/goapp
62+
63+
ENTRYPOINT ["/usr/local/bin/goapp"]
64+
EXPOSE 8080

0 commit comments

Comments
 (0)