* rename config values - api -> backend - nginx -> frontend * job pods: - set job_pull_policy from api_pull_policy (same as backend image) - default to Always, but can be overridden for local deployment (same as backend image) typo fix: CRAWL_NAMESPACE -> CRAWLER_NAMESPACE (part of #491) ansible: set default label to :latest instead of :dev for
		
			
				
	
	
		
			150 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			150 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| {{- if .Values.signer.enabled }}
 | |
| 
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Secret
 | |
| metadata:
 | |
|   name: auth-signer-config
 | |
|   namespace: {{ .Release.Namespace }}
 | |
| 
 | |
| type: Opaque
 | |
| stringData:
 | |
|   config.yaml: |
 | |
|     signing:
 | |
|       domain: {{ .Values.signer.host }}  # domain to retrieve a cert for (passed to ACME servers, required)
 | |
|       email: {{ .Values.signer.cert_email }}  # email for acme auth (passed to ACME servers, required)
 | |
|       port: 80  # local port for acme domain check (should be 80, change if running behind a proxy)
 | |
| 
 | |
|       output: /data  # dir to store the keys and certs (for internal use)
 | |
| 
 | |
|       staging: False  # generate staging certs
 | |
| 
 | |
|       # optional: set a 'cross-singing' CA and private key
 | |
|       # this will be used along with ACME (Lets Encrypt) to sign the same CSR
 | |
|       # csca_cert: <ca-cert.pem>
 | |
|       # csca_private_key: <ca-private-key.pem>
 | |
| 
 | |
|       # rfc3161 timestamp authority cert chain + timestamp urls
 | |
|       # at least one required, if multiple, one is selected at random
 | |
|       timestamping:
 | |
|         # time server cert chain (cert + ca cert)
 | |
|         # pkg:// url to load from python package data
 | |
|         - certfile: pkg://authsign.trusted/ts-chain.pem
 | |
|           url: http://freetsa.org/tsr  # timeserver URL    
 | |
| 
 | |
| 
 | |
| # default trusted roots stored in authsign.trusted package
 | |
| # uncomment to override
 | |
| # trusted_roots: pkg://authsign.trusted/roots.yaml
 | |
| 
 | |
| ---
 | |
| apiVersion: apps/v1
 | |
| kind: StatefulSet
 | |
| metadata:
 | |
|   name: auth-signer
 | |
|   namespace: {{ .Release.Namespace }}
 | |
| spec:
 | |
|   selector:
 | |
|     matchLabels:
 | |
|       app: auth-signer
 | |
|   replicas: {{ .Values.backend_num_replicas }}
 | |
|   serviceName: auth-signer
 | |
|   volumeClaimTemplates:
 | |
|   - metadata:
 | |
|       name: signer-storage
 | |
|       annotations:
 | |
|         helm.sh/resource-policy: keep
 | |
|     spec:
 | |
|       accessModes:
 | |
|         - ReadWriteOnce
 | |
| 
 | |
|       resources:
 | |
|         requests:
 | |
|           storage: 1Gi
 | |
| 
 | |
|       {{- if .Values.volume_storage_class }}
 | |
|       storageClassName: {{ .Values.volume_storage_class }}
 | |
|       {{- end }}
 | |
| 
 | |
|   template:
 | |
|     metadata:
 | |
|       labels:
 | |
|         app: auth-signer
 | |
| 
 | |
|       annotations:
 | |
|         # force update if signer_update is set
 | |
|         {{- if .Values.signer_update }}
 | |
|         "helm.update": {{ randAlphaNum 5 | quote }}
 | |
|         {{- end }}
 | |
| 
 | |
|     spec:
 | |
|       {{- if .Values.main_node_type }}
 | |
|       nodeSelector:
 | |
|         nodeType: {{ .Values.main_node_type }}
 | |
|       {{- end }}
 | |
| 
 | |
|       volumes:
 | |
|         - name: signer-config
 | |
|           secret:
 | |
|             secretName: auth-signer-config
 | |
|             items:
 | |
|               - key: config.yaml
 | |
|                 path: config.yaml
 | |
| 
 | |
|       containers:
 | |
|         - name: signer
 | |
|           image: {{ .Values.signer.image }}
 | |
|           imagePullPolicy: {{ .Values.signer.image_pull_policy }}
 | |
|           command: ["uvicorn", "authsign.main:app", "--port", "5053", "--host", "0.0.0.0", "--log-config", "/app/log.json"]
 | |
|           env:
 | |
|             - name: CONFIG
 | |
|               value: "/app-config/config.yaml"
 | |
| 
 | |
|             - name: AUTH_TOKEN
 | |
|               value: "{{ .Values.signer.auth_token }}"
 | |
| 
 | |
|           volumeMounts:
 | |
|             - name: signer-config
 | |
|               mountPath: /app-config
 | |
|               readOnly: true
 | |
| 
 | |
|             - name: signer-storage
 | |
|               mountPath: /data
 | |
|               subPath: signer
 | |
| 
 | |
|           resources:
 | |
|             limits:
 | |
|               cpu: {{ .Values.signer_limits_cpu }}
 | |
|               memory: {{ .Values.signer_limits_memory }}
 | |
| 
 | |
|             requests:
 | |
|               cpu: {{ .Values.signer_requests_cpu }}
 | |
|               memory: {{ .Values.signer_requests_memory }}
 | |
| 
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Service
 | |
| 
 | |
| metadata:
 | |
|   namespace: {{ .Release.Namespace }}
 | |
|   name: auth-signer
 | |
|   labels:
 | |
|     app: auth-signer
 | |
| 
 | |
| spec:
 | |
|   selector:
 | |
|     app: auth-signer
 | |
| 
 | |
|   clusterIP: None
 | |
|   ports:
 | |
|     - protocol: TCP
 | |
|       port: 80
 | |
|       name: signer-cert
 | |
| 
 | |
|     - protocol: TCP
 | |
|       port: 5053
 | |
|       name: signer-api
 | |
| 
 | |
| 
 | |
| {{- end }}
 |