Skip to content

Commit

Permalink
feat: initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
kirinnee committed Sep 27, 2023
0 parents commit 19851ea
Show file tree
Hide file tree
Showing 22 changed files with 1,279 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
nix_direnv_watch_file "./nix/env.nix" "./nix/fmt.nix" "./nix/packages.nix" "./nix/shells.nix" "./nix/pre-commit.nix" "./flake.nix" "./parse.nix"
use flake
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: daily
31 changes: 31 additions & 0 deletions .github/workflows/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: CI-CD

on:
push:

jobs:
precommit:
name: Pre-commit Check
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- name: Run pre-commit
run: nix develop .#ci -c ./scripts/ci/pre-commit.sh

release:
name: Semantic Release
needs:
- precommit
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- uses: rlespinasse/github-slug-action@v3.x
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: nix develop .#releaser -c scripts/ci/release.sh
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.direnv
.task
.pre-commit-config.yaml
.idea
.env
dist
debug.yaml
.DS_Store
6 changes: 6 additions & 0 deletions .gitlint
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[general]
contrib=CT1
ignore=B6

[contrib-title-conventional-commits]
types = action,chore,config,docs,feat,fix,release,upstream
18 changes: 18 additions & 0 deletions README.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Sulfoxide Fluorine

Helm chart to deploy Velero as AtomiCloud's backup solution.

## Prerequisites
- nix
- direnv
- docker

## Helm Docs

You can view the helm documentation generated at [helm-docs](./chart/README.md)

## Contributing

Please contact contributors and read the [developer docs](./docs/developer/CommitConventions.md) for informationation on contributing to this project.

- [ernest@atomi.cloud](mailto:ernest@atomi.cloud)
36 changes: 36 additions & 0 deletions Taskfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
version: "3"

env:
VELERO_PLUGIN_VERSION: v1.7.1
VELERO_BUCKET: suicune-systems-backup-platform-bucket
VELERO_SECRET_FILE: ./secret
VELERO_REGION: APAC
VELERO_S3_URL: https://177aa484a66427793543c5e958f8d020.r2.cloudflarestorage.com

tasks:
# Utility
start:cluster:
desc: Starts the playground cluster to test helm charts
cmds:
- ./scripts/local/create-k3d-cluster.sh

stop:cluster:
desc: Destroys the playground cluster to test helm charts
cmds:
- ./scripts/local/delete-k3d-cluster.sh

install:
desc: Install velero
cmds:
- >-
velero install
--provider aws
--plugins velero/velero-plugin-for-aws:{{.VELERO_PLUGIN_VERSION}}
--bucket {{.VELERO_BUCKET}}
--secret-file {{.VELERO_SECRET_FILE}}
--use-volume-snapshots=false
--backup-location-config region={{.VELERO_REGION}},s3ForcePathStyle="true",s3Url={{.VELERO_S3_URL}}
migrate:
desc: Migrate cluster
cmds:
- ./scripts/migrate.sh {{.CLI_ARGS}}
142 changes: 142 additions & 0 deletions atomi_release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
gitlint: .gitlint

conventionMarkdown:
path: docs/developer/CommitConventions.md
template: |
---
id: commit-conventions
title: Commit Conventions
---
var___convention_docs___
keywords:
- BREAKING CHANGE
- BREAKING CHANGES
- BREAKING

branches:
- main

specialScopes:
no-release:
desc: Prevent release from happening
release: false

plugins:
- module: "@semantic-release/changelog"
config:
changelogFile: Changelog.md
- module: "@semantic-release/exec"
config:
prepareCmd: ./scripts/ci/publish.sh ${nextRelease.version}
- module: "@semantic-release/git"
config:
message: "release: ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
assets:
- chart/**/*.*
- Changelog.md
- docs/developer/CommitConventions.md
- module: "semantic-release-major-tag"
config:
customTags:
- "v${major}"
- "v${major}.${minor}"
- module: "@semantic-release/github"

# Helm
types:
- type: upstream
desc: "Changes from dependencies upstream"
section: 📦 Upstreams Changes
scopes:
default:
desc: Generic update from upstream dependencies
release: "minor"
vae:
verb: update upstream
application: <scope>, <title>
example: "upstream(mysql): from v5.7 to v8.0"

- type: config
desc: "Changes to configuration files and scripts"
scopes:
default:
desc: Updates the configuration of the repository, not related to the other scopes
release: false
lint:
desc: Add, update or remove linters
release: false
fmt:
desc: Add, updatge or remove formatters
release: false
build:
desc: Add, update or change build pipelines and generators
release: false
nix:
desc: Add, update or change nix shell
release: false
env:
desc: Add, update or change environment
release: false
ignore:
desc: Add, update or change ignore configurations
release: false
ci:
desc: Add, update or change CI configuration files
release: false
vae:
verb: configure
application: <scope> to <title>
example: "config(ci): setup nix before executing"

- type: release
desc: Initiate a release (machine initiated)
scopes:
default:
desc: Machine initiated release
release: false

- type: docs
section: 📝 Documentation Updates
desc: Documentation only changes
scopes:
default:
desc: Update generic documentation file
release: false
vae:
verb: add
application: <scope> documention <title>
example: "docs(developer): on how to install dependency packages"
- type: feat
section: 🚀 New Features
desc: A new feature
vae:
verb: add
application: <scope> <title>
example: "feat(rapid): new withdraw api"
scopes:
default:
desc: Release a new features
release: minor
- type: action
desc: Imperative action, mainly changing the values files
scopes:
default:
desc: Imperative action, mainly changing the values files
release: false
- type: fix
section: 🐛 Bug Fixes
desc: A bug fix
vae:
verb: fix
application: <title>
example: "fix(rapid): deposit api for rapid"
scopes:
default:
desc: Generic fixes
release: patch
- type: chore
desc: Menial Tasks
scopes:
default:
desc: Menial Tasks
release: false
11 changes: 11 additions & 0 deletions config/k3d.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: k3d.io/v1alpha4
kind: Simple
metadata:
name: playground
servers: 1
network: playground
image: rancher/k3s:v1.23.16-k3s1
ports:
- port: 8091:80
nodeFilters:
- loadbalancer
Empty file added docs/developer/.gitkeep
Empty file.
Loading

0 comments on commit 19851ea

Please sign in to comment.