Skip to content

Commit

Permalink
Merge pull request #13 from ccremer/go-operator
Browse files Browse the repository at this point in the history
Reimplementation in Go
  • Loading branch information
ccremer authored Dec 26, 2020
2 parents 80ab7a4 + 10ebd9b commit 9d824d7
Show file tree
Hide file tree
Showing 314 changed files with 5,588 additions and 10,733 deletions.
21 changes: 0 additions & 21 deletions .dockerignore

This file was deleted.

44 changes: 44 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
name: 🐛 Bug report
about: Create a report to help improve 🎉
title: '[Bug] '
labels: 'bug'

---

## Describe the bug

A clear and concise description of what the bug is.

## Additional context

Add any other context about the problem here.

## Logs

If applicable, add logs to help explain your problem.
```console

```

## Expected behavior

A clear and concise description of what you expected to happen.

## To Reproduce

Steps to reproduce the behavior:
1. Specs
```yaml

```
2. Commands
```bash

```

## Environment (please complete the following information):

- Image Version: e.g. v1.0
- K8s Version: e.g. v1.18
- K8s Distribution: e.g. OpenShift, Rancher, etc.
47 changes: 47 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
name: 🚀 Feature request
about: Suggest an idea for this project 💡
title: '[Feature] '
labels: 'enhancement'

---
<!--
Thank you for opening a feature request. Please take the time to fill out the form below.
Don't worry too much about completing the form. If you don't know how to start,
write your idea in "## Context" and we'll fill out the rest based on what we understood.
-->

## Summary

**As** "role name"\
**I want** "a feature or functionality"\
**So that** "business value(s)"

## Context

Add more information here. You are completely free regarding form and length

## Out of Scope

* List aspects that are explicitly not part of this feature

## Further links

* URLs of relevant Git repositories, PRs, Issues, etc.

## Acceptance criteria

<!--
If you already have ideas what the requirements are, please let us know.
This helps us to further understand what has to be done for your feature.
You can use the given-when-then expressions multiple times.
This might not always be necessary.
-->

*Given* "a precondition"\
*When* "an action happens"\
*Then* "a result is expected"

## Implementation Ideas

* If applicable, shortly list possible implementation ideas
15 changes: 15 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## Summary

<!--
Thank you for your pull request. Please provide a description above and
review the checklist below.
-->

## Checklist
<!--
Remove items that do not apply. For completed items, change [ ] to [x].
-->

- [ ] Update the documentation.
- [ ] Update tests.
- [ ] Link this PR to related issues.
73 changes: 73 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Build

on:
push:
branches:
- master
- development
tags-ignore:
- "*"
pull_request:
branches:
- master
- development

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Determine Go version from go.mod
run: echo "GO_VERSION=$(grep "go 1." go.mod | cut -d " " -f 2)" >> $GITHUB_ENV
- uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Run tests
run: make test
e2e-test:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- kind-node-version: v1.19.4
crd-spec-version: v1
steps:
- uses: actions/checkout@v2
- name: Determine Go version from go.mod
run: echo "GO_VERSION=$(grep "go 1." go.mod | cut -d " " -f 2)" >> $GITHUB_ENV
- uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Run e2e tests
run: make crd install_bats setup_e2e_test e2e_test -e CRD_SPEC_VERSION=${{ matrix.crd-spec-version }} -e KIND_NODE_VERSION=${{ matrix.kind-node-version }} -e KIND_KUBECTL_ARGS=--validate=false
- name: Show e2e debug logs
run: cat e2e/debug/detik/*
image:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Determine Go version from go.mod
run: echo "GO_VERSION=$(grep "go 1." go.mod | cut -d " " -f 2)" >> $GITHUB_ENV
- uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Build image
run: make docker-build
30 changes: 30 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Lint

on:
push:
branches:
- master
tags-ignore:
- "*"
pull_request:
branches:
- master

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Determine Go version from go.mod
run: echo "GO_VERSION=$(grep "go 1." go.mod | cut -d " " -f 2)" >> $GITHUB_ENV
- uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Run linters
run: make lint
31 changes: 31 additions & 0 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Push

on:
push:
branches:
- master

jobs:
dist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Determine Go version from go.mod
run: echo "GO_VERSION=$(grep "go 1." go.mod | cut -d " " -f 2)" >> $GITHUB_ENV
- uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Build docker images
run: make docker-build -e IMG_TAG=${GITHUB_REF#refs/heads/}
- name: Login to Docker hub
run: docker login -u "${{ secrets.DOCKER_USERNAME }}" -p "${{ secrets.DOCKER_PASSWORD }}"
- name: Login to quay.io
run: docker login -u "${{ secrets.QUAY_IO_USERNAME }}" -p "${{ secrets.QUAY_IO_PASSWORD }}" quay.io
- name: Push docker images
run: make docker-push -e IMG_TAG=${GITHUB_REF#refs/heads/}
37 changes: 37 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Release

on:
push:
tags:
- "*"

jobs:
dist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Determine Go version from go.mod
run: echo "GO_VERSION=$(grep "go 1." go.mod | cut -d " " -f 2)" >> $GITHUB_ENV
- uses: actions/setup-go@v2
with:
go-version: ${{ env.GO_VERSION }}
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Login to Docker hub
run: docker login -u "${{ secrets.DOCKER_USERNAME }}" -p "${{ secrets.DOCKER_PASSWORD }}"
- name: Login to quay.io
run: docker login -u "${{ secrets.QUAY_IO_USERNAME }}" -p "${{ secrets.QUAY_IO_PASSWORD }}" quay.io
- name: Generate artifacts
run: make crd
- name: Publish releases
uses: goreleaser/goreleaser-action@v2
with:
args: release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
76 changes: 31 additions & 45 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,46 +1,32 @@
*.class

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

# maven
target/

# gradle
build/
.gradle/
out/

# Microsoft opened files.
~$$*.~*


# intellij
*.iws
.idea/dataSources.ids
.idea/dataSources.xml
.idea/sqlDataSources.xml
.idea/dynamic.xml
desktop.ini
.idea/*.iml

.idea/*
!.idea/codeStyleSettings.xml
!.idea/codeStyles
!.idea/runConfigurations

# project
/config/
/tmp/
/input/
/output/
/nginx

# NPM, Webpack
node_modules/
# Created by .ignore support plugin (hsz.mobi)
### Example user template template
### Example user template

# VSCode configs
.vscode/

# IntelliJ project files
.idea
*.iml
out
gen### Go template
# Binaries for programs and plugins
*.exe
*.dll
*.so
*.dylib

# Test binary, build with `go test -c`
*.test

# Output of the go coverage tool, specifically when used with LiteIDE
*.out

bin/
dist/
/src/frontend/test/unit/coverage/
package-lock.json
clustercode-crd*.yaml
clustercode
testbin/
node_modules/
e2e/debug
__debug_bin
Loading

0 comments on commit 9d824d7

Please sign in to comment.