Skip to content

Commit

Permalink
[kommander] crd fix (part 1) (#237)
Browse files Browse the repository at this point in the history
* first stage of the crd fix, move crds to files to be merged in later

* addititional changes to how crds are created

* fixed issues with process, separeted observable crd items from federated ones

* chart version bump
  • Loading branch information
alejandroEsc committed Nov 6, 2019
1 parent 775637a commit 1ed0d1b
Show file tree
Hide file tree
Showing 12 changed files with 399 additions and 167 deletions.
2 changes: 1 addition & 1 deletion stable/kommander/Chart.yaml
Expand Up @@ -3,7 +3,7 @@ name: kommander
home: https://github.com/mesosphere/kommander
appVersion: "1.149.0"
description: Kommander
version: 0.2.0
version: 0.2.1
maintainers:
- name: hectorj2f
- name: alejandroEsc
Expand Down
@@ -1,27 +1,3 @@
{{- if and .Values.federate.addons .Values.kubefed.enabled }}
---
apiVersion: core.kubefed.io/v1beta1
kind: FederatedTypeConfig
metadata:
finalizers:
- core.kubefed.io/federated-type-config
generation: 1
name: addons.kubeaddons.mesosphere.io
namespace: {{ .Release.Namespace }}
spec:
federatedType:
group: types.kubefed.io
kind: FederatedAddon
pluralName: federatedaddons
scope: Namespaced
version: v1beta1
propagation: Enabled
targetType:
group: kubeaddons.mesosphere.io
kind: Addon
pluralName: addons
scope: Namespaced
version: v1beta1
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
Expand Down Expand Up @@ -158,5 +134,4 @@ spec:
versions:
- name: v1beta1
served: true
storage: true
{{ end }}
storage: true
@@ -1,27 +1,3 @@
{{- if and .Values.federate.clusterrolebindings .Values.kubefed.enabled }}
---
apiVersion: core.kubefed.io/v1beta1
kind: FederatedTypeConfig
metadata:
finalizers:
- core.kubefed.io/federated-type-config
generation: 1
name: clusterrolebindings.rbac.authorization.k8s.io
namespace: {{ .Release.Namespace }}
spec:
federatedType:
group: types.kubefed.io
kind: FederatedClusterRoleBinding
pluralName: federatedclusterrolebindings
scope: Cluster
version: v1beta1
propagation: Enabled
targetType:
group: rbac.authorization.k8s.io
kind: ClusterRoleBinding
pluralName: clusterrolebindings
scope: Cluster
version: v1
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
Expand Down Expand Up @@ -158,5 +134,4 @@ spec:
versions:
- name: v1beta1
served: true
storage: true
{{ end }}
storage: true
@@ -1,27 +1,3 @@
{{- if and .Values.federate.clusteraddons .Values.kubefed.enabled }}
---
apiVersion: core.kubefed.io/v1beta1
kind: FederatedTypeConfig
metadata:
finalizers:
- core.kubefed.io/federated-type-config
generation: 1
name: clusteraddons.kubeaddons.mesosphere.io
namespace: {{ .Release.Namespace }}
spec:
federatedType:
group: types.kubefed.io
kind: FederatedClusterAddon
pluralName: federatedclusteraddons
scope: Cluster
version: v1beta1
propagation: Enabled
targetType:
group: kubeaddons.mesosphere.io
kind: ClusterAddon
pluralName: clusteraddons
scope: Cluster
version: v1beta1
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
Expand Down Expand Up @@ -158,5 +134,4 @@ spec:
versions:
- name: v1beta1
served: true
storage: true
{{ end }}
storage: true
@@ -1,27 +1,3 @@
{{- if and .Values.federate.customresourcedefinitions .Values.kubefed.enabled }}
---
apiVersion: core.kubefed.io/v1beta1
kind: FederatedTypeConfig
metadata:
finalizers:
- core.kubefed.io/federated-type-config
generation: 1
name: customresourcedefinitions.apiextensions.k8s.io
namespace: {{ .Release.Namespace }}
spec:
federatedType:
group: types.kubefed.io
kind: FederatedCustomResourceDefinition
pluralName: federatedcustomresourcedefinitions
scope: Cluster
version: v1beta1
propagation: Enabled
targetType:
group: apiextensions.k8s.io
kind: CustomResourceDefinition
pluralName: customresourcedefinitions
scope: Cluster
version: v1beta1
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
Expand Down Expand Up @@ -161,5 +137,4 @@ spec:
versions:
- name: v1beta1
served: true
storage: true
{{- end }}
storage: true
@@ -1,27 +1,3 @@
{{- if and .Values.federate.rolebindings .Values.kubefed.enabled }}
---
apiVersion: core.kubefed.io/v1beta1
kind: FederatedTypeConfig
metadata:
finalizers:
- core.kubefed.io/federated-type-config
generation: 1
name: rolebindings.rbac.authorization.k8s.io
namespace: {{ .Release.Namespace }}
spec:
federatedType:
group: types.kubefed.io
kind: FederatedRoleBinding
pluralName: federatedrolebindings
scope: Namespaced
version: v1beta1
propagation: Enabled
targetType:
group: rbac.authorization.k8s.io
kind: RoleBinding
pluralName: rolebindings
scope: Namespaced
version: v1
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
Expand Down Expand Up @@ -158,5 +134,4 @@ spec:
versions:
- name: v1beta1
served: true
storage: true
{{ end }}
storage: true
@@ -1,27 +1,3 @@
{{- if and .Values.federate.roles .Values.kubefed.enabled }}
---
apiVersion: core.kubefed.io/v1beta1
kind: FederatedTypeConfig
metadata:
finalizers:
- core.kubefed.io/federated-type-config
generation: 1
name: roles.rbac.authorization.k8s.io
namespace: {{ .Release.Namespace }}
spec:
federatedType:
group: types.kubefed.io
kind: FederatedRole
pluralName: federatedroles
scope: Namespaced
version: v1beta1
propagation: Enabled
targetType:
group: rbac.authorization.k8s.io
kind: Role
pluralName: roles
scope: Namespaced
version: v1
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
Expand Down Expand Up @@ -158,5 +134,4 @@ spec:
versions:
- name: v1beta1
served: true
storage: true
{{ end }}
storage: true
@@ -1,15 +1,8 @@
{{- if .Values.createObservableClusterCRD }}
{{- if not (.Capabilities.APIVersions.Has "stable.mesosphere.com/v1") }}
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: observableclusters.stable.mesosphere.com
labels:
app: {{ template "kommander.fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.name }}"
heritage: "{{ .Release.Service }}"
annotations:
"helm.sh/hook": crd-install
spec:
Expand Down Expand Up @@ -62,6 +55,4 @@ spec:
JSONPath: .spec.authenticationSecretName
- name: Age
type: date
JSONPath: .metadata.creationTimestamp
{{- end }}
{{- end }}
JSONPath: .metadata.creationTimestamp
128 changes: 128 additions & 0 deletions stable/kommander/templates/federated-crds.yaml
@@ -0,0 +1,128 @@
{{- if .Values.kubefed.enabled }}
{{- if not (.Capabilities.APIVersions.Has "types.kubefed.io/v1beta1") }}
{{- if .Values.federate.addons }}
{{.Files.Get "files/federated-addons.yaml" }}
{{- end }}
{{- if .Values.federate.clusterrolebindings }}
{{.Files.Get "files/federated-cluster-rolebindings.yaml" }}
{{- end }}
{{- if .Values.federate.clusteraddons }}
{{.Files.Get "files/federated-clusteraddons.yaml" }}
{{- end }}
{{- if .Values.federate.customresourcedefinitions }}
{{.Files.Get "files/federated-customresourcedefinition.yaml" }}
{{- end }}
{{- if .Values.federate.rolebindings }}
{{.Files.Get "files/federated-rolebindings.yaml" }}
{{- end }}
{{- if .Values.federate.roles }}
{{.Files.Get "files/federated-roles.yaml" }}
{{- end }}
{{- end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: federated-crds
namespace: {{ .Release.Namespace }}
annotations:
"helm.sh/hook": pre-install, pre-upgrade
"helm.sh/hook-weight": "-5"
"helm.sh/hook-delete-policy": hook-succeeded
labels:
{{ include "kommander.labels" . | indent 4 }}
data:
{{- if .Values.federate.addons }}
federated-addons.yaml: |
{{.Files.Get "files/federated-addons.yaml" | indent 6}}
{{- end }}
{{- if .Values.federate.clusterrolebindings }}
federated-cluster-rolebindings.yaml: |
{{.Files.Get "files/federated-cluster-rolebindings.yaml" | indent 6}}
{{- end }}
{{- if .Values.federate.clusteraddons }}
federated-clusteraddons.yaml: |
{{.Files.Get "files/federated-clusteraddons.yaml" | indent 6}}
{{- end }}
{{- if .Values.federate.customresourcedefinitions }}
federated-customresourcedefinition.yaml: |
{{.Files.Get "files/federated-customresourcedefinition.yaml" | indent 6}}
{{- end }}
{{- if .Values.federate.rolebindings }}
federated-rolebindings.yaml: |
{{.Files.Get "files/federated-rolebindings.yaml" | indent 6}}
{{- end }}
{{- if .Values.federate.roles }}
federated-roles.yaml: |
{{.Files.Get "files/federated-roles.yaml" | indent 6}}
{{- end }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kommander-crds
namespace: {{ .Release.Namespace }}
annotations:
"helm.sh/hook": pre-install, pre-upgrade
"helm.sh/hook-weight": "-5"
"helm.sh/hook-delete-policy": hook-succeeded
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["create", "get", "list", "watch", "patch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kommander-crds
namespace: {{ .Release.Namespace }}
annotations:
"helm.sh/hook": pre-install, pre-upgrade
"helm.sh/hook-weight": "-5"
"helm.sh/hook-delete-policy": hook-succeeded
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kommander-crds
subjects:
- kind: ServiceAccount
name: kommander-crds
namespace: {{ .Release.Namespace }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: kommander-crds
namespace: {{ .Release.Namespace }}
annotations:
"helm.sh/hook": pre-install, pre-upgrade
"helm.sh/hook-weight": "-5"
"helm.sh/hook-delete-policy": hook-succeeded
---
apiVersion: batch/v1
kind: Job
metadata:
namespace: {{ .Release.Namespace }}
name: federated-crds
annotations:
"helm.sh/hook": pre-install, pre-upgrade
"helm.sh/hook-weight": "-4"
"helm.sh/hook-delete-policy": hook-succeeded
spec:
template:
spec:
serviceAccountName: kommander-crds
containers:
- name: federated-crds
image: "bitnami/kubectl:1.16.2"
volumeMounts:
- name: federated-crds
mountPath: /etc/federated-crds
readOnly: true
command: ["kubectl", "apply", "-f", "/etc/federated-crds"]
volumes:
- name: federated-crds
configMap:
name: federated-crds
restartPolicy: OnFailure
{{- end }}

0 comments on commit 1ed0d1b

Please sign in to comment.