@ go-gitea / keepers
Após o fechamento do # 1029, acho que devemos fazer um novo plano sobre o próximo grande passo. Alguma ideia sobre isso?
Uma solução de plugin (incluindo tema) para estender o gitea.
Seria possível adicionar pacotes de SO adequados ao processo de construção? Tenho tentado montar algo para o fedora, mas go parece uma bagunça para empacotar. # 31 meio que fala sobre isso, mas ainda parece estar em aberto.
Estamos usando ansible para implantar o tarball no sistema Debian, isso não é muito prático, mas funciona. Repositórios para as distros mais comuns seriam bons, mas precisam ser implementados e mantidos.
Algumas sugestões:
Solicitações / problemas / bifurcações de pull federados
Solicitações / problemas / bifurcações de pull federados
Talvez não federado no sentido da palavra Fediverse (ActivityPub, OStatus, diáspora *, etc.), mas eu gostaria da capacidade de interagir com instâncias remotas de sua própria implementação da maneira que melhor se adeque ao projeto.
Também pode ser legal ter equipes e organizações formadas por usuários de várias instâncias, embora isso provavelmente seja incrivelmente difícil de implementar.
Duas sugestões do POV de um usuário final com habilidades mínimas de codificação que tenta ajudar os projetos de código aberto que eu uso relatando bugs e fornecendo feedback de UX:
1) Ajude a padronizar o ForgeFed! Eu adoraria que a UX de arquivar bugs na instância do Gitea (e outras forjas de código hospedadas pela comunidade) fosse como um enorme GH descentralizado.
2) Faça de cada parte de um projeto um repositório Git, de forma que os problemas, wiki etc, possam ser facilmente extraídos, ramificados, empurrados para ou bifurcados. GL e sr.ht fazem isso com pelo menos alguns de seus componentes. Além de ser útil, isso ajudaria potencialmente com o ponto 1)
A capacidade de responder a tíquetes por e-mail seria um grande passo em frente em termos de usabilidade
Permitir a edição de todas as configurações da IU (e talvez alterar o formato do arquivo de configuração durante o processo)
Talvez armazene a maior parte da configuração no banco de dados e forneça CLI e API adequados para ele
@sapk @tboerger Eu diria que deveríamos mudar para o viper para config, dessa forma poderíamos nos livrar do ini (e alguns dos bugs que tivemos com ele) e obter coisas como recarregar a configuração enquanto o Gitea está rodando e as variáveis env adequadas .
Eu estaria disposto a resolver isso, mas não tenho certeza se vou encontrar tempo em um futuro próximo.
Eu também sou a favor do Viper. Eu estava tentando fazer há 2 anos, mas não tive tempo de terminar ... mas posso tentar de novo :)
Pretendo obter um arquivo de configuração mínimo ... Muitas dessas configurações não precisam ser definidas por meio de um arquivo de configuração estático e podem ser facilmente adicionadas ao banco de dados e armazenadas em cache por motivos de desempenho.
Acho que poderíamos primeiro adicionar uma tabela de configuração do banco de dados e mover a maioria dos itens de configuração alteráveis do arquivo ini e deixar apenas os itens que precisam ser recarregados.
@lunny e todos: concordar em mover várias configurações para o banco de dados e permitir que elas sejam configuradas na interface da Web (em todo o site ou em todo o repositório) parece um bom passo em frente. Também seria fácil ter uma ferramenta como o chá ou o próprio gitea capaz de alterar esses valores na linha de comando, para que você ainda pudesse fazer um script de configuração padrão.
O sistema de módulos parece ótimo. Acredito que haja muitas pessoas por aí dispostas a adicionar novas funcionalidades ao gitea.
@belliash @sapk Os plug-ins / módulos IMO não podem ser implementados de forma eficiente sem refatorar o pacote de modelos completamente e adicionar mais abstração. Eu testei várias tecnologias, como o suporte de plug-in nativo do Go.
O resultado foram binários gigantes que dependem fortemente do binário Gitea.
Acho que melhorar o suporte a webhooks e adicionar páginas personalizadas por webhooks é mais realista para ser implementado, uma vez que já temos uma API tranquila e madura que pode ser usada para operações de banco de dados.
@jonasfranz Eu seria
go list -f '{{ .Imports }}' code.gitea.io/gitea/models
revela 98 (!) importações diretas. 50 dos quais são centrais não-go.
go list -f '{{ .Deps }}' code.gitea.io/gitea/models
revela 437 (!!) dependências transitivas. (304 dos quais são núcleo não go)
Veja a fonte do drone, lá nós temos um monte de coisas plugáveis baseadas em webhooks.
Além de fazer sentido um modelo de plugin como o packer, um sistema de plugin baseado em grpc.
@tboerger Você pode fornecer um exemplo do material plugável do drone? Você quer dizer o sistema de plugins baseado em imagens do docker?
Estou falando sobre as extensões para configurações, segredos e assim por diante, as interfaces devem ser definidas em https://github.com/drone/drone/tree/master/plugin
Eu concordo com você, o próximo grande passo do Gitea deve ser o sistema de plugins. Também estou pensando nisso hoje em dia. Vou dar uma chance ao sistema de plugins.
Eu acho que deveria ser semelhante ao sistema de plugins do drone, mas tem mais. Precisamos permitir que um plugin tenha uma IU e deve fazer o login com o OAuth2 da Gitea automaticamente. E devemos ter alguma política de segurança nos plug-ins. e etc.
Quero compartilhar uma tabela comparativa que fizemos por volta de 2016 para _decidir_ qual plataforma de hospedagem escolher para a Open Source Geospatial Foundation. Nessa tabela, listamos recursos que eram importantes para nós. Gitea está em uma das colunas:
https://wiki.osgeo.org/wiki/GitInfrastructureComparison
Você verá que um recurso importante que faltava em 2016 ainda está faltando hoje: responder por e-mail (comentário / resposta) --- alguns outros foram implementados a partir de hoje.
A ferramenta migrate from github
e Comments on diff lines
está pronta.
Necessita de personalização do modelo de correio
Veja # 6037
Portanto, já é possível personalizar um pouco do modelo - a linha de assunto é a única coisa que acho que não temos.
O que realmente deveríamos fazer, no entanto, é habilitar o i18n para e-mail e as mensagens git serv hook.
É necessário reverter uma solicitação de pull.
Veja # 6375
Suporte total de tags na IU. Criar, atribuir, alterar, excluir, etc. Eu realmente sinto falta desse recurso.
Sou a favor de config em banco de dados (com cli ou api para configurá-lo, como criar usuário e autenticação ldap, etc.) e sistema de plugins.
Esses dois devem empurrar o gitea um grande passo à frente.
$GITEA_ROOT/owner/reponame
é uma má decisão arquitetônica IMHO e leva a suposições dos usuários de que nossos repositórios ainda podem ser usados pelo git no servidor sem pensamento adicional - ELES NÃO DEVEM. Devemos mover para $GITEA_ROOT/repository-$ID
, possivelmente fragmentado. (Isso permitiria a remoção de muitas chamadas para repo.MustOwner()
ou repo.GetOwner()
).git/config
ou a variável central .gitconfig
core.hooksPath
e pense sobre onde colocaremos os ganchos de outra forma.code.gitea.io/gitea/models
depende de muitas coisas que isso tem que parar.models.x
deve ser destruído. É uma decisão arquitetônica terrível.Na parte da IU, sugiro entregar duas IU:
- acho que devemos levar a sério a mudança para o gin proposta por @lunny
Eu sugeriria go-chi em vez de gim.
- Devemos automatizar a remoção da documentação do nosso site hugo para que possa ser internacionalizado com CrowdIn
IMHO o site / docs não deve ser traduzido de forma alguma, está sempre desatualizado ...
IMHO o site / docs não deve ser traduzido de forma alguma, está sempre desatualizado ...
Mas com crowdin, estar desatualizado notificaria as pessoas e invalidaria as traduções atuais.
Seria possível adicionar pacotes de SO adequados ao processo de construção? eu
Talvez pacotes no estilo PPA controlados e versionados pelos desenvolvedores GItea sejam uma boa ideia, mas eu não sou um fã do estilo Debian de "congelar e fazer backport de patches de segurança" de versão para projetos rápidos (como GItea)
Eu ainda gostaria de ter https://github.com/go-gitea/gitea/issues/3840.
Acho que pode ser implementado com compatibilidade com versões anteriores.
Mas isso ficará claro somente depois que a migração da nova biblioteca de roteamento for resolvida.
Uma limpeza / refatoração básica de pré-requisito tornaria isso mais fácil também.
Eu ainda gostaria de ter # 3840.
Acho que pode ser implementado com compatibilidade com versões anteriores.
Mas isso ficará claro somente depois que a migração da nova biblioteca de roteamento for resolvida.
Uma limpeza / refatoração básica de pré-requisito tornaria isso mais fácil também.
Nesse caso, é possível que você perca o suporte ao Drone, já que atualmente também não está implementado para Gitlab.
Eu ainda gostaria de ter # 3840.
Acho que pode ser implementado com compatibilidade com versões anteriores.
Mas isso ficará claro somente depois que a migração da nova biblioteca de roteamento for resolvida.
Uma limpeza / refatoração básica de pré-requisito tornaria isso mais fácil também.
Provavelmente não precisamos deste recurso de grupo para afetar os urls do repositório, poderíamos apenas criar pastas que o repositório pudesse ser colocado na tela, mas manter os repo urls iguais aos de agora
@tboerger
Achei que a URL pode permanecer a mesma se um repositório não estiver aninhado em um grupo / diretório.
Os URLs precisam ser "atualizados" apenas se o repo usar o recurso de grupo / diretório.
Mas sim, os repositórios com as novas URLs provavelmente não poderiam ter suporte para Drones pronto para uso.
@lafriks
Parece uma boa ideia. Meu cenário de uso do recurso é hospedar módulos Git ou subprojetos de projetos Repo. Portanto, não tenho certeza se cobre esse caso.
Sem problemas. Estou relutante em fazer uma mudança tão extensa, e possivelmente significativa, também.
Este assunto tem uma ideia muito boa e devemos mantê-los e resolvê-los.
No entanto, quando e como devemos escolher? Essa discussão pode durar para sempre.
Eu sugeriria que o proprietário escolhesse os assuntos ou uma votação entre eles e os membros.
O que você acha?
@DblK Isso mesmo. Mas acho que poderíamos fazer isso depois que migrarmos para gitea.com. Atualmente, precisamos de mais feedback dos usuários.
- Suporte mercurial
Não por favor. É chamado de "git" e por um motivo.
Eu entendo o desejo de ter um escopo mais amplo, mas
o inchaço está ao virar da esquina ...
importação mercurial seria uma alternativa
Em 26 de julho de 2019, 13:52:50 UTC, Sandro Santilli [email protected] escreveu:
- Suporte mercurial
Não por favor. É chamado de "git" e por um motivo.
Eu entendo o desejo de ter um escopo mais amplo, mas
o inchaço está ao virar da esquina ...-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente ou visualize-o no GitHub:
https://github.com/go-gitea/gitea/issues/6998#issuecomment -515461704
Solicitações / problemas / bifurcações de pull federados
Talvez não federado no sentido da palavra Fediverse (ActivityPub, OStatus, diáspora *, etc.), mas eu gostaria da capacidade de interagir com instâncias remotas de sua própria implementação da maneira que melhor se adeque ao projeto.
Já existe alguma discussão sobre isso em # 1612. ForgeFed coleta algumas idéias interessantes para obter federação em códigos forja como Gitea. Seria incrível se esse fosse o próximo grande recurso do Gitea!
Adoraria uma ferramenta de comparação visual para arquivos gráficos (JPEG, PNG, mas também PDF), semelhante ao que o Github oferece .
Já temos um PR para difundir as imagens
Já temos um PR para difundir as imagens
É verdade, mas isso não abrange a visualização do toque ou da transparência, apenas lado a lado. Além disso, não acho que abrange arquivos PDF. Estamos usando o Gitea aqui para o desenvolvimento de material gráfico (incluindo manuais e brochuras), e uma boa comparação visual para PDFs mudaria a vida.
Tenho algumas ideias que só quero apresentar: smile_cat:
Use o Cloud KSM para criptografar / descrever qualquer segredo de forma transparente. Isso protegerá contra o banco de dados hackeado e exposto. A ideia é que podemos usar um tipo personalizado com métodos de codificação / decodificação XORM para criptografar os dados secretos antes de gravar no banco de dados. Fizemos um exemplo de demonstração aqui: https://github.com/gomodules/ksm-xorm
Suporte OIDC: Retorna id_token além do token oauth2 quando conectado via Gitea
O perfil do usuário Gitea pode mostrar o perfil do usuário em qualquer repositório Git verificado. Exemplo: o usuário pode fixar repositórios Github / Gitlab / BitBuket / Gitea. A ideia é que os usuários também não possam ignorar os outros. Então, o gitea pode ser o único perfil de usuário global?
Suporte de domínio personalizado para repos (go)
Compatibilidade total com Github (vi alguns trabalhos nessa frente, não sei o quanto já foi feito).
Integração de servidor de linguagem opcional. Algo como Sourcegraph, como navegação embutida na IU.
Eu gostaria de contribuir com 1 e 2 em breve.
Talvez possamos mostrar o diff em uma forma de árvore de pastas e arquivos que mudaram - como no BitBucket, em vez de uma página enorme com todas as mudanças. Seria muito, muito mais legível.
Talvez uma opção para agregar notificações em todos os repositórios por dia ou por semana.
Uma espécie de resumo das atividades da semana passada.
Adicione a possibilidade de definir webhooks personalizados por meio de modelos personalizados e um conjunto de variáveis padrão.
Não é uma evolução do Gitea, mas um projeto paralelo que seria útil: # 7853
Paridade de recursos com github!
Ou, pelo menos, uma lista atualizada no wiki, que mostra todos os recursos de que ainda precisamos antes de atingir a paridade. Essa seria uma boa maneira de estruturar esforços de desenvolvimento futuros.
@ lonix1 dê uma olhada em https://docs.gitea.io/en-us/comparison/ para essa lista
@kolaente parece que temos quase todas as marcas de escala! Isso!
Sou muito novo aqui, mas também sou um programador disposto; Eu adoraria se gitea suportasse gists. Esse é um dos maiores furos para o meu uso. Facilmente resolvido, mas eu prefiro apenas ter um sistema essencial no lugar.
Acho que o problema para gists seria https://github.com/go-gitea/gitea/issues/693 (vinculando, pois não parece ser referenciado a partir daqui ainda).
Adicione também Help
documentação, que pode ser acessada pelo link Help
. A fonte inicial para esta documentação pode ser a Ajuda do
A ajuda do
Se mais pessoas começarem a adotar a auto-hospedagem para compartilhar seus projetos de código aberto, deve haver uma maneira de usuários não registrados enviarem problemas sem ter que criar uma conta em cada instância (a maioria das pessoas é extremamente improvável de se registrar para um bug relatório).
2a. Guia e autenticação da IU do Container Registry.
Algum tipo de plugin / sistema de extensão.
A maioria das sugestões são boas, mas criarão problemas na base de código principal.
Seria melhor ter plug-ins oficiais (e não oficiais). Isso também significa que os autores de plug-ins podem lançar com mais frequência.
@ lonix1 Bem, git hooks, webhooks e a API Swagger podem ser considerados pontos de conexão de plug-ins. Sou totalmente a favor de mais suporte para plugins, mas indicar uma lista com detalhes pode ajudar. Por exemplo, gostaria de suporte para um equivalente de linha de comando de webhooks.
@ guillep2k Por exemplo, todos os recursos de gerenciamento de projeto discutidos acima. Esses seriam muito úteis - mas provavelmente afetam tantas partes da base de código que 1) podem causar problemas até mesmo para aqueles que não usam esses recursos, e 2) por causa disso, esse desenvolvimento é muito lento porque os responsáveis por mesclar novos recursos sabem que esse cenário é possível, por isso são cautelosos.
Se esses novos recursos pudessem ser lançados separadamente, eles poderiam ser experimentados por usuários antes de serem integrados ao branch principal.
E há outros exemplos desse tipo de grande recurso, basta rolar para cima.
Assinatura de @brandonkal GPG de commits gerados automaticamente agora é possível com a fusão de # 7631
Acho que o roteiro deve ser dividido nessas quatro categorias (adicionei alguns exemplos de problemas - deve ser óbvio que está longe de estar completo: wink :):
Ainda existem algumas _funções básicas_ que não estão funcionando corretamente.
Por exemplo:
Existem também alguns problemas de segurança:
root
user (você pode remapear as portas externas de qualquer maneira)Acho que a integração com outros aplicativos / serviços é uma coisa boa em geral.
Porque o desenvolvimento de software geralmente não depende apenas de uma única ferramenta.
E provavelmente ajudará a convencer algumas pessoas a usar o Gitea em seu local de trabalho.
Esses dois problemas melhorariam muito a interoperabilidade:
Além disso, webhooks genéricos evitariam a necessidade de outras pessoas conhecerem os detalhes internos do gitea. @ guillep2k teve uma ideia maravilhosa de que uma integração de "comando externo" poderia ser feita de maneira semelhante à integração de webhook genérico .
: aviso: Isso provavelmente resolveria a maioria dos problemas sobre o que a maioria das pessoas neste problema deseja como 'suporte a plug-ins' . Porque isso permitiria chamar qualquer coisa que os usuários precisassem chamar. No entanto, @lunny acabou de mencionar que isso já é praticamente possível via git hooks. Só não tenho certeza se essa é realmente a melhor maneira de integrar outras ferramentas / plug-ins / serviços.
Além disso, obviamente, existem alguns recursos interessantes em aplicativos concorrentes (por exemplo, Git [Hub / Lab]) (a maioria deles é provavelmente muito bom ter):
Pode ser usado o banco de dados Oracle como opção? Se for possível tecnicamente.
@DemiusAcademius Se o xorm suportar melhor o oracle, acho que é possível.
Mais e mais pessoas estão começando a usar o Gitea, por exemplo, também causado pelo recente anúncio do rastreador GitLab. Mas o GitHub / GitLab ainda tem o efeito de rede do lado deles.
A federação seria um grande impulsionador para melhorar a capacidade de colaboração entre usuários de diferentes instâncias Gitea e, assim, aumentar toda a rede Gitea: # 1612
A capacidade de mostrar grandes diferenças na IU foi relatada como um fator limitante na adoção do Gitea.
Tickets que tratam disso: # 7341 (recurso), # 7495 (bug crasher)
A capacidade de mostrar grandes diferenças na IU foi relatada como um fator limitante na adoção do Gitea.
Tickets que tratam disso: # 7341 (recurso), # 7495 (bug crasher)
Essa é uma limitação _grande_. IMO tudo @alexanderadam listado acima empalidece em comparação com isso. Se eu não posso revisar grandes diferenças comentando in-line no código, isso é um grande problema.
W / R / T a raiva contra a Microsoft e Github que causou a migração de muitos projetos e causou alta demanda por federação - Gitlab recentemente propôs banir funcionários na China e na Rússia, 2 dos maiores países do mundo em massa territorial e economia. Os militares dos EUA mudaram o foco para a China e a Rússia (entre outros) para enfraquecer as barreiras que representam para a expansão / interesses imperiais dos EUA. Propaganda e incentivos financeiros trouxeram Microsoft (Github, Azure), Amazon, Google, Atlassian (Trello, Jira) e até Gitlab para as indústrias de guerra, espionagem, propaganda e vigilância em um papel ofensivo.
Trago isso para agradecer àqueles que trabalham em repositórios remotos de código aberto altamente disponíveis, com poucos defeitos nos serviços corporativos e vinculados ao Pentágono que usamos e nos quais ainda dependemos agora - e para chamar sua atenção de que alternativas rápidas são desaparecendo para aqueles que desejam usar a Internet e a tecnologia tão longe do império mais poderoso e hostil da história.
Talvez o tópico seja grande o suficiente para que uma seção separada do site oficial acompanhe o progresso desse recurso, junto com uma campanha separada de arrecadação de fundos para atender a essa demanda. Incluir o ForgeFed na arrecadação de fundos pode ser benéfico e justo, vendo o trabalho deles até agora. Já se passaram 17 meses desde o início da Microsoft sobre o Github, e espero que em mais 17 meses possamos estar usando o Gitea federado ou ter partes restantes do 'patrimônio líquido sendo construído.
Por favor, não discuta política aqui, vamos continuar no assunto - melhorar o Gitea para todos
@lafriks Melhorar o Gitea significa definir um nicho - algo não atendido por produtos substitutos. Marketing é o processo de localização de oportunidades externas, sendo "política" uma das quatro categorias principais de análise de marketing. Uma marca inteligente atrai os _valores_ das pessoas tanto quanto oferece recursos, especificações e preço. Há uma atração baseada em valores ("política") para alternativas como Gitea, e deixar de sublinhá-la e mantê-la seria uma falha em entender seu consumidor e a oportunidade de mercado.
"Político" como um termo tornou-se um clichê que encerra o pensamento, extinguindo a discussão sobre racismo, violência e exploração. Eu simplesmente vim aqui para agradecer às pessoas por continuarem a trabalhar em alternativas não associadas aos campos de concentração dos EUA, vigilância por rede de arrasto e outros interesses imperialistas nos quais a maioria de nossa indústria está ajudando ativamente. Se você está dizendo que essas não são qualidades que a Gitea defende, Entendi errado e vou embora.
Nota para @OKNoah
Marketing 101 para um projeto de código aberto:
Se a transparência do GitLab.com ofende você, você pode hospedar o GitLab-FOSS. É um produto multifuncional extremamente bom. Mas se você deseja uma instalação simples ou requer menos uso de memória em comparação com GitLab ou GitHub Enterprise, Gitea é uma boa opção para os recursos básicos da web.
Este tópico discute recursos que podem ajudar a fechar essa lacuna sem comprometer a simplicidade.
Meus 2 centavos - acho que este tópico ficou muito longo, e é hora de abrir uma nova edição resumindo todas as ideias já expressas aqui. E feche este.
Se você está dizendo que essas não são qualidades que Gitea defende, entendi errado e vou embora.
Não é isso que está sendo dito. O que está sendo dito é que este tópico é o lugar para discutir quais mudanças / melhorias no Gitea podem ser feitas (especificamente as técnicas). Essas discussões são mais do que bem-vindas, mas não neste tópico específico.
Como um dos leads, estarei bloqueando este tópico, como @XVilka disse certo, solicitamos muitos comentários e agora ele deve ser avaliado para as próximas etapas.
Poderíamos mudar o caminho para a conformidade com FHS para v2. Já é possível com sinalizadores, mas deve ser o padrão para v2.
Comentários muito úteis
Solicitações / problemas / bifurcações de pull federados