Keep ign8 and automate
Install and update ign8
pip install --upgrade ign8
Basic configuration
ign8 init
creates a basic ign8 configuration
/etc/ign8/ign8.json and /etc/ign8/secrets.json
{
"organization": [
{
"name": "ign8",
"meta":
{
"description": "Keep ign8 and automate",
"max_hosts": 100,
"default_environment": "Ansible Engine 2.9 execution environment",
"secrets": "files"
},
"projects": [
{
"name": "main",
"description": "Keep ign8 and automate",
"scm_type": "git",
"scm_url": "git@github.com:JakobHolstDK/openknowit_ansibleautomation_main.git",
"scm_branch": "main",
"credential": "github",
"master": "True"
}
],
"inventories": [
{
"name": "000_masterinventory",
"description": "Inventorycontaining all servers under automation control",
"variables": {
"serviceaccount": {
"name": "knowit",
"gecos": "Ansible automation manager"
}
},
"type": "static"
},
{
"name": "001_netboxinventory",
"description": "Inventory containing all servers in netbox",
"variables": {
"serviceaccount": {
"name": "knowit",
"gecos": "Ansible automation manager"
}
},
"type": "netbox"
}
],
"hosts": [
{
"name": "prodign8001.openknowit.com", "description": "Server cabable for running selfmaintainance", "inventories": ["000_masterinventory"]
}
],
"templates": [
{
"name": "000_ansibleautomationmanager_checkup",
"description": "Master job for self healing ansible automation as code",
"job_type": "run",
"inventory": "000_masterinventory",
"project": "main",
"EE": "Automation Hub Default execution environment",
"credentials": "ign8server",
"playbook": "checkup.yml"
},
{
"name": "000_ansibleautomationmanager_update",
"description": "Maintain ansible manager and prereqs",
"job_type": "run",
"inventory": "000_masterinventory",
"project": "main",
"EE": "Automation Hub Default execution environment",
"credentials": "ign8server",
"playbook": "ansiblemanager.yml"
}
],
"schedules": [
{
"name": "000_jobschedule_ansibleautomationmanager_checkup",
"type": "job",
"template": "000_ansibleautomationmanager_checkup",
"description": "Master job for ensuring connectivity",
"local_time_zone": "CET",
"run_every_minute": "5",
"start": "now",
"end": "never"
},
{
"name": "000_jobschedule_ansibleautomationmanager_update",
"type": "job",
"template": "000_ansibleautomationmanager_update",
"description": "Master job updating automation manager",
"local_time_zone": "CET",
"run_every_minute": "5",
"start": "now",
"end": "never"
},
{
"name": "000_projectschedule_ansibleautomationmanager",
"type": "project",
"project": "main",
"description": "Master job for syncing project main",
"local_time_zone": "CET",
"run_every_minute": "10",
"start": "now",
"end": "never"
}
],
"users":
{
"user_vault_path": "project/openknowit/users",
"description": "AD integration is mandatory"
},
"labels":
[
{
"name": "static"
},
{
"name": "production"
},
{
"name": "test"
}
]
}
]
}
and the secret.jsob
{
"ign8": {
"vault":
[
{
"name": "myvault",
"description": "Credentials to access a hashicorp vault",
"vault_id": "https://vault.example.com",
"vault_token": "/etc/ign8/vault.token"
}
],
# Here we have a simple server credential built using a file located on the ign8 server
"ssh": [
{
"name": "ign8server",
"username": "ign8",
"password": "/etc/ign8/ign8server.password",
"description": "Credentials to login to ign8 server and setup ign8 service",
"ssh_private_key": "/opt/ign8/ign8server_rsa",
"privilege_escalation_method": "sudo",
"privilege_escalation_username": "root",
"privilege_escalation_password": "/etc/ign8/ign8server.password"
},
{
"name": "productionserver",
"username": "root",
"password": "/etc/ign8/productionserver.password",
"description": "Credentials to login to productionservers",
"ssh_private_key": "/opt/ign8/prodservers_rsa",
"privilege_escalation_method": "sudo",
"privilege_escalation_username": "root",
"privilege_escalation_password": "xxx"
}
],
"scm":[
{
"name": "github",
"username": "Githubuser",
"password": "",
"description": "Credential to connect to git",
"type": "Source Control",
"ssh_private_key": "/opt/ign8/github",
"kind": "scm"
}
]
}
}
This is the README file for IGN8 you need this to access your ansible server
export TOWER_PASSWORD="" export TOWER_HOST="https://" export TOWER_USERNAME=""
{ "ign8": { "vault": { "vault_addr": "https://demo.vault.com", "vault_token": "xcvcvbdsfgsdsdfsdfsdf" }, "ssh": { "name": "ign8server", "username": "knowit", "password": "xxx", "descriptions": "Credentials to login to ign8 server and setup ign8 service", "ssh_private_key": "/opt/ign8/id_rsa", "privilege_escalation_method": "xxx" } }, "scm": {} }
Metadata
Release files for ign8 4.12.172
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ign8-4.12.172.tar.gz | 516.6 kB | Without provenance | Details for ign8-4.12.172.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ign8-4.12.172-py3-none-any.whl | Python 3 | none | any | Details for ign8-4.12.172-py3-none-any.whl |
Total release size: 1.1 MB
Release files / ign8-4.12.172.tar.gz
| Download URL | ign8-4.12.172.tar.gz |
|---|---|
| Size | 516.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f5a20d8bf1ec3776b7602e5b5dbf0a46cdb25cfc72b931f6d3727094032b780d
|
|
BLAKE2b-256 checksum How to use checksums |
709d49b919719b4e75835a1de2664b1b938399315385f2dc210d5e6c80f2bb37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.7
|
Release files / ign8-4.12.172-py3-none-any.whl
| Download URL | ign8-4.12.172-py3-none-any.whl |
|---|---|
| Size | 561.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9e8f7bf1245fc9397ad0c2af2974aecb4746d3b0aa6f8a4e793306b6b4be7420
|
|
BLAKE2b-256 checksum How to use checksums |
149225999ba7ed59eec2285505bfc42cb1544f0c02745d96ffb3b1706c7352e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.7
|
Security for ign8 4.12.172
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.