From 88f5bd78444c82690debcaae342f352412a73a0d Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Thu, 22 Feb 2024 19:49:07 +0000 Subject: [PATCH 01/42] feat: first commit --- main_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main_test.go b/main_test.go index 6eea8b4..aaa0b59 100644 --- a/main_test.go +++ b/main_test.go @@ -5,7 +5,7 @@ import ( "testing" ) -// A simple example of unit testing a function. +// A simple example of unit testing a function. // Adapted from: https://gobyexample.com/testing-and-benchmarking func TestIntMinBasic(t *testing.T) { From 115daef8f290da2a71fed6d4e4fef329b011b784 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Thu, 22 Feb 2024 20:04:22 +0000 Subject: [PATCH 02/42] feat: first commit --- LICENSE | 1 + 1 file changed, 1 insertion(+) diff --git a/LICENSE b/LICENSE index 261eeb9..86efaae 100644 --- a/LICENSE +++ b/LICENSE @@ -199,3 +199,4 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + \ No newline at end of file From a062127c7e6a2f54dd46a69c6cf7e1d75b521cf1 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 11:51:50 +0000 Subject: [PATCH 03/42] deploy to eks --- .github/workflows/ci-cd.yml | 12 +++ actions-test/.helmignore | 23 +++++ actions-test/Chart.yaml | 24 +++++ actions-test/templates/NOTES.txt | 22 +++++ actions-test/templates/_helpers.tpl | 62 ++++++++++++ actions-test/templates/deployment.yaml | 72 ++++++++++++++ actions-test/templates/hpa.yaml | 32 ++++++ actions-test/templates/ingress.yaml | 61 ++++++++++++ actions-test/templates/service.yaml | 15 +++ actions-test/templates/serviceaccount.yaml | 13 +++ .../templates/tests/test-connection.yaml | 15 +++ actions-test/values.yaml | 98 +++++++++++++++++++ 12 files changed, 449 insertions(+) create mode 100644 actions-test/.helmignore create mode 100644 actions-test/Chart.yaml create mode 100644 actions-test/templates/NOTES.txt create mode 100644 actions-test/templates/_helpers.tpl create mode 100644 actions-test/templates/deployment.yaml create mode 100644 actions-test/templates/hpa.yaml create mode 100644 actions-test/templates/ingress.yaml create mode 100644 actions-test/templates/service.yaml create mode 100644 actions-test/templates/serviceaccount.yaml create mode 100644 actions-test/templates/tests/test-connection.yaml create mode 100644 actions-test/values.yaml diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 35be0d3..5bd0b59 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -69,3 +69,15 @@ jobs: labels: ${{ steps.meta.outputs.labels }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Deploy to EKS + uses: peymanmortazavi/eks-helm-deploy@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS__KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: eu-west-1 + cluster-name: my-eks + namespace: default + name: actions-test + chart-path: actions-test + diff --git a/actions-test/.helmignore b/actions-test/.helmignore new file mode 100644 index 0000000..0e8a0eb --- /dev/null +++ b/actions-test/.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/actions-test/Chart.yaml b/actions-test/Chart.yaml new file mode 100644 index 0000000..ca9661d --- /dev/null +++ b/actions-test/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +name: actions-test +description: A Helm chart for Kubernetes + +# 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.1.0 + +# 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: "1.16.0" diff --git a/actions-test/templates/NOTES.txt b/actions-test/templates/NOTES.txt new file mode 100644 index 0000000..6f1ceac --- /dev/null +++ b/actions-test/templates/NOTES.txt @@ -0,0 +1,22 @@ +1. Get the application URL by running these commands: +{{- if .Values.ingress.enabled }} +{{- range $host := .Values.ingress.hosts }} + {{- range .paths }} + http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }} + {{- end }} +{{- end }} +{{- else if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "actions-test.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "actions-test.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "actions-test.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "actions-test.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT +{{- end }} diff --git a/actions-test/templates/_helpers.tpl b/actions-test/templates/_helpers.tpl new file mode 100644 index 0000000..15e78a9 --- /dev/null +++ b/actions-test/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "actions-test.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "actions-test.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "actions-test.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "actions-test.labels" -}} +helm.sh/chart: {{ include "actions-test.chart" . }} +{{ include "actions-test.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "actions-test.selectorLabels" -}} +app.kubernetes.io/name: {{ include "actions-test.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "actions-test.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "actions-test.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} diff --git a/actions-test/templates/deployment.yaml b/actions-test/templates/deployment.yaml new file mode 100644 index 0000000..0d7ef49 --- /dev/null +++ b/actions-test/templates/deployment.yaml @@ -0,0 +1,72 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "actions-test.fullname" . }} + labels: + {{- include "actions-test.labels" . | nindent 4 }} +spec: + {{- if not .Values.autoscaling.enabled }} + replicas: {{ .Values.replicaCount }} + {{- end }} + selector: + matchLabels: + {{- include "actions-test.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "actions-test.labels" . | nindent 8 }} + {{- with .Values.podLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ include "actions-test.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ .Chart.Name }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: http + containerPort: {{ .Values.service.port }} + protocol: TCP + livenessProbe: + httpGet: + path: / + port: http + readinessProbe: + httpGet: + path: / + port: http + resources: + {{- toYaml .Values.resources | nindent 12 }} + {{- with .Values.volumeMounts }} + volumeMounts: + {{- toYaml . | nindent 12 }} + {{- end }} + {{- with .Values.volumes }} + volumes: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/actions-test/templates/hpa.yaml b/actions-test/templates/hpa.yaml new file mode 100644 index 0000000..dca1e7c --- /dev/null +++ b/actions-test/templates/hpa.yaml @@ -0,0 +1,32 @@ +{{- if .Values.autoscaling.enabled }} +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ include "actions-test.fullname" . }} + labels: + {{- include "actions-test.labels" . | nindent 4 }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ include "actions-test.fullname" . }} + minReplicas: {{ .Values.autoscaling.minReplicas }} + maxReplicas: {{ .Values.autoscaling.maxReplicas }} + metrics: + {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} +{{- end }} diff --git a/actions-test/templates/ingress.yaml b/actions-test/templates/ingress.yaml new file mode 100644 index 0000000..651f75f --- /dev/null +++ b/actions-test/templates/ingress.yaml @@ -0,0 +1,61 @@ +{{- if .Values.ingress.enabled -}} +{{- $fullName := include "actions-test.fullname" . -}} +{{- $svcPort := .Values.service.port -}} +{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} + {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} + {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} + {{- end }} +{{- end }} +{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1 +{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1beta1 +{{- else -}} +apiVersion: extensions/v1beta1 +{{- end }} +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + {{- include "actions-test.labels" . | nindent 4 }} + {{- with .Values.ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} + ingressClassName: {{ .Values.ingress.className }} + {{- end }} + {{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} + pathType: {{ .pathType }} + {{- end }} + backend: + {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} + service: + name: {{ $fullName }} + port: + number: {{ $svcPort }} + {{- else }} + serviceName: {{ $fullName }} + servicePort: {{ $svcPort }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} diff --git a/actions-test/templates/service.yaml b/actions-test/templates/service.yaml new file mode 100644 index 0000000..7125af3 --- /dev/null +++ b/actions-test/templates/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "actions-test.fullname" . }} + labels: + {{- include "actions-test.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: http + protocol: TCP + name: http + selector: + {{- include "actions-test.selectorLabels" . | nindent 4 }} diff --git a/actions-test/templates/serviceaccount.yaml b/actions-test/templates/serviceaccount.yaml new file mode 100644 index 0000000..29c78ba --- /dev/null +++ b/actions-test/templates/serviceaccount.yaml @@ -0,0 +1,13 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "actions-test.serviceAccountName" . }} + labels: + {{- include "actions-test.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +automountServiceAccountToken: {{ .Values.serviceAccount.automount }} +{{- end }} diff --git a/actions-test/templates/tests/test-connection.yaml b/actions-test/templates/tests/test-connection.yaml new file mode 100644 index 0000000..66a4636 --- /dev/null +++ b/actions-test/templates/tests/test-connection.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Pod +metadata: + name: "{{ include "actions-test.fullname" . }}-test-connection" + labels: + {{- include "actions-test.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": test +spec: + containers: + - name: wget + image: busybox + command: ['wget'] + args: ['{{ include "actions-test.fullname" . }}:{{ .Values.service.port }}'] + restartPolicy: Never diff --git a/actions-test/values.yaml b/actions-test/values.yaml new file mode 100644 index 0000000..9a3b111 --- /dev/null +++ b/actions-test/values.yaml @@ -0,0 +1,98 @@ +# Default values for actions-test. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + repository: nginx + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "" + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Automatically mount a ServiceAccount's API credentials? + automount: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + +podAnnotations: {} +podLabels: {} + +podSecurityContext: {} + # fsGroup: 2000 + +securityContext: {} + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +service: + type: ClusterIP + port: 80 + +ingress: + enabled: false + className: "" + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: chart-example.local + paths: + - path: / + pathType: ImplementationSpecific + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 100 + targetCPUUtilizationPercentage: 80 + # targetMemoryUtilizationPercentage: 80 + +# Additional volumes on the output Deployment definition. +volumes: [] +# - name: foo +# secret: +# secretName: mysecret +# optional: false + +# Additional volumeMounts on the output Deployment definition. +volumeMounts: [] +# - name: foo +# mountPath: "/etc/foo" +# readOnly: true + +nodeSelector: {} + +tolerations: [] + +affinity: {} From ad112f6cf1c739a23e852d9806a7e6bf4ea2378f Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 12:10:29 +0000 Subject: [PATCH 04/42] deploy to eks --- .github/workflows/ci-cd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 5bd0b59..c4b4cbb 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -71,7 +71,7 @@ jobs: cache-to: type=local,dest=/tmp/.buildx-cache - name: Deploy to EKS - uses: peymanmortazavi/eks-helm-deploy@v1 + uses: bitovi/github-actions-deploy-eks-helm@v1.2.9 with: aws-access-key-id: ${{ secrets.AWS_ACCESS__KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -79,5 +79,5 @@ jobs: cluster-name: my-eks namespace: default name: actions-test - chart-path: actions-test + chart-path: actions-test/ From 8a37685a7e45acefde8ad129ab309cc5d5a84a31 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 12:15:18 +0000 Subject: [PATCH 05/42] deploy to eks --- .github/workflows/ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index c4b4cbb..f9b45a8 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -73,7 +73,7 @@ jobs: - name: Deploy to EKS uses: bitovi/github-actions-deploy-eks-helm@v1.2.9 with: - aws-access-key-id: ${{ secrets.AWS_ACCESS__KEY_ID }} + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: eu-west-1 cluster-name: my-eks From 56f38cc0998172ed8f98cfc347a8d52cd6a74066 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 12:21:27 +0000 Subject: [PATCH 06/42] feat: add image and service port deploy to eks --- actions-test/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/actions-test/values.yaml b/actions-test/values.yaml index 9a3b111..97543b2 100644 --- a/actions-test/values.yaml +++ b/actions-test/values.yaml @@ -5,7 +5,7 @@ replicaCount: 1 image: - repository: nginx + repository: bjrooney/docker-gs-ping:main pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: "" @@ -41,7 +41,7 @@ securityContext: {} service: type: ClusterIP - port: 80 + port: 8080 ingress: enabled: false From 6052375c78d088e30be33cbc05cf4ea801497043 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 12:26:19 +0000 Subject: [PATCH 07/42] feat: add image and service port deploy to eks --- actions-test/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/actions-test/values.yaml b/actions-test/values.yaml index 97543b2..fc54558 100644 --- a/actions-test/values.yaml +++ b/actions-test/values.yaml @@ -5,10 +5,10 @@ replicaCount: 1 image: - repository: bjrooney/docker-gs-ping:main + repository: bjrooney/docker-gs-ping pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. - tag: "" + tag: "main" imagePullSecrets: [] nameOverride: "" From 2ea8146a87abd6e04d4081717f12005a3209a55d Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 12:30:30 +0000 Subject: [PATCH 08/42] feat: add image and service port deploy to eks --- actions-test/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/actions-test/values.yaml b/actions-test/values.yaml index fc54558..25f3f10 100644 --- a/actions-test/values.yaml +++ b/actions-test/values.yaml @@ -8,7 +8,7 @@ image: repository: bjrooney/docker-gs-ping pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. - tag: "main" + tag: main imagePullSecrets: [] nameOverride: "" From 859b208a96a683098aaa4b9f0c43d84a9cb74779 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 12:37:18 +0000 Subject: [PATCH 09/42] feat: add image and service port deploy to eks --- actions-test/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/actions-test/values.yaml b/actions-test/values.yaml index 25f3f10..a50f69a 100644 --- a/actions-test/values.yaml +++ b/actions-test/values.yaml @@ -1,7 +1,7 @@ # Default values for actions-test. # This is a YAML-formatted file. # Declare variables to be passed into your templates. - + replicaCount: 1 image: From 9dd6dccdfd72e2d86959200f705ef4f4ba4a07d0 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 12:41:20 +0000 Subject: [PATCH 10/42] feat: add image and service port deploy to eks --- .github/workflows/ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index f9b45a8..2c98d48 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -77,7 +77,7 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: eu-west-1 cluster-name: my-eks - namespace: default + namespace: actions-test name: actions-test chart-path: actions-test/ From 4c0abb91135f148ffa783834ecbeafcb95e865ec Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 12:52:43 +0000 Subject: [PATCH 11/42] feat: add image and service port deploy to eks --- actions-test/values.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/actions-test/values.yaml b/actions-test/values.yaml index a50f69a..38d2b33 100644 --- a/actions-test/values.yaml +++ b/actions-test/values.yaml @@ -41,19 +41,19 @@ securityContext: {} service: type: ClusterIP - port: 8080 + port: 80 + targetPort: 8080 ingress: - enabled: false + enabled: className: "" - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" + annotations: + kubernetes.io/ingress.class: nginx hosts: - host: chart-example.local paths: - path: / - pathType: ImplementationSpecific + tls: [] # - secretName: chart-example-tls # hosts: From f2862200dbdd8321ac40d2c12020312ea894b4e3 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 12:54:51 +0000 Subject: [PATCH 12/42] feat: add image and service port deploy to eks --- actions-test/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/actions-test/values.yaml b/actions-test/values.yaml index 38d2b33..009d3ec 100644 --- a/actions-test/values.yaml +++ b/actions-test/values.yaml @@ -45,7 +45,7 @@ service: targetPort: 8080 ingress: - enabled: + enabled: true className: "" annotations: kubernetes.io/ingress.class: nginx From c2cc124b870544d08ab3eec078e24e4742fbc225 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 12:57:29 +0000 Subject: [PATCH 13/42] feat: add image and service port deploy to eks --- actions-test/values.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/actions-test/values.yaml b/actions-test/values.yaml index 009d3ec..c9fce51 100644 --- a/actions-test/values.yaml +++ b/actions-test/values.yaml @@ -53,6 +53,8 @@ ingress: - host: chart-example.local paths: - path: / + pathType: Prefix + tls: [] # - secretName: chart-example-tls From 46ab43c77cf183e20e43879f1b6f9b66140994de Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 13:03:39 +0000 Subject: [PATCH 14/42] feat: soilentgreen --- actions-test/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/actions-test/values.yaml b/actions-test/values.yaml index c9fce51..ee1b64e 100644 --- a/actions-test/values.yaml +++ b/actions-test/values.yaml @@ -50,7 +50,7 @@ ingress: annotations: kubernetes.io/ingress.class: nginx hosts: - - host: chart-example.local + - host: soilentgreen.co.uk paths: - path: / pathType: Prefix From 7f4cf34122c9b91abfdefcabb42e5ffd06a99156 Mon Sep 17 00:00:00 2001 From: brendan rooney Date: Fri, 23 Feb 2024 13:11:44 +0000 Subject: [PATCH 15/42] feat: added terraform of cliuster --- eks_cluster/.terraform.lock.hcl | 85 +++++++++++++++++++++++ eks_cluster/eks.tf | 117 ++++++++++++++++++++++++++++++++ 2 files changed, 202 insertions(+) create mode 100644 eks_cluster/.terraform.lock.hcl create mode 100644 eks_cluster/eks.tf diff --git a/eks_cluster/.terraform.lock.hcl b/eks_cluster/.terraform.lock.hcl new file mode 100644 index 0000000..e88b66b --- /dev/null +++ b/eks_cluster/.terraform.lock.hcl @@ -0,0 +1,85 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "5.37.0" + constraints = ">= 4.33.0, >= 5.34.0" + hashes = [ + "h1:CQeYyWigNz838zjXKYH9VDkpjqlGB0phcM742YXiNh4=", + "zh:00f40a3d9593476693a7a72d993fd289f7be374fe3f2799776c6296eb6ff890a", + "zh:1010a9fbf55852a8da3473de4ec0f1fcf29efa85d66f61cbe2b086dbbd7747ae", + "zh:103a5674d1eb1cff05fe35e9baa9875afd18d740868b63f9c0c25eadb5eb4eb7", + "zh:270ac1b7a1327c1456a43df44c0b5cc3e26ed6d8861a709adeea1da684a563f5", + "zh:424362c02c8917c0586f3dd49aca27b7e0c21f5a23374b7045e9be3b5646c028", + "zh:549fa2ea187964ab9a0c354310947ead30e09b3199db1ff377c21d7547d78299", + "zh:6492d2ccc7f7d60e83cd8b7244adc53f30efc17d84b1ffc1b8fd6c385f8255fd", + "zh:66fb7b3b8a357071d26c5996c16d426edf07502a05ac86f4a6f73646ee7d1bbb", + "zh:6ecc05fb466d06ea8945564d2cdb8c2a8827d8cfca1550e9fb7eac0e95920196", + "zh:7932360b627b211dad937d278a8692a6c52bd6c0a71e4ec9e94ccbe825053822", + "zh:97ed1b4a18842c4d56a735329e87b4ef91a47e820e5a5c3c2dd64e293408bfc8", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:d5e022052011e1984b9c2f8bc5a6b05c909e3b5bf40c3baddf191bf90e3169c2", + "zh:d7e9488b2ce5904efb91c8577b3fe9b0cd599c4cd508f1f163f292930f54fdf0", + "zh:e57cd93d5cd81dd0f446076af6e47a53ce83df2947ec64ed39a1090d4bdf8f0b", + ] +} + +provider "registry.terraform.io/hashicorp/cloudinit" { + version = "2.3.3" + constraints = ">= 2.0.0" + hashes = [ + "h1:ZmQ97fIcPW7hj/vynRB4zbtObK0Z/LVJPvCwlNd78zA=", + "zh:0bd6ee14ca5cf0f0c83d3bb965346b1225ccd06a6247e80774aaaf54c729daa7", + "zh:3055ad0dcc98de1d4e45b72c5889ae91b62f4ae4e54dbc56c4821be0fdfbed91", + "zh:32764cfcff0d7379ca8b7dde376ac5551854d454c5881945f1952b785a312fa2", + "zh:55c2a4dc3ebdeaa1dec3a36db96dab253c7fa10b9fe1209862e1ee77a01e0aa1", + "zh:5c71f260ba5674d656d12f67cde3bb494498e6b6b6e66945ef85688f185dcf63", + "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", + "zh:9617280a853ec7caedb8beb7864e4b29faf9c850a453283980c28fccef2c493d", + "zh:ac8bda21950f8dddade3e9bc15f7bcfdee743738483be5724169943cafa611f5", + "zh:ba9ab567bbe63dee9197a763b3104ea9217ba27449ed54d3afa6657f412e3496", + "zh:effd1a7e34bae3879c02f03ed3afa979433a518e11de1f8afd35a8710231ac14", + "zh:f021538c86d0ac250d75e59efde6d869bbfff711eb744c8bddce79d2475bf46d", + "zh:f1e3984597948a2103391a26600e177b19f16a5a4c66acee27a4343fb141571f", + ] +} + +provider "registry.terraform.io/hashicorp/time" { + version = "0.10.0" + constraints = ">= 0.9.0" + hashes = [ + "h1:QL1ivYrUSB3zvhgXcRBfQak4HDxvesT2zktM+N6StVo=", + "zh:0ab31efe760cc86c9eef9e8eb070ae9e15c52c617243bbd9041632d44ea70781", + "zh:0ee4e906e28f23c598632eeac297ab098d6d6a90629d15516814ab90ad42aec8", + "zh:3bbb3e9da728b82428c6f18533b5b7c014e8ff1b8d9b2587107c966b985e5bcc", + "zh:6771c72db4e4486f2c2603c81dfddd9e28b6554d1ded2996b4cb37f887b467de", + "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", + "zh:833c636d86c2c8f23296a7da5d492bdfd7260e22899fc8af8cc3937eb41a7391", + "zh:c545f1497ae0978ffc979645e594b57ff06c30b4144486f4f362d686366e2e42", + "zh:def83c6a85db611b8f1d996d32869f59397c23b8b78e39a978c8a2296b0588b2", + "zh:df9579b72cc8e5fac6efee20c7d0a8b72d3d859b50828b1c473d620ab939e2c7", + "zh:e281a8ecbb33c185e2d0976dc526c93b7359e3ffdc8130df7422863f4952c00e", + "zh:ecb1af3ae67ac7933b5630606672c94ec1f54b119bf77d3091f16d55ab634461", + "zh:f8109f13e07a741e1e8a52134f84583f97a819e33600be44623a21f6424d6593", + ] +} + +provider "registry.terraform.io/hashicorp/tls" { + version = "4.0.5" + constraints = ">= 3.0.0" + hashes = [ + "h1:yLqz+skP3+EbU3yyvw8JqzflQTKDQGsC9QyZAg+S4dg=", + "zh:01cfb11cb74654c003f6d4e32bbef8f5969ee2856394a96d127da4949c65153e", + "zh:0472ea1574026aa1e8ca82bb6df2c40cd0478e9336b7a8a64e652119a2fa4f32", + "zh:1a8ddba2b1550c5d02003ea5d6cdda2eef6870ece86c5619f33edd699c9dc14b", + "zh:1e3bb505c000adb12cdf60af5b08f0ed68bc3955b0d4d4a126db5ca4d429eb4a", + "zh:6636401b2463c25e03e68a6b786acf91a311c78444b1dc4f97c539f9f78de22a", + "zh:76858f9d8b460e7b2a338c477671d07286b0d287fd2d2e3214030ae8f61dd56e", + "zh:a13b69fb43cb8746793b3069c4d897bb18f454290b496f19d03c3387d1c9a2dc", + "zh:a90ca81bb9bb509063b736842250ecff0f886a91baae8de65c8430168001dad9", + "zh:c4de401395936e41234f1956ebadbd2ed9f414e6908f27d578614aaa529870d4", + "zh:c657e121af8fde19964482997f0de2d5173217274f6997e16389e7707ed8ece8", + "zh:d68b07a67fbd604c38ec9733069fbf23441436fecf554de6c75c032f82e1ef19", + "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", + ] +} diff --git a/eks_cluster/eks.tf b/eks_cluster/eks.tf new file mode 100644 index 0000000..a813e6a --- /dev/null +++ b/eks_cluster/eks.tf @@ -0,0 +1,117 @@ +module "vpc" { + source = "terraform-aws-modules/vpc/aws" + version = "5.5.2" + + name = "main" + cidr = "10.0.0.0/16" + + azs = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] + private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"] + public_subnets = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"] + intra_subnets = ["10.0.201.0/24", "10.0.202.0/24", "10.0.203.0/24"] + + enable_nat_gateway = true + single_nat_gateway = true + one_nat_gateway_per_az = false + + enable_dns_hostnames = true + enable_dns_support = true + + tags = { + Environment = "staging" + } +} + +module "eks" { + source = "terraform-aws-modules/eks/aws" + version = "20.3.0" + + cluster_name = "my-eks" + cluster_version = "1.29" + + cluster_endpoint_private_access = true + cluster_endpoint_public_access = true + + vpc_id = module.vpc.vpc_id + subnet_ids = module.vpc.private_subnets + + enable_irsa = true + + eks_managed_node_group_defaults = { + disk_size = 50 + } + + eks_managed_node_groups = { + general = { + desired_size = 1 + min_size = 1 + max_size = 10 + + labels = { + role = "general" + } + + instance_types = ["t3.small"] + capacity_type = "ON_DEMAND" + } + + spot = { + desired_size = 1 + min_size = 1 + max_size = 10 + + labels = { + role = "spot" + } + + taints = [{ + key = "market" + value = "spot" + effect = "NO_SCHEDULE" + }] + + instance_types = ["t3.micro"] + capacity_type = "SPOT" + } + } + + tags = { + Environment = "staging" + } +} + +module "allow_eks_access_iam_policy" { + source = "terraform-aws-modules/iam/aws//modules/iam-policy" + version = "5.34.0" + + name = "allow-eks-access" + create_policy = true + + policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = [ + "eks:DescribeCluster", + ] + Effect = "Allow" + Resource = "*" + }, + ] + }) +} + +module "eks_admins_iam_role" { + source = "terraform-aws-modules/iam/aws//modules/iam-assumable-role" + version = "5.34.0" + + role_name = "eks-admin" + create_role = true + role_requires_mfa = false + + custom_role_policy_arns = [module.allow_eks_access_iam_policy.arn] + + trusted_role_arns = [ + "arn:aws:iam::${module.vpc.vpc_owner_id}:root" + ] +} \ No newline at end of file From 32fb2d83111830246b7f038ae979bb6867d39337 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 13:22:21 +0000 Subject: [PATCH 16/42] feat: added push to ecr - commented out while testing --- .github/workflows/ci-cd.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 2c98d48..02bf8d2 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -58,6 +58,16 @@ jobs: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + # - name: Push to ECR + # id: ecr + # uses: jwalton/gh-ecr-push@v1 + # with: + # access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + # secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + # region: eu-west-1 + # image: my-image:1.2.3 + # is-semver: true # will push my-image:1, my-image:1.2 and my-image:1.2.3 + - name: Push release to Docker Hub uses: docker/build-push-action@v4 if: github.event_name != 'pull_request' From 432d0f4c9084983bb80b167515bbbe76305b5904 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 13:43:24 +0000 Subject: [PATCH 17/42] feat: eks.topsoilsystems.com --- actions-test/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/actions-test/values.yaml b/actions-test/values.yaml index ee1b64e..44432da 100644 --- a/actions-test/values.yaml +++ b/actions-test/values.yaml @@ -50,7 +50,7 @@ ingress: annotations: kubernetes.io/ingress.class: nginx hosts: - - host: soilentgreen.co.uk + - host: eks.topsoilsystems.com paths: - path: / pathType: Prefix From 9f44cbb0bb68ad4041937d3e41efea4be8f43305 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 15:35:45 +0000 Subject: [PATCH 18/42] feat: update readme --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index b7e7b66..acb0198 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,20 @@ # docker-gs-ping +This repo is forked from docker/docker-gs-ping and uses bitovi/github-actions-deploy-eks-helm@v1.2.9 to push the created container to eks via helm. + +The helm charts can be found in the docker-gs-ping/actions-test folder which was created using helm create. + +to test the deployment: + +➜ ~ curl http://eks.topsoilsystems.com +Hello, Docker! <3% +➜ ~ curl http://eks.topsoilsystems.com/health +{"Status":"OK"} + +Terraform to create the eks cluster is here: +docker-gs-ping/eks_cluster + + A simple Go server/microservice example for [Docker's Go Language Guide](https://docs.docker.com/language/golang/). Notable features: From ba43a14938a59966ecb865772773f3d740983071 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 15:37:51 +0000 Subject: [PATCH 19/42] feat: update readme --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index acb0198..1bbe639 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,18 @@ to test the deployment: ➜ ~ curl http://eks.topsoilsystems.com Hello, Docker! <3% + + ➜ ~ curl http://eks.topsoilsystems.com/health {"Status":"OK"} Terraform to create the eks cluster is here: docker-gs-ping/eks_cluster +Github actions here: + +.github/workflows + A simple Go server/microservice example for [Docker's Go Language Guide](https://docs.docker.com/language/golang/). From 994e39613a9ce38f5a467ff1ec019a6c2290324e Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 18:19:53 +0000 Subject: [PATCH 20/42] feat: login to ecr --- .github/workflows/ci-cd.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 02bf8d2..6943346 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -58,6 +58,12 @@ jobs: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + - name: Login to Amazon ECR Public + id: login-ecr-public + uses: aws-actions/amazon-ecr-login@v2 + with: + registry-type: public + # - name: Push to ECR # id: ecr # uses: jwalton/gh-ecr-push@v1 From b2c339b6e1e4f04d30c05b7e838e16035314afdc Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 18:23:40 +0000 Subject: [PATCH 21/42] feat: login to ecr --- Dockerfile | 2 +- Dockerfile.multistage | 2 +- README.md | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2067877..18ddba3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,4 +23,4 @@ RUN CGO_ENABLED=0 GOOS=linux go build -o /docker-gs-ping EXPOSE 8080 # Run -CMD [ "/docker-gs-ping" ] +CMD [ "/docker-gs-ping" ] \ No newline at end of file diff --git a/Dockerfile.multistage b/Dockerfile.multistage index 1942ab3..82f306f 100644 --- a/Dockerfile.multistage +++ b/Dockerfile.multistage @@ -36,4 +36,4 @@ EXPOSE 8080 USER nonroot:nonroot -ENTRYPOINT ["/docker-gs-ping"] +ENTRYPOINT ["/docker-gs-ping"] \ No newline at end of file diff --git a/README.md b/README.md index 1bbe639..e7a69c7 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,10 @@ This repo is forked from docker/docker-gs-ping and uses bitovi/github-actions-deploy-eks-helm@v1.2.9 to push the created container to eks via helm. -The helm charts can be found in the docker-gs-ping/actions-test folder which was created using helm create. +dockerhub endpoint: +https://hub.docker.com/repository/docker/bjrooney/docker-gs-ping + +The helm charts can be found in the docker-gs-ping/actions-test folder which was created using helm create. to test the deployment: From 017f12780902b7c9d6bc8b65b863a90b85a227b2 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 18:57:52 +0000 Subject: [PATCH 22/42] feat: login to ecr --- .github/workflows/ci-cd.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 6943346..7bfcd5d 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -63,6 +63,7 @@ jobs: uses: aws-actions/amazon-ecr-login@v2 with: registry-type: public + # - name: Push to ECR # id: ecr From d3a5109abaac1140955a780741db5d8062e3d917 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 19:00:14 +0000 Subject: [PATCH 23/42] feat: login to ecr --- .github/workflows/ci-cd.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 7bfcd5d..53347f9 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -58,13 +58,14 @@ jobs: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - - name: Login to Amazon ECR Public - id: login-ecr-public - uses: aws-actions/amazon-ecr-login@v2 - with: - registry-type: public - + # - name: Login to Amazon ECR Public + # id: login-ecr-public + # uses: aws-actions/amazon-ecr-login@v2 + # with: + # registry-type: public + + # - name: Push to ECR # id: ecr # uses: jwalton/gh-ecr-push@v1 From a9a62e85289fe9f6d8e65e8ea1e9aaa30a711f06 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 19:02:37 +0000 Subject: [PATCH 24/42] feat: login to Login to Amazon ECR Public --- .github/workflows/ci-cd.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 53347f9..7834f6e 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -58,11 +58,13 @@ jobs: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - # - name: Login to Amazon ECR Public - # id: login-ecr-public - # uses: aws-actions/amazon-ecr-login@v2 - # with: - # registry-type: public + - name: Login to Amazon ECR Public + id: login-ecr-public + uses: aws-actions/amazon-ecr-login@v2 + with: + access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + region: ${{ secrets.AWS_REGION }} From 89aedcf2f5325f80ae6cc1973497ecf2944838dd Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 19:06:01 +0000 Subject: [PATCH 25/42] feat: rebase ecr will visit tomorrow --- .github/workflows/ci-cd.yml | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 7834f6e..2c98d48 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -58,26 +58,6 @@ jobs: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - - name: Login to Amazon ECR Public - id: login-ecr-public - uses: aws-actions/amazon-ecr-login@v2 - with: - access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - region: ${{ secrets.AWS_REGION }} - - - - # - name: Push to ECR - # id: ecr - # uses: jwalton/gh-ecr-push@v1 - # with: - # access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - # secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - # region: eu-west-1 - # image: my-image:1.2.3 - # is-semver: true # will push my-image:1, my-image:1.2 and my-image:1.2.3 - - name: Push release to Docker Hub uses: docker/build-push-action@v4 if: github.event_name != 'pull_request' From 090650148a36837ba78af9853268e3a908930e3e Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 19:10:40 +0000 Subject: [PATCH 26/42] feat: rebase ecr lets try this --- .github/workflows/ci-cd.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 2c98d48..eb9bae5 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -70,6 +70,17 @@ jobs: cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v1 + - name: Deploy to EKS uses: bitovi/github-actions-deploy-eks-helm@v1.2.9 with: From f00963153b860c8392e7100d5961ec66a9bcc24d Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 19:12:55 +0000 Subject: [PATCH 27/42] feat: rebase secrets be damned for region --- .github/workflows/ci-cd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index eb9bae5..b09bd7c 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -75,12 +75,12 @@ jobs: with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: ${{ env.AWS_REGION }} + aws-region: ${{ secrets.AWS_REGION }} - name: Login to Amazon ECR id: login-ecr uses: aws-actions/amazon-ecr-login@v1 - + - name: Deploy to EKS uses: bitovi/github-actions-deploy-eks-helm@v1.2.9 with: From e3aa413e9d269d9a45f7bebc0b05d951827e4cff Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 19:19:50 +0000 Subject: [PATCH 28/42] feat: ecr login --- .github/workflows/ci-cd.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index b09bd7c..2c4a06f 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -78,8 +78,13 @@ jobs: aws-region: ${{ secrets.AWS_REGION }} - name: Login to Amazon ECR - id: login-ecr + id: login-ecr-public uses: aws-actions/amazon-ecr-login@v1 + with: + mask-password: 'true' + registry-type: public + registries: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com + - name: Deploy to EKS uses: bitovi/github-actions-deploy-eks-helm@v1.2.9 From 410e5c3bb349153f94a3a326e426aa24183371a8 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 19:23:41 +0000 Subject: [PATCH 29/42] feat: ecr public.ecr.aws/o7n4y0z8/feistyeric --- .github/workflows/ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 2c4a06f..21838ad 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -83,7 +83,7 @@ jobs: with: mask-password: 'true' registry-type: public - registries: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com + registries: public.ecr.aws/o7n4y0z8/feistyeric - name: Deploy to EKS From 29f0b537ad95d024ede620ddd37161ad7efeb5ec Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 19:26:05 +0000 Subject: [PATCH 30/42] feat: trim ecr public.ecr.aws/o7n4y0z8/feistyeric --- .github/workflows/ci-cd.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 21838ad..1152b29 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -83,7 +83,6 @@ jobs: with: mask-password: 'true' registry-type: public - registries: public.ecr.aws/o7n4y0z8/feistyeric - name: Deploy to EKS From 10cd4953134d3939ceb47f032f15d3bd438eb300 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Fri, 23 Feb 2024 19:29:33 +0000 Subject: [PATCH 31/42] feat: back to basics --- .github/workflows/ci-cd.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 1152b29..bee73f1 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -77,14 +77,6 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: ${{ secrets.AWS_REGION }} - - name: Login to Amazon ECR - id: login-ecr-public - uses: aws-actions/amazon-ecr-login@v1 - with: - mask-password: 'true' - registry-type: public - - - name: Deploy to EKS uses: bitovi/github-actions-deploy-eks-helm@v1.2.9 with: From fb9c85bdef1f0ab176adf22a9f2cbf1f98271832 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Tue, 27 Feb 2024 18:37:57 +0000 Subject: [PATCH 32/42] feat: Add push to ecr --- .github/workflows/ci-cd.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index bee73f1..cac5087 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -77,6 +77,16 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: ${{ secrets.AWS_REGION }} + - name: Push to ECR + id: ecr + uses: jwalton/gh-ecr-push@v1 + with: + access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + region: ${{ secrets.AWS_REGION }} + local-image: ${{ secrets.DOCKER_HUB_USERNAME }}/${{ github.event.repository.name }}:main + image: public.ecr.aws/feisty-eric/feistyeric:main + - name: Deploy to EKS uses: bitovi/github-actions-deploy-eks-helm@v1.2.9 with: From 86ad8f5bae8af14d3d07a98cded3991ce68ba768 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Tue, 27 Feb 2024 18:42:55 +0000 Subject: [PATCH 33/42] feat: Add push to ecr --- .github/workflows/ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index cac5087..0d9607a 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -84,7 +84,7 @@ jobs: access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} region: ${{ secrets.AWS_REGION }} - local-image: ${{ secrets.DOCKER_HUB_USERNAME }}/${{ github.event.repository.name }}:main + local-image: bjrooney/docker-gs-ping:main image: public.ecr.aws/feisty-eric/feistyeric:main - name: Deploy to EKS From a45de5122319dd7cfc90f0ea759f33d0cba7db90 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Tue, 27 Feb 2024 18:47:21 +0000 Subject: [PATCH 34/42] feat: Add sha --- .github/workflows/ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 0d9607a..7d80767 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -84,7 +84,7 @@ jobs: access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} region: ${{ secrets.AWS_REGION }} - local-image: bjrooney/docker-gs-ping:main + local-image: docker.io/bjrooney/docker-gs-ping:main@sha256:5c04be1801bc6d792f993b66604525fd546c8a80a20dd0bdb5133dc55ccd4446 image: public.ecr.aws/feisty-eric/feistyeric:main - name: Deploy to EKS From 4bd1ef4307cb493c7ba1a354248d88af74dc42ce Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Tue, 27 Feb 2024 18:57:06 +0000 Subject: [PATCH 35/42] feat: Add push to ecr as lest step --- .github/workflows/ci-cd.yml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 7d80767..bc40cc3 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -77,15 +77,6 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: ${{ secrets.AWS_REGION }} - - name: Push to ECR - id: ecr - uses: jwalton/gh-ecr-push@v1 - with: - access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - region: ${{ secrets.AWS_REGION }} - local-image: docker.io/bjrooney/docker-gs-ping:main@sha256:5c04be1801bc6d792f993b66604525fd546c8a80a20dd0bdb5133dc55ccd4446 - image: public.ecr.aws/feisty-eric/feistyeric:main - name: Deploy to EKS uses: bitovi/github-actions-deploy-eks-helm@v1.2.9 @@ -98,3 +89,14 @@ jobs: name: actions-test chart-path: actions-test/ + - run: docker build --tag feistyeric:latest . + - name: Push to ECR + id: ecr + uses: jwalton/gh-ecr-push@v1 + with: + access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + region: ${{ secrets.AWS_REGION }} + local-image: feistyeric:latest + image: public.ecr.aws/feisty-eric/feistyeric:latest + From ced4128f6c233cf4f2156f0aded0fc0604722b35 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Tue, 27 Feb 2024 19:02:13 +0000 Subject: [PATCH 36/42] feat: Add push to ecr as lest step --- .github/workflows/ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index bc40cc3..a380b72 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -98,5 +98,5 @@ jobs: secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} region: ${{ secrets.AWS_REGION }} local-image: feistyeric:latest - image: public.ecr.aws/feisty-eric/feistyeric:latest + image: feisty-eric/feistyeric:latest From 3af4a628dbc8b450baabee78aad7692203c51565 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Tue, 27 Feb 2024 19:09:04 +0000 Subject: [PATCH 37/42] feat: Add push to ecr as lest step --- .github/workflows/ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index a380b72..d254e95 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -98,5 +98,5 @@ jobs: secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} region: ${{ secrets.AWS_REGION }} local-image: feistyeric:latest - image: feisty-eric/feistyeric:latest + image: feistyeric:latest From 1d6b59bc1281498a62aee98c5f7e3d21edf65cb5 Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Wed, 28 Feb 2024 07:25:57 +0000 Subject: [PATCH 38/42] feat: rename ECR image for consistency --- .github/workflows/ci-cd.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index d254e95..ad293d3 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -89,7 +89,7 @@ jobs: name: actions-test chart-path: actions-test/ - - run: docker build --tag feistyeric:latest . + - run: docker build --tag docker-gs-ping:latest . - name: Push to ECR id: ecr uses: jwalton/gh-ecr-push@v1 @@ -97,6 +97,6 @@ jobs: access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} region: ${{ secrets.AWS_REGION }} - local-image: feistyeric:latest - image: feistyeric:latest + local-image: docker-gs-ping:latest + image: docker-gs-ping:latest From 0910d3d79276965d4ab361c0d0f76213be20d0bf Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Sat, 9 Mar 2024 12:46:33 +0000 Subject: [PATCH 39/42] feat: redeploy --- actions-test/values.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/actions-test/values.yaml b/actions-test/values.yaml index 44432da..4e3b375 100644 --- a/actions-test/values.yaml +++ b/actions-test/values.yaml @@ -60,6 +60,7 @@ ingress: # - secretName: chart-example-tls # hosts: # - chart-example.local + resources: {} # We usually recommend not to specify default resources and to leave this as a conscious From 5a59655f84060a2d3eea0c50be292635a519dc1a Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Sat, 9 Mar 2024 13:09:58 +0000 Subject: [PATCH 40/42] feat: redeploy with # targetPort: is the port the container accepts traffic on, # port: is the abstracted Service port, which can be any port other pods use to access the Service --- actions-test/templates/service.yaml | 5 ++++- actions-test/values.yaml | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/actions-test/templates/service.yaml b/actions-test/templates/service.yaml index 7125af3..64e625a 100644 --- a/actions-test/templates/service.yaml +++ b/actions-test/templates/service.yaml @@ -8,8 +8,11 @@ spec: type: {{ .Values.service.type }} ports: - port: {{ .Values.service.port }} - targetPort: http + targetPort: {{ .Values.service.targetPort }} protocol: TCP name: http selector: {{- include "actions-test.selectorLabels" . | nindent 4 }} + +# targetPort: is the port the container accepts traffic on, +# port: is the abstracted Service port, which can be any port other pods use to access the Service diff --git a/actions-test/values.yaml b/actions-test/values.yaml index 4e3b375..0c25679 100644 --- a/actions-test/values.yaml +++ b/actions-test/values.yaml @@ -39,6 +39,8 @@ securityContext: {} # runAsNonRoot: true # runAsUser: 1000 +# targetPort: is the port the container accepts traffic on, +# port: is the abstracted Service port, which can be any port other pods use to access the Service service: type: ClusterIP port: 80 @@ -60,7 +62,7 @@ ingress: # - secretName: chart-example-tls # hosts: # - chart-example.local - + resources: {} # We usually recommend not to specify default resources and to leave this as a conscious From 8adf423e2ef248d0db5bff40c88c722c083e703c Mon Sep 17 00:00:00 2001 From: Brendan Rooney Date: Sat, 9 Mar 2024 13:19:37 +0000 Subject: [PATCH 41/42] feat: redeploy with # targetPort: is the port the container accepts traffic on, # port: is the abstracted Service port, which can be any port other pods use to access the Service --- actions-test/templates/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/actions-test/templates/deployment.yaml b/actions-test/templates/deployment.yaml index 0d7ef49..d51b20b 100644 --- a/actions-test/templates/deployment.yaml +++ b/actions-test/templates/deployment.yaml @@ -38,7 +38,7 @@ spec: imagePullPolicy: {{ .Values.image.pullPolicy }} ports: - name: http - containerPort: {{ .Values.service.port }} + containerPort: {{ .Values.service.targetPort }} protocol: TCP livenessProbe: httpGet: From c91151d46879abc3a06ec57471ec7e45a8f58c91 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 9 Mar 2024 18:19:53 +0000 Subject: [PATCH 42/42] build(deps): bump golang.org/x/crypto from 0.7.0 to 0.17.0 Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.7.0 to 0.17.0. - [Commits](https://github.com/golang/crypto/compare/v0.7.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index ecb8aa3..b5b9be0 100644 --- a/go.mod +++ b/go.mod @@ -11,9 +11,9 @@ require ( github.com/mattn/go-isatty v0.0.17 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect - golang.org/x/crypto v0.7.0 // indirect - golang.org/x/net v0.8.0 // indirect - golang.org/x/sys v0.6.0 // indirect - golang.org/x/text v0.8.0 // indirect + golang.org/x/crypto v0.17.0 // indirect + golang.org/x/net v0.10.0 // indirect + golang.org/x/sys v0.15.0 // indirect + golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.3.0 // indirect ) diff --git a/go.sum b/go.sum index d1363ef..2d80e4b 100644 --- a/go.sum +++ b/go.sum @@ -24,18 +24,18 @@ github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyC github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=