It's the same as here, so you can assume that when you navigate
to /docs
there is an Adminstrator with admin:admin
username:password!
It's the same as here, so you can assume that when you navigate
to /#/login
you can login using admin:admin
as username:password.
For internal Vnets to talk to eachother, we can do either of the following:
- When creating a VM, choose the Vnet of choice (only one should exist)
- If you did not choose the same Vnet, you should create a "Peering" which connects Vnets! This means, VMs can communicate by using their internal IP!
ghcr.io/jgenc/devops-backend
, a FastAPI backend. You can access/docs
to see the OpenAPI and to see what methods exists, or you can refer to the repository'sopenapi.json
file here. Try using/api/auth/login
with Postman or any other similar softwareghcr.io/jgenc/devops-fronend-prod
, an NGINX image that serves a SolidJS SPA. It is implemented using a hash mode router (meaning all routes must start with '#', i.e./#/login
is valid but/login
is not!). Quite performant and good looking.
The docker-compose.yml
file will deploy the whole stack to a target, either if that's a VM, local installation, kubernetes, you name it. It pulls the latest docker images and it is tested both on Vagrant VMs and on my local machine.
Sometimes, when running vagrant up backend
and afterwards I another command, let's say
vagrant up db
, this just does nothing! Well, I finally figured out why. The fix is the following
Kill all processes that are associated with:
- vagrant
- virt
I know that this sounds weird, but it fixed my weird errors...
The backend component has a docker and a VM implementation, whilst the frontend component has docker-jenkins, docker, nginx-vm, and vite implementations. The vite
one is used for local development, it's quite handy.
ansible-playbook -i hosts.yml -l azure-deploy-1 playbooks/frontend-docker.yml
ansible-playbook -i hosts.yml -l frontend playbooks/frontend-nginx-vm.yml
ansible-playbook -i hosts.yml -l azure-deploy-1 playbooks/backend-vm.yml
ansible-playbook -i hosts.yml -l backend playbooks/backend-docker.yml
All files are under the k8s
folder. There you can find files for the backend component, the frontend component, the database and the certbot. Backend and Frontend both contain an ingress file, which is useful to route all backend api calls to HOST_URL/api
and all frontend to HOST_URL/
(-> /HOST_URL/#/
because of the hash mode router!)
If you want to install this to your cluster you have to kubectl apply -f <file-name>
all files that are relevant to you
- Modify
frontend.env.yml
- Modify
frontend-ingress.yml
- Apply all the files under
k8s/frontend
to your cluster
And you should be ready to go! Same applies to the k8s/backend
and k8s/db
folders