diff --git a/config/pre-install/v0.16.0/clusterrole.yaml b/config/pre-install/v0.16.0/clusterrole.yaml new file mode 100644 index 00000000000..9d8c9cd7dd9 --- /dev/null +++ b/config/pre-install/v0.16.0/clusterrole.yaml @@ -0,0 +1,46 @@ +# Copyright 2020 The Knative Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: knative-eventing-pre-install-job-role + labels: + eventing.knative.dev/release: devel +rules: + # Storage version upgrader needs to be able to patch CRDs. + - apiGroups: + - "apiextensions.k8s.io" + resources: + - "customresourcedefinitions" + - "customresourcedefinitions/status" + verbs: + - "get" + - "list" + - "update" + - "patch" + - "watch" + # Our own resources we care about. + - apiGroups: + - "eventing.knative.dev" + resources: + - "brokers" + verbs: + - "get" + - "list" + - "create" + - "update" + - "delete" + - "patch" + - "watch" diff --git a/config/pre-install/v0.16.0/dummy.go b/config/pre-install/v0.16.0/dummy.go new file mode 100644 index 00000000000..30f6c5d46f0 --- /dev/null +++ b/config/pre-install/v0.16.0/dummy.go @@ -0,0 +1,19 @@ +/* +Copyright 2020 The Knative Authors + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Package preinstall is a placeholder that allows us to pull in config files +// via go mod vendor. +package preinstall diff --git a/config/pre-install/v0.16.0/serviceaccount.yaml b/config/pre-install/v0.16.0/serviceaccount.yaml new file mode 100644 index 00000000000..c8db766e305 --- /dev/null +++ b/config/pre-install/v0.16.0/serviceaccount.yaml @@ -0,0 +1,39 @@ +# Copyright 2020 The Knative Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: v1 +kind: ServiceAccount +metadata: + name: knative-eventing-pre-install-job + namespace: knative-eventing + labels: + eventing.knative.dev/release: devel + +--- + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: knative-eventing-pre-install-job-role-binding + labels: + eventing.knative.dev/release: devel +subjects: + - kind: ServiceAccount + name: knative-eventing-pre-install-job + namespace: knative-eventing +roleRef: + kind: ClusterRole + name: knative-eventing-pre-install-job-role + apiGroup: rbac.authorization.k8s.io + diff --git a/config/pre-install/v0.16.0/storage-version-migration.yaml b/config/pre-install/v0.16.0/storage-version-migration.yaml new file mode 100644 index 00000000000..18aca9c8935 --- /dev/null +++ b/config/pre-install/v0.16.0/storage-version-migration.yaml @@ -0,0 +1,39 @@ +# Copyright 2020 The Knative Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: batch/v1 +kind: Job +metadata: + name: storage-version-migration-v016 + namespace: knative-eventing + labels: + app: "storage-version-migration" + serving.knative.dev/release: devel +spec: + ttlSecondsAfterFinished: 600 + backoffLimit: 10 + template: + metadata: + labels: + app: "storage-version-migration" + spec: + serviceAccountName: knative-eventing-pre-install-job + restartPolicy: OnFailure + containers: + - name: migrate + # This is the Go import path for the binary that is containerized + # and substituted here. + image: ko://knative.dev/eventing/vendor/knative.dev/pkg/apiextensions/storageversion/cmd/migrate + args: + - "brokers.eventing.knative.dev"