我们已经为一台服务器安装并配置了 Hashicorp Vault AppRole 身份验证,通过将role_id和存储在secret_id服务器上的本地文件中,并且我们能够让服务器上的代码从文件中读取值、向 Vault 进行身份验证、接收令牌和然后从 Vault 读取它需要的机密。到现在为止还挺好。但是,该secret_id31 天后过期,因此该过程失败。
我已经阅读了使用 AppRoles 的概念,它们似乎非常适合我们的用例,但是对于这个过期。我们不想secret_id每个月都重新生成。
根据我的阅读,如果您在没有设置secret_id_ttl的情况下创建角色,它应该不会过期,但事实并非如此。这可能是由于 AppRole 身份验证方法的配置方式所致,但我没有看到任何可靠的内容。
所以我在 Hashicorp 网站上找到了一篇文章,其中详细讨论了 AppRoles。这篇文章为在 CI/CD 环境中使 secret_id 过期提供了很好的论据,甚至通过 8 个简单的步骤说明了这是如何工作的。我明白这是如何工作的,但这篇文章没有提到CI/CD和Orchestrator系统本身如何通过 Vault 进行身份验证?或者我错过了什么?
最后,我想要secret_id不过期。曾经。
我目前正在学习"传统"ASP.NET,但是围绕ASP.NET MVC有很多讨论.我现在应该进入MVC,还是先了解传统的webforms?
我正在尝试使用AnimatedVectorDrawableCompat在我的Android应用中实现动画,以实现与API> = 21的兼容性。
我希望动画在活动期间循环播放。我可以播放动画,并且在API> = 25时也可以正常播放。但是当我在使用API 21至24的设备或仿真器上运行该动画时,我只会看到一次动画。如果我在回调方法中设置一个断点,则会看到它也执行回调,但是动画不会重复。
我发现该动画在另一个线程上运行,因为它不会阻止UI。
这是方法:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.image_view1);
final AnimatedVectorDrawableCompat anim = AnimatedVectorDrawableCompat.create(this, R.drawable.avd_pass_inside);
imageView.setImageDrawable(anim);
anim.registerAnimationCallback(new Animatable2Compat.AnimationCallback() {
@Override
public void onAnimationEnd(Drawable drawable) {
anim.start();
}
});
anim.start();
}
Run Code Online (Sandbox Code Playgroud)
根据我的阅读,使用Compat库应该使该功能适用于14以上的所有API级别,但是我什至不必去那儿,因为我的应用程序的其余部分都要求至少达到21。
是否有某种方法(最好是非hacky :))可以在这些API级别上保持一致地工作?是虫子吗?我错过了什么?