railiance: initial bootstrap scaffold
Some checks failed
railiance-tests / smoke (push) Has been cancelled
Some checks failed
railiance-tests / smoke (push) Has been cancelled
This commit is contained in:
7
.editorconfig
Normal file
7
.editorconfig
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
root = true
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
11
.github/workflows/tests.yml
vendored
Normal file
11
.github/workflows/tests.yml
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
name: railiance-tests
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
smoke:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: K8s smoke (placeholder)
|
||||||
|
run: |
|
||||||
|
echo "Provide kubeconfig in CI or run locally:"
|
||||||
|
echo " KUBECONFIG=/etc/rancher/k3s/k3s.yaml ./tests/smoke_kube.sh"
|
||||||
17
.gitignore
vendored
Normal file
17
.gitignore
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# OS
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# Python
|
||||||
|
__pycache__/
|
||||||
|
*.pyc
|
||||||
|
|
||||||
|
# Ansible artifacts
|
||||||
|
*.retry
|
||||||
|
|
||||||
|
# Helm build
|
||||||
|
charts/*/charts/
|
||||||
|
charts/*/tmp/
|
||||||
|
|
||||||
|
# Local secrets (do not commit)
|
||||||
|
secrets/
|
||||||
|
*.enc
|
||||||
18
README.md
Normal file
18
README.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# railiance-bootstrap
|
||||||
|
|
||||||
|
**Railiance Bootstrap** — opinionated, reproducible IaC to rebuild Coulomb infra from scratch.
|
||||||
|
|
||||||
|
## Goals
|
||||||
|
- Two Linux machines + this Git repo + credentials ⇒ full rebuild
|
||||||
|
- GitOps-first with ArgoCD/Flux
|
||||||
|
- OODA (Observe→Orient→Decide→Act) encoded as pipelines
|
||||||
|
- Tests define success at every step
|
||||||
|
|
||||||
|
## Layout
|
||||||
|
```
|
||||||
|
ansible/ # host bootstrap
|
||||||
|
helm/ # charts & values
|
||||||
|
k8s/ # raw manifests/CRDs
|
||||||
|
tests/ # expectation tests (bash/py)
|
||||||
|
docs/ # operator notes, OODA SOPs
|
||||||
|
```
|
||||||
25
ansible/bootstrap.yml
Normal file
25
ansible/bootstrap.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
---
|
||||||
|
- name: Railiance host bootstrap
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: Ensure base packages
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- curl
|
||||||
|
- git
|
||||||
|
- jq
|
||||||
|
update_cache: yes
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install k3s (server)
|
||||||
|
shell: |
|
||||||
|
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --write-kubeconfig-mode=644" sh -
|
||||||
|
args: { creates: /usr/local/bin/k3s }
|
||||||
|
|
||||||
|
- name: Verify k3s node
|
||||||
|
shell: k3s kubectl get nodes
|
||||||
|
register: nodes
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- debug: var=nodes.stdout_lines
|
||||||
5
docs/OODA.md
Normal file
5
docs/OODA.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# OODA in Railiance
|
||||||
|
- Observe: telemetry & test results
|
||||||
|
- Orient: AI analyzes deltas & proposes remediations
|
||||||
|
- Decide: specify → review → authorize (Git PR)
|
||||||
|
- Act: GitOps applies automatically (human independent)
|
||||||
5
tests/smoke_kube.sh
Normal file
5
tests/smoke_kube.sh
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
kubectl get nodes
|
||||||
|
kubectl get ns
|
||||||
|
echo "[OK] basic k8s API reachable"
|
||||||
Reference in New Issue
Block a user