Skip to main content

Ignite it all.

Project description

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"
    }
   ]
  }
}

Python Logo

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": {} }

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ign8-4.12.172.tar.gz (516.6 kB view details)

Uploaded Source

Built Distribution

ign8-4.12.172-py3-none-any.whl (561.0 kB view details)

Uploaded Python 3

File details

Details for the file ign8-4.12.172.tar.gz.

File metadata

  • Download URL: ign8-4.12.172.tar.gz
  • Upload date:
  • Size: 516.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.7

File hashes

Hashes for ign8-4.12.172.tar.gz
Algorithm Hash digest
SHA256 f5a20d8bf1ec3776b7602e5b5dbf0a46cdb25cfc72b931f6d3727094032b780d
MD5 e6939d7a96bc2bf13a71994b40c3dbf5
BLAKE2b-256 709d49b919719b4e75835a1de2664b1b938399315385f2dc210d5e6c80f2bb37

See more details on using hashes here.

File details

Details for the file ign8-4.12.172-py3-none-any.whl.

File metadata

  • Download URL: ign8-4.12.172-py3-none-any.whl
  • Upload date:
  • Size: 561.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.7

File hashes

Hashes for ign8-4.12.172-py3-none-any.whl
Algorithm Hash digest
SHA256 9e8f7bf1245fc9397ad0c2af2974aecb4746d3b0aa6f8a4e793306b6b4be7420
MD5 e54f9add6e5bd2f8bd247fae83968a58
BLAKE2b-256 149225999ba7ed59eec2285505bfc42cb1544f0c02745d96ffb3b1706c7352e1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page