diff --git a/.gitignore b/.gitignore index 50e549a8a20..64ddda9cd9f 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ # or operating system, you probably want to add a global ignore instead: # git config --global core.excludesfile ~/.gitignore_global helm-dist +output diff --git a/Makefile b/Makefile index 65e0dbd6662..385b2a76878 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: check-yamllint lint check help +.PHONY: check-yamllint lint check kubeconform help # Default target help: ## Show this help message @@ -13,8 +13,23 @@ check-yamllint: ## Check if yamllint is installed exit 1; \ fi -lint: check-yamllint ## Run yamllint on all YAML files +yamllint: check-yamllint ## Run yamllint on all YAML files @echo "Running yamllint..." yamllint -f github . +lint: check-yamllint kubeconform ## Run linting commands on all YAML files + check: lint ## Alias for lint target + +kubeconform: ## Run kubeconform validation on rendered charts + @echo "Rendering charts..." + ./govuk-app-render.sh + @echo "Running kubeconform..." + docker run --rm -v "$(PWD)/output:/workspace" ghcr.io/yannh/kubeconform:latest-alpine \ + -kubernetes-version 1.31.6 \ + -schema-location default \ + -schema-location "https://alphagov.github.io/govuk-crd-library/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json" \ + -ignore-filename-pattern ".*/Chart.yaml" \ + -summary \ + -strict \ + /workspace/rendered-charts diff --git a/charts/app-config/image-tags/integration/govuk-reports-prototype b/charts/app-config/image-tags/integration/govuk-reports-prototype new file mode 100644 index 00000000000..9fd683a82ba --- /dev/null +++ b/charts/app-config/image-tags/integration/govuk-reports-prototype @@ -0,0 +1,3 @@ +image_tag: v1 +automatic_deploys_enabled: true +promote_deployment: false diff --git a/charts/app-config/values-integration.yaml b/charts/app-config/values-integration.yaml index ce9f2ecf752..ccf2434b046 100644 --- a/charts/app-config/values-integration.yaml +++ b/charts/app-config/values-integration.yaml @@ -63,6 +63,63 @@ emergency-banner-redis: # Apps for Argo CD to deploy, along with any app-specific Helm values. govukApplications: + - name: govuk-reports-prototype + helmValues: + arch: arm64 + uploadAssets: + enabled: false + appResources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 100m + memory: 128Mi + dbMigrationEnabled: false + workers: + enabled: false + redis: + enabled: false + ingress: + enabled: true + annotations: + <<: [*alb-ingress-group-backend, *alb-ingress-defaults] + alb.ingress.kubernetes.io/group.order: "10" + alb.ingress.kubernetes.io/conditions.{{ .Release.Name }}: > + [{"field": "host-header", "hostHeaderConfig": { "values": [ + "govuk-reports-prototype.{{ .Values.publishingDomainSuffix }}" + ]}}] + hosts: + - name: govuk-reports-prototype.{{ .Values.k8sExternalDomainSuffix }} + service: + port: 8080 + serviceAccount: + enabled: true + create: true + annotations: + eks.amazonaws.com/role-arn: arn:aws:iam::210287912431:role/govuk-reports-govuk + healthcheck: + path: /api/health + extraEnv: + - name: PORT + value: "8080" + - name: ENVIRONMENT + value: "{{ .Values.govukEnvironment }}" + - name: AWS_REGION + value: "{{ .Values.awsRegion }}" + + # Logging configuration + - name: LOG_LEVEL + value: "info" + - name: LOG_FORMAT + value: "json" + - name: LOG_OUTPUT + value: "stdout" + - name: LOG_TIME_FORMAT + value: "2006-01-02T15:04:05Z07:00" + - name: LOG_COLORIZE + value: "false" + - name: account-api helmValues: arch: arm64