For more detailed information on how to contribute to the development of Rancher projects, refer to the . The wiki has resources on many topics, including the following:
- How to set up the Rancher development environment and run tests
- The typical flow of an issue through the development lifecycle
- Coding guidelines and development best practices
- Debugging and troubleshooting
- Developing the Rancher API
On the Rancher Users Slack, the channel for developers is #developer.
Repositories
All of repositories are located within our main GitHub organization. There are many repositories used for Rancher, but we’ll provide descriptions of some of the main ones used in Rancher.
To see all libraries/projects used in Rancher, see the in the rancher/rancher
repository.
Rancher components used for provisioning/managing Kubernetes clusters.
Building
Every repository should have a Makefile and can be built using the make
command. The make
targets are based on the scripts in the /scripts
directory in the repository, and each target will use to run the target in an isolated environment. The Dockerfile.dapper
will be used for this process, and includes all the necessary build tooling needed.
Bugs, Issues or Questions
If you find any bugs or are having any trouble, please search the as someone may have experienced the same issue or we are actively working on a solution.
If you can’t find anything related to your issue, contact us by filing an issue. Though we have many repositories related to Rancher, we want the bugs filed in the Rancher repository so we won’t miss them! If you want to ask a question or ask fellow users about an use case, we suggest creating a post on the .
Please follow this checklist when filing an issue which will helps us investigate and fix the issue. More info means more data we can use to determine what is causing the issue or what might be related to the issue.
- Resources: Provide as much as detail as possible on the used resources. As the source of the issue can be many things, including as much of detail as possible helps to determine the root cause. See some examples below:
- Operating System: What operating system are you using? Providing specifics helps here like the output of
cat /etc/os-release
for exact OS release anduname -r
for exact kernel used - Docker: What Docker version are you using, how did you install it? Most of the details of Docker can be found by supplying output of
docker version
anddocker info
- Environment: Are you in a proxy environment, are you using recognized CA/self signed certificates, are you using an external loadbalancer
- Rancher: What version of Rancher are you using, this can be found on the bottom left of the UI or be retrieved from the image tag you are running on the host
- Clusters: What kind of cluster did you create, how did you create it, what did you specify when you were creating it
- Operating System: What operating system are you using? Providing specifics helps here like the output of
- Steps to reproduce the issue: Provide as much detail on how you got into the reported situation. This helps the person to reproduce the situation you are in.
- Provide manual steps or automation scripts used to get from a newly created setup to the situation you reported.
Logs: Provide data/logs from the used resources.
Rancher
- Docker install
- Docker install using on each of the nodes in the RKE cluster
- Kubernetes Install with RKE Add-On
System logging (these might not all exist, depending on operating system)
/var/log/messages
/var/log/syslog
/var/log/kern.log
Docker daemon logging (these might not all exist, depending on operating system)
/var/log/docker.log
- Metrics: If you are experiencing performance issues, please provide as much of data (files or screenshots) of metrics which can help determining what is going on. If you have an issue related to a machine, it helps to supply output of
top
,free -m
,df
which shows processes/memory/disk usage.
Docs
If you have any updates to our documentation, please make any pull request to our docs repo.
: This repo is where all the docs for Rancher 2.x are located. They are located in the
content
folder in the repo.