0.7.0
This commit is contained in:
parent
dd9a9113ba
commit
83c30de44a
8 changed files with 340 additions and 14 deletions
|
|
@ -6,4 +6,4 @@ uglyURLs = true
|
||||||
disableKinds = ["taxonomy", "term", "RSS", "sitemap"]
|
disableKinds = ["taxonomy", "term", "RSS", "sitemap"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
description = "Enroll inspects Debian-like and RedHat-like Linux hosts and generates Ansible roles/playbooks from what it finds. Harvest → Manifest → Manage."
|
description = "Enroll inspects Debian-like and RedHat-like Linux hosts and generates Ansible, Puppet, or Salt manifests from what it finds. Harvest → Manifest → Manage."
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,14 @@
|
||||||
"minLength": 1,
|
"minLength": 1,
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"group": {
|
||||||
|
"minLength": 1,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"section": {
|
||||||
|
"minLength": 1,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"version": {
|
"version": {
|
||||||
"minLength": 1,
|
"minLength": 1,
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
|
@ -364,6 +372,12 @@
|
||||||
},
|
},
|
||||||
"type": "array"
|
"type": "array"
|
||||||
},
|
},
|
||||||
|
"section": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
"version": {
|
"version": {
|
||||||
"type": [
|
"type": [
|
||||||
"string",
|
"string",
|
||||||
|
|
@ -390,6 +404,16 @@
|
||||||
"package": {
|
"package": {
|
||||||
"minLength": 1,
|
"minLength": 1,
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
},
|
||||||
|
"has_config": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
"section": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
|
@ -571,6 +595,21 @@
|
||||||
"$ref": "#/$defs/UserEntry"
|
"$ref": "#/$defs/UserEntry"
|
||||||
},
|
},
|
||||||
"type": "array"
|
"type": "array"
|
||||||
|
},
|
||||||
|
"user_flatpaks": {
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/$defs/FlatpakInstall"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"user_flatpak_remotes": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/$defs/FlatpakRemote"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
|
@ -652,6 +691,256 @@
|
||||||
"notes"
|
"notes"
|
||||||
],
|
],
|
||||||
"type": "object"
|
"type": "object"
|
||||||
|
},
|
||||||
|
"SysctlSnapshot": {
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"role_name": {
|
||||||
|
"const": "sysctl"
|
||||||
|
},
|
||||||
|
"managed_files": {
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/$defs/ManagedFile"
|
||||||
|
},
|
||||||
|
"type": "array"
|
||||||
|
},
|
||||||
|
"parameters": {
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"notes": {
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"type": "array"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"role_name",
|
||||||
|
"managed_files",
|
||||||
|
"parameters",
|
||||||
|
"notes"
|
||||||
|
],
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"FlatpakInstall": {
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"minLength": 1
|
||||||
|
},
|
||||||
|
"method": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"system",
|
||||||
|
"user"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"remote": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"branch": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"arch": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"kind": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
],
|
||||||
|
"enum": [
|
||||||
|
"app",
|
||||||
|
"runtime",
|
||||||
|
null
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ref": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"home": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"from_url": {
|
||||||
|
"type": "string",
|
||||||
|
"minLength": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"name",
|
||||||
|
"method"
|
||||||
|
],
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"FlatpakRemote": {
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"minLength": 1
|
||||||
|
},
|
||||||
|
"method": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"system",
|
||||||
|
"user"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"url": {
|
||||||
|
"type": "string",
|
||||||
|
"minLength": 1
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"home": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"name",
|
||||||
|
"method",
|
||||||
|
"url"
|
||||||
|
],
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"SnapInstall": {
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"minLength": 1
|
||||||
|
},
|
||||||
|
"channel": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"revision": {
|
||||||
|
"type": [
|
||||||
|
"integer",
|
||||||
|
"null"
|
||||||
|
],
|
||||||
|
"minimum": 0
|
||||||
|
},
|
||||||
|
"classic": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"devmode": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"dangerous": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"notes": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"install_revision": {
|
||||||
|
"type": "boolean"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"name"
|
||||||
|
],
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"FlatpakSnapshot": {
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"role_name": {
|
||||||
|
"const": "flatpak"
|
||||||
|
},
|
||||||
|
"system_flatpaks": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/$defs/FlatpakInstall"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"remotes": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/$defs/FlatpakRemote"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notes": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"role_name"
|
||||||
|
],
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"SnapSnapshot": {
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"role_name": {
|
||||||
|
"const": "snap"
|
||||||
|
},
|
||||||
|
"system_snaps": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/$defs/SnapInstall"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notes": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"role_name"
|
||||||
|
],
|
||||||
|
"type": "object"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"$id": "https://enroll.sh/schema/state.schema.json",
|
"$id": "https://enroll.sh/schema/state.schema.json",
|
||||||
|
|
@ -762,6 +1051,15 @@
|
||||||
},
|
},
|
||||||
"firewall_runtime": {
|
"firewall_runtime": {
|
||||||
"$ref": "#/$defs/FirewallRuntimeSnapshot"
|
"$ref": "#/$defs/FirewallRuntimeSnapshot"
|
||||||
|
},
|
||||||
|
"sysctl": {
|
||||||
|
"$ref": "#/$defs/SysctlSnapshot"
|
||||||
|
},
|
||||||
|
"flatpak": {
|
||||||
|
"$ref": "#/$defs/FlatpakSnapshot"
|
||||||
|
},
|
||||||
|
"snap": {
|
||||||
|
"$ref": "#/$defs/SnapSnapshot"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
|
|
||||||
19
src/themes/enroll-theme/layouts/news/list.html
Normal file
19
src/themes/enroll-theme/layouts/news/list.html
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
{{ .Content | safeHTML }}
|
||||||
|
<main class="py-5">
|
||||||
|
<div class="container">
|
||||||
|
<div class="row g-4">
|
||||||
|
{{ range .Pages.ByDate.Reverse }}
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<article class="feature-card p-4 h-100">
|
||||||
|
<div class="small text-secondary mb-2">{{ .Date.Format "2 January 2006" }}</div>
|
||||||
|
<h2 class="h4 fw-bold mb-2"><a class="link-dark text-decoration-none" href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
|
||||||
|
{{ with .Params.summary }}<p class="text-secondary">{{ . }}</p>{{ end }}
|
||||||
|
<a class="btn btn-sm btn-outline-dark" href="{{ .RelPermalink }}">Read more</a>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
{{ end }}
|
||||||
3
src/themes/enroll-theme/layouts/news/single.html
Normal file
3
src/themes/enroll-theme/layouts/news/single.html
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
{{ .Content | safeHTML }}
|
||||||
|
{{ end }}
|
||||||
|
|
@ -3,12 +3,14 @@
|
||||||
<div class="row g-4 align-items-start">
|
<div class="row g-4 align-items-start">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="d-flex align-items-center gap-2 mb-2">
|
<div class="d-flex align-items-center gap-2 mb-2">
|
||||||
<img class="brand-mark" src="assets/img/enroll.svg" alt="Enroll">
|
<img class="brand-mark" src="{{ "assets/img/enroll.svg" | relURL }}" alt="Enroll">
|
||||||
<div class="fw-bold">Enroll (a mig5 project)</div>
|
<div class="fw-bold">Enroll (a mig5 project)</div>
|
||||||
<span class="badge badge-soft rounded-pill">CLI</span>
|
<span class="badge badge-soft rounded-pill">CLI</span>
|
||||||
<span class="badge badge-soft rounded-pill">Ansible</span>
|
<span class="badge badge-soft rounded-pill">Ansible</span>
|
||||||
|
<span class="badge badge-soft rounded-pill">Puppet</span>
|
||||||
|
<span class="badge badge-soft rounded-pill">Salt</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-secondary mb-3">Reverse-engineering servers into Ansible.</div>
|
<div class="text-secondary mb-3">Reverse-engineering servers into Ansible, Puppet, or Salt.</div>
|
||||||
|
|
||||||
<div class="d-flex flex-wrap gap-2">
|
<div class="d-flex flex-wrap gap-2">
|
||||||
<a class="btn btn-sm btn-outline-dark" href="https://git.mig5.net/mig5/enroll" target="_blank" rel="noreferrer">
|
<a class="btn btn-sm btn-outline-dark" href="https://git.mig5.net/mig5/enroll" target="_blank" rel="noreferrer">
|
||||||
|
|
@ -26,10 +28,11 @@
|
||||||
<div class="col-lg-3">
|
<div class="col-lg-3">
|
||||||
<div class="fw-semibold mb-2">Site</div>
|
<div class="fw-semibold mb-2">Site</div>
|
||||||
<ul class="list-unstyled small mb-0">
|
<ul class="list-unstyled small mb-0">
|
||||||
<li><a class="link-secondary text-decoration-none" href="docs.html">Docs</a></li>
|
<li><a class="link-secondary text-decoration-none" href="{{ "docs.html" | relURL }}">Docs</a></li>
|
||||||
<li><a class="link-secondary text-decoration-none" href="examples.html">Examples</a></li>
|
<li><a class="link-secondary text-decoration-none" href="{{ "examples.html" | relURL }}">Examples</a></li>
|
||||||
<li><a class="link-secondary text-decoration-none" href="schema.html">Schema</a></li>
|
<li><a class="link-secondary text-decoration-none" href="{{ "news.html" | relURL }}">News</a></li>
|
||||||
<li><a class="link-secondary text-decoration-none" href="security.html">Security Design</a></li>
|
<li><a class="link-secondary text-decoration-none" href="{{ "schema.html" | relURL }}">Schema</a></li>
|
||||||
|
<li><a class="link-secondary text-decoration-none" href="{{ "security.html" | relURL }}">Security Design</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,4 +21,4 @@
|
||||||
<!-- Bootstrap -->
|
<!-- Bootstrap -->
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" rel="stylesheet">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" rel="stylesheet">
|
||||||
<link href="assets/css/site.css" rel="stylesheet">
|
<link href="{{ "assets/css/site.css" | relURL }}" rel="stylesheet">
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<nav class="navbar navbar-expand-lg bg-white bg-opacity-75 sticky-top border-bottom" data-bs-theme="light">
|
<nav class="navbar navbar-expand-lg bg-white bg-opacity-75 sticky-top border-bottom" data-bs-theme="light">
|
||||||
<div class="container py-1">
|
<div class="container py-1">
|
||||||
<a class="navbar-brand fw-bold d-flex align-items-center gap-2" href="index.html">
|
<a class="navbar-brand fw-bold d-flex align-items-center gap-2" href="{{ "index.html" | relURL }}">
|
||||||
<img class="brand-mark" src="assets/img/enroll.svg" alt="Enroll">
|
<img class="brand-mark" src="{{ "assets/img/enroll.svg" | relURL }}" alt="Enroll">
|
||||||
<span>Enroll</span>
|
<span>Enroll</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
@ -13,13 +13,16 @@
|
||||||
<div class="collapse navbar-collapse" id="nav">
|
<div class="collapse navbar-collapse" id="nav">
|
||||||
<ul class="navbar-nav ms-auto align-items-lg-center gap-lg-2">
|
<ul class="navbar-nav ms-auto align-items-lg-center gap-lg-2">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="docs.html">Docs</a>
|
<a class="nav-link" href="{{ "docs.html" | relURL }}">Docs</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="examples.html">Examples</a>
|
<a class="nav-link" href="{{ "examples.html" | relURL }}">Examples</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="security.html">Security Design</a>
|
<a class="nav-link" href="{{ "news.html" | relURL }}">News</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="{{ "security.html" | relURL }}">Security Design</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="nav-item ms-lg-2">
|
<li class="nav-item ms-lg-2">
|
||||||
|
|
|
||||||
|
|
@ -5,4 +5,4 @@
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
<script src="assets/js/site.js"></script>
|
<script src="{{ "assets/js/site.js" | relURL }}"></script>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue