diff options
| -rw-r--r-- | .dockerignore | 4 | ||||
| -rw-r--r-- | .github/workflows/build.yml | 2 | ||||
| -rw-r--r-- | .github/workflows/pull_requests.yml | 2 | ||||
| -rw-r--r-- | Dockerfile | 4 | ||||
| -rw-r--r-- | README.md | 54 | ||||
| -rw-r--r-- | src/pages/index.tsx | 106 |
6 files changed, 66 insertions, 106 deletions
diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 76a229d..0000000 --- a/.dockerignore +++ /dev/null @@ -1,4 +0,0 @@ -.cache/ -node_modules/ -public/ -kubernetes/
\ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aa698b8..d98b293 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: - name: Run Gatsby Build run: npm run build --if-present - name: Commit public changes - uses: actions-js/push@v1.3 + uses: actions-js/push@latest with: github_token: ${{ secrets.GITHUB_TOKEN }} branch: trunk diff --git a/.github/workflows/pull_requests.yml b/.github/workflows/pull_requests.yml index a3cee9a..04cb713 100644 --- a/.github/workflows/pull_requests.yml +++ b/.github/workflows/pull_requests.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Check changes (prevent pushing to public/) - uses: xalvarez/prevent-file-change-action@v1 + uses: xalvarez/prevent-file-change-action@v1.3.1 with: githubToken: ${{ secrets.GITHUB_TOKEN }} pattern: public/ diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 3aabb31..0000000 --- a/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM gatsbyjs/gatsby:onbuild as build - -FROM gatsbyjs/gatsby -COPY --from=build /app/public /pub
\ No newline at end of file @@ -1,55 +1,19 @@ # submelon.dev -## Deploying Using Docker +[](https://github.com/kjhoerr/submelon.dev/actions/workflows/build.yml) -The Dockerfile works via a fresh clone, no pre-build or npm install is needed. It can be tagged as follows: +The front page for submelon.dev - a "link-in-bio" site of sorts, with other resources available for reference. -``` -docker build --push -t registry.digitalocean.com/submelon-tech/submelon.tech:1.0.0 . -``` +## Description -(Reference authenticating to use DigitalOcean's Container Registry below.) +This is a static site generated and enabled using GatsbyJS. All sources including CSS were produced solely by the author, Kevin Hoerr. -If the build fails in error as a result of the image, the base gatsby images can be rebuilt. (The gatsby images as exist on Dockerhub do not work.) To rebuild those images, run the following commands: +## History -To note, the gatsby-docker repository is now out of date. A newer node image must be used. +This was originally a purely static site (no JS/TS) that has morphed to permit use of newer technologies and integrations and for ease of updating. There are no server integrations outside of serving static assets. At present, this site does not make use of any scripting features to enable any actual front-end features, though the components are built in ReactJS and compiled using the GatsbyJS framework. -``` -cd .. -git clone https://github.com/gatsbyjs/gatsby-docker -cd gatsby-docker -# Change node:12-buster to node:lts-buster in Dockerfile.onbuild -docker build -t gatsbyjs/gatsby:onbuild -f Dockerfile.onbuild . -docker build -t gatsbyjs/gatsby:latest -f Dockerfile . -``` +## Hosting -And then attempt rebuild of the submelon.tech image. +The site itself is served using DigitalOcean's App capabilities for static sites. This is a zero-cost service with automated deployments, as enabled by DigitalOcean and GitHub services and integrations. -### Authenticating with DO - -Install `doctl`. Create an access token via DO's web interface to authenticate with the registry, and connect docker: - -``` -doctl auth init -doctl registry login -``` - -### DO K8s Deployment - -To access the DO k8s cluster, save the config. It will automatically switch to use this context: - -``` -doctl k8s cluster cfg save k8s-1-13-1-do-2-nyc1-1547908941746 -``` - -Then to switch to use this context in the future: - -``` -kubectl config use-context do-nyc1-k8s-1-13-1-do-2-nyc1-1547908941746 -``` - -Make version/environment changes to deployment config file, and apply: - -``` -kubectl apply -f kubernetes/deployment.yaml -```
\ No newline at end of file +[](https://www.digitalocean.com/?refcode=8da539b4e677&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge) diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 094b4ad..e4b4ec6 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -6,6 +6,7 @@ import BlockLink from "../components/BlockLink"; import Footer from "../components/Footer"; import { BlockBody, BlockHeader, Content } from "../styles"; import package_json from "../../package.json"; +import { IconContext } from "react-icons"; const VERSION = package_json.version; @@ -13,58 +14,61 @@ const VERSION = package_json.version; const IndexPage = (): React.ReactElement => { return ( <main> - <Content> - <div> - <StaticImage - src="../images/main.png" - alt="Picture of Kevin Hoerr" - placeholder="tracedSVG" - layout="fixed" - width={350} - height={350} - /> - </div> - <BlockHeader>Hello!</BlockHeader> - <BlockBody> - <p> - I'm a computer science and math graduate from Millersville - University. I work as an IT consultant and specialize in development - operations and systems validation for web applications. - </p> - <p> - My most recent projects have been focused on full-stack development. - I use Kubernetes for orchestration and NextJS for the front-end. For - back-end development, I have built services enabled by Java with - Spring Boot, Quarkus, and rust+actix-web with a GraphQL serving - public API. - </p> - <p> - I run a personal Kubernetes cluster at home using MicroOS and k3d. I - have also run multiple clusters via DigitalOcean with deployments - dedicated for hosting git projects, CI/CD, and code coverage. Since - then all projects have been moved to GitHub. - </p> - <em>- Kevin H.</em> - </BlockBody> - <BlockLink - href="https://cybr.es/@kjhoerr" - rel="me" - aria-label="My Mastodon account" - > - <FaMastodon size={20} style={{ marginBottom: "-4px" }} />{" "} - @kjhoerr@cybr.es - </BlockLink> - <BlockLink - href="https://github.com/kjhoerr" - rel="me" - aria-label="My GitHub account with my most active personal projects" - > - <FaGithub size={20} style={{ marginBottom: "-4px" }} /> kjhoerr on - GitHub - </BlockLink> - </Content> + <IconContext.Provider + value={{ size: "20", style: { marginBottom: "-4px" } }} + > + <Content> + <div> + <StaticImage + src="../images/main.png" + alt="Picture of Kevin Hoerr" + placeholder="tracedSVG" + layout="fixed" + width={350} + height={350} + /> + </div> + <BlockHeader>Hello!</BlockHeader> + <BlockBody> + <p> + I'm a computer science and math graduate from Millersville + University. I work as an IT consultant and specialize in + development operations and systems validation for web + applications. + </p> + <p> + My most recent projects have been focused on full-stack + development. I use Kubernetes for orchestration and NextJS for the + front-end. For back-end development, I have built services enabled + by Java with Spring Boot, Quarkus, and rust+actix-web with a + GraphQL serving public API. + </p> + <p> + I run a personal Kubernetes cluster at home using MicroOS and k3d. + I have also run multiple clusters via DigitalOcean with + deployments dedicated for hosting git projects, CI/CD, and code + coverage. Since then all projects have been moved to GitHub. + </p> + <em>- Kevin H.</em> + </BlockBody> + <BlockLink + href="https://cybr.es/@kjhoerr" + rel="me" + aria-label="My Mastodon account" + > + <FaMastodon /> @kjhoerr@cybr.es + </BlockLink> + <BlockLink + href="https://github.com/kjhoerr" + rel="me" + aria-label="My GitHub account with my most active personal projects" + > + <FaGithub /> kjhoerr on GitHub + </BlockLink> + </Content> - <Footer timestamp={VERSION} /> + <Footer timestamp={VERSION} /> + </IconContext.Provider> </main> ); }; |
