Prepare the hugo setup

This commit is contained in:
Nikolai Rodionov 2024-10-01 16:55:30 +02:00
parent ad76701c4d
commit 29ea6d6564
Signed by: allanger
GPG Key ID: 0AA46A90E25592AD
5 changed files with 152 additions and 0 deletions

17
.containerignore Normal file
View File

@ -0,0 +1,17 @@
.git/**/*
.git
node_modules/**/*
node_modules
src/static/**/*
src/static
scripts/**/*
scripts
chart/**/*
chart
kube/**/*
kube

93
.woodpecker.yml Normal file
View File

@ -0,0 +1,93 @@
---
when:
event:
- push
steps:
- image: alpine/helm
name: Publish the Helm chart
commands:
- helm plugin install https://github.com/chartmuseum/helm-push
- helm package chart -d chart-package
- helm repo add --username allanger --password $GITEA_TOKEN badhouseplants-net https://git.badhouseplants.net/api/packages/badhouseplants/helm
- helm cm-push "./chart-package/$(ls chart-package)" badhouseplants-net
secrets:
- gitea_token
- name: Test a build
image: git.badhouseplants.net/badhouseplants/hugo-container
commands:
- hugo -s ./src
- name: Build and push the docker image
image: git.badhouseplants.net/badhouseplants/badhouseplants-builder:latest
privileged: true
depends_on:
- Test a build
secrets:
- gitea_token
environment:
BUILDER_COMMIT: 2449b73b13a62ae916c6703778d096e5290157b3
commands:
- rm -rf $DRONE_WORKSPACE/src/assets/
- ./scripts/build-container.pl
backend_options:
kubernetes:
resources:
requests:
memory: 500Mi
cpu: 200m
limits:
memory: 1000Mi
cpu: 1000m
securityContext:
privileged: true
- name: Sync pictures from lfs to Minio
image: git.badhouseplants.net/badhouseplants/badhouseplants-builder:latest
depends_on:
- Test a build
secrets:
- rclone_config_content
environment:
RCLONE_CONFIG: /tmp/rclone.conf
commands:
- echo "$RCLONE_CONFIG_CONTENT" > $RCLONE_CONFIG
- ./scripts/upload-media.pl
- name: Deploy the application
image: git.badhouseplants.net/badhouseplants/badhouseplants-builder:latest
depends_on:
- Build and push the docker image
- Sync pictures from lfs to Minio
secrets:
- gitea_token
- argocd_auth_token
- argo_github_oauth_key
- argo_google_oauth_key
environment:
ARGOCD_SERVER: https://argo.badhouseplants.net:443
commands:
- ./scripts/deploy-app.pl
- name: Cleanup everything
image: git.badhouseplants.net/badhouseplants/badhouseplants-builder:latest
depends_on:
- Deploy the application
secrets:
- gitea_token
- argocd_auth_token
- rclone_config_content
environment:
ARGOCD_SERVER: argo.badhouseplants.net:443
RCLONE_CONFIG: /tmp/rclone.conf
commands:
- echo "$RCLONE_CONFIG_CONTENT" > $RCLONE_CONFIG
- ./scripts/cleanup.pl
- name: Spell-Checker
failure: ignore
image: node
commands:
- npm i markdown-spellcheck -g
- mdspell "src/content/**/*.md" -n -r

4
Containerfile Normal file
View File

@ -0,0 +1,4 @@
FROM zot.badhouseplants.net/badhouseplants/hugo-container:latest
WORKDIR /src
COPY ./src /src
ENTRYPOINT ["hugo"]

5
archetypes/default.md Normal file
View File

@ -0,0 +1,5 @@
+++
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
date = {{ .Date }}
draft = true
+++

33
hugo.toml Normal file
View File

@ -0,0 +1,33 @@
baseURL = 'https://badhouseplants.net'
languageCode = 'en-us'
title = 'Bad Houseplants'
theme = 'papermod'
enableGitInfo = true
[languages.en]
languageName = "English"
weight = 1
[languages.en.taxonomies]
category = "categories"
tag = "tags"
series = "series"
[[languages.en.menu.main]]
name = "Archive"
url = "archives"
weight = 5
[[languages.en.menu.main]]
name = "Search"
url = "search/"
weight = 10
[[languages.en.menu.main]]
name = "Tags"
url = "tags/"
weight = 10
[[languages.en.menu.main]]
name = "Source"
url = "https://gitea.badhouseplants.net/badhouseplants/badhouseplants-net"