Skip to content

Instantly share code, notes, and snippets.

@sapphirelin
Created December 6, 2021 07:51
Show Gist options
  • Save sapphirelin/537ed4220761449f5a90ced9d04f2e72 to your computer and use it in GitHub Desktop.
Save sapphirelin/537ed4220761449f5a90ced9d04f2e72 to your computer and use it in GitHub Desktop.
#! Source: https://github.com/vmware-tanzu/carvel-kapp-controller/releases/tag/v0.18.0
---
apiVersion: v1
kind: Namespace
metadata:
name: tkg-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: kapp-controller-sa
namespace: tkg-system
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: apps.kappctrl.k14s.io
spec:
additionalPrinterColumns:
- JSONPath: .status.friendlyDescription
description: Friendly description
name: Description
type: string
- JSONPath: .status.deploy.startedAt
description: Last time app started being deployed. Does not mean anything was changed.
name: Since-Deploy
type: date
- JSONPath: .metadata.creationTimestamp
description: |-
CreationTimestamp is a timestamp representing the server time when this object was created.
It is not guaranteed to be set in happens-before order across separate operations.
Clients may not set this value. It is represented in RFC3339 form and is in UTC.
Populated by the system. Read-only. Null for lists.
More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
name: Age
type: date
group: kappctrl.k14s.io
names:
kind: App
listKind: AppList
plural: apps
singular: app
scope: Namespaced
subresources:
status: {}
versions:
- name: v1alpha1
served: true
storage: true
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: kapp-controller
namespace: tkg-system
spec:
replicas: 1
revisionHistoryLimit: 0
selector:
matchLabels:
app: kapp-controller
template:
metadata:
labels:
app: kapp-controller
spec:
containers:
- args:
- -concurrency=2
env:
- name: KAPPCTRL_MEM_TMP_DIR
value: /etc/kappctrl-mem-tmp
image: projects.registry.vmware.com/tkg/kapp-controller:v0.18.0_vmware.1
imagePullPolicy: IfNotPresent
name: kapp-controller
resources:
requests:
cpu: 120m
memory: 100Mi
securityContext:
runAsGroup: 2000
runAsUser: 1000
volumeMounts:
- mountPath: /etc/kappctrl-mem-tmp
name: template-fs
securityContext:
fsGroup: 3000
serviceAccount: kapp-controller-sa
volumes:
- emptyDir:
medium: Memory
name: template-fs
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kapp-controller-cluster-role
rules:
- apiGroups:
- ""
resources:
- secrets
- configmaps
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- serviceaccounts
verbs:
- get
- apiGroups:
- kappctrl.k14s.io
resources:
- apps
- apps/status
verbs:
- '*'
- apiGroups:
- policy
resources:
- podsecuritypolicies
verbs:
- use
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kapp-controller-cluster-role-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kapp-controller-cluster-role
subjects:
- kind: ServiceAccount
name: kapp-controller-sa
namespace: tkg-system
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment