Commit graph

39 commits

Author SHA1 Message Date
ee910722cb
feat: add backup support for Code Flow
Add support for taking on demand backups of Code Flow.
Resolves flow/services#7
2023-12-17 08:51:11 +00:00
ce490db95d
refactor: internal actions package
Migrate all 'action' code to the new internal actions package to reduce
the number of internal packages.

Migrate the Bundle type to a separate package to avoid circular
dependencies.

Refactor code around bundle definition and download for relevant
services.
2023-11-26 07:46:10 +00:00
9d2d5f36cc
refactor: move deploy code to internal package
Move the deploy code to an internal package in preparation for the
support for multiple mage targets deploying services to the Flow
Platform.

Add an option to deploy a service in the foreground.
2023-11-25 15:52:25 +00:00
25325e2856
refactor: update project structure
Changes:

- Most of the go code is now located in internal packages.
- Code refactored and simplified in some cases.
- Removed the 'download' mage target and integrated the download code
  into the internal 'prepare' package.
- Moved all mage target code to magefile.go.
- Added missing descriptions to the mage targets.
- Updated go.mod.

Fixed:

- Created a custom function to validate the checksum of the
  downloaded Woodpecker tar file.
- Specified the environment when running 'clean'.
2023-11-24 09:56:35 +00:00
beb3826190
chore: upgrade GTS to v0.12.2
Also update magefiles to always enable logging to os.Stdout when
verifying downloaded files.
2023-11-17 22:11:46 +00:00
7937ecd50b
chore: upgrade Forgejo to v1.20.4-1
Upgrade Forgejo to v1.20.4-1

Also the URLs for the Forgejo files is now nicely formatted so the JSON
file for the Forgejo downloads is no longer needed and has been removed.
2023-09-22 12:42:10 +01:00
8172a6b64d
feat(mage): shutdown an environment
Add a mage target for shutting down an entire environment.
2023-08-28 15:23:12 +01:00
5dd6ab8ee6
feat(mage): add a target to stop services 2023-08-28 15:14:36 +01:00
18412e62cb
fix(forgejo): add support for enabling actions 2023-08-28 08:53:22 +01:00
dd339eb3d6
fix: template updates and code fixes
This commit comes after provisioning the development environment.

Changes:

- templates: template the container name.
- mage: update the deploy target to deploy to specific environments.
- compose: fix network ref.
- traefik: merge all dynamic templates into one file.
- woodpecker(dockerfile): remove commands to copy entrypoint to the
  docker container since the entrypoint has been removed.
- traefik: add support for using existing TLS certificates.
2023-08-28 04:04:40 +01:00
a51db2d523
feat: add environment support
Add support for deploying to different environments.
2023-08-27 04:11:48 +01:00
ba9a865b55
chore(traefik): remove mounted shared directory
The mounted shared directory is no longer needed for now so it will
removed from all containers that are mounting it.

Changes for Traefik:

- Build all dynamic configurations inside the Traefik container.
- Remove the mount point for the shared directory.
2023-08-26 13:25:41 +01:00
4eba300480
feat: add the landing page to Flow Platform
Welcome :)
2023-08-24 15:30:14 +01:00
2152024c11
chore: upgrade Forgejo to v1.20.3-0
- Upgrade Forgejo to v1.20.3-0
- Remove the FORGEJO_WORK_DIR environment variable in favour of the
  WORK_PATH setting in app.ini
- Updated storage configuration for avatar, attachements, repo-avatar
  and repo-archives
- Removed unsupported picture config. This is now managed under avatar
  and repo-avatar config
2023-08-21 22:01:43 +01:00
c7b5859ae6
chore: upgrade GTS to v0.11.0 and update config
- Upgrade GoToSocial to v0.11.0
- Template the base web directory
- Template the container's timezone
- Update the configuration template
2023-08-15 18:51:39 +01:00
032c080b99
fix(traefik): update Traefik deployment
- Upgrade Traefik to version 2.10.4.
- Remove the unused dashboard router and disable the dashboard.
- Remove the now unsupported pilot token.
2023-08-01 01:15:48 +01:00
baf5f13c51
chore: upgrade Woodpecker to v1.0.0
- Update the Woodpecker Dockerfile.
- Add .dockerignore to limit the context.
- Add code to download the Woodpecker binary.
- Refactor the prepare target.
2023-07-31 00:40:19 +01:00
428a59faaa
refactor(mage): refactor download code
- Refactor the code for the Download target to reduce repeated code
  and (hopefully) improve readability.
- The code now checks to see if each of the downloaded files already
  exists.
- The verification will always run if enabled regardless of whether the
  files are already downloaded or not.
2023-07-30 22:37:51 +01:00
e2e8424d1a
chore: upgrade Forgejo to v1.20.2-0 2023-07-30 18:05:30 +01:00
a4819c61c8
feat(gts): add background image for GTS
Add a background image for the custom CSS for GoToSocial.
2023-07-29 01:07:11 +01:00
55b53c78e5
fix(gts): template the landing-page-user config 2023-07-28 16:00:55 +01:00
da62c220b6
chore: upgrade Forgejo to v1.20.1-0
- Upgrade Forgejo to v1.20.1-0.
- Update the Dockerfile by removing the openssh-keygen binary as it is
  no longer used by default.
2023-07-25 12:37:23 +01:00
cdbbe2fce1
chore: upgrade GTS to v0.8.1 and update config 2023-07-21 18:54:27 +01:00
f151650726
chore: upgrade Forgejo to v1.19.4-0 2023-07-12 20:03:51 +01:00
bcd67bc3f6
feat: add Work Flow to Flow Platform
- Deploy Work Flow (woodpecker) to the Flow Platform.
- Enable oauth2 in Code Flow.
2023-05-11 23:17:46 +01:00
f390ddfe07
chore: upgrade Forgejo to v1.19.3-0 2023-05-09 22:30:39 +01:00
5be1d30b41
chore: upgrade Forgejo to v1.19.2-0 2023-05-09 22:00:43 +01:00
31e5035f8c
fix: change directory after downloading binaries 2023-04-27 08:19:14 +01:00
6c41a76830
chore: upgrade Forgejo to v1.19.1-0 2023-04-27 08:00:46 +01:00
bac140c246
chore: upgrade Forgejo to v1.19.0-3 2023-04-27 07:50:05 +01:00
042f3e2364
fix: build GTS docker image from base Alpine image
Changes:

- Update the Dockerfile template to build the GTS image from alpine:3.17.
- Add logic to download and verify GTS packages.
- Allow the Download target to be more forgiving for a service that does not need to download any files.
- The Download target is now a dependency to the Render target for all services that aren't named 'compose'.
- Update the path to the web files in the GTS config file.
- Update the entrypoint to use the correct path of the GTS executable file.

Chores:

- Remove unused DockerImageDigest setting from GTS config.
2023-02-26 17:14:39 +00:00
5f00909726
build(download): rename DownloadForgejo to Download 2023-02-25 21:16:20 +00:00
67510372ee
build(mage): update downloadForgejo target
- refactor the downloadForgejo logic
- add a step to validate the binary's digest
2023-02-25 21:00:23 +00:00
d23e6e531f
build: allow mage to deploy all services
- Mage can now render templates for all services using:
  mage render all

- Mage can now deploy all services using:
  mage deploy all

- Deploy now depends on Render

- If rendering Forgejo templates mage ensures that the Forgejo
  binary is downloaded first.
2023-02-24 18:07:08 +00:00
4e5ed6e9e5
build: add dependencies for render targets
- add downloading the forgejo binary as a dependency to rendering the
  forgejo templates.
- add rendering the compose file as a dependency for rendering
  non-compose targets.
2023-02-24 09:12:01 +00:00
78f31ab007
chore: deploy Forgejo v1.18.5-0
- Deploy Forgejo v1.18.5-0.
- Download the shasum file from Codeberg.
2023-02-24 08:23:19 +00:00
50f9d96d38
chore: upgrade Forgejo to v1.18.3-2 2023-02-23 19:00:18 +00:00
e5150965f2
chore: remove old build constraints syntax 2023-02-13 08:07:19 +00:00
3340ddc475
build: automation with Go and Mage
We shall now use Go and Mage to manage the Flow services. The templates
have been converted to Go templates, Mage has replaced Make and the
helper bash scripts have been rewritten in Go.
2023-02-12 20:59:55 +00:00