cluster-service/cspr/cluster-service-namespace.yaml (108 lines of code) (raw):

apiVersion: template.openshift.io/v1 kind: Template metadata: name: cluster-service-admin parameters: - name: NAMESPACE description: The namespace to create required: true value: cluster-service-admin - name: CLIENT_ID description: The Azure Client ID used for federation required: true - name: KEY_VAULT_NAME description: Key vault name where certificates are stored required: true - name: FIRST_PARTY_APP_CERTIFICATE_NAME description: Name of first party app certificate required: true - name: FPA_CLIENT_ID description: Client ID of First Party Application required: true - name: ARM_HELPER_CERTIFICATE_NAME description: Name of ARM helper certificate required: true - name: ARM_HELPER_CLIENT_ID description: Client ID of Arm Helper Identity required: true - name: ARM_HELPER_MOCK_FPA_PRINCIPAL_ID description: Principal ID of mock FPA Identity required: true - name: MSI_MOCK_CERTIFICATE_NAME description: Name of MSI mock certificate required: true - name: MSI_MOCK_CLIENT_ID description: Client ID of MSI Mock required: true - name: MSI_MOCK_PRINCIPAL_ID description: Principal ID of MSI Mock required: true objects: - apiVersion: v1 kind: Namespace metadata: name: cluster-service-admin - apiVersion: v1 kind: ServiceAccount metadata: name: cluster-service-mgmt namespace: ${NAMESPACE} - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: namespace-admin rules: - apiGroups: - "" resources: - namespaces verbs: - "*" - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: cluster-service-admin roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: admin subjects: - kind: ServiceAccount name: cluster-service-mgmt namespace: cluster-service-admin - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: cluster-service-namespace-admin roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: namespace-admin subjects: - kind: ServiceAccount name: cluster-service-mgmt namespace: cluster-service-admin - apiVersion: v1 kind: Secret metadata: name: cluster-service-mgmt-token annotations: kubernetes.io/service-account.name: cluster-service-mgmt namespace: ${NAMESPACE} type: kubernetes.io/service-account-token - apiVersion: v1 kind: ConfigMap metadata: name: cluster-service-config namespace: ${NAMESPACE} data: cs-client-id: ${CLIENT_ID} key-vault-name: ${KEY_VAULT_NAME} fpa-cert-name: ${FIRST_PARTY_APP_CERTIFICATE_NAME} fpa-client-id: ${FPA_CLIENT_ID} arm-helper-cert-name: ${ARM_HELPER_CERTIFICATE_NAME} arm-helper-client-id: ${ARM_HELPER_CLIENT_ID} arm-helper-mock-fpa-principal-id: ${ARM_HELPER_MOCK_FPA_PRINCIPAL_ID} msi-mock-cert-name: ${MSI_MOCK_CERTIFICATE_NAME} msi-mock-client-id: ${MSI_MOCK_CLIENT_ID} msi-mock-principal-id: ${MSI_MOCK_PRINCIPAL_ID}