ansible-role-eom/tasks/api.yaml
2024-08-24 11:33:57 -04:00

68 lines
1.6 KiB
YAML

---
# tasks file for api
- name: Create a config map for api
vars:
httpd_server_name: "api.eom.dev"
httpd_conf_extra:
- httpd-auth.conf
- httpd-wsgi.conf
k8s:
state: present
api_version: v1
kind: ConfigMap
name: api
namespace: "eom-{{ target_namespace }}"
definition:
data:
httpd.conf: "{{ lookup('template', 'httpd.conf.j2') }}"
httpd-auth.conf: "{{ lookup('template', 'httpd-auth.conf.j2') }}"
httpd-wsgi.conf: "{{ lookup('file', 'httpd-wsgi.conf') }}"
mime.types: "{{ lookup('file', 'mime.types') }}"
- name: Create a deployment
k8s:
definition:
apiVersion: v1
kind: Deployment
metadata:
name: api
namespace: "eom-{{ target_namespace }}"
spec:
replicas: 1
selector:
matchLabels:
app: api
template:
metadata:
labels:
app: api
spec:
containers:
- name: api
image: ericomeehan/api
volumeMounts:
- name: config
mountPath: /usr/local/apache2/conf
ports:
- containerPort: 80
volumes:
- name: config
configMap:
name: api
- name: Expose deployment as a service
k8s:
definition:
apiVersion: v1
kind: Service
metadata:
name: api
namespace: "eom-{{ target_namespace }}"
spec:
selector:
app: api
ports:
- port: 80
name: api-80
type: ClusterIP