| | |
| | | import com.gitblit.Constants.AccessPermission; |
| | | import com.gitblit.Constants.AccessRestrictionType; |
| | | import com.gitblit.Constants.FederationToken; |
| | | import com.gitblit.GitBlit; |
| | | import com.gitblit.IStoredSettings; |
| | | import com.gitblit.Keys; |
| | | import com.gitblit.fanout.FanoutNioService; |
| | |
| | | import com.gitblit.models.RepositoryModel; |
| | | import com.gitblit.models.UserModel; |
| | | import com.gitblit.service.FederationPullService; |
| | | import com.gitblit.transport.ssh.SshDaemon; |
| | | import com.gitblit.utils.IdGenerator; |
| | | import com.gitblit.utils.StringUtils; |
| | | import com.gitblit.utils.TimeUtils; |
| | | |
| | |
| | | |
| | | private final IStoredSettings settings; |
| | | |
| | | private final GitBlit gitblit; |
| | | private final IGitblit gitblit; |
| | | |
| | | private FanoutService fanoutService; |
| | | |
| | | private GitDaemon gitDaemon; |
| | | |
| | | public ServicesManager(GitBlit gitblit) { |
| | | private SshDaemon sshDaemon; |
| | | |
| | | public ServicesManager(IGitblit gitblit) { |
| | | this.settings = gitblit.getSettings(); |
| | | this.gitblit = gitblit; |
| | | } |
| | |
| | | configureFederation(); |
| | | configureFanout(); |
| | | configureGitDaemon(); |
| | | configureSshDaemon(); |
| | | |
| | | return this; |
| | | } |
| | |
| | | } |
| | | if (gitDaemon != null) { |
| | | gitDaemon.stop(); |
| | | } |
| | | if (sshDaemon != null) { |
| | | sshDaemon.stop(); |
| | | } |
| | | return this; |
| | | } |
| | |
| | | } |
| | | } else { |
| | | logger.info("Git Daemon is disabled."); |
| | | } |
| | | } |
| | | |
| | | protected void configureSshDaemon() { |
| | | int port = settings.getInteger(Keys.git.sshPort, 0); |
| | | String bindInterface = settings.getString(Keys.git.sshBindInterface, "localhost"); |
| | | if (port > 0) { |
| | | try { |
| | | sshDaemon = new SshDaemon(gitblit, new IdGenerator()); |
| | | sshDaemon.start(); |
| | | } catch (IOException e) { |
| | | sshDaemon = null; |
| | | logger.error(MessageFormat.format("Failed to start SSH daemon on {0}:{1,number,0}", bindInterface, port), e); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | private class FederationPuller extends FederationPullService { |
| | | |
| | | public FederationPuller(FederationModel registration) { |
| | | super(Arrays.asList(registration)); |
| | | super(gitblit, Arrays.asList(registration)); |
| | | } |
| | | |
| | | public FederationPuller(List<FederationModel> registrations) { |
| | | super(registrations); |
| | | super(gitblit, registrations); |
| | | } |
| | | |
| | | @Override |
| | |
| | | "Next pull of {0} @ {1} scheduled for {2,date,yyyy-MM-dd HH:mm}", |
| | | registration.name, registration.url, registration.nextPull)); |
| | | } |
| | | |
| | | } |
| | | } |