Skip to content

Commit

Permalink
feat: initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
kirinnee committed Oct 4, 2023
0 parents commit 962a572
Show file tree
Hide file tree
Showing 38 changed files with 1,786 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
32 changes: 32 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
## 1.0.0 (2023-09-30)


### 🚀 New Features

* initial commit ([1ce7203](https://github.com/AtomiCloud/sulfoxide.cobalt/commit/1ce720327fc3d1bd10bd21b6f8d5042dc202dd96))

## [1.1.0](https://github.com/AtomiCloud/sulfoxide.chlorine/compare/v1.0.1...v1.1.0) (2023-09-30)


### 🚀 New Features

* values.yaml example ([323720f](https://github.com/AtomiCloud/sulfoxide.chlorine/commit/323720fc32f4f05d58cafe3ecaa12a7a7ec4dfdd))


### 🐛 Bug Fixes

* migrate to sulfoxide-chlorine for Chart.yaml and Taskfile.yaml ([9b3eda1](https://github.com/AtomiCloud/sulfoxide.chlorine/commit/9b3eda1524b02ae9ff2a82fcc227bb8d2f6e4b9c))

## [1.0.1](https://github.com/AtomiCloud/sulfoxide.chlorine/compare/v1.0.0...v1.0.1) (2023-09-27)


### 🐛 Bug Fixes

* incorrect k3d configuration ([f5ecdab](https://github.com/AtomiCloud/sulfoxide.chlorine/commit/f5ecdab1de6097ee04e32afe9337feb2bd2d6821))

## 1.0.0 (2023-09-27)


### 🚀 New Features

* initial commit ([4bd320e](https://github.com/AtomiCloud/sulfoxide.chlorine/commit/4bd320e576c1afee2e23ab0ff6409d906ec1defd))
20 changes: 20 additions & 0 deletions README.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Sulfoxide Iodine

Helm chart to install virtual cluster on a physical cluster

## 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 information on
contributing to this project.

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

env:
RELEASE_NAME: sulfoxide-iodine

includes:
util: tasks/Taskfile.util.yaml
pichu:opal:
taskfile: tasks/Taskfile.cluster.yaml
vars:
LANDSCAPE: pichu
CLUSTER: opal

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

# Helm Operations
update:
desc: Update Helm dependencies
dir: chart
cmds:
- helm dependency update

latest:
desc: Get the latest version of External Secrets Operator
cmds:
- task: util:latest
vars:
REPO_NAME: vcluster
REPO_URL: https://charts.loft.sh
CHART_NAME: vcluster
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
23 changes: 23 additions & 0 deletions chart/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 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/
6 changes: 6 additions & 0 deletions chart/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: vcluster
repository: https://charts.loft.sh
version: 0.15.7
digest: sha256:cc0bb079d3a7bdaed28fec22d3faba374fca1446894045da938dc20fc70839bc
generated: "2023-09-30T21:35:26.856535+08:00"
10 changes: 10 additions & 0 deletions chart/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v2
name: sulfoxide-iodine
description: Helm chart to install virtual cluster on a physical cluster
type: application
version: 1.0.0
appVersion: "v0.15.7"
dependencies:
- name: vcluster
version: v0.15.7
repository: https://charts.loft.sh
22 changes: 22 additions & 0 deletions chart/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# sulfoxide-iodine

![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.15.7](https://img.shields.io/badge/AppVersion-v0.15.7-informational?style=flat-square)

Helm chart to install virtual cluster on a physical cluster

## Requirements

| Repository | Name | Version |
|------------|------|---------|
| https://charts.loft.sh | vcluster | v0.15.7 |

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| serviceTree | object | `{"layer":"1","platform":"sulfoxide","service":"iodine"}` | AtomiCloud Service Tree. See [ServiceTree](https://atomicloud.larksuite.com/wiki/OkfJwTXGFiMJkrk6W3RuwRrZs64?theme=DARK&contentTheme=DARK#MHw5d76uDo2tBLx86cduFQMRsBb) |
| tags | object | `{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"}` | Kubernetes labels and annotations, following Service Tree |
| vcluster | object | `{"annotations":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"}},"ingress":{"enabled":true,"host":"kubernetes.atomi.cloud","ingressClassName":"kong"},"labels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"}},"sync":{"ingresses":{"enabled":true}},"syncer":{"extraArgs":["--tls-san=https://kubernetes.atomi.cloud"]},"telemetry":{"disabled":true}}` | Virtual Cluster Configuration. See [vcluster documentation](https://artifacthub.io/packages/helm/loft/vcluster) |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.11.1](https://github.com/norwoodj/helm-docs/releases/v1.11.1)
Binary file added chart/charts/vcluster-0.15.7.tgz
Binary file not shown.
1 change: 1 addition & 0 deletions chart/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Install vCluster
Loading

0 comments on commit 962a572

Please sign in to comment.