Compare commits

..

1 Commits

Author SHA1 Message Date
190ed210e9 test post sub folder
All checks were successful
ci/woodpecker/push/renovate Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/master Pipeline was successful
ci/woodpecker/push/next Pipeline was successful
ci/woodpecker/pr/renovate Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/master Pipeline was successful
ci/woodpecker/pr/next Pipeline was successful
2023-01-05 07:53:55 +01:00
13 changed files with 206 additions and 158 deletions

View File

@ -1,37 +1,8 @@
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

View File

@ -1,70 +0,0 @@
when:
- event: [pull_request, tag, cron]
- event: push
branch:
- ${CI_REPO_DEFAULT_BRANCH}
variables:
- &build_plugin 'woodpeckerci/plugin-docker-buildx:3.2.1'
# deployment targets
- &publish_repos 'ocram85/blog,gitea.ocram85.com/ocram85/blog'
# logins for deployment targets
- publish_logins: &publish_logins
# Default DockerHub login
- registry: https://index.docker.io/v1/
username:
from_secret: hub_user
password:
from_secret: hub_passwd
# Additional Quay.IO login
- registry: https://gitea.ocram85.com
username:
from_secret: gitea_user
password:
from_secret: gitea_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]

66
.woodpecker/master.yml Normal file
View File

@ -0,0 +1,66 @@
depends_on:
- test
pipeline:
buildMaster:
image: plugins/docker
settings:
repo: ocram85/blog
dockerfile: Dockerfile
auto_tag: true
build_args:
- NODE_BASE=lts-buster-slim
- NGINX_BASE=1.23.1-alpine
username:
from_secret: hub_user
password:
from_secret: hub_passwd
when:
event: push
branch: master
buildMasterGitea:
image: plugins/docker
settings:
registry: gitea.ocram85.com
repo: gitea.ocram85.com/ocram85/blog
dockerfile: Dockerfile
auto_tag: true
build_args:
- NODE_BASE=lts-buster-slim
- NGINX_BASE=1.23.1-alpine
username:
from_secret: gitea_user
password:
from_secret: gitea_passwd
when:
event: push
branch: master
trivyMaster:
image: aquasec/trivy:0.35.0
commands:
- |
trivy image \
--severity UNKNOWN,LOW,MEDIUM \
--no-progress \
ocram85/blog:latest
- |
trivy image \
--severity HIGH,CRITICAL \
--no-progress \
ocram85/blog:latest
when:
event: push
branch: master
triggerPortainerMaster:
image: ocram85/portainer-serviceupdate
settings:
#VERBOSE: true
URI: "https://portainer.ocram85.com"
TOKEN:
from_secret: TOKEN
when:
event: push
branch: master

56
.woodpecker/next.yml Normal file
View File

@ -0,0 +1,56 @@
depends_on:
- test
pipeline:
buildNext:
image: woodpeckerci/plugin-docker-buildx
settings:
repo: ocram85/blog
dockerfile: Dockerfile
tags: next
username:
from_secret: hub_user
password:
from_secret: hub_passwd
when:
event: pull_request
buildNextGitea:
image: woodpeckerci/plugin-docker-buildx
settings:
registry: gitea.ocram85.com
repo: gitea.ocram85.com/ocram85/blog
dockerfile: Dockerfile
tags: next
username:
from_secret: gitea_user
password:
from_secret: gitea_passwd
when:
event: pull_request
trivyNext:
image: aquasec/trivy:0.35.0
commands:
- |
trivy image \
--severity UNKNOWN,LOW,MEDIUM \
--no-progress \
ocram85/blog:next
- |
trivy image \
--severity HIGH,CRITICAL \
--no-progress \
ocram85/blog:next
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
View File

@ -0,0 +1,22 @@
pipeline:
DockerBaseImage:
image: renovate/renovate:34.63-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

7
.woodpecker/test.yml Normal file
View File

@ -0,0 +1,7 @@
pipeline:
build:
image: node:lts-buster-slim
commands:
- npm install
- npm run test
- npm run build

View File

@ -8,7 +8,7 @@ RUN npm install \
FROM nginx:1.23.3-alpine 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
HEALTHCHECK --interval=15s --timeout=5s \
CMD wget --no-verbose --tries=1 --spider http://localhost:80/ || exit 1
COPY --from=builder src/public /usr/share/nignx/html/
COPY nginx.conf /etc/nginx/nginx.conf

View File

@ -43,4 +43,4 @@ The next tag is used for testing any code changes on development branches and pu
This image contains the hugo based sources for my personal blog. It's made with the [Congo theme](https://github.com/jpanther/congo). The static pages are served by the included nginx server with a custom config. The custom config is needed to redirect 404 errors to a custom page.
You can simply run the container with `docker run -it --rm -p "8080:80" ocram85/blog:latest`.
You can simply run the container with `docker run -it --rm -p "8080:80" ocram85/blog:latest`

View File

@ -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 &bull; Portainer &bull; Docker Swarm Mode &bull; Sonatype Nexus Repository &bull; Aqua Security Trivy &bull;
Traefik &bull; Portainer &bull; Docker Swarm Mode &bull; Sonatype Nexus Repository &bull; Aquasecurity Trivy &bull;
Prometheus &bull; Node-Exporter &bull; cAdvisor &bull; Alertmanager &bull; Karma
### {{< icon "code" >}} Scripting and Programming Languages
#### {{< icon "code" >}} Scripting and Programming Languages
PowerShell &bull; JavaScript &bull; Go &bull; Python &bull; PHP &bull; Object Pascal &bull; C++ &bull; Visual Basic
### {{< icon "terminal" >}} Operating Systems
#### {{< icon "terminal" >}} Operating Systems
Microsoft Windows 98SE++ &bull; Microsoft Windows Server 2000++ &bull;
CentOS _(and other Red Hat Enterprise Linux derivatives)_ &bull; SLES &bull; ubuntu
### {{< icon "cloud" >}} Cloud Orchestration and Automation
#### {{< icon "cloud" >}} Cloud Orchestration and Automation
Microsoft Azure &bull; eCloud Manager &bull; FLOWSTER Studio &bull; Citrix Cloud Platform &bull; Citrix Cloud Platform Business Manager
### {{< icon "cogs" >}} Server Roles, Features and Products
#### {{< icon "cogs" >}} Server Roles, Features and Products
Active Directory &bull; File Server &bull; Web Server _(IIS and Apache)_ &bull;
DBs _(MSSQL, MySQL, PostgresSQL, Oracle 10g)_ &bull; Backup & Restore _(IBM Tivoli Storage Manager)_ &bull;
@ -63,45 +63,13 @@ Server Hypervisor _(VMWare ESX, HyperV)_ &bull; Terminal Server _(Microsoft, Cit
Software Virtualization _(VMware ThinApp)_ &bull; Software Packaging and Deployment _(Enteo Netinstall, Matrix42)_
&bull; Monitoring _(Zabbix)_ &bull; Build Engines _(Jenkins, AppVeyor)_
### {{< icon "cog" >}} General Software, Frameworks
#### {{< icon "cog" >}} General Software
Node.js &bull; Gitea &bull; Drone.io &bull; WoodpeckerCI &bull; Vue.js &bull; Quasar &bull; tailwindcss &bull; HAproxy &bull; Keepalive &bull; git SCM &bull; Phabricator &bull; VSCode
HAproxy &bull; Keepalive &bull; git SCM &bull; Phabricator &bull; VSCode &bull; Notepad++
## {{< icon "briefcase" >}} Experience
### {{< icon "briefcase" >}} Experience
### {{< icon "calendar-alt" >}}&nbsp;2018 - 202{{< icon "question" >}}&nbsp;&nbsp;{{< icon "building" >}} Komm.ONE as **SysOp** / **DevOps Engineer**
{{< icon "calendar-plus" >}}&nbsp;**2022**&nbsp;&nbsp; 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" >}}&nbsp;**2021**&nbsp;&nbsp; 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" >}}&nbsp;**2020**&nbsp;&nbsp; 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" >}}&nbsp;2018 - 202{{< icon "question" >}}&nbsp;&nbsp;{{< icon "building" >}} [Komm.ONE](https://komm.one) as **SysOp** / **DevOps Engineer**
{{< icon "calendar-plus" >}}&nbsp;**2019**&nbsp;&nbsp; Internal Self Service Portal
@ -121,11 +89,11 @@ applications:
{{< icon "calendar-plus" >}}&nbsp;**2018**&nbsp;&nbsp; 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" >}}&nbsp;2012 - 2018&nbsp;&nbsp; {{< icon "building" >}} KIVBF as **SysOp** / **DevOps Engineer**
#### {{< icon "calendar-alt" >}}&nbsp;2012 - 2018&nbsp;&nbsp; {{< icon "building" >}} [KIVBF](https://www.kivbf.de) as **SysOp** / **DevOps Engineer**
{{< icon "calendar-plus" >}}&nbsp;**2015**&nbsp;&nbsp; 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" >}}&nbsp;2008 - 2012&nbsp;&nbsp; {{< icon "building" >}} Pforzheim municipal administration as **SysOp**
#### {{< icon "calendar-alt" >}}&nbsp;2008 - 2012&nbsp;&nbsp; {{< 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" >}}&nbsp;Education
### {{< icon "graduation-cap" >}}&nbsp;Education
I successfully finished two undergraduate trainings as **IT Specialist For Application Development** and
**Management Assistant in IT-Systems**.

View File

@ -0,0 +1,28 @@
---
title: "✨ Arkanum 0.2.0 is released"
date: 2023-01-04T10:00:00+02:00
draft: false
section: 'posts'
categories: ['Projects']
tags: ['Arkanum']
# 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 [Arkanum](https://gitea.ocram85.com/CodeServer/arkanum) version [0.2.0](https://gitea.ocram85.com/CodeServer/-/packages/container/arkanum/0.2.0).

View File

@ -2,6 +2,6 @@
async
defer
data-website-id="3e944f0b-6377-4a23-8bdd-64b408d13611"
src="https://umami.ocram85.com/script.js"
src="https://umami.ocram85.com/umami.js"
data-domains="ocram85.com"
></script>

View File

@ -5,7 +5,7 @@ http {
include mime.types;
server {
listen 0.0.0.0:80;
listen 80;
root /usr/share/nignx/html;
index index.html;
error_page 404 /404.html;

View File

@ -28,8 +28,8 @@
"devDependencies": {
"exec-bin": "^1.0.0",
"hugo-installer": "^4.0.0",
"markdownlint-cli": "^0.33.0",
"rimraf": "^4.0.0"
"markdownlint-cli": "^0.32.0",
"rimraf": "^3.0.2"
},
"otherDependencies": {
"hugo": "0.91.1"