Skip to content

Commit ffe765a

Browse files
authored
Merge pull request #7 from pwei1018/main
Helm Chart setup - bcregistry-api
2 parents 9d0550d + 2ba2c84 commit ffe765a

31 files changed

Lines changed: 1304 additions & 164 deletions

.github/ct.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
helm-extra-args: --timeout 600s
2+
# check-version-increment: true
3+
debug: true

.github/helm-docs.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
4+
HELM_DOCS_VERSION="1.5.0"
5+
6+
# install helm-docs
7+
curl --silent --show-error --fail --location --output /tmp/helm-docs.tar.gz https://github.com/norwoodj/helm-docs/releases/download/v"${HELM_DOCS_VERSION}"/helm-docs_"${HELM_DOCS_VERSION}"_Linux_x86_64.tar.gz
8+
tar -xf /tmp/helm-docs.tar.gz helm-docs
9+
10+
# validate docs
11+
./helm-docs
12+
git diff --exit-code

.github/kubeval.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
4+
CHART_DIRS="$(git diff --find-renames --name-only "$(git rev-parse --abbrev-ref HEAD)" remotes/origin/master -- charts | grep '[cC]hart.yaml' | sed -e 's#/[Cc]hart.yaml##g')"
5+
KUBEVAL_VERSION="0.16.0"
6+
SCHEMA_LOCATION="https://raw.githubusercontent.com/instrumenta/kubernetes-json-schema/master/"
7+
8+
# install kubeval
9+
curl --silent --show-error --fail --location --output /tmp/kubeval.tar.gz https://github.com/instrumenta/kubeval/releases/download/"${KUBEVAL_VERSION}"/kubeval-linux-amd64.tar.gz
10+
tar -xf /tmp/kubeval.tar.gz kubeval
11+
12+
# validate charts
13+
for CHART_DIR in ${CHART_DIRS}; do
14+
helm template --values "${CHART_DIR}"/ci/ci-values.yaml "${CHART_DIR}" | ./kubeval --strict --ignore-missing-schemas --kubernetes-version "${KUBERNETES_VERSION#v}" --schema-location "${SCHEMA_LOCATION}"
15+
done

.github/workflows/charts-ci.yaml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Lint and Test Charts
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- "charts/**"
7+
8+
jobs:
9+
lint-test:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v2
14+
with:
15+
fetch-depth: 0
16+
17+
- name: Set up Helm
18+
uses: azure/setup-helm@v1
19+
with:
20+
version: v3.4.0
21+
22+
- uses: actions/setup-python@v2
23+
with:
24+
python-version: 3.7
25+
26+
- name: Set up chart-testing
27+
uses: helm/chart-testing-action@v2.0.1
28+
29+
- name: Run chart-testing (list-changed)
30+
id: list-changed
31+
run: |
32+
changed=$(ct list-changed)
33+
if [[ -n "$changed" ]]; then
34+
echo "::set-output name=changed::true"
35+
fi
36+
37+
- name: Run chart-testing (lint)
38+
run: ct lint
39+
40+
- name: Create kind cluster
41+
uses: helm/kind-action@v1.0.0
42+
if: steps.list-changed.outputs.changed == 'true'
43+
44+
- name: Run chart-testing (install)
45+
run: ct install
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Release Charts
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- "charts/**"
9+
10+
jobs:
11+
release:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v2
16+
with:
17+
fetch-depth: 0
18+
19+
- name: Configure Git
20+
run: |
21+
git config user.name "$GITHUB_ACTOR"
22+
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
23+
24+
- name: Install Helm
25+
uses: azure/setup-helm@v1
26+
with:
27+
version: v3.4.0
28+
29+
- name: Run chart-releaser
30+
uses: helm/chart-releaser-action@v1.2.0
31+
env:
32+
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Turn off downpage
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
environement:
7+
description: "Environment (dev/test/prod)"
8+
required: true
9+
default: "dev"
10+
11+
jobs:
12+
downpage-off:
13+
runs-on: ubuntu-20.04
14+
15+
steps:
16+
- uses: actions/checkout@v2
17+
- name: Set env by input
18+
run: |
19+
echo "TAG_NAME=${{ github.event.inputs.environement }}" >> $GITHUB_ENV
20+
- name: Login Openshift and turn off downpage
21+
run: |
22+
oc login --server=${{secrets.OPENSHIFT4_LOGIN_REGISTRY}} --token=${{secrets.OPENSHIFT4_SA_TOKEN}}
23+
oc patch route bc-registry-search-prod -p '{"spec": {"to": {"name": "search-web-prod"}, "port": {"targetPort": "search-web-prod-tcp"}}}' -n ${{secrets.OPENSHIFT4_NAMESPACE_FRONTEND}}-prod
24+
oc patch route bc-registry-namerequest-prod -p '{"spec": {"to": {"name": "namerequest-prod"}, "port": {"targetPort": "namerequest-prod-tcp"}}}' -n ${{secrets.OPENSHIFT4_NAMESPACE_FRONTEND}}-prod
25+
oc patch route bc-registry-business-prod -p '{"spec": {"to": {"name": "business-filings-prod"}, "port": {"targetPort": "business-filings-prod-tcp"}}}' -n ${{secrets.OPENSHIFT4_NAMESPACE_FRONTEND}}-prod
26+
oc patch route bc-registry-auth-prod -p '{"spec": {"to": {"name": "auth-web-prod"}, "port": {"targetPort": "auth-web-prod-tcp"}}}' -n ${{secrets.OPENSHIFT4_NAMESPACE_FRONTEND}}-prod

.github/workflows/downpage-on.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Turn on downpage
2+
3+
on:
4+
schedule:
5+
- cron: "40 11 25 04 *"
6+
workflow_dispatch:
7+
inputs:
8+
environement:
9+
description: "Environment (prod/test/prod)"
10+
required: true
11+
default: "prod"
12+
jobs:
13+
downpage-on:
14+
runs-on: ubuntu-20.04
15+
16+
steps:
17+
- uses: actions/checkout@v2
18+
- name: Set env by input
19+
run: |
20+
echo "TAG_NAME=${{ github.event.inputs.environement }}" >> $GITHUB_ENV
21+
- name: Set env
22+
if: env.TAG_NAME == ''
23+
run: |
24+
echo "TAG_NAME=prod" >> $GITHUB_ENV
25+
- name: Login Openshift and Turn on downpage
26+
run: |
27+
oc login --server=${{secrets.OPENSHIFT4_LOGIN_REGISTRY}} --token=${{secrets.OPENSHIFT4_SA_TOKEN}}
28+
oc patch route bc-registry-search-prod -p '{"spec": {"to": {"name": "downpage-prod"}, "port": {"targetPort": "downpage-prod-tcp"}}}' -n ${{secrets.OPENSHIFT4_NAMESPACE_FRONTEND}}-prod
29+
oc patch route bc-registry-namerequest-prod -p '{"spec": {"to": {"name": "downpage-prod"}, "port": {"targetPort": "downpage-prod-tcp"}}}' -n ${{secrets.OPENSHIFT4_NAMESPACE_FRONTEND}}-prod
30+
oc patch route bc-registry-business-prod -p '{"spec": {"to": {"name": "downpage-prod"}, "port": {"targetPort": "downpage-prod-tcp"}}}' -n ${{secrets.OPENSHIFT4_NAMESPACE_FRONTEND}}-prod
31+
oc patch route bc-registry-auth-prod -p '{"spec": {"to": {"name": "downpage-prod"}, "port": {"targetPort": "downpage-prod-tcp"}}}' -n ${{secrets.OPENSHIFT4_NAMESPACE_FRONTEND}}-prod

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
[![img](https://img.shields.io/badge/Lifecycle-Experimental-339999)](https://github.com/bcgov/repomountie/blob/master/doc/lifecycle-badges.md)
22

33
---
4-
description: BC Registries and Online Services SRE team's application
5-
ignore: true
4+
BC Registries and Online Services SRE team's application
65
---
76

87
## About

0 commit comments

Comments
 (0)