commit 894f379c8ff563c4c5dc472f34aa7a6fa0940577 Author: Paul Payne Date: Mon Mar 31 20:44:14 2025 -0700 Welcome. diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9b03111 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +# Hugo build output +/public/ +/resources/_gen/ +/assets/jsconfig.json + +# Hugo cache +/.hugo_build.lock diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..5154615 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "themes/ananke"] + path = themes/ananke + url = https://github.com/theNewDynamic/gohugo-theme-ananke.git diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..784d613 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx:alpine +COPY ./public /usr/share/nginx/html diff --git a/README.md b/README.md new file mode 100644 index 0000000..b18e507 --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +# CivilSociety.dev + +## Dev environment + +- Install hugo. +- Install dart-sass. + +```bash +hugo server +``` + +## Deploy + +```bash +hugo build +docker build -t payneio/civilsociety.dev . --file ./Dockerfile +docker push payneio/civilsociety.dev +kubectl apply -f definition.yml +``` diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..25b6752 --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +date = '{{ .Date }}' +draft = true +title = '{{ replace .File.ContentBaseName "-" " " | title }}' ++++ diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..ec06cd3 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,9 @@ ++++ +title = 'Welcome to Civil Society .dev' ++++ + + +[Getting started](/learning/getting_started) + + + diff --git a/content/about.md b/content/about.md new file mode 100644 index 0000000..be0eaa4 --- /dev/null +++ b/content/about.md @@ -0,0 +1,26 @@ ++++ +title = 'About' ++++ + +## Mission + +To create and maintain open-source digital infrastructure that empowers civil society, reducing dependence on corporate and government-controlled technology. + +## Core Values + +- Decentralization – No single point of control. +- Privacy & Security – Everything built with user autonomy in mind. +- Sustainability – Self-funded, resilient, and community-supported. +- Transparency – Open discussions, decision-making, and finances. +- Cooperation Over Competition – Collaborate with other projects rather than duplicate efforts. + +## Governance + +- See [Governance](/projects/governance) + +## Contact + +Paul Payne +paul@payne.io ++1 (206) 790-6707 +Redmond, WA 98052 diff --git a/content/contribute.md b/content/contribute.md new file mode 100644 index 0000000..ff84c09 --- /dev/null +++ b/content/contribute.md @@ -0,0 +1,12 @@ ++++ +title = 'Contribute' ++++ + +# Help us create a strong and lasting technical foundation for Civil Society. + +- [Move to open technologies](/learning/getting_started). +- Join a project working-group. +- Propose a project. +- Sponsor a working group +- [Join a board](/projects/governance). + diff --git a/content/learning/_index.md b/content/learning/_index.md new file mode 100644 index 0000000..e69de29 diff --git a/content/learning/getting_started.md b/content/learning/getting_started.md new file mode 100644 index 0000000..63f79c8 --- /dev/null +++ b/content/learning/getting_started.md @@ -0,0 +1,15 @@ ++++ +title = 'Getting Started' ++++ + +```bash +# See https://k3s.io/ +curl -sfL https://get.k3s.io | sh -s - --write-kubeconfig-mode=644 +export KUBECONFIG=/etc/rancher/k3s/k3s.yaml +``` + +## Future + +Consider defaults: + +- [Longhorn](https://docs.k3s.io/storage). diff --git a/content/learning/git.md b/content/learning/git.md new file mode 100644 index 0000000..ab67483 --- /dev/null +++ b/content/learning/git.md @@ -0,0 +1,5 @@ ++++ +title = 'Git' ++++ + + diff --git a/content/learning/internet.md b/content/learning/internet.md new file mode 100644 index 0000000..7472d80 --- /dev/null +++ b/content/learning/internet.md @@ -0,0 +1,4 @@ ++++ +title = 'The Internet' ++++ + diff --git a/content/learning/language_models.md b/content/learning/language_models.md new file mode 100644 index 0000000..d75de83 --- /dev/null +++ b/content/learning/language_models.md @@ -0,0 +1,5 @@ ++++ +title = 'Language Models' ++++ + + diff --git a/content/learning/linux.md b/content/learning/linux.md new file mode 100644 index 0000000..e1c7cc3 --- /dev/null +++ b/content/learning/linux.md @@ -0,0 +1,5 @@ ++++ +title = 'Linux' ++++ + + diff --git a/content/learning/open_source.md b/content/learning/open_source.md new file mode 100644 index 0000000..e31127e --- /dev/null +++ b/content/learning/open_source.md @@ -0,0 +1,5 @@ ++++ +title = 'Open Source' ++++ + + diff --git a/content/learning/software_development.md b/content/learning/software_development.md new file mode 100644 index 0000000..690da22 --- /dev/null +++ b/content/learning/software_development.md @@ -0,0 +1,5 @@ ++++ +title = 'Software Development' ++++ + + diff --git a/content/projects/_index.md b/content/projects/_index.md new file mode 100644 index 0000000..e350d20 --- /dev/null +++ b/content/projects/_index.md @@ -0,0 +1 @@ +# Working groups. diff --git a/content/projects/education.md b/content/projects/education.md new file mode 100644 index 0000000..6f1abc1 --- /dev/null +++ b/content/projects/education.md @@ -0,0 +1,5 @@ ++++ +title = 'Education' ++++ + +Curating and developing education resources. \ No newline at end of file diff --git a/content/projects/governance.md b/content/projects/governance.md new file mode 100644 index 0000000..0afdd22 --- /dev/null +++ b/content/projects/governance.md @@ -0,0 +1,10 @@ ++++ +title = 'Governance' +weight = 10 ++++ + +Transparency is paramount. + +Governance is an evolving project. + + diff --git a/content/projects/sovereign_cloud.md b/content/projects/sovereign_cloud.md new file mode 100644 index 0000000..59f0c68 --- /dev/null +++ b/content/projects/sovereign_cloud.md @@ -0,0 +1,8 @@ ++++ +title = 'Sovereign Cloud' ++++ + +A.K.A "The Stack", a.k.a., "The Starter Kit" + +- Kubernetes +- Rancher diff --git a/definition.yml b/definition.yml new file mode 100644 index 0000000..be83e03 --- /dev/null +++ b/definition.yml @@ -0,0 +1,68 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: civilsocietydev + # namespace: civilsociety-dev + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: websecure + traefik.ingress.kubernetes.io/router.tls: "true" + cert-manager.io/cluster-issuer: k3s-ca-cluster-issuer +spec: + tls: + - hosts: + - civilsociety.dev + secretName: k3s-ca-civilsocietydev-tls + rules: + - host: "civilsociety.dev" + http: + paths: + - pathType: Prefix + path: / + backend: + service: + name: civilsocietydev-service + port: + name: http +--- +apiVersion: v1 +kind: Service +metadata: + name: civilsocietydev-service + # namespace: civilsociety-dev +spec: + ports: + - port: 80 + protocol: TCP + selector: + app: civilsocietydev + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: civilsocietydev-nginx + # namespace: civilsociety-dev + labels: + app: civilsocietydev + version: v1 + tier: backend + environment: production + owner: payneio + app.kubernetes.io/instance: civilsocietydev + app.kubernetes.io/managed-by: kubectl +spec: + selector: + matchLabels: + app: civilsocietydev + replicas: 2 + template: + metadata: + labels: + app: civilsocietydev + spec: + containers: + - name: civilsocietydev + image: payneio/civilsociety.dev:latest + ports: + - containerPort: 80 diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000..8c875e9 --- /dev/null +++ b/hugo.toml @@ -0,0 +1,51 @@ +baseURL = 'https://civilsociety.dev/' +languageCode = 'en-us' +title = 'Civil Society .dev' +theme = 'ananke' +copyright = 'CivilSociety.dev' + +[menus] + [[menus.main]] + name = 'About' + pageRef = '/about' + weight = 20 + [[menus.main]] + name = 'Contribute' + pageRef = '/contribute' + weight = 30 + [[menus.main]] + name = 'Projects' + pageRef = '/projects' + weight = 40 + [[menus.main]] + name = 'Learning' + pageRef = '/learning' + weight = 50 + + [[menus.footer]] + name = 'About' + pageRef = '/about' + weight = 10 + [[menus.footer]] + name = 'Terms' + pageRef = '/terms' + weight = 20 + [[menus.footer]] + name = 'Privacy' + pageRef = '/privacy' + weight = 20 + +[params] +# mainSections = ["post"] +text_color = "black" +author = "CivilSociety.dev" +favicon = "" +site_logo = "" +description = "The last theme you'll ever need. Maybe." +# choose a background color from any on this page: https://tachyons.io/docs/themes/skins/ and preface it with "bg-" +background_color_class = "bg-black" +# choose fitting and alignment styles for the featured image using Tachyons classes such as "cover|contain" for fitting and "bg-top|bg-center|bg-bottom" for alignment, or add any other class space-separated to customize further +featured_image_class = "cover bg-top" +# choose a color dimming class for the page or site header from any on this page: https://tachyons.io/docs/themes/skins/, preface it with "bg-" and add the value such as "-X0" where X is in [1,9] +cover_dimming_class = "bg-black-60" +recent_posts_number = 3 \ No newline at end of file diff --git a/themes/ananke b/themes/ananke new file mode 160000 index 0000000..3f0b2aa --- /dev/null +++ b/themes/ananke @@ -0,0 +1 @@ +Subproject commit 3f0b2aa33feefe18b76cb1b64fced8ae800fac5d