Commit Graph

203 Commits (bcb2e26f612e3a82651b2c36b6069fa64cd132d7)

Author SHA1 Message Date
Aravinth Manivannan 9d89bc071c
fet: show Gitea and woodpecker URIs in view instance page 2022-06-30 13:05:57 +05:30
Aravinth Manivannan f00746a36d
feat: notify user on instance creation 2022-06-30 01:10:55 +05:30
Aravinth Manivannan 53ec0a3982
fix: woodpecker and gitea construction typo 2022-06-30 01:08:22 +05:30
Aravinth Manivannan fc5a23e60a
feat: configurable VM base domain and customer Gitea and Woodpecker URI generators
SUMMARY

    The hostnames are partially generated by the Dashboard and
    enough.community.

    The stuff between angle brackets(`<>`) are substituted and filled-in
    by the Dashboard and the stuff between parenthesis(`{}`) are
    substituted and filled-in by enough.

URI FORMAT

    Gitea URI
	<vm-name>.{{ domain }}

    Woodpecker URI
	<vm-name>-ci.{{ domain }}

    Where domain is agreed to be equal to HOSTEA_DOMAIN

fixes: https://gitea.hostea.org/Hostea/dashboard/issues/11
2022-06-29 11:05:33 +05:30
Aravinth Manivannan e4c418b45b
feat: show Gitea admin's login credentials and send creds via email to admin 2022-06-29 00:49:58 +05:30
Aravinth Manivannan 1bab17193c
fix: sender's email addres typo in send_verification_email 2022-06-29 00:49:35 +05:30
Aravinth Manivannan b123bfa582
feat: grab commit ID after add_vm execution 2022-06-29 00:27:47 +05:30
Aravinth Manivannan 5ec87c83ec
feat: redirect user after successful payments for VM creation 2022-06-29 00:22:49 +05:30
Aravinth Manivannan e63719764a
fix: idempotency: change configuration in fleet repository too, when vm
create is re-run for the same VM with different configuration

fixes: https://gitea.hostea.org/Hostea/dashboard/issues/8
2022-06-28 23:57:02 +05:30
Aravinth Manivannan f7c0e8e296
chore: auto-cleanup ~/.ssh/known_hosts 2022-06-28 23:49:24 +05:30
Aravinth Manivannan 49ae2189d4
feat & fix: make vm create/rm commands idempotent
SUMMARY
    Commands are now tolerant to being invoked twice.

    Command: vm create
	Doesn't fail if VM of same name exists with the same
	configuration

	Doesn't fail if VM of the same name and different configuration
	exist. Updates configuration and deploys(pushes to Hostea/fleet
	repository) new configuration.

    Command: vm delete
	Doesn't fail if VM of given name doesn't exist
2022-06-28 20:54:21 +05:30
Aravinth Manivannan 8baefeb413
fix: don't save Gitea admin passwords in DB 2022-06-28 20:53:56 +05:30
Aravinth Manivannan e4a7310c79
feat & fix: don't append enough commands to hostscript and fix service.yml path 2022-06-28 14:47:21 +05:30
Aravinth Manivannan d4ab0156a7 Merge pull request 'gitea runs on port 22, ssh on port 2222' (#10) from dachary/dashboard:wip-service into master
Reviewed-on: https://gitea.hostea.org/Hostea/dashboard/pulls/10
2022-06-28 04:53:23 -04:00
Loïc Dachary 1eaa22b330
gitea runs on port 22, ssh on port 2222 2022-06-28 10:50:17 +02:00
Aravinth Manivannan 947479fc31
fix: enough remove command was hardcoded; fixed with customizable param 2022-06-28 13:49:43 +05:30
Aravinth Manivannan f68d051432
fix: provision.yml template error
ref: https://gitea.hostea.org/Hostea/dashboard/issues/9
2022-06-28 13:37:02 +05:30
Aravinth Manivannan caadd0783a
fix: hostscript path
fixes: https://gitea.hostea.org/Hostea/dashboard/issues/7
2022-06-28 12:00:47 +05:30
Aravinth Manivannan 71d4f793ba
feat: docs: vm management commands 2022-06-28 01:31:42 +05:30
Aravinth Manivannan 927c2a7703
feat: vm delete management command 2022-06-28 01:24:43 +05:30
Aravinth Manivannan 0606c4ade0
feat: vm create management command 2022-06-28 00:57:25 +05:30
Aravinth Manivannan d84021915f
fix: typo 2022-06-28 00:56:34 +05:30
Aravinth Manivannan 026a1a4c12
chore: refactor infrastructure/views.py; move VM creation to utility fn 2022-06-27 20:59:24 +05:30
Aravinth Manivannan 2dc1740aac
chore: refactor instance creation view 2022-06-27 20:43:02 +05:30
Aravinth Manivannan 3318ca8da2
feat: infrastructure tests: check if commits are pushed to remote 2022-06-27 04:53:52 +05:30
Aravinth Manivannan 8640fcf449
fix: ssh deploy key perms 2022-06-27 04:43:28 +05:30
Aravinth Manivannan f99420f51a
fix: ci gitea port 2022-06-27 04:40:41 +05:30
Aravinth Manivannan 8997d0ff0f
chore: cleanup config override in infrastructure/tests.py 2022-06-27 04:37:56 +05:30
Aravinth Manivannan ca8ffba55e
feat: setup CI to use CI gitea 2022-06-27 04:36:56 +05:30
Aravinth Manivannan 89d8206c34
feat: CI: load deploy key from oenv var 2022-06-27 04:36:23 +05:30
Aravinth Manivannan 9d6c33f194
feat: add infrastructure env vars 2022-06-27 04:35:45 +05:30
Aravinth Manivannan 0c0bb1bed7
feat: refactor and create commit 0 on fleet repository 2022-06-27 04:30:25 +05:30
Aravinth Manivannan 51b047fe40
fix: ssh port. server is started at 22 2022-06-27 04:30:12 +05:30
Aravinth Manivannan 6388e4de10
feat: CI local_settings.py loads config from env vars 2022-06-27 02:44:49 +05:30
Aravinth Manivannan 243880f6cc
feat: re-enable gitea service in docker-compose and CI env setup 2022-06-27 02:43:16 +05:30
Aravinth Manivannan 9c64690c12
feat: add test deployment keys 2022-06-26 04:52:01 +05:30
Aravinth Manivannan a4a34194f3
feat: add deploy key client implementation 2022-06-26 04:51:29 +05:30
Aravinth Manivannan 0dac5121fd
feat: enable gitea service and mv vars to separate script 2022-06-26 04:19:02 +05:30
Aravinth Manivannan 6115e734e6
feat: pkg docker 2022-06-26 04:19:02 +05:30
Aravinth Manivannan 442dd921a8
debug: is dashboard accessible? 2022-06-26 04:19:02 +05:30
Aravinth Manivannan 4996e33cad
debug: is maildev accessible? 2022-06-26 04:19:02 +05:30
Aravinth Manivannan b3ffe8c739
fix: run only tests only once 2022-06-26 04:19:01 +05:30
Aravinth Manivannan 28fe03b861
fix: run wget in quiet mode and adapt MAILDEV_URL based on environment 2022-06-26 04:19:01 +05:30
Aravinth Manivannan fb5267a13b
hotfix: run gitea on host 2022-06-26 04:19:01 +05:30
Aravinth Manivannan f019039497
hot fix: disable gitea service 2022-06-26 04:19:01 +05:30
Aravinth Manivannan 3c33d10ca0
fix: mv test dependency services to woodpecker config file 2022-06-26 04:19:01 +05:30
Aravinth Manivannan da318beb58
chore: install docker-compose in CI 2022-06-26 04:19:01 +05:30
Aravinth Manivannan 997e772195
fix: woodpecker config file syntax 2022-06-26 04:19:01 +05:30
Aravinth Manivannan 798a2f03d9
feat: integration testing
SUMMARY
    integration/__main__.py is a CLI-based HTTP client that can interact
    with Hostea Dashboard and Gitea.

    Integration tests are run via integration/tests.sh, which is a
    driver for the HTTP client at integration/__main__.py. The script is
    capable of spinning up a test environment consisting of services
    defined in docker-compose-dev-deps.yml and the Hostea Dashboard and
    tearing it down after a successful run.

    The credentials used to create various accounts and other parameters
    are all defined in integration/tests.sh script it self. So it is
    self contained.

CLIENT FUNCTIONALITY:

    HOSTEA DASHBOARD:
	 - register user with email verification
	 - login
	 - create OIDC app
	 - visit support page

    GITEA:
	 - Install Gitea(DB configuration, etc. The first form that's
	 presented to the visitor after a new instance is deployed)
	 - Register User
	 - Login User
	 - Create repository
	 - Configure OIDC SSO
	 - Login via SSO
2022-06-26 04:19:01 +05:30
Aravinth Manivannan 3fb756bd12
feat: use local gitea instance for hostea support in dev 2022-06-26 04:19:01 +05:30