16 Commits

Author SHA1 Message Date
Jon
694b3209f2 feat(centurion): add ansible collection centurion
!1
2024-07-30 18:25:33 +09:30
Jon
4f9fc48eaa feat(centurion_erp): rename doc path
nofusscomputing/projects/centurion_erp#74 closes #18
2024-07-10 03:41:11 +09:30
Jon
2eb7870e57 Merge branch 'automated-tasks' into 'development'
chore(website-template): Automated update of git sub-module

See merge request nofusscomputing/infrastructure/website!63
2024-06-30 18:18:33 +00:00
Jon
433770ffa3 fix: build docs on api trigger
!63
2024-07-01 03:45:10 +09:30
e649d7e711 chore(git): updated submodule website-template
Automation Data:
{
    "branch": "development",
    "current_commit": "67ca423aaa61fc6f6901459973c12b191abc328d)",
    "name": "website-template",
    "path": "/builds/nofusscomputing/infrastructure/website/_automation_/website-template",
    "remote_head": "8735f623dc5e1d9c9e46e50db03b4c41cb3d1efd)",
    "remote_name": "origin",
    "url": "https://gitlab.com/nofusscomputing/infrastructure/website-template.git"
}

Changes: Submodule path website-template: checked out 8735f623dc5e1d9c9e46e50db03b4c41cb3d1efd

MR !63
2024-06-30 18:03:33 +00:00
Jon
5f59921c70 Merge branch 'feat-django-itsm' into 'development'
feat: django itsm

See merge request nofusscomputing/infrastructure/website!62
2024-06-17 07:49:38 +00:00
Jon
4efb97b728 chore: update git submodules to current heads
!62 nofusscomputing/projects/django_template!27
2024-06-17 17:13:47 +09:30
Jon
20726d1712 feat(project): add django itsm docs
!62 nofusscomputing/projects/django_template!27
2024-06-17 17:08:38 +09:30
Jon
bf732b3238 feat: publish netbox collection docs
nofusscomputing/projects/ansible/collections/netbox!5
2024-04-09 16:37:53 +09:30
Jon
e415c4f112 feat(project): add docker bind
!60
2024-03-20 14:31:55 +09:30
Jon
e0ca7c7a25 fix(firewall): remove link from ansible roles
!60
2024-03-18 22:54:47 +09:30
Jon
03f88d7300 feat(firewall): fix nav
!60
2024-03-18 22:50:47 +09:30
Jon
acf5d9fe58 feat(firewall): add project to nav
!60
2024-03-18 22:44:07 +09:30
Jon
b22bde4f61 feat(firewall): update project path
!60
2024-03-16 21:33:48 +09:30
Jon
1eb98c187b Merge branch 'collection_ansible' into 'development'
feat: restructure kube role to collection

See merge request nofusscomputing/infrastructure/website!61
2024-03-13 10:57:01 +00:00
Jon
3458e89ee0 feat(kubernetes_collection): restructured from role to collection
!61 nofusscomputing/projects/ansible/kubernetes!37
2024-03-13 20:19:54 +09:30
12 changed files with 163 additions and 150 deletions

View File

@ -21,6 +21,26 @@ Get Project Documentation:
parallel:
matrix:
- ASSEMBLE_PROJECT_NAME: centurion
ASSEMBLE_PROJECT_ID: 59504579
ASSEMBLE_PROJECT_PATH: projects/ansible/collection/centurion
- ASSEMBLE_PROJECT_NAME: firewall
ASSEMBLE_PROJECT_ID: 51640016
ASSEMBLE_PROJECT_PATH: projects/ansible/collection/firewall
- ASSEMBLE_PROJECT_NAME: django_template
ASSEMBLE_PROJECT_ID: 57560288
ASSEMBLE_PROJECT_PATH: projects/centurion_erp
- ASSEMBLE_PROJECT_NAME: kubernetes
ASSEMBLE_PROJECT_ID: 51640029
ASSEMBLE_PROJECT_PATH: projects/ansible/collection/kubernetes
- ASSEMBLE_PROJECT_NAME: netbox
ASSEMBLE_PROJECT_ID: 56568566
ASSEMBLE_PROJECT_PATH: projects/ansible/collection/netbox
- ASSEMBLE_PROJECT_NAME: phpipam_scan_agent
ASSEMBLE_PROJECT_ID: 55052132
ASSEMBLE_PROJECT_PATH: projects/ansible/collection/phpipam_scan_agent
@ -37,6 +57,10 @@ Get Project Documentation:
ASSEMBLE_PROJECT_ID: 45705596
ASSEMBLE_PROJECT_PATH: projects/ansible/roles/git_configuration
- ASSEMBLE_PROJECT_NAME: docker-bind
ASSEMBLE_PROJECT_ID: 52098058
ASSEMBLE_PROJECT_PATH: projects/docker/bind
- ASSEMBLE_PROJECT_NAME: docker-mail
ASSEMBLE_PROJECT_ID: 33611657
ASSEMBLE_PROJECT_PATH: projects/docker-mail
@ -65,18 +89,10 @@ Get Project Documentation:
ASSEMBLE_PROJECT_ID: 52226103
ASSEMBLE_PROJECT_PATH: projects/ansible/roles/common
- ASSEMBLE_PROJECT_NAME: firewall
ASSEMBLE_PROJECT_ID: 51640016
ASSEMBLE_PROJECT_PATH: projects/ansible/roles/firewall
- ASSEMBLE_PROJECT_NAME: homeassistant
ASSEMBLE_PROJECT_ID: 51020674
ASSEMBLE_PROJECT_PATH: projects/ansible/roles/homeassistant
- ASSEMBLE_PROJECT_NAME: kubernetes
ASSEMBLE_PROJECT_ID: 51640029
ASSEMBLE_PROJECT_PATH: projects/ansible/roles/kubernetes
- ASSEMBLE_PROJECT_NAME: itil_runbooks
ASSEMBLE_PROJECT_ID: 54680811
ASSEMBLE_PROJECT_PATH: projects/itil/runbooks
@ -100,12 +116,119 @@ Website.Lint:
extends: .Lint_Markdown_Docs
variables:
MDLINT_PATHS: "pages/*.md pages/**/*.md pages/**/**/*.md pages/**/**/**/*.md pages/**/**/**/**/**/*.md #CHANGELOG.md !gitlab-ci !website-template"
rules:
- if: '$JOB_STOP_LINT_MARKDOWN_DOCS'
when: never
- if: # condition_git_tag
$CI_COMMIT_TAG != null &&
$CI_COMMIT_BRANCH == null
exists:
- '{docs/**,pages/**}/*.md'
when: always
- if: # condition_master_branch_push
$CI_COMMIT_BRANCH == "master" &&
$CI_PIPELINE_SOURCE == "push"
exists:
- '{docs/**,pages/**}/*.md'
when: always
- if: # condition_dev_branch_push
$CI_COMMIT_BRANCH &&
(
$CI_PIPELINE_SOURCE == "api"
||
$CI_PIPELINE_SOURCE == "pipeline"
||
$CI_PIPELINE_SOURCE == "push"
||
$CI_PIPELINE_SOURCE == "schedule"
)
# See nofusscomputing/projects/gitlab-ci#34 for extra $CI_PIPELINE_SOURCE
exists:
- '{docs/**,pages/**}/*.md'
# No changes check # See nofusscomputing/projects/gitlab-ci#34
# changes:
# paths:
# - '{docs/**,pages/**}/*.md'
# compare_to: 'master'
when: always
- if: # condition_not_master_or_dev_push
$CI_COMMIT_BRANCH != "master" &&
$CI_COMMIT_BRANCH != "development" &&
$CI_PIPELINE_SOURCE == "push"
exists:
- '{docs/**,pages/**}/*.md' # works
changes:
paths:
#- '{docs/*,pages/*}*.md'
- '{docs/**,pages/**}/*.md'
compare_to: 'development'
when: always
- when: never
Website.Build:
extends: .MKDocs_Build
needs: [ 'Website.Lint' ]
resource_group: build
rules:
- if: '$JOB_STOP_MKDOCS_BUILD'
when: never
- if: # condition_git_tag
$CI_COMMIT_TAG != null &&
$CI_COMMIT_BRANCH == null
exists:
- 'mkdocs.{yaml,yml}'
when: always
# - if: # condition_master_branch_push
# $CI_COMMIT_BRANCH == "master" &&
# $CI_PIPELINE_SOURCE == "push"
# exists:
# - 'mkdocs.{yaml,yml}'
# when: always
- if: # condition_dev_branch_push
$CI_COMMIT_BRANCH &&
(
$CI_PIPELINE_SOURCE == "api"
||
$CI_PIPELINE_SOURCE == "pipeline"
||
$CI_PIPELINE_SOURCE == "push"
||
$CI_PIPELINE_SOURCE == "schedule"
)
# See nofusscomputing/projects/gitlab-ci#34 for extra $CI_PIPELINE_SOURCE
exists:
- 'mkdocs.{yaml,yml}'
# No changes check # See nofusscomputing/projects/gitlab-ci#34
# changes:
# paths:
# - '{docs/**,pages/**}/*.md'
# compare_to: 'master'
when: always
- if: # condition_not_master_or_dev_push
$CI_COMMIT_BRANCH != "master" &&
$CI_COMMIT_BRANCH != "development" &&
$CI_PIPELINE_SOURCE == "push"
exists:
- 'mkdocs.{yaml,yml}'
changes:
paths:
- '{docs/**,pages/**}/*.md'
compare_to: 'development'
when: always
- when: never
Merge Project Docs:

View File

@ -57,7 +57,11 @@
)
||
(
$CI_COMMIT_BRANCH == "development"
(
$CI_COMMIT_BRANCH == "development"
||
$CI_COMMIT_BRANCH != "master"
)
&&
(
$CI_PIPELINE_SOURCE == "pipeline"
@ -131,7 +135,11 @@
)
||
(
$CI_COMMIT_BRANCH == "development"
(
$CI_COMMIT_BRANCH == "development"
||
$CI_COMMIT_BRANCH != "master"
)
&&
(
$CI_PIPELINE_SOURCE == "pipeline"

View File

@ -41,6 +41,22 @@ nav:
- projects/ansible/collection/index.md
- Centurion:
- projects/ansible/collection/centurion/index.md
- Firewall:
- projects/ansible/collection/firewall/index.md
- Kubernetes:
- projects/ansible/collection/kubernetes/index.md
- netbox:
- projects/ansible/collection/netbox/index.md
- phpIPAM Scan Agent:
- projects/ansible/collection/phpipam_scan_agent/index.md
@ -57,10 +73,6 @@ nav:
- projects/ansible/roles/common/index.md
- Firewall:
- projects/ansible/roles/firewall/index.md
- Git Configuration:
- projects/ansible/roles/git_configuration/index.md
@ -69,10 +81,6 @@ nav:
- projects/ansible/roles/homeassistant/index.md
- Kubernetes:
- projects/ansible/roles/kubernetes/index.md
- Testing:
- projects/ansible/roles/ansible_test/index.md
@ -93,12 +101,12 @@ nav:
- projects/docker-mail/index.md
- Centurion ERP:
- projects/centurion_erp/index.md
- Gitlab CI: projects/gitlab-ci/index.md
- Infrastructure:
- projects/infrastructure/index.md
- ITIL:
- Runbooks:

View File

@ -15,14 +15,10 @@ Our roles:
- Docker Management
- [Firewall](firewall/index.md)
- Git Configuration
- [Home Assistant](homeassistant/index.md)
- [Kubernetes](kubernetes/index.md)
- SSH

View File

View File

@ -1,122 +0,0 @@
---
title: Infrastructure
description: No Fuss Computings Infrastructure project using open source software
date: 2024-01-13
template: project.html
about: https://gitlab.com/nofusscomputing/projects/ansible
---
This infrastructure project exists as an example of computing infrastructure that is based on open source software. The idea is to demonstrate ways of using open source software for your computing infrastructure whether it be for the home or enterprise user. Whilst a lot of my hardware is not enterprise grade equipment, The devices I use will serve as a proof of concept. Particular focus of this project is going to be spent on automation. Why? Simply put, it reduces the requirement for additional people to achieve the same economy of effort. _Oh, and cause I can!!_
## Goal
Design, build and deploy computing infrastructure using open source software that could be used by both the enterprise and home user and wherever possible, simplify to lower the bar of entry.
## Requirements
- Automated
- multi-site
- multi-tenant
## Areas
The areas of infrastructure that are covered are as detailed:
- Certificate Authority
- HyperVisor - _KubeVirt via K3s Kubernetes_
- Identity Management - _IPA_
- Identity Provider (SSO) - _Keycloak_
- IT Operations (ITOPs)
- Backup Management
- Computer Lifecycle Management - _GLPI_
- Help desk - _GLPI_
- IP Address Management (IPAM) - _phpIPAM_
- Knowledge Management
- Playbooks
- Runbooks
- Logging Management
- Metrics Management
- Remote Desktop Support - _Mesh Central_
- Software Library - _Pulp?????_
- IT Service Management (ITSM)
- Change Management - _GLPI_
- Config Management - _AWX_
- Enterprise Service Management (ESM)
- Incident Management - _GLPI_
- IT Asset Management - _GLPI_
- Patch Management - _Foreman_
- Problem Management - _GLPI_
- Request Management - _GLPI_
- Service Catalog - _GLPI_
- Secrets Management - _Hashicorp Vault_
- Security Management
- Networking
- DNS - _Bind??_
- DHCP
- Radius
- TFTP
- Password Storage
- Storage - _Ceph_
- Virtual Desktop Infrastructure (VDI) - _Mesh Central ???_
- Website - _Markdown built with MKDocs_
## Workflow
Within the IT world there are multiple working components to support the business goal. With this in mind, workflows are required for the start and endpoints of the lifecycle of those components. This can be broken down into two items that become the workflows for the infrastructure, they are:
- Devices
- People
For the remainder of the infrastructure and services workflows, fall under one of the areas mentioned above. There is an argument to be made that devices do too; however have defined here due to a potential for a rare occasion that the ITOPS workflows were not followed, that the devices would still be captured.
### Devices
Of particular importance is the infrastructure's devices. whether they be Computers, Servers, Laptops etc. There must be workflows that are followed that cater for: discovery, existence and absence; without this it's likely that you will miss a device.
### People
Without a workflow for people, why are you even building the infrastructure?? As people access the system there must be workflows like devices that cater for: New, discovery, existence, absence and leaving. Defining these workflows will aid in management as well as define the requirements which can be used as the start point for automating the workflows.