Skip to content

Commit

Permalink
Merge branch 'master' into armada-scheduler-helm-fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
JamesMurkin committed Jul 11, 2023
2 parents f1314c2 + 1e2e721 commit c6454ba
Show file tree
Hide file tree
Showing 27 changed files with 455 additions and 13 deletions.
2 changes: 2 additions & 0 deletions config/armada/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ grpc:
keepaliveEnforcementPolicy:
minTime: 10s
permitWithoutStream: true
tls:
enabled: false
redis:
addrs:
- redis:6379
Expand Down
4 changes: 3 additions & 1 deletion config/binoculars/config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
grpcPort: 50051
httpPort: 8080
metricsPort: 9000
corsAllowedOrigins:
corsAllowedOrigins:
- http://localhost:3000
- http://localhost:8080
cordon:
Expand All @@ -24,3 +24,5 @@ grpc:
keepaliveEnforcementPolicy:
minTime: 5m
permitWithoutStream: false
tls:
enabled: false
2 changes: 2 additions & 0 deletions config/jobservice/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ grpc:
keepaliveEnforcementPolicy:
minTime: 5m
permitWithoutStream: false
tls:
enabled: false
# gRPC connection pool to armada server configuration.
grpcPool:
initialConnections: 5
Expand Down
2 changes: 2 additions & 0 deletions config/scheduler/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ grpc:
keepaliveEnforcementPolicy:
minTime: 10s
permitWithoutStream: true
tls:
enabled: false
scheduling:
executorTimeout: 10m
enableAssertions: true
Expand Down
10 changes: 10 additions & 0 deletions deployment/armada/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,11 @@ spec:
mountPath: "/pulsar/ca"
readOnly: true
{{- end }}
{{- if .Values.applicationConfig.grpc.tls.enabled }}
- name: tls-certs
mountPath: /certs
readOnly: true
{{- end }}
{{- if .Values.additionalVolumeMounts }}
{{- toYaml .Values.additionalVolumeMounts | nindent 12 -}}
{{- end }}
Expand Down Expand Up @@ -129,6 +134,11 @@ spec:
- key: ca.crt
path: ca.crt
{{- end }}
{{- if .Values.applicationConfig.grpc.tls.enabled }}
- name: tls-certs
secret:
secretName: armada-service-tls
{{- end }}
{{- if .Values.additionalVolumes }}
{{- toYaml .Values.additionalVolumes | nindent 8 }}
{{- end }}
5 changes: 5 additions & 0 deletions deployment/armada/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,12 @@ metadata:
annotations:
kubernetes.io/ingress.class: {{ required "A value is required for .Values.ingressClass" .Values.ingressClass }}
nginx.ingress.kubernetes.io/ssl-redirect: "true"
{{- if .Values.applicationConfig.grpc.tls.enabled }}
nginx.ingress.kubernetes.io/backend-protocol: "GRPCS"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
{{- else }}
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
{{- end }}
certmanager.k8s.io/cluster-issuer: {{ required "A value is required for .Values.clusterIssuer" .Values.clusterIssuer }}
cert-manager.io/cluster-issuer: {{ required "A value is required for .Values.clusterIssuer" .Values.clusterIssuer }}
{{- if .Values.ingress.annotations }}
Expand Down
4 changes: 4 additions & 0 deletions deployment/armada/templates/ingressrest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ metadata:
annotations:
kubernetes.io/ingress.class: {{ required "A value is required for .Values.ingressClass" .Values.ingressClass }}
nginx.ingress.kubernetes.io/ssl-redirect: "true"
{{- if .Values.applicationConfig.grpc.tls.enabled }}
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
{{- end }}
certmanager.k8s.io/cluster-issuer: {{ required "A value is required for .Values.clusterIssuer" .Values.clusterIssuer }}
cert-manager.io/cluster-issuer: {{ required "A value is required for .Values.clusterIssuer" .Values.clusterIssuer }}
nginx.ingress.kubernetes.io/rewrite-target: /$2
Expand Down
5 changes: 5 additions & 0 deletions deployment/armada/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,11 @@ serviceAccount: {}
applicationConfig:
# -- Armada Server gRPC port
grpcPort: 50051
grpc:
tls:
enabled: false
certPath: /certs/tls.crt
keyPath: /certs/tls.key
# -- Armada Server REST port
httpPort: 8080
pulsar:
Expand Down
10 changes: 10 additions & 0 deletions deployment/binoculars/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@ spec:
mountPath: /config/application_config.yaml
subPath: {{ include "binoculars.config.filename" . }}
readOnly: true
{{- if .Values.applicationConfig.grpc.tls.enabled }}
- name: tls-certs
mountPath: /certs
readOnly: true
{{- end }}
{{- if .Values.additionalVolumeMounts }}
{{- toYaml .Values.additionalVolumeMounts | nindent 12 -}}
{{- end }}
Expand Down Expand Up @@ -94,6 +99,11 @@ spec:
- name: user-config
secret:
secretName: {{ include "binoculars.config.name" . }}
{{- if .Values.applicationConfig.grpc.tls.enabled }}
- name: tls-certs
secret:
secretName: binoculars-service-tls
{{- end }}
{{- if .Values.additionalVolumes }}
{{- toYaml .Values.additionalVolumes | nindent 8 }}
{{- end }}
5 changes: 5 additions & 0 deletions deployment/binoculars/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,12 @@ metadata:
annotations:
kubernetes.io/ingress.class: {{ required "A value is required for .Values.ingressClass" .Values.ingressClass }}
nginx.ingress.kubernetes.io/ssl-redirect: "true"
{{- if .Values.applicationConfig.grpc.tls.enabled }}
nginx.ingress.kubernetes.io/backend-protocol: "GRPCS"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
{{- else }}
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
{{- end }}
certmanager.k8s.io/cluster-issuer: {{ required "A value is required for .Values.clusterIssuer" .Values.clusterIssuer }}
cert-manager.io/cluster-issuer: {{ required "A value is required for .Values.clusterIssuer" .Values.clusterIssuer }}
{{- if .Values.ingress.annotations }}
Expand Down
4 changes: 4 additions & 0 deletions deployment/binoculars/templates/ingressrest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ metadata:
annotations:
kubernetes.io/ingress.class: {{ required "A value is required for .Values.ingressClass" .Values.ingressClass }}
nginx.ingress.kubernetes.io/ssl-redirect: "true"
{{- if .Values.applicationConfig.grpc.tls.enabled }}
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
{{- end }}
certmanager.k8s.io/cluster-issuer: {{ required "A value is required for .Values.clusterIssuer" .Values.clusterIssuer }}
cert-manager.io/cluster-issuer: {{ required "A value is required for .Values.clusterIssuer" .Values.clusterIssuer }}
nginx.ingress.kubernetes.io/rewrite-target: /$2
Expand Down
7 changes: 6 additions & 1 deletion deployment/binoculars/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ resources:
memory: 512Mi
cpu: 200m
# -- Tolerations
tolerations: []
tolerations: []
additionalLabels: {}
additionalClusterRoleBindings: []
additionalVolumeMounts: []
Expand All @@ -32,5 +32,10 @@ serviceAccount: null

applicationConfig:
grpcPort: 50051
grpc:
tls:
enabled: false
certPath: /certs/tls.crt
keyPath: /certs/tls.key
httpPort: 8080
metricsPort: 9000
5 changes: 5 additions & 0 deletions deployment/jobservice/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,12 @@ metadata:
annotations:
kubernetes.io/ingress.class: {{ required "A value is required for .Values.ingressClass" .Values.ingressClass }}
nginx.ingress.kubernetes.io/ssl-redirect: "true"
{{- if .Values.applicationConfig.grpc.tls.enabled }}
nginx.ingress.kubernetes.io/backend-protocol: "GRPCS"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
{{- else }}
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
{{- end }}
certmanager.k8s.io/cluster-issuer: {{ required "A value is required for .Values.clusterIssuer" .Values.clusterIssuer }}
cert-manager.io/cluster-issuer: {{ required "A value is required for .Values.clusterIssuer" .Values.clusterIssuer }}
{{- if .Values.ingress.annotations }}
Expand Down
10 changes: 10 additions & 0 deletions deployment/jobservice/templates/statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,11 @@ spec:
mountPath: /config/application_config.yaml
subPath: {{ include "jobservice.config.filename" . }}
readOnly: true
{{- if .Values.applicationConfig.grpc.tls.enabled }}
- name: tls-certs
mountPath: /certs
readOnly: true
{{- end }}
{{- if .Values.additionalVolumeMounts }}
{{- toYaml .Values.additionalVolumeMounts | nindent 12 -}}
{{- end }}
Expand All @@ -71,6 +76,11 @@ spec:
- name: user-config
secret:
secretName: {{ include "jobservice.config.name" . }}
{{- if .Values.applicationConfig.grpc.tls.enabled }}
- name: tls-certs
secret:
secretName: jobservice-service-tls
{{- end }}
{{- if .Values.additionalVolumes }}
{{- toYaml .Values.additionalVolumes | nindent 8 }}
{{- end }}
7 changes: 6 additions & 1 deletion deployment/jobservice/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ resources:
memory: 512Mi
cpu: 200m
# -- Tolerations
tolerations: []
tolerations: []
additionalLabels: {}
terminationGracePeriodSeconds: 30
replicas: 1
Expand All @@ -30,3 +30,8 @@ serviceAccount: null

applicationConfig:
grpcPort: 60063
grpc:
tls:
enabled: false
certPath: /certs/tls.crt
keyPath: /certs/tls.key
5 changes: 5 additions & 0 deletions deployment/scheduler/templates/scheduler-ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,12 @@ metadata:
annotations:
kubernetes.io/ingress.class: {{ required "A value is required for .Values.scheduler.ingressClass" .Values.scheduler.ingressClass }}
nginx.ingress.kubernetes.io/ssl-redirect: "true"
{{- if .Values.scheduler.applicationConfig.grpc.tls.enabled }}
nginx.ingress.kubernetes.io/backend-protocol: "GRPCS"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
{{- else }}
nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
{{- end }}
certmanager.k8s.io/cluster-issuer: {{ required "A value is required for .Values.scheduler.clusterIssuer" .Values.scheduler.clusterIssuer }}
cert-manager.io/cluster-issuer: {{ required "A value is required for .Values.scheduler.clusterIssuer" .Values.scheduler.clusterIssuer }}
{{- if .Values.scheduler.ingress.annotations }}
Expand Down
10 changes: 10 additions & 0 deletions deployment/scheduler/templates/scheduler-statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,11 @@ spec:
mountPath: "/pulsar/ca"
readOnly: true
{{- end }}
{{- if .Values.scheduler.applicationConfig.grpc.tls.enabled }}
- name: tls-certs
mountPath: /certs
readOnly: true
{{- end }}
{{- if .Values.scheduler.additionalVolumeMounts }}
{{- toYaml .Values.scheduler.additionalVolumeMounts | nindent 12 -}}
{{- end }}
Expand All @@ -116,6 +121,11 @@ spec:
- {{ include "armada-scheduler.name" . }}
topologyKey: kubernetes.io/hostname
volumes:
{{- if .Values.scheduler.applicationConfig.grpc.tls.enabled }}
- name: tls-certs
secret:
secretName: armada-scheduler-service-tls
{{- end}}
- name: user-config
secret:
secretName: {{ include "armada-scheduler.config.name" . }}
Expand Down
4 changes: 4 additions & 0 deletions deployment/scheduler/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ scheduler:
applicationConfig:
grpc:
port: 50051
tls:
enabled: false
certPath: /certs/tls.crt
keyPath: /certs/tls.key
metrics:
port: 9001
http:
Expand Down
2 changes: 1 addition & 1 deletion internal/armada/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ func Serve(ctx context.Context, config *configuration.ArmadaConfig, healthChecks
if err != nil {
return err
}
grpcServer := grpcCommon.CreateGrpcServer(config.Grpc.KeepaliveParams, config.Grpc.KeepaliveEnforcementPolicy, authServices)
grpcServer := grpcCommon.CreateGrpcServer(config.Grpc.KeepaliveParams, config.Grpc.KeepaliveEnforcementPolicy, authServices, config.Grpc.Tls)

// Shut down grpcServer if the context is cancelled.
// Give the server 5 seconds to shut down gracefully.
Expand Down
2 changes: 1 addition & 1 deletion internal/binoculars/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func StartUp(config *configuration.BinocularsConfig) (func(), *sync.WaitGroup) {
os.Exit(-1)
}

grpcServer := grpcCommon.CreateGrpcServer(config.Grpc.KeepaliveParams, config.Grpc.KeepaliveEnforcementPolicy, authServices)
grpcServer := grpcCommon.CreateGrpcServer(config.Grpc.KeepaliveParams, config.Grpc.KeepaliveEnforcementPolicy, authServices, config.Grpc.Tls)

permissionsChecker := authorization.NewPrincipalPermissionChecker(
config.Auth.PermissionGroupMapping,
Expand Down
Loading

0 comments on commit c6454ba

Please sign in to comment.