From 53dacc3d8ea3755cea3d5fe14ef4921d00ff6c15 Mon Sep 17 00:00:00 2001 From: Matt McEuen Date: Tue, 2 Jun 2020 16:43:57 -0500 Subject: [PATCH] Add some boilerplate Adds: - A Makefile based off of OSH - Linting and chart build jobs based off of OSH - A README Change-Id: I2a2ca58f58903e380fa6bf5f7286e32cba9a25e7 --- LICENSE | 201 ++++++++++++++++++ Makefile | 59 +++++ README.rst | 32 +++ playbooks/airship-charts-build.yaml | 25 +++ playbooks/airship-zuul-linter.yaml | 20 ++ playbooks/vars.yaml | 15 ++ roles/build-helm-packages/defaults/main.yml | 18 ++ roles/build-helm-packages/tasks/main.yaml | 18 ++ .../tasks/setup-helm-serve.yaml | 89 ++++++++ .../templates/helm-serve.service.j2 | 11 + tools/pull-images.sh | 16 ++ zuul.d/jobs.yaml | 80 +++++++ zuul.d/project.yaml | 25 +++ 13 files changed, 609 insertions(+) create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.rst create mode 100644 playbooks/airship-charts-build.yaml create mode 100644 playbooks/airship-zuul-linter.yaml create mode 100644 playbooks/vars.yaml create mode 100644 roles/build-helm-packages/defaults/main.yml create mode 100644 roles/build-helm-packages/tasks/main.yaml create mode 100644 roles/build-helm-packages/tasks/setup-helm-serve.yaml create mode 100644 roles/build-helm-packages/templates/helm-serve.service.j2 create mode 100755 tools/pull-images.sh create mode 100644 zuul.d/jobs.yaml create mode 100644 zuul.d/project.yaml diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + 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/Makefile b/Makefile new file mode 100644 index 00000000..b865cf92 --- /dev/null +++ b/Makefile @@ -0,0 +1,59 @@ +# Copyright 2017 The Openstack-Helm Authors. +# +# 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. + +# It's necessary to set this because some environments don't link sh -> bash. +SHELL := /bin/bash +TASK := build + +EXCLUDES := playbooks roles doc tests tools logs tmp zuul.d releasenotes +CHARTS := $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.))) + +.PHONY: $(EXCLUDES) $(CHARTS) + +all: $(CHARTS) + +$(CHARTS): + @if [ -d $@ ]; then \ + echo; \ + echo "===== Processing [$@] chart ====="; \ + make $(TASK)-$@; \ + fi + +init-%: + if [ -f $*/Makefile ]; then make -C $*; fi + if [ -f $*/requirements.yaml ]; then helm dep up $*; fi + +lint-%: init-% + if [ -d $* ]; then helm lint $*; fi + +build-%: lint-% + if [ -d $* ]; then helm package $*; fi + +clean: + @echo "Clean all build artifacts" + rm -f */templates/_partials.tpl */templates/_globals.tpl + rm -f *tgz */charts/*tgz */requirements.lock + rm -rf */charts */tmpcharts + +pull-all-images: + @./tools/pull-images.sh + +pull-images: + @./tools/pull-images.sh $(filter-out $@,$(MAKECMDGOALS)) + +#dev-deploy: +# @./tools/gate/devel/start.sh $(filter-out $@,$(MAKECMDGOALS)) + +%: + @: diff --git a/README.rst b/README.rst new file mode 100644 index 00000000..20d01a20 --- /dev/null +++ b/README.rst @@ -0,0 +1,32 @@ +Airship Charts +============== + +The Airship ``charts`` repository is home to a collection of Helm charts +developed and maintained by the Airship community, generally for +Airship- or Airship-adjacent use cases. + +To learn more about the Airship 2.0 evolution, reference the +`Airship blog series`_. + +Contributing +------------ + +The Airship team prefers to use upstream Helm charts, maintained by the +deployed projects themselves, as much as possible. Therefore, charts are +only added to this ``charts`` repo when truly needed. Our community practice +is to propose and defend the need for a new chart in our weekly IRC meeting +(mirrored in our Slack channel). Please bring a new chart up in that forum +prior to pushing a patchset to add it. + +To get looped into our team meetings and community, please visit the +`Airship wiki`_, and read our `developer guide`_ to begin contributing. + +We also encourage new contributors and operators alike to join us in our +`Slack workspace`_ and subscribe to our `mailing lists`_. + +.. _Airship blog series: https://www.airshipit.org/blog/airship-blog-series-1-evolution-towards-2.0 +.. _Airship wiki: https://wiki.openstack.org/wiki/Airship +.. _developer guide: https://docs.airshipit.org/airshipctl/developers.html +.. _mailing lists: http://lists.airshipit.org/cgi-bin/mailman/listinfo +.. _Slack workspace: http://airshipit.org/slack + diff --git a/playbooks/airship-charts-build.yaml b/playbooks/airship-charts-build.yaml new file mode 100644 index 00000000..f5bce278 --- /dev/null +++ b/playbooks/airship-charts-build.yaml @@ -0,0 +1,25 @@ +# Copyright 2017 The Openstack-Helm Authors. +# +# 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. + +- hosts: primary + vars_files: + - vars.yaml + vars: + work_dir: "{{ zuul.project.src_dir }} }}" + gather_facts: True + roles: + - build-helm-packages + tags: + - build-helm-packages + diff --git a/playbooks/airship-zuul-linter.yaml b/playbooks/airship-zuul-linter.yaml new file mode 100644 index 00000000..ec0f7ea7 --- /dev/null +++ b/playbooks/airship-zuul-linter.yaml @@ -0,0 +1,20 @@ +# Copyright 2017 The Openstack-Helm Authors. +# +# 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. + +- hosts: primary + tasks: + - name: Execute a Whitespace Linter check + command: find . -not -path "*/\.*" -not -path "*/doc/build/*" -not -name "*.tgz" -type f -exec egrep -l " +$" {} \; + register: result + failed_when: result.stdout != "" diff --git a/playbooks/vars.yaml b/playbooks/vars.yaml new file mode 100644 index 00000000..eb6ffae1 --- /dev/null +++ b/playbooks/vars.yaml @@ -0,0 +1,15 @@ +# Copyright 2017 The Openstack-Helm Authors. +# +# 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. + +null: null diff --git a/roles/build-helm-packages/defaults/main.yml b/roles/build-helm-packages/defaults/main.yml new file mode 100644 index 00000000..81785152 --- /dev/null +++ b/roles/build-helm-packages/defaults/main.yml @@ -0,0 +1,18 @@ +# Copyright 2017 The Openstack-Helm Authors. +# +# 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. + +version: + helm: v2.14.1 +url: + google_helm_repo: https://storage.googleapis.com/kubernetes-helm diff --git a/roles/build-helm-packages/tasks/main.yaml b/roles/build-helm-packages/tasks/main.yaml new file mode 100644 index 00000000..1bd179c2 --- /dev/null +++ b/roles/build-helm-packages/tasks/main.yaml @@ -0,0 +1,18 @@ +# 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. + +- include: setup-helm-serve.yaml + +- name: build all charts in repo + make: + chdir: "{{ work_dir }}" + target: all diff --git a/roles/build-helm-packages/tasks/setup-helm-serve.yaml b/roles/build-helm-packages/tasks/setup-helm-serve.yaml new file mode 100644 index 00000000..302c6078 --- /dev/null +++ b/roles/build-helm-packages/tasks/setup-helm-serve.yaml @@ -0,0 +1,89 @@ +# 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. + +- block: + - name: check if correct version of helm client already installed + shell: "set -e; [ \"x$($(type -p helm) version --client --short | awk '{ print $NF }' | awk -F '+' '{ print $1 }')\" == \"x${HELM_VERSION}\" ] || exit 1" + environment: + HELM_VERSION: "{{ version.helm }}" + args: + executable: /bin/bash + register: need_helm + ignore_errors: True + - name: install helm client + when: need_helm is failed + become_user: root + shell: | + TMP_DIR=$(mktemp -d) + curl -sSL ${GOOGLE_HELM_REPO_URL}/helm-${HELM_VERSION}-linux-amd64.tar.gz | tar -zxv --strip-components=1 -C ${TMP_DIR} + sudo mv ${TMP_DIR}/helm /usr/bin/helm + rm -rf ${TMP_DIR} + environment: + HELM_VERSION: "{{ version.helm }}" + GOOGLE_HELM_REPO_URL: "{{ url.google_helm_repo }}" + args: + executable: /bin/bash + - name: setting up helm client + command: helm init --client-only --skip-refresh + +- block: + - name: checking if local helm server is running + shell: curl -s 127.0.0.1:8879 | grep -q 'Helm Repository' + args: + executable: /bin/bash + register: helm_server_running + ignore_errors: True + - name: getting current host user name + when: helm_server_running is failed + shell: id -un + args: + executable: /bin/bash + register: helm_server_user + - name: moving systemd unit into place for helm server + when: helm_server_running is failed + become: yes + become_user: root + template: + src: helm-serve.service.j2 + dest: /etc/systemd/system/helm-serve.service + mode: 0640 + - name: starting helm serve service + when: helm_server_running is failed + become: yes + become_user: root + systemd: + state: restarted + daemon_reload: yes + name: helm-serve + enabled: yes + - name: wait for helm server to be ready + shell: curl -s 127.0.0.1:8879 | grep -q 'Helm Repository' + args: + executable: /bin/bash + register: wait_for_helm_server + until: wait_for_helm_server.rc == 0 + retries: 120 + delay: 5 + +- block: + - name: checking if helm 'stable' repo is present + shell: helm repo list | grep -q "^stable" + args: + executable: /bin/bash + register: helm_stable_repo_present + ignore_errors: True + - name: remove helm 'stable' repo when exists + when: helm_stable_repo_present is succeeded + command: helm repo remove stable + +- name: adding helm local repo + command: helm repo add local http://localhost:8879/charts diff --git a/roles/build-helm-packages/templates/helm-serve.service.j2 b/roles/build-helm-packages/templates/helm-serve.service.j2 new file mode 100644 index 00000000..3cd1aad0 --- /dev/null +++ b/roles/build-helm-packages/templates/helm-serve.service.j2 @@ -0,0 +1,11 @@ +[Unit] +Description=Helm Server +After=network.target + +[Service] +User={{ helm_server_user.stdout }} +Restart=always +ExecStart=/usr/bin/helm serve + +[Install] +WantedBy=multi-user.target diff --git a/tools/pull-images.sh b/tools/pull-images.sh new file mode 100755 index 00000000..4abfda82 --- /dev/null +++ b/tools/pull-images.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -x + +if [ "x$1" == "x" ]; then + CHART_DIRS="$(echo ./*/)" +else + CHART_DIRS="$(echo ./$1/)" +fi + +for CHART_DIR in ${CHART_DIRS} ; do + if [ -e ${CHART_DIR}values.yaml ]; then + for IMAGE in $(cat ${CHART_DIR}values.yaml | yq '.images.tags | map(.) | join(" ")' | tr -d '"'); do + sudo docker inspect $IMAGE >/dev/null|| sudo docker pull $IMAGE + done + fi +done diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml new file mode 100644 index 00000000..504a11de --- /dev/null +++ b/zuul.d/jobs.yaml @@ -0,0 +1,80 @@ +# 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. + +- job: + name: airship-charts-lint + run: playbooks/airship-zuul-linter.yaml + description: Lint Helm charts + +- job: + name: airship-charts-build + run: playbooks/airship-charts-build.yaml + description: Build Helm charts + +- job: + name: airship-charts-upload-git-mirror + parent: upload-git-mirror + description: Mirrors airship/charts to airshipit/charts + vars: + git_mirror_repository: airshipit/charts + secrets: + - name: git_mirror_credentials + secret: charts-airshipit-github-secret + pass-to-parent: true + +- secret: + name: airship-charts-airshipit-github-secret + data: + user: git + host: github.com + host_key: github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== + ssh_key: !encrypted/pkcs1-oaep + - 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 diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml new file mode 100644 index 00000000..56543214 --- /dev/null +++ b/zuul.d/project.yaml @@ -0,0 +1,25 @@ +# 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. + +- project: + check: + jobs: + - airship-charts-lint + - airship-charts-build + gate: + jobs: + - airship-charts-lint + - airship-charts-build + post: + jobs: + - airship-charts-upload-git-mirror +