Frequently Asked Questions
Find answers to common questions about Odin deployment platform. Installation, deployment, troubleshooting, and more.
Everything you need to know about Odin. Can't find what you're looking for? Reach out on GitHub Discussions.
Getting Started
What is Odin?
Odin is a CLI-based deployment platform that enables you to define software once and deploy it anywhere, any number of times. It moves software operations from engineers to machines, eliminating the bottleneck of managing shared environments.
Who should use Odin?
Odin is ideal for development teams, DevOps engineers, and organizations that need consistent deployments across multiple environments. It's particularly valuable for teams struggling with shared environment conflicts, those running microservices, or companies deploying across multiple cloud providers.
How is Odin different from other deployment tools?
Odin focuses on environment parity and ephemeral environments. Unlike traditional tools, you write one service definition that works identically across EC2 and Kubernetes, development and production. It's designed for speed and simplicity without sacrificing production-grade features.
Is Odin open source?
Yes! Odin is open source and available on GitHub. We welcome contributions from the community and actively maintain multiple repositories for different components.
What does "ephemeral environments" mean?
Ephemeral environments are temporary, isolated environments that can be created on-demand and destroyed when no longer needed. With Odin, you can spin up a complete environment for a feature branch, test it, and tear it down—all with simple commands.
Installation & Setup
What are the prerequisites for installing Odin?
Odin requires a Kubernetes cluster (for K8s deployments) or access to EC2 instances. You'll also need kubectl,
helm, and basic cloud provider credentials. Full system requirements are available in our
installation guide.
How do I install Odin?
Installation is simple:
curl -fsSL https://ds-horizon.github.io/odin/install.sh | bash For production deployments, use our Helm charts. Detailed instructions are in the Getting Started guide.
Can I use Odin with my existing infrastructure?
Yes! Odin is designed to work with existing Kubernetes clusters and EC2 infrastructure. It doesn't require infrastructure changes—just configuration of your cloud provider credentials.
How do I configure multiple environments?
Odin supports multiple profiles. You can configure different backend environments (dev, staging, production) and switch between
them using the odin profile commands.
Do I need to install Odin on every machine?
Only the Odin CLI needs to be installed on machines where you'll run deployment commands. The backend services (deployer, orchestrator) run in your cluster or on dedicated infrastructure.
Deployment & Operations
What is a Service Definition?
A Service Definition is a JSON file that describes your application's components, dependencies, and deployment requirements. It's the blueprint that Odin uses to provision environments and deploy services consistently across platforms. Learn more in the Service Concepts documentation.
What's the difference between SNAPSHOT and CONCRETE versions?
SNAPSHOT versions are mutable and used for rapid development and QA iteration—they can be updated without changing the version number. CONCRETE versions are immutable releases for production, ensuring consistency and enabling safe rollbacks.
How do I deploy to production safely?
Odin includes built-in validation, confirmation prompts for production environments, health checks, and automatic rollback capabilities.
Use CONCRETE versions in production and leverage the --confirm flag for critical operations.
Can I deploy to multiple cloud providers?
Yes! The same Service Definition works across different cloud providers. You can deploy to AWS EC2, Kubernetes on GKE, AKS, or EKS—all with consistent configuration. See Provisioning for details.
How do I scale services?
Use the odin component scale command to adjust the number of instances for a component. Odin handles the orchestration
and ensures proper service discovery updates.
Troubleshooting
My deployment is stuck. What should I do?
First, check the deployment status with odin service status. Review logs with odin task history to see
detailed execution logs. Common causes include:
- Resource constraints (CPU, memory, disk)
- Networking issues (security groups, firewall rules)
- Misconfigured service definitions
- Missing dependencies or prerequisites
How do I debug a failed deployment?
Use odin task history to view detailed logs of the failed deployment. Check component health with
odin component status. Verify your service definition syntax and ensure all required resources are available.
Where can I find logs?
Deployment logs are available through odin task history. Application logs depend on your logging setup
(Fluent Bit, Elasticsearch, etc.). Odin integrates with common logging solutions.
How do I rollback a deployment?
Deploy a previous CONCRETE version using odin service deploy with the desired version number. Odin maintains
version history, making rollbacks simple and safe.
Enterprise & Scaling
Is Odin suitable for enterprise use?
Yes! Odin is production-ready and used by teams managing critical infrastructure. It includes enterprise features like audit trails, RBAC support, and multi-tenancy capabilities.
How does Odin handle secrets and sensitive data?
Odin integrates with your existing secrets management solutions. You can reference secrets in service definitions, and Odin securely injects them at deployment time without exposing sensitive data.
Can multiple teams use Odin independently?
Yes! Odin supports multiple organizations, accounts, and environments. Teams can work in isolation with their own environments while sharing the same infrastructure.
How do I get support?
Community support is available through GitHub Issues and Discussions. For enterprise support, consulting, and training, contact the DS Horizon team.