├── namespace ├── namespace.yaml ├── pod1.yaml └── pod2.yaml ├── hpa ├── service.yaml ├── hpa.yaml └── deployment.yaml ├── service ├── service.yaml ├── ingress │ ├── service.yaml │ ├── ingress.yaml │ └── deployment.yaml ├── loadbalancer.yaml ├── ingress.yaml └── deployment.yaml ├── yaml └── file.yaml ├── storage ├── pvc.yaml ├── pv.yaml ├── empty.yaml ├── podcm.yaml ├── storage.yaml ├── httpd.conf └── httpd-configmap.yaml ├── challenge3 ├── nodeport.yaml └── deployment.yaml ├── deployments ├── pod.yaml ├── replicaset.yaml └── deployment.yaml ├── challenge1 ├── challenge.yaml └── start.yaml ├── kops ├── affinity.yaml └── tolerations.yaml ├── challenge5 ├── pod.yaml └── nginx.conf ├── challenge2 └── deploymentchallenge.yaml ├── mutli ├── initdeploy.yaml ├── deployment.yaml └── landr.yaml └── challenge4 └── challenge4.yaml /namespace/namespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: dev -------------------------------------------------------------------------------- /hpa/service.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: phpservice 5 | spec: 6 | selector: 7 | app: stressed 8 | type: ClusterIP 9 | ports: 10 | - port: 80 11 | targetPort: 80 -------------------------------------------------------------------------------- /service/service.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: websrvc 5 | spec: 6 | selector: 7 | server: web 8 | type: ClusterIP 9 | ports: 10 | - port: 8080 11 | targetPort: 80 -------------------------------------------------------------------------------- /yaml/file.yaml: -------------------------------------------------------------------------------- 1 | shopping: 2 | - eggs: 1 3 | - milk: 2 4 | - fruit: apple 5 | 6 | purchased: 7 | fruit: 8 | apple: 1 9 | banana: 2 10 | needToBuy: 11 | - coffee 12 | - tea 13 | - milk -------------------------------------------------------------------------------- /service/ingress/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: websrvc 5 | spec: 6 | selector: 7 | server: web 8 | type: ClusterIP 9 | ports: 10 | - port: 8080 11 | targetPort: 80 -------------------------------------------------------------------------------- /service/loadbalancer.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: awslb 5 | spec: 6 | selector: 7 | name: myPod 8 | type: LoadBalancer 9 | ports: 10 | - port: 8080 11 | targetPort: 80 -------------------------------------------------------------------------------- /storage/pvc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolumeClaim 3 | metadata: 4 | name: mypvc 5 | spec: 6 | storageClassName: admstor 7 | accessModes: 8 | - ReadWriteOnce 9 | resources: 10 | requests: 11 | storage: 1Gi -------------------------------------------------------------------------------- /challenge3/nodeport.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: nodesrvc 5 | spec: 6 | selector: 7 | server: web 8 | type: NodePort 9 | ports: 10 | - port: 8080 11 | targetPort: 80 12 | nodePort: 31234 -------------------------------------------------------------------------------- /storage/pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: pv01 5 | spec: 6 | storageClassName: admstor 7 | accessModes: 8 | - ReadWriteOnce 9 | capacity: 10 | storage: 2Gi 11 | hostPath: 12 | path: /data/pv01 -------------------------------------------------------------------------------- /hpa/hpa.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: autoscaling/v1 2 | kind: HorizontalPodAutoscaler 3 | metadata: 4 | name: podhpa 5 | spec: 6 | minReplicas: 1 7 | maxReplicas: 5 8 | scaleTargetRef: 9 | apiVersion: apps/v1 10 | kind: Deployment 11 | name: stressedout 12 | targetCPUUtilizationPercentage: 50 -------------------------------------------------------------------------------- /namespace/pod1.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: myapp1 5 | labels: 6 | name: myapp 7 | spec: 8 | containers: 9 | - name: myapp 10 | image: nginx 11 | resources: 12 | limits: 13 | memory: "128Mi" 14 | cpu: "500m" 15 | ports: 16 | - containerPort: 80 17 | -------------------------------------------------------------------------------- /namespace/pod2.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | namespace: dev 5 | name: myapp2 6 | labels: 7 | name: myapp 8 | spec: 9 | containers: 10 | - name: myapp 11 | image: nginx 12 | resources: 13 | limits: 14 | memory: "128Mi" 15 | cpu: "500m" 16 | ports: 17 | - containerPort: 80 18 | -------------------------------------------------------------------------------- /deployments/pod.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: nginx 5 | labels: 6 | name: myPod 7 | type: proxy 8 | spec: 9 | containers: 10 | - name: nginxcontainer 11 | image: nginx:latest 12 | resources: 13 | limits: 14 | memory: "128Mi" 15 | cpu: "500m" 16 | ports: 17 | - containerPort: 80 -------------------------------------------------------------------------------- /challenge1/challenge.yaml: -------------------------------------------------------------------------------- 1 | fruit: 2 | red: 3 | strawberry 4 | tomato 5 | orange: 6 | - orange 7 | yellow: 8 | - banana 9 | green: 10 | - grapes 11 | - watermelon 12 | total: 6 13 | 14 | veg: 15 | yellow: 16 | - peppers 17 | orange: 18 | - carrot 19 | green: 20 | - broccoli 21 | - cabbage 22 | - lettuce 23 | total: 5 -------------------------------------------------------------------------------- /challenge1/start.yaml: -------------------------------------------------------------------------------- 1 | # Create a new file 'completed.yaml' 2 | 3 | # Sort the items by catagory and by colour 4 | 5 | # Add a total at the end 6 | 7 | items: 8 | - banana 9 | - orange 10 | - strawberry 11 | - broccoli 12 | - cabbage 13 | - grapes 14 | - carrot 15 | - tomato 16 | - peppers 17 | - watermelon 18 | - lettuce 19 | 20 | fruit: 21 | 22 | veg: -------------------------------------------------------------------------------- /service/ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: extensions/v1beta1 2 | kind: Ingress 3 | metadata: 4 | name: web-ingress 5 | #annotations: 6 | # nginx.ingress.kubernetes.io/ssl-redirect: \"false\" 7 | spec: 8 | rules: 9 | - host: mywebserver.internal 10 | http: 11 | paths: 12 | - path: / 13 | backend: 14 | serviceName: websrvc 15 | servicePort: 8080 -------------------------------------------------------------------------------- /kops/affinity.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: nginx 5 | labels: 6 | name: myPod 7 | type: proxy 8 | spec: 9 | containers: 10 | - name: nginxcontainer 11 | image: nginx:latest 12 | resources: 13 | limits: 14 | memory: "128Mi" 15 | cpu: "500m" 16 | ports: 17 | - containerPort: 80 18 | nodeSelector: 19 | location: frontend -------------------------------------------------------------------------------- /storage/empty.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: myapp 5 | labels: 6 | name: myapp 7 | spec: 8 | containers: 9 | - name: myapp 10 | image: nginx 11 | resources: 12 | limits: 13 | memory: "128Mi" 14 | cpu: "500m" 15 | ports: 16 | - containerPort: 80 17 | volumeMounts: 18 | - name: mystorage 19 | mountPath: /etc/certs 20 | volumes: 21 | - name: mystorage 22 | emptyDir: {} 23 | -------------------------------------------------------------------------------- /kops/tolerations.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: nginx 5 | labels: 6 | name: myPod 7 | type: proxy 8 | spec: 9 | containers: 10 | - name: nginxcontainer 11 | image: nginx:latest 12 | resources: 13 | limits: 14 | memory: "128Mi" 15 | cpu: "500m" 16 | ports: 17 | - containerPort: 80 18 | tolerations: 19 | - key: "team" 20 | operator: "Equal" 21 | value: "devops" 22 | effect: "NoSchedule" -------------------------------------------------------------------------------- /service/ingress/ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: web-ingress 5 | # annotations: 6 | # nginx.ingress.kubernetes.io/rewrite-target: / 7 | labels: 8 | name: web-ingress 9 | spec: 10 | rules: 11 | - host: mysite.local 12 | http: 13 | paths: 14 | - pathType: Prefix 15 | path: "/" 16 | backend: 17 | service: 18 | name: websrvc 19 | port: 20 | number: 8080 21 | -------------------------------------------------------------------------------- /deployments/replicaset.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: ReplicaSet 3 | metadata: 4 | name: myreplicaset 5 | spec: 6 | replicas: 3 7 | selector: 8 | matchLabels: 9 | app: nginx 10 | template: 11 | metadata: 12 | name: proxy 13 | labels: 14 | app: nginx 15 | spec: 16 | containers: 17 | - name: nginxcontainer 18 | image: nginx:latest 19 | resources: 20 | limits: 21 | memory: "128Mi" 22 | cpu: "500m" 23 | ports: 24 | - containerPort: 80 25 | -------------------------------------------------------------------------------- /hpa/deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: stressedout 5 | spec: 6 | selector: 7 | matchLabels: 8 | app: stressed 9 | replicas: 1 10 | template: 11 | metadata: 12 | labels: 13 | app: stressed 14 | spec: 15 | containers: 16 | - name: phpapp 17 | image: k8s.gcr.io/hpa-example 18 | resources: 19 | limits: 20 | memory: "250Mi" 21 | cpu: "250m" 22 | ports: 23 | - containerPort: 80 24 | imagePullPolicy: Always -------------------------------------------------------------------------------- /challenge5/pod.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: nginx 5 | labels: 6 | name: nginx 7 | spec: 8 | containers: 9 | - name: nginx 10 | image: nginx 11 | resources: 12 | limits: 13 | memory: "128Mi" 14 | cpu: "500m" 15 | ports: 16 | - containerPort: 80 17 | volumeMounts: 18 | - name: nginx-config 19 | mountPath: /etc/nginx/nginx.conf 20 | subPath: nginx.conf 21 | volumes: 22 | - name: nginx-config 23 | configMap: 24 | name: nginx-conf 25 | items: 26 | - key: nginx.conf 27 | path: nginx.conf 28 | -------------------------------------------------------------------------------- /storage/podcm.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: myapp 5 | labels: 6 | name: myapp 7 | spec: 8 | containers: 9 | - name: myapp 10 | image: httpd:2.4 11 | resources: 12 | limits: 13 | memory: "500Mi" 14 | cpu: "500m" 15 | ports: 16 | - containerPort: 80 17 | volumeMounts: 18 | - mountPath: /usr/local/apache2/conf/httpd.conf 19 | name: web-config 20 | subPath: httpd.conf 21 | volumes: 22 | - name: web-config 23 | configMap: 24 | name: httpd-conf 25 | items: 26 | - key: httpd.conf 27 | path: httpd.conf 28 | -------------------------------------------------------------------------------- /service/deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: webdeployment 5 | labels: 6 | name: webdeployment 7 | spec: 8 | replicas: 2 9 | selector: 10 | matchLabels: 11 | server: web 12 | strategy: 13 | rollingUpdate: 14 | maxSurge: 1 15 | maxUnavailable: 1 16 | type: RollingUpdate 17 | template: 18 | metadata: 19 | labels: 20 | server: web 21 | spec: 22 | containers: 23 | - name: webserver 24 | image: httpd:2.4 25 | resources: 26 | limits: 27 | memory: "500Mi" 28 | cpu: "500m" 29 | ports: 30 | - containerPort: 80 -------------------------------------------------------------------------------- /service/ingress/deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: webdeploy 5 | labels: 6 | name: webdeploy 7 | spec: 8 | replicas: 2 9 | selector: 10 | matchLabels: 11 | server: web 12 | strategy: 13 | rollingUpdate: 14 | maxSurge: 1 15 | maxUnavailable: 1 16 | type: RollingUpdate 17 | template: 18 | metadata: 19 | labels: 20 | server: web 21 | spec: 22 | containers: 23 | - name: webserver 24 | image: httpd:2.4 25 | resources: 26 | limits: 27 | memory: "500Mi" 28 | cpu: "500m" 29 | ports: 30 | - containerPort: 80 -------------------------------------------------------------------------------- /challenge2/deploymentchallenge.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: challenge 5 | labels: 6 | name: challenge 7 | spec: 8 | replicas: 3 9 | selector: 10 | matchLabels: 11 | os: ubuntu 12 | strategy: 13 | rollingUpdate: 14 | maxSurge: 1 15 | maxUnavailable: 1 16 | type: RollingUpdate 17 | template: 18 | metadata: 19 | labels: 20 | os: ubuntu 21 | spec: 22 | containers: 23 | - name: ubuntu 24 | image: ubuntu:latest 25 | resources: 26 | limits: 27 | memory: "500m" 28 | cpu: "500m" 29 | ports: 30 | - containerPort: 8080 -------------------------------------------------------------------------------- /challenge3/deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: webdeployment 5 | labels: 6 | name: webdeployment 7 | spec: 8 | replicas: 2 9 | selector: 10 | matchLabels: 11 | server: web 12 | strategy: 13 | rollingUpdate: 14 | maxSurge: 1 15 | maxUnavailable: 1 16 | type: RollingUpdate 17 | template: 18 | metadata: 19 | labels: 20 | server: web 21 | spec: 22 | containers: 23 | - name: webserver 24 | image: httpd:2.4 25 | resources: 26 | limits: 27 | memory: "500Mi" 28 | cpu: "500m" 29 | ports: 30 | - containerPort: 80 -------------------------------------------------------------------------------- /deployments/deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: mydeployment 5 | labels: 6 | name: mydeployment 7 | spec: 8 | replicas: 5 9 | selector: 10 | matchLabels: 11 | server: nginx 12 | strategy: 13 | rollingUpdate: 14 | maxSurge: 1 15 | maxUnavailable: 1 16 | type: RollingUpdate 17 | template: 18 | metadata: 19 | labels: 20 | server: nginx 21 | spec: 22 | containers: 23 | - name: nginxcontainer 24 | image: nginx:latest 25 | resources: 26 | limits: 27 | memory: "128Mi" 28 | cpu: "500m" 29 | ports: 30 | - containerPort: 80 -------------------------------------------------------------------------------- /mutli/initdeploy.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: mydeployment 5 | labels: 6 | name: mydeployment 7 | spec: 8 | replicas: 2 9 | selector: 10 | matchLabels: 11 | server: nginx 12 | strategy: 13 | rollingUpdate: 14 | maxSurge: 1 15 | maxUnavailable: 1 16 | type: RollingUpdate 17 | template: 18 | metadata: 19 | labels: 20 | server: nginx 21 | spec: 22 | initContainers: 23 | - name: myinit 24 | image: hello-world 25 | containers: 26 | - name: nginxcontainer 27 | image: nginx:latest 28 | resources: 29 | limits: 30 | memory: "128Mi" 31 | cpu: "500m" 32 | ports: 33 | - containerPort: 80 -------------------------------------------------------------------------------- /challenge5/nginx.conf: -------------------------------------------------------------------------------- 1 | user nginx; 2 | worker_processes 1; 3 | 4 | error_log /var/log/nginx/error.log warn; 5 | pid /var/run/nginx.pid; 6 | 7 | 8 | events { 9 | worker_connections 1024; 10 | } 11 | 12 | 13 | http { 14 | include /etc/nginx/mime.types; 15 | default_type application/octet-stream; 16 | 17 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 18 | '$status $body_bytes_sent "$http_referer" ' 19 | '"$http_user_agent" "$http_x_forwarded_for"'; 20 | 21 | access_log /var/log/nginx/access.log main; 22 | 23 | sendfile on; 24 | #tcp_nopush on; 25 | 26 | keepalive_timeout 65; 27 | 28 | #gzip on; 29 | 30 | include /etc/nginx/conf.d/*.conf; 31 | } -------------------------------------------------------------------------------- /mutli/deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: mydeployment 5 | labels: 6 | name: mydeployment 7 | spec: 8 | replicas: 2 9 | selector: 10 | matchLabels: 11 | server: nginx 12 | strategy: 13 | rollingUpdate: 14 | maxSurge: 1 15 | maxUnavailable: 1 16 | type: RollingUpdate 17 | template: 18 | metadata: 19 | labels: 20 | server: nginx 21 | spec: 22 | containers: 23 | - name: nginxcontainer 24 | image: nginx:latest 25 | resources: 26 | limits: 27 | memory: "128Mi" 28 | cpu: "500m" 29 | ports: 30 | - containerPort: 80 31 | - name: server 32 | image: ubuntu 33 | resources: 34 | limits: 35 | memory: "500Mi" 36 | cpu: "500m" 37 | command: ["/bin/bash", "-c"] 38 | args: 39 | - sleep 300 -------------------------------------------------------------------------------- /storage/storage.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: pv01 5 | spec: 6 | storageClassName: admstor 7 | accessModes: 8 | - ReadWriteOnce 9 | capacity: 10 | storage: 2Gi 11 | hostPath: 12 | path: /data/pv01 13 | --- 14 | apiVersion: v1 15 | kind: PersistentVolumeClaim 16 | metadata: 17 | name: mypvc 18 | spec: 19 | storageClassName: admstor 20 | accessModes: 21 | - ReadWriteOnce 22 | resources: 23 | requests: 24 | storage: 1Gi 25 | --- 26 | apiVersion: v1 27 | kind: Pod 28 | metadata: 29 | name: storagedemo 30 | labels: 31 | name: pvcdemo 32 | spec: 33 | containers: 34 | - name: democontainer 35 | image: nginx:latest 36 | resources: 37 | limits: 38 | memory: "128Mi" 39 | cpu: "500m" 40 | ports: 41 | - containerPort: 80 42 | volumeMounts: 43 | - name: pvstor 44 | mountPath: /usr/share/nginx/html 45 | volumes: 46 | - name: pvstor 47 | persistentVolumeClaim: 48 | claimName: mypvc -------------------------------------------------------------------------------- /challenge4/challenge4.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: challenge-pv 5 | spec: 6 | storageClassName: challenge 7 | accessModes: 8 | - ReadWriteOnce 9 | capacity: 10 | storage: 2Gi 11 | hostPath: 12 | path: /data/challenge-pv 13 | --- 14 | apiVersion: v1 15 | kind: PersistentVolumeClaim 16 | metadata: 17 | name: challenge-pvc 18 | spec: 19 | storageClassName: challenge 20 | accessModes: 21 | - ReadWriteOnce 22 | resources: 23 | requests: 24 | storage: 1Gi 25 | --- 26 | apiVersion: v1 27 | kind: Pod 28 | metadata: 29 | name: challenge 30 | labels: 31 | name: challenge 32 | spec: 33 | containers: 34 | - name: nginx 35 | image: nginx:latest 36 | resources: 37 | limits: 38 | memory: "128Mi" 39 | cpu: "500m" 40 | ports: 41 | - containerPort: 80 42 | volumeMounts: 43 | - name: challenge-vl 44 | mountPath: /var/www/html 45 | volumes: 46 | - name: challenge-vl 47 | persistentVolumeClaim: 48 | claimName: challenge-pvc 49 | -------------------------------------------------------------------------------- /mutli/landr.yaml: -------------------------------------------------------------------------------- 1 | # Non-working Demo 2 | apiVersion: apps/v1 3 | kind: Deployment 4 | metadata: 5 | name: liveread 6 | labels: 7 | app: liveread 8 | spec: 9 | replicas: 3 10 | selector: 11 | matchLabels: 12 | app: liveread 13 | template: 14 | metadata: 15 | labels: 16 | app: liveread 17 | spec: 18 | containers: 19 | - name: myapp 20 | image: liveread:latest 21 | ports: 22 | - containerPort: 8080 23 | livenessProbe: 24 | httpGet: 25 | path: /liveness 26 | port: 8080 27 | initialDelaySeconds: 2 28 | periodSeconds: 3 29 | timeoutSeconds: 1 30 | successThreshold: 1 31 | failureThreshold: 3 32 | readinessProbe: 33 | httpGet: 34 | path: /readiness 35 | port: 8080 36 | initialDelaySeconds: 3 37 | periodSeconds: 3 38 | timeoutSeconds: 1 39 | successThreshold: 1 40 | failureThreshold: 3 41 | resources: 42 | limits: 43 | cpu: 250mi 44 | memory: 500m -------------------------------------------------------------------------------- /storage/httpd.conf: -------------------------------------------------------------------------------- 1 | # 2 | # This is the main Apache HTTP server configuration file. It contains the 3 | # configuration directives that give the server its instructions. 4 | # See for detailed information. 5 | # In particular, see 6 | # 7 | # for a discussion of each configuration directive. 8 | # 9 | # Do NOT simply read the instructions in here without understanding 10 | # what they do. They're here only as hints or reminders. If you are unsure 11 | # consult the online docs. You have been warned. 12 | # 13 | # Configuration and logfile names: If the filenames you specify for many 14 | # of the server's control files begin with "/" (or "drive:/" for Win32), the 15 | # server will use that explicit path. If the filenames do *not* begin 16 | # with "/", the value of ServerRoot is prepended -- so "logs/access_log" 17 | # with ServerRoot set to "/usr/local/apache2" will be interpreted by the 18 | # server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log" 19 | # will be interpreted as '/logs/access_log'. 20 | 21 | # 22 | # ServerRoot: The top of the directory tree under which the server's 23 | # configuration, error, and log files are kept. 24 | # 25 | # Do not add a slash at the end of the directory path. If you point 26 | # ServerRoot at a non-local disk, be sure to specify a local disk on the 27 | # Mutex directive, if file-based mutexes are used. If you wish to share the 28 | # same ServerRoot for multiple httpd daemons, you will need to change at 29 | # least PidFile. 30 | # 31 | ServerRoot "/usr/local/apache2" 32 | 33 | # 34 | # Mutex: Allows you to set the mutex mechanism and mutex file directory 35 | # for individual mutexes, or change the global defaults 36 | # 37 | # Uncomment and change the directory if mutexes are file-based and the default 38 | # mutex file directory is not on a local disk or is not appropriate for some 39 | # other reason. 40 | # 41 | # Mutex default:logs 42 | 43 | # 44 | # Listen: Allows you to bind Apache to specific IP addresses and/or 45 | # ports, instead of the default. See also the 46 | # directive. 47 | # 48 | # Change this to Listen on specific IP addresses as shown below to 49 | # prevent Apache from glomming onto all bound IP addresses. 50 | # 51 | #Listen 12.34.56.78:80 52 | Listen 80 53 | 54 | # 55 | # Dynamic Shared Object (DSO) Support 56 | # 57 | # To be able to use the functionality of a module which was built as a DSO you 58 | # have to place corresponding `LoadModule' lines at this location so the 59 | # directives contained in it are actually available _before_ they are used. 60 | # Statically compiled modules (those listed by `httpd -l') do not need 61 | # to be loaded here. 62 | # 63 | # Example: 64 | # LoadModule foo_module modules/mod_foo.so 65 | # 66 | LoadModule mpm_event_module modules/mod_mpm_event.so 67 | #LoadModule mpm_prefork_module modules/mod_mpm_prefork.so 68 | #LoadModule mpm_worker_module modules/mod_mpm_worker.so 69 | LoadModule authn_file_module modules/mod_authn_file.so 70 | #LoadModule authn_dbm_module modules/mod_authn_dbm.so 71 | #LoadModule authn_anon_module modules/mod_authn_anon.so 72 | #LoadModule authn_dbd_module modules/mod_authn_dbd.so 73 | #LoadModule authn_socache_module modules/mod_authn_socache.so 74 | LoadModule authn_core_module modules/mod_authn_core.so 75 | LoadModule authz_host_module modules/mod_authz_host.so 76 | LoadModule authz_groupfile_module modules/mod_authz_groupfile.so 77 | LoadModule authz_user_module modules/mod_authz_user.so 78 | #LoadModule authz_dbm_module modules/mod_authz_dbm.so 79 | #LoadModule authz_owner_module modules/mod_authz_owner.so 80 | #LoadModule authz_dbd_module modules/mod_authz_dbd.so 81 | LoadModule authz_core_module modules/mod_authz_core.so 82 | #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so 83 | #LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so 84 | LoadModule access_compat_module modules/mod_access_compat.so 85 | LoadModule auth_basic_module modules/mod_auth_basic.so 86 | #LoadModule auth_form_module modules/mod_auth_form.so 87 | #LoadModule auth_digest_module modules/mod_auth_digest.so 88 | #LoadModule allowmethods_module modules/mod_allowmethods.so 89 | #LoadModule isapi_module modules/mod_isapi.so 90 | #LoadModule file_cache_module modules/mod_file_cache.so 91 | #LoadModule cache_module modules/mod_cache.so 92 | #LoadModule cache_disk_module modules/mod_cache_disk.so 93 | #LoadModule cache_socache_module modules/mod_cache_socache.so 94 | #LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 95 | #LoadModule socache_dbm_module modules/mod_socache_dbm.so 96 | #LoadModule socache_memcache_module modules/mod_socache_memcache.so 97 | #LoadModule socache_redis_module modules/mod_socache_redis.so 98 | #LoadModule watchdog_module modules/mod_watchdog.so 99 | #LoadModule macro_module modules/mod_macro.so 100 | #LoadModule dbd_module modules/mod_dbd.so 101 | #LoadModule bucketeer_module modules/mod_bucketeer.so 102 | #LoadModule dumpio_module modules/mod_dumpio.so 103 | #LoadModule echo_module modules/mod_echo.so 104 | #LoadModule example_hooks_module modules/mod_example_hooks.so 105 | #LoadModule case_filter_module modules/mod_case_filter.so 106 | #LoadModule case_filter_in_module modules/mod_case_filter_in.so 107 | #LoadModule example_ipc_module modules/mod_example_ipc.so 108 | #LoadModule buffer_module modules/mod_buffer.so 109 | #LoadModule data_module modules/mod_data.so 110 | #LoadModule ratelimit_module modules/mod_ratelimit.so 111 | LoadModule reqtimeout_module modules/mod_reqtimeout.so 112 | #LoadModule ext_filter_module modules/mod_ext_filter.so 113 | #LoadModule request_module modules/mod_request.so 114 | #LoadModule include_module modules/mod_include.so 115 | LoadModule filter_module modules/mod_filter.so 116 | #LoadModule reflector_module modules/mod_reflector.so 117 | #LoadModule substitute_module modules/mod_substitute.so 118 | #LoadModule sed_module modules/mod_sed.so 119 | #LoadModule charset_lite_module modules/mod_charset_lite.so 120 | #LoadModule deflate_module modules/mod_deflate.so 121 | #LoadModule xml2enc_module modules/mod_xml2enc.so 122 | #LoadModule proxy_html_module modules/mod_proxy_html.so 123 | #LoadModule brotli_module modules/mod_brotli.so 124 | LoadModule mime_module modules/mod_mime.so 125 | #LoadModule ldap_module modules/mod_ldap.so 126 | LoadModule log_config_module modules/mod_log_config.so 127 | #LoadModule log_debug_module modules/mod_log_debug.so 128 | #LoadModule log_forensic_module modules/mod_log_forensic.so 129 | #LoadModule logio_module modules/mod_logio.so 130 | #LoadModule lua_module modules/mod_lua.so 131 | LoadModule env_module modules/mod_env.so 132 | #LoadModule mime_magic_module modules/mod_mime_magic.so 133 | #LoadModule cern_meta_module modules/mod_cern_meta.so 134 | #LoadModule expires_module modules/mod_expires.so 135 | LoadModule headers_module modules/mod_headers.so 136 | #LoadModule ident_module modules/mod_ident.so 137 | #LoadModule usertrack_module modules/mod_usertrack.so 138 | #LoadModule unique_id_module modules/mod_unique_id.so 139 | LoadModule setenvif_module modules/mod_setenvif.so 140 | LoadModule version_module modules/mod_version.so 141 | #LoadModule remoteip_module modules/mod_remoteip.so 142 | #LoadModule proxy_module modules/mod_proxy.so 143 | #LoadModule proxy_connect_module modules/mod_proxy_connect.so 144 | #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 145 | #LoadModule proxy_http_module modules/mod_proxy_http.so 146 | #LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so 147 | #LoadModule proxy_scgi_module modules/mod_proxy_scgi.so 148 | #LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so 149 | #LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so 150 | #LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so 151 | #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 152 | #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 153 | #LoadModule proxy_express_module modules/mod_proxy_express.so 154 | #LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so 155 | #LoadModule session_module modules/mod_session.so 156 | #LoadModule session_cookie_module modules/mod_session_cookie.so 157 | #LoadModule session_crypto_module modules/mod_session_crypto.so 158 | #LoadModule session_dbd_module modules/mod_session_dbd.so 159 | #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so 160 | #LoadModule slotmem_plain_module modules/mod_slotmem_plain.so 161 | #LoadModule ssl_module modules/mod_ssl.so 162 | #LoadModule optional_hook_export_module modules/mod_optional_hook_export.so 163 | #LoadModule optional_hook_import_module modules/mod_optional_hook_import.so 164 | #LoadModule optional_fn_import_module modules/mod_optional_fn_import.so 165 | #LoadModule optional_fn_export_module modules/mod_optional_fn_export.so 166 | #LoadModule dialup_module modules/mod_dialup.so 167 | #LoadModule http2_module modules/mod_http2.so 168 | #LoadModule proxy_http2_module modules/mod_proxy_http2.so 169 | #LoadModule md_module modules/mod_md.so 170 | #LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so 171 | #LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so 172 | #LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so 173 | #LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so 174 | LoadModule unixd_module modules/mod_unixd.so 175 | #LoadModule heartbeat_module modules/mod_heartbeat.so 176 | #LoadModule heartmonitor_module modules/mod_heartmonitor.so 177 | #LoadModule dav_module modules/mod_dav.so 178 | LoadModule status_module modules/mod_status.so 179 | LoadModule autoindex_module modules/mod_autoindex.so 180 | #LoadModule asis_module modules/mod_asis.so 181 | #LoadModule info_module modules/mod_info.so 182 | #LoadModule suexec_module modules/mod_suexec.so 183 | 184 | #LoadModule cgid_module modules/mod_cgid.so 185 | 186 | 187 | #LoadModule cgi_module modules/mod_cgi.so 188 | 189 | #LoadModule dav_fs_module modules/mod_dav_fs.so 190 | #LoadModule dav_lock_module modules/mod_dav_lock.so 191 | #LoadModule vhost_alias_module modules/mod_vhost_alias.so 192 | #LoadModule negotiation_module modules/mod_negotiation.so 193 | LoadModule dir_module modules/mod_dir.so 194 | #LoadModule imagemap_module modules/mod_imagemap.so 195 | #LoadModule actions_module modules/mod_actions.so 196 | #LoadModule speling_module modules/mod_speling.so 197 | #LoadModule userdir_module modules/mod_userdir.so 198 | LoadModule alias_module modules/mod_alias.so 199 | #LoadModule rewrite_module modules/mod_rewrite.so 200 | 201 | 202 | # 203 | # If you wish httpd to run as a different user or group, you must run 204 | # httpd as root initially and it will switch. 205 | # 206 | # User/Group: The name (or #number) of the user/group to run httpd as. 207 | # It is usually good practice to create a dedicated user and group for 208 | # running httpd, as with most system services. 209 | # 210 | User daemon 211 | Group daemon 212 | 213 | 214 | 215 | # 'Main' server configuration 216 | # 217 | # The directives in this section set up the values used by the 'main' 218 | # server, which responds to any requests that aren't handled by a 219 | # definition. These values also provide defaults for 220 | # any containers you may define later in the file. 221 | # 222 | # All of these directives may appear inside containers, 223 | # in which case these default settings will be overridden for the 224 | # virtual host being defined. 225 | # 226 | 227 | # 228 | # ServerAdmin: Your address, where problems with the server should be 229 | # e-mailed. This address appears on some server-generated pages, such 230 | # as error documents. e.g. admin@your-domain.com 231 | # 232 | ServerAdmin you@example.com 233 | 234 | # 235 | # ServerName gives the name and port that the server uses to identify itself. 236 | # This can often be determined automatically, but we recommend you specify 237 | # it explicitly to prevent problems during startup. 238 | # 239 | # If your host doesn't have a registered DNS name, enter its IP address here. 240 | # 241 | #ServerName www.example.com:80 242 | 243 | # 244 | # Deny access to the entirety of your server's filesystem. You must 245 | # explicitly permit access to web content directories in other 246 | # blocks below. 247 | # 248 | 249 | AllowOverride none 250 | Require all denied 251 | 252 | 253 | # 254 | # Note that from this point forward you must specifically allow 255 | # particular features to be enabled - so if something's not working as 256 | # you might expect, make sure that you have specifically enabled it 257 | # below. 258 | # 259 | 260 | # 261 | # DocumentRoot: The directory out of which you will serve your 262 | # documents. By default, all requests are taken from this directory, but 263 | # symbolic links and aliases may be used to point to other locations. 264 | # 265 | DocumentRoot "/usr/local/apache2/htdocs" 266 | 267 | # 268 | # Possible values for the Options directive are "None", "All", 269 | # or any combination of: 270 | # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews 271 | # 272 | # Note that "MultiViews" must be named *explicitly* --- "Options All" 273 | # doesn't give it to you. 274 | # 275 | # The Options directive is both complicated and important. Please see 276 | # http://httpd.apache.org/docs/2.4/mod/core.html#options 277 | # for more information. 278 | # 279 | Options Indexes FollowSymLinks 280 | 281 | # 282 | # AllowOverride controls what directives may be placed in .htaccess files. 283 | # It can be "All", "None", or any combination of the keywords: 284 | # AllowOverride FileInfo AuthConfig Limit 285 | # 286 | AllowOverride None 287 | 288 | # 289 | # Controls who can get stuff from this server. 290 | # 291 | Require all granted 292 | 293 | 294 | # 295 | # DirectoryIndex: sets the file that Apache will serve if a directory 296 | # is requested. 297 | # 298 | 299 | DirectoryIndex index.html 300 | 301 | 302 | # 303 | # The following lines prevent .htaccess and .htpasswd files from being 304 | # viewed by Web clients. 305 | # 306 | 307 | Require all denied 308 | 309 | 310 | # 311 | # ErrorLog: The location of the error log file. 312 | # If you do not specify an ErrorLog directive within a 313 | # container, error messages relating to that virtual host will be 314 | # logged here. If you *do* define an error logfile for a 315 | # container, that host's errors will be logged there and not here. 316 | # 317 | ErrorLog /proc/self/fd/2 318 | 319 | # 320 | # LogLevel: Control the number of messages logged to the error_log. 321 | # Possible values include: debug, info, notice, warn, error, crit, 322 | # alert, emerg. 323 | # 324 | LogLevel warn 325 | 326 | 327 | # 328 | # The following directives define some format nicknames for use with 329 | # a CustomLog directive (see below). 330 | # 331 | LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 332 | LogFormat "%h %l %u %t \"%r\" %>s %b" common 333 | 334 | 335 | # You need to enable mod_logio.c to use %I and %O 336 | LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio 337 | 338 | 339 | # 340 | # The location and format of the access logfile (Common Logfile Format). 341 | # If you do not define any access logfiles within a 342 | # container, they will be logged here. Contrariwise, if you *do* 343 | # define per- access logfiles, transactions will be 344 | # logged therein and *not* in this file. 345 | # 346 | CustomLog /proc/self/fd/1 common 347 | 348 | # 349 | # If you prefer a logfile with access, agent, and referer information 350 | # (Combined Logfile Format) you can use the following directive. 351 | # 352 | #CustomLog "logs/access_log" combined 353 | 354 | 355 | 356 | # 357 | # Redirect: Allows you to tell clients about documents that used to 358 | # exist in your server's namespace, but do not anymore. The client 359 | # will make a new request for the document at its new location. 360 | # Example: 361 | # Redirect permanent /foo http://www.example.com/bar 362 | 363 | # 364 | # Alias: Maps web paths into filesystem paths and is used to 365 | # access content that does not live under the DocumentRoot. 366 | # Example: 367 | # Alias /webpath /full/filesystem/path 368 | # 369 | # If you include a trailing / on /webpath then the server will 370 | # require it to be present in the URL. You will also likely 371 | # need to provide a section to allow access to 372 | # the filesystem path. 373 | 374 | # 375 | # ScriptAlias: This controls which directories contain server scripts. 376 | # ScriptAliases are essentially the same as Aliases, except that 377 | # documents in the target directory are treated as applications and 378 | # run by the server when requested rather than as documents sent to the 379 | # client. The same rules about trailing "/" apply to ScriptAlias 380 | # directives as to Alias. 381 | # 382 | ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" 383 | 384 | 385 | 386 | 387 | # 388 | # ScriptSock: On threaded servers, designate the path to the UNIX 389 | # socket used to communicate with the CGI daemon of mod_cgid. 390 | # 391 | #Scriptsock cgisock 392 | 393 | 394 | # 395 | # "/usr/local/apache2/cgi-bin" should be changed to whatever your ScriptAliased 396 | # CGI directory exists, if you have that configured. 397 | # 398 | 399 | AllowOverride None 400 | Options None 401 | Require all granted 402 | 403 | 404 | 405 | # 406 | # Avoid passing HTTP_PROXY environment to CGI's on this or any proxied 407 | # backend servers which have lingering "httpoxy" defects. 408 | # 'Proxy' request header is undefined by the IETF, not listed by IANA 409 | # 410 | RequestHeader unset Proxy early 411 | 412 | 413 | 414 | # 415 | # TypesConfig points to the file containing the list of mappings from 416 | # filename extension to MIME-type. 417 | # 418 | TypesConfig conf/mime.types 419 | 420 | # 421 | # AddType allows you to add to or override the MIME configuration 422 | # file specified in TypesConfig for specific file types. 423 | # 424 | #AddType application/x-gzip .tgz 425 | # 426 | # AddEncoding allows you to have certain browsers uncompress 427 | # information on the fly. Note: Not all browsers support this. 428 | # 429 | #AddEncoding x-compress .Z 430 | #AddEncoding x-gzip .gz .tgz 431 | # 432 | # If the AddEncoding directives above are commented-out, then you 433 | # probably should define those extensions to indicate media types: 434 | # 435 | AddType application/x-compress .Z 436 | AddType application/x-gzip .gz .tgz 437 | 438 | # 439 | # AddHandler allows you to map certain file extensions to "handlers": 440 | # actions unrelated to filetype. These can be either built into the server 441 | # or added with the Action directive (see below) 442 | # 443 | # To use CGI scripts outside of ScriptAliased directories: 444 | # (You will also need to add "ExecCGI" to the "Options" directive.) 445 | # 446 | #AddHandler cgi-script .cgi 447 | 448 | # For type maps (negotiated resources): 449 | #AddHandler type-map var 450 | 451 | # 452 | # Filters allow you to process content before it is sent to the client. 453 | # 454 | # To parse .shtml files for server-side includes (SSI): 455 | # (You will also need to add "Includes" to the "Options" directive.) 456 | # 457 | #AddType text/html .shtml 458 | #AddOutputFilter INCLUDES .shtml 459 | 460 | 461 | # 462 | # The mod_mime_magic module allows the server to use various hints from the 463 | # contents of the file itself to determine its type. The MIMEMagicFile 464 | # directive tells the module where the hint definitions are located. 465 | # 466 | #MIMEMagicFile conf/magic 467 | 468 | # 469 | # Customizable error responses come in three flavors: 470 | # 1) plain text 2) local redirects 3) external redirects 471 | # 472 | # Some examples: 473 | #ErrorDocument 500 "The server made a boo boo." 474 | #ErrorDocument 404 /missing.html 475 | #ErrorDocument 404 "/cgi-bin/missing_handler.pl" 476 | #ErrorDocument 402 http://www.example.com/subscription_info.html 477 | # 478 | 479 | # 480 | # MaxRanges: Maximum number of Ranges in a request before 481 | # returning the entire resource, or one of the special 482 | # values 'default', 'none' or 'unlimited'. 483 | # Default setting is to accept 200 Ranges. 484 | #MaxRanges unlimited 485 | 486 | # 487 | # EnableMMAP and EnableSendfile: On systems that support it, 488 | # memory-mapping or the sendfile syscall may be used to deliver 489 | # files. This usually improves server performance, but must 490 | # be turned off when serving from networked-mounted 491 | # filesystems or if support for these functions is otherwise 492 | # broken on your system. 493 | # Defaults: EnableMMAP On, EnableSendfile Off 494 | # 495 | #EnableMMAP off 496 | #EnableSendfile on 497 | 498 | # Supplemental configuration 499 | # 500 | # The configuration files in the conf/extra/ directory can be 501 | # included to add extra features or to modify the default configuration of 502 | # the server, or you may simply copy their contents here and change as 503 | # necessary. 504 | 505 | # Server-pool management (MPM specific) 506 | #Include conf/extra/httpd-mpm.conf 507 | 508 | # Multi-language error messages 509 | #Include conf/extra/httpd-multilang-errordoc.conf 510 | 511 | # Fancy directory listings 512 | #Include conf/extra/httpd-autoindex.conf 513 | 514 | # Language settings 515 | #Include conf/extra/httpd-languages.conf 516 | 517 | # User home directories 518 | #Include conf/extra/httpd-userdir.conf 519 | 520 | # Real-time info on requests and configuration 521 | #Include conf/extra/httpd-info.conf 522 | 523 | # Virtual hosts 524 | #Include conf/extra/httpd-vhosts.conf 525 | 526 | # Local access to the Apache HTTP Server Manual 527 | #Include conf/extra/httpd-manual.conf 528 | 529 | # Distributed authoring and versioning (WebDAV) 530 | #Include conf/extra/httpd-dav.conf 531 | 532 | # Various default settings 533 | #Include conf/extra/httpd-default.conf 534 | 535 | # Configure mod_proxy_html to understand HTML4/XHTML1 536 | 537 | Include conf/extra/proxy-html.conf 538 | 539 | 540 | # Secure (SSL/TLS) connections 541 | #Include conf/extra/httpd-ssl.conf 542 | # 543 | # Note: The following must must be present to support 544 | # starting without SSL on platforms with no /dev/random equivalent 545 | # but a statically compiled-in mod_ssl. 546 | # 547 | 548 | SSLRandomSeed startup builtin 549 | SSLRandomSeed connect builtin 550 | -------------------------------------------------------------------------------- /storage/httpd-configmap.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | data: 3 | httpd.conf: "#\n# This is the main Apache HTTP server configuration file. It contains 4 | the\n# configuration directives that give the server its instructions.\n# See 5 | for detailed information.\n# In particular, 6 | see \n# \n# for a discussion 7 | of each configuration directive.\n#\n# Do NOT simply read the instructions in 8 | here without understanding\n# what they do. They're here only as hints or reminders. 9 | \ If you are unsure\n# consult the online docs. You have been warned. \n#\n# 10 | Configuration and logfile names: If the filenames you specify for many\n# of the 11 | server's control files begin with \"/\" (or \"drive:/\" for Win32), the\n# server 12 | will use that explicit path. If the filenames do *not* begin\n# with \"/\", the 13 | value of ServerRoot is prepended -- so \"logs/access_log\"\n# with ServerRoot 14 | set to \"/usr/local/apache2\" will be interpreted by the\n# server as \"/usr/local/apache2/logs/access_log\", 15 | whereas \"/logs/access_log\" \n# will be interpreted as '/logs/access_log'.\n\n#\n# 16 | ServerRoot: The top of the directory tree under which the server's\n# configuration, 17 | error, and log files are kept.\n#\n# Do not add a slash at the end of the directory 18 | path. If you point\n# ServerRoot at a non-local disk, be sure to specify a local 19 | disk on the\n# Mutex directive, if file-based mutexes are used. If you wish to 20 | share the\n# same ServerRoot for multiple httpd daemons, you will need to change 21 | at\n# least PidFile.\n#\nServerRoot \"/usr/local/apache2\"\n\n#\n# Mutex: Allows 22 | you to set the mutex mechanism and mutex file directory\n# for individual mutexes, 23 | or change the global defaults\n#\n# Uncomment and change the directory if mutexes 24 | are file-based and the default\n# mutex file directory is not on a local disk 25 | or is not appropriate for some\n# other reason.\n#\n# Mutex default:logs\n\n#\n# 26 | Listen: Allows you to bind Apache to specific IP addresses and/or\n# ports, instead 27 | of the default. See also the \n# directive.\n#\n# Change this to 28 | Listen on specific IP addresses as shown below to \n# prevent Apache from glomming 29 | onto all bound IP addresses.\n#\n#Listen 12.34.56.78:80\nListen 80\n\n#\n# Dynamic 30 | Shared Object (DSO) Support\n#\n# To be able to use the functionality of a module 31 | which was built as a DSO you\n# have to place corresponding `LoadModule' lines 32 | at this location so the\n# directives contained in it are actually available _before_ 33 | they are used.\n# Statically compiled modules (those listed by `httpd -l') do 34 | not need\n# to be loaded here.\n#\n# Example:\n# LoadModule foo_module modules/mod_foo.so\n#\nLoadModule 35 | mpm_event_module modules/mod_mpm_event.so\n#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so\n#LoadModule 36 | mpm_worker_module modules/mod_mpm_worker.so\nLoadModule authn_file_module modules/mod_authn_file.so\n#LoadModule 37 | authn_dbm_module modules/mod_authn_dbm.so\n#LoadModule authn_anon_module modules/mod_authn_anon.so\n#LoadModule 38 | authn_dbd_module modules/mod_authn_dbd.so\n#LoadModule authn_socache_module modules/mod_authn_socache.so\nLoadModule 39 | authn_core_module modules/mod_authn_core.so\nLoadModule authz_host_module modules/mod_authz_host.so\nLoadModule 40 | authz_groupfile_module modules/mod_authz_groupfile.so\nLoadModule authz_user_module 41 | modules/mod_authz_user.so\n#LoadModule authz_dbm_module modules/mod_authz_dbm.so\n#LoadModule 42 | authz_owner_module modules/mod_authz_owner.so\n#LoadModule authz_dbd_module modules/mod_authz_dbd.so\nLoadModule 43 | authz_core_module modules/mod_authz_core.so\n#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so\n#LoadModule 44 | authnz_fcgi_module modules/mod_authnz_fcgi.so\nLoadModule access_compat_module 45 | modules/mod_access_compat.so\nLoadModule auth_basic_module modules/mod_auth_basic.so\n#LoadModule 46 | auth_form_module modules/mod_auth_form.so\n#LoadModule auth_digest_module modules/mod_auth_digest.so\n#LoadModule 47 | allowmethods_module modules/mod_allowmethods.so\n#LoadModule isapi_module modules/mod_isapi.so\n#LoadModule 48 | file_cache_module modules/mod_file_cache.so\n#LoadModule cache_module modules/mod_cache.so\n#LoadModule 49 | cache_disk_module modules/mod_cache_disk.so\n#LoadModule cache_socache_module 50 | modules/mod_cache_socache.so\n#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so\n#LoadModule 51 | socache_dbm_module modules/mod_socache_dbm.so\n#LoadModule socache_memcache_module 52 | modules/mod_socache_memcache.so\n#LoadModule socache_redis_module modules/mod_socache_redis.so\n#LoadModule 53 | watchdog_module modules/mod_watchdog.so\n#LoadModule macro_module modules/mod_macro.so\n#LoadModule 54 | dbd_module modules/mod_dbd.so\n#LoadModule bucketeer_module modules/mod_bucketeer.so\n#LoadModule 55 | dumpio_module modules/mod_dumpio.so\n#LoadModule echo_module modules/mod_echo.so\n#LoadModule 56 | example_hooks_module modules/mod_example_hooks.so\n#LoadModule case_filter_module 57 | modules/mod_case_filter.so\n#LoadModule case_filter_in_module modules/mod_case_filter_in.so\n#LoadModule 58 | example_ipc_module modules/mod_example_ipc.so\n#LoadModule buffer_module modules/mod_buffer.so\n#LoadModule 59 | data_module modules/mod_data.so\n#LoadModule ratelimit_module modules/mod_ratelimit.so\nLoadModule 60 | reqtimeout_module modules/mod_reqtimeout.so\n#LoadModule ext_filter_module modules/mod_ext_filter.so\n#LoadModule 61 | request_module modules/mod_request.so\n#LoadModule include_module modules/mod_include.so\nLoadModule 62 | filter_module modules/mod_filter.so\n#LoadModule reflector_module modules/mod_reflector.so\n#LoadModule 63 | substitute_module modules/mod_substitute.so\n#LoadModule sed_module modules/mod_sed.so\n#LoadModule 64 | charset_lite_module modules/mod_charset_lite.so\n#LoadModule deflate_module modules/mod_deflate.so\n#LoadModule 65 | xml2enc_module modules/mod_xml2enc.so\n#LoadModule proxy_html_module modules/mod_proxy_html.so\n#LoadModule 66 | brotli_module modules/mod_brotli.so\nLoadModule mime_module modules/mod_mime.so\n#LoadModule 67 | ldap_module modules/mod_ldap.so\nLoadModule log_config_module modules/mod_log_config.so\n#LoadModule 68 | log_debug_module modules/mod_log_debug.so\n#LoadModule log_forensic_module modules/mod_log_forensic.so\n#LoadModule 69 | logio_module modules/mod_logio.so\n#LoadModule lua_module modules/mod_lua.so\nLoadModule 70 | env_module modules/mod_env.so\n#LoadModule mime_magic_module modules/mod_mime_magic.so\n#LoadModule 71 | cern_meta_module modules/mod_cern_meta.so\n#LoadModule expires_module modules/mod_expires.so\nLoadModule 72 | headers_module modules/mod_headers.so\n#LoadModule ident_module modules/mod_ident.so\n#LoadModule 73 | usertrack_module modules/mod_usertrack.so\n#LoadModule unique_id_module modules/mod_unique_id.so\nLoadModule 74 | setenvif_module modules/mod_setenvif.so\nLoadModule version_module modules/mod_version.so\n#LoadModule 75 | remoteip_module modules/mod_remoteip.so\n#LoadModule proxy_module modules/mod_proxy.so\n#LoadModule 76 | proxy_connect_module modules/mod_proxy_connect.so\n#LoadModule proxy_ftp_module 77 | modules/mod_proxy_ftp.so\n#LoadModule proxy_http_module modules/mod_proxy_http.so\n#LoadModule 78 | proxy_fcgi_module modules/mod_proxy_fcgi.so\n#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so\n#LoadModule 79 | proxy_uwsgi_module modules/mod_proxy_uwsgi.so\n#LoadModule proxy_fdpass_module 80 | modules/mod_proxy_fdpass.so\n#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so\n#LoadModule 81 | proxy_ajp_module modules/mod_proxy_ajp.so\n#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so\n#LoadModule 82 | proxy_express_module modules/mod_proxy_express.so\n#LoadModule proxy_hcheck_module 83 | modules/mod_proxy_hcheck.so\n#LoadModule session_module modules/mod_session.so\n#LoadModule 84 | session_cookie_module modules/mod_session_cookie.so\n#LoadModule session_crypto_module 85 | modules/mod_session_crypto.so\n#LoadModule session_dbd_module modules/mod_session_dbd.so\n#LoadModule 86 | slotmem_shm_module modules/mod_slotmem_shm.so\n#LoadModule slotmem_plain_module 87 | modules/mod_slotmem_plain.so\n#LoadModule ssl_module modules/mod_ssl.so\n#LoadModule 88 | optional_hook_export_module modules/mod_optional_hook_export.so\n#LoadModule optional_hook_import_module 89 | modules/mod_optional_hook_import.so\n#LoadModule optional_fn_import_module modules/mod_optional_fn_import.so\n#LoadModule 90 | optional_fn_export_module modules/mod_optional_fn_export.so\n#LoadModule dialup_module 91 | modules/mod_dialup.so\n#LoadModule http2_module modules/mod_http2.so\n#LoadModule 92 | proxy_http2_module modules/mod_proxy_http2.so\n#LoadModule md_module modules/mod_md.so\n#LoadModule 93 | lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so\n#LoadModule lbmethod_bytraffic_module 94 | modules/mod_lbmethod_bytraffic.so\n#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so\n#LoadModule 95 | lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so\nLoadModule unixd_module 96 | modules/mod_unixd.so\n#LoadModule heartbeat_module modules/mod_heartbeat.so\n#LoadModule 97 | heartmonitor_module modules/mod_heartmonitor.so\n#LoadModule dav_module modules/mod_dav.so\nLoadModule 98 | status_module modules/mod_status.so\nLoadModule autoindex_module modules/mod_autoindex.so\n#LoadModule 99 | asis_module modules/mod_asis.so\n#LoadModule info_module modules/mod_info.so\n#LoadModule 100 | suexec_module modules/mod_suexec.so\n\n\t#LoadModule 101 | cgid_module modules/mod_cgid.so\n\n\n\t#LoadModule 102 | cgi_module modules/mod_cgi.so\n\n#LoadModule dav_fs_module modules/mod_dav_fs.so\n#LoadModule 103 | dav_lock_module modules/mod_dav_lock.so\n#LoadModule vhost_alias_module modules/mod_vhost_alias.so\n#LoadModule 104 | negotiation_module modules/mod_negotiation.so\nLoadModule dir_module modules/mod_dir.so\n#LoadModule 105 | imagemap_module modules/mod_imagemap.so\n#LoadModule actions_module modules/mod_actions.so\n#LoadModule 106 | speling_module modules/mod_speling.so\n#LoadModule userdir_module modules/mod_userdir.so\nLoadModule 107 | alias_module modules/mod_alias.so\n#LoadModule rewrite_module modules/mod_rewrite.so\n\n\n#\n# If you wish httpd to run as a different user or group, you 109 | must run\n# httpd as root initially and it will switch. \n#\n# User/Group: The 110 | name (or #number) of the user/group to run httpd as.\n# It is usually good practice 111 | to create a dedicated user and group for\n# running httpd, as with most system 112 | services.\n#\nUser daemon\nGroup daemon\n\n\n\n# 'Main' server configuration\n#\n# 113 | The directives in this section set up the values used by the 'main'\n# server, 114 | which responds to any requests that aren't handled by a\n# definition. 115 | \ These values also provide defaults for\n# any containers you may 116 | define later in the file.\n#\n# All of these directives may appear inside 117 | containers,\n# in which case these default settings will be overridden for the\n# 118 | virtual host being defined.\n#\n\n#\n# ServerAdmin: Your address, where problems 119 | with the server should be\n# e-mailed. This address appears on some server-generated 120 | pages, such\n# as error documents. e.g. admin@your-domain.com\n#\nServerAdmin 121 | you@example.com\n\n#\n# ServerName gives the name and port that the server uses 122 | to identify itself.\n# This can often be determined automatically, but we recommend 123 | you specify\n# it explicitly to prevent problems during startup.\n#\n# If your 124 | host doesn't have a registered DNS name, enter its IP address here.\n#\n#ServerName 125 | www.example.com:80\n\n#\n# Deny access to the entirety of your server's filesystem. 126 | You must\n# explicitly permit access to web content directories in other \n# 127 | blocks below.\n#\n\n AllowOverride none\n Require all denied\n\n\n#\n# 128 | Note that from this point forward you must specifically allow\n# particular features 129 | to be enabled - so if something's not working as\n# you might expect, make sure 130 | that you have specifically enabled it\n# below.\n#\n\n#\n# DocumentRoot: The directory 131 | out of which you will serve your\n# documents. By default, all requests are taken 132 | from this directory, but\n# symbolic links and aliases may be used to point to 133 | other locations.\n#\nDocumentRoot \"/usr/local/apache2/htdocs\"\n\n 134 | \ #\n # Possible values for the Options directive are \"None\", \"All\",\n 135 | \ # or any combination of:\n # Indexes Includes FollowSymLinks SymLinksifOwnerMatch 136 | ExecCGI MultiViews\n #\n # Note that \"MultiViews\" must be named *explicitly* 137 | --- \"Options All\"\n # doesn't give it to you.\n #\n # The Options directive 138 | is both complicated and important. Please see\n # http://httpd.apache.org/docs/2.4/mod/core.html#options\n 139 | \ # for more information.\n #\n Options Indexes FollowSymLinks\n\n #\n 140 | \ # AllowOverride controls what directives may be placed in .htaccess files.\n 141 | \ # It can be \"All\", \"None\", or any combination of the keywords:\n # 142 | \ AllowOverride FileInfo AuthConfig Limit\n #\n AllowOverride None\n\n 143 | \ #\n # Controls who can get stuff from this server.\n #\n Require 144 | all granted\n\n\n#\n# DirectoryIndex: sets the file that Apache will 145 | serve if a directory\n# is requested.\n#\n\n DirectoryIndex 146 | index.html\n\n\n#\n# The following lines prevent .htaccess and .htpasswd 147 | files from being \n# viewed by Web clients. \n#\n\n Require 148 | all denied\n\n\n#\n# ErrorLog: The location of the error log file.\n# 149 | If you do not specify an ErrorLog directive within a \n# container, 150 | error messages relating to that virtual host will be\n# logged here. If you *do* 151 | define an error logfile for a \n# container, that host's errors will 152 | be logged there and not here.\n#\nErrorLog /proc/self/fd/2\n\n#\n# LogLevel: Control 153 | the number of messages logged to the error_log.\n# Possible values include: debug, 154 | info, notice, warn, error, crit,\n# alert, emerg.\n#\nLogLevel warn\n\n\n #\n # The following directives define some format nicknames 156 | for use with\n # a CustomLog directive (see below).\n #\n LogFormat \"%h 157 | %l %u %t \\\"%r\\\" %>s %b \\\"%{Referer}i\\\" \\\"%{User-Agent}i\\\"\" combined\n 158 | \ LogFormat \"%h %l %u %t \\\"%r\\\" %>s %b\" common\n\n \n 159 | \ # You need to enable mod_logio.c to use %I and %O\n LogFormat \"%h 160 | %l %u %t \\\"%r\\\" %>s %b \\\"%{Referer}i\\\" \\\"%{User-Agent}i\\\" %I %O\" 161 | combinedio\n \n\n #\n # The location and format of the access 162 | logfile (Common Logfile Format).\n # If you do not define any access logfiles 163 | within a \n # container, they will be logged here. Contrariwise, 164 | if you *do*\n # define per- access logfiles, transactions will 165 | be\n # logged therein and *not* in this file.\n #\n CustomLog /proc/self/fd/1 166 | common\n\n #\n # If you prefer a logfile with access, agent, and referer 167 | information\n # (Combined Logfile Format) you can use the following directive.\n 168 | \ #\n #CustomLog \"logs/access_log\" combined\n\n\n\n 169 | \ #\n # Redirect: Allows you to tell clients about documents that used to 170 | \n # exist in your server's namespace, but do not anymore. The client \n # 171 | will make a new request for the document at its new location.\n # Example:\n 172 | \ # Redirect permanent /foo http://www.example.com/bar\n\n #\n # Alias: 173 | Maps web paths into filesystem paths and is used to\n # access content that 174 | does not live under the DocumentRoot.\n # Example:\n # Alias /webpath /full/filesystem/path\n 175 | \ #\n # If you include a trailing / on /webpath then the server will\n # 176 | require it to be present in the URL. You will also likely\n # need to provide 177 | a section to allow access to\n # the filesystem path.\n\n #\n 178 | \ # ScriptAlias: This controls which directories contain server scripts. \n 179 | \ # ScriptAliases are essentially the same as Aliases, except that\n # documents 180 | in the target directory are treated as applications and\n # run by the server 181 | when requested rather than as documents sent to the\n # client. The same rules 182 | about trailing \"/\" apply to ScriptAlias\n # directives as to Alias.\n #\n 183 | \ ScriptAlias /cgi-bin/ \"/usr/local/apache2/cgi-bin/\"\n\n\n\n\n #\n # ScriptSock: On threaded servers, designate the path 185 | to the UNIX\n # socket used to communicate with the CGI daemon of mod_cgid.\n 186 | \ #\n #Scriptsock cgisock\n\n\n#\n# \"/usr/local/apache2/cgi-bin\" 187 | should be changed to whatever your ScriptAliased\n# CGI directory exists, if you 188 | have that configured.\n#\n\n AllowOverride 189 | None\n Options None\n Require all granted\n\n\n\n 190 | \ #\n # Avoid passing HTTP_PROXY environment to CGI's on this or any proxied\n 191 | \ # backend servers which have lingering \"httpoxy\" defects.\n # 'Proxy' 192 | request header is undefined by the IETF, not listed by IANA\n #\n RequestHeader 193 | unset Proxy early\n\n\n\n #\n # TypesConfig 194 | points to the file containing the list of mappings from\n # filename extension 195 | to MIME-type.\n #\n TypesConfig conf/mime.types\n\n #\n # AddType 196 | allows you to add to or override the MIME configuration\n # file specified 197 | in TypesConfig for specific file types.\n #\n #AddType application/x-gzip 198 | .tgz\n #\n # AddEncoding allows you to have certain browsers uncompress\n 199 | \ # information on the fly. Note: Not all browsers support this.\n #\n #AddEncoding 200 | x-compress .Z\n #AddEncoding x-gzip .gz .tgz\n #\n # If the AddEncoding 201 | directives above are commented-out, then you\n # probably should define those 202 | extensions to indicate media types:\n #\n AddType application/x-compress 203 | .Z\n AddType application/x-gzip .gz .tgz\n\n #\n # AddHandler allows 204 | you to map certain file extensions to \"handlers\":\n # actions unrelated to 205 | filetype. These can be either built into the server\n # or added with the Action 206 | directive (see below)\n #\n # To use CGI scripts outside of ScriptAliased 207 | directories:\n # (You will also need to add \"ExecCGI\" to the \"Options\" 208 | directive.)\n #\n #AddHandler cgi-script .cgi\n\n # For type maps (negotiated 209 | resources):\n #AddHandler type-map var\n\n #\n # Filters allow you to 210 | process content before it is sent to the client.\n #\n # To parse .shtml 211 | files for server-side includes (SSI):\n # (You will also need to add \"Includes\" 212 | to the \"Options\" directive.)\n #\n #AddType text/html .shtml\n #AddOutputFilter 213 | INCLUDES .shtml\n\n\n#\n# The mod_mime_magic module allows the server 214 | to use various hints from the\n# contents of the file itself to determine its 215 | type. The MIMEMagicFile\n# directive tells the module where the hint definitions 216 | are located.\n#\n#MIMEMagicFile conf/magic\n\n#\n# Customizable error responses 217 | come in three flavors:\n# 1) plain text 2) local redirects 3) external redirects\n#\n# 218 | Some examples:\n#ErrorDocument 500 \"The server made a boo boo.\"\n#ErrorDocument 219 | 404 /missing.html\n#ErrorDocument 404 \"/cgi-bin/missing_handler.pl\"\n#ErrorDocument 220 | 402 http://www.example.com/subscription_info.html\n#\n\n#\n# MaxRanges: Maximum 221 | number of Ranges in a request before\n# returning the entire resource, or one 222 | of the special\n# values 'default', 'none' or 'unlimited'.\n# Default setting 223 | is to accept 200 Ranges.\n#MaxRanges unlimited\n\n#\n# EnableMMAP and EnableSendfile: 224 | On systems that support it, \n# memory-mapping or the sendfile syscall may be 225 | used to deliver\n# files. This usually improves server performance, but must\n# 226 | be turned off when serving from networked-mounted \n# filesystems or if support 227 | for these functions is otherwise\n# broken on your system.\n# Defaults: EnableMMAP 228 | On, EnableSendfile Off\n#\n#EnableMMAP off\n#EnableSendfile on\n\n# Supplemental 229 | configuration\n#\n# The configuration files in the conf/extra/ directory can be 230 | \n# included to add extra features or to modify the default configuration of \n# 231 | the server, or you may simply copy their contents here and change as \n# necessary.\n\n# 232 | Server-pool management (MPM specific)\n#Include conf/extra/httpd-mpm.conf\n\n# 233 | Multi-language error messages\n#Include conf/extra/httpd-multilang-errordoc.conf\n\n# 234 | Fancy directory listings\n#Include conf/extra/httpd-autoindex.conf\n\n# Language 235 | settings\n#Include conf/extra/httpd-languages.conf\n\n# User home directories\n#Include 236 | conf/extra/httpd-userdir.conf\n\n# Real-time info on requests and configuration\n#Include 237 | conf/extra/httpd-info.conf\n\n# Virtual hosts\n#Include conf/extra/httpd-vhosts.conf\n\n# 238 | Local access to the Apache HTTP Server Manual\n#Include conf/extra/httpd-manual.conf\n\n# 239 | Distributed authoring and versioning (WebDAV)\n#Include conf/extra/httpd-dav.conf\n\n# 240 | Various default settings\n#Include conf/extra/httpd-default.conf\n\n# Configure 241 | mod_proxy_html to understand HTML4/XHTML1\n\nInclude 242 | conf/extra/proxy-html.conf\n\n\n# Secure (SSL/TLS) connections\n#Include 243 | conf/extra/httpd-ssl.conf\n#\n# Note: The following must must be present to support\n# 244 | \ starting without SSL on platforms with no /dev/random equivalent\n# but 245 | a statically compiled-in mod_ssl.\n#\n\nSSLRandomSeed startup 246 | builtin\nSSLRandomSeed connect builtin\n" 247 | kind: ConfigMap 248 | metadata: 249 | creationTimestamp: "2020-04-03T14:22:46Z" 250 | name: httpd-conf 251 | namespace: default 252 | resourceVersion: "422041" 253 | selfLink: /api/v1/namespaces/default/configmaps/httpd-conf 254 | uid: 6822a1ec-ad48-4033-a97a-50d52d2d1d72 255 | --------------------------------------------------------------------------------