openshift_route - add support for annotations (#99)

* add support for annotations
This commit is contained in:
abikouo
2021-07-29 14:36:52 +02:00
committed by GitHub
parent 6b2f06a157
commit faba4a0812
3 changed files with 49 additions and 1 deletions

View File

@@ -21,7 +21,7 @@ author: "Fabian von Feilitzsch (@fabianvf)"
description:
- Looks up a Service and creates a new Route based on it.
- Analogous to `oc expose` and `oc create route` for creating Routes, but does not support creating Services.
- For creating Services from other resources, see kubernetes.core.k8s_expose
- For creating Services from other resources, see kubernetes.core.k8s.
extends_documentation_fragment:
- kubernetes.core.k8s_auth_options
@@ -51,6 +51,12 @@ options:
- Specify the labels to apply to the created Route.
- 'A set of key: value pairs.'
type: dict
annotations:
description:
- Specify the Route Annotations.
- 'A set of key: value pairs.'
type: dict
version_added: "2.1"
name:
description:
- The desired name of the Route to be created.
@@ -174,6 +180,8 @@ EXAMPLES = r'''
service: hello-kubernetes
namespace: default
insecure_policy: allow
annotations:
haproxy.router.openshift.io/balance: roundrobin
register: route
'''
@@ -372,6 +380,7 @@ class OpenShiftRoute(K8sAnsibleMixin):
insecure_policy=dict(type='str', choices=['allow', 'redirect', 'disallow'], default='disallow'),
))
spec['termination'] = dict(choices=['edge', 'passthrough', 'reencrypt', 'insecure'], default='insecure')
spec['annotations'] = dict(type='dict')
return spec
@@ -401,6 +410,7 @@ class OpenShiftRoute(K8sAnsibleMixin):
path = self.params.get('path')
wildcard_policy = self.params.get('wildcard_policy')
port = self.params.get('port')
annotations = self.params.get('annotations')
if termination_type and self.params.get('tls'):
tls_ca_cert = self.params['tls'].get('ca_certificate')
@@ -424,6 +434,9 @@ class OpenShiftRoute(K8sAnsibleMixin):
'spec': {}
}
if annotations:
route['metadata']['annotations'] = annotations
if state != 'absent':
route['spec'] = self.build_route_spec(
service_name, namespace,