generated from Templates/Baseline
Compare commits
1 Commits
v1.5.0
...
52e7ff2d37
Author | SHA1 | Date | |
---|---|---|---|
52e7ff2d37 |
10
.gitea/ISSUE_TEMPLATE.md
Normal file
10
.gitea/ISSUE_TEMPLATE.md
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
name: 'Default'
|
||||||
|
about: 'Use this template if nothing seems to work.'
|
||||||
|
title: ':question: '
|
||||||
|
labels:
|
||||||
|
- question
|
||||||
|
---
|
||||||
|
#### :grey_question: Simply ask your question here: :grey_question:
|
||||||
|
|
||||||
|
<!-- Take your time an think about your problem.... -->
|
@ -1,16 +0,0 @@
|
|||||||
name: Default
|
|
||||||
about: Use this template if nothing seems to work.
|
|
||||||
title: ''
|
|
||||||
body:
|
|
||||||
- type: markdown
|
|
||||||
attributes:
|
|
||||||
value: |
|
|
||||||
> **Note**: Thanks for taking the time to fill out this bug report!
|
|
||||||
- type: textarea
|
|
||||||
id: content
|
|
||||||
attributes:
|
|
||||||
label: ❔ What happened
|
|
||||||
description: Simply ask your question here.
|
|
||||||
placeholder: Tell us what you want to know...
|
|
||||||
validations:
|
|
||||||
required: true
|
|
48
.gitea/ISSUE_TEMPLATE/Bug.md
Normal file
48
.gitea/ISSUE_TEMPLATE/Bug.md
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
---
|
||||||
|
name: 'Bug'
|
||||||
|
about: 'This template is used to report bugs!'
|
||||||
|
title: ':lady_beetle: '
|
||||||
|
labels:
|
||||||
|
- bug
|
||||||
|
---
|
||||||
|
<!--
|
||||||
|
This bug report is ony for content provided in this repository!
|
||||||
|
|
||||||
|
- Make sure you're able to reproduce the error in the latest version of this package.
|
||||||
|
- Search of already existing issues.
|
||||||
|
- Refer to the known issues and FAQ section.
|
||||||
|
-->
|
||||||
|
|
||||||
|
#### :bomb: Steps to reproduce
|
||||||
|
|
||||||
|
```bash
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### :rocket: Expected behavior
|
||||||
|
|
||||||
|
```bash
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### :boom: Actual behavior
|
||||||
|
|
||||||
|
```bash
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### :notebook: Environment data
|
||||||
|
|
||||||
|
<!-- You can add additional environment data here--->
|
||||||
|
|
||||||
|
```bash
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
#### :framed_picture: Screenshots
|
||||||
|
|
||||||
|
<!-- Paste your screenshots here. -->
|
||||||
|
|
||||||
|
#### :bookmark: Refs
|
||||||
|
|
||||||
|
<!-- A place for additional references to other issues and PRs -->
|
@ -1,69 +0,0 @@
|
|||||||
name: 🐞 Bug Report
|
|
||||||
about: This template is used to report bugs!
|
|
||||||
title: ''
|
|
||||||
labels:
|
|
||||||
- bug
|
|
||||||
body:
|
|
||||||
- type: markdown
|
|
||||||
attributes:
|
|
||||||
value: |
|
|
||||||
> **Note**: This bug report is only for content provided in this repository!
|
|
||||||
>
|
|
||||||
> - Make sure you're able to reproduce the error in the lastest version of this package.
|
|
||||||
> - Search of already existing issues.
|
|
||||||
> - Refer to the known issues and FAQ section.
|
|
||||||
- type: textarea
|
|
||||||
id: reproduce
|
|
||||||
attributes:
|
|
||||||
label: 💣 Steps to reproduce
|
|
||||||
description: Describe ho to reproduce the error.
|
|
||||||
value: |
|
|
||||||
```bash
|
|
||||||
|
|
||||||
```
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
- type: textarea
|
|
||||||
id: expected
|
|
||||||
attributes:
|
|
||||||
label: 🚀 Expected behavior
|
|
||||||
description: Describe what should happen.
|
|
||||||
value: |
|
|
||||||
```bash
|
|
||||||
|
|
||||||
```
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
- type: textarea
|
|
||||||
id: actual
|
|
||||||
attributes:
|
|
||||||
label: 💥 Actual behavior
|
|
||||||
description: Describe what actually happens.
|
|
||||||
value: |
|
|
||||||
```bash
|
|
||||||
|
|
||||||
```
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
- type: textarea
|
|
||||||
id: env
|
|
||||||
attributes:
|
|
||||||
label: 📓 Environment data
|
|
||||||
description: You can add additional environment data here.
|
|
||||||
placeholder: |
|
|
||||||
```bash
|
|
||||||
|
|
||||||
```
|
|
||||||
- type: textarea
|
|
||||||
id: img
|
|
||||||
attributes:
|
|
||||||
label: 🖼️ Screenshots
|
|
||||||
description: Paste your screenshots here.
|
|
||||||
placeholder: Copy-Paste or Drag-and-Drop your images...
|
|
||||||
- type: textarea
|
|
||||||
id: refs
|
|
||||||
attributes:
|
|
||||||
label: 🔖 Refs
|
|
||||||
description: A place for additional references to other issues and PRs.
|
|
||||||
placeholder: |
|
|
||||||
- reopens #999
|
|
16
.gitea/ISSUE_TEMPLATE/Enhancement.md
Normal file
16
.gitea/ISSUE_TEMPLATE/Enhancement.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
name: 'Enhancement'
|
||||||
|
about: 'Wite about new features.'
|
||||||
|
title: ':flying_saucer: '
|
||||||
|
labels:
|
||||||
|
- issue/enhancement
|
||||||
|
---
|
||||||
|
<!-- This issue template is used to describe whished features. -->
|
||||||
|
|
||||||
|
#### :satellite: Suggestion
|
||||||
|
|
||||||
|
#### :artificial_satellite: Implementation ideas
|
||||||
|
|
||||||
|
#### :framed_picture: Mock-up Images
|
||||||
|
|
||||||
|
#### :bookmark: Refs.
|
@ -1,46 +0,0 @@
|
|||||||
name: 🛸 Feature Request
|
|
||||||
about: Wite about new features.
|
|
||||||
title: ''
|
|
||||||
labels:
|
|
||||||
- feature
|
|
||||||
- enhancement
|
|
||||||
body:
|
|
||||||
- type: markdown
|
|
||||||
attributes:
|
|
||||||
value: |
|
|
||||||
> **Note**: This bug report is only for content provided in this repository!
|
|
||||||
>
|
|
||||||
> This issue template is used to describe new features or enhancements.
|
|
||||||
- type: textarea
|
|
||||||
id: idea
|
|
||||||
attributes:
|
|
||||||
label: 📡 Suggestion
|
|
||||||
description: Describe ho to reproduce the error.
|
|
||||||
value: |
|
|
||||||
```bash
|
|
||||||
|
|
||||||
```
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
- type: textarea
|
|
||||||
id: impl
|
|
||||||
attributes:
|
|
||||||
label: 🛰️ Implementation ideas
|
|
||||||
description: Describe your initial implementation ideas.
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
- type: textarea
|
|
||||||
id: mockup
|
|
||||||
attributes:
|
|
||||||
label: 🖼️ Mock-up
|
|
||||||
description: Alternatively add your mockups here.
|
|
||||||
placeholder: Copy-Paste or Drag-and-Drop your images...
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
- type: textarea
|
|
||||||
id: refs
|
|
||||||
attributes:
|
|
||||||
label: 🔖 Refs
|
|
||||||
description: A place for additional references to other issues and PRs.
|
|
||||||
placeholder: |
|
|
||||||
- reopens #999
|
|
@ -1,18 +0,0 @@
|
|||||||
name: ❓ Question
|
|
||||||
about: Use this template if nothing seems to work.
|
|
||||||
title: ''
|
|
||||||
labels:
|
|
||||||
- question
|
|
||||||
body:
|
|
||||||
- type: markdown
|
|
||||||
attributes:
|
|
||||||
value: |
|
|
||||||
> **Note**: Thanks for taking the time to fill out this bug report!
|
|
||||||
- type: textarea
|
|
||||||
id: content
|
|
||||||
attributes:
|
|
||||||
label: ❔ What happened
|
|
||||||
description: Simply ask your question here.
|
|
||||||
placeholder: Tell us what you want to know...
|
|
||||||
validations:
|
|
||||||
required: true
|
|
19
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
19
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#### :book: Summary
|
||||||
|
|
||||||
|
<!-- Provide a summary of your changes. Describe the why and not how. -->
|
||||||
|
|
||||||
|
#### :bookmark_tabs: Test Plan
|
||||||
|
|
||||||
|
> :bulb: Select your test plan for the code changes.
|
||||||
|
|
||||||
|
- [x] CI pipeline tests
|
||||||
|
- [ ] Custom test
|
||||||
|
- [ ] No test plan
|
||||||
|
|
||||||
|
##### Details / Justification
|
||||||
|
|
||||||
|
<!-- Add your test details or justification for missing tests here. -->
|
||||||
|
|
||||||
|
#### :books: Additional Notes
|
||||||
|
|
||||||
|
<!-- A place for additional detail notes. -->
|
@ -1,41 +0,0 @@
|
|||||||
name: Pull Request
|
|
||||||
about: General pull request
|
|
||||||
title: ""
|
|
||||||
body:
|
|
||||||
- type: markdown
|
|
||||||
attributes:
|
|
||||||
value: |
|
|
||||||
> **Note**: Thanks for contributing to this project with your pull request!
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
id: summary
|
|
||||||
attributes:
|
|
||||||
label: 📖 Summary
|
|
||||||
description: Provide a summary of your changes. Also describe the why...
|
|
||||||
placeholder: Tell us about your code changes.
|
|
||||||
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
- type: dropdown
|
|
||||||
id: testplan
|
|
||||||
attributes:
|
|
||||||
label: 📑 Test Plan
|
|
||||||
description: How did you test your code changes?
|
|
||||||
options:
|
|
||||||
- ✅ CI pipeline tests (Default)
|
|
||||||
- 🤔 Custom test
|
|
||||||
- 💣 No test Plan
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
- type: textarea
|
|
||||||
id: details
|
|
||||||
attributes:
|
|
||||||
label: 💬 Details
|
|
||||||
description: Add your custom test details or justification for missing tests here.
|
|
||||||
placeholder: First, solve the problem. Then, write the code.
|
|
||||||
- type: textarea
|
|
||||||
id: notes
|
|
||||||
attributes:
|
|
||||||
label: 📚 Additional Notes
|
|
||||||
description: A place for additional notes or linking references.
|
|
||||||
placeholder: Software and cathedrals are much the same - First we build them, then we pray.
|
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -12,7 +12,3 @@ data/*.csv
|
|||||||
# Ignore Pester test result files
|
# Ignore Pester test result files
|
||||||
coverage.xml
|
coverage.xml
|
||||||
testResults.xml
|
testResults.xml
|
||||||
|
|
||||||
# Ignore NodeJS stuff
|
|
||||||
node_modules
|
|
||||||
docs/.vitepress/cache
|
|
||||||
|
1
.vscode/dictionaries/project-words.txt
vendored
1
.vscode/dictionaries/project-words.txt
vendored
@ -22,4 +22,3 @@ srv
|
|||||||
tbd
|
tbd
|
||||||
traefik
|
traefik
|
||||||
tuanpham
|
tuanpham
|
||||||
volta
|
|
||||||
|
3
.vscode/extensions.json
vendored
3
.vscode/extensions.json
vendored
@ -5,7 +5,6 @@
|
|||||||
"streetsidesoftware.code-spell-checker",
|
"streetsidesoftware.code-spell-checker",
|
||||||
"streetsidesoftware.code-spell-checker-german",
|
"streetsidesoftware.code-spell-checker-german",
|
||||||
"bierner.emojisense",
|
"bierner.emojisense",
|
||||||
"ryanluker.vscode-coverage-gutters",
|
"ryanluker.vscode-coverage-gutters"
|
||||||
"augustocdias.tasks-shell-input"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
37
.vscode/tasks.json
vendored
37
.vscode/tasks.json
vendored
@ -1,37 +0,0 @@
|
|||||||
{
|
|
||||||
"version": "2.0.0",
|
|
||||||
"tasks": [
|
|
||||||
{
|
|
||||||
"label": "Update GiteaChangelog",
|
|
||||||
"type": "shell",
|
|
||||||
"command": [
|
|
||||||
"mv 'CHANGELOG.md' 'CHANGELOG.back' &&",
|
|
||||||
"changelog -m '${input:Milestone}' --token '${input:GiteaToken}' -c .changelog.yml generate > CHANGELOG.md &&",
|
|
||||||
"echo '' >> CHANGELOG.md &&",
|
|
||||||
"cat CHANGELOG.back >> CHANGELOG.md &&",
|
|
||||||
"rm CHANGELOG.back"
|
|
||||||
],
|
|
||||||
"problemMatcher": []
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"inputs": [
|
|
||||||
{
|
|
||||||
"id": "GiteaToken",
|
|
||||||
"type": "command",
|
|
||||||
"command": "shellCommand.execute",
|
|
||||||
"args": {
|
|
||||||
"command": "echo $GITEA_TOKEN",
|
|
||||||
"description": "Your personal Gitea access token"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "Milestone",
|
|
||||||
"type": "command",
|
|
||||||
"command": "shellCommand.execute",
|
|
||||||
"args": {
|
|
||||||
"description": "Select or enter a open milestone",
|
|
||||||
"command": "tea milestone ls -f title --output simple"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
49
.woodpecker/.deploy.yml
Normal file
49
.woodpecker/.deploy.yml
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
depends_on:
|
||||||
|
- test
|
||||||
|
|
||||||
|
pipeline:
|
||||||
|
buildImage:
|
||||||
|
image: woodpeckerci/plugin-docker-buildx
|
||||||
|
settings:
|
||||||
|
registry: gitea.ocram85.com
|
||||||
|
repo: gitea.ocram85.com/codeserver/arkanum
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
auto_tag: true
|
||||||
|
username:
|
||||||
|
from_secret: gitea_user
|
||||||
|
password:
|
||||||
|
from_secret: gitea_passwd
|
||||||
|
build_args:
|
||||||
|
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
|
||||||
|
- TAG=${CI_COMMIT_TAG}
|
||||||
|
when:
|
||||||
|
event: push
|
||||||
|
branch: master
|
||||||
|
|
||||||
|
buildTag:
|
||||||
|
image: woodpeckerci/plugin-docker-buildx
|
||||||
|
settings:
|
||||||
|
registry: gitea.ocram85.com
|
||||||
|
repo: gitea.ocram85.com/codeserver/arkanum
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
auto_tag: true
|
||||||
|
username:
|
||||||
|
from_secret: gitea_user
|
||||||
|
password:
|
||||||
|
from_secret: gitea_passwd
|
||||||
|
build_args:
|
||||||
|
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
|
||||||
|
- TAG=${CI_COMMIT_TAG}
|
||||||
|
when:
|
||||||
|
event: tag
|
||||||
|
|
||||||
|
GiteaRelease:
|
||||||
|
image: plugins/gitea-release
|
||||||
|
settings:
|
||||||
|
api_key:
|
||||||
|
from_secret: RENOVATE_TOKEN
|
||||||
|
base_url: https://gitea.ocram85.com
|
||||||
|
title: ${CI_COMMIT_TAG}
|
||||||
|
note: "> :bulb: **Note:** See [CHANGELOG.md](src/branch/master/CHANGELOG.md) for recent changes."
|
||||||
|
when:
|
||||||
|
event: tag
|
32
.woodpecker/.next.yml
Normal file
32
.woodpecker/.next.yml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
depends_on:
|
||||||
|
- test
|
||||||
|
|
||||||
|
pipeline:
|
||||||
|
buildTestImage:
|
||||||
|
image: woodpeckerci/plugin-docker-buildx
|
||||||
|
settings:
|
||||||
|
#dry_run: true
|
||||||
|
registry: gitea.ocram85.com
|
||||||
|
repo: gitea.ocram85.com/codeserver/arkanum
|
||||||
|
platforms: linux/amd64
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
tags: next
|
||||||
|
username:
|
||||||
|
from_secret: gitea_user
|
||||||
|
password:
|
||||||
|
from_secret: gitea_passwd
|
||||||
|
build_args:
|
||||||
|
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
|
||||||
|
- TAG=${CI_COMMIT_TAG}
|
||||||
|
when:
|
||||||
|
event: pull_request
|
||||||
|
|
||||||
|
triggerPortainer:
|
||||||
|
image: ocram85/portainer-serviceupdate
|
||||||
|
settings:
|
||||||
|
#VERBOSE: true
|
||||||
|
URI: "https://portainer.ocram85.com"
|
||||||
|
TOKEN:
|
||||||
|
from_secret: NEXT_TOKEN
|
||||||
|
when:
|
||||||
|
event: pull_request
|
22
.woodpecker/.renovate.yml
Normal file
22
.woodpecker/.renovate.yml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
pipeline:
|
||||||
|
DockerBaseImage:
|
||||||
|
image: renovate/renovate:34.82-slim
|
||||||
|
commands:
|
||||||
|
- "renovate"
|
||||||
|
secrets:
|
||||||
|
- RENOVATE_TOKEN
|
||||||
|
environment:
|
||||||
|
#LOG_LEVEL: debug
|
||||||
|
RENOVATE_PLATFORM: "gitea"
|
||||||
|
RENOVATE_ENDPOINT: "https://gitea.ocram85.com"
|
||||||
|
RENOVATE_REPOSITORIES: "${CI_REPO}"
|
||||||
|
RENOVATE_LABELS: "renovate"
|
||||||
|
#RENOVATE_DRY_RUN: "full"
|
||||||
|
RENOVATE_TOKEN: "${RENOVATE_TOKEN}"
|
||||||
|
RENOVATE_GITHUB_TOKEN_WARN: "false"
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
- updDeps
|
12
.woodpecker/.test.yml
Normal file
12
.woodpecker/.test.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
pipeline:
|
||||||
|
testDockerfile:
|
||||||
|
image: woodpeckerci/plugin-docker-buildx
|
||||||
|
settings:
|
||||||
|
dry_run: true
|
||||||
|
registry: gitea.ocram85.com
|
||||||
|
repo: gitea.ocram85.com/codeserver/arkanum
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
tags: next
|
||||||
|
build_args:
|
||||||
|
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
|
||||||
|
- TAG=${CI_COMMIT_TAG}
|
@ -1,105 +0,0 @@
|
|||||||
when:
|
|
||||||
- event: [pull_request, tag, cron]
|
|
||||||
- event: push
|
|
||||||
branch:
|
|
||||||
- ${CI_REPO_DEFAULT_BRANCH}
|
|
||||||
|
|
||||||
variables:
|
|
||||||
- &build_plugin 'woodpeckerci/plugin-docker-buildx:2.2.1'
|
|
||||||
# deployment targets
|
|
||||||
- &publish_repos 'ocram85/arkanum,gitea.ocram85.com/codeserver/arkanum,ghcr.io/ocram85/arkanum,codeberg.org/codeserver/arkanum'
|
|
||||||
# logins for deployment targets
|
|
||||||
- publish_logins: &publish_logins
|
|
||||||
# Default DockerHub login
|
|
||||||
- registry: https://index.docker.io/v1/
|
|
||||||
username:
|
|
||||||
from_secret: docker_user
|
|
||||||
password:
|
|
||||||
from_secret: docker_passwd
|
|
||||||
# Additional Quay.IO login
|
|
||||||
- registry: https://gitea.ocram85.com
|
|
||||||
username:
|
|
||||||
from_secret: gitea_user
|
|
||||||
password:
|
|
||||||
from_secret: gitea_passwd
|
|
||||||
# GitHub Container Registry
|
|
||||||
- registry: https://ghcr.io
|
|
||||||
username:
|
|
||||||
from_secret: github_user
|
|
||||||
password:
|
|
||||||
from_secret: github_passwd
|
|
||||||
# Codeberg
|
|
||||||
- registry: https://codeberg.org
|
|
||||||
username:
|
|
||||||
from_secret: codeberg_user
|
|
||||||
password:
|
|
||||||
from_secret: codeberg_passwd
|
|
||||||
|
|
||||||
|
|
||||||
steps:
|
|
||||||
test:
|
|
||||||
image: *build_plugin
|
|
||||||
settings:
|
|
||||||
dry_run: true
|
|
||||||
registry: gitea.ocram85.com
|
|
||||||
repo: test
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
platforms: linux/amd64
|
|
||||||
auto_tag: true
|
|
||||||
build_args:
|
|
||||||
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
|
|
||||||
- TAG=${CI_COMMIT_TAG}
|
|
||||||
when:
|
|
||||||
event: pull_request
|
|
||||||
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
||||||
|
|
||||||
publish:
|
|
||||||
image: *build_plugin
|
|
||||||
settings:
|
|
||||||
repo: *publish_repos
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
platforms: linux/amd64
|
|
||||||
auto_tag: true
|
|
||||||
logins: *publish_logins
|
|
||||||
build_args:
|
|
||||||
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
|
|
||||||
- TAG=${CI_COMMIT_TAG}
|
|
||||||
when:
|
|
||||||
event: [push, tag, cron]
|
|
||||||
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
||||||
|
|
||||||
build-next:
|
|
||||||
image: *build_plugin
|
|
||||||
settings:
|
|
||||||
repo: *publish_repos
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
platforms: linux/amd64
|
|
||||||
tag: next
|
|
||||||
logins: *publish_logins
|
|
||||||
build_args:
|
|
||||||
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
|
|
||||||
- TAG=${CI_COMMIT_TAG}
|
|
||||||
when:
|
|
||||||
event: [pull_request]
|
|
||||||
|
|
||||||
triggerPortainer:
|
|
||||||
image: ocram85/portainer-serviceupdate
|
|
||||||
settings:
|
|
||||||
VERBOSE: true
|
|
||||||
URI: "https://portainer.ocram85.com"
|
|
||||||
TOKEN:
|
|
||||||
from_secret: NEXT_TOKEN
|
|
||||||
when:
|
|
||||||
event: [pull_request]
|
|
||||||
|
|
||||||
gitea-release:
|
|
||||||
image: plugins/gitea-release
|
|
||||||
settings:
|
|
||||||
api_key:
|
|
||||||
from_secret: RENOVATE_TOKEN
|
|
||||||
base_url: https://gitea.ocram85.com
|
|
||||||
title: ${CI_COMMIT_TAG}
|
|
||||||
note: "> :bulb: **Note:** See [CHANGELOG.md](src/branch/master/CHANGELOG.md) for recent changes."
|
|
||||||
when:
|
|
||||||
event: [tag]
|
|
||||||
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
107
CHANGELOG.md
107
CHANGELOG.md
@ -1,99 +1,3 @@
|
|||||||
## [v1.5.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v1.5.0) - 2024-02-09
|
|
||||||
|
|
||||||
* 🛠️ ENHANCEMENTS
|
|
||||||
* Always install latest extension version (#85)
|
|
||||||
* 🤖 DEPENDENCIES
|
|
||||||
* Update quay.io/linuxserver.io/code-server Docker tag to v4.20.1 (#88)
|
|
||||||
* Update quay.io/linuxserver.io/code-server Docker tag to v4.20.0 (#86)
|
|
||||||
* ⚙️ META
|
|
||||||
* Add more gitignore items (#89)
|
|
||||||
|
|
||||||
## [v1.0.2](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v1.0.2) - 2023-12-18
|
|
||||||
|
|
||||||
* ✨ FEATURES
|
|
||||||
* Add bun installer (#81)
|
|
||||||
* 🛠️ ENHANCEMENTS
|
|
||||||
* Bump golang version (#80)
|
|
||||||
* Bump default extensions version (#76)
|
|
||||||
* 📦 BUILD
|
|
||||||
* Upd/woodpeckerPluging (#79)
|
|
||||||
* 🤖 DEPENDENCIES
|
|
||||||
* Update quay.io/linuxserver.io/code-server Docker tag to v4.19.1 (#77)
|
|
||||||
* 📚 DOCS
|
|
||||||
* Fix typo in arkanum cli help (#78)
|
|
||||||
* ⚙️ META
|
|
||||||
* Updatest gitea meta files (#75)
|
|
||||||
|
|
||||||
## [v1.0.1](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v1.0.1) - 2023-11-12
|
|
||||||
|
|
||||||
* 🐛 BUGFIXES
|
|
||||||
* Fix pwsh install package (#72)
|
|
||||||
* 📦 BUILD
|
|
||||||
* Avoid duplicate ci runs (#73)
|
|
||||||
* 🤖 DEPENDENCIES
|
|
||||||
* Update quay.io/linuxserver.io/code-server Docker tag to v4.18.0 (#70)
|
|
||||||
|
|
||||||
## [v1.0.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v1.0.0) - 2023-09-15
|
|
||||||
|
|
||||||
* 🐛 BUGFIXES
|
|
||||||
* Fix git config arguments (#68)
|
|
||||||
* Fix NodeJs install bug (#67)
|
|
||||||
* Fix pwsh install when called as first command (#60)
|
|
||||||
* Fix missing volta command (#58)
|
|
||||||
* 🛠️ ENHANCEMENTS
|
|
||||||
* Extends arkanum command and option structure (#62)
|
|
||||||
* 📦 BUILD
|
|
||||||
* Add addiontal container image deployment targets (#63)
|
|
||||||
* 🤖 DEPENDENCIES
|
|
||||||
* Update quay.io/linuxserver.io/code-server Docker tag to v4.16.1 (#59)
|
|
||||||
* Update quay.io/linuxserver.io/code-server Docker tag to v4.15.0 (#57)
|
|
||||||
|
|
||||||
## [v0.4.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.4.0) - 2023-07-19
|
|
||||||
|
|
||||||
* 🐛 BUGFIXES
|
|
||||||
* Fix shellcheck issues (#55)
|
|
||||||
* Disable starship python module (#52)
|
|
||||||
* ✨ FEATURES
|
|
||||||
* Add docker-cli (#54)
|
|
||||||
* Adds Volta as default version manager for NodeJs (#53)
|
|
||||||
* 🛠️ ENHANCEMENTS
|
|
||||||
* Bump go version (#49)
|
|
||||||
|
|
||||||
## [v0.3.1](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.3.1) - 2023-07-04
|
|
||||||
|
|
||||||
* 🤖 DEPENDENCIES
|
|
||||||
* Update quay.io/linuxserver.io/code-server Docker tag to v4.14.1 (#47)
|
|
||||||
|
|
||||||
## [v0.3.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.3.0) - 2023-03-30
|
|
||||||
|
|
||||||
* 🛠️ ENHANCEMENTS
|
|
||||||
* Add tea cli in gitea block (#41)
|
|
||||||
* 📦 BUILD
|
|
||||||
* Remove repo defined renovate (#44)
|
|
||||||
* 🤖 DEPENDENCIES
|
|
||||||
* Update quay.io/linuxserver.io/code-server Docker tag to v4.11.0 (#45)
|
|
||||||
* Update quay.io/linuxserver.io/code-server Docker tag to v4.10.0 (#43)
|
|
||||||
|
|
||||||
## [v0.2.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.2.0) - 2023-01-04
|
|
||||||
|
|
||||||
* 🐛 BUGFIXES
|
|
||||||
* fix typo (#39)
|
|
||||||
* 🛠️ ENHANCEMENTS
|
|
||||||
* Add proxy support (#38)
|
|
||||||
* 🤖 DEPENDENCIES
|
|
||||||
* Update renovate/renovate Docker tag to v34.82 (#37)
|
|
||||||
* Update quay.io/linuxserver.io/code-server Docker tag to v4.9.1 (#31)
|
|
||||||
|
|
||||||
## [v0.1.1](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.1.1) - 2023-01-02
|
|
||||||
|
|
||||||
* 📦 BUILD
|
|
||||||
* fix woodpecker fileMatch regex (#30)
|
|
||||||
* 🤖 DEPENDENCIES
|
|
||||||
* Update renovate/renovate Docker tag to v34.77 (#35)
|
|
||||||
* fix renovate config keys (#34)
|
|
||||||
* Update renovate/renovate Docker tag to v34.62 (#33)
|
|
||||||
* Update renovate/renovate Docker tag to v34.57 (#32)
|
|
||||||
|
|
||||||
## [v0.1.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.1.0) - 2022-11-25
|
## [v0.1.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.1.0) - 2022-11-25
|
||||||
|
|
||||||
* 📦 BUILD
|
* 📦 BUILD
|
||||||
@ -101,7 +5,6 @@
|
|||||||
* 📚 DOCS
|
* 📚 DOCS
|
||||||
* adds Readme content to prepare Github mirror (#26)
|
* adds Readme content to prepare Github mirror (#26)
|
||||||
|
|
||||||
|
|
||||||
## [v0.0.1](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.0.1) - 2022-11-22
|
## [v0.0.1](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.0.1) - 2022-11-22
|
||||||
|
|
||||||
* 🐛 BUGFIXES
|
* 🐛 BUGFIXES
|
||||||
@ -132,3 +35,13 @@
|
|||||||
* Add woodpecker manager in renovate-bot (#14)
|
* Add woodpecker manager in renovate-bot (#14)
|
||||||
* fixes logo file path (#8)
|
* fixes logo file path (#8)
|
||||||
* Adds basic container setup with pipeline (#1)
|
* Adds basic container setup with pipeline (#1)
|
||||||
|
|
||||||
|
## [v0.1.1](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.1.1) - 2023-01-02
|
||||||
|
|
||||||
|
* 📦 BUILD
|
||||||
|
* fix woodpecker fileMatch regex (#30)
|
||||||
|
* 🤖 DEPENDENCIES
|
||||||
|
* Update renovate/renovate Docker tag to v34.77 (#35)
|
||||||
|
* fix renovate config keys (#34)
|
||||||
|
* Update renovate/renovate Docker tag to v34.62 (#33)
|
||||||
|
* Update renovate/renovate Docker tag to v34.57 (#32)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
FROM quay.io/linuxserver.io/code-server:4.20.1
|
FROM quay.io/linuxserver.io/code-server:4.8.3
|
||||||
|
|
||||||
#LABEL build_version=""
|
#LABEL build_version=""
|
||||||
LABEL maintainer="OCram85"
|
LABEL maintainer="OCram85"
|
||||||
@ -40,7 +40,7 @@ RUN \
|
|||||||
chmod +x /etc/bash_completion.d/arkanum-completion && \
|
chmod +x /etc/bash_completion.d/arkanum-completion && \
|
||||||
echo 'source /etc/bash_completion.d/arkanum-completion' >> /etc/bash.bashrc && \
|
echo 'source /etc/bash_completion.d/arkanum-completion' >> /etc/bash.bashrc && \
|
||||||
touch "$HOME/enable_motd" && \
|
touch "$HOME/enable_motd" && \
|
||||||
echo "if [[ ! -e \"$HOME/data/User/settings.json\" ]]; then arkanum config install-extensions && arkanum config reset-codesettings && \
|
echo "if [[ ! -e \"$HOME/data/User/settings.json\" ]]; then arkanum --install-extensions && arkanum --reset-codesetting && \
|
||||||
echo -e \"🧙 \\e[32markanum\\e[0m: Please reload Arkanum to finalize the setup...\" && read foo; fi" >> /etc/bash.bashrc && \
|
echo -e \"🧙 \\e[32markanum\\e[0m: Please reload Arkanum to finalize the setup...\" && read foo; fi" >> /etc/bash.bashrc && \
|
||||||
echo "if [[ -e \"$HOME/enable_motd\" ]]; then echo -e \"Use 🧙 \\e[32m'arkanum'\\e[0m to install missing runtimes like dotnet or NodeJs.\"; fi" >> /etc/bash.bashrc
|
echo "if [[ -e \"$HOME/enable_motd\" ]]; then echo -e \"Use 🧙 \\e[32m'arkanum'\\e[0m to install missing runtimes like dotnet or NodeJs.\"; fi" >> /etc/bash.bashrc
|
||||||
|
|
||||||
|
87
README.md
87
README.md
@ -1,7 +1,12 @@
|
|||||||
|
<p align="right">
|
||||||
|
<img src="http://forthebadge.com/images/badges/built-with-love.svg">
|
||||||
|
<img src="http://forthebadge.com/images/badges/for-you.svg">
|
||||||
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://gitea.ocram85.com/CodeServer/arkanum/">
|
<a href="https://gitea.ocram85.com/CodeServer/arkanum/">
|
||||||
<img
|
<img
|
||||||
src="https://gitea.ocram85.com/CodeServer/arkanum/raw/branch/master/assets/social-logo.png"
|
src="assets/social-logo.png"
|
||||||
alt="Container"
|
alt="Container"
|
||||||
>
|
>
|
||||||
</a>
|
</a>
|
||||||
@ -29,18 +34,7 @@ You can download the image from the gitea embedded container registry: `gitea.oc
|
|||||||
|
|
||||||
- `latest` - Is based on the lasted master branch commit.
|
- `latest` - Is based on the lasted master branch commit.
|
||||||
- `next` - Is a test build based on the pull request
|
- `next` - Is a test build based on the pull request
|
||||||
- `1`, `0.1`, `0.1.0`, `1.0.0` - tag based version.
|
- `1`, `0.1`, `0.1.0` - tag based version. See [packages page](https://gitea.ocram85.com/CodeServer/-/packages/container/arkanum/latest) for available tags.
|
||||||
|
|
||||||
> **💡 NOTE: See the [packages page](https://gitea.ocram85.com/CodeServer/-/packages/container/arkanum/latest) for latest version and all other available tags.**
|
|
||||||
|
|
||||||
The container images are also published to these registries:
|
|
||||||
|
|
||||||
- [Docker Hub](https://hub.docker.com/r/ocram85/arkanum)
|
|
||||||
- Pull Endpoint: `ocram85/arkanum`
|
|
||||||
- [GitHub Container Registry](https://github.com/OCram85/arkanum/pkgs/container/arkanum)
|
|
||||||
- Pull Endpoint: `ghcr.io/ocram85/arkanum`
|
|
||||||
- [Codeberg Packages](https://codeberg.org/codeserver/-/packages/container/arkanum/next)
|
|
||||||
- Pull Endpoint: `codeberg.org/codeserver/arkanum`
|
|
||||||
|
|
||||||
### 2.a Run as Docker Swarm Stack
|
### 2.a Run as Docker Swarm Stack
|
||||||
|
|
||||||
@ -59,7 +53,7 @@ Therefore you need
|
|||||||
version: "3.8"
|
version: "3.8"
|
||||||
services:
|
services:
|
||||||
arkanum:
|
arkanum:
|
||||||
image: gitea.ocram85.com/codeserver/arkanum:1.0.0
|
image: gitea.ocram85.com/codeserver/arkanum:0.0.1
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
@ -81,11 +75,10 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
# store workspace and use config in volume.
|
# store workspace and use config in volume.
|
||||||
- codedata:/config
|
- codedata:/config
|
||||||
# mount docker socket to manage host docker
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
# no need to expose the port. traefik acts as reverse proxy and handles the https access.
|
# no need to expose the port. traefik acts as reverse proxy and handles the https access.
|
||||||
#ports:
|
#ports:
|
||||||
# - 8443:8443
|
# - 8443:8443
|
||||||
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- arkanum-sphere
|
- arkanum-sphere
|
||||||
- traefik-public
|
- traefik-public
|
||||||
@ -111,7 +104,7 @@ See their [docs](https://github.com/linuxserver/docker-code-server#parameters) a
|
|||||||
version: "3.8"
|
version: "3.8"
|
||||||
services:
|
services:
|
||||||
arkanum:
|
arkanum:
|
||||||
image: gitea.ocram85.com/codeserver/arkanum:1.0.0
|
image: gitea.ocram85.com/codeserver/arkanum:0.0.1
|
||||||
container_name: code-server
|
container_name: code-server
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
@ -135,7 +128,8 @@ services:
|
|||||||
After summon Arkanum your first steps should be to set your username and email in the git config:
|
After summon Arkanum your first steps should be to set your username and email in the git config:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
arkanum git setup "my-name" "my-email"
|
git config --global user.name "username"
|
||||||
|
git config --global user.email "email address"
|
||||||
```
|
```
|
||||||
|
|
||||||
And that's it. Now you're ready use arkanum as your daily remote code editor. 😄
|
And that's it. Now you're ready use arkanum as your daily remote code editor. 😄
|
||||||
@ -145,7 +139,7 @@ And that's it. Now you're ready use arkanum as your daily remote code editor.
|
|||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://gitea.ocram85.com/CodeServer/arkanum/">
|
<a href="https://gitea.ocram85.com/CodeServer/arkanum/">
|
||||||
<img
|
<img
|
||||||
src="https://gitea.ocram85.com/CodeServer/arkanum/raw/branch/master/assets/screen1.png"
|
src="assets/screen1.png"
|
||||||
alt="Screenshot1"
|
alt="Screenshot1"
|
||||||
>
|
>
|
||||||
</a>
|
</a>
|
||||||
@ -173,40 +167,24 @@ Added `arkanum` to help installing common runtimes in container.
|
|||||||
This helps reducing the image size.
|
This helps reducing the image size.
|
||||||
|
|
||||||
```
|
```
|
||||||
🧙 arkanum ✨🌌☄️💥 is used to install optional tools for developing in a
|
🧙 arkanum ✨🌌☄️💥 is used to install optional runtimes for developing in a
|
||||||
code-server container environment.
|
code-server container environment.
|
||||||
|
|
||||||
Syntax: arkanum <flags> COMMAND OPTION ARGUMENT
|
Syntax: arkanum RUNTIME ...
|
||||||
COMMAND
|
RUNTIME [dotnet|golang|nodejs|powershell]
|
||||||
config The config command is used to modify arkanum itself.
|
dotnet Installs latest LTS dotnet core sdk + runtime.
|
||||||
git The git command is a wrapper for git helpers.
|
gitea Installs gitea tools like the changelog generator.
|
||||||
install The install command is used to add different tools
|
golang Installs golang 1.19.3.
|
||||||
help Shows this help text.
|
nodejs Installs latest NodeJs LTS version.
|
||||||
|
powershell Installs latest PowerShell LTS version.
|
||||||
|
--disable-motd Disables hint in new bash terminal.
|
||||||
|
--install-extensions Installs predefined recommended extensions.
|
||||||
|
--reset-codesetting Sets VS Code user setting with basic (Fira Code).
|
||||||
|
-h Prints this help message.
|
||||||
|
|
||||||
OPTION
|
Example 1: arkanum dotnet
|
||||||
config:
|
Example 2: arkanum golang nodejs
|
||||||
disable-motd Disables hint in new bash terminal.
|
Example 3: arkanum --disable-motd
|
||||||
install extensions Installs predefined recommended extensions.
|
|
||||||
reset-codesettings Sets VS Code user setting with basic (Fira Code).
|
|
||||||
|
|
||||||
git:
|
|
||||||
setup Takes two arguments to setup the git client:
|
|
||||||
1) Username
|
|
||||||
2) Email address
|
|
||||||
|
|
||||||
install:
|
|
||||||
docker-cli Installs the latest docker-cli.
|
|
||||||
dotnet Installs latest LTS dotnet core sdk + runtime.
|
|
||||||
gitea Installs gitea tools like the changelog generator.
|
|
||||||
golang Installs golang 1.19.3.
|
|
||||||
bun Installs latest bun version.
|
|
||||||
nodejs Installs latest NodeJs LTS version using Volta.
|
|
||||||
volta Installs Volta as NodeJS version manager.
|
|
||||||
powershell Installs latest PowerShell LTS version.
|
|
||||||
|
|
||||||
Example 1: arkanum git setup "my-name" "my-email"
|
|
||||||
Example 2: arkanum install golang
|
|
||||||
Example 3: arkanum config disable-motd
|
|
||||||
```
|
```
|
||||||
### 📝 Fira Code (NerdFont patched)
|
### 📝 Fira Code (NerdFont patched)
|
||||||
|
|
||||||
@ -238,11 +216,6 @@ Additionally we install these extensions on container startup:
|
|||||||
|
|
||||||
## 💣 Known Issues
|
## 💣 Known Issues
|
||||||
|
|
||||||
### Starship.rs
|
|
||||||
|
|
||||||
Starship detects workspaces as active python projects. It always appends the prompt
|
|
||||||
fragment `via 🐍 (lsiopy)`. For now I disabled the python module in starship.
|
|
||||||
|
|
||||||
### 🐛 Default extensions installation timing error
|
### 🐛 Default extensions installation timing error
|
||||||
|
|
||||||
If the automatic installation of the default extension fails, you can always retry he installation with the
|
If the automatic installation of the default extension fails, you can always retry he installation with the
|
||||||
@ -250,9 +223,9 @@ following command:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# restart the installation
|
# restart the installation
|
||||||
arkanum config install-extensions
|
arkanum --install-extensions
|
||||||
# Optional: reset the vscode user setting
|
# Optional: reset the vscode user setting
|
||||||
arkanum config reset-codesettings
|
arkanum --reset-codesetting
|
||||||
# Reload with command F1 + Developer: Reload Window
|
# Reload with command F1 + Developer: Reload Window
|
||||||
```
|
```
|
||||||
## 😡 We're Using GitHub Under Protest
|
## 😡 We're Using GitHub Under Protest
|
||||||
|
254
arkanum
254
arkanum
@ -4,40 +4,24 @@ set -e
|
|||||||
|
|
||||||
function showHelp() {
|
function showHelp() {
|
||||||
cat << HELP
|
cat << HELP
|
||||||
🧙 arkanum ✨🌌☄️💥 is used to install optional tools for developing in a
|
🧙 arkanum ✨🌌☄️💥 is used to install optional runtimes for developing in a
|
||||||
code-server container environment.
|
code-server container environment.
|
||||||
|
|
||||||
Syntax: arkanum <flags> COMMAND OPTION ARGUMENT
|
Syntax: arkanum RUNTIME ...
|
||||||
COMMAND
|
RUNTIME [dotnet|golang|nodejs|powershell]
|
||||||
config The config command is used to modify arkanum itself.
|
dotnet Installs latest LTS dotnet core sdk + runtime.
|
||||||
git The git command is a wrapper for git helpers.
|
gitea Installs gitea tools like the changelog generator.
|
||||||
install The install command is used to add different tools
|
golang Installs golang 1.19.3.
|
||||||
help Shows this help text.
|
nodejs Installs latest NodeJs LTS version.
|
||||||
|
powershell Installs latest PowerShell LTS version.
|
||||||
|
--disable-motd Disables hint in new bash terminal.
|
||||||
|
--install-extensions Installs predefined recommended extensions.
|
||||||
|
--reset-codesetting Sets VS Code user setting with basic (Fira Code).
|
||||||
|
-h Prints this help message.
|
||||||
|
|
||||||
OPTION
|
Example 1: arkanum dotnet
|
||||||
config:
|
Example 2: arkanum golang nodejs
|
||||||
disable-motd Disables hint in new bash terminal.
|
Example 3: arkanum --disable-motd
|
||||||
install-extensions Installs predefined recommended extensions.
|
|
||||||
reset-codesettings Sets VS Code user setting with basic (Fira Code).
|
|
||||||
|
|
||||||
git:
|
|
||||||
setup Takes two arguments to setup the git client:
|
|
||||||
1) Username
|
|
||||||
2) Email address
|
|
||||||
|
|
||||||
install:
|
|
||||||
docker-cli Installs the latest docker-cli.
|
|
||||||
dotnet Installs latest LTS dotnet core sdk + runtime.
|
|
||||||
gitea Installs gitea tools like changelog and tea.
|
|
||||||
golang Installs golang 1.21.5.
|
|
||||||
bun Installs latest bun version.
|
|
||||||
nodejs Installs latest NodeJs LTS version using Volta.
|
|
||||||
volta Installs Volta as NodeJS version manager.
|
|
||||||
powershell Installs latest PowerShell LTS version.
|
|
||||||
|
|
||||||
Example 1: arkanum git setup "my-name" "my-email"
|
|
||||||
Example 2: arkanum install golang
|
|
||||||
Example 3: arkanum config disable-motd
|
|
||||||
HELP
|
HELP
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,8 +29,6 @@ function disableMotd() {
|
|||||||
if [[ -e "$HOME/enable_motd" ]]; then
|
if [[ -e "$HOME/enable_motd" ]]; then
|
||||||
say "Disabling 'arkanum' motd..." "disableMotd"
|
say "Disabling 'arkanum' motd..." "disableMotd"
|
||||||
rm -f "$HOME/enable_motd"
|
rm -f "$HOME/enable_motd"
|
||||||
else
|
|
||||||
sayW "Arkanum Motd already disabled" "disableMotd"
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,35 +48,6 @@ function sayE() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function sayW() {
|
|
||||||
if [[ -n "$2" ]]; then
|
|
||||||
echo -e "🧙 \e[33markanum\e[0m \e[34m[⚒️ $2]\e[0m: $1" 1>&2
|
|
||||||
else
|
|
||||||
echo -e "🧙 \e[33markanum\e[0m: $1" 1>&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function instDockerCLI() {
|
|
||||||
say "Installing docker-cli..." "docker-cli"
|
|
||||||
say "Getting requires packages..." "docker-cli"
|
|
||||||
sudo -E apt-get update > /dev/null
|
|
||||||
sudo -E apt-get install ca-certificates curl gnupg
|
|
||||||
say "Setting up docker repository..." "docker-cli"
|
|
||||||
sudo -E install -m 0755 -d /etc/apt/keyrings
|
|
||||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo -E gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
||||||
sudo -E chmod a+r /etc/apt/keyrings/docker.gpg
|
|
||||||
# shellcheck disable=SC2046,SC2027
|
|
||||||
echo \
|
|
||||||
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
|
||||||
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
|
|
||||||
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
||||||
say "Installing docker-ce-cli package" "docker-cli"
|
|
||||||
sudo -E apt-get update > /dev/null
|
|
||||||
sudo -E apt-get install --no-install-recommends -y \
|
|
||||||
docker-ce-cli
|
|
||||||
say "docker-cli done." "docker-cli"
|
|
||||||
}
|
|
||||||
|
|
||||||
function instDotNet() {
|
function instDotNet() {
|
||||||
say "Installing dotnet requirements..." "dotnet"
|
say "Installing dotnet requirements..." "dotnet"
|
||||||
sudo -E apt-get update > /dev/null
|
sudo -E apt-get update > /dev/null
|
||||||
@ -102,12 +55,11 @@ function instDotNet() {
|
|||||||
libicu70
|
libicu70
|
||||||
|
|
||||||
say "Downloading latest install script..." "dotnet"
|
say "Downloading latest install script..." "dotnet"
|
||||||
curl -#fSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh
|
curl -fsSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh
|
||||||
chmod +x /tmp/dotnet-install.sh
|
chmod +x /tmp/dotnet-install.sh
|
||||||
|
|
||||||
say "Installing latest .NET Core LTS release..." "dotnet"
|
say "Installing latest .NET Core LTS release..." "dotnet"
|
||||||
/tmp/dotnet-install.sh --channel LTS
|
/tmp/dotnet-install.sh --channel LTS
|
||||||
# shellcheck disable=SC2016
|
|
||||||
echo 'export PATH=$PATH:/config/.dotnet' | sudo tee -a /etc/bash.bashrc > /dev/null
|
echo 'export PATH=$PATH:/config/.dotnet' | sudo tee -a /etc/bash.bashrc > /dev/null
|
||||||
|
|
||||||
say "Cleaning up..." "dotnet"
|
say "Cleaning up..." "dotnet"
|
||||||
@ -121,17 +73,16 @@ function instDotNet() {
|
|||||||
|
|
||||||
function instGoLang() {
|
function instGoLang() {
|
||||||
if [[ -z "$1" ]]; then
|
if [[ -z "$1" ]]; then
|
||||||
GOVERSION="1.21.5"
|
GOVERSION="1.19.3"
|
||||||
else
|
else
|
||||||
GOVERSION="$1"
|
GOVERSION="$1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
say "Downloading golang ($GOVERSION)..." "GoLang"
|
say "Downloading golang ($GOVERSION)..." "GoLang"
|
||||||
curl -#fSL "https://go.dev/dl/go$GOVERSION.linux-amd64.tar.gz" -o /tmp/golang.tar.gz
|
curl -fsSL "https://go.dev/dl/go$GOVERSION.linux-amd64.tar.gz" -o /tmp/golang.tar.gz
|
||||||
say "Installing golang ($GOVERSION)...." "GoLang"
|
say "Installing golang ($GOVERSION)...." "GoLang"
|
||||||
sudo rm -rf /usr/local/go
|
sudo rm -rf /usr/local/go
|
||||||
sudo tar -C /usr/local -xzf /tmp/golang.tar.gz
|
sudo tar -C /usr/local -xzf /tmp/golang.tar.gz
|
||||||
# shellcheck disable=SC2016
|
|
||||||
echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee -a /etc/bash.bashrc > /dev/null
|
echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee -a /etc/bash.bashrc > /dev/null
|
||||||
say "Cleaning up..." "GoLang"
|
say "Cleaning up..." "GoLang"
|
||||||
rm -f /tmp/golang.tar.gz
|
rm -f /tmp/golang.tar.gz
|
||||||
@ -139,45 +90,32 @@ function instGoLang() {
|
|||||||
say "Please reload bash profile to finalize." "GoLang"
|
say "Please reload bash profile to finalize." "GoLang"
|
||||||
}
|
}
|
||||||
|
|
||||||
function instBun() {
|
|
||||||
say "Installing Bun requirements..." "Bun"
|
|
||||||
sudo -E apt-get update > /dev/null
|
|
||||||
sudo -E apt-get install --no-install-recommends -y \
|
|
||||||
unzip
|
|
||||||
sudo -E apt-get clean
|
|
||||||
say "Installing Bun binaries..." "Bun"
|
|
||||||
curl -#fSL https://bun.sh/install | bash
|
|
||||||
say "Adding bun binary to profile..." "Bun"
|
|
||||||
echo 'export BUN_INSTALL=$HOME/.bun' | sudo tee -a /etc/bash.bashrc > /dev/null
|
|
||||||
echo 'export PATH=$BUN_INSTALL/bin:$PATH' | sudo tee -a /etc/bash.bashrc > /dev/null
|
|
||||||
say "done." "Bun"
|
|
||||||
say "Please reload bash profile to finalize." "Bun"
|
|
||||||
}
|
|
||||||
|
|
||||||
function instNodeJs() {
|
function instNodeJs() {
|
||||||
say "Installing NodeJS LTS via Volta..." "NodeJS"
|
say "Adding nodesource package source (NodeJS LTS)..." "NodeJs"
|
||||||
volta install node@lts
|
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
|
||||||
say "done." "NodeJS"
|
say "Updating package lists and installing NodeJS LTS..." "NodeJs"
|
||||||
}
|
sudo -E apt-get install --no-install-recommends -y \
|
||||||
|
nodejs
|
||||||
|
|
||||||
function instVolta() {
|
say "Cleaning up..." "NodeJs"
|
||||||
say "Installing Volta as NodeJS version manager..." "Volta"
|
sudo -E apt-get clean
|
||||||
curl -#fSl https://get.volta.sh | bash
|
sudo rm -rf \
|
||||||
# shellcheck disable=SC1090
|
/tmp/* \
|
||||||
source ~/.profile
|
/var/lib/apt/lists/* \
|
||||||
say "done." "Volta"
|
/var/tmp/*
|
||||||
|
|
||||||
|
say "done." "NodeJs"
|
||||||
}
|
}
|
||||||
|
|
||||||
function instPwsh() {
|
function instPwsh() {
|
||||||
say "Installing PowerShell requirements..." "PowerShell"
|
say "Installing PowerShell requirements..." "PowerShell"
|
||||||
sudo -E apt-get update > /dev/null
|
|
||||||
sudo -E apt-get install --no-install-recommends -y \
|
sudo -E apt-get install --no-install-recommends -y \
|
||||||
apt-transport-https \
|
apt-transport-https \
|
||||||
software-properties-common
|
software-properties-common
|
||||||
|
|
||||||
say "Adding powershell package sources..." "PowerShell"
|
say "Adding powershell package sources..." "PowerShell"
|
||||||
# Download the Microsoft repository GPG keys
|
# Download the Microsoft repository GPG keys
|
||||||
curl -#fSL "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb" -o /tmp/packages-microsoft-prod.deb
|
curl -fsSL "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb" -o /tmp/packages-microsoft-prod.deb
|
||||||
# Register the Microsoft repository GPG keys
|
# Register the Microsoft repository GPG keys
|
||||||
sudo dpkg -i /tmp/packages-microsoft-prod.deb
|
sudo dpkg -i /tmp/packages-microsoft-prod.deb
|
||||||
# Update the list of packages after we added packages.microsoft.com
|
# Update the list of packages after we added packages.microsoft.com
|
||||||
@ -185,46 +123,47 @@ function instPwsh() {
|
|||||||
|
|
||||||
say "Installing PowerShell..." "PowerShell"
|
say "Installing PowerShell..." "PowerShell"
|
||||||
# Install PowerShell
|
# Install PowerShell
|
||||||
sudo -E apt-get install --no-install-recommends -y powershell-lts
|
sudo -E apt-get install --no-install-recommends -y powershell
|
||||||
|
|
||||||
say "done." "PowerShell"
|
say "done." "PowerShell"
|
||||||
}
|
}
|
||||||
|
|
||||||
function instGiteaTools() {
|
function instGiteaTools() {
|
||||||
TEA_VERSION="0.9.0"
|
|
||||||
CHANGELOG_VERSION="main"
|
|
||||||
say "Installing Gitea tools..." "Gitea"
|
say "Installing Gitea tools..." "Gitea"
|
||||||
|
sudo -E curl -fsSL https://dl.gitea.io/changelog-tool/main/changelog-main-linux-amd64 -o /usr/bin/changelog
|
||||||
say "Downloading 'changelog' ($CHANGELOG_VERSION)..." "Gitea"
|
|
||||||
sudo -E curl -#fSL "https://dl.gitea.io/changelog-tool/$CHANGELOG_VERSION/changelog-$CHANGELOG_VERSION-linux-amd64" -o /usr/bin/changelog
|
|
||||||
sudo chmod +x /usr/bin/changelog
|
sudo chmod +x /usr/bin/changelog
|
||||||
say "'changelog' command installed." "Gitea"
|
say "'changelog' command installed." "Gitea"
|
||||||
|
|
||||||
say "Downloading 'tea' ($TEA_VERSION)..." "Gitea"
|
|
||||||
sudo -E curl -#fSL https://dl.gitea.io/tea/$TEA_VERSION/tea-$TEA_VERSION-linux-amd64 -o /usr/bin/tea
|
|
||||||
sudo chmod +x /usr/bin/tea
|
|
||||||
say "'tea' command installed." "Gitea"
|
|
||||||
|
|
||||||
say "done." "Gitea"
|
say "done." "Gitea"
|
||||||
}
|
}
|
||||||
|
|
||||||
function instCodeExtension() {
|
function instCodeExtension() {
|
||||||
say "Installing default extensions...." "Extension"
|
say "Downloading required extensions...." "Extension"
|
||||||
# Gitlens
|
# Gitlens
|
||||||
|
say "Downloading 'gitlens'..." "Extension"
|
||||||
|
curl -fsSL https://open-vsx.org/api/eamodio/gitlens/13.1.1/file/eamodio.gitlens-13.1.1.vsix -o /tmp/eamodio.gitlens-13.1.1.vsix
|
||||||
say "Installing 'gitlens'..." "Extension"
|
say "Installing 'gitlens'..." "Extension"
|
||||||
install-extension eamodio.gitlens --force
|
install-extension /tmp/eamodio.gitlens-13.1.1.vsix
|
||||||
|
say "Cleaning up 'gitlens' install files" "Extension"
|
||||||
|
rm -f /tmp/eamodio.gitlens-13.1.1.vsix
|
||||||
|
|
||||||
# OneDarkPro
|
# OneDarkPro
|
||||||
|
say "Downloading 'One Dark Pro' theme..." "V"
|
||||||
|
curl -fsSL https://open-vsx.org/api/zhuangtongfa/material-theme/3.15.6/file/zhuangtongfa.material-theme-3.15.6.vsix -o /tmp/zhuangtongfa.material-theme-3.15.6.vsix
|
||||||
say "Installing 'One Dark Pro' theme..." "Extension"
|
say "Installing 'One Dark Pro' theme..." "Extension"
|
||||||
install-extension zhuangtongfa.material-theme --force
|
install-extension /tmp/zhuangtongfa.material-theme-3.15.6.vsix
|
||||||
|
say "Cleaning up 'One Dark Pro' install files" "Extension"
|
||||||
|
rm -f /tmp/zhuangtongfa.material-theme-3.15.6.vsix
|
||||||
|
|
||||||
# vscode-icons
|
# vscode-icons
|
||||||
|
say "Downloading 'vscode-icons' theme..." "Extension"
|
||||||
|
curl -fsSL https://open-vsx.org/api/vscode-icons-team/vscode-icons/12.0.1/file/vscode-icons-team.vscode-icons-12.0.1.vsix -o /tmp/vscode-icons-team.vscode-icons-12.0.1.vsix
|
||||||
say "Installing 'vscode-icons' theme..." "Extension"
|
say "Installing 'vscode-icons' theme..." "Extension"
|
||||||
install-extension vscode-icons-team.vscode-icons --force
|
install-extension /tmp/vscode-icons-team.vscode-icons-12.0.1.vsix
|
||||||
|
say "Cleaning up 'vscode-icons' install files" "Extension"
|
||||||
|
rm -f /tmp/vscode-icons-team.vscode-icons-12.0.1.vsix
|
||||||
|
|
||||||
say "done." "Extension"
|
say "done." "Extension"
|
||||||
}
|
}
|
||||||
|
|
||||||
function setCodeSettings() {
|
function setCodeSettings() {
|
||||||
CODEFILE="$HOME/data/User/settings.json"
|
CODEFILE="$HOME/data/User/settings.json"
|
||||||
|
|
||||||
@ -247,92 +186,41 @@ EOF
|
|||||||
say "done." "VSCode"
|
say "done." "VSCode"
|
||||||
}
|
}
|
||||||
|
|
||||||
function setGitConfig() {
|
|
||||||
#echo "function arg counter is; $#"
|
|
||||||
#echo "function args:$@"
|
|
||||||
|
|
||||||
if [[ "$#" != "4" ]]; then
|
|
||||||
sayE "Invalid arguments given. Please provide '<user>' and '<email>'!" "Git"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [[ -z "$3" ]]; then
|
|
||||||
sayE "Invalid or empty username given!" "Git"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [[ -z "$4" ]]; then
|
|
||||||
sayE "Invalid or empty email given!" "Git"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
say "Setting global git config..." "Git"
|
|
||||||
git config --global user.name "$3"
|
|
||||||
git config --global user.email "$4"
|
|
||||||
say "Returning global config:" "Git"
|
|
||||||
git config --list --global
|
|
||||||
}
|
|
||||||
|
|
||||||
function main() {
|
function main() {
|
||||||
if [[ "$#" == "0" ]]; then
|
if [[ "$#" == "0" ]]; then
|
||||||
showHelp
|
showHelp
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Command filter
|
for i in $@; do
|
||||||
if [[ "$1" =~ ^help|-h|--h$ ]]; then
|
if [[ "$1" == "-h" ]]; then
|
||||||
showHelp
|
showHelp
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
elif [[ "$i" == "dotnet" ]]; then
|
||||||
|
instDotNet
|
||||||
# CONFIG command
|
elif [[ "$i" == "golang" ]]; then
|
||||||
if [[ "$1" == "config" ]]; then
|
instGoLang
|
||||||
# disable-motd option
|
elif [[ "$i" == "nodejs" ]]; then
|
||||||
if [[ "$2" == "disable-motd" ]]; then
|
instNodeJs
|
||||||
|
elif [[ "$i" == "powershell" ]]; then
|
||||||
|
instPwsh
|
||||||
|
elif [[ "$i" == "gitea" ]]; then
|
||||||
|
instGiteaTools
|
||||||
|
elif [[ "$i" == "--disable-motd" ]]; then
|
||||||
disableMotd
|
disableMotd
|
||||||
exit 0
|
exit 0
|
||||||
# install-extensions option
|
elif [[ "$i" == "--install-extensions" ]]; then
|
||||||
elif [[ "$2" == "install-extensions" ]]; then
|
|
||||||
instCodeExtension
|
instCodeExtension
|
||||||
exit 0
|
exit 0
|
||||||
# reset-codesetting option
|
elif [[ "$i" == "--reset-codesetting" ]]; then
|
||||||
elif [[ "$2" == "reset-codesettings" ]]; then
|
|
||||||
setCodeSettings
|
setCodeSettings
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
sayE "Unknown option ($2) given for command 'config'!"
|
sayE "Unknown parameter value given!($i)."
|
||||||
fi
|
|
||||||
# GIT command
|
|
||||||
elif [[ "$1" == "git" ]]; then
|
|
||||||
# setup option
|
|
||||||
if [[ "$2" == "setup" ]]; then
|
|
||||||
setGitConfig "$@"
|
|
||||||
else
|
|
||||||
sayE "Unknown option ($2) given for command 'git'!"
|
|
||||||
fi
|
|
||||||
# INSTALL command
|
|
||||||
elif [[ "$1" == "install" ]]; then
|
|
||||||
# docker-cli option
|
|
||||||
if [[ "$2" == "docker-cli" ]]; then
|
|
||||||
instDockerCLI
|
|
||||||
elif [[ "$2" == "dotnet" ]]; then
|
|
||||||
instDotNet
|
|
||||||
elif [[ "$2" == "golang" ]]; then
|
|
||||||
instGoLang "$3"
|
|
||||||
elif [[ "$2" == "bun" ]]; then
|
|
||||||
instBun
|
|
||||||
elif [[ "$2" == "nodejs" ]]; then
|
|
||||||
instVolta
|
|
||||||
instNodeJs
|
|
||||||
elif [[ "$2" == "volta" ]]; then
|
|
||||||
instVolta
|
|
||||||
elif [[ "$2" == "powershell" ]]; then
|
|
||||||
instPwsh
|
|
||||||
elif [[ "$2" == "gitea" ]]; then
|
|
||||||
instGiteaTools
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
sayE "Unknown parameter value given!($1)."
|
|
||||||
showHelp
|
showHelp
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
main "$@"
|
main $@
|
||||||
|
@ -1,39 +1,3 @@
|
|||||||
#!/bin/env bash
|
#!/bin/bash
|
||||||
|
|
||||||
#complete -W "--disable-motd --install-extensions --reset-codesetting docker-cli dotnet gitea golang nodejs volta powershell -h" arkanum
|
complete -W "--disable-motd --install-extensions --reset-codesetting dotnet gitea golang nodejs powershell -h" arkanum
|
||||||
|
|
||||||
function _command_completions() {
|
|
||||||
local cur prev
|
|
||||||
cur=${COMP_WORDS[COMP_CWORD]}
|
|
||||||
prev=${COMP_WORDS[COMP_CWORD-1]}
|
|
||||||
|
|
||||||
case ${COMP_CWORD} in
|
|
||||||
1)
|
|
||||||
# shellcheck disable=2207,SC2086
|
|
||||||
COMPREPLY=($(compgen -W "config git install help" -- ${cur}))
|
|
||||||
;;
|
|
||||||
2)
|
|
||||||
case ${prev} in
|
|
||||||
config)
|
|
||||||
# shellcheck disable=2207,SC2086
|
|
||||||
COMPREPLY=($(compgen -W "disable-motd install-extensions reset-codesettings" -- ${cur}))
|
|
||||||
;;
|
|
||||||
git)
|
|
||||||
# shellcheck disable=2207,SC2086
|
|
||||||
COMPREPLY=($(compgen -W "setup" -- ${cur}))
|
|
||||||
;;
|
|
||||||
install)
|
|
||||||
# shellcheck disable=2207,SC2086
|
|
||||||
COMPREPLY=($(compgen -W "docker-cli dotnet golang bun nodejs volta powershell gitea" -- ${cur}))
|
|
||||||
;;
|
|
||||||
help)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
COMPREPLY=()
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
complete -F _command_completions arkanum
|
|
||||||
|
@ -59,9 +59,6 @@ symbol = " "
|
|||||||
[package]
|
[package]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
[python]
|
|
||||||
disabled = true
|
|
||||||
|
|
||||||
[rust]
|
[rust]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user