Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/woodpecker-ci/infrastructure
Infrastructure as Code repository for the official Woodpecker-CI infrastructure
https://github.com/woodpecker-ci/infrastructure
ansible woodpecker-ci woodpeckerci
Last synced: 18 days ago
JSON representation
Infrastructure as Code repository for the official Woodpecker-CI infrastructure
- Host: GitHub
- URL: https://github.com/woodpecker-ci/infrastructure
- Owner: woodpecker-ci
- Created: 2021-09-30T07:22:24.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-09T19:11:12.000Z (7 months ago)
- Last Synced: 2024-04-14T05:33:50.801Z (7 months ago)
- Topics: ansible, woodpecker-ci, woodpeckerci
- Language: Shell
- Homepage:
- Size: 144 KB
- Stars: 5
- Watchers: 5
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Woodpecker-CI Infrastructure
## Remote apply
Is done through Woodpecker-CI itself using the [woodpecker ansible plugin](https://codeberg.org/woodpecker-plugins/ansible).
On the `main` branch the "deployment" approach is used. This means that every run on the main branch will automatically check the changes and you can apply them by clicking the "deploy" button in the Woodpecker-CI UI.
## Local apply via docker
### Preparation
For reproducibility, a Dockerfile is provided to run the ansible playbook locally.
1. Save the ansible vault password under `vault-pass.secret`
2. Run `docker build -t ansible .`
3. Install dependencies: `./ansible.sh ansible-galaxy install -r requirements.yaml`### Provisioning
1. Run `./ansible.sh`
> [!NOTE]
> You can execute specific parts of the deployment by using a filter.
> For example to only update `woodpecker` you could use: `./ansible.sh ansible-playbook playbooks/run.yaml --tags woodpecker`## Local apply via nix
enter the environment:
```sh
nix develop -c $SHELL
```### Provisioning
run the playbook as usual:
```sh
ansible-playbook playbooks/run.yaml --tags woodpecker
```## SSH
- Use `./ssh.sh`. This will decrypt the local SSH key and connect to the server.
> [!NOTE]
> Only works if you have the vault password stored in `vault-pass.secret`