Overview of Halyard Conventions¶
Quick commands:
# Deploy full Spinnaker in rolling fashion starting with bootstrap Services
hal deploy apply
Service Names¶
- clouddriver-bootstrap
- clouddriver
- Interfaces with all Cloud Providers: AWS, Kubernetes, etc.
- consul-client
- consul-server
- deck
- Web UI served by Apache 2 by default
- Talks directly to Gate for all information
- echo
- fiat
- front50
- gate
- Main entry point for every API call
- The web UI makes calls to this API directly, which is why it needs to be publicly accessible
- Makes backend calls to all Spinnaker Services
- igor
- Interfaces with Continuous Integration (CI) Providers: Jenkins
- Stores credentials for Git Repository Providers: GitHub
- Scans for changes to trigger Pipelines
- kayenta
- Service introduced into mainline version 1.7.0
- Provides Automated Canary Analysis (ACA)
- monitoring-daemon
- orca-bootstrap
- orca
- redis-bootstrap
- redis
- rosco
- Controls the Bake Stage for creating machine images: AMIs
- Uses Packer underneath to provision machines and run configuration management
- vault-client
- vault-server
Service Settings¶
Override Kubernetes Service Settings¶
To override Kubernetes Service settings in the generated file
.hal/default/history/service-settings.yml
, create a file
.hal/default/service-settings/SERVICE.yml
.
Example .hal/default/service-settings/echo.yml
:
kubernetes:
podAnnotations:
sumologic.com/format: text
sumologic.com/sourceCategory: spinnaker/echo
sumologic.com/sourceName: echo
env:
JAVA_OPTS: -Xms2g -Xmx2g
Override Spring Profile Settings¶
To override settings Spring Profile settings, create a file
.hal/default/profiles/SERVICE-local.yml
.
Example .hal/default/profiles/clouddriver-local.yml
:
serviceLimits:
cloudProviderOverrides:
aws:
rateLimit: 15
Swagger APIs¶
Most Spinnaker Services have a Swagger UI for exploration of the API hosted at http://localhost:${PORT}/swagger-ui.html. The only publicly facing Service with Swagger is Gate. Use Kubernetes to port forward for all other private Services.
kubectl --namespace spinnaker get pods # Find the Pod for the Spinnaker Service
kubectl --namespace spinnaker get services # Find the exposed port
kubectl --namespace spinnaker port-forward ${POD_NAME} ${PORT}
# Go to http://localhost:${PORT}/swagger-ui.html
Common Services with useful APIs:¶
- Clouddriver
- Gate