To use these files, you must first have the following installed:
- Docker
- Docker Compose (already included in Docker Desktop)
The following steps will run a local instance of quick-spin
using docker compose.
- Clone this repository.
- Change directory into the root of the project.
- Run the
docker compose up
command.
git clone https://github.com/armory-io/quick-spin.git
cd quick-spin
docker compose up
Open Spinnaker UI in your web browser: http://localhost:9000
If you want to stop quick-spin, you can use:
Ctrl + c
keyboard shortcut.docker compose stop
This stops running containers without removing them. They can be started again with docker compose start
If you want to remove containers, networks, volumes, and images created by up
:
docker compose down -v --rmi all
To run quick-spin using an image built locally (so not pulling from docker hub), do the following:
docker compose -f docker-compose-dev.yml up
On your host machine:
- Use
~/.spinnaker/config/quick-spin-profiles/spinnaker-quick-spin.yml
to define settings for all services. - Use
~/.spinnaker/config/quick-spin-profiles/{SERVICE_NAME}-quick-spin.yml
to define settings for a particular service.
By default, the quick-spin uses ~/.kube/config
file to get kubernetes configuration.
You can define a different patch for the config file in docker-compose.yml e.g.
services:
quick-spin:
volumes:
- type: bind
source: ~/.kube/config
target: /home/spinnaker/.kube/config
If you want to connect the quick spin to local kubernetes cluster e.g. kind, minikube then you need to open your kubernetes config file and
replace 127.0.0.1
or localhost
in server host with host.docker.internal
e.g.
# ~/.kube/config
apiVersion: v1
clusters:
- cluster:
server: https://127.0.0.1:53133
to
# ~/.kube/config
apiVersion: v1
clusters:
- cluster:
server: https://host.docker.internal:53133
If you want to create a namespace (quick-spin-sa
), a service account (quick-spin-sa
) with needed permissions and a kubeconfig (~/.kube/config
), you need to execute the shell script quick-spin/Docker/cluster-setup/create-resources.sh
.
! The script uses LOCAL_KUBECONFIG_FILE
variable, that needs to be updated with your kubeconfig full path. !
This kubeconfig is also used in docker-compose.yml
.