diff --git a/app/brahma/service/token/Dockerfile b/app/brahma/service/token/Dockerfile new file mode 100755 index 0000000..c7aeece --- /dev/null +++ b/app/brahma/service/token/Dockerfile @@ -0,0 +1,20 @@ +FROM golang:1.17 as builder +ENV GO111MODULE on +ENV GOPROXY https://goproxy.io,direct +WORKDIR /go/cache +ADD go.mod . +ADD go.sum . +RUN go mod download -x +WORKDIR /go/src +ADD . . +RUN go mod tidy +RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o service_token ./app/brahma/service/token + +FROM reg.icechen.cn/alpine as token +WORKDIR /go/src +COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo +COPY --from=builder /go/src/service_token ./ +ENV TZ=Asia/Shanghai +RUN chmod +x ./service_token +EXPOSE 8080 +CMD ["./service_token"] \ No newline at end of file diff --git a/app/brahma/service/token/deploy/.helmignore b/app/brahma/service/token/deploy/.helmignore new file mode 100755 index 0000000..0e8a0eb --- /dev/null +++ b/app/brahma/service/token/deploy/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/app/brahma/service/token/deploy/Chart.yaml b/app/brahma/service/token/deploy/Chart.yaml new file mode 100755 index 0000000..a0495e8 --- /dev/null +++ b/app/brahma/service/token/deploy/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +name: token +description: tokenAuth + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.0.1 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +# It is recommended to use it with quotes. +appVersion: "0.0.1" diff --git a/app/brahma/service/token/deploy/templates/NOTES.txt b/app/brahma/service/token/deploy/templates/NOTES.txt new file mode 100755 index 0000000..3041ade --- /dev/null +++ b/app/brahma/service/token/deploy/templates/NOTES.txt @@ -0,0 +1 @@ +notes \ No newline at end of file diff --git a/app/brahma/service/token/deploy/templates/_helpers.tpl b/app/brahma/service/token/deploy/templates/_helpers.tpl new file mode 100755 index 0000000..e69de29 diff --git a/app/brahma/service/token/deploy/templates/application.yaml b/app/brahma/service/token/deploy/templates/application.yaml new file mode 100755 index 0000000..ec8cc30 --- /dev/null +++ b/app/brahma/service/token/deploy/templates/application.yaml @@ -0,0 +1,20 @@ +apiVersion: app.k8s.io/v1beta1 +kind: Application +metadata: + name: {{ .Release.Name }} + namespace: {{ .Values.nameSpace }} + labels: + app: {{ .Release.Name }} + app.kubernetes.io/version: v1 + app.kubernetes.io/name: {{ .Release.Name }} + version: v1 + annotations: + servicemesh.kubesphere.io/enabled: 'true' +spec: + selector: + matchLabels: + app: {{ .Release.Name }} + app.kubernetes.io/version: v1 + app.kubernetes.io/name: {{ .Release.Name }} + version: v1 + addOwnerRef: true \ No newline at end of file diff --git a/app/brahma/service/token/deploy/templates/deployment.yaml b/app/brahma/service/token/deploy/templates/deployment.yaml new file mode 100755 index 0000000..a84ea82 --- /dev/null +++ b/app/brahma/service/token/deploy/templates/deployment.yaml @@ -0,0 +1,82 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: {{ .Release.Name }} + namespace: {{ .Values.nameSpace }} + labels: + app: {{ .Release.Name }} + app.kubernetes.io/version: v1 + app.kubernetes.io/name: {{ .Release.Name }} + version: v1 + app.kubernetes.io/instance: {{ .Release.Name }} + annotations: + kubesphere.io/alias-name: {{ .Values.aliasName }} + kubesphere.io/creator: drone + meta.helm.sh/release-name: {{ .Release.Name }} + meta.helm.sh/release-namespace: {{ .Values.nameSpace }} +spec: + replicas: 1 + selector: + matchLabels: + app: {{ .Release.Name }} + app.kubernetes.io/version: v1 + app.kubernetes.io/name: {{ .Release.Name }} + version: v1 + app.kubernetes.io/instance: {{ .Release.Name }} + template: + metadata: + labels: + app: {{ .Release.Name }} + app.kubernetes.io/version: v1 + app.kubernetes.io/name: {{ .Release.Name }} + version: v1 + app.kubernetes.io/instance: {{ .Release.Name }} + spec: + volumes: + - name: host-time + hostPath: + path: /etc/localtime + type: '' + containers: + - name: {{ .Release.Name }} + image: {{ .Values.image }}:{{ .Values.imageTag }} + ports: + - containerPort: {{ .Values.port }} + protocol: TCP + env: + - name: ENDPOINTS + value: 'etcd:2379' + - name: APP_NAME + value: {{ .Values.appName }} + - name: NAMESPACE + value: {{ .Values.nameSpace }} + - name: APP_TYPE + value: service + resources: + limits: + cpu: 200m + memory: 1000Mi + requests: + cpu: 10m + memory: 200Mi + volumeMounts: + - name: host-time + readOnly: true + mountPath: /etc/localtime + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + imagePullPolicy: IfNotPresent + restartPolicy: Always + terminationGracePeriodSeconds: 30 + dnsPolicy: ClusterFirst + securityContext: {} + imagePullSecrets: + - name: registry-secret + schedulerName: default-scheduler + strategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 25% + maxSurge: 25% + revisionHistoryLimit: 10 + progressDeadlineSeconds: 600 \ No newline at end of file diff --git a/app/brahma/service/token/deploy/templates/service.yaml b/app/brahma/service/token/deploy/templates/service.yaml new file mode 100755 index 0000000..4cbc43c --- /dev/null +++ b/app/brahma/service/token/deploy/templates/service.yaml @@ -0,0 +1,26 @@ +kind: Service +apiVersion: v1 +metadata: + name: {{ .Release.Name }} + namespace: {{ .Values.nameSpace }} + annotations: + kubesphere.io/creator: drone + labels: + app: {{ .Release.Name }} + app.kubernetes.io/version: v1 + app.kubernetes.io/name: {{ .Release.Name }} + version: v1 + app.kubernetes.io/instance: {{ .Release.Name }} +spec: + ports: + - name: http-{{ .Release.Name }} + protocol: TCP + port: 80 + targetPort: {{ .Values.port }} + selector: + app: {{ .Release.Name }} + type: ClusterIP + sessionAffinity: None + ipFamilies: + - IPv4 + ipFamilyPolicy: SingleStack \ No newline at end of file diff --git a/app/brahma/service/token/deploy/values.yaml b/app/brahma/service/token/deploy/values.yaml new file mode 100755 index 0000000..db0c1be --- /dev/null +++ b/app/brahma/service/token/deploy/values.yaml @@ -0,0 +1,6 @@ +nameSpace: brahma +appName: token +aliasName: tokenAuth +image: reg.icechen.cn/brahma/service-token +imageTag: latest +port: 3100 \ No newline at end of file