chore: update md
This commit is contained in:
parent
30a38fbebd
commit
74f5c7b540
@ -19,6 +19,9 @@
|
|||||||
|
|
||||||
// Code blocks - fenced only
|
// Code blocks - fenced only
|
||||||
"MD046": { "style": "fenced" }, // code-block-style
|
"MD046": { "style": "fenced" }, // code-block-style
|
||||||
|
// NOTE: MD040 only checks for missing language on opening fence.
|
||||||
|
// It does NOT catch malformed closing fences with language specifiers (e.g., ```plaintext).
|
||||||
|
// Custom pre-commit hook required to enforce proper closing fence syntax.
|
||||||
|
|
||||||
// Formatting - strict whitespace
|
// Formatting - strict whitespace
|
||||||
"MD009": true, // no-hard-tabs
|
"MD009": true, // no-hard-tabs
|
||||||
@ -73,7 +76,7 @@
|
|||||||
"MD035": false, // hr-style (consistent)
|
"MD035": false, // hr-style (consistent)
|
||||||
"MD036": false, // no-emphasis-as-heading
|
"MD036": false, // no-emphasis-as-heading
|
||||||
"MD044": false, // proper-names
|
"MD044": false, // proper-names
|
||||||
"MD060": false // table-column-style (formatting preference)
|
"MD060": true // table-column-style (enforce proper table formatting)
|
||||||
},
|
},
|
||||||
|
|
||||||
// Documentation patterns
|
// Documentation patterns
|
||||||
@ -93,6 +96,7 @@
|
|||||||
".coder/**",
|
".coder/**",
|
||||||
".claude/**",
|
".claude/**",
|
||||||
".wrks/**",
|
".wrks/**",
|
||||||
".vale/**"
|
".vale/**",
|
||||||
|
"extensions/providers/*/kcl/docs/**"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,4 +24,4 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
```plaintext
|
```
|
||||||
|
|||||||
@ -96,6 +96,6 @@ Security fixes are highlighted in CHANGELOG.md with [SECURITY] prefix.
|
|||||||
- [Rust Security](https://www.rust-lang.org/governance/security-disclosures)
|
- [Rust Security](https://www.rust-lang.org/governance/security-disclosures)
|
||||||
- [npm Security](https://docs.npmjs.com/about-npm/security)
|
- [npm Security](https://docs.npmjs.com/about-npm/security)
|
||||||
|
|
||||||
## Questions?
|
## Questions
|
||||||
|
|
||||||
If you have security questions (not vulnerabilities), open a discussion or issue with the `security` label.
|
If you have security questions (not vulnerabilities), open a discussion or issue with the `security` label.
|
||||||
|
|||||||
@ -14,7 +14,7 @@ cd provisioning
|
|||||||
|
|
||||||
# Run bootstrap
|
# Run bootstrap
|
||||||
./provisioning/bootstrap/install.sh
|
./provisioning/bootstrap/install.sh
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
### What it Does (7 Stages)
|
### What it Does (7 Stages)
|
||||||
|
|
||||||
@ -32,13 +32,13 @@ cd provisioning
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
./provisioning/bootstrap/install.sh
|
./provisioning/bootstrap/install.sh
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
### Nushell Direct
|
### Nushell Direct
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nu provisioning/bootstrap/install.nu $(pwd)
|
nu provisioning/bootstrap/install.nu $(pwd)
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ workspace_librecloud/
|
|||||||
├── .providers/ ← Provider state
|
├── .providers/ ← Provider state
|
||||||
├── .taskservs/ ← Task service data
|
├── .taskservs/ ← Task service data
|
||||||
└── .clusters/ ← Cluster data
|
└── .clusters/ ← Cluster data
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Differences from Rust Installer
|
## Differences from Rust Installer
|
||||||
|
|
||||||
@ -105,13 +105,13 @@ sudo apt install nushell
|
|||||||
sudo yum install nushell
|
sudo yum install nushell
|
||||||
|
|
||||||
# Or: https://nushell.sh/book/installation.html
|
# Or: https://nushell.sh/book/installation.html
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
### "Docker not installed"
|
### "Docker not installed"
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# https://docs.docker.com/get-docker/
|
# https://docs.docker.com/get-docker/
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
### "Rust not installed"
|
### "Rust not installed"
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ sudo yum install nushell
|
|||||||
# https://rustup.rs/
|
# https://rustup.rs/
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||||
rustup default stable
|
rustup default stable
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
### "Configuration validation failed"
|
### "Configuration validation failed"
|
||||||
|
|
||||||
@ -132,7 +132,7 @@ vim workspace_librecloud/config/config.ncl
|
|||||||
|
|
||||||
# Re-run bootstrap
|
# Re-run bootstrap
|
||||||
./provisioning/bootstrap/install.sh
|
./provisioning/bootstrap/install.sh
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
### "Orchestrator didn't start"
|
### "Orchestrator didn't start"
|
||||||
|
|
||||||
@ -146,7 +146,7 @@ cd provisioning/platform/orchestrator
|
|||||||
|
|
||||||
# Check health
|
# Check health
|
||||||
curl http://localhost:9090/health
|
curl http://localhost:9090/health
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## After Bootstrap
|
## After Bootstrap
|
||||||
|
|
||||||
@ -191,7 +191,7 @@ print "────────────────────────
|
|||||||
|
|
||||||
print " ✅ Done"
|
print " ✅ Done"
|
||||||
print ""
|
print ""
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
### Modify Existing Stages
|
### Modify Existing Stages
|
||||||
|
|
||||||
@ -208,7 +208,7 @@ provisioning/bootstrap/
|
|||||||
├── validators.nu # Validation helpers (future)
|
├── validators.nu # Validation helpers (future)
|
||||||
├── generators.nu # Generator helpers (future)
|
├── generators.nu # Generator helpers (future)
|
||||||
└── README.md # This file
|
└── README.md # This file
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Comparison to Old Rust Installer
|
## Comparison to Old Rust Installer
|
||||||
|
|
||||||
|
|||||||
49
deny.toml
49
deny.toml
@ -1,23 +1,12 @@
|
|||||||
# Generated by dev-system/ci
|
# Cargo-deny configuration
|
||||||
# Configuration for cargo-deny
|
|
||||||
# See: https://embarkstudios.github.io/cargo-deny/
|
# See: https://embarkstudios.github.io/cargo-deny/
|
||||||
|
|
||||||
[advisories]
|
[advisories]
|
||||||
# The path where the advisory database is cloned/fetched into
|
|
||||||
db-path = "~/.cargo/advisory-db"
|
db-path = "~/.cargo/advisory-db"
|
||||||
# The url(s) of the advisory databases to use
|
|
||||||
db-urls = ["https://github.com/rustsec/advisory-db"]
|
db-urls = ["https://github.com/rustsec/advisory-db"]
|
||||||
# How to handle crates with security vulnerabilities
|
|
||||||
vulnerability = "deny"
|
|
||||||
# How to handle unmaintained crates
|
|
||||||
unmaintained = "warn"
|
|
||||||
# How to handle crates that have been yanked from crates.io
|
|
||||||
yanked = "warn"
|
|
||||||
|
|
||||||
[licenses]
|
[licenses]
|
||||||
# The lint level for crates which do not have a detectable license
|
|
||||||
unlicensed = "deny"
|
unlicensed = "deny"
|
||||||
# List of explicitly allowed licenses
|
|
||||||
allow = [
|
allow = [
|
||||||
"MIT",
|
"MIT",
|
||||||
"MIT-0",
|
"MIT-0",
|
||||||
@ -28,47 +17,11 @@ allow = [
|
|||||||
"ISC",
|
"ISC",
|
||||||
"Unicode-DFS-2016",
|
"Unicode-DFS-2016",
|
||||||
]
|
]
|
||||||
# List of explicitly disallowed licenses
|
|
||||||
deny = [
|
|
||||||
"GPL-2.0",
|
|
||||||
"GPL-3.0",
|
|
||||||
"AGPL-3.0",
|
|
||||||
]
|
|
||||||
# Lint level for licenses considered copyleft
|
|
||||||
copyleft = "warn"
|
|
||||||
# Blanket approval or denial for OSI-approved or FSF Free/Libre licenses
|
|
||||||
allow-osi-fsf-free = "both"
|
|
||||||
# Lint level used when no other predicates are matched
|
|
||||||
default = "deny"
|
|
||||||
|
|
||||||
[bans]
|
[bans]
|
||||||
# Lint level for when multiple versions of the same crate are detected
|
|
||||||
multiple-versions = "warn"
|
multiple-versions = "warn"
|
||||||
# Lint level for when an allow-listed crate is detected without an exact version
|
|
||||||
allow = [
|
|
||||||
# Each entry can be just the name and an optional wildcard version.
|
|
||||||
# This would ideally be pulled from Cargo.lock deps to keep up to date
|
|
||||||
# but that is more complex. It depends on the use case.
|
|
||||||
]
|
|
||||||
# Each entry must be a single version number
|
|
||||||
deny = [
|
|
||||||
# Each entry is a crate name. Optionally with a version
|
|
||||||
]
|
|
||||||
# Certain crates/versions that will be skipped when doing duplicate detection
|
|
||||||
skip = [
|
|
||||||
# { name = "ansi_term", version = "<= 0.11.0" }
|
|
||||||
]
|
|
||||||
# Similarly named crates that are allowed to coexist
|
|
||||||
skip-tree = [
|
|
||||||
# { name = "windows", version = "<=0.46.0" }
|
|
||||||
]
|
|
||||||
|
|
||||||
[sources]
|
[sources]
|
||||||
# Lint level for what to happen when a crate from a crate registry that is not in the allow list is detected
|
|
||||||
unknown-registry = "deny"
|
unknown-registry = "deny"
|
||||||
# Lint level for what to happen when a crate from a Git repository that is not in the allow list is detected
|
|
||||||
unknown-git = "deny"
|
unknown-git = "deny"
|
||||||
# The allow list of crate registries
|
|
||||||
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
|
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
|
||||||
# The allow list of Git repositories
|
|
||||||
allow-git = []
|
|
||||||
|
|||||||
@ -29,7 +29,7 @@ cd /Users/Akasha/project-provisioning
|
|||||||
|
|
||||||
# Verify installation
|
# Verify installation
|
||||||
kcl list packages | grep provisioning
|
kcl list packages | grep provisioning
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Step 2: Create Workspace
|
## Step 2: Create Workspace
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ cd workspace/infra/production-k8s
|
|||||||
|
|
||||||
# Verify structure
|
# Verify structure
|
||||||
tree -a .
|
tree -a .
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
Expected output:
|
Expected output:
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ Expected output:
|
|||||||
├── tmp/
|
├── tmp/
|
||||||
├── resources/
|
├── resources/
|
||||||
└── clusters/
|
└── clusters/
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Step 3: Discover Available Modules
|
## Step 3: Discover Available Modules
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ Expected output:
|
|||||||
|
|
||||||
# Check output formats
|
# Check output formats
|
||||||
../../../provisioning/core/cli/module-loader discover taskservs --format json
|
../../../provisioning/core/cli/module-loader discover taskservs --format json
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Step 4: Load Required Modules
|
## Step 4: Load Required Modules
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ Expected output:
|
|||||||
# Verify loading
|
# Verify loading
|
||||||
../../../provisioning/core/cli/module-loader list taskservs .
|
../../../provisioning/core/cli/module-loader list taskservs .
|
||||||
../../../provisioning/core/cli/module-loader list providers .
|
../../../provisioning/core/cli/module-loader list providers .
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
Check generated files:
|
Check generated files:
|
||||||
|
|
||||||
@ -103,7 +103,7 @@ cat providers.k
|
|||||||
# Check manifest
|
# Check manifest
|
||||||
cat .manifest/taskservs.yaml
|
cat .manifest/taskservs.yaml
|
||||||
cat .manifest/providers.yaml
|
cat .manifest/providers.yaml
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Step 5: Configure Infrastructure
|
## Step 5: Configure Infrastructure
|
||||||
|
|
||||||
@ -284,7 +284,7 @@ production_servers: [server.Server] = [
|
|||||||
settings = k8s_settings
|
settings = k8s_settings
|
||||||
servers = production_servers
|
servers = production_servers
|
||||||
}
|
}
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Step 6: Validate Configuration
|
## Step 6: Validate Configuration
|
||||||
|
|
||||||
@ -297,7 +297,7 @@ kcl run servers.k
|
|||||||
|
|
||||||
# Check workspace info
|
# Check workspace info
|
||||||
../../../provisioning/tools/workspace-init.nu . info
|
../../../provisioning/tools/workspace-init.nu . info
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Step 7: Configure Provider Credentials
|
## Step 7: Configure Provider Credentials
|
||||||
|
|
||||||
@ -335,7 +335,7 @@ upcloud_defaults: defaults.ServerDefaults = {
|
|||||||
|
|
||||||
upcloud_defaults
|
upcloud_defaults
|
||||||
EOF
|
EOF
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Step 8: Deploy Infrastructure
|
## Step 8: Deploy Infrastructure
|
||||||
|
|
||||||
@ -348,7 +348,7 @@ EOF
|
|||||||
|
|
||||||
# Monitor server creation
|
# Monitor server creation
|
||||||
../../../provisioning/core/cli/provisioning server list --infra .
|
../../../provisioning/core/cli/provisioning server list --infra .
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Step 9: Install Taskservs
|
## Step 9: Install Taskservs
|
||||||
|
|
||||||
@ -361,7 +361,7 @@ EOF
|
|||||||
|
|
||||||
# Install Cilium CNI
|
# Install Cilium CNI
|
||||||
../../../provisioning/core/cli/provisioning taskserv create cilium --infra .
|
../../../provisioning/core/cli/provisioning taskserv create cilium --infra .
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Step 10: Verify Cluster
|
## Step 10: Verify Cluster
|
||||||
|
|
||||||
@ -377,7 +377,7 @@ kubectl get services -A
|
|||||||
# Test Cilium connectivity
|
# Test Cilium connectivity
|
||||||
cilium status
|
cilium status
|
||||||
cilium connectivity test
|
cilium connectivity test
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Step 11: Deploy Sample Application
|
## Step 11: Deploy Sample Application
|
||||||
|
|
||||||
@ -394,7 +394,7 @@ kubectl expose deployment nginx --port=80 --type=ClusterIP -n test-app
|
|||||||
# Verify deployment
|
# Verify deployment
|
||||||
kubectl get pods -n test-app
|
kubectl get pods -n test-app
|
||||||
kubectl get services -n test-app
|
kubectl get services -n test-app
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Step 12: Cluster Management
|
## Step 12: Cluster Management
|
||||||
|
|
||||||
@ -408,7 +408,7 @@ kubectl get services -n test-app
|
|||||||
# Deploy monitoring stack
|
# Deploy monitoring stack
|
||||||
../../../provisioning/core/cli/provisioning taskserv create prometheus --infra .
|
../../../provisioning/core/cli/provisioning taskserv create prometheus --infra .
|
||||||
../../../provisioning/core/cli/provisioning taskserv create grafana --infra .
|
../../../provisioning/core/cli/provisioning taskserv create grafana --infra .
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Step 13: Backup and Documentation
|
## Step 13: Backup and Documentation
|
||||||
|
|
||||||
@ -436,7 +436,7 @@ cat > cluster-info.md << 'EOF'
|
|||||||
- upcloud (cloud provider)
|
- upcloud (cloud provider)
|
||||||
|
|
||||||
## Management Commands
|
## Management Commands
|
||||||
```bash
|
```
|
||||||
# SSH to master
|
# SSH to master
|
||||||
../../../provisioning/core/cli/provisioning server ssh k8s-master-01 --infra .
|
../../../provisioning/core/cli/provisioning server ssh k8s-master-01 --infra .
|
||||||
|
|
||||||
@ -455,7 +455,7 @@ cp -r . ../production-k8s-backup-$(date +%Y%m%d)
|
|||||||
git add .
|
git add .
|
||||||
git commit -m "Initial Kubernetes cluster deployment with package system"
|
git commit -m "Initial Kubernetes cluster deployment with package system"
|
||||||
|
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
@ -467,7 +467,7 @@ git commit -m "Initial Kubernetes cluster deployment with package system"
|
|||||||
|
|
||||||
# Check generated imports
|
# Check generated imports
|
||||||
cat taskservs.k
|
cat taskservs.k
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
### KCL Compilation Issues
|
### KCL Compilation Issues
|
||||||
|
|
||||||
@ -477,7 +477,7 @@ kcl check servers.k
|
|||||||
|
|
||||||
# Validate specific schemas
|
# Validate specific schemas
|
||||||
kcl run --dry-run servers.k
|
kcl run --dry-run servers.k
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
### Provider Authentication Issues
|
### Provider Authentication Issues
|
||||||
|
|
||||||
@ -487,7 +487,7 @@ cat .providers/upcloud/provision_upcloud.k
|
|||||||
|
|
||||||
# Verify credentials
|
# Verify credentials
|
||||||
../../../provisioning/core/cli/provisioning server price --provider upcloud
|
../../../provisioning/core/cli/provisioning server price --provider upcloud
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
### Kubernetes Setup Issues
|
### Kubernetes Setup Issues
|
||||||
|
|
||||||
@ -497,7 +497,7 @@ tail -f tmp/k8s-deployment/kubernetes-*.log
|
|||||||
|
|
||||||
# Verify SSH connectivity
|
# Verify SSH connectivity
|
||||||
../../../provisioning/core/cli/provisioning server ssh k8s-master-01 --infra . --command "systemctl status kubelet"
|
../../../provisioning/core/cli/provisioning server ssh k8s-master-01 --infra . --command "systemctl status kubelet"
|
||||||
```plaintext
|
```
|
||||||
|
|
||||||
## Next Steps
|
## Next Steps
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user