# Java
*.class
*.jar
*.war
*.oar

# Eclipse
.project
.classpath
.settings

# Idea
.idea
*.iml
*.iws
*.ipr

# OS
Thumbs.db
.DS_Store

# Vagrant
.vagrant

# Docker registry
/registry

# Build
build

# Gradle
.gradle

# Ansible
ansible/*.retry

# Backup files
*.bak

# sub repos
platform-install
maas

# generated config
genconfig/*

# GitBook
_book
docs/api
docs/build_glossary.md
docs/platform-install
docs/profiles
docs/cord-tester
docs/xos
docs/xos-gui
docs/xos-tosca

# imagebuilder generated files
ib_actions.yml
ib_graph.dot

# kubespray
kubespray
