小编Eug*_*yer的帖子

如何在容器中的特定用户下运行azure容器作业

在 azure 管道中运行 a container-job,我使用 docker 映像 ( conan ),它希望build命令在conan.

虽然我能够在天蓝色中引导容器,但--user root不会出现问题options

resources:
  containers:
  - container: builder                  
    image: conanio/clang8
    options: --user root
Run Code Online (Sandbox Code Playgroud)

当我开展工作时

jobs:
- job: do_that
  container: builder
  steps:
  - task: Bash@3
    inputs:
      targetType: inline
      script: whoami
      noProfile: false
      noRc: false
Run Code Online (Sandbox Code Playgroud)

我看到该用户是1001由 azure bootstrap 创建的。我无法使用sudo/su因为不允许用户使用sudo。我问自己如何以不同的用户身份运行?由于 的 python 垫片、conan中的特殊设置~/.conan以及所有这些事情,用户具有特定的 ENV 设置。

azp 中的具体步骤在docker createaz 使用的“容器初始化”期间(紧随其后)自动运行docker exec: …

bash azure-devops

10
推荐指数
1
解决办法
5735
查看次数

Docker 壁球和层:哪些层被合并,哪些仍然共享

提示:我知道这个问题,但它并没有完全/完全回答我的问题,或者或多或少没有针对它(但你可以从中得出一些 - 我会说应该有一个是/否的问题 - 在这里它是 )。

案件:

  • 假设我有 3 个图像,一个称为 BASE,一个 CHILDa 和 CHILDb,两个孩子都有FROM BASE
  • 假设 BASE 的大小为 1GB 并假设我们不知道或对它是否被压扁特别感兴趣,因为这无关紧要(恕我直言)
  • CHILDa 和 CHILDb 都添加了 10 层,每个层的大小为 500MB
  • 假设我们docker build --squash CHILDa在创建 CHILDa 和 CHILDb 时使用

题:

从注册表中提取 CHILDa 和 CHILDb 时,我知道将首先提取 BASE 层。现在,我的问题是,驱动器上图像的确切大小是多少:

a) 1GB(base) + 500MB(CHILDa) + 500MB(childB)=2GB
b) (1GB + 500MB) + (1GB + 500MB)=3GB

那么 BASE 的层是在非--sqaush情况下共享的(这将是a))还是它们不共享,b)然后

我知道,当 CHILDa 被构建和压扁时,BASE 中的层不应该被压扁,只有在 CHILDa 中创建的层被压扁为一层,所以历史应该是这样的

  • 基础层1
  • 基础层2 …

docker

4
推荐指数
1
解决办法
2107
查看次数

在 azure-devops 中的发布管道期间创建标签

设置

运行发布管道时,我会

  1. 使用构建管道 projectA 的工件(使用存储库 projectA )
  2. 这个工件是一个节点包构建
  3. 我将注入(重新版本)包版本(使用管道变量VERSION),然后作为最后一步发布到 npm 注册表

目标 除了所有构建/发布任务的工作之外,我们还有一个特定问题,那就是checkout of the repository发布步骤中的缺失。我们不想让存储库实际“重建”某些东西,而是为了标记我们使用变量构建的提交$VERSION并将其推送到存储库。

问题

我知道如何获取commit hash我们的源项目存储库构建( env var Build.SourceVersion)和存储库名称( env var Build.Repository.Name),但我不明白我实际上如何检查存储库,因为我错过了凭据。

现在我在 Github 上有存储库(私有存储库),但也可能转移到私有 Bitbucket。

实际的具体问题是,如何使用

  • 要么使用静态名称
  • 或使用 Build.Repository.Name

  • 要么是一个通用任务(一些 git repo )
  • 或特定的 SCM 回购任务(例如checkout-from-githubcheckout-from-bitbucket使用某种服务连接)。

我假设我需要某种凭据,在我目前的情况下,它将是某种 Github 访问令牌或类似的( oAuth )?

azure-devops

4
推荐指数
1
解决办法
4101
查看次数

MvC 中 Spring Security 中的每个路径/路由有不同的 AuthenticationManager

前言

由于 StackOverflow 上已经有很多关于此问题的问题,我首先想确保这不是重复和区分的。

这是关于

  • 在 2 个不同的 AuthenticationManager 中拥有 2 个(或更多)不同的 AuthenticationProvider,用于不同的路由。
  • 使用 Spring Security 5.5 而非 3.x 中的方法
  • 使用基于非 XML 配置的方法

所以问题不在于:

  • 如何在 AuthenticationManager 中包含多个 AuthenticationProvider 以提供“替代身份验证”(大多数问题往往是)

案件

假设有 2 个自定义 AuthenticationProvider:CATApiTokenProviderDOGApiTokenProvider。我们故意不谈论 AOuth/JWT/Basic/Form 提供者,因为它们提供了快捷方式。

现在我们有 2 个 REST API 端点/dog/endpoint/cat/endpoint.

问题

今天,如何使用 Spring Security 5.5 正确实现这一点:

  • 我们希望身份验证提供者CATApiTokenProvider只能对以下请求进行身份验证/cat/endpoint
  • 我们希望身份验证提供者DOGApiTokenProvider只能对以下请求进行身份验证/dog/endpoint

因此,无法使用 cat 令牌进行身份验证/dog/endpoint,也无法使用狗令牌进行身份验证/cat/endpoint

我的想法/方法

a) 据我所知,由于我有自定义的 Cat/Dog 过​​滤器,因此可以在创建 bean 时使用 …

rest spring-mvc spring-security

3
推荐指数
1
解决办法
2289
查看次数

Proxmox 与 OPNsense 作为 pci-passthrough 设置用作防火墙/路由器/IPsec/PrivateLAN/MultipleExtIPs

此设置应基于 proxmox,位于 Proxmox 上托管的 o​​pnsense VM 后面,该 VM 将保护 proxmox,为 VM 提供防火墙、私有 LAN 和 DHCP/DNS,并提供到 LAN 的 IPsec 连接以访问所有 VM /Proxmox 没有经过 NAT。服务器是典型的 Hetzner 服务器,因此仅在 NIC 上,但在此 NIC 上有多个 IP 或/子网。

  1. 带有 1 个 NIC(eth0) 的 Proxmox 服务器
  2. 3 个公共 1IP,IP2/3 在数据中心由 MAC 路由(到 eth0)
  3. eth0 是 PCI-Passthroughed 到 OPNsense KVM
  4. vmbr30 上的私有网络,10.1.7.0/24
  5. IPsec 移动客户端连接 (172.16.0.0/24) 到 LAN

为了更好地概述设置,我创建了这个[绘图][1]:(不确定它是否完美,请告诉我要改进的地方)

问题:

如何使用 PCI-Passthrough 而不是桥接模式来设置这样的场景。

跟进

I) Why i cannot access PROXMOX.2 but access VMEXT.11 (ARP?)

II) 这就是为什么我需要从 * 到 * IPSEC …

networking ipsec proxmox opnsense

-1
推荐指数
1
解决办法
5974
查看次数