Add wild-init script.

This commit is contained in:
2025-06-07 12:08:11 -07:00
parent 2b61491b0a
commit 6bc0b07003
9 changed files with 127 additions and 39 deletions

2
my-scaffold/.env.example Normal file
View File

@@ -0,0 +1,2 @@
KUBECONFIG=~/.kube/config
export KUBECONFIG

1
my-scaffold/.wildcloud/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
secrets.yaml

View File

@@ -0,0 +1,35 @@
wildcloud:
# You can also use a local path for the repository such as /home/adam/repos/wild-cloud
repository: https://github.com/payneio/wild-cloud
operator:
email: adam@adam.tld
cloud:
domain: cloud.adam.tld
internalDomain: internal.cloud.adam.tld
dockerRegistryHost: docker-registry.internal.cloud.adam.tld
tz: America/Los_Angeles
router:
dynamicDns: <dynamic dns addresses> # Some routers provide this.
ip: 192.168.8.1
nfs:
host: box-01
mediaPath: /data/media
storageCapacity: 250Gi
dns:
ip: 192.168.8.218
dhcpRange: 192.168.8.100,192.168.8.239
dnsmasqInterface: enp5s0
cluster:
endpoint: computer-01
endpointIp: 192.168.8.241
kubernetes:
config: /home/adam/.kube/config
context: default
loadBalancerRange: 192.168.8.240-192.168.8.250
dashboard:
adminUsername: admin
certManager:
namespace: cert-manager
cloudflare:
domain: adam.tld
ownerId: cloud-adam-cluster

View File

@@ -0,0 +1,4 @@
cluster:
certManager:
cloudflare:
apiToken: <cloudflare api token>

37
my-scaffold/README.md Normal file
View File

@@ -0,0 +1,37 @@
# Your Wild-Cloud
## Getting started
### Install wild-cloud tools
```
# TBD
```
### Set up wild-cloud hardware
TBD
### Create your wild-cloud
```bash
wild init # Creates a .wildcloud dir and copies templates.
wild update # Updates templates
wild cluster init # Copies cluster templates
# Make your config and secrets changes.
wild cluster build
wild cluster apply
# Optional: Check in cluster files.
```
### Install Wild-Cloud apps
```bash
wild apps list
wild apps get <app>
wild apps build <app>
wild apps apply <app>
# Optional: Check in app templates.
```

View File

@@ -0,0 +1,48 @@
# My Wild-cloud Apps
This directory contains the definitions for _your_ wild-cloud apps. You can change them however you like. You should keep them all in git and make commits anytime you change something. Some `wild` commands will overwrite files in your app directory (like when you are updating apps, or updating your configuration) so you'll want to review any changes made to your files after using them using `git`.
## Usage
To list all available apps:
```bash
wild-cloud-app-list
```
### App Workflow
The Wild-cloud app workflow consists of three steps:
1. **Fetch** - Download raw app templates to cache
2. **Config** - Apply your local configuration to templates
3. **Deploy** - Deploy configured app to Kubernetes
### Commands
To fetch an app template to cache:
```bash
wild-app-fetch <app>
```
To apply your configuration to a cached app (automatically fetches if not cached):
```bash
wild-app-config <app>
```
To deploy a configured app to Kubernetes:
```bash
wild-app-deploy <app>
```
### Quick Setup
For a complete app setup and deployment:
```bash
wild-app-config <app> # Fetches if needed, then configures
wild-app-deploy <app> # Deploys to Kubernetes
```