-
-
Save cstrahan/528b00cd5c3a22e3d8f057bb1a75ea61 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
kind: Pod | |
metadata: | |
name: {{ include "chart.name" . }}-pod | |
labels: | |
app: {{ include "chart.app" . | indent 2 }} | |
environment: {{ .Values.environment | indent 2 }} | |
tier: frontend | |
team: {{ .Values.team | indent 2 }} | |
spec: | |
containers: | |
- name: main-container | |
image: {{ .Values.image.repository }}:{{ .Values.image.tag }} | |
resources: | |
requests: | |
memory: {{ .Values.resources.requests.memory | indent 6 }} | |
cpu: {{ .Values.resources.requests.cpu | indent 6 }} | |
limits: | |
memory: {{ .Values.resources.limits.memory | indent 6 }} | |
cpu: {{ .Values.resources.limits.cpu | indent 6 }} | |
ports: | |
- containerPort: {{ .Values.containerPort }} | |
volumeMounts: | |
- name: data-volume | |
mountPath: {{ .Values.volumeMountPath | indent 6 }} | |
volumes: | |
- name: data-volume | |
emptyDir: {} | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: {{ include "chart.name" . }}-service | |
annotations: | |
prometheus.io/scrape: "true" | |
prometheus.io/port: {{ .Values.containerPort }} | |
spec: | |
selector: | |
app: {{ include "chart.app" . }} | |
ports: | |
- protocol: TCP | |
port: 80 | |
targetPort: {{ .Values.containerPort }} | |
type: LoadBalancer | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: {{ include "chart.name" . }}-deployment | |
annotations: | |
deployment.kubernetes.io/revision: "1" | |
spec: | |
replicas: {{ .Values.replicaCount }} | |
selector: | |
matchLabels: | |
app: {{ include "chart.app" . }} | |
template: | |
metadata: | |
labels: | |
app: {{ include "chart.app" . }} | |
spec: | |
containers: | |
- name: main-container | |
image: {{ .Values.image.repository }}:{{ .Values.image.tag }} | |
resources: | |
requests: | |
memory: {{ .Values.resources.requests.memory | indent 8 }} | |
cpu: {{ .Values.resources.requests.cpu | indent 8 }} | |
limits: | |
memory: {{ .Values.resources.limits.memory | indent 8 }} | |
cpu: {{ .Values.resources.limits.cpu | indent 8 }} | |
ports: | |
- containerPort: {{ .Values.containerPort }} | |
volumeMounts: | |
- name: data-volume | |
mountPath: {{ .Values.volumeMountPath | indent 8 }} | |
volumes: | |
- name: data-volume | |
emptyDir: {} | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: {{ include "chart.name" . }}-configmap | |
data: | |
complex-config.yaml: |- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: sub-configmap | |
data: | |
sub-config.yaml: |- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: sub-sub-configmap | |
data: | |
sub-sub-config.yaml: |- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: sub-sub-sub-configmap | |
data: | |
sub-sub-sub-config.yaml: |- | |
{{ .Values.complexConfig | indent 14 }} | |
--- | |
apiVersion: networking.k8s.io/v1 | |
kind: Ingress | |
metadata: | |
name: {{ include "chart.name" . }}-ingress | |
annotations: | |
nginx.ingress.kubernetes.io/rewrite-target: / | |
spec: | |
rules: | |
- host: {{ .Values.ingress.host }} | |
http: | |
paths: | |
- pathType: Prefix | |
path: "/{{ .Values.ingress.path }}" | |
backend: | |
service: | |
name: {{ include "chart.name" . }}-service | |
port: | |
number: 80 | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: Role | |
metadata: | |
name: {{ include "chart.name" . }}-role | |
rules: | |
- apiGroups: [""] | |
resources: ["pods"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["extensions"] | |
resources: ["deployments"] | |
verbs: ["get", "list", "watch", "create", "update", "delete"] | |
- apiGroups: ["networking.k8s.io"] | |
resources: ["ingresses"] | |
verbs: ["get", "list", "watch"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: RoleBinding | |
metadata: | |
name: {{ include "chart.name" . }}-role-binding | |
subjects: | |
- kind: ServiceAccount | |
name: default | |
namespace: default | |
roleRef: | |
kind: Role | |
name: {{ include "chart.name" . }}-role | |
apiGroup: rbac.authorization.k8s.io |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment