Compare commits
4 Commits
addMastodo
...
13d6edff33
Author | SHA1 | Date | |
---|---|---|---|
13d6edff33 | |||
bd63a0acbb | |||
2b6ab88c1d | |||
ebd125470a |
@ -1,38 +0,0 @@
|
||||
# The full repository name
|
||||
repo: OCram85/Blog
|
||||
|
||||
# Service type (gitea or github)
|
||||
service: gitea
|
||||
|
||||
# Base URL for Gitea instance if using gitea service type (optional)
|
||||
# Default: https://gitea.com
|
||||
base-url: https://gitea.ocram85.com
|
||||
|
||||
# Changelog groups and which labeled PRs to add to each group
|
||||
groups:
|
||||
- name: 🐛 BUGFIXES
|
||||
labels:
|
||||
- bug
|
||||
- name: ✨ FEATURES
|
||||
labels:
|
||||
- feature
|
||||
- name: 🛠️ ENHANCEMENTS
|
||||
labels:
|
||||
- enhancement
|
||||
- name: 📦 BUILD
|
||||
labels:
|
||||
- pipeline
|
||||
- name: 🤖 DEPENDENCIES
|
||||
labels:
|
||||
- renovate
|
||||
- name: 📚 DOCS
|
||||
labels:
|
||||
- docs
|
||||
- name: ⚙️ META
|
||||
labels:
|
||||
- meta
|
||||
- name: 🔖 MISC
|
||||
default: true
|
||||
|
||||
# regex indicating which labels to skip for the changelog
|
||||
skip-labels: skip-changelog|backport\/.+
|
@ -1,10 +0,0 @@
|
||||
---
|
||||
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,48 +0,0 @@
|
||||
---
|
||||
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,16 +0,0 @@
|
||||
---
|
||||
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,19 +0,0 @@
|
||||
#### :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
|
||||
- [ ] 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. -->
|
22
.vscode/cSpell.json
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
// cSpell Settings
|
||||
{
|
||||
// Version of the setting file. Always 0.1
|
||||
"version": "0.1",
|
||||
// language - current active spelling language
|
||||
"language": "en,de,de-DE",
|
||||
// words - list of words to be always considered correct
|
||||
"words": [],
|
||||
// flagWords - list of words to be always considered incorrect
|
||||
// This is useful for offensive words and common spelling errors.
|
||||
// For example "hte" should be "the"
|
||||
"flagWords": [],
|
||||
"dictionaryDefinitions": [
|
||||
{
|
||||
"name": "default",
|
||||
"path": "./dictionaries/default.txt"
|
||||
}
|
||||
],
|
||||
"dictionaries": [
|
||||
"default"
|
||||
]
|
||||
}
|
5
.vscode/dictionaries/default.txt
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
CAFS
|
||||
gitea
|
||||
gitlocal
|
||||
hashtable
|
||||
umami
|
37
.vscode/dictionaries/project-words.txt
vendored
@ -1,37 +0,0 @@
|
||||
Alertmanager
|
||||
CAFS
|
||||
CMDB
|
||||
datacenter
|
||||
Eaa
|
||||
Enteo
|
||||
ESX
|
||||
FLOWSTER
|
||||
gitea
|
||||
gitlocal
|
||||
hashtable
|
||||
IIS
|
||||
ITIL
|
||||
Keepalive
|
||||
KIVBF
|
||||
Kuma
|
||||
lastmod
|
||||
matomo
|
||||
Netinstall
|
||||
OSS
|
||||
Paa
|
||||
Phabricator
|
||||
Pinia
|
||||
SCM
|
||||
SLES
|
||||
Sonatype
|
||||
tailwindcss
|
||||
traefik
|
||||
Traefik
|
||||
Trivy
|
||||
TSM
|
||||
UCS
|
||||
umami
|
||||
VCS
|
||||
Veyor
|
||||
Xen
|
||||
Zabbix
|
9
.vscode/extensions.json
vendored
@ -1,10 +1,11 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"editorconfig.editorconfig",
|
||||
"eamodio.gitlens",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"streetsidesoftware.code-spell-checker-german",
|
||||
"bierner.emojisense",
|
||||
"ryanluker.vscode-coverage-gutters"
|
||||
"editorconfig.editorconfig",
|
||||
"eamodio.gitlens",
|
||||
"vscode-icons-team.vscode-icons",
|
||||
"redhat.vscode-yaml",
|
||||
"bierner.markdown-emoji",
|
||||
]
|
||||
}
|
||||
|
31
.vscode/settings.json
vendored
@ -9,21 +9,7 @@
|
||||
"editor.rulers": [
|
||||
116
|
||||
],
|
||||
// cSpell settings for custom dictionary
|
||||
"cSpell.enabled": true,
|
||||
"cSpell.caseSensitive": false,
|
||||
"cSpell.maxNumberOfProblems": 100,
|
||||
"cSpell.numSuggestions": 8,
|
||||
"cSpell.minWordLength": 3,
|
||||
"cSpell.allowCompoundWords": false,
|
||||
"cSpell.ignorePaths": [
|
||||
"package-lock.json",
|
||||
"node_modules",
|
||||
"vscode-extension",
|
||||
".git/objects",
|
||||
".vscode",
|
||||
".vscode-insiders"
|
||||
],
|
||||
"cSpell.enabledLanguageIds": [
|
||||
"c",
|
||||
"cpp",
|
||||
@ -44,14 +30,15 @@
|
||||
"yaml",
|
||||
"yml"
|
||||
],
|
||||
"cSpell.language": "en-US,de-DE",
|
||||
"cSpell.customDictionaries": {
|
||||
"project-words": {
|
||||
"name": "project-words",
|
||||
"path": "${workspaceRoot}/.vscode/dictionaries/project-words.txt",
|
||||
"description": "Words used in this project",
|
||||
"addWords": true
|
||||
"cSpell.language": "en,de,de-DE",
|
||||
"[yaml]": {
|
||||
"editor.insertSpaces": true,
|
||||
"editor.tabSize": 2,
|
||||
"editor.quickSuggestions": {
|
||||
"other": true,
|
||||
"comments": false,
|
||||
"strings": true
|
||||
},
|
||||
"custom": true
|
||||
"editor.autoIndent": "full"
|
||||
}
|
||||
}
|
||||
|
117
.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,117 @@
|
||||
// A task runner that invokes Pester to run all Pester tests under the
|
||||
// current workspace folder.
|
||||
// NOTE: This Test task runner requires an updated version of Pester (>=4.0.3)
|
||||
// in order for the problemMatcher to find failed test information (message, line, file).
|
||||
// If you don't have that version, you can update Pester from the PowerShell Gallery
|
||||
// with this command:
|
||||
//
|
||||
// PS C:\> Update-Module Pester
|
||||
//
|
||||
// If that gives an error like:
|
||||
// "Module 'Pester' was not installed by using Install-Module, so it cannot be updated."
|
||||
// then execute:
|
||||
//
|
||||
// PS C:\> Install-Module Pester -Scope CurrentUser -Force
|
||||
//
|
||||
// NOTE: The Clean, Build and Publish tasks require PSake. PSake can be installed
|
||||
// from the PowerShell Gallery with this command:
|
||||
//
|
||||
// PS C:\> Install-Module PSake -Scope CurrentUser -Force
|
||||
//
|
||||
// Available variables which can be used inside of strings:
|
||||
// ${workspaceFolder} the path of the workspace folder that contains the tasks.json file
|
||||
// ${workspaceFolderBasename} the name of the workspace folder that contains the tasks.json file without any slashes (/)
|
||||
// ${file} the current opened file
|
||||
// ${relativeFile} the current opened file relative to the workspace folder containing the file
|
||||
// ${fileBasename} the current opened file's basename
|
||||
// ${fileBasenameNoExtension} the current opened file's basename without the extension
|
||||
// ${fileDirname} the current opened file's dirname
|
||||
// ${fileExtname} the current opened file's extension
|
||||
// ${cwd} the task runner's current working directory on startup
|
||||
// ${lineNumber} the current selected line number in the active file
|
||||
{
|
||||
"version": "2.0.0",
|
||||
//"windows": {
|
||||
// "options": {
|
||||
// "shell": {
|
||||
// // switch back to windows powershell 5.1
|
||||
// // "executable": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
|
||||
// "executable": "pwsh.exe",
|
||||
// "args": [
|
||||
// "-NoProfile",
|
||||
// "-ExecutionPolicy",
|
||||
// "Bypass",
|
||||
// "-Command"
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
//},
|
||||
//"linux": {
|
||||
// "options": {
|
||||
// "shell": {
|
||||
// "executable": "/usr/bin/pwsh",
|
||||
// "args": [
|
||||
// "-NoProfile",
|
||||
// "-Command"
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
//},
|
||||
//"osx": {
|
||||
// "options": {
|
||||
// "shell": {
|
||||
// "executable": "/usr/local/bin/pwsh",
|
||||
// "args": [
|
||||
// "-NoProfile",
|
||||
// "-Command"
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
//},
|
||||
"tasks": [
|
||||
{
|
||||
"label": "Add dictionary item",
|
||||
"type": "shell",
|
||||
"command": [
|
||||
"$DefaultFile = Get-ChildItem -Path './.vscode/dictionaries/default.txt';",
|
||||
"$Content = Get-Content -Path $DefaultFile;",
|
||||
"$Content += '${input:DictionaryItem}';",
|
||||
"$Content = $Content | Sort-Object -Unique;",
|
||||
"Set-Content -Value $Content -Path $DefaultFile"
|
||||
],
|
||||
"group": "none",
|
||||
"problemMatcher": [
|
||||
"$pester"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Run dev Server",
|
||||
"type": "shell",
|
||||
"command": [
|
||||
"hugo server --buildDrafts"
|
||||
],
|
||||
"group": {
|
||||
"kind": "test",
|
||||
"isDefault": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Build Site",
|
||||
"type": "shell",
|
||||
"command": [
|
||||
"hugo"
|
||||
],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"id": "DictionaryItem",
|
||||
"type": "promptString",
|
||||
"description": "Input for dictionary file default.txt"
|
||||
}
|
||||
]
|
||||
}
|
@ -38,7 +38,7 @@ pipeline:
|
||||
branch: master
|
||||
|
||||
trivyMaster:
|
||||
image: aquasec/trivy:0.36.1
|
||||
image: aquasec/trivy:0.24.3
|
||||
commands:
|
||||
- |
|
||||
trivy image \
|
||||
@ -47,6 +47,7 @@ pipeline:
|
||||
ocram85/blog:latest
|
||||
- |
|
||||
trivy image \
|
||||
--exit-code 1 \
|
||||
--severity HIGH,CRITICAL \
|
||||
--no-progress \
|
||||
ocram85/blog:latest
|
@ -3,11 +3,15 @@ depends_on:
|
||||
|
||||
pipeline:
|
||||
buildNext:
|
||||
image: woodpeckerci/plugin-docker-buildx
|
||||
image: plugins/docker
|
||||
settings:
|
||||
#dry_run: true
|
||||
repo: ocram85/blog
|
||||
dockerfile: Dockerfile
|
||||
tags: next
|
||||
build_args:
|
||||
- NODE_BASE=lts-buster-slim
|
||||
- NGINX_BASE=1.23.1-alpine
|
||||
username:
|
||||
from_secret: hub_user
|
||||
password:
|
||||
@ -16,12 +20,16 @@ pipeline:
|
||||
event: pull_request
|
||||
|
||||
buildNextGitea:
|
||||
image: woodpeckerci/plugin-docker-buildx
|
||||
image: plugins/docker
|
||||
settings:
|
||||
#dry_run: true
|
||||
registry: gitea.ocram85.com
|
||||
repo: gitea.ocram85.com/ocram85/blog
|
||||
dockerfile: Dockerfile
|
||||
tags: next
|
||||
build_args:
|
||||
- NODE_BASE=lts-buster-slim
|
||||
- NGINX_BASE=1.23.1-alpine
|
||||
username:
|
||||
from_secret: gitea_user
|
||||
password:
|
||||
@ -30,7 +38,7 @@ pipeline:
|
||||
event: pull_request
|
||||
|
||||
trivyNext:
|
||||
image: aquasec/trivy:0.36.1
|
||||
image: aquasec/trivy:0.24.3
|
||||
commands:
|
||||
- |
|
||||
trivy image \
|
||||
@ -39,6 +47,7 @@ pipeline:
|
||||
ocram85/blog:next
|
||||
- |
|
||||
trivy image \
|
||||
--exit-code 1 \
|
||||
--severity HIGH,CRITICAL \
|
||||
--no-progress \
|
||||
ocram85/blog:next
|
@ -1,22 +0,0 @@
|
||||
pipeline:
|
||||
DockerBaseImage:
|
||||
image: renovate/renovate:34.108-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
|
@ -1,4 +1,8 @@
|
||||
FROM node:lts-buster-slim as builder
|
||||
# Build ARGS for base image versions
|
||||
ARG NODE_BASE=lts-buster-slim
|
||||
ARG NGINX_BASE=1.21.6-alpine
|
||||
|
||||
FROM node:${NODE_BASE} as builder
|
||||
COPY . /src
|
||||
#RUN ls -la
|
||||
WORKDIR /src
|
||||
@ -6,7 +10,7 @@ WORKDIR /src
|
||||
RUN npm install \
|
||||
&& npm run build
|
||||
|
||||
FROM nginx:1.23.3-alpine as prod
|
||||
FROM nginx:${NGINX_BASE} as prod
|
||||
LABEL maintainer="marco.blessing@googlemail.com"
|
||||
HEALTHCHECK --interval=15s --timeout=5s \
|
||||
CMD wget --no-verbose --tries=1 --spider http://localhost:80/ || exit 1
|
||||
|
@ -6,7 +6,7 @@ weight = 1
|
||||
rtl = false
|
||||
|
||||
title = "OCram85.com"
|
||||
#logo = "img/logo_square.png"
|
||||
logo = "img/logo_square.png"
|
||||
description = "A personal blog about PowerShell, Automation and more."
|
||||
# copyright = "Copy, _right?_ :thinking_face:"
|
||||
|
||||
@ -38,7 +38,7 @@ dateFormat = "2 January 2006"
|
||||
# { kickstarter = "https://www.kickstarter.com/profile/username" },
|
||||
# { lastfm = "https://lastfm.com/user/username" },
|
||||
{ linkedin = "https://linkedin.com/in/marco-blessing-884642109" },
|
||||
{ mastodon = "https://social.anoxinon.de/@OCram85" },
|
||||
# { mastodon = "https://mastodon.instance/@username" },
|
||||
# { medium = "https://medium.com/username" },
|
||||
# { microsoft = "https://www.microsoft.com/" },
|
||||
# { patreon = "https://www.patreon.com/username" },
|
||||
|
@ -30,10 +30,10 @@
|
||||
pageRef = "aboutme"
|
||||
weight = 40
|
||||
|
||||
#[[main]]
|
||||
# name = "Code"
|
||||
# url = "https://gitea.ocram85.com"
|
||||
# weight = 50
|
||||
[[main]]
|
||||
name = "Code"
|
||||
url = "https://gitea.ocram85.com"
|
||||
weight = 50
|
||||
|
||||
|
||||
# -- Footer Menu --
|
||||
@ -55,13 +55,8 @@
|
||||
url = "https://umami.ocram85.com/share/KAk7LmbU/Blog"
|
||||
weight = 30
|
||||
|
||||
[[footer]]
|
||||
name = "Code"
|
||||
url = "https://gitea.ocram85.com"
|
||||
weight = 40
|
||||
|
||||
[[footer]]
|
||||
name = "CI"
|
||||
url = "https://ci.ocram85.com"
|
||||
weight = 50
|
||||
weight = 40
|
||||
|
||||
|
@ -8,23 +8,14 @@
|
||||
colorScheme = "avocado"
|
||||
defaultAppearance = "dark" # valid options: light or dark
|
||||
autoSwitchAppearance = false
|
||||
showAppearanceSwitcher = false
|
||||
|
||||
enableSearch = true
|
||||
enableCodeCopy = true
|
||||
|
||||
# mainSections = ["section1", "section2"]
|
||||
# robots = ""
|
||||
|
||||
[header]
|
||||
layout = "hamburger" # valid options: basic, hamburger, hybrid, custom
|
||||
logo = "img/logo_square.png"
|
||||
showTitle = false
|
||||
|
||||
[footer]
|
||||
showCopyright = true
|
||||
showThemeAttribution = true
|
||||
showAppearanceSwitcher = false
|
||||
showScrollToTop = true
|
||||
showScrollToTop = true
|
||||
|
||||
[homepage]
|
||||
layout = "profile" # valid options: page, profile, custom
|
||||
@ -37,7 +28,7 @@ enableCodeCopy = true
|
||||
showBreadcrumbs = false
|
||||
showDraftLabel = true
|
||||
showEdit = true
|
||||
editURL = "https://gitea.ocram85.com/OCram85/Blog/_edit/psCredUpdate/content/"
|
||||
editURL = "https://github.com/OCram85/Blog/edit/master/content/"
|
||||
editAppendPath = true
|
||||
showHeadingAnchors = true
|
||||
showPagination = true
|
||||
@ -46,16 +37,13 @@ enableCodeCopy = true
|
||||
showTableOfContents = true
|
||||
showTaxonomies = true
|
||||
showWordCount = true
|
||||
showComments = false
|
||||
sharingLinks = ["facebook", "twitter", "pinterest", "reddit", "linkedin", "email"]
|
||||
|
||||
[list]
|
||||
showBreadcrumbs = false
|
||||
showSummary = false
|
||||
showTableOfContents = false
|
||||
showTaxonomies = false
|
||||
groupByYear = true
|
||||
paginationWidth = 1
|
||||
|
||||
[sitemap]
|
||||
excludedKinds = ["taxonomy", "term"]
|
||||
|
@ -3,7 +3,7 @@ title: 'About Me'
|
||||
date: 2017-12-01T10:00:48+01:00
|
||||
draft: false
|
||||
|
||||
lastmod: 2023-01-02T06:00:00+01:00
|
||||
lastmod: 2021-12-23T10:00:48+01:00
|
||||
showDateUpdated: true
|
||||
|
||||
# custom overrides for pages
|
||||
@ -22,40 +22,40 @@ showTableOfContents: false
|
||||
{{< icon "address-card" >}} Hi, my name is Marco Blessing and I live in the south of Germany near a city called
|
||||
[Karlsruhe](https://goo.gl/maps/kDpo6bb9V2r).
|
||||
|
||||
## {{< icon "terminal" >}} Projects
|
||||
### {{< icon "terminal" >}} Projects
|
||||
|
||||
Take a look at my self hosted [Gitea](https://gitea.ocram85.com/explore/repos) instance to get an overview of my current work.
|
||||
Take a look at this [Projects](/) page to get an overview of my current work.
|
||||
|
||||
## {{< icon "heart" >}} Favorite Topics
|
||||
### {{< icon "heart" >}} Favorite Topics
|
||||
|
||||
I'm very interested in **PowerShell**, **NodeJS**, **Go** and **Software Engineering** in general.
|
||||
|
||||
Additionally I love building **CI/CD Stacks** with different open-source products to spread the word
|
||||
of **DevOps** and **Containerization**.
|
||||
|
||||
## {{< icon "cubes" >}} Skills
|
||||
### {{< icon "cubes" >}} Skills
|
||||
|
||||
_Here comes a list of subjects I've worked with, grouped by topics..._
|
||||
|
||||
### {{< icon "cube" >}} Container and {{< icon "docker" >}}Docker related
|
||||
#### {{< icon "cube" >}} Container and {{< icon "docker" >}}Docker related
|
||||
|
||||
Traefik • Portainer • Docker Swarm Mode • Sonatype Nexus Repository • Aqua Security Trivy •
|
||||
Traefik • Portainer • Docker Swarm Mode • Sonatype Nexus Repository • Aquasecurity Trivy •
|
||||
Prometheus • Node-Exporter • cAdvisor • Alertmanager • Karma
|
||||
|
||||
### {{< icon "code" >}} Scripting and Programming Languages
|
||||
#### {{< icon "code" >}} Scripting and Programming Languages
|
||||
|
||||
PowerShell • JavaScript • Go • Python • PHP • Object Pascal • C++ • Visual Basic
|
||||
|
||||
### {{< icon "terminal" >}} Operating Systems
|
||||
#### {{< icon "terminal" >}} Operating Systems
|
||||
|
||||
Microsoft Windows 98SE++ • Microsoft Windows Server 2000++ •
|
||||
CentOS _(and other Red Hat Enterprise Linux derivatives)_ • SLES • ubuntu
|
||||
|
||||
### {{< icon "cloud" >}} Cloud Orchestration and Automation
|
||||
#### {{< icon "cloud" >}} Cloud Orchestration and Automation
|
||||
|
||||
Microsoft Azure • eCloud Manager • FLOWSTER Studio • Citrix Cloud Platform • Citrix Cloud Platform Business Manager
|
||||
|
||||
### {{< icon "cogs" >}} Server Roles, Features and Products
|
||||
#### {{< icon "cogs" >}} Server Roles, Features and Products
|
||||
|
||||
Active Directory • File Server • Web Server _(IIS and Apache)_ •
|
||||
DBs _(MSSQL, MySQL, PostgresSQL, Oracle 10g)_ • Backup & Restore _(IBM Tivoli Storage Manager)_ •
|
||||
@ -63,45 +63,13 @@ Server Hypervisor _(VMWare ESX, HyperV)_ • Terminal Server _(Microsoft, Cit
|
||||
Software Virtualization _(VMware ThinApp)_ • Software Packaging and Deployment _(Enteo Netinstall, Matrix42)_
|
||||
• Monitoring _(Zabbix)_ • Build Engines _(Jenkins, AppVeyor)_
|
||||
|
||||
### {{< icon "cog" >}} General Software, Frameworks
|
||||
#### {{< icon "cog" >}} General Software
|
||||
|
||||
Node.js • Gitea • Drone.io • WoodpeckerCI • Vue.js • Quasar • tailwindcss • HAproxy • Keepalive • git SCM • Phabricator • VSCode
|
||||
HAproxy • Keepalive • git SCM • Phabricator • VSCode • Notepad++
|
||||
|
||||
## {{< icon "briefcase" >}} Experience
|
||||
### {{< icon "briefcase" >}} Experience
|
||||
|
||||
### {{< icon "calendar-alt" >}} 2018 - 202{{< icon "question" >}} {{< icon "building" >}} Komm.ONE as **SysOp** / **DevOps Engineer**
|
||||
|
||||
{{< icon "calendar-plus" >}} **2022** Cloud-Platform Infrastructure Project
|
||||
|
||||
Komm.ONE decided to create a complete new `Cloud-Platform Infrastructure`. The project started several years ago and replaced all software and hardware. Now it was our turn - So we started planning and implementing our test stage in the new environment. 2023 will challenge us to review and adapt the automation stack to changing requirements...
|
||||
|
||||
{{< icon "calendar-plus" >}} **2021** New Full Stack Self Service Portal
|
||||
|
||||
In 2021 I wanted to get back into coding and software architecture. So I started refactoring our Self Service Portal. The requirements have changed so much in the meantime that we decided to start from scratch. So we started a new full stack project containing these key elements:
|
||||
|
||||
| Tier | Components |
|
||||
| ---- | ---------- |
|
||||
| Backend | [Go](https://go.dev/) + [Node.js](https://nodejs.org/) |
|
||||
| Frontend | [Vue.js 3](https://vuejs.org/) (with [Pinia](https://pinia.vuejs.org/), [Vue Router](https://router.vuejs.org/)) & [Quasar](https://quasar.dev/) |
|
||||
| Data Management | CouchDB, MongoDB, SQL |
|
||||
|
||||
{{< icon "calendar-plus" >}} **2020** Cloud-Frontend Automation Stack
|
||||
|
||||
The year 2020 started with designing a new Automation Stack. My main goal war to upgrade the tech stack while
|
||||
keeping the required operating an maintenance as low as possible. So I replaced some products to split the features / responsibilities:
|
||||
|
||||
| Role | Replaced Product | New Component |
|
||||
| ---- | ---------------- | ------------- |
|
||||
| Operational Platform | native Apps | Container based with [Docker](https://www.docker.com/), [traefik](https://traefik.io/traefik/), [Portainer](https://www.portainer.io/) |
|
||||
| Git VCS | Phabricator | [Gitea](https://gitea.io) |
|
||||
| Artifact Store | Jenkins | [Nexus Repository Manager OSS](https://www.sonatype.com/products/repository-oss-download) |
|
||||
| Build Server | Jenkins | [Drone.io](https://www.drone.io/) |
|
||||
| Wiki + KB | Phabricator | [Outline](https://www.getoutline.com/) |
|
||||
| Landing Page | Phabricator | [Ghost CMS](https://ghost.org/) |
|
||||
| Event Monitoring + Alerting | - | [Prometheus](https://github.com/prometheus/prometheus), [Alertmanager](https://github.com/prometheus/alertmanager), [cAdvisor](https://github.com/google/cadvisor), [Karma](https://github.com/prymitive/karma), [Grafana](https://github.com/grafana/grafana) |
|
||||
| Service Status | - | [Uptime Kuma](https://github.com/louislam/uptime-kuma) |
|
||||
| Web Analytics | matomo | [Umami](https://github.com/umami-software/umami) |
|
||||
| Static Websites | Jenkins | [Hugo](https://github.com/gohugoio/hugo) |
|
||||
#### {{< icon "calendar-alt" >}} 2018 - 202{{< icon "question" >}} {{< icon "building" >}} [Komm.ONE](https://komm.one) as **SysOp** / **DevOps Engineer**
|
||||
|
||||
{{< icon "calendar-plus" >}} **2019** Internal Self Service Portal
|
||||
|
||||
@ -121,11 +89,11 @@ applications:
|
||||
|
||||
{{< icon "calendar-plus" >}} **2018** KIVBF merged with its partners to form Komm.ONE in order
|
||||
to be able to offer uniform services. After adjusting the internal organizational structure, I'm now part of the
|
||||
business unit 4.2 _(Integration-, Security- & Application Management)_. My previous team was reassigned to this new
|
||||
business unit 4.2 _(Integration-, Security- & Application Managent)_. My previous team was reassigned to this new
|
||||
unit as well, and was renamed into CAFS _(Cloud- & Application-Frontend-Services)_. So my range of tasks changed
|
||||
slightly.
|
||||
|
||||
### {{< icon "calendar-alt" >}} 2012 - 2018 {{< icon "building" >}} KIVBF as **SysOp** / **DevOps Engineer**
|
||||
#### {{< icon "calendar-alt" >}} 2012 - 2018 {{< icon "building" >}} [KIVBF](https://www.kivbf.de) as **SysOp** / **DevOps Engineer**
|
||||
|
||||
{{< icon "calendar-plus" >}} **2015** In 2015 I started automating several platform and workload
|
||||
related use cases. Unfortunately it's closed source, so I can't talk about details. But to give a glimpse at the
|
||||
@ -148,12 +116,12 @@ It was a great place to get to know such large environment and I finally started
|
||||
implemented the monitoring system [Zabbix](http://www.zabbix.com/). Unfortunately I couldn't find any extension to
|
||||
monitor out IBM tape library or TSM data itself. So I developed own interfaces therefore.
|
||||
|
||||
### {{< icon "calendar-alt" >}} 2008 - 2012 {{< icon "building" >}} Pforzheim municipal administration as **SysOp**
|
||||
#### {{< icon "calendar-alt" >}} 2008 - 2012 {{< icon "building" >}} [Pforzheim municipal administration](https://www.pforzheim.de/) as **SysOp**
|
||||
|
||||
At the municipal administration of Pforzheim I was responsible for the **Software Packaging and Deployment**,
|
||||
At the municipal administration of Pforzheim I was responsible for the**Software Packaging and Deployment**,
|
||||
**MS-SQL Servers** and **Web Hosting**.
|
||||
|
||||
## {{< icon "graduation-cap" >}} Education
|
||||
### {{< icon "graduation-cap" >}} Education
|
||||
|
||||
I successfully finished two undergraduate trainings as **IT Specialist For Application Development** and
|
||||
**Management Assistant in IT-Systems**.
|
||||
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
@ -16,6 +16,8 @@ tags: ['pihole', 'swarm', 'stack']
|
||||
# sharingLinks: [null]
|
||||
---
|
||||
|
||||
{{< figure src="black-hole.jpg" width="600" height="800" caption="Photo by Kamesh Vedula on Unsplash." >}}
|
||||
|
||||
## Intro
|
||||
|
||||
Many of you already know [Pi-hole](https://pi-hole.net/) as a trusted DNS firewall solution in your home labs. But
|
||||
|
Before Width: | Height: | Size: 55 KiB |
@ -1,59 +0,0 @@
|
||||
---
|
||||
title: "✨ PSCredentialStore 1.1.0 is released"
|
||||
date: 2022-09-21T10:14:18+02:00
|
||||
draft: false
|
||||
|
||||
categories: ['Projects']
|
||||
tags: ['PSCredentialStore']
|
||||
|
||||
# lastmod: 2022-09-21T10:14:18+02:00
|
||||
# showDateUpdated: true
|
||||
|
||||
# custom overrides for pages
|
||||
# showDate: false
|
||||
# showAuthor: false
|
||||
# showWordCount: false
|
||||
# showReadingTime: false
|
||||
# showTableOfContents: false
|
||||
# showTaxonomies: true
|
||||
# showEdit: false
|
||||
# sharingLinks: [null]
|
||||
---
|
||||
|
||||
<p align="right">
|
||||
<img src="https://forthebadge.com/images/badges/built-with-love.svg">
|
||||
</p>
|
||||
|
||||
Today I'm proud to present the release of PSCredentialStore version [1.1.0](https://www.powershellgallery.com/packages/PSCredentialStore/1.1.0).
|
||||
|
||||
This version was mainly focused on updating the build pipeline and codebase.
|
||||
So let me explain the changes in detail:
|
||||
|
||||
- 🧰 Reworked the build pipeline and replace Travis, AppVeyor by Drone.IO.
|
||||
- 🧰 Updated the PowerShell style to the lates community standards.
|
||||
- 🧰 Migrated from Github to [self hosted Gitea](https://gitea.ocram85.com/OCram85/PSCredentialStore).
|
||||
- 🧰 Migrated to self hosted Drone and Woodpecker CI.
|
||||
- 🧰 Updated Pester unit tests to Pester5+ syntax.
|
||||
- 💣 Changed from MIT to GNU AGPLv3 license.
|
||||
- 🧰 Removed the optional dependency helper.
|
||||
- 📦 Updated embedded OpenSSL (LibreSSL) files to version 3.5.3.
|
||||
- Started building and deploying the LibreSSL windows portable version on Github: https://github.com/OCram85/libressl-portable.
|
||||
- 🧰 Added gitea project template files for issues and pull requests.
|
||||
- 🤖 Implemented [DroneHelper](https://gitea.ocram85.com/OCram85/DroneHelper) base Drone pipeline.
|
||||
|
||||
Additionally we fixed some issues and added new connection types:
|
||||
|
||||
- 🌟 Added CiscoUCSCentral connection type
|
||||
- 🐛 Fixed `Test-CredentialStoreItem` output
|
||||
- 🐛 Fixed CiscoUCS connection
|
||||
|
||||
You can find the PSCredential store at [PowerShell Gallery](https://www.powershellgallery.com/packages/PSCredentialStore)
|
||||
and [gitea.ocram85.com](https://gitea.ocram85.com/OCram85/PSCredentialStore/releases).
|
||||
|
||||
Feel free to install or upgrade to the latest version with the following command.
|
||||
|
||||
```powershell
|
||||
Install-Module -Name 'PSCredentialStore' -Force
|
||||
```
|
||||
|
||||

|
@ -19,6 +19,8 @@ tags: ['ModuleBase', 'config']
|
||||
# sharingLinks: [null]
|
||||
---
|
||||
|
||||
 on [Unsplash](https://unsplash.com)')
|
||||
|
||||
## 🖼️ Intro
|
||||
|
||||
This article explains with a practical example how to determine and use the current module base path.
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@ -18,6 +18,8 @@ showDateUpdated: true
|
||||
# sharingLinks: [null]
|
||||
---
|
||||
|
||||
 on [Unsplash](https://unsplash.com)')
|
||||
|
||||
## 🖼️ Intro
|
||||
|
||||
This post explains how to use `PSCustomObject`s as function parameters. We compare the basic usage with an
|
||||
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
@ -18,6 +18,9 @@ tags: ['class', 'read-only', 'properties']
|
||||
# showEdit: false
|
||||
# sharingLinks: [null]
|
||||
---
|
||||
|
||||
{{< figure src="vader_cube.png" width="800" height="800">}}
|
||||
|
||||
{{< note >}}
|
||||
If you're not familiar with Powershell classes I suggest you reading this awesome blog article from Michael Willis
|
||||
[Powershell v5 Classes & Concepts](https://xainey.github.io/2016/powershell-classes-and-concepts/). It covers
|
||||
|
Before Width: | Height: | Size: 476 KiB After Width: | Height: | Size: 476 KiB |
@ -9,6 +9,8 @@ tags: ['resources']
|
||||
draft: false
|
||||
---
|
||||
|
||||
{{< figure src="res-posh.jpg" width="1200" height="800" caption="Photo by Eugenio Mazzone on Unsplash." >}}
|
||||
|
||||
## The Journey Begins Now Young Novice
|
||||
|
||||
In this section you find the most basic stuff. It's aimed to help beginners who just got in touch with PowerShell.
|
||||
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
1009
package-lock.json
generated
@ -10,7 +10,6 @@
|
||||
"lint:markdown": "markdownlint \"*.md\" \"content/**/*.md\"",
|
||||
"start": "npm run server",
|
||||
"server": "exec-bin node_modules/.bin/hugo/hugo server --bind=0.0.0.0 -D",
|
||||
"arkanum": "exec-bin node_modules/.bin/hugo/hugo server --bind=0.0.0.0 -D --appendPort=false --baseURL https://arkanum-dev.ocram85.com --port 1313",
|
||||
"test": "npm run lint:markdown",
|
||||
"postinstall": "hugo-installer --version otherDependencies.hugo --extended --destination node_modules/.bin/hugo",
|
||||
"new:post": "exec-bin node_modules/.bin/hugo/hugo new"
|
||||
@ -27,9 +26,9 @@
|
||||
"homepage": "https://github.com/OCram85/Blog#readme",
|
||||
"devDependencies": {
|
||||
"exec-bin": "^1.0.0",
|
||||
"hugo-installer": "^4.0.0",
|
||||
"markdownlint-cli": "^0.33.0",
|
||||
"rimraf": "^4.0.0"
|
||||
"hugo-installer": "^3.1.0",
|
||||
"markdownlint-cli": "^0.31.1",
|
||||
"rimraf": "^3.0.2"
|
||||
},
|
||||
"otherDependencies": {
|
||||
"hugo": "0.91.1"
|
||||
|
@ -1,18 +0,0 @@
|
||||
{
|
||||
"onboardingConfig": {
|
||||
"extends": [
|
||||
"config:base"
|
||||
]
|
||||
},
|
||||
"dependencyDashboard": true,
|
||||
"docker": {
|
||||
"enabled": true
|
||||
},
|
||||
"docker-compose": {
|
||||
"enabled": true
|
||||
},
|
||||
"woodpecker": {
|
||||
"enabled": true,
|
||||
"fileMatch": ["^.woodpecker\/.*.yml$"]
|
||||
}
|
||||
}
|