|
apiVersion: v1 |
|
kind: Secret |
|
metadata: |
|
name: ootb-templates-overlay |
|
namespace: tap-install |
|
type: Opaque |
|
stringData: |
|
ootb-templates-overlay.yaml: | |
|
#@ load("@ytt:overlay","overlay") |
|
|
|
#@ def ct_matcher(): |
|
apiVersion: tekton.dev/v1beta1 |
|
kind: ClusterTask |
|
metadata: |
|
name: commit-and-pr |
|
#@ end |
|
|
|
#@ def cdt_matcher(): |
|
apiVersion: carto.run/v1alpha1 |
|
kind: ClusterDeploymentTemplate |
|
metadata: |
|
name: app-deploy |
|
#@ end |
|
|
|
#@overlay/match by=overlay.subset(ct_matcher()) |
|
--- |
|
spec: |
|
steps: |
|
#@overlay/match by=overlay.subset({"name":"open-pr"}) |
|
- script: | |
|
#!/usr/bin/env bash |
|
set -o errexit |
|
set -o pipefail |
|
head_branch=$(cat /workspaces/ws/commit_branch | tr -d '\n') |
|
token=$(cat $(credentials.path)/.git-credentials | sed -e 's/https:.*://' | sed -e 's/http:.*://' | sed -e 's/@.*//') |
|
jx-scm pull-request create \ |
|
--kind "$(params.git_server_kind)" \ |
|
--server "$(params.git_server_address)" \ |
|
--token "$token" \ |
|
--owner "$(params.repository_owner)" \ |
|
--name "$(params.repository_name)" \ |
|
--head "$head_branch" \ |
|
--title "$(params.pull_request_title)" \ |
|
--body "$(params.pull_request_body)" \ |
|
--base "$(params.base_branch)" \ |
|
--allow-update 2>&1 | |
|
tee stdoutAndSterr.txt |
|
#@overlay/match by=overlay.subset(cdt_matcher()) |
|
--- |
|
spec: |
|
ytt: |- |
|
#@ load("@ytt:data", "data") |
|
#@ load("@ytt:assert", "assert") |
|
#@ def merge_labels(fixed_values): |
|
#@ labels = {} |
|
#@ if hasattr(data.values.deliverable.metadata, "labels"): |
|
#@ labels.update(data.values.deliverable.metadata.labels) |
|
#@ end |
|
#@ labels.update(fixed_values) |
|
#@ return labels |
|
#@ end |
|
--- |
|
apiVersion: kappctrl.k14s.io/v1alpha1 |
|
kind: App |
|
metadata: |
|
name: #@ data.values.deliverable.metadata.name |
|
labels: #@ merge_labels({ "app.kubernetes.io/component": "deploy" }) |
|
spec: |
|
syncPeriod: 10m0s |
|
serviceAccountName: #@ data.values.params.serviceAccount |
|
fetch: |
|
- http: |
|
url: #@ data.values.deployment.url or assert.fail("missing required deployment config url") |
|
#@ if hasattr(data.values.deliverable.spec.source, "subPath"): |
|
subPath: #@ data.values.deliverable.spec.source.subPath |
|
#@ elif hasattr(data.values.params, "gitops_sub_path"): |
|
subPath: #@ data.values.params.gitops_sub_path |
|
#@ end |
|
- inline: |
|
paths: |
|
#@ if hasattr(data.values.params, "registry_change"): |
|
#@yaml/text-templated-strings |
|
registry-change.yaml: | |
|
--- |
|
#@ load("@ytt:overlay","overlay") |
|
--- |
|
#@ devRegistry = "(@= data.values.params.registry_change.origin @)" |
|
#@ newRegistry = "(@= data.values.params.registry_change.pullFrom @)" |
|
#@overlay/match by=overlay.subset({"kind":"Service"}) |
|
--- |
|
spec: |
|
template: |
|
spec: |
|
containers: |
|
#@overlay/match by="name" |
|
- name: workload |
|
#@overlay/replace via=lambda left, right: left.replace(devRegistry, right) |
|
image: #@ newRegistry |
|
#@ end |
|
config.yml: | |
|
--- |
|
apiVersion: kapp.k14s.io/v1alpha1 |
|
kind: Config |
|
rebaseRules: |
|
- path: [metadata, annotations, serving.knative.dev/creator] |
|
type: copy |
|
sources: [new, existing] |
|
resourceMatchers: &matchers |
|
- apiVersionKindMatcher: {apiVersion: serving.knative.dev/v1, kind: Service} |
|
- path: [metadata, annotations, serving.knative.dev/lastModifier] |
|
type: copy |
|
sources: [new, existing] |
|
resourceMatchers: *matchers |
|
template: |
|
- ytt: {} |
|
- kbld: {} |
|
deploy: |
|
- kapp: {} |