1 Overview Refer to net/http/httputil/reverseproxy.go. Modify it as a Kubernetes Authenticating Proxy.
2 Official Docuement Authenticating Proxy The API server can be configured to identify users from request header values, such as X-Remote-User. It is designed for use in combination with an authenticating proxy, which sets the request header value.
--requestheader-username-headers Required, case-insensitive. Header names to check, in order, for the user identity. The first header containing a value is used as the username.
Establish Android Build Environment Under Fedora 27 Install required packages dnf install git-core gnupg flex bison gperf zip curl zlib-devel gcc-arm-linux-gnu gcc-c++-arm-linux-gnu ccache unzip java-1.8.0-openjdk-devel make automake autoconf python2 ncurses-compat-libs libstdc++.i686 Configure USB Access
Jenkins Authorize with LDAP Install LDAP plugin login to jenkins, go to Manage Jenkins -> Manage Plugins -> Available to install LDAP plugin.
Configure LDAP plugin login to jenkins, go to Manage Jenkins -> Configure Global Security -> Access Coutrol to configure LDAP.
Server: <host name of ldap server>, possible value: 192.168.1.101, ldap.example.com root DN: usually be dc=my-domain,dc=com User search base: usually be ou=People User search filter: usually be uid={0} Manager DN: usually be cn=Manager,dc=my-domain,dc=com or cn=admin,dc=my-domain,dc=com Manager Password: Your Manager password Display Name LDAP attribute: usually be displayname Email Address LDAP attribute: usually be mail
abi –This folder contains a sub folder called cpp which actually contains many C++ files linked to many places. art –it is the folder that deals with the compilation of the latest android ART runtime. If you’re looking into source directories of some other android versions, you won’t fins it obviously bionic –the C-runtime for Android. Note that Android is not using glibc like most Linux distributions. Instead the c-library is called bionic and is based mostly on BSD-derived sources.
Gerrit server establish Before install gerrit, please ensure mariadb service and openldap service are installed and configured. If not yet, please refer mariadb server establish, openldap server establish.
init gerrit site using below command to init gerrit site
java -jar gerrit.war init -d gerrit-site output may look like below:
Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore [2017-11-10 21:25:18,220] [main] INFO com.google.gerrit.server.config.GerritServerConfigProvider : No /home/dylan/gerrit-site/etc/gerrit.config; assuming defaults *** Gerrit Code Review 2.14.4 *** Create '/home/dylan/gerrit-site' [Y/n]?
Git使用指南 基本配置 开始使用git之前一般需要配置两个项目,操作命令如下:
git config --global user.name "Dylan Deng" git config --global user.email "dengxingxian@tianyisc.com" 分别把两行命令中引号里的内容改成你自己的名字和邮箱。
一些使用案例 git checkout -b neimengv1.0 neimengv1.0 # 取得tag`neimengv1.0`的内容并创建为本地分支neimengv1.0 git checkout -b master origin/master # 取得master分支的内容并创建为本地分支master git fetch origin refs/changes/34/34/1 && git checkout -b change-34 refs/changes/34/34/1 # 取得编号为34的改动的内容并创建为本地分支change-34 git push origin HEAD:refs/for/common # 上传当前提交到代码审阅,审阅通过会合并到common分支 初始化仓库 获得远程仓库 git clone <repository_url> [-b <branch_name>] [directory] repository_url为远程仓库地址,为必须参数。 -b 此选项为可选参数,如果不提供这个参数,下载完成之后默认检出master分支。 directory 为可选参数,如果不提供这个参数,git会根据url,在当前路径创建一个与仓库同名文件夹,然后将仓库克隆到此文件夹。 example:
git clone ssh://dylan@192.168.99.89:29418/aml_02 -b common aml_02 初始化本地仓库 如果远程仓库不存在或者远程仓库存在但是为空的,我们需要在本地创建一个git仓库然后上传到远程。操作过程如下:
establish openldap server Install and start service yum install openldap-servers openldap-clients cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap. /var/lib/ldap/DB_CONFIG systemctl start slapd systemctl enable slapd setup OpenLDAP manager password generate encrptyed password:
# slappasswd New password: Re-enter new password: {SSHA}2aaO8Jrm2AkRYmI8dMptxesNsQ9bI2y8 string {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx are encrypted password, it will be used later. then, create file like below.
cat > chrootpw.ldif << "EOF" dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}2aaO8Jrm2AkRYmI8dMptxesNsQ9bI2y8 EOF import this file:
ubuntu网络认证 安装必要软件 sudo apt install libnss-ldap ldapscripts 某些配置条目可能如下:
base dc=tianyisc,dc=com
uri ldap://192.168.99.89/
binddn cn=Manager,dc=tianyisc,dc=com
bindpw password
rootbinddn cn=Manager,dc=tianyisc,dc=com
Now configure the LDAP profile for NSS:
sudo auth-client-config -t nss -p lac_ldap Configure the system to use LDAP for authentication:
sudo pam-auth-update 添加用户 ldapscript(方式一) Install the package:
sudo apt install ldapscripts Then edit the file /etc/ldapscripts/ldapscripts.conf to arrive at something similar to the following:
SERVER=localhost
BINDDN='cn=admin,dc=example,dc=com'
BINDPWDFILE="/etc/ldapscripts/ldapscripts.passwd"
SUFFIX='dc=example,dc=com'
GSUFFIX='ou=Groups'
USUFFIX='ou=People'
MSUFFIX='ou=Computers'
GIDSTART=10000
UIDSTART=10000
MIDSTART=10000
Now, create the ldapscripts.
理解构建层 先看看Android官方的解释
Understand Build Layers The build hierarchy includes the abstraction layers that correspond to the physical makeup of a device. These layers are described in the table below. Each layer relates to the one above it in a one-to-many relationship. For example, an architecture can have more than one board and each board can have more than one product. You may define an element in a given layer as a specialization of an element in the same layer, thus eliminating copying and simplifying maintenance.
build/core/main.mk:108:include $(BUILD_SYSTEM)/config.mk build/core/config.mk:137:include $(BUILD_SYSTEM)/envsetup.mk build/core/config.mk:155:include $(board_config_mk) build/core/envsetup.mk:115:include $(BUILD_SYSTEM)/product_config.mk build/core/product_config.mk:179:include $(BUILD_SYSTEM)/product.mk build/core/product_config.mk:180:include $(BUILD_SYSTEM)/device.mk build/core/config.mk:45:SRC_TARGET_DIR := $(TOPDIR)build/target build/core/config.mk:139:# Boards may be defined under $(SRC_TARGET_DIR)/board/$(TARGET_DEVICE) build/core/config.mk:145: $(SRC_TARGET_DIR)/board/$(TARGET_DEVICE)/BoardConfig.mk \ build/core/product_config.mk:185: $(SRC_TARGET_DIR)/product/AndroidProducts.mk) build/core/product_config.mk:267:$(foreach runtime, $(product_runtimes), $(eval include $(SRC_TARGET_DIR)/product/$(runtime).mk)) build/core/product.mk:33: $(SRC_TARGET_DIR)/product/AndroidProducts.mk