diff --git a/.cookiecutter_params.json b/.cookiecutter_params.json
new file mode 100644
index 0000000..725e125
--- /dev/null
+++ b/.cookiecutter_params.json
@@ -0,0 +1,24 @@
+{
+    "_template": "../cookiecutters/role",
+    "author": "Open Networking Foundation",
+    "company": "Open Networking Foundation",
+    "description": "BIRD routing daemon",
+    "email": "support@opennetworking.org",
+    "issue_tracker_url": "https://jira.opennetworking.org/",
+    "license": "Apache-2.0",
+    "min_ansible_version": "2.9.5",
+    "molecule_privileged": "true",
+    "platform": "deleteme",
+    "platforms": {
+        "Ubuntu": [
+            "16.04",
+            "18.04"
+        ]
+    },
+    "role_defaults": {
+        "example_default1": "example_value1",
+        "example_default2": "example_value2"
+    },
+    "role_name": "bird",
+    "year": "2020"
+}
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..b84198b
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,5 @@
+[gerrit]
+host=gerrit.opencord.org
+port=29418
+project=ansible/role/bird.git
+defaultremote=origin
diff --git a/.reuse/dep5 b/.reuse/dep5
new file mode 100644
index 0000000..0dec132
--- /dev/null
+++ b/.reuse/dep5
@@ -0,0 +1,9 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+
+Files: .cookiecutter_params.json VERSION .gitreview
+Copyright: 2020 Open Networking Foundation
+License: Apache-2.0
+
+Files: files/bird_signing.key
+Copyright: GPG Key Data
+License: CC0-1.0
diff --git a/LICENSES/Apache-2.0.txt b/LICENSES/Apache-2.0.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSES/Apache-2.0.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/LICENSES/CC0-1.0.txt b/LICENSES/CC0-1.0.txt
new file mode 100644
index 0000000..0e259d4
--- /dev/null
+++ b/LICENSES/CC0-1.0.txt
@@ -0,0 +1,121 @@
+Creative Commons Legal Code
+
+CC0 1.0 Universal
+
+    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
+    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
+    HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator
+and subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for
+the purpose of contributing to a commons of creative, cultural and
+scientific works ("Commons") that the public can reliably and without fear
+of later claims of infringement build upon, modify, incorporate in other
+works, reuse and redistribute as freely as possible in any form whatsoever
+and for any purposes, including without limitation commercial purposes.
+These owners may contribute to the Commons to promote the ideal of a free
+culture and the further production of creative, cultural and scientific
+works, or to gain reputation or greater distribution for their Work in
+part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any
+expectation of additional consideration or compensation, the person
+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
+is an owner of Copyright and Related Rights in the Work, voluntarily
+elects to apply CC0 to the Work and publicly distribute the Work under its
+terms, with knowledge of his or her Copyright and Related Rights in the
+Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not
+limited to, the following:
+
+  i. the right to reproduce, adapt, distribute, perform, display,
+     communicate, and translate a Work;
+ ii. moral rights retained by the original author(s) and/or performer(s);
+iii. publicity and privacy rights pertaining to a person's image or
+     likeness depicted in a Work;
+ iv. rights protecting against unfair competition in regards to a Work,
+     subject to the limitations in paragraph 4(a), below;
+  v. rights protecting the extraction, dissemination, use and reuse of data
+     in a Work;
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+     European Parliament and of the Council of 11 March 1996 on the legal
+     protection of databases, and under any national implementation
+     thereof, including any amended or successor version of such
+     directive); and
+vii. other similar, equivalent or corresponding rights throughout the
+     world based on applicable law or treaty, and any national
+     implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention
+of, applicable law, Affirmer hereby overtly, fully, permanently,
+irrevocably and unconditionally waives, abandons, and surrenders all of
+Affirmer's Copyright and Related Rights and associated claims and causes
+of action, whether now known or unknown (including existing as well as
+future claims and causes of action), in the Work (i) in all territories
+worldwide, (ii) for the maximum duration provided by applicable law or
+treaty (including future time extensions), (iii) in any current or future
+medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional
+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
+member of the public at large and to the detriment of Affirmer's heirs and
+successors, fully intending that such Waiver shall not be subject to
+revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason
+be judged legally invalid or ineffective under applicable law, then the
+Waiver shall be preserved to the maximum extent permitted taking into
+account Affirmer's express Statement of Purpose. In addition, to the
+extent the Waiver is so judged Affirmer hereby grants to each affected
+person a royalty-free, non transferable, non sublicensable, non exclusive,
+irrevocable and unconditional license to exercise Affirmer's Copyright and
+Related Rights in the Work (i) in all territories worldwide, (ii) for the
+maximum duration provided by applicable law or treaty (including future
+time extensions), (iii) in any current or future medium and for any number
+of copies, and (iv) for any purpose whatsoever, including without
+limitation commercial, advertising or promotional purposes (the
+"License"). The License shall be deemed effective as of the date CC0 was
+applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder
+of the License, and in such case Affirmer hereby affirms that he or she
+will not (i) exercise any of his or her remaining Copyright and Related
+Rights in the Work or (ii) assert any associated claims and causes of
+action with respect to the Work, in either case contrary to Affirmer's
+express Statement of Purpose.
+
+4. Limitations and Disclaimers.
+
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
+    surrendered, licensed or otherwise affected by this document.
+ b. Affirmer offers the Work as-is and makes no representations or
+    warranties of any kind concerning the Work, express, implied,
+    statutory or otherwise, including without limitation warranties of
+    title, merchantability, fitness for a particular purpose, non
+    infringement, or the absence of latent or other defects, accuracy, or
+    the present or absence of errors, whether or not discoverable, all to
+    the greatest extent permissible under applicable law.
+ c. Affirmer disclaims responsibility for clearing rights of other persons
+    that may apply to the Work or any use thereof, including without
+    limitation any person's Copyright and Related Rights in the Work.
+    Further, Affirmer disclaims responsibility for obtaining any necessary
+    consents, permissions or other rights required for any use of the
+    Work.
+ d. Affirmer understands and acknowledges that Creative Commons is not a
+    party to this document and has no duty or obligation with respect to
+    this CC0 or use of the Work.
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..e322f50
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,39 @@
+# bird Makefile
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+SHELL = bash -eu -o pipefail
+
+.DEFAULT_GOAL := help
+.PHONY: test lint yamllint ansiblelint license help
+
+test: ## run tests on the playbook with molecule
+	molecule --version
+	molecule test
+
+lint: yamllint ansiblelint ## run all lint checks
+
+# all YAML files
+YAML_FILES ?= $(shell find . -type f \( -name '*.yaml' -o -name '*.yml' \) -print )
+
+yamllint: ## lint check with yamllint
+	yamllint --version
+	yamllint \
+    -d "{extends: default, rules: {line-length: {max: 99}}}" \
+    -s $(YAML_FILES)
+
+ansiblelint: ## lint check with ansible-lint
+	ansible-lint --version
+	ansible-lint -v .
+	ansible-lint -v molecule/*/*
+
+license: ## Check license with the reuse tool
+	reuse --version
+	reuse --root . lint
+
+help: ## Print help for each target
+	@echo bird test targets
+	@echo
+	@grep '^[[:alnum:]_-]*:.* ##' $(MAKEFILE_LIST) \
+    | sort | awk 'BEGIN {FS=":.* ## "}; {printf "%-25s %s\n", $$1, $$2};'
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..4fa792c
--- /dev/null
+++ b/README.md
@@ -0,0 +1,65 @@
+<!--
+SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+SPDX-License-Identifier: Apache-2.0
+--!>
+# bird
+
+BIRD routing daemon
+
+## Requirements
+
+Minimum ansible version: 2.9.5
+
+## Examples
+
+### Example: example configuration with two BGP peers
+```yaml
+bird_conf_filters:
+  gcp_tunnel_in: |
+    if (net ~ [ 10.168.0.0/20, 10.52.128.0/17, 10.45.128.0/17 ]) then accept;
+    else reject;
+  gcp_tunnel_out: |
+    if (net ~ [ 10.93.1.0/24, 10.92.1.0/24, 10.53.128.0/17 ]) then accept;
+    else reject;
+
+bird_conf_templates:
+  - name: gcp_tunnel
+    protocol: bgp
+    options: |
+     import filter gcp_tunnel_in;
+     import limit 10 action warn;
+
+     export filter gcp_tunnel_out;
+     export limit 10 action warn;
+
+     keepalive time 20;
+     hold time 60;
+     graceful restart aware;
+
+bird_conf_protocols:
+  - name: gcp_tunnel1
+    protocol: bgp
+    options: |
+      local 169.254.0.2 as 64521;
+      neighbor 169.254.0.1 as 64520;
+    template: gcp_tunnel
+  - name: gcp_tunnel2
+    protocol: bgp
+    options: |
+      local 169.254.0.6 as 64521;
+      neighbor 169.254.0.5 as 64520;
+    template: gcp_tunnel
+```
+
+### Example: playbook
+```yaml
+- hosts: bird
+  roles:
+    - bird
+```
+
+## License and Author
+
+© 2020 Open Networking Foundation <support@opennetworking.org>
+
+License: Apache-2.0
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..c0ab82c
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+0.0.1-dev
diff --git a/defaults/main.yml b/defaults/main.yml
new file mode 100644
index 0000000..5d0a045
--- /dev/null
+++ b/defaults/main.yml
@@ -0,0 +1,52 @@
+---
+# bird defaults/main.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+# Upstream docs:
+#  https://bird.network.cz/?get_doc&v=20&f=bird-6.html
+
+bird_conf_router_id: "{{ ansible_default_ipv4['address'] }}"
+
+# The preferred source address for outgoing packets
+# Has to be one of the IP addresses of the router
+bird_conf_krt_prefsrc: "{{ ansible_default_ipv4['address'] }}"
+
+# Define default protocols that enable synchronization of routings with OS kernel
+# scan for new network interfaces every 10 seconds,
+# and automatically generate device routes to all network interfaces.
+bird_conf_default_protocols:
+  kernel: "{{ bird_conf_protocol_kernel }}"
+  device: "{{ bird_conf_protocol_device }}"
+  direct: "{{ bird_conf_protocol_direct }}"
+  static: "{{ bird_conf_protocol_static }}"
+
+bird_conf_protocol_device: |
+  scan time 10;
+
+bird_conf_protocol_direct: |
+  interface "*";
+
+bird_conf_protocol_kernel: |
+  learn;
+  merge paths on;
+  export filter {
+         krt_prefsrc = {{ bird_conf_krt_prefsrc }};
+         accept;
+  };
+  import all;
+
+bird_conf_protocol_static: ""
+
+# Define a list of route filters
+# See README.md for the examples
+bird_conf_filters: {}
+
+# Define a list of templates
+# See README.md for the examples
+bird_conf_templates: []
+
+# Define a list of protocols
+# See README.md for the examples
+bird_conf_protocols: []
diff --git a/files/bird_signing.key b/files/bird_signing.key
new file mode 100644
index 0000000..7f4d96b
--- /dev/null
+++ b/files/bird_signing.key
@@ -0,0 +1,12 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+xo0ETIeANwEEANdjpXTkGAlA4bu87Cj2B2+ZSanxRD/13yOAassyh0aF3KXbR/39
+aWZSt2WL13TwJ1qG0+83A46vcrbU1KqTaIteF0AAPUMsRJQPccsxyPZfMdW8pIy5
+0G4lwSHxbCizOOh1IGDUnskCfOl8iZ6yajBI2S8Fvh8ERhxbXUoMZ8JnABEBAAHN
+G0xhdW5jaHBhZCBEYXRvdsOpIHNjaHLDoW5recK1BBMBAgAgBQJMh4A3AhsDBgsJ
+CAcDAgQVAggDBBYCAwECHgECF4AACgkQ8jMSOPnFmkWqCgP4nMyuTUSJtRYMR1MF
+vgISz+woBx6n2AFdExtO4ujUpolLW2ghuHqyh9lA6t+8kgoFteWEzRoHfJIQqeXt
+Et6LcDWlE+gGF6Mw7x1RXsbrnBFZxWFqbyHQDKLmDMeVwP6mEdiLXtVPtyikPQRn
+BlEwzV4rReQnVnPimR8rYGnt/g==
+=wJ0A
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/handlers/main.yml b/handlers/main.yml
new file mode 100644
index 0000000..195177d
--- /dev/null
+++ b/handlers/main.yml
@@ -0,0 +1,18 @@
+---
+# bird handlers/main.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: start-bird
+  service:
+    name: "{{ bird_service }}"
+    state: started
+
+- name: reload-bird
+  command: birdc configure
+
+- name: restart-bird
+  service:
+    name: "{{ bird_service }}"
+    state: restarted
diff --git a/meta/main.yml b/meta/main.yml
new file mode 100644
index 0000000..7822d06
--- /dev/null
+++ b/meta/main.yml
@@ -0,0 +1,27 @@
+---
+# bird meta/main.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+galaxy_info:
+  author: Open Networking Foundation
+  description: BIRD routing daemon
+  company: Open Networking Foundation
+
+  issue_tracker_url: https://jira.opennetworking.org/
+
+  license: Apache-2.0
+
+  min_ansible_version: 2.9.5
+
+  platforms:
+    - name: Ubuntu
+      versions:
+        - "16.04"
+        - "18.04"
+
+  galaxy_tags:
+    - bird
+
+dependencies: []
diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml
new file mode 100644
index 0000000..0c3455c
--- /dev/null
+++ b/molecule/default/converge.yml
@@ -0,0 +1,46 @@
+---
+# bird molecule/default/verify.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Converge
+  hosts: all
+  vars:
+    bird_conf_filters:
+      gcp_tunnel_in: |
+        if (net ~ [ 10.168.0.0/20, 10.52.128.0/17, 10.45.128.0/17 ]) then accept;
+        else reject;
+      gcp_tunnel_out: |
+        if (net ~ [ 10.93.1.0/24, 10.92.1.0/24, 10.53.128.0/17 ]) then accept;
+        else reject;
+    bird_conf_templates:
+      - name: gcp_tunnel
+        protocol: bgp
+        options: |
+          keepalive time 20;
+          hold time 60;
+          graceful restart aware;
+
+          import filter gcp_tunnel_in;
+          import limit 10 action warn;
+
+          export filter gcp_tunnel_out;
+          export limit 10 action warn;
+    bird_conf_protocols:
+      - name: gcp_tunnel1
+        protocol: bgp
+        options: |
+          local 169.254.0.2 as 64521;
+          neighbor 169.254.0.1 as 64520;
+        template: gcp_tunnel
+      - name: gcp_tunnel2
+        protocol: bgp
+        options: |
+          local 169.254.0.6 as 64521;
+          neighbor 169.254.0.5 as 64520;
+        template: gcp_tunnel
+  tasks:
+    - name: "Include bird"
+      include_role:
+        name: "bird"
diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml
new file mode 100644
index 0000000..8e3d472
--- /dev/null
+++ b/molecule/default/molecule.yml
@@ -0,0 +1,21 @@
+---
+# strongswan molecule/default/molecule.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+dependency:
+  name: galaxy
+driver:
+  name: docker
+platforms:
+  - name: "ubuntu-18.04-priv"
+    image: "quay.io/paulfantom/molecule-systemd:ubuntu-18.04"
+    privileged: true
+    volumes:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+    user: root
+provisioner:
+  name: ansible
+verifier:
+  name: ansible
diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml
new file mode 100644
index 0000000..c6d5b36
--- /dev/null
+++ b/molecule/default/prepare.yml
@@ -0,0 +1,14 @@
+---
+# bird molecule/default/prepare.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+- name: Prepare
+  hosts: all
+  vars:
+  pre_tasks:
+    - name: Install GPG to support adding apt repo keys
+      apt:
+        name: "gpg"
+        state: "present"
+        update_cache: true
diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml
new file mode 100644
index 0000000..2d7e635
--- /dev/null
+++ b/molecule/default/verify.yml
@@ -0,0 +1,33 @@
+---
+# bird molecule/default/verify.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Verify
+  hosts: all
+  tasks:
+    - name: Gather package facts
+      package_facts:
+        manager: auto
+
+    - name: Verify BIRD is installed
+      assert:
+        that: "'{{ item }}' in ansible_facts.packages"
+      with_items:
+        - bird
+
+    - name: Verify BIRD daemon operation
+      command: birdc show status
+      register: bird_health
+      changed_when: false
+      failed_when: "'Daemon is up and running' not in bird_health.stdout"
+
+    - name: Verify BIRD configuration
+      command: birdc show protocols
+      register: bird_conf
+      changed_when: false
+      failed_when: item not in bird_conf.stdout
+      with_items:
+        - gcp_tunnel1
+        - gcp_tunnel2
diff --git a/tasks/Debian.yml b/tasks/Debian.yml
new file mode 100644
index 0000000..23453a6
--- /dev/null
+++ b/tasks/Debian.yml
@@ -0,0 +1,32 @@
+---
+# bird tasks/Debian.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+# Docs: https://launchpad.net/~cz.nic-labs/+archive/ubuntu/bird
+- name: Add BIRD apt repo key
+  apt_key:
+    data: "{{ lookup('file','bird_signing.key') }}"
+    state: "present"
+
+- name: Add BIRD package repo
+  apt_repository:
+    repo: >-
+      deb http://ppa.launchpad.net/cz.nic-labs/bird/{{ ansible_lsb['id'] | lower }}
+      {{ ansible_lsb['codename'] }} main
+    update_cache: true
+
+- name: Install BIRD packages (Debian)
+  apt:
+    name: "{{ bird_package }}"
+    state: "present"
+    update_cache: true
+    cache_valid_time: 3600
+  notify:
+    - start-bird
+
+- name: Enable BIRD Service
+  service:
+    name: "{{ bird_service }}"
+    enabled: true
diff --git a/tasks/main.yml b/tasks/main.yml
new file mode 100644
index 0000000..3e9f150
--- /dev/null
+++ b/tasks/main.yml
@@ -0,0 +1,21 @@
+---
+# bird tasks/main.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: include OS-specific vars
+  include_vars: "{{ ansible_os_family }}.yml"
+
+- name: include OS-specific tasks
+  include_tasks: "{{ ansible_os_family }}.yml"
+
+- name: Create BIRD configuration from template
+  template:
+    src: "bird.conf.j2"
+    dest: "/etc/bird/bird.conf"
+    owner: "{{ bird_username }}"
+    group: "{{ bird_groupname }}"
+    mode: 0640
+  notify:
+    - reload-bird
diff --git a/templates/bird.conf.j2 b/templates/bird.conf.j2
new file mode 100644
index 0000000..a0f8dcf
--- /dev/null
+++ b/templates/bird.conf.j2
@@ -0,0 +1,30 @@
+# bird templates/bird.conf - {{ ansible_managed }}
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+router id {{ bird_conf_router_id }};
+
+{% for name, proto in bird_conf_default_protocols.items() %}
+protocol {{ name }} {
+  {{ proto | indent(2) -}}
+}
+{% endfor -%}
+
+{% for name, filter in bird_conf_filters.items() %}
+filter {{ name }} {
+  {{ filter | indent(2) -}}
+}
+{% endfor -%}
+
+{% for temp in bird_conf_templates %}
+template {{ temp.protocol }} {{ temp.name }} {
+  {{ temp.options | indent(2) -}}
+}
+{% endfor -%}
+
+{% for proto in bird_conf_protocols %}
+protocol {{ proto.protocol }} {{ proto.name }} {% if proto.template is defined  %}from {{ proto.template }} {% endif -%} {
+  {{ proto.options | indent(2) -}}
+}
+{% endfor -%}
diff --git a/vars/Debian.yml b/vars/Debian.yml
new file mode 100644
index 0000000..8daa7c0
--- /dev/null
+++ b/vars/Debian.yml
@@ -0,0 +1,14 @@
+---
+# bird vars/Debian.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+#
+# NOTE: Only put platform/OS-specific variables in this file.
+# Put all other variables in the 'defaults/main.yml' file.
+
+bird_package: bird
+bird_service: bird
+
+bird_username: bird
+bird_groupname: bird
