Skip to content
Snippets Groups Projects
job-create-oauth-clients.yaml 2.71 KiB
Newer Older
Mark's avatar
Mark committed
apiVersion: batch/v1
kind: Job
metadata:
Mark's avatar
Mark committed
  name: {{ include "single-sign-on.fullname" . }}-create-oauth2-clients
Mark's avatar
Mark committed
  labels:
{{ include "single-sign-on.labels" . | indent 4 }}
  annontations:
Mark's avatar
Mark committed
    "helm.sh/hook": post-install,post-upgrade
    "helm.sh/hook-weight": "-4"
    "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
Mark's avatar
Mark committed
spec:
  template:
    metadata:
      labels:
        app.kubernetes.io/managed-by: {{.Release.Service | quote }}
        app.kubernetes.io/instance: {{.Release.Name | quote }}
        helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
    spec:
      restartPolicy: Never
      containers:
Mark's avatar
Mark committed
      {{- range .Values.oAuthClients }}
      - name: {{ .clientName | quote }}
        image: {{ $.Values.userbackend.image.repository }}:{{ $.Values.userbackend.image.tag }}
        imagePullPolicy: {{ $.Values.userbackend.image.pullPolicy }}
Mark's avatar
Mark committed
        env:
        - name: CLIENT_ID
          valueFrom:
            secretKeyRef:
Mark's avatar
Mark committed
              name: oauth2-clients
Mark's avatar
Mark committed
              key: {{ .clientName }}_client_id
Mark's avatar
Mark committed
        - name: CLIENT_SECRET
          valueFrom:
            secretKeyRef:
Mark's avatar
Mark committed
              name: oauth2-clients
Mark's avatar
Mark committed
              key: {{ .clientName }}_client_secret
Mark's avatar
Mark committed
        - name: CLIENT_NAME
Mark's avatar
Mark committed
          value: {{ .clientName | quote }}
Mark's avatar
Mark committed
        - name: REDIRECT_URI
Mark's avatar
Mark committed
          value: {{ .redirectUri | quote }}
Mark's avatar
Mark committed
        - name: SCOPES
Mark's avatar
Mark committed
          value: {{ .scopes | quote }}
Mark's avatar
Mark committed
        - name: CLIENT_URI
Mark's avatar
Mark committed
          value: {{ .clientUri | quote }}
Mark's avatar
Mark committed
        - name: CLIENT_LOGO_URI
Mark's avatar
Mark committed
          value: {{ .clientLogoUri | quote }}
Mark's avatar
Mark committed
        - name: TOKEN_ENDPOINT_AUTH_METHOD
Mark's avatar
Mark committed
          value: {{ .tokenEndpointAuthMethod | quote }}
Mark's avatar
Mark committed
        - name: RESPONSE_TYPES
          value: "{{- range .responseTypes }}\"{{ . }}\",{{- end }}"
Mark's avatar
Mark committed
        - name: GRANT_TYPES
          value: "{{- range .grantTypes }}\"{{ . }}\",{{- end }}"
Mark's avatar
Mark committed
        command: ["/bin/bash", "-c"]
        args:
        - >
Mark's avatar
Mark committed
          curl http://{{ $.Release.Name }}-hydra-admin:4445/clients &&
Mark's avatar
Mark committed
          curl --header "Content-Type: application/json" \
               --request POST \
               --data "{\"client_id\": \"$CLIENT_ID\",
                        \"client_name\": \"$CLIENT_NAME\",
                        \"client_secret\": \"$CLIENT_SECRET\",
                        \"client_uri\": \"$CLIENT_URI\",
                        \"logo_uri\": \"$CLIENT_LOGO_URI\",
                        \"redirect_uris\": [\"$REDIRECT_URI\"],
                        \"scope\": \"$SCOPES\",
                        \"grant_types\": [$GRANT_TYPES\"\"],
                        \"response_types\": [$RESPONSE_TYPES\"\"],
Mark's avatar
Mark committed
                        \"token_endpoint_auth_method\": \"client_secret_post\"}" \
Mark's avatar
Mark committed
               http://{{ $.Release.Name }}-hydra-admin:4445/clients
      {{- end }}