You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.
StackHead CLI will be the only way to execute StackHead, it will therefore be the main component and is moved to this main repository.
Replace Ansible by custom Golang implementation
Ansible is dropped as we only use it for SSH connecting to the target server, install software there and process the project definition file. The CLI will take over all responsibilities of our Ansible usage.
It needs to do:
Establish SSH connection
Copy files to the target server via SSH
Execute commands on the target server via SSH
always: e.g. apt, mkdir
setup only: sudo, create users and groups
Setup all required software (as Ansible did before) (with sudo access)
Deploy the project (certificates, Terraform files, apply Terraform) with non-root stackhead user
Parse configuration files (project definition)
Generate Terraform files (and maybe others) from a template
Allow extending its functionality with Go plugins (see below)
.so files need to be placed at a special location on the executing system (folder: TBD)
plugins are expected to be hosted on GitHub. We may provide a plugin search endpoint which is a cached GitHub repository results view with a repository tag
required plugin structure: TBD
New block-based configuration schema
While YAML files are easy to process, a different, block-based config schema may be easier to maintain.
Furthermore the idea of configuration blocks is easier to grasp, as the documentation would describe the structure of each block and where they can be used.
Lower prio as this requires implementing a new parser. See #131
Additional features
Features planned for v1 may see implementation in v2:
This issue is used to collect all requirements for StackHead v2.
Based on the discussion on the Miro board: https://miro.com/app/board/o9J_lI-wpQM=/
Move StackHead CLI back to main repository
StackHead CLI will be the only way to execute StackHead, it will therefore be the main component and is moved to this main repository.
Replace Ansible by custom Golang implementation
Ansible is dropped as we only use it for SSH connecting to the target server, install software there and process the project definition file. The CLI will take over all responsibilities of our Ansible usage.
It needs to do:
apt
,mkdir
sudo
, create users and groupsTerraform files, apply Terraform) with non-root stackhead userGenerate Terraform files (and maybe others) from a templatePlugin systemsee #152New block-based configuration schema
While YAML files are easy to process, a different, block-based config schema may be easier to maintain.
Furthermore the idea of configuration blocks is easier to grasp, as the documentation would describe the structure of each block and where they can be used.
Lower prio as this requires implementing a new parser. See #131
Additional features
Features planned for v1 may see implementation in v2:
The text was updated successfully, but these errors were encountered: