Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helm public repo #470

Merged
merged 17 commits into from
Nov 24, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions helm-ct.yml → .github/helm-ct.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@ chart-dirs:
- helm
chart-repos:
- bitnami=https://charts.bitnami.com/bitnami
debug: true
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this stay?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this setup will duplicated across all SoftwareMill repositories / projects for which Helm Charts exist - currently around 30 SML applications (both internal and open-source) are deployed using Helm; so this is just for additional diagnostic info, it simply outputs additional info during the "Run chart-testing (lint)" (e.g. https://github.com/softwaremill/bootzooka/runs/1447485540?check_suite_focus=true) and "Run chart-testing (install)" (e.g. https://github.com/softwaremill/bootzooka/runs/1447487632?check_suite_focus=true) jobs; I can remove this setting now if you insist, but IMHO we should leave it until we have this implemented across several setups in case any changes are needed

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, I was wondering if it's not a left-over from dev

helm-extra-args: --timeout 600s
check-version-increment: false
112 changes: 112 additions & 0 deletions .github/workflows/bootzooka-helm-ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
name: Bootzooka Helm Chart CI

on:
push:
paths:
- "helm/**"
- ".github/**"
pull_request:
paths:
- "helm/**"
- ".github/**"

jobs:
lint-chart:
# run on external PRs, but not on internal PRs since those will be run by push to branch
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
name: Lint Helm Chart
runs-on: ubuntu-18.04
steps:
- name: Check-out repository
id: repo-checkout
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Run chart-testing (lint)
id: ct-lint
uses: helm/chart-testing-action@v1.1.0
with:
command: lint
config: .github/helm-ct.yml

install-test-chart:
needs:
- lint-chart
name: Install & Test Helm Chart
runs-on: ubuntu-18.04
strategy:
matrix:
k8s:
- v1.15.12
- v1.16.15
- v1.17.11
- v1.18.8
- v1.19.4
steps:
- name: Check-out repository
id: repo-checkout
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Create kind ${{ matrix.k8s }} cluster
id: kind-cluster-setup
uses: helm/kind-action@v1.1.0
with:
node_image: kindest/node:${{ matrix.k8s }}
wait: "120s"

- name: Run chart-testing (install)
id: ct-install
uses: helm/chart-testing-action@v1.1.0
with:
command: install
config: .github/helm-ct.yml

validate-chart-docs:
needs:
- lint-chart
- install-test-chart
name: Validate Helm Chart Docs
runs-on: ubuntu-18.04
steps:
- name: Check-out repository
id: repo-checkout
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Run helm-docs
id: helm-docs-run
uses: ideas-into-software/helm-docs-action@main

- name: Validate there's no diff
id: git-no-diff
run: git diff --exit-code

publish-chart:
needs:
- lint-chart
- install-test-chart
- validate-chart-docs
name: Publish Helm Chart
runs-on: ubuntu-18.04
steps:
- name: Check-out repository
id: repo-checkout
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Publish Helm Chart
id: helm-publish-chart
uses: stefanprodan/helm-gh-pages@v1.2.0
with:
token: ${{ secrets.CR_TOKEN }}
charts_dir: helm
charts_url: https://softwaremill.github.io/sml-helm-public-repo
owner: softwaremill
repository: sml-helm-public-repo
helm_version: 3.4.1
linting: off
41 changes: 41 additions & 0 deletions .github/workflows/bootzooka-scala-ts-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Bootzooka CI

on:
push:
paths-ignore:
- "helm/**"
pull_request:
paths-ignore:
- "helm/**"

jobs:
scala-ts-tests:
# run on external PRs, but not on internal PRs since those will be run by push to branch
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
name: Scala and TypeScript testing
runs-on: ubuntu-18.04

steps:
- name: Check-out repository
id: repo-checkout
uses: actions/checkout@v2

- name: Set up JDK 11
id: jdk-setup
uses: actions/setup-java@v1
with:
java-version: 11

- name: Cache SBT
id: cache-sbt
uses: actions/cache@v2
with:
path: |
~/.sbt
~/.ivy2/cache
~/.coursier
key: ${{ runner.os }}-sbt-${{ hashFiles('**/build.sbt') }}

- name: Run tests
id: run-tests
run: sbt test
80 changes: 0 additions & 80 deletions .github/workflows/bootzooka-tests.yml

This file was deleted.

45 changes: 45 additions & 0 deletions banner.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 27 additions & 0 deletions docs/production.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,33 @@ To build a docker image, run `backend/docker:publishLocal`. This will create the

You can test the image by using the provided `docker-compose.yml` file.


## Kubernetes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good docs, thanks! 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you!


Use [Helm](https://helm.sh/) to easily deploy Bootzooka into [Kubernetes](https://kubernetes.io/) cluster.

### Add SoftwareMill Helm repository

```
helm repo add softwaremill https://charts.softwaremill.com/
helm repo update
```

### Fetch and Customize Bootzooka chart

```
helm fetch softwaremill/bootzooka --untar
```

### Install Bootzooka chart

```
helm install --generate-name bootzooka
```

Please see [Bootzooka Helm Chart documentation](https://github.com/softwaremill/bootzooka/blob/master/helm/bootzooka/README.md) for more information, including configuration options.


## Heroku

Bootzooka-based applications can be easily deployed to [Heroku](https://www.heroku.com).
Expand Down
26 changes: 26 additions & 0 deletions helm/bootzooka/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/

# Helm-Docs template
README.md.gotmpl
40 changes: 29 additions & 11 deletions helm/bootzooka/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,35 @@ apiVersion: v2
appVersion: "1.0"
description: "A Helm chart for Bootzooka"
name: bootzooka
version: 0.1.0
version: 0.1.2
type: application
home: https://github.com/softwaremill/bootzooka
keywords:
- scala
- microservice
- postgresql
- angular
- bootstrap
home: https://softwaremill.github.io/bootzooka/
sources:
- https://github.com/softwaremill/bootzooka
maintainers:
- name: tomusheq
url: https://github.com/tomusheq
- name: ideas-into-software
url: https://github.com/ideas-into-software
icon: https://raw.githubusercontent.com/softwaremill/bootzooka/master/banner.png
- name: tomusheq
url: https://github.com/tomusheq
- name: ideas-into-software
url: https://github.com/ideas-into-software
icon: https://raw.githubusercontent.com/softwaremill/bootzooka/master/banner.svg
dependencies:
- name: postgresql
version: ^9
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled
- name: postgresql
version: ^9
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled
annotations:
artifacthub.io/links: |
- name: Docs
url: https://softwaremill.github.io/bootzooka/
- name: Source
url: https://github.com/softwaremill/bootzooka
- name: Demo
url: https://bootzooka.softwaremill.com/
- name: Home
url: https://softwaremill.com/
Loading