diff --git a/.containerignore b/.containerignore new file mode 100644 index 0000000..e88c8ff --- /dev/null +++ b/.containerignore @@ -0,0 +1,17 @@ +.git/**/* +.git + +node_modules/**/* +node_modules + +src/static/**/* +src/static + +scripts/**/* +scripts + +chart/**/* +chart + +kube/**/* +kube diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..3189887 --- /dev/null +++ b/.woodpecker.yml @@ -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 diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..cd242eb --- /dev/null +++ b/Containerfile @@ -0,0 +1,4 @@ +FROM zot.badhouseplants.net/badhouseplants/hugo-container:latest +WORKDIR /src +COPY ./src /src +ENTRYPOINT ["hugo"] diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..c6f3fce --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000..f9d9522 --- /dev/null +++ b/hugo.toml @@ -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"